(Breaking change) Switch between set password and change password on the settings page. (#15582)

Here is what the PR does:

- Surface password state in validatePasswordResetToken, returning
hasPassword so the client can tell whether a user is setting or changing
their password.
- Consume that flag throughout the front end (mock data, stories,
GraphQL types) and update the Reset/Set Password modal to swap the
heading/button label and success toast accordingly.
- After a successful password set/reset, immediately update the
logged-in user’s hasPassword flag so the Settings screen reflects the
new state without a reload.

Modal has two states now - reset password modal uses change password
state since it made intuitive sense.

<p align="center">
<img width="404" height="397" alt="image"
src="https://github.com/user-attachments/assets/c54cc581-1248-4395-833d-0202758e1947"
/>
</p>

<p align="center">
<img width="403" height="393" alt="image"
src="https://github.com/user-attachments/assets/d8a39a95-27e6-4037-86f2-1f74176002ba"
/>
</p>

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
This commit is contained in:
Abdullah.
2025-11-05 15:29:37 +05:00
committed by GitHub
parent cc7343a8f2
commit 0fcfcec426
80 changed files with 756 additions and 358 deletions
@@ -4,7 +4,7 @@ export class ProfileSection {
private readonly firstNameField: Locator;
private readonly lastNameField: Locator;
private readonly emailField: Locator;
private readonly changePasswordButton: Locator;
private readonly passwordLinkButton: Locator;
private readonly deleteAccountButton: Locator;
constructor(public readonly page: Page) {
@@ -12,8 +12,8 @@ export class ProfileSection {
this.firstNameField = page.getByPlaceholder('Tim');
this.lastNameField = page.getByPlaceholder('Cook');
this.emailField = page.getByRole('textbox').nth(2);
this.changePasswordButton = page.getByRole('button', {
name: 'Change Password',
this.passwordLinkButton = page.getByRole('button', {
name: /Change Password|Set Password/,
});
this.deleteAccountButton = page.getByRole('button', {
name: 'Delete account',
@@ -34,8 +34,8 @@ export class ProfileSection {
await this.emailField.textContent();
}
async sendChangePasswordEmail() {
await this.changePasswordButton.click();
async sendPasswordSetOrChangeEmail() {
await this.passwordLinkButton.click();
}
async deleteAccount() {
@@ -9,20 +9,26 @@ import { type APP_LOCALES } from 'twenty-shared/translations';
type PasswordResetLinkEmailProps = {
duration: string;
hasPassword: boolean;
link: string;
locale: keyof typeof APP_LOCALES;
};
export const PasswordResetLinkEmail = ({
duration,
hasPassword,
link,
locale,
}: PasswordResetLinkEmailProps) => {
const i18n = createI18nInstance(locale);
const headline = hasPassword
? i18n._('Reset your password 🗝')
: i18n._('Set your password 🗝');
const ctaLabel = hasPassword ? i18n._('Reset') : i18n._('Set');
return (
<BaseEmail locale={locale}>
<Title value={i18n._('Reset your password 🗝')} />
<Title value={headline} />
<MainText>
<Trans
id="This link is only valid for the next {duration}. If the link does not work, you can use the login verification link directly:"
@@ -32,7 +38,7 @@ export const PasswordResetLinkEmail = ({
<Link href={link} value={link} />
</MainText>
<br />
<CallToAction href={link} value={i18n._('Reset')} />
<CallToAction href={link} value={ctaLabel} />
<br />
<br />
</BaseEmail>
@@ -41,6 +47,7 @@ export const PasswordResetLinkEmail = ({
PasswordResetLinkEmail.PreviewProps = {
duration: '24 hours',
hasPassword: true,
link: 'https://app.twenty.com/reset-password/123',
locale: 'en',
} as PasswordResetLinkEmailProps;
File diff suppressed because one or more lines are too long
@@ -4300,6 +4300,7 @@ export type User = {
disabled?: Maybe<Scalars['Boolean']>;
email: Scalars['String'];
firstName: Scalars['String'];
hasPassword: Scalars['Boolean'];
id: Scalars['UUID'];
isEmailVerified: Scalars['Boolean'];
lastName: Scalars['String'];
@@ -4367,6 +4368,7 @@ export type ValidateApprovedAccessDomainInput = {
export type ValidatePasswordResetTokenOutput = {
__typename?: 'ValidatePasswordResetTokenOutput';
email: Scalars['String'];
hasPassword: Scalars['Boolean'];
id: Scalars['UUID'];
};
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Verander nodustipe"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Verander Wagwoord"
@@ -6427,6 +6426,11 @@ msgstr "Bladsy Nie Gevind"
msgid "Password"
msgstr "Wagwoord"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Wagryprestasie"
msgid "Queue: {queueName}"
msgstr "Wagry: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Ontvang 'n e-pos met skakel om wagwoord op te dateer"
@@ -6976,11 +6985,6 @@ msgstr "Stel terug"
msgid "Reset 2FA"
msgstr "Herstel 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Herstel Wagwoord"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Stel e-pos sigbaarheid, bestuur jou blokkeerlys en meer."
msgid "Set global workspace preferences"
msgstr "Stel globale werksruimtekromme voor"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "تغيير نوع العقدة"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "تغيير كلمة السر"
@@ -6427,6 +6426,11 @@ msgstr "الصفحة غير موجودة"
msgid "Password"
msgstr "كلمة السر"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "أداء الطابور"
msgid "Queue: {queueName}"
msgstr "الطابور: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "\\\\"
@@ -6976,11 +6985,6 @@ msgstr "إعادة تعيين"
msgid "Reset 2FA"
msgstr "إعادة تعيين المصادقة الثنائية"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "\\\\"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "اضبط خصوصية البريد الإلكتروني، وإدارة
msgid "Set global workspace preferences"
msgstr "تعيين تفضيلات مساحة العمل العامة"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Canvia el tipus de node"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Canvia la contrasenya"
@@ -6427,6 +6426,11 @@ msgstr "Pàgina No Trobada"
msgid "Password"
msgstr "Contrasenya"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Rendiment de la cua"
msgid "Queue: {queueName}"
msgstr "Cua: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Rep un correu que conté l'enllaç per actualitzar la contrasenya"
@@ -6976,11 +6985,6 @@ msgstr "Restableix"
msgid "Reset 2FA"
msgstr "Reinicia 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Restableix la contrasenya"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Configura la visibilitat del correu, gestiona la teva llista de bloqueig
msgid "Set global workspace preferences"
msgstr "Definir preferències globals de l'espai de treball"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Změnit typ uzlu"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Změnit heslo"
@@ -6427,6 +6426,11 @@ msgstr "Stránka nenalezena"
msgid "Password"
msgstr "Heslo"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Výkon fronty"
msgid "Queue: {queueName}"
msgstr "Fronta: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Obdržíte e-mail s odkazem na aktualizaci hesla"
@@ -6976,11 +6985,6 @@ msgstr "Obnovit"
msgid "Reset 2FA"
msgstr "Obnovit 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Obnovit heslo"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Nastavte viditelnost emailu, spravujte váš seznam blokovaných a dalš
msgid "Set global workspace preferences"
msgstr "Nastavit globální preference pracovního prostoru"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Skift nodetype"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Skift kodeord"
@@ -6427,6 +6426,11 @@ msgstr "Side ikke fundet"
msgid "Password"
msgstr "Adgangskode"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Køydelse"
msgid "Queue: {queueName}"
msgstr "Kø: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Modtag en e-mail med link til opdatering af kodeord"
@@ -6976,11 +6985,6 @@ msgstr "Nulstil"
msgid "Reset 2FA"
msgstr "Nulstil 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Nulstil Kodeord"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Indstil synlighed af e-mail, administrer din blokeringsliste og mere."
msgid "Set global workspace preferences"
msgstr "Sæt globale arbejdsområdepræferencer"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Knotentyp ändern"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Passwort ändern"
@@ -6427,6 +6426,11 @@ msgstr "Seite nicht gefunden"
msgid "Password"
msgstr "Passwort"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Queue-Leistung"
msgid "Queue: {queueName}"
msgstr "Warteschlange: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Erhalten Sie eine E-Mail mit einem Link zur Passwortaktualisierung"
@@ -6976,11 +6985,6 @@ msgstr "Zurücksetzen"
msgid "Reset 2FA"
msgstr "2FA zurücksetzen"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Passwort zurücksetzen"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "E-Mail-Sichtbarkeit festlegen, Blockliste verwalten und mehr."
msgid "Set global workspace preferences"
msgstr "Globale Arbeitsbereichseinstellungen festlegen"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Αλλαγή τύπου κόμβου"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Αλλαγή Κωδικού"
@@ -6427,6 +6426,11 @@ msgstr "Η Σελίδα Δεν Βρέθηκε"
msgid "Password"
msgstr "Κωδικός"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Επιδόσεις Ουράς"
msgid "Queue: {queueName}"
msgstr "Ουρά: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Λάβετε ένα email που περιέχει τον σύνδεσμο ενημέρωσης κωδικού πρόσβασης"
@@ -6976,11 +6985,6 @@ msgstr "Επαναφορά"
msgid "Reset 2FA"
msgstr "Επαναφορά 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Επαναφορά Κωδικού Πρόσβασης"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Ρυθμίστε την ορατότητα του email, διαχειρ
msgid "Set global workspace preferences"
msgstr "Ορισμός προτιμήσεων καθολικού χώρου εργασίας"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1708,8 +1708,7 @@ msgstr "Change node type"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Change Password"
@@ -6422,6 +6421,11 @@ msgstr "Page Not Found"
msgid "Password"
msgstr "Password"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr "Password has been set"
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6783,8 +6787,13 @@ msgstr "Queue performance"
msgid "Queue: {queueName}"
msgstr "Queue: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr "Receive an email containing password set link"
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Receive an email containing password update link"
@@ -6971,11 +6980,6 @@ msgstr "Reset"
msgid "Reset 2FA"
msgstr "Reset 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Reset Password"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7651,6 +7655,12 @@ msgstr "Set email visibility, manage your blocklist and more."
msgid "Set global workspace preferences"
msgstr "Set global workspace preferences"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr "Set Password"
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Cambiar tipo de nodo"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Cambiar contraseña"
@@ -6427,6 +6426,11 @@ msgstr "Página no encontrada"
msgid "Password"
msgstr "Contraseña"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Rendimiento de la cola"
msgid "Queue: {queueName}"
msgstr "Cola: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Recibir un correo electrónico con un enlace para actualizar la contraseña"
@@ -6976,11 +6985,6 @@ msgstr "Restablecer"
msgid "Reset 2FA"
msgstr "Restablecer 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Restablecer la contraseña"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Configura la visibilidad del correo electrónico, gestiona tu lista de b
msgid "Set global workspace preferences"
msgstr "Configurar preferencias globales del espacio de trabajo"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Vaihda solmun tyyppi"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Vaihda salasana"
@@ -6427,6 +6426,11 @@ msgstr "Sivua ei löydy"
msgid "Password"
msgstr "Salasana"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Jonon suorituskyky"
msgid "Queue: {queueName}"
msgstr "Jono: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Vastaanota sähköposti salasanan päivityslinkillä"
@@ -6976,11 +6985,6 @@ msgstr "Nollaa"
msgid "Reset 2FA"
msgstr "Nollaa 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Palauta salasana"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Aseta sähköpostin näkyvyys, hallinnoi estolistaa ja muuta."
msgid "Set global workspace preferences"
msgstr "Aseta globaalit työtilan asetukset"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Changer le type de nœud"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Changer le mot de passe"
@@ -6427,6 +6426,11 @@ msgstr "Page non trouvée"
msgid "Password"
msgstr "Mot de passe"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Performance de la file d'attente"
msgid "Queue: {queueName}"
msgstr "File d'attente : {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Recevoir un email contenant un lien de mise à jour du mot de passe"
@@ -6976,11 +6985,6 @@ msgstr "Réinitialiser"
msgid "Reset 2FA"
msgstr "Réinitialiser 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Réinitialiser le mot de passe"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Définir la visibilité des emails, gérer votre liste de blocage et plu
msgid "Set global workspace preferences"
msgstr "Définir les préférences globales de l'espace de travail"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "שנה סוג צומת"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "שנה סיסמה"
@@ -6427,6 +6426,11 @@ msgstr "הדף לא נמצא"
msgid "Password"
msgstr "סיסמה"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "ביצועי התור"
msgid "Queue: {queueName}"
msgstr "תור: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "\\"
@@ -6976,11 +6985,6 @@ msgstr "איפוס"
msgid "Reset 2FA"
msgstr "אתחל אימות דו-שלבי"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "\\"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "קבע את נראות הדוא\"ל, נהל את רשימת החסימה
msgid "Set global workspace preferences"
msgstr "הגדרת העדפות גלובליות במרחב העבודה"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Csere csomópont típus"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Jelszó megváltoztatása"
@@ -6427,6 +6426,11 @@ msgstr "Az oldal nem található"
msgid "Password"
msgstr "Jelszó"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Sor teljesítmény"
msgid "Queue: {queueName}"
msgstr "Sor: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "E-mail küldése a jelszó frissítési linkkel"
@@ -6976,11 +6985,6 @@ msgstr "Visszaállítás"
msgid "Reset 2FA"
msgstr "2FA visszaállítása"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Jelszó visszaállítása"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Beállíthatja az e-mail láthatóságát, kezelheti a tiltólistáját
msgid "Set global workspace preferences"
msgstr "Globális munkaterületi beállítások megadása"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Cambia il tipo di nodo"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Cambia password"
@@ -6427,6 +6426,11 @@ msgstr "Pagina non trovata"
msgid "Password"
msgstr "Password"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Prestazioni della coda"
msgid "Queue: {queueName}"
msgstr "Coda: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Ricevi un'e-mail contenente il link per l'aggiornamento della password"
@@ -6976,11 +6985,6 @@ msgstr "Reimposta"
msgid "Reset 2FA"
msgstr "Reimposta 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Reimposta password"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Imposta la visibilità dell'email, gestisci la tua blocklist e altro."
msgid "Set global workspace preferences"
msgstr "Impostare preferenze globali dell'area di lavoro"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "ノードの種類を変更"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "パスワードを変更"
@@ -6427,6 +6426,11 @@ msgstr "ページが見つかりません"
msgid "Password"
msgstr "パスワード"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "キューのパフォーマンス"
msgid "Queue: {queueName}"
msgstr "キュー: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "パスワード更新リンクを含むメールを受け取る"
@@ -6976,11 +6985,6 @@ msgstr "リセット"
msgid "Reset 2FA"
msgstr "2FAをリセット"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "パスワードをリセット"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "メールの可視性を設定し、ブロックリストを管理する
msgid "Set global workspace preferences"
msgstr "グローバルワークスペースの設定を行う"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "노드 유형 변경"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "비밀번호 변경"
@@ -6427,6 +6426,11 @@ msgstr "페이지를 찾을 수 없음"
msgid "Password"
msgstr "비밀번호"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "대기열 성능"
msgid "Queue: {queueName}"
msgstr "큐: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "비밀번호 업데이트 링크가 포함된 이메일 받기"
@@ -6976,11 +6985,6 @@ msgstr "초기화"
msgid "Reset 2FA"
msgstr "이중 인증 재설정"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "비밀번호 재설정"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "이메일 공개 여부 설정, 차단 목록 관리 등을 할 수 있
msgid "Set global workspace preferences"
msgstr "전역 작업 공간 환경설정 설정"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Wijzig node-type"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Wachtwoord wijzigen"
@@ -6427,6 +6426,11 @@ msgstr "Pagina niet gevonden"
msgid "Password"
msgstr "Wachtwoord"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Wachtrijprestatie"
msgid "Queue: {queueName}"
msgstr "Wachtrij: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Ontvang een e-mail met een link om het wachtwoord bij te werken"
@@ -6976,11 +6985,6 @@ msgstr "Resetten"
msgid "Reset 2FA"
msgstr "Reset 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Wachtwoord Resetten"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Instellen e-mail zichtbaarheid, beheer je blokkeerlijst en meer."
msgid "Set global workspace preferences"
msgstr "Stel globale werkruimtevoorkeuren in"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Endre nodetype"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Endre passord"
@@ -6427,6 +6426,11 @@ msgstr "Siden ble ikke funnet"
msgid "Password"
msgstr "Passord"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Køyteytelse"
msgid "Queue: {queueName}"
msgstr "Kø: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Motta en e-post med lenke for å oppdatere passordet"
@@ -6976,11 +6985,6 @@ msgstr "Tilbakestill"
msgid "Reset 2FA"
msgstr "Tilbakestill 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Tilbakestill Passord"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Angi e-post synlighet, administrere blokkeringslisten og mer."
msgid "Set global workspace preferences"
msgstr "Sett globale arbeidsområdepreferanser"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Zmień typ węzła"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Zmień hasło"
@@ -6427,6 +6426,11 @@ msgstr "Nie znaleziono strony"
msgid "Password"
msgstr "Hasło"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Wydajność kolejki"
msgid "Queue: {queueName}"
msgstr "Kolejka: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Otrzymaj e-mail z linkiem do aktualizacji hasła"
@@ -6976,11 +6985,6 @@ msgstr "Zresetuj"
msgid "Reset 2FA"
msgstr "Resetuj 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Zresetuj hasło"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Ustaw widoczność e-maila, zarządzaj swoją listą blokowanych i więc
msgid "Set global workspace preferences"
msgstr "Ustaw globalne preferencje przestrzeni roboczej"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1708,8 +1708,7 @@ msgstr ""
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr ""
@@ -6422,6 +6421,11 @@ msgstr ""
msgid "Password"
msgstr ""
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6783,8 +6787,13 @@ msgstr ""
msgid "Queue: {queueName}"
msgstr ""
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr ""
@@ -6971,11 +6980,6 @@ msgstr ""
msgid "Reset 2FA"
msgstr ""
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr ""
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7651,6 +7655,12 @@ msgstr ""
msgid "Set global workspace preferences"
msgstr ""
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Alterar tipo de nó"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Alterar Senha"
@@ -6427,6 +6426,11 @@ msgstr "Página não encontrada"
msgid "Password"
msgstr "Senha"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Desempenho da fila"
msgid "Queue: {queueName}"
msgstr "Fila: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Receber um e-mail com o link de atualização da senha"
@@ -6976,11 +6985,6 @@ msgstr "Redefinir"
msgid "Reset 2FA"
msgstr "Redefinir 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Redefinir senha"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Defina a visibilidade do e-mail, gerencie sua lista de bloqueio e mais."
msgid "Set global workspace preferences"
msgstr "Definir preferências globais do espaço de trabalho"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Alterar tipo de nó"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Alterar palavra-passe"
@@ -6427,6 +6426,11 @@ msgstr "Página não encontrada"
msgid "Password"
msgstr "Palavra-passe"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Desempenho da fila"
msgid "Queue: {queueName}"
msgstr "Fila: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Receber um e-mail com um link para atualização da palavra-passe"
@@ -6976,11 +6985,6 @@ msgstr "Redefinir"
msgid "Reset 2FA"
msgstr "Redefinir 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Repor a palavra-passe"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Defina a visibilidade do e-mail, gere a sua lista de bloqueio e muito ma
msgid "Set global workspace preferences"
msgstr "Definir preferências globais do espaço de trabalho"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Schimbă tipul nodului"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Schimbă parola"
@@ -6427,6 +6426,11 @@ msgstr "Pagina nu a fost găsită"
msgid "Password"
msgstr "Parolă"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Performanța cozii"
msgid "Queue: {queueName}"
msgstr "Coada: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Primește un email cu linkul de actualizare a parolei"
@@ -6976,11 +6985,6 @@ msgstr "Resetează"
msgid "Reset 2FA"
msgstr "Resetează 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Resetează Parola"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Setează vizibilitatea emailului, administrează lista de blocare și al
msgid "Set global workspace preferences"
msgstr "Setează preferințele globale pentru spațiul de lucru"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
Binary file not shown.
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Промените тип чвора"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Промени лозинку"
@@ -6427,6 +6426,11 @@ msgstr "Страница није пронађена"
msgid "Password"
msgstr "Лозинка"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Перформансе реда"
msgid "Queue: {queueName}"
msgstr "Ред: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Примите имејл са везом за ажурирање лозинке"
@@ -6976,11 +6985,6 @@ msgstr "Ресетуј"
msgid "Reset 2FA"
msgstr "Ресетујте 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Ресетујте лозинку"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Подесите видљивост имејла, управљајте
msgid "Set global workspace preferences"
msgstr "Поставите глобалне преференције радног простора"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Ändra nodtyp"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Byt Lösenord"
@@ -6429,6 +6428,11 @@ msgstr "Sidan kunde inte hittas"
msgid "Password"
msgstr "Lösenord"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6790,8 +6794,13 @@ msgstr "Köprestanda"
msgid "Queue: {queueName}"
msgstr "Kö: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Ta emot ett e-postmeddelande med länk för att uppdatera lösenordet"
@@ -6978,11 +6987,6 @@ msgstr "Återställ"
msgid "Reset 2FA"
msgstr "Återställ 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Återställ lösenord"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7660,6 +7664,12 @@ msgstr "Ställ in e-postns synlighet, hantera din blocklista och mer."
msgid "Set global workspace preferences"
msgstr "Ställ in globala arbetsytans inställningar"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Düğüm türünü değiştir"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Şifre Değiştir"
@@ -6427,6 +6426,11 @@ msgstr "Sayfa Bulunamadı"
msgid "Password"
msgstr "Parola"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Sıra performansı"
msgid "Queue: {queueName}"
msgstr "Kuyruk: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Şifre güncelleme bağlantısı içeren e-posta alın"
@@ -6976,11 +6985,6 @@ msgstr "Sıfırla"
msgid "Reset 2FA"
msgstr "2FA Sıfırla"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Şifreyi Sıfırla"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "E-posta görünürlüğünü ayarlayın, engel listenizi yönetin ve dah
msgid "Set global workspace preferences"
msgstr "Genel çalışma alanı tercihlerini ayarlayın"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Змінити тип вузла"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Змінити пароль"
@@ -6427,6 +6426,11 @@ msgstr "Сторінку не знайдено"
msgid "Password"
msgstr "Пароль"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Виконання черги"
msgid "Queue: {queueName}"
msgstr "Черга: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Отримати лист з посиланням для оновлення пароля"
@@ -6976,11 +6985,6 @@ msgstr "Скинути"
msgid "Reset 2FA"
msgstr "Скинути 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Скинути пароль"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Налаштуйте видимість електронної пошт
msgid "Set global workspace preferences"
msgstr "Установити загальні параметри робочого простору"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "Thay đổi loại nút"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "Đổi Mật khẩu"
@@ -6427,6 +6426,11 @@ msgstr "Không tìm thấy trang"
msgid "Password"
msgstr "Mật khẩu"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "Hiệu suất hàng đợi"
msgid "Queue: {queueName}"
msgstr "Hàng đợi: {queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "Nhận email chứa đường link cập nhật mật khẩu"
@@ -6976,11 +6985,6 @@ msgstr "Đặt lại"
msgid "Reset 2FA"
msgstr "Đặt lại 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "Đặt lại Mật khẩu"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "Thiết lập hiển thị email, quản lý danh sách chặn và hơn
msgid "Set global workspace preferences"
msgstr "Đặt sở thích không gian làm việc toàn cầu"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "更改节点类型"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "更改密码"
@@ -6427,6 +6426,11 @@ msgstr "页面未找到"
msgid "Password"
msgstr "密码"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "队列性能"
msgid "Queue: {queueName}"
msgstr "队列:{queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "接收包含密码更新链接的电子邮件"
@@ -6976,11 +6985,6 @@ msgstr "重置"
msgid "Reset 2FA"
msgstr "重置 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "重置密码"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "设置电子邮件可见性、管理黑名单等。"
msgid "Set global workspace preferences"
msgstr "设置全局工作区首选项"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
+18 -8
View File
@@ -1713,8 +1713,7 @@ msgstr "更改節點類型"
#. js-lingui-id: VhMDMg
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Change Password"
msgstr "更改密碼"
@@ -6427,6 +6426,11 @@ msgstr "頁面未找到"
msgid "Password"
msgstr "密碼"
#. js-lingui-id: 2OUR5i
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been set"
msgstr ""
#. js-lingui-id: BxQ79w
#: src/pages/auth/PasswordReset.tsx
msgid "Password has been updated"
@@ -6788,8 +6792,13 @@ msgstr "隊列效能"
msgid "Queue: {queueName}"
msgstr "隊列:{queueName}"
#. js-lingui-id: BT7pY+
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password set link"
msgstr ""
#. js-lingui-id: v3xM25
#: src/modules/settings/profile/components/ChangePassword.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Receive an email containing password update link"
msgstr "接收包含密碼更新鏈接的電子郵件"
@@ -6976,11 +6985,6 @@ msgstr "重設"
msgid "Reset 2FA"
msgstr "重置 2FA"
#. js-lingui-id: KbS2K9
#: src/pages/auth/PasswordReset.tsx
msgid "Reset Password"
msgstr "重置密碼"
#. js-lingui-id: 1IWc1n
#: src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx
msgid "Reset to"
@@ -7656,6 +7660,12 @@ msgstr "設置電子郵件可見性,管理您的屏蔽列表等。"
msgid "Set global workspace preferences"
msgstr "設定全域工作區偏好"
#. js-lingui-id: 2gHjVM
#: src/pages/auth/PasswordReset.tsx
#: src/modules/settings/profile/components/SetOrChangePassword.tsx
msgid "Set Password"
msgstr ""
#. js-lingui-id: qNbuWB
#: src/modules/settings/domains/components/SettingsCustomDomain.tsx
msgid "Set the name of your custom domain and configure your DNS records."
@@ -5,6 +5,7 @@ export const VALIDATE_PASSWORD_RESET_TOKEN = gql`
validatePasswordResetToken(passwordResetToken: $token) {
id
email
hasPassword
}
}
`;
@@ -12,6 +12,7 @@ export type CurrentUser = Pick<
| 'userVars'
| 'firstName'
| 'lastName'
| 'hasPassword'
>;
export const currentUserState = createState<CurrentUser | null>({
@@ -35,6 +35,7 @@ const mockCurrentUser = {
userVars: {},
firstName: 'fake-first-name',
lastName: 'fake-last-name',
hasPassword: true,
};
const mockBilling: Billing = {
@@ -1,24 +0,0 @@
import { useLingui } from '@lingui/react/macro';
import { useHandleResetPassword } from '@/auth/sign-in-up/hooks/useHandleResetPassword';
import { Button } from 'twenty-ui/input';
import { H2Title } from 'twenty-ui/display';
export const ChangePassword = () => {
const { t } = useLingui();
const { handleResetPassword } = useHandleResetPassword();
return (
<>
<H2Title
title={t`Change Password`}
description={t`Receive an email containing password update link`}
/>
<Button
onClick={handleResetPassword()}
variant="secondary"
title={t`Change Password`}
/>
</>
);
};
@@ -0,0 +1,30 @@
import { useHandleResetPassword } from '@/auth/sign-in-up/hooks/useHandleResetPassword';
import { currentUserState } from '@/auth/states/currentUserState';
import { useLingui } from '@lingui/react/macro';
import { useRecoilValue } from 'recoil';
import { H2Title } from 'twenty-ui/display';
import { Button } from 'twenty-ui/input';
export const SetOrChangePassword = () => {
const { t } = useLingui();
const currentUser = useRecoilValue(currentUserState);
const { handleResetPassword } = useHandleResetPassword();
const hasPassword = currentUser?.hasPassword ?? false;
const heading = hasPassword ? t`Change Password` : t`Set Password`;
const description = hasPassword
? t`Receive an email containing password update link`
: t`Receive an email containing password set link`;
return (
<>
<H2Title title={heading} description={description} />
<Button
onClick={handleResetPassword()}
variant="secondary"
title={heading}
/>
</>
);
};
@@ -18,6 +18,7 @@ export const USER_QUERY_FRAGMENT = gql`
firstName
lastName
email
hasPassword
canAccessFullAdminPanel
canImpersonate
supportUserHash
@@ -3,6 +3,7 @@ import { Logo } from '@/auth/components/Logo';
import { Title } from '@/auth/components/Title';
import { useAuth } from '@/auth/hooks/useAuth';
import { useIsLogged } from '@/auth/hooks/useIsLogged';
import { currentUserState } from '@/auth/states/currentUserState';
import { workspacePublicDataState } from '@/auth/states/workspacePublicDataState';
import { PASSWORD_REGEX } from '@/auth/utils/passwordRegex';
import { useReadCaptchaToken } from '@/captcha/hooks/useReadCaptchaToken';
@@ -15,14 +16,14 @@ import { ApolloError } from '@apollo/client';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
import { zodResolver } from '@hookform/resolvers/zod';
import { Trans, useLingui } from '@lingui/react/macro';
import { useLingui } from '@lingui/react/macro';
import { isNonEmptyString } from '@sniptt/guards';
import { motion } from 'framer-motion';
import { useState } from 'react';
import { Controller, useForm } from 'react-hook-form';
import Skeleton, { SkeletonTheme } from 'react-loading-skeleton';
import { useParams } from 'react-router-dom';
import { useRecoilValue } from 'recoil';
import { useRecoilValue, useSetRecoilState } from 'recoil';
import { AppPath } from 'twenty-shared/types';
import { MainButton } from 'twenty-ui/input';
import { AnimatedEaseIn } from 'twenty-ui/utilities';
@@ -83,12 +84,14 @@ export const PasswordReset = () => {
const { enqueueErrorSnackBar, enqueueSuccessSnackBar } = useSnackBar();
const workspacePublicData = useRecoilValue(workspacePublicDataState);
const setCurrentUser = useSetRecoilState(currentUserState);
const navigate = useNavigateApp();
const { redirect } = useRedirect();
const [email, setEmail] = useState('');
const [isTokenValid, setIsTokenValid] = useState(false);
const [isTargetUserPasswordSet, setIsTargetUserPasswordSet] = useState(false);
const theme = useTheme();
@@ -118,8 +121,12 @@ export const PasswordReset = () => {
},
onCompleted: (data) => {
setIsTokenValid(true);
if (isNonEmptyString(data?.validatePasswordResetToken?.email)) {
setEmail(data.validatePasswordResetToken.email);
const validationResult = data?.validatePasswordResetToken;
if (isNonEmptyString(validationResult?.email)) {
setEmail(validationResult.email);
}
if (validationResult?.hasPassword) {
setIsTargetUserPasswordSet(validationResult.hasPassword);
}
},
});
@@ -147,9 +154,18 @@ export const PasswordReset = () => {
return;
}
const successMessage =
isTargetUserPasswordSet === false
? t`Password has been set`
: t`Password has been updated`;
setCurrentUser((currentUser) =>
currentUser ? { ...currentUser, hasPassword: true } : currentUser,
);
if (isLoggedIn) {
enqueueSuccessSnackBar({
message: t`Password has been updated`,
message: successMessage,
});
navigate(AppPath.Index);
return;
@@ -179,6 +195,9 @@ export const PasswordReset = () => {
}
};
const passwordActionLabel =
isTargetUserPasswordSet === true ? t`Change Password` : t`Set Password`;
return (
isTokenValid && (
<Modal.Content isVerticalCentered isHorizontalCentered>
@@ -189,9 +208,7 @@ export const PasswordReset = () => {
placeholder={workspacePublicData?.displayName}
/>
</AnimatedEaseIn>
<Title animate>
<Trans>Reset Password</Trans>
</Title>
<Title animate>{passwordActionLabel}</Title>
<StyledContentContainer>
{!email ? (
<SkeletonTheme
@@ -259,7 +276,7 @@ export const PasswordReset = () => {
<StyledMainButton
variant="secondary"
title={t`Change Password`}
title={passwordActionLabel}
type="submit"
fullWidth
disabled={isUpdatingPassword}
@@ -9,6 +9,7 @@ import {
ValidatePasswordResetTokenDocument,
} from '~/generated-metadata/graphql';
import { PasswordReset } from '~/pages/auth/PasswordReset';
import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator';
import {
PageDecorator,
type PageDecoratorArgs,
@@ -20,53 +21,84 @@ const mockedOnboardingUsersData = mockedOnboardingUserData(
OnboardingStatus.COMPLETED,
);
const buildHandlers = (hasPassword: boolean) => [
graphql.query(
getOperationName(ValidatePasswordResetTokenDocument) ?? '',
() =>
HttpResponse.json({
data: {
validatePasswordResetToken: {
__typename: 'ValidatePasswordResetTokenOutput',
id: mockedOnboardingUsersData.id,
email: mockedOnboardingUsersData.email,
hasPassword,
},
},
}),
),
graphql.query(getOperationName(GET_CURRENT_USER) ?? '', () =>
HttpResponse.json({
data: {
currentUser: {
...mockedOnboardingUsersData,
hasPassword,
},
},
}),
),
...graphqlMocks.handlers,
];
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Auth/PasswordReset',
component: PasswordReset,
decorators: [PageDecorator],
args: {
routePath: '/reset-password/:passwordResetToken',
routeParams: { ':passwordResetToken': 'MOCKED_TOKEN' },
},
parameters: {
msw: {
handlers: [
graphql.query(
getOperationName(ValidatePasswordResetTokenDocument) ?? '',
() => {
return HttpResponse.json({
data: {
validatePasswordResetToken: {
id: mockedOnboardingUsersData.id,
email: mockedOnboardingUsersData.email,
},
},
});
},
),
graphql.query(getOperationName(GET_CURRENT_USER) ?? '', () => {
return HttpResponse.json({
data: {
currentUser: mockedOnboardingUsersData,
},
});
}),
graphqlMocks.handlers,
],
},
},
decorators: [PageDecorator, I18nFrontDecorator],
};
export default meta;
export type Story = StoryObj<typeof PasswordReset>;
export const Default: Story = {
export const ChangePassword: Story = {
args: {
routePath: '/reset-password/:passwordResetToken',
routeParams: {
':passwordResetToken': 'MOCKED_TOKEN_CHANGE',
},
},
parameters: {
msw: {
handlers: buildHandlers(true),
},
},
play: async ({ canvasElement }) => {
const canvas = within(canvasElement);
await canvas.findByText('Reset Password', undefined, {
timeout: 3000,
});
await canvas.findByRole(
'button',
{ name: 'Change Password' },
{ timeout: 3000 },
);
},
};
export const SetPassword: Story = {
args: {
routePath: '/reset-password/:passwordResetToken',
routeParams: {
':passwordResetToken': 'MOCKED_TOKEN_SET',
},
},
parameters: {
msw: {
handlers: buildHandlers(false),
},
},
play: async ({ canvasElement }) => {
const canvas = within(canvasElement);
await canvas.findByRole(
'button',
{ name: 'Set Password' },
{ timeout: 3000 },
);
},
};
@@ -1,6 +1,6 @@
import { SettingsCard } from '@/settings/components/SettingsCard';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { ChangePassword } from '@/settings/profile/components/ChangePassword';
import { SetOrChangePassword } from '@/settings/profile/components/SetOrChangePassword';
import { DeleteAccount } from '@/settings/profile/components/DeleteAccount';
import { EmailField } from '@/settings/profile/components/EmailField';
import { NameFields } from '@/settings/profile/components/NameFields';
@@ -83,7 +83,7 @@ export const SettingsProfile = () => {
</Section>
{canChangePassword && (
<Section>
<ChangePassword />
<SetOrChangePassword />
</Section>
)}
<Section>
@@ -28,6 +28,7 @@ type MockedUser = Pick<
| 'onboardingStatus'
| 'userVars'
| 'availableWorkspaces'
| 'hasPassword'
> & {
workspaceMember: WorkspaceMember | null;
locale: string;
@@ -186,6 +187,7 @@ export const mockedUserData: MockedUser = {
lastName: 'Test',
canAccessFullAdminPanel: false,
canImpersonate: false,
hasPassword: true,
supportUserHash:
'a95afad9ff6f0b364e2a3fd3e246a1a852c22b6e55a3ca33745a86c201f9c10d',
workspaceMember: mockedWorkspaceMemberData,
@@ -242,6 +244,7 @@ export const mockedOnboardingUserData = (
email: 'workspace-onboarding@test.com',
firstName: '',
lastName: '',
hasPassword: false,
canAccessFullAdminPanel: false,
canImpersonate: false,
supportUserHash:
@@ -9,4 +9,7 @@ export class ValidatePasswordResetTokenOutput {
@Field(() => String)
email: string;
@Field(() => Boolean)
hasPassword: boolean;
}
@@ -259,7 +259,11 @@ describe('ResetPasswordService', () => {
const result = await service.validatePasswordResetToken('validToken');
expect(result).toEqual({ id: '1', email: 'test@example.com' });
expect(result).toEqual({
id: '1',
email: 'test@example.com',
hasPassword: false,
});
});
it('should throw an error for an invalid token', async () => {
@@ -10,7 +10,11 @@ import ms from 'ms';
import { PasswordResetLinkEmail } from 'twenty-emails';
import { type APP_LOCALES } from 'twenty-shared/translations';
import { AppPath } from 'twenty-shared/types';
import { assertIsDefinedOrThrow, getAppPath } from 'twenty-shared/utils';
import {
assertIsDefinedOrThrow,
getAppPath,
isDefined,
} from 'twenty-shared/utils';
import { IsNull, MoreThan, Repository } from 'typeorm';
import {
@@ -25,13 +29,13 @@ import { type EmailPasswordResetLinkOutput } from 'src/engine/core-modules/auth/
import { type InvalidatePasswordOutput } from 'src/engine/core-modules/auth/dto/invalidate-password.dto';
import { type PasswordResetToken } from 'src/engine/core-modules/auth/dto/password-reset-token.dto';
import { type ValidatePasswordResetTokenOutput } from 'src/engine/core-modules/auth/dto/validate-password-reset-token.dto';
import { WorkspaceDomainsService } from 'src/engine/core-modules/domain/workspace-domains/services/workspace-domains.service';
import { EmailService } from 'src/engine/core-modules/email/email.service';
import { I18nService } from 'src/engine/core-modules/i18n/i18n.service';
import { TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service';
import { UserService } from 'src/engine/core-modules/user/services/user.service';
import { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity';
import { WorkspaceNotFoundDefaultError } from 'src/engine/core-modules/workspace/workspace.exception';
import { WorkspaceDomainsService } from 'src/engine/core-modules/domain/workspace-domains/services/workspace-domains.service';
@Injectable()
export class ResetPasswordService {
@@ -120,6 +124,7 @@ export class ResetPasswordService {
email,
new AuthException('User not found', AuthExceptionCode.INVALID_INPUT),
);
const hasPassword = isDefined(user.passwordHash);
const workspace = await this.workspaceRepository.findOneBy({
id: resetToken.workspaceId,
@@ -145,6 +150,7 @@ export class ResetPasswordService {
long: true,
},
),
hasPassword,
locale,
};
@@ -153,9 +159,11 @@ export class ResetPasswordService {
const html = await render(emailTemplate, { pretty: true });
const text = await render(emailTemplate, { plainText: true });
const resetPasswordMsg = msg`Action Needed to Reset Password`;
const i18n = this.i18nService.getI18nInstance(locale);
const subject = i18n._(resetPasswordMsg);
const subjectTemplate = hasPassword
? msg`Action Needed to Reset Password`
: msg`Action Needed to Set Password`;
const subject = i18n._(subjectTemplate);
await this.emailService.send({
from: `${this.twentyConfigService.get(
@@ -202,6 +210,7 @@ export class ResetPasswordService {
return {
id: user.id,
email: user.email,
hasPassword: isDefined(user.passwordHash),
};
}
@@ -332,6 +332,13 @@ export class UserResolver {
);
}
@ResolveField(() => Boolean, {
name: 'hasPassword',
})
hasPassword(@Parent() user: UserEntity): boolean {
return isDefined(user.passwordHash);
}
@ResolveField(() => String, {
nullable: true,
})