diff --git a/admin/src/components/Fedaration/FederationVisualizeItem.vue b/admin/src/components/Fedaration/FederationVisualizeItem.vue index faace7da1..a947387f4 100644 --- a/admin/src/components/Fedaration/FederationVisualizeItem.vue +++ b/admin/src/components/Fedaration/FederationVisualizeItem.vue @@ -13,7 +13,7 @@ diff --git a/frontend/src/components/TransactionRows/DurationRow.vue b/frontend/src/components/TransactionRows/DurationRow.vue index 6f62d9dc5..f9b7873d6 100644 --- a/frontend/src/components/TransactionRows/DurationRow.vue +++ b/frontend/src/components/TransactionRows/DurationRow.vue @@ -12,7 +12,7 @@ + diff --git a/frontend/src/graphql/mutations.js b/frontend/src/graphql/mutations.js index 802ea1818..8a281aad9 100644 --- a/frontend/src/graphql/mutations.js +++ b/frontend/src/graphql/mutations.js @@ -26,6 +26,7 @@ export const forgotPassword = gql` export const updateUserInfos = gql` mutation( + $alias: String $firstName: String $lastName: String $password: String @@ -35,6 +36,7 @@ export const updateUserInfos = gql` $hideAmountGDT: Boolean ) { updateUserInfos( + alias: $alias firstName: $firstName lastName: $lastName password: $password @@ -145,6 +147,7 @@ export const login = gql` mutation($email: String!, $password: String!, $publisherId: Int) { login(email: $email, password: $password, publisherId: $publisherId) { gradidoID + alias firstName lastName language diff --git a/frontend/src/graphql/queries.js b/frontend/src/graphql/queries.js index a21117ac2..f254b93cc 100644 --- a/frontend/src/graphql/queries.js +++ b/frontend/src/graphql/queries.js @@ -89,6 +89,12 @@ export const queryOptIn = gql` } ` +export const checkUsername = gql` + query($username: String!) { + checkUsername(username: $username) + } +` + export const queryTransactionLink = gql` query($code: String!) { queryTransactionLink(code: $code) { diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index a5357e6d9..a29069104 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -153,6 +153,7 @@ "password_new_repeat": "Neues Passwort wiederholen", "password_old": "Altes Passwort", "recipient": "Empfänger", + "recipientCommunity": "Gemeinschaft des Empfängers", "reply": "Antworten", "reset": "Zurücksetzen", "save": "Speichern", @@ -166,12 +167,15 @@ "thx": "Danke", "to": "bis", "to1": "an", + "username": "Nutzername", + "username-placeholder": "Gebe einen eindeutigen Nutzernamen ein", "validation": { "gddCreationTime": "Das Feld {_field_} muss eine Zahl zwischen {min} und {max} mit höchstens einer Nachkommastelle sein", "gddSendAmount": "Das Feld {_field_} muss eine Zahl zwischen {min} und {max} mit höchstens zwei Nachkommastellen sein", "is-not": "Du kannst dir selbst keine Gradidos überweisen", - "usernmae-regex": "Der Username muss mit einem Buchstaben beginnen, auf den mindestens zwei alpha-numerische Zeichen folgen müssen.", - "usernmae-unique": "Der Username ist bereits vergeben." + "username-allowed-chars": "Der Nutzername darf nur aus Buchstaben (ohne Umlaute), Zahlen, Binde- oder Unterstrichen bestehen.", + "username-hyphens": "Binde- oder Unterstriche müssen zwischen Buchstaben oder Zahlen stehen.", + "username-unique": "Der Nutzername ist bereits vergeben." }, "your_amount": "Dein Betrag" }, @@ -319,7 +323,12 @@ "subtitle": "Wenn du dein Passwort vergessen hast, kannst du es hier zurücksetzen." }, "showAmountGDD": "Dein GDD Betrag ist sichtbar.", - "showAmountGDT": "Dein GDT Betrag ist sichtbar." + "showAmountGDT": "Dein GDT Betrag ist sichtbar.", + "username": { + "change-success": "Dein Nutzername wurde erfolgreich geändert.", + "change-username": "Nutzername ändern", + "no-username": "Bitte gebe einen Nutzernamen ein. Damit hilfst du anderen Benutzern dich zu finden, ohne deine Email preisgeben zu müssen." + } }, "signin": "Anmelden", "signup": "Registrieren", diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 42f22f709..ad7077e69 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -153,6 +153,7 @@ "password_new_repeat": "Repeat new password", "password_old": "Old password", "recipient": "Recipient", + "recipientCommunity": "Community of the recipient", "reply": "Reply", "reset": "Reset", "save": "Save", @@ -166,12 +167,15 @@ "thx": "Thank you", "to": "to", "to1": "to", + "username": "Username", + "username-placeholder": "Enter a unique username", "validation": { "gddCreationTime": "The field {_field_} must be a number between {min} and {max} with at most one decimal place.", "gddSendAmount": "The {_field_} field must be a number between {min} and {max} with at most two digits after the decimal point", "is-not": "You cannot send Gradidos to yourself", - "usernmae-regex": "The username must start with a letter, followed by at least two alphanumeric characters.", - "usernmae-unique": "This username is already taken." + "username-allowed-chars": "The username may only contain letters, numbers, hyphens or underscores.", + "username-hyphens": "Hyphens or underscores must be in between letters or numbers.", + "username-unique": "This username is already taken." }, "your_amount": "Your amount" }, @@ -319,7 +323,12 @@ "subtitle": "If you have forgotten your password, you can reset it here." }, "showAmountGDD": "Your GDD amount is visible.", - "showAmountGDT": "Your GDT amount is visible." + "showAmountGDT": "Your GDT amount is visible.", + "username": { + "change-success": "Your username has been changed successfully.", + "change-username": "Change username", + "no-username": "Please enter a username. This helps other users to find you without exposing your email." + } }, "signin": "Sign in", "signup": "Sign up", diff --git a/frontend/src/main.js b/frontend/src/main.js index 4809e490c..f31311ab2 100755 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -27,7 +27,7 @@ const filters = loadFilters(i18n) Vue.filter('amount', filters.amount) Vue.filter('GDD', filters.GDD) -loadAllRules(i18n) +loadAllRules(i18n, apolloProvider.defaultClient) addNavigationGuards(router, store, apolloProvider.defaultClient) diff --git a/frontend/src/pages/Settings.vue b/frontend/src/pages/Settings.vue index 530484d9a..c5ca00f08 100644 --- a/frontend/src/pages/Settings.vue +++ b/frontend/src/pages/Settings.vue @@ -3,6 +3,8 @@
+ +

@@ -13,6 +15,7 @@