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 @@
+
+
+
+
+
+
+ {{ $t(`settings.email.change-successful`) }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t('actions.save') }}
+
+
+
+
+
+
+
+