diff --git a/src/graphql/mutation/updateDonateRepayments.graphql b/src/graphql/mutation/updateDonateRepayments.graphql new file mode 100644 index 00000000000..285c205dc96 --- /dev/null +++ b/src/graphql/mutation/updateDonateRepayments.graphql @@ -0,0 +1,9 @@ +mutation updateDonateRepayments($donateRepayments: Boolean) { + my { + updateDonateRepayments(donateRepayments: $donateRepayments) { + success + error + value + } + } +} diff --git a/src/graphql/mutation/updateInactiveCreditRecipientSettings.graphql b/src/graphql/mutation/updateInactiveCreditRecipientSettings.graphql new file mode 100644 index 00000000000..b9a10e93f7d --- /dev/null +++ b/src/graphql/mutation/updateInactiveCreditRecipientSettings.graphql @@ -0,0 +1,15 @@ +mutation updateInactiveCreditRecipientSettings( + $recipient: InactiveCreditRecipientEnum!, + $emailAddress: String +) { + my { + updateInactiveCreditRecipientSettings( + recipient: $recipient, + emailAddress: $emailAddress + ) { + success + error + value + } + } +} diff --git a/src/graphql/query/creditSettings/creditSettingsQuery.graphql b/src/graphql/query/creditSettings/creditSettingsQuery.graphql new file mode 100644 index 00000000000..f2b51ffa4c7 --- /dev/null +++ b/src/graphql/query/creditSettings/creditSettingsQuery.graphql @@ -0,0 +1,13 @@ +query creditSettingsQuery { + my { + id + userAccount { + id + balance + promoBalance + donateRepayments + inactiveAccountSetting + inactiveAccountEmailAddress + } + } +} diff --git a/src/pages/Settings/CreditSettings/CreditSettingsPage.vue b/src/pages/Settings/CreditSettings/CreditSettingsPage.vue new file mode 100644 index 00000000000..75f3a5279b6 --- /dev/null +++ b/src/pages/Settings/CreditSettings/CreditSettingsPage.vue @@ -0,0 +1,214 @@ + + + + + + + + + + + Credit Settings + + + + + + + + + + + + + {{ isSaving ? 'Saving...' : 'Save settings' }} + + + Reset + + + + + + + + + + + + + diff --git a/src/pages/Settings/CreditSettings/components/CreditSettingsInactivity.vue b/src/pages/Settings/CreditSettings/components/CreditSettingsInactivity.vue new file mode 100644 index 00000000000..489c38740e6 --- /dev/null +++ b/src/pages/Settings/CreditSettings/components/CreditSettingsInactivity.vue @@ -0,0 +1,102 @@ + + + + Inactivity settings + + + If my account becomes inactive: + + + + + Donate my remaining credit to Kiva’s operating expenses + + + Return my remaining credit to my PayPal account + + + + + PayPal email address + + + + + + + + diff --git a/src/pages/Settings/CreditSettings/components/CreditSettingsLinkedSection.vue b/src/pages/Settings/CreditSettings/components/CreditSettingsLinkedSection.vue new file mode 100644 index 00000000000..1d0aaf836ca --- /dev/null +++ b/src/pages/Settings/CreditSettings/components/CreditSettingsLinkedSection.vue @@ -0,0 +1,35 @@ + + + + {{ title }} + + + + {{ description }} + + + + + + diff --git a/src/pages/Settings/CreditSettings/components/CreditSettingsRepayment.vue b/src/pages/Settings/CreditSettings/components/CreditSettingsRepayment.vue new file mode 100644 index 00000000000..9852423fe42 --- /dev/null +++ b/src/pages/Settings/CreditSettings/components/CreditSettingsRepayment.vue @@ -0,0 +1,65 @@ + + + + Repayment settings + + + When my loans are repaid: + + + + + Deposit my repayments in my Kiva account so I can relend + + + Donate my repayments to Kiva’s operating expenses + + + + + + diff --git a/src/pages/Settings/CreditSettings/components/CreditSettingsSidebar.vue b/src/pages/Settings/CreditSettings/components/CreditSettingsSidebar.vue new file mode 100644 index 00000000000..09c39a1ec14 --- /dev/null +++ b/src/pages/Settings/CreditSettings/components/CreditSettingsSidebar.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/src/router/routes.js b/src/router/routes.js index 00a608544b4..2d9770f307d 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -596,6 +596,14 @@ export default [ authenticationRequired: true, } }, + { + path: '/settings/credit-beta', + component: () => import('#src/pages/Settings/CreditSettings/CreditSettingsPage'), + meta: { + activeLoginRequired: true, + excludeFromStaticSitemap: true, + }, + }, { path: '/settings/autolending', component: () => import('#src/pages/Autolending/AutolendingPage'),
+ If my account becomes inactive: +
+ + {{ description }} + +
+ When my loans are repaid: +