@live-change/user-frontend 0.9.130 → 0.9.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/front/locales/en.json +137 -0
- package/front/locales/pl.js +34 -0
- package/front/locales/pl.json +154 -0
- package/front/src/Index.vue +4 -2
- package/front/src/connected/ConnectEmail.vue +5 -5
- package/front/src/connected/ConnectPhone.vue +5 -5
- package/front/src/connected/Connected.vue +14 -11
- package/front/src/connected/accountTypes/UnknownAccountItem.vue +4 -1
- package/front/src/delete/Delete.vue +8 -6
- package/front/src/delete/DeleteFeedbackSent.vue +4 -3
- package/front/src/delete/DeleteFinished.vue +6 -3
- package/front/src/identification/IdentificationSettings.vue +6 -6
- package/front/src/locale/LocaleSettings.vue +6 -6
- package/front/src/message-auth/MessageLink.vue +10 -7
- package/front/src/message-auth/MessageSent.vue +23 -16
- package/front/src/password/ChangePassword.vue +7 -7
- package/front/src/password/ChangePasswordFinished.vue +4 -3
- package/front/src/password/ResetPassword.vue +2 -2
- package/front/src/password/ResetPasswordFinished.vue +4 -3
- package/front/src/password/ResetPasswordForm.vue +9 -9
- package/front/src/settings/SettingsMenu.vue +9 -9
- package/front/src/sign/SignInEmail.vue +9 -9
- package/front/src/sign/SignUpEmail.vue +9 -10
- package/index.js +8 -2
- package/package.json +26 -26
package/front/locales/en.json
CHANGED
|
@@ -1,4 +1,46 @@
|
|
|
1
1
|
{
|
|
2
|
+
"auth": {
|
|
3
|
+
"welcomeBack": "Welcome Back",
|
|
4
|
+
"dontHaveAccount": "Don't have an account?",
|
|
5
|
+
"createToday": "Create today!",
|
|
6
|
+
"emailAddress": "Email address",
|
|
7
|
+
"passwordOptional": "Password (optional)",
|
|
8
|
+
"forgotPassword": "Forgot password?",
|
|
9
|
+
"signIn": "Sign In",
|
|
10
|
+
"signInWith": "Sign In with {provider}",
|
|
11
|
+
"signUp": "Sign Up",
|
|
12
|
+
"signUpWith": "Sign Up with {provider}",
|
|
13
|
+
"currentPassword": "Current password",
|
|
14
|
+
"newPassword": "New password",
|
|
15
|
+
"reenterPassword": "Re-enter password",
|
|
16
|
+
"resetPassword": "Reset password",
|
|
17
|
+
"passwordChanged": "Password changed",
|
|
18
|
+
"passwordChangedSuccess": "You have successfully set your password.",
|
|
19
|
+
"passwordResetSuccess": "You have successfully changed your password.",
|
|
20
|
+
"unknownLink": "Unknown link",
|
|
21
|
+
"unknownLinkDesc": "We can't find your secret link. Check if you copied the address correctly.",
|
|
22
|
+
"linkUsed": "Link used",
|
|
23
|
+
"linkUsedDesc": "This link was already used.",
|
|
24
|
+
"linkExpired": "Link expired",
|
|
25
|
+
"linkExpiredDesc": "Your password reset authentication already expired.",
|
|
26
|
+
"passwordSuggestions": "Suggestions",
|
|
27
|
+
"suggestionLowercase": "At least one lowercase",
|
|
28
|
+
"suggestionUppercase": "At least one uppercase",
|
|
29
|
+
"suggestionNumeric": "At least one numeric",
|
|
30
|
+
"alreadyHaveAccount": "Already have an account?",
|
|
31
|
+
"signInToday": "Sign in today!",
|
|
32
|
+
"signUpWithEmail": "Sign Up with email",
|
|
33
|
+
"privacyConsent": "By providing your email address or google account, you consent to its processing solely for registration and account verification purposes, in accordance with our",
|
|
34
|
+
"privacyPolicy": "Privacy Policy",
|
|
35
|
+
"authenticating": "Authenticating...",
|
|
36
|
+
"authentication": "Authentication",
|
|
37
|
+
"authenticationCanceled": "Authentication canceled by user",
|
|
38
|
+
"authenticationError": "Error during authentication",
|
|
39
|
+
"goBack": "Go back",
|
|
40
|
+
"tryAgain": "Try again",
|
|
41
|
+
"confirmEmail": "Confirm email",
|
|
42
|
+
"confirmPhone": "Confirm phone"
|
|
43
|
+
},
|
|
2
44
|
"errors": {
|
|
3
45
|
"emailTaken": "Email is already registered, try to sign-in.",
|
|
4
46
|
"phoneTaken": "Phone is already registered, try to sign-in.",
|
|
@@ -9,9 +51,104 @@
|
|
|
9
51
|
"unsafePassword": "Password is unsafe, try to use a stronger one.",
|
|
10
52
|
"passwordNotMatch": "Passwords do not match."
|
|
11
53
|
},
|
|
54
|
+
"common": {
|
|
55
|
+
"or": "OR",
|
|
56
|
+
"error": "Error",
|
|
57
|
+
"success": "Success",
|
|
58
|
+
"cancel": "Cancel",
|
|
59
|
+
"save": "Save",
|
|
60
|
+
"delete": "Delete",
|
|
61
|
+
"edit": "Edit",
|
|
62
|
+
"view": "View",
|
|
63
|
+
"close": "Close",
|
|
64
|
+
"testIndex": "Test Index",
|
|
65
|
+
"addTestNotification": "Add test notification"
|
|
66
|
+
},
|
|
12
67
|
"app": {
|
|
13
68
|
"updateAvailable": "Update available!",
|
|
14
69
|
"newVersions": "New version of app is available!",
|
|
15
70
|
"reload": "Reload"
|
|
71
|
+
},
|
|
72
|
+
"settings": {
|
|
73
|
+
"settings": "SETTINGS",
|
|
74
|
+
"identification": "Identification",
|
|
75
|
+
"generalSettings": "General Settings",
|
|
76
|
+
"languageAndLocale": "Language and Locale",
|
|
77
|
+
"notifications": "Notifications",
|
|
78
|
+
"authorization": "AUTHORIZATION",
|
|
79
|
+
"connectedAccounts": "Connected Accounts",
|
|
80
|
+
"changePassword": "Change Password",
|
|
81
|
+
"deleteAccount": "Delete Account",
|
|
82
|
+
"localeSettings": "Locale settings",
|
|
83
|
+
"language": "Language",
|
|
84
|
+
"autoDetect": "Auto-detect",
|
|
85
|
+
"apply": "Apply",
|
|
86
|
+
"settingsUpdated": "Settings updated",
|
|
87
|
+
"localeSettingsSaved": "Your locale settings have been saved",
|
|
88
|
+
"profile": "Profile",
|
|
89
|
+
"yourName": "Your name",
|
|
90
|
+
"saveName": "Save name",
|
|
91
|
+
"imageEditor": "Image Editor",
|
|
92
|
+
"userImageSaved": "User image saved",
|
|
93
|
+
"userNameSaved": "User name saved"
|
|
94
|
+
},
|
|
95
|
+
"connected": {
|
|
96
|
+
"connectedAccounts": "Connected accounts",
|
|
97
|
+
"addContactType": "Add {type}",
|
|
98
|
+
"addAccountType": "Add {type}",
|
|
99
|
+
"addEmail": "Add Email",
|
|
100
|
+
"addPhone": "Add Phone",
|
|
101
|
+
"addPhoneNumber": "Add phone number",
|
|
102
|
+
"phoneNumber": "Phone number",
|
|
103
|
+
"confirmDisconnectContact": "Do you want to disconnect {type} account {contact}?",
|
|
104
|
+
"confirmDisconnectAccount": "Do you want to disconnect {type} account {account}?",
|
|
105
|
+
"accountDisconnected": "Account disconnected",
|
|
106
|
+
"unknownAccount": "Unknown account",
|
|
107
|
+
"email": "email",
|
|
108
|
+
"phone": "phone",
|
|
109
|
+
"google": "Google",
|
|
110
|
+
"linkedin": "LinkedIn",
|
|
111
|
+
"github": "GitHub"
|
|
112
|
+
},
|
|
113
|
+
"messageAuth": {
|
|
114
|
+
"authenticationDone": "Authentication done",
|
|
115
|
+
"authenticatedInDifferentTab": "You authenticated in a different tab.",
|
|
116
|
+
"code": "Code",
|
|
117
|
+
"messageSent": "Message sent",
|
|
118
|
+
"messageSentDescription": "We sent special secret message to the contact you already provided.",
|
|
119
|
+
"callToAction": "Click on the link or enter the code you found in that message.",
|
|
120
|
+
"toSendAnotherCode": "To send another code click button below.",
|
|
121
|
+
"resendSecretCode": "Resend secret code",
|
|
122
|
+
"codeSent": "Code sent",
|
|
123
|
+
"newCodeSent": "New code sent to you",
|
|
124
|
+
"linkExpiredDesc": "Your secret link already expired. To send another link click button below.",
|
|
125
|
+
"resend": "Resend"
|
|
126
|
+
},
|
|
127
|
+
"common": {
|
|
128
|
+
"or": "OR",
|
|
129
|
+
"error": "Error",
|
|
130
|
+
"success": "Success",
|
|
131
|
+
"cancel": "Cancel",
|
|
132
|
+
"save": "Save",
|
|
133
|
+
"delete": "Delete",
|
|
134
|
+
"edit": "Edit",
|
|
135
|
+
"view": "View",
|
|
136
|
+
"close": "Close",
|
|
137
|
+
"ok": "OK",
|
|
138
|
+
"testIndex": "Test Index",
|
|
139
|
+
"addTestNotification": "Add test notification",
|
|
140
|
+
"rejected": "Rejected",
|
|
141
|
+
"rejectedDetail": "You have rejected"
|
|
142
|
+
},
|
|
143
|
+
"deleteAccount": {
|
|
144
|
+
"deleteAccount": "Delete account",
|
|
145
|
+
"warning": "Account deletion is irreversible, check the box below only if you are 100% sure that you want to delete your account.",
|
|
146
|
+
"confirmCheckbox": "I want to delete my account.",
|
|
147
|
+
"alreadyDeleted": "Account already deleted.",
|
|
148
|
+
"accountDeleted": "Account deleted",
|
|
149
|
+
"feedbackRequest": "Account has been deleted, please leave feedback why you are leaving us.",
|
|
150
|
+
"send": "Send",
|
|
151
|
+
"feedbackSent": "Feedback sent",
|
|
152
|
+
"thankYou": "Thank you for your feedback."
|
|
16
153
|
}
|
|
17
154
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import messages from "./pl.json"
|
|
2
|
+
|
|
3
|
+
import { locales as autoFormLocales } from "@live-change/frontend-auto-form"
|
|
4
|
+
|
|
5
|
+
export { messages }
|
|
6
|
+
|
|
7
|
+
export const numberFormats = {
|
|
8
|
+
"pln": {
|
|
9
|
+
"style": "currency",
|
|
10
|
+
"currency": "PLN",
|
|
11
|
+
"notation": "standard"
|
|
12
|
+
},
|
|
13
|
+
"usd": {
|
|
14
|
+
"style": "currency",
|
|
15
|
+
"currency": "USD",
|
|
16
|
+
"notation": "standard"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const datetimeFormats = {
|
|
21
|
+
"short": {
|
|
22
|
+
"year": "numeric", "month": "short", "day": "numeric"
|
|
23
|
+
},
|
|
24
|
+
"shortTime": {
|
|
25
|
+
"dateStyle": "short", "timeStyle": "short", "hour12": false
|
|
26
|
+
},
|
|
27
|
+
"shortestTime": {
|
|
28
|
+
"month": "numeric", "day": "numeric", "hour": "numeric", "minute": "numeric", "hour12": false
|
|
29
|
+
},
|
|
30
|
+
"long": {
|
|
31
|
+
"year": "numeric", "month": "short", "day": "numeric",
|
|
32
|
+
"weekday": "short", "hour": "numeric", "minute": "numeric"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
{
|
|
2
|
+
"auth": {
|
|
3
|
+
"welcomeBack": "Witaj ponownie",
|
|
4
|
+
"dontHaveAccount": "Nie masz konta?",
|
|
5
|
+
"createToday": "Utwórz dzisiaj!",
|
|
6
|
+
"emailAddress": "Adres email",
|
|
7
|
+
"passwordOptional": "Hasło (opcjonalne)",
|
|
8
|
+
"forgotPassword": "Zapomniałeś hasła?",
|
|
9
|
+
"signIn": "Zaloguj się",
|
|
10
|
+
"signInWith": "Zaloguj się przez {provider}",
|
|
11
|
+
"signUp": "Zarejestruj się",
|
|
12
|
+
"signUpWith": "Zarejestruj się przez {provider}",
|
|
13
|
+
"currentPassword": "Aktualne hasło",
|
|
14
|
+
"newPassword": "Nowe hasło",
|
|
15
|
+
"reenterPassword": "Powtórz hasło",
|
|
16
|
+
"resetPassword": "Resetuj hasło",
|
|
17
|
+
"passwordChanged": "Hasło zmienione",
|
|
18
|
+
"passwordChangedSuccess": "Pomyślnie ustawiłeś swoje hasło.",
|
|
19
|
+
"passwordResetSuccess": "Pomyślnie zmieniłeś swoje hasło.",
|
|
20
|
+
"unknownLink": "Nieznany link",
|
|
21
|
+
"unknownLinkDesc": "Nie możemy znaleźć twojego tajnego linku. Sprawdź, czy skopiowałeś adres poprawnie.",
|
|
22
|
+
"linkUsed": "Link użyty",
|
|
23
|
+
"linkUsedDesc": "Ten link został już użyty.",
|
|
24
|
+
"linkExpired": "Link wygasł",
|
|
25
|
+
"linkExpiredDesc": "Twoja autoryzacja resetu hasła już wygasła.",
|
|
26
|
+
"passwordSuggestions": "Sugestie",
|
|
27
|
+
"suggestionLowercase": "Co najmniej jedna mała litera",
|
|
28
|
+
"suggestionUppercase": "Co najmniej jedna wielka litera",
|
|
29
|
+
"suggestionNumeric": "Co najmniej jedna cyfra",
|
|
30
|
+
"alreadyHaveAccount": "Masz już konto?",
|
|
31
|
+
"signInToday": "Zaloguj się dzisiaj!",
|
|
32
|
+
"signUpWithEmail": "Zarejestruj się przez email",
|
|
33
|
+
"privacyConsent": "Podając swój adres email lub konto google, wyrażasz zgodę na jego przetwarzanie wyłącznie w celach rejestracji i weryfikacji konta, zgodnie z naszą",
|
|
34
|
+
"privacyPolicy": "Polityką Prywatności",
|
|
35
|
+
"authenticating": "Uwierzytelnianie...",
|
|
36
|
+
"authentication": "Uwierzytelnianie",
|
|
37
|
+
"authenticationCanceled": "Uwierzytelnianie anulowane przez użytkownika",
|
|
38
|
+
"authenticationError": "Błąd podczas uwierzytelniania",
|
|
39
|
+
"goBack": "Wróć",
|
|
40
|
+
"tryAgain": "Spróbuj ponownie",
|
|
41
|
+
"confirmEmail": "Potwierdź email",
|
|
42
|
+
"confirmPhone": "Potwierdź telefon"
|
|
43
|
+
},
|
|
44
|
+
"errors": {
|
|
45
|
+
"emailTaken": "Email jest już zarejestrowany, spróbuj się zalogować.",
|
|
46
|
+
"phoneTaken": "Telefon jest już zarejestrowany, spróbuj się zalogować.",
|
|
47
|
+
"codeNotFound": "Tajny kod nierozpoznany.",
|
|
48
|
+
"codeExpired": "Tajny kod wygasł.",
|
|
49
|
+
"wrongPassword": "Błędne hasło.",
|
|
50
|
+
"emailNotFound": "Email nie znaleziony.",
|
|
51
|
+
"unsafePassword": "Hasło niebezpieczne, spróbuj użyć silniejszego.",
|
|
52
|
+
"passwordNotMatch": "Hasła nie pasują."
|
|
53
|
+
},
|
|
54
|
+
"common": {
|
|
55
|
+
"or": "LUB",
|
|
56
|
+
"error": "Błąd",
|
|
57
|
+
"success": "Sukces",
|
|
58
|
+
"cancel": "Anuluj",
|
|
59
|
+
"save": "Zapisz",
|
|
60
|
+
"delete": "Usuń",
|
|
61
|
+
"edit": "Edytuj",
|
|
62
|
+
"view": "Pokaż",
|
|
63
|
+
"close": "Zamknij",
|
|
64
|
+
"testIndex": "Indeks testowy",
|
|
65
|
+
"addTestNotification": "Dodaj testowe powiadomienie"
|
|
66
|
+
},
|
|
67
|
+
"app": {
|
|
68
|
+
"updateAvailable": "Dostępna aktualizacja!",
|
|
69
|
+
"newVersions": "Dostępna nowa wersja aplikacji!",
|
|
70
|
+
"reload": "Odśwież"
|
|
71
|
+
},
|
|
72
|
+
"settings": {
|
|
73
|
+
"settings": "USTAWIENIA",
|
|
74
|
+
"identification": "Identyfikacja",
|
|
75
|
+
"generalSettings": "Ustawienia ogólne",
|
|
76
|
+
"languageAndLocale": "Język i lokalizacja",
|
|
77
|
+
"notifications": "Powiadomienia",
|
|
78
|
+
"authorization": "AUTORYZACJA",
|
|
79
|
+
"connectedAccounts": "Połączone konta",
|
|
80
|
+
"changePassword": "Zmień hasło",
|
|
81
|
+
"deleteAccount": "Usuń konto",
|
|
82
|
+
"localeSettings": "Ustawienia lokalizacji",
|
|
83
|
+
"language": "Język",
|
|
84
|
+
"autoDetect": "Automatyczne wykrywanie",
|
|
85
|
+
"apply": "Zastosuj",
|
|
86
|
+
"settingsUpdated": "Ustawienia zaktualizowane",
|
|
87
|
+
"localeSettingsSaved": "Twoje ustawienia lokalizacji zostały zapisane",
|
|
88
|
+
"profile": "Profil",
|
|
89
|
+
"yourName": "Twoje imię",
|
|
90
|
+
"saveName": "Zapisz imię",
|
|
91
|
+
"imageEditor": "Edytor obrazów",
|
|
92
|
+
"userImageSaved": "Obraz użytkownika zapisany",
|
|
93
|
+
"userNameSaved": "Imię użytkownika zapisane"
|
|
94
|
+
},
|
|
95
|
+
"connected": {
|
|
96
|
+
"connectedAccounts": "Połączone konta",
|
|
97
|
+
"addContactType": "Dodaj {type}",
|
|
98
|
+
"addAccountType": "Dodaj {type}",
|
|
99
|
+
"addEmail": "Dodaj Email",
|
|
100
|
+
"addPhone": "Dodaj Telefon",
|
|
101
|
+
"addPhoneNumber": "Dodaj numer telefonu",
|
|
102
|
+
"phoneNumber": "Numer telefonu",
|
|
103
|
+
"confirmDisconnectContact": "Czy chcesz odłączyć konto {type} {contact}?",
|
|
104
|
+
"confirmDisconnectAccount": "Czy chcesz odłączyć konto {type} {account}?",
|
|
105
|
+
"accountDisconnected": "Konto odłączone",
|
|
106
|
+
"unknownAccount": "Nieznane konto",
|
|
107
|
+
"email": "email",
|
|
108
|
+
"phone": "telefon",
|
|
109
|
+
"google": "Google",
|
|
110
|
+
"linkedin": "LinkedIn",
|
|
111
|
+
"github": "GitHub"
|
|
112
|
+
},
|
|
113
|
+
"messageAuth": {
|
|
114
|
+
"authenticationDone": "Uwierzytelnianie zakończone",
|
|
115
|
+
"authenticatedInDifferentTab": "Uwierzytelniłeś się w innej karcie.",
|
|
116
|
+
"code": "Kod",
|
|
117
|
+
"messageSent": "Wiadomość wysłana",
|
|
118
|
+
"messageSentDescription": "Wysłaliśmy specjalną tajną wiadomość na podany przez Ciebie kontakt.",
|
|
119
|
+
"callToAction": "Kliknij w link lub wprowadź kod, który znalazłeś w tej wiadomości.",
|
|
120
|
+
"toSendAnotherCode": "Aby wysłać kolejny kod, kliknij przycisk poniżej.",
|
|
121
|
+
"resendSecretCode": "Wyślij ponownie tajny kod",
|
|
122
|
+
"codeSent": "Kod wysłany",
|
|
123
|
+
"newCodeSent": "Nowy kod został do Ciebie wysłany",
|
|
124
|
+
"linkExpiredDesc": "Twój tajny link już wygasł. Aby wysłać kolejny link, kliknij przycisk poniżej.",
|
|
125
|
+
"resend": "Wyślij ponownie"
|
|
126
|
+
},
|
|
127
|
+
"common": {
|
|
128
|
+
"or": "LUB",
|
|
129
|
+
"error": "Błąd",
|
|
130
|
+
"success": "Sukces",
|
|
131
|
+
"cancel": "Anuluj",
|
|
132
|
+
"save": "Zapisz",
|
|
133
|
+
"delete": "Usuń",
|
|
134
|
+
"edit": "Edytuj",
|
|
135
|
+
"view": "Pokaż",
|
|
136
|
+
"close": "Zamknij",
|
|
137
|
+
"ok": "OK",
|
|
138
|
+
"testIndex": "Indeks testowy",
|
|
139
|
+
"addTestNotification": "Dodaj testowe powiadomienie",
|
|
140
|
+
"rejected": "Odrzucone",
|
|
141
|
+
"rejectedDetail": "Odrzuciłeś"
|
|
142
|
+
},
|
|
143
|
+
"deleteAccount": {
|
|
144
|
+
"deleteAccount": "Usuń konto",
|
|
145
|
+
"warning": "Usunięcie konta jest nieodwracalne, zaznacz pole poniżej tylko jeśli jesteś w 100% pewny, że chcesz usunąć swoje konto.",
|
|
146
|
+
"confirmCheckbox": "Chcę usunąć moje konto.",
|
|
147
|
+
"alreadyDeleted": "Konto już usunięte.",
|
|
148
|
+
"accountDeleted": "Konto usunięte",
|
|
149
|
+
"feedbackRequest": "Konto zostało usunięte, zostaw opinię dlaczego nas opuszczasz.",
|
|
150
|
+
"send": "Wyślij",
|
|
151
|
+
"feedbackSent": "Opinia wysłana",
|
|
152
|
+
"thankYou": "Dziękujemy za Twoją opinię."
|
|
153
|
+
}
|
|
154
|
+
}
|
package/front/src/Index.vue
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="w-full lg:w-6/12 md:w-9/12">
|
|
3
3
|
<div class="bg-surface-0 dark:bg-surface-900 rounded-border shadow p-6">
|
|
4
|
-
<div class="text-surface-900 dark:text-surface-0 text-red-500 font-medium mb-4 text-xl">
|
|
4
|
+
<div class="text-surface-900 dark:text-surface-0 text-red-500 font-medium mb-4 text-xl">{{ t('common.testIndex') }}</div>
|
|
5
5
|
<div>
|
|
6
|
-
<Button @click="testNotification" label="
|
|
6
|
+
<Button @click="testNotification" :label="t('common.addTestNotification')" />
|
|
7
7
|
</div>
|
|
8
8
|
</div>
|
|
9
9
|
</div>
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
<script setup>
|
|
13
13
|
|
|
14
14
|
import { useApi } from '@live-change/vue3-ssr'
|
|
15
|
+
import { useI18n } from 'vue-i18n'
|
|
16
|
+
const { t } = useI18n()
|
|
15
17
|
|
|
16
18
|
const api = useApi()
|
|
17
19
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="w-full lg:w-6/12 md:w-9/12 max-w-[32rem]" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
|
|
3
3
|
<div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
|
|
4
4
|
<div class="text-center mb-8">
|
|
5
|
-
<div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
|
|
5
|
+
<div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">{{ t('connected.addEmail') }}</div>
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
8
|
<command-form service="messageAuthentication" action="connectEmail" v-slot="{ data }"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<div class="p-field mb-4">
|
|
12
12
|
<label for="email" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">
|
|
13
|
-
|
|
13
|
+
{{ t('auth.emailAddress') }}
|
|
14
14
|
</label>
|
|
15
15
|
<InputText id="email" type="text" class="w-full"
|
|
16
16
|
aria-describedby="email-help" :invalid="!!data.emailError"
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
</Message>
|
|
21
21
|
</div>
|
|
22
22
|
|
|
23
|
-
<Button label="
|
|
23
|
+
<Button :label="t('connected.addEmail')" icon="pi pi-envelope" class="w-full" type="submit" />
|
|
24
24
|
|
|
25
25
|
<Divider align="center" class="my-6">
|
|
26
|
-
<span class="text-surface-600 dark:text-surface-200 font-normal text-sm">
|
|
26
|
+
<span class="text-surface-600 dark:text-surface-200 font-normal text-sm">{{ t('common.or') }}</span>
|
|
27
27
|
</Divider>
|
|
28
28
|
|
|
29
29
|
<router-link :to="{ name: 'user:connect-phone' }">
|
|
30
|
-
<Button label="
|
|
30
|
+
<Button :label="t('connected.addPhone')" icon="pi pi-mobile" class="w-full p-button-secondary mb-2" />
|
|
31
31
|
</router-link>
|
|
32
32
|
|
|
33
33
|
<!-- <Button label="Connect GitHub account" icon="pi pi-github" class="w-full p-button-secondary mb-2"></Button>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="w-full lg:w-6/12 md:w-9/12 max-w-[32rem]" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
|
|
3
3
|
<div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
|
|
4
4
|
<div class="text-center mb-8">
|
|
5
|
-
<div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
|
|
5
|
+
<div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">{{ t('connected.addPhoneNumber') }}</div>
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
8
|
<command-form service="messageAuthentication" action="connectPhone" v-slot="{ data }"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<div class="p-field mb-4">
|
|
12
12
|
<label for="email" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">
|
|
13
|
-
|
|
13
|
+
{{ t('connected.phoneNumber') }}
|
|
14
14
|
</label>
|
|
15
15
|
<PhoneInput id="phone" class="w-full"
|
|
16
16
|
aria-describedby="phone-help" :class="{ 'p-invalid': data.phoneError }"
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
</Message>
|
|
21
21
|
</div>
|
|
22
22
|
|
|
23
|
-
<Button label="
|
|
23
|
+
<Button :label="t('connected.addPhone')" icon="pi pi-mobile" class="w-full" type="submit" />
|
|
24
24
|
|
|
25
25
|
<Divider align="center" class="my-6">
|
|
26
|
-
<span class="text-surface-600 dark:text-surface-200 font-normal text-sm">
|
|
26
|
+
<span class="text-surface-600 dark:text-surface-200 font-normal text-sm">{{ t('common.or') }}</span>
|
|
27
27
|
</Divider>
|
|
28
28
|
|
|
29
29
|
<router-link :to="{ name: 'user:connect-email' }">
|
|
30
|
-
<Button label="
|
|
30
|
+
<Button :label="t('connected.addEmail')" icon="pi pi-envelope" class="w-full p-button-secondary mb-2" />
|
|
31
31
|
</router-link>
|
|
32
32
|
|
|
33
33
|
<!-- <Button label="Connect GitHub account" icon="pi pi-github" class="w-full p-button-secondary mb-2"></Button>-->
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<Toast v-if="isMounted" />
|
|
6
6
|
|
|
7
7
|
<div class="bg-surface-0 dark:bg-surface-900 rounded-border shadow p-6">
|
|
8
|
-
<div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl">
|
|
8
|
+
<div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl">{{ t('connected.connectedAccounts') }}</div>
|
|
9
9
|
|
|
10
10
|
<ul class="list-none p-0 m-0 mt-8 mb-6">
|
|
11
11
|
|
|
@@ -40,15 +40,15 @@
|
|
|
40
40
|
<router-link v-for="contactType in contactsTypes"
|
|
41
41
|
:to="{ name: 'user:connect-'+contactType.contactType }" class="mr-2 no-underline block mb-1">
|
|
42
42
|
<Button v-if="contactType.contactType === 'email'"
|
|
43
|
-
:label="'
|
|
43
|
+
:label="t('connected.addEmail')" icon="pi pi-envelope" id="connect" />
|
|
44
44
|
<Button v-else-if="contactType.contactType === 'phone'"
|
|
45
|
-
:label="'
|
|
46
|
-
<Button v-else :label="'
|
|
45
|
+
:label="t('connected.addPhone')" icon="pi pi-phone" id="connect" />
|
|
46
|
+
<Button v-else :label="t('connected.addContactType', { type: t(`connected.${contactType.contactType}`) })" icon="pi pi-envelope" id="connect" />
|
|
47
47
|
</router-link>
|
|
48
48
|
<template v-for="accountType in accountTypes">
|
|
49
49
|
<router-link v-if="connectAccountRoute(accountType)"
|
|
50
50
|
:to="connectAccountRoute(accountType)" class="mr-2 no-underline block mb-1">
|
|
51
|
-
<Button v :label="'
|
|
51
|
+
<Button v :label="t('connected.addAccountType', { type: t(`connected.${accountType.accountType}`) })" icon="pi pi-google" id="connect" />
|
|
52
52
|
</router-link>
|
|
53
53
|
</template>
|
|
54
54
|
|
|
@@ -86,6 +86,9 @@
|
|
|
86
86
|
|
|
87
87
|
import { formatPhoneNumber } from '../phone/phoneNumber.js'
|
|
88
88
|
|
|
89
|
+
import { useI18n } from 'vue-i18n'
|
|
90
|
+
const { t } = useI18n()
|
|
91
|
+
|
|
89
92
|
const workingZone = inject('workingZone')
|
|
90
93
|
|
|
91
94
|
import { useApi, live, usePath, useActions } from '@live-change/vue3-ssr'
|
|
@@ -98,18 +101,18 @@
|
|
|
98
101
|
const { contactType, id: contact } = contactData
|
|
99
102
|
confirm.require({
|
|
100
103
|
target: event.currentTarget,
|
|
101
|
-
message:
|
|
104
|
+
message: t('connected.confirmDisconnectContact', { type: t(`connected.${contactType.contactType}`), contact }),
|
|
102
105
|
icon: 'pi pi-info-circle',
|
|
103
106
|
acceptClass: 'p-button-danger',
|
|
104
107
|
accept: async () => {
|
|
105
108
|
const upperCaseType = contactType.contactType[0].toUpperCase() + contactType.contactType.slice(1)
|
|
106
109
|
workingZone.addPromise('disconnectContact', (async () => {
|
|
107
110
|
await messageAuthenticationApi['disconnect'+upperCaseType]({ [contactType.contactType]: contact })
|
|
108
|
-
toast.add({ severity: 'info', summary: '
|
|
111
|
+
toast.add({ severity: 'info', summary: t('connected.accountDisconnected'), life: 1500 })
|
|
109
112
|
})())
|
|
110
113
|
},
|
|
111
114
|
reject: () => {
|
|
112
|
-
toast.add({ severity: 'error', summary: '
|
|
115
|
+
toast.add({ severity: 'error', summary: t('common.rejected'), detail: t('common.rejectedDetail'), life: 3000 })
|
|
113
116
|
}
|
|
114
117
|
})
|
|
115
118
|
}
|
|
@@ -118,18 +121,18 @@
|
|
|
118
121
|
const { accountType, id: account } = contactData
|
|
119
122
|
confirm.require({
|
|
120
123
|
target: event.currentTarget,
|
|
121
|
-
message:
|
|
124
|
+
message: t('connected.confirmDisconnectAccount', { type: t(`connected.${accountType.accountType}`), account: name || account }),
|
|
122
125
|
icon: 'pi pi-info-circle',
|
|
123
126
|
acceptClass: 'p-button-danger',
|
|
124
127
|
accept: async () => {
|
|
125
128
|
const upperCaseType = accountType.accountType[0].toUpperCase() + accountType.accountType.slice(1)
|
|
126
129
|
workingZone.addPromise('disconnectAccount', (async () => {
|
|
127
130
|
await api.actions[accountType.accountType+'Authentication']['disconnect'+upperCaseType]({ account })
|
|
128
|
-
toast.add({ severity: 'info', summary: '
|
|
131
|
+
toast.add({ severity: 'info', summary: t('connected.accountDisconnected'), life: 1500 })
|
|
129
132
|
})())
|
|
130
133
|
},
|
|
131
134
|
reject: () => {
|
|
132
|
-
toast.add({ severity: 'error', summary: '
|
|
135
|
+
toast.add({ severity: 'error', summary: t('common.rejected'), detail: t('common.rejectedDetail'), life: 3000 })
|
|
133
136
|
}
|
|
134
137
|
})
|
|
135
138
|
}
|
|
@@ -17,8 +17,11 @@
|
|
|
17
17
|
|
|
18
18
|
const { account } = toRefs(props)
|
|
19
19
|
|
|
20
|
+
import { useI18n } from 'vue-i18n'
|
|
21
|
+
const { t } = useI18n()
|
|
22
|
+
|
|
20
23
|
const cleanAccountInfo = computed(() => {
|
|
21
|
-
if(!account.value) return
|
|
24
|
+
if(!account.value) return t('connected.unknownAccount')
|
|
22
25
|
const { accountType, ...rest } = account.value
|
|
23
26
|
return { ...rest, accountType: accountType.accountType }
|
|
24
27
|
})
|
|
@@ -3,24 +3,23 @@
|
|
|
3
3
|
|
|
4
4
|
<div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
|
|
5
5
|
<div class="text-center mb-8">
|
|
6
|
-
<div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
|
|
6
|
+
<div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">{{ t('deleteAccount.deleteAccount') }}</div>
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
9
|
<div v-if="client.user">
|
|
10
10
|
<p>
|
|
11
|
-
|
|
12
|
-
100% sure that you want to delete your account.
|
|
11
|
+
{{ t('deleteAccount.warning') }}
|
|
13
12
|
</p>
|
|
14
13
|
<div class="p-field-checkbox mb-4">
|
|
15
14
|
<Checkbox id="deleteCheckbox" v-model="wantDelete" :binary="true" />
|
|
16
|
-
<label for="deleteCheckbox" class="ml-2">
|
|
15
|
+
<label for="deleteCheckbox" class="ml-2">{{ t('deleteAccount.confirmCheckbox') }}</label>
|
|
17
16
|
</div>
|
|
18
17
|
|
|
19
|
-
<Button id="delete" label="
|
|
18
|
+
<Button id="delete" :label="t('deleteAccount.deleteAccount')" icon="pi pi-user-minus" class="p-button-lg"
|
|
20
19
|
:disabled="!wantDelete" @click="deleteUser" />
|
|
21
20
|
</div>
|
|
22
21
|
<div v-else>
|
|
23
|
-
|
|
22
|
+
{{ t('deleteAccount.alreadyDeleted') }}
|
|
24
23
|
</div>
|
|
25
24
|
</div>
|
|
26
25
|
</div>
|
|
@@ -37,6 +36,9 @@
|
|
|
37
36
|
import { useClient } from '@live-change/vue3-ssr'
|
|
38
37
|
const client = useClient()
|
|
39
38
|
|
|
39
|
+
import { useI18n } from 'vue-i18n'
|
|
40
|
+
const { t } = useI18n()
|
|
41
|
+
|
|
40
42
|
const workingZone = inject('workingZone')
|
|
41
43
|
|
|
42
44
|
const wantDelete = ref(false)
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="w-full lg:w-6/12 md:w-9/12 max-w-[32rem]" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
|
|
3
3
|
<div class="bg-surface-0 dark:bg-surface-900 rounded-border shadow p-6">
|
|
4
|
-
<div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl mb-6">
|
|
5
|
-
<p class="mt-0 p-0 leading-normal">
|
|
4
|
+
<div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl mb-6">{{ t('deleteAccount.feedbackSent') }}</div>
|
|
5
|
+
<p class="mt-0 p-0 leading-normal">{{ t('deleteAccount.thankYou') }}</p>
|
|
6
6
|
</div>
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
10
|
<script setup>
|
|
11
|
-
|
|
11
|
+
import { useI18n } from 'vue-i18n'
|
|
12
|
+
const { t } = useI18n()
|
|
12
13
|
</script>
|
|
13
14
|
|
|
14
15
|
<style>
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
<div class="w-full lg:w-6/12 md:w-9/12 max-w-[32rem]" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
|
|
3
3
|
<div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
|
|
4
4
|
<div class="text-center mb-8">
|
|
5
|
-
<div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
|
|
5
|
+
<div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">{{ t('deleteAccount.accountDeleted') }}</div>
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
8
|
<div class="mb-4">
|
|
9
|
-
|
|
9
|
+
{{ t('deleteAccount.feedbackRequest') }}
|
|
10
10
|
</div>
|
|
11
11
|
|
|
12
12
|
<Textarea class="w-full" :autoResize="true" rows="4" cols="30" />
|
|
13
13
|
<div class="flex flex-row items-end">
|
|
14
|
-
<Button label="
|
|
14
|
+
<Button :label="t('deleteAccount.send')" icon="pi pi-send" class="ml-auto p-button-lg"></Button>
|
|
15
15
|
</div>
|
|
16
16
|
|
|
17
17
|
</div>
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
import Divider from "primevue/divider"
|
|
26
26
|
import Textarea from "primevue/textarea"
|
|
27
27
|
|
|
28
|
+
import { useI18n } from 'vue-i18n'
|
|
29
|
+
const { t } = useI18n()
|
|
30
|
+
|
|
28
31
|
</script>
|
|
29
32
|
|
|
30
33
|
<style>
|