diff --git a/webapp/graphql/EmailAddress.js b/webapp/graphql/EmailAddress.js index 2385440bb..675ec6bed 100644 --- a/webapp/graphql/EmailAddress.js +++ b/webapp/graphql/EmailAddress.js @@ -8,3 +8,13 @@ export const AddEmailAddressMutation = gql` } } ` + +export const VerifyEmailAddressMutation = gql` + mutation($email: String!, $nonce: String!) { + VerifyEmailAddress(email: $email, nonce: $nonce) { + email + verifiedAt + createdAt + } + } +` diff --git a/webapp/locales/de.json b/webapp/locales/de.json index 82dd00c74..dad3474a6 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -161,8 +161,11 @@ "email": { "name": "Deine E-Mail", "labelEmail": "E-Mail Adresse ändern", + "labelNewEmail": "Neue E-Mail Adresse", + "labelNonce": "Bestätigungscode eingeben", "success": "Eine neue E-Mail Addresse wurde registriert.", - "submitted": "Eine E-Mail zur Bestätigung deiner Adresse wurde an {email} gesendet." + "submitted": "Eine E-Mail zur Bestätigung deiner Adresse wurde an {email} gesendet.", + "change-successful": "Deine E-Mail Adresse wurde erfolgreich geändert." }, "validation": { "slug": { diff --git a/webapp/locales/en.json b/webapp/locales/en.json index 7d806debf..83a27bf59 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -162,8 +162,11 @@ "email": { "name": "Your E-Mail", "labelEmail": "Change your E-Mail address", + "labelNewEmail": "New E-Mail Address", + "labelNonce": "Enter your code", "success": "A new E-Mail address has been registered.", - "submitted": "An email to verify your address has been sent to {email}." + "submitted": "An email to verify your address has been sent to {email}.", + "change-successful": "Your E-Mail address has been changed successfully." }, "validation": { "slug": { diff --git a/webapp/pages/settings/my-email-address/index.vue b/webapp/pages/settings/my-email-address/index.vue index 87a59136b..08c894498 100644 --- a/webapp/pages/settings/my-email-address/index.vue +++ b/webapp/pages/settings/my-email-address/index.vue @@ -65,6 +65,13 @@ export default { }) this.$toast.success(this.$t('settings.email.success')) this.success = true + + setTimeout(() => { + this.$router.push({ + path: 'my-email-address/verify-email-address-change', + query: { email }, + }) + }, 3000) } catch (err) { this.$toast.error(err.message) } diff --git a/webapp/pages/settings/my-email-address/verify-email-address-change.vue b/webapp/pages/settings/my-email-address/verify-email-address-change.vue index e69de29bb..5b43c7fdf 100644 --- a/webapp/pages/settings/my-email-address/verify-email-address-change.vue +++ b/webapp/pages/settings/my-email-address/verify-email-address-change.vue @@ -0,0 +1,97 @@ + + +