@live-change/user-frontend 0.9.133 → 0.9.135

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.
@@ -42,7 +42,20 @@
42
42
  "goBack": "Go back",
43
43
  "tryAgain": "Try again",
44
44
  "confirmEmail": "Confirm email",
45
- "confirmPhone": "Confirm phone"
45
+ "confirmPhone": "Confirm phone",
46
+ "signedIn": "Signed In",
47
+ "signInSuccess": "Congratulations! You have successfully logged in to your account.",
48
+ "signedUp": "Signed Up",
49
+ "signUpSuccess": "Congratulations! You have successfully created your account.",
50
+ "canSetPassword": "You can now set password to secure your account.",
51
+ "setupProfile": "Setup your",
52
+ "profile": "profile",
53
+ "orReturnTo": "or return to the",
54
+ "indexPage": "index page",
55
+ "returnToIndex": "Return to",
56
+ "redirectIn": "Redirect in {seconds}...",
57
+ "signedOut": "Signed Out",
58
+ "signOutSuccess": "You have successfully signed out from your account."
46
59
  },
47
60
  "errors": {
48
61
  "emailTaken": "Email is already registered, try to sign-in.",
@@ -138,6 +151,7 @@
138
151
  "view": "View",
139
152
  "close": "Close",
140
153
  "ok": "OK",
154
+ "next": "Next",
141
155
  "testIndex": "Test Index",
142
156
  "addTestNotification": "Add test notification",
143
157
  "rejected": "Rejected",
@@ -153,5 +167,73 @@
153
167
  "send": "Send",
154
168
  "feedbackSent": "Feedback sent",
155
169
  "thankYou": "Thank you for your feedback."
170
+ },
171
+ "nav": {
172
+ "profile": "Profile",
173
+ "signUp": "Sign Up",
174
+ "signIn": "Sign In",
175
+ "settings": "Settings",
176
+ "signOut": "Sign Out"
177
+ },
178
+ "notifications": {
179
+ "notificationsSettings": "Notifications settings",
180
+ "web": "Web",
181
+ "settingsSaved": "Notification settings saved",
182
+ "notifications": "Notifications",
183
+ "markAllAsRead": "Mark all as read",
184
+ "notificationsRead": "Notifications read",
185
+ "allMarkedAsRead": "All notifications have been marked as read",
186
+ "deleteAll": "Delete all",
187
+ "notificationsDeleted": "Notifications deleted",
188
+ "allDeleted": "All notifications have been deleted",
189
+ "notificationRead": "Notification read",
190
+ "markedAsRead": "Notification has been marked as read",
191
+ "notificationUnread": "Notification unread",
192
+ "markedAsUnread": "Notification has been marked as unread",
193
+ "notificationDeleted": "Notification deleted",
194
+ "hasBeenDeleted": "Notification has been deleted",
195
+ "unknownNotification": "Unknown notification {type}!",
196
+ "types": {
197
+ "accessControl_Invitation": {
198
+ "name": "Access Control Invitation"
199
+ }
200
+ }
201
+ },
202
+ "emailTemplates": {
203
+ "hello": "Hello!",
204
+ "clickButtonBelow": "Or click the button below:",
205
+ "confirmEmail": "Confirm email",
206
+ "copyAddressInstruction": "Or copy this address to your browser address bar:",
207
+ "clickLinkInstruction": "Or please click link below or copy address to your browser address bar:",
208
+ "letUsKnow": "Let us know in case it's not you.",
209
+ "seeYouSoon": "See you soon",
210
+ "teamSignature": "{brandName} Team",
211
+ "signUp": {
212
+ "subject": "Confirm your email address.",
213
+ "description": "We are glad to see you have just signed up with your email. In order to confirm that, please enter secret code:",
214
+ "textDescription": "We are glad to see you have just signed up with your email. In order to confirm that, please enter secret code:"
215
+ },
216
+ "signIn": {
217
+ "subject": "Confirm your email address.",
218
+ "description": "We are glad to see you have just signed in with your email. In order to confirm that, please enter secret code:",
219
+ "textDescription": "We are glad to see you have just signed in with your email. In order to confirm that, please enter secret code:"
220
+ },
221
+ "connect": {
222
+ "subject": "Confirm your email address.",
223
+ "description": "You are trying to connect this email address to your account. In order to confirm that, please enter secret code:",
224
+ "textDescription": "You are trying to connect this email address to your account. In order to confirm that, please enter secret code:"
225
+ },
226
+ "resetPassword": {
227
+ "subject": "Confirm your email address.",
228
+ "description": "You are trying to reset password to your account. In order to confirm that, please enter secret code:",
229
+ "textDescription": "You are trying to reset password to your account. In order to confirm that, please enter secret code:"
230
+ }
231
+ },
232
+ "smsTemplates": {
233
+ "hello": "Hello!",
234
+ "enterCode": "Enter authentication code:",
235
+ "openLink": "Or open authentication link:",
236
+ "seeYouSoon": "See you soon",
237
+ "teamSignature": "{brandName} Team"
156
238
  }
157
239
  }
@@ -42,7 +42,20 @@
42
42
  "goBack": "Wróć",
43
43
  "tryAgain": "Spróbuj ponownie",
44
44
  "confirmEmail": "Potwierdź email",
45
- "confirmPhone": "Potwierdź telefon"
45
+ "confirmPhone": "Potwierdź telefon",
46
+ "signedIn": "Zalogowany",
47
+ "signInSuccess": "Gratulacje! Pomyślnie zalogowałeś się do swojego konta.",
48
+ "signedUp": "Zarejestrowany",
49
+ "signUpSuccess": "Gratulacje! Pomyślnie utworzyłeś swoje konto.",
50
+ "canSetPassword": "Możesz teraz ustawić hasło, aby zabezpieczyć swoje konto.",
51
+ "setupProfile": "Skonfiguruj swój",
52
+ "profile": "profil",
53
+ "orReturnTo": "lub wróć do",
54
+ "indexPage": "strony głównej",
55
+ "returnToIndex": "Wróć do",
56
+ "redirectIn": "Przekierowanie za {seconds}...",
57
+ "signedOut": "Wylogowany",
58
+ "signOutSuccess": "Pomyślnie wylogowałeś się ze swojego konta."
46
59
  },
47
60
  "errors": {
48
61
  "emailTaken": "Email jest już zarejestrowany, spróbuj się zalogować.",
@@ -138,6 +151,7 @@
138
151
  "view": "Pokaż",
139
152
  "close": "Zamknij",
140
153
  "ok": "OK",
154
+ "next": "Dalej",
141
155
  "testIndex": "Indeks testowy",
142
156
  "addTestNotification": "Dodaj testowe powiadomienie",
143
157
  "rejected": "Odrzucone",
@@ -153,5 +167,73 @@
153
167
  "send": "Wyślij",
154
168
  "feedbackSent": "Opinia wysłana",
155
169
  "thankYou": "Dziękujemy za Twoją opinię."
170
+ },
171
+ "nav": {
172
+ "profile": "Profil",
173
+ "signUp": "Zarejestruj się",
174
+ "signIn": "Zaloguj się",
175
+ "settings": "Ustawienia",
176
+ "signOut": "Wyloguj się"
177
+ },
178
+ "notifications": {
179
+ "notificationsSettings": "Ustawienia powiadomień",
180
+ "web": "Sieć",
181
+ "settingsSaved": "Ustawienia powiadomień zapisane",
182
+ "notifications": "Powiadomienia",
183
+ "markAllAsRead": "Oznacz wszystkie jako przeczytane",
184
+ "notificationsRead": "Powiadomienia przeczytane",
185
+ "allMarkedAsRead": "Wszystkie powiadomienia zostały oznaczone jako przeczytane",
186
+ "deleteAll": "Usuń wszystkie",
187
+ "notificationsDeleted": "Powiadomienia usunięte",
188
+ "allDeleted": "Wszystkie powiadomienia zostały usunięte",
189
+ "notificationRead": "Powiadomienie przeczytane",
190
+ "markedAsRead": "Powiadomienie zostało oznaczone jako przeczytane",
191
+ "notificationUnread": "Powiadomienie nieprzeczytane",
192
+ "markedAsUnread": "Powiadomienie zostało oznaczone jako nieprzeczytane",
193
+ "notificationDeleted": "Powiadomienie usunięte",
194
+ "hasBeenDeleted": "Powiadomienie zostało usunięte",
195
+ "unknownNotification": "Nieznane powiadomienie {type}!",
196
+ "types": {
197
+ "accessControl_Invitation": {
198
+ "name": "Zaproszenie do kontroli dostępu"
199
+ }
200
+ }
201
+ },
202
+ "emailTemplates": {
203
+ "hello": "Witaj!",
204
+ "clickButtonBelow": "Lub kliknij przycisk poniżej:",
205
+ "confirmEmail": "Potwierdź email",
206
+ "copyAddressInstruction": "Lub skopiuj ten adres do paska adresu przeglądarki:",
207
+ "clickLinkInstruction": "Lub kliknij link poniżej albo skopiuj adres do paska adresu przeglądarki:",
208
+ "letUsKnow": "Daj nam znać, jeśli to nie ty.",
209
+ "seeYouSoon": "Do zobaczenia",
210
+ "teamSignature": "Zespół {brandName}",
211
+ "signUp": {
212
+ "subject": "Potwierdź swój adres email.",
213
+ "description": "Cieszymy się, że właśnie zarejestrowałeś się swoim emailem. Aby to potwierdzić, wprowadź tajny kod:",
214
+ "textDescription": "Cieszymy się, że właśnie zarejestrowałeś się swoim emailem. Aby to potwierdzić, wprowadź tajny kod:"
215
+ },
216
+ "signIn": {
217
+ "subject": "Potwierdź swój adres email.",
218
+ "description": "Cieszymy się, że właśnie zalogowałeś się swoim emailem. Aby to potwierdzić, wprowadź tajny kod:",
219
+ "textDescription": "Cieszymy się, że właśnie zalogowałeś się swoim emailem. Aby to potwierdzić, wprowadź tajny kod:"
220
+ },
221
+ "connect": {
222
+ "subject": "Potwierdź swój adres email.",
223
+ "description": "Próbujesz połączyć ten adres email ze swoim kontem. Aby to potwierdzić, wprowadź tajny kod:",
224
+ "textDescription": "Próbujesz połączyć ten adres email ze swoim kontem. Aby to potwierdzić, wprowadź tajny kod:"
225
+ },
226
+ "resetPassword": {
227
+ "subject": "Potwierdź swój adres email.",
228
+ "description": "Próbujesz zresetować hasło do swojego konta. Aby to potwierdzić, wprowadź tajny kod:",
229
+ "textDescription": "Próbujesz zresetować hasło do swojego konta. Aby to potwierdzić, wprowadź tajny kod:"
230
+ }
231
+ },
232
+ "smsTemplates": {
233
+ "hello": "Witaj!",
234
+ "enterCode": "Wprowadź kod uwierzytelniania:",
235
+ "openLink": "Lub otwórz link uwierzytelniania:",
236
+ "seeYouSoon": "Do zobaczenia",
237
+ "teamSignature": "Zespół {brandName}"
156
238
  }
157
239
  }
@@ -2,51 +2,49 @@
2
2
  <pre data-headers>{{ JSON.stringify(metadata, null, ' ') }}</pre>
3
3
  <div data-html class="message m-12">
4
4
  <p class="text-lg">
5
- Hello!
5
+ {{ t('emailTemplates.hello') }}
6
6
  </p>
7
7
  <p>
8
- You are trying to connect this email address to your account.
9
- In order to confirm that, please enter secret code:
8
+ {{ t('emailTemplates.connect.description') }}
10
9
  </p>
11
10
  <p class="text-3xl font-medium">{{ code }}</p>
12
11
  <p>
13
- Or click the button below:
12
+ {{ t('emailTemplates.clickButtonBelow') }}
14
13
  </p>
15
14
  <div>
16
15
  <a :href="linkAddress" class="no-underline">
17
- <Button label="Confirm email" class="p-button-lg cursor-pointer" />
16
+ <Button :label="t('emailTemplates.confirmEmail')" class="p-button-lg cursor-pointer" />
18
17
  </a>
19
18
  </div>
20
19
  <p>
21
- Or copy this address to your browser address bar:<br>
20
+ {{ t('emailTemplates.copyAddressInstruction') }}<br>
22
21
  <a :href="linkAddress">
23
22
  {{ linkAddress }}
24
23
  </a>
25
24
  </p>
26
25
  <p>
27
- Let us know in case it's not you.
26
+ {{ t('emailTemplates.letUsKnow') }}
28
27
  </p>
29
28
  <p>
30
- See you soon<br>
31
- {{ brandName }} Team
29
+ {{ t('emailTemplates.seeYouSoon') }}<br>
30
+ {{ t('emailTemplates.teamSignature', { brandName }) }}
32
31
  </p>
33
32
  <img src="/images/logo128.png">
34
33
  </div>
35
34
  <pre class="message" data-text>
36
- Hello!
35
+ {{ t('emailTemplates.hello') }}
37
36
 
38
- You are trying to connect this email address to your account.
39
- In order to confirm that, please enter secret code:
37
+ {{ t('emailTemplates.connect.textDescription') }}
40
38
  {{ code }}
41
39
 
42
- Or please click link below or copy address to your browser address bar:
40
+ {{ t('emailTemplates.clickLinkInstruction') }}
43
41
 
44
42
  {{ linkAddress }}
45
43
 
46
- Let us know in case it's not you.
44
+ {{ t('emailTemplates.letUsKnow') }}
47
45
 
48
- See you soon
49
- {{ brandName }} Team
46
+ {{ t('emailTemplates.seeYouSoon') }}
47
+ {{ t('emailTemplates.teamSignature', { brandName }) }}
50
48
  </pre>
51
49
  </template>
52
50
 
@@ -74,6 +72,15 @@
74
72
  const secretLink = secrets.find(secret => secret.type === 'link')
75
73
  const secretCode = secrets.find(secret => secret.type === 'code')
76
74
 
75
+ const owner = { sessionOrUserType: 'user_User', sessionOrUser: data.user }
76
+ import { useLocale } from "@live-change/vue3-components"
77
+ const locale = useLocale()
78
+ const localePromise = locale.getOtherOwnerLocale(owner)
79
+ await Promise.all([localePromise])
80
+ import { useI18n } from 'vue-i18n'
81
+ const { locale: i18nLocale, t } = useI18n()
82
+ if(locale.getLanguage()) i18nLocale.value = locale.getLanguage()
83
+
77
84
  import { useHead } from '@vueuse/head'
78
85
  useHead({ htmlAttrs: { class: 'email-rendering' } })
79
86
 
@@ -86,7 +93,7 @@
86
93
 
87
94
  const metadata = {
88
95
  from: `${brandName} <admin@${brandDomain}>`,
89
- subject: 'Confirm your email address.',
96
+ subject: t('emailTemplates.connect.subject'),
90
97
  to: contact
91
98
  }
92
99
 
@@ -2,51 +2,49 @@
2
2
  <pre data-headers>{{ JSON.stringify(metadata, null, ' ') }}</pre>
3
3
  <div data-html class="message m-12">
4
4
  <p class="text-lg">
5
- Hello!
5
+ {{ t('emailTemplates.hello') }}
6
6
  </p>
7
7
  <p>
8
- You are trying to reset password to your account.
9
- In order to confirm that, please enter secret code:
8
+ {{ t('emailTemplates.resetPassword.description') }}
10
9
  </p>
11
10
  <p class="text-3xl font-medium">{{ code }}</p>
12
11
  <p>
13
- Or click the button below:
12
+ {{ t('emailTemplates.clickButtonBelow') }}
14
13
  </p>
15
14
  <div>
16
15
  <a :href="linkAddress" class="no-underline">
17
- <Button label="Confirm email" class="p-button-lg cursor-pointer" />
16
+ <Button :label="t('emailTemplates.confirmEmail')" class="p-button-lg cursor-pointer" />
18
17
  </a>
19
18
  </div>
20
19
  <p>
21
- Or copy this address to your browser address bar:<br>
20
+ {{ t('emailTemplates.copyAddressInstruction') }}<br>
22
21
  <a :href="linkAddress">
23
22
  {{ linkAddress }}
24
23
  </a>
25
24
  </p>
26
25
  <p>
27
- Let us know in case it's not you.
26
+ {{ t('emailTemplates.letUsKnow') }}
28
27
  </p>
29
28
  <p>
30
- See you soon<br>
31
- {{ brandName }} Team
29
+ {{ t('emailTemplates.seeYouSoon') }}<br>
30
+ {{ t('emailTemplates.teamSignature', { brandName }) }}
32
31
  </p>
33
32
  <img src="/images/logo128.png">
34
33
  </div>
35
34
  <pre class="message" data-text>
36
- Hello!
35
+ {{ t('emailTemplates.hello') }}
37
36
 
38
- You are trying to reset password to your account.
39
- In order to confirm that, please enter secret code:
37
+ {{ t('emailTemplates.resetPassword.textDescription') }}
40
38
  {{ code }}
41
39
 
42
- Or please click link below or copy address to your browser address bar:
40
+ {{ t('emailTemplates.clickLinkInstruction') }}
43
41
 
44
42
  {{ linkAddress }}
45
43
 
46
- Let us know in case it's not you.
44
+ {{ t('emailTemplates.letUsKnow') }}
47
45
 
48
- See you soon
49
- {{ brandName }} Team
46
+ {{ t('emailTemplates.seeYouSoon') }}
47
+ {{ t('emailTemplates.teamSignature', { brandName }) }}
50
48
  </pre>
51
49
  </template>
52
50
 
@@ -74,6 +72,15 @@
74
72
  const secretLink = secrets.find(secret => secret.type === 'link')
75
73
  const secretCode = secrets.find(secret => secret.type === 'code')
76
74
 
75
+ const owner = { sessionOrUserType: 'user_User', sessionOrUser: data.user }
76
+ import { useLocale } from "@live-change/vue3-components"
77
+ const locale = useLocale()
78
+ const localePromise = locale.getOtherOwnerLocale(owner)
79
+ await Promise.all([localePromise])
80
+ import { useI18n } from 'vue-i18n'
81
+ const { locale: i18nLocale, t } = useI18n()
82
+ if(locale.getLanguage()) i18nLocale.value = locale.getLanguage()
83
+
77
84
  import { useHead } from '@vueuse/head'
78
85
  useHead({ htmlAttrs: { class: 'email-rendering' } })
79
86
 
@@ -86,7 +93,7 @@
86
93
 
87
94
  const metadata = {
88
95
  from: `${brandName} <admin@${brandDomain}>`,
89
- subject: 'Confirm your email address.',
96
+ subject: t('emailTemplates.resetPassword.subject'),
90
97
  to: contact
91
98
  }
92
99
 
@@ -2,51 +2,49 @@
2
2
  <pre data-headers>{{ JSON.stringify(metadata, null, ' ') }}</pre>
3
3
  <div data-html class="message m-12">
4
4
  <p class="text-lg">
5
- Hello!
5
+ {{ t('emailTemplates.hello') }}
6
6
  </p>
7
7
  <p>
8
- We are glad to see you have just signed in with your email.
9
- In order to confirm that, please enter secret code:
8
+ {{ t('emailTemplates.signIn.description') }}
10
9
  </p>
11
10
  <p class="text-3xl font-medium">{{ code }}</p>
12
11
  <p>
13
- Or click the button below:
12
+ {{ t('emailTemplates.clickButtonBelow') }}
14
13
  </p>
15
14
  <div>
16
15
  <a :href="linkAddress" class="no-underline">
17
- <Button label="Confirm email" class="p-button-lg cursor-pointer" />
16
+ <Button :label="t('emailTemplates.confirmEmail')" class="p-button-lg cursor-pointer" />
18
17
  </a>
19
18
  </div>
20
19
  <p>
21
- Or copy this address to your browser address bar:<br>
20
+ {{ t('emailTemplates.copyAddressInstruction') }}<br>
22
21
  <a :href="linkAddress">
23
22
  {{ linkAddress }}
24
23
  </a>
25
24
  </p>
26
25
  <p>
27
- Let us know in case it's not you.
26
+ {{ t('emailTemplates.letUsKnow') }}
28
27
  </p>
29
28
  <p>
30
- See you soon<br>
31
- {{ brandName }} Team
29
+ {{ t('emailTemplates.seeYouSoon') }}<br>
30
+ {{ t('emailTemplates.teamSignature', { brandName }) }}
32
31
  </p>
33
32
  <img src="/images/logo128.png">
34
33
  </div>
35
34
  <pre class="message" data-text>
36
- Hello!
35
+ {{ t('emailTemplates.hello') }}
37
36
 
38
- We are glad to see you have just signed in with your email.
39
- In order to confirm that, please enter secret code:
37
+ {{ t('emailTemplates.signIn.textDescription') }}
40
38
  {{ code }}
41
39
 
42
- Or please click link below or copy address to your browser address bar:
40
+ {{ t('emailTemplates.clickLinkInstruction') }}
43
41
 
44
42
  {{ linkAddress }}
45
43
 
46
- Let us know in case it's not you.
44
+ {{ t('emailTemplates.letUsKnow') }}
47
45
 
48
- See you soon
49
- {{ brandName }} Team
46
+ {{ t('emailTemplates.seeYouSoon') }}
47
+ {{ t('emailTemplates.teamSignature', { brandName }) }}
50
48
  </pre>
51
49
  </template>
52
50
 
@@ -74,6 +72,15 @@
74
72
  const secretLink = secrets.find(secret => secret.type === 'link')
75
73
  const secretCode = secrets.find(secret => secret.type === 'code')
76
74
 
75
+ const owner = { sessionOrUserType: 'user_User', sessionOrUser: data.user }
76
+ import { useLocale } from "@live-change/vue3-components"
77
+ const locale = useLocale()
78
+ const localePromise = locale.getOtherOwnerLocale(owner)
79
+ await Promise.all([localePromise])
80
+ import { useI18n } from 'vue-i18n'
81
+ const { locale: i18nLocale, t } = useI18n()
82
+ if(locale.getLanguage()) i18nLocale.value = locale.getLanguage()
83
+
77
84
  import { useHead } from '@vueuse/head'
78
85
  useHead({ htmlAttrs: { class: 'email-rendering' } })
79
86
 
@@ -86,7 +93,7 @@
86
93
 
87
94
  const metadata = {
88
95
  from: `${brandName} <admin@${brandDomain}>`,
89
- subject: 'Confirm your email address.',
96
+ subject: t('emailTemplates.signIn.subject'),
90
97
  to: contact
91
98
  }
92
99
 
@@ -2,51 +2,49 @@
2
2
  <pre data-headers>{{ JSON.stringify(metadata, null, ' ') }}</pre>
3
3
  <div data-html class="message m-12">
4
4
  <p class="text-lg">
5
- Hello!
5
+ {{ t('emailTemplates.hello') }}
6
6
  </p>
7
7
  <p>
8
- We are glad to see you have just signed up with your email.
9
- In order to confirm that, please enter secret code:
8
+ {{ t('emailTemplates.signUp.description') }}
10
9
  </p>
11
10
  <p class="text-3xl font-medium">{{ code }}</p>
12
11
  <p>
13
- Or click the button below:
12
+ {{ t('emailTemplates.clickButtonBelow') }}
14
13
  </p>
15
14
  <div>
16
15
  <a :href="linkAddress" class="no-underline">
17
- <Button label="Confirm email" class="p-button-lg cursor-pointer" />
16
+ <Button :label="t('emailTemplates.confirmEmail')" class="p-button-lg cursor-pointer" />
18
17
  </a>
19
18
  </div>
20
19
  <p>
21
- Or copy this address to your browser address bar:<br>
20
+ {{ t('emailTemplates.copyAddressInstruction') }}<br>
22
21
  <a :href="linkAddress">
23
22
  {{ linkAddress }}
24
23
  </a>
25
24
  </p>
26
25
  <p>
27
- Let us know in case it's not you.
26
+ {{ t('emailTemplates.letUsKnow') }}
28
27
  </p>
29
28
  <p>
30
- See you soon<br>
31
- {{ brandName }} Team
29
+ {{ t('emailTemplates.seeYouSoon') }}<br>
30
+ {{ t('emailTemplates.teamSignature', { brandName }) }}
32
31
  </p>
33
32
  <img src="/images/logo128.png">
34
33
  </div>
35
34
  <pre class="message" data-text>
36
- Hello!
35
+ {{ t('emailTemplates.hello') }}
37
36
 
38
- We are glad to see you have just signed up with your email.
39
- In order to confirm that, please enter secret code:
37
+ {{ t('emailTemplates.signUp.textDescription') }}
40
38
  {{ code }}
41
39
 
42
- Or please click link below or copy address to your browser address bar:
40
+ {{ t('emailTemplates.clickLinkInstruction') }}
43
41
 
44
42
  {{ linkAddress }}
45
43
 
46
- Let us know in case it's not you.
44
+ {{ t('emailTemplates.letUsKnow') }}
47
45
 
48
- See you soon
49
- {{ brandName }} Team
46
+ {{ t('emailTemplates.seeYouSoon') }}
47
+ {{ t('emailTemplates.teamSignature', { brandName }) }}
50
48
  </pre>
51
49
  </template>
52
50
 
@@ -74,6 +72,15 @@
74
72
  const secretLink = secrets.find(secret => secret.type === 'link')
75
73
  const secretCode = secrets.find(secret => secret.type === 'code')
76
74
 
75
+ const owner = { sessionOrUserType: 'session_Session', sessionOrUser: data.session }
76
+ import { useLocale } from "@live-change/vue3-components"
77
+ const locale = useLocale()
78
+ const localePromise = locale.getOtherOwnerLocale(owner)
79
+ await Promise.all([localePromise])
80
+ import { useI18n } from 'vue-i18n'
81
+ const { locale: i18nLocale, t } = useI18n()
82
+ if(locale.getLanguage()) i18nLocale.value = locale.getLanguage()
83
+
77
84
  import { useHead } from '@vueuse/head'
78
85
  useHead({ htmlAttrs: { class: 'email-rendering' } })
79
86
 
@@ -86,7 +93,7 @@
86
93
 
87
94
  const metadata = {
88
95
  from: `${brandName} <admin@${brandDomain}>`,
89
- subject: 'Confirm your email address.',
96
+ subject: t('emailTemplates.signUp.subject'),
90
97
  to: contact
91
98
  }
92
99
 
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <pre data-headers>{{ JSON.stringify(metadata, null, ' ') }}</pre>
3
3
  <pre class="message" data-text>
4
- Hello! Enter authentication code: {{ code }}
5
- Or open authentication link: {{ linkAddress }}
6
- See you soon
7
- {{ brandName }} Team
4
+ {{ t('smsTemplates.hello') }} {{ t('smsTemplates.enterCode') }} {{ code }}
5
+ {{ t('smsTemplates.openLink') }} {{ linkAddress }}
6
+ {{ t('smsTemplates.seeYouSoon') }}
7
+ {{ t('smsTemplates.teamSignature', { brandName }) }}
8
8
  </pre>
9
9
  </template>
10
10
 
@@ -30,9 +30,17 @@
30
30
  const secrets = data.secrets
31
31
 
32
32
  const secretLink = secrets.find(secret => secret.type === 'link')
33
-
34
33
  const secretCode = secrets.find(secret => secret.type === 'code')
35
34
 
35
+ const owner = { sessionOrUserType: 'user_User', sessionOrUser: data.user }
36
+ import { useLocale } from "@live-change/vue3-components"
37
+ const locale = useLocale()
38
+ const localePromise = locale.getOtherOwnerLocale(owner)
39
+ await Promise.all([localePromise])
40
+ import { useI18n } from 'vue-i18n'
41
+ const { locale: i18nLocale, t } = useI18n()
42
+ if(locale.getLanguage()) i18nLocale.value = locale.getLanguage()
43
+
36
44
  import { useApi } from '@live-change/vue3-ssr'
37
45
  const api = useApi()
38
46
 
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <pre data-headers>{{ JSON.stringify(metadata, null, ' ') }}</pre>
3
3
  <pre class="message" data-text>
4
- Hello! Enter authentication code: {{ code }}
5
- Or open authentication link: {{ linkAddress }}
6
- See you soon
7
- {{ brandName }} Team
4
+ {{ t('smsTemplates.hello') }} {{ t('smsTemplates.enterCode') }} {{ code }}
5
+ {{ t('smsTemplates.openLink') }} {{ linkAddress }}
6
+ {{ t('smsTemplates.seeYouSoon') }}
7
+ {{ t('smsTemplates.teamSignature', { brandName }) }}
8
8
  </pre>
9
9
  </template>
10
10
 
@@ -28,9 +28,17 @@
28
28
  const secrets = data.secrets
29
29
 
30
30
  const secretLink = secrets.find(secret => secret.type === 'link')
31
-
32
31
  const secretCode = secrets.find(secret => secret.type === 'code')
33
32
 
33
+ const owner = { sessionOrUserType: 'user_User', sessionOrUser: data.user }
34
+ import { useLocale } from "@live-change/vue3-components"
35
+ const locale = useLocale()
36
+ const localePromise = locale.getOtherOwnerLocale(owner)
37
+ await Promise.all([localePromise])
38
+ import { useI18n } from 'vue-i18n'
39
+ const { locale: i18nLocale, t } = useI18n()
40
+ if(locale.getLanguage()) i18nLocale.value = locale.getLanguage()
41
+
34
42
  import { useApi } from '@live-change/vue3-ssr'
35
43
  const api = useApi()
36
44
 
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <pre data-headers>{{ JSON.stringify(metadata, null, ' ') }}</pre>
3
3
  <pre class="message" data-text>
4
- Hello! Enter authentication code: {{ code }}
5
- Or open authentication link: {{ linkAddress }}
6
- See you soon
7
- {{ brandName }} Team
4
+ {{ t('smsTemplates.hello') }} {{ t('smsTemplates.enterCode') }} {{ code }}
5
+ {{ t('smsTemplates.openLink') }} {{ linkAddress }}
6
+ {{ t('smsTemplates.seeYouSoon') }}
7
+ {{ t('smsTemplates.teamSignature', { brandName }) }}
8
8
  </pre>
9
9
  </template>
10
10
 
@@ -30,6 +30,14 @@
30
30
  const secretLink = secrets.find(secret => secret.type === 'link')
31
31
  const secretCode = secrets.find(secret => secret.type === 'code')
32
32
 
33
+ const owner = { sessionOrUserType: 'user_User', sessionOrUser: data.user }
34
+ import { useLocale } from "@live-change/vue3-components"
35
+ const locale = useLocale()
36
+ const localePromise = locale.getOtherOwnerLocale(owner)
37
+ await Promise.all([localePromise])
38
+ import { useI18n } from 'vue-i18n'
39
+ const { locale: i18nLocale, t } = useI18n()
40
+ if(locale.getLanguage()) i18nLocale.value = locale.getLanguage()
33
41
 
34
42
  import { useApi } from '@live-change/vue3-ssr'
35
43
  const api = useApi()
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <pre data-headers>{{ JSON.stringify(metadata, null, ' ') }}</pre>
3
3
  <pre class="message" data-text>
4
- Hello! Enter authentication code: {{ code }}
5
- Or open authentication link: {{ linkAddress }}
6
- See you soon
7
- {{ brandName }} Team
4
+ {{ t('smsTemplates.hello') }} {{ t('smsTemplates.enterCode') }} {{ code }}
5
+ {{ t('smsTemplates.openLink') }} {{ linkAddress }}
6
+ {{ t('smsTemplates.seeYouSoon') }}
7
+ {{ t('smsTemplates.teamSignature', { brandName }) }}
8
8
  </pre>
9
9
  </template>
10
10
 
@@ -30,6 +30,14 @@
30
30
  const secretLink = secrets.find(secret => secret.type === 'link')
31
31
  const secretCode = secrets.find(secret => secret.type === 'code')
32
32
 
33
+ const owner = { sessionOrUserType: 'session_Session', sessionOrUser: data.session }
34
+ import { useLocale } from "@live-change/vue3-components"
35
+ const locale = useLocale()
36
+ const localePromise = locale.getOtherOwnerLocale(owner)
37
+ await Promise.all([localePromise])
38
+ import { useI18n } from 'vue-i18n'
39
+ const { locale: i18nLocale, t } = useI18n()
40
+ if(locale.getLanguage()) i18nLocale.value = locale.getLanguage()
33
41
 
34
42
  import { useApi } from '@live-change/vue3-ssr'
35
43
  const api = useApi()
@@ -10,7 +10,7 @@
10
10
  transition-colors duration-300 ease-in-out"
11
11
  >
12
12
  <i class="pi pi-user mr-3"></i>
13
- <span>Profile</span>
13
+ <span>{{ t('nav.profile') }}</span>
14
14
  </router-link>
15
15
  </li>
16
16
  <li v-if="!client.user">
@@ -23,7 +23,7 @@
23
23
  transition-colors duration-300 ease-in-out"
24
24
  >
25
25
  <i class="pi pi-user-plus mr-3"></i>
26
- <span>Sign Up</span>
26
+ <span>{{ t('nav.signUp') }}</span>
27
27
  </router-link>
28
28
  </li>
29
29
  <li v-if="!client.user">
@@ -36,7 +36,7 @@
36
36
  transition-colors duration-300 ease-in-out"
37
37
  >
38
38
  <i class="pi pi-key mr-3"></i>
39
- <span>Sign In</span>
39
+ <span>{{ t('nav.signIn') }}</span>
40
40
  </router-link>
41
41
  </li>
42
42
  <li v-if="client.user">
@@ -49,7 +49,7 @@
49
49
  transition-colors duration-300 ease-in-out"
50
50
  >
51
51
  <i class="pi pi-cog mr-3"></i>
52
- <span>Settings</span>
52
+ <span>{{ t('nav.settings') }}</span>
53
53
  </router-link>
54
54
  </li>
55
55
  <li v-if="client.user">
@@ -62,7 +62,7 @@
62
62
  transition-colors duration-300 ease-in-out"
63
63
  >
64
64
  <i class="pi pi-power-off mr-3"></i>
65
- <span>Sign Out</span>
65
+ <span>{{ t('nav.signOut') }}</span>
66
66
  </router-link>
67
67
  </li>
68
68
  </ul>
@@ -74,6 +74,9 @@
74
74
  import { client as useClient } from '@live-change/vue3-ssr'
75
75
  import { toRefs } from '@vueuse/core'
76
76
 
77
+ import { useI18n } from 'vue-i18n'
78
+ const { t } = useI18n()
79
+
77
80
  const client = useClient()
78
81
 
79
82
  </script>
@@ -21,6 +21,9 @@
21
21
 
22
22
  import { inject, defineProps, defineExpose } from "vue"
23
23
 
24
+ import { useI18n } from 'vue-i18n'
25
+ const { t } = useI18n()
26
+
24
27
  const { notification } = defineProps({
25
28
  notification: {
26
29
  type: Object,
@@ -36,8 +39,8 @@
36
39
  workingZone.addPromise('markNotificationRead', (async () => {
37
40
  await notificationApi.markRead({ notification: notification.to || notification.id })
38
41
  toast.add({
39
- severity: 'success', summary: 'Notification read',
40
- detail:'Notification has been marked as read', life: 3000
42
+ severity: 'success', summary: t('notifications.notificationRead'),
43
+ detail: t('notifications.markedAsRead'), life: 3000
41
44
  })
42
45
  })())
43
46
  }
@@ -46,8 +49,8 @@
46
49
  workingZone.addPromise('markNotificationUnread', (async () => {
47
50
  await notificationApi.markUnread({ notification: notification.to || notification.id })
48
51
  toast.add({
49
- severity: 'success', summary: 'Notification unread',
50
- detail:'Notification has been marked as unread', life: 3000
52
+ severity: 'success', summary: t('notifications.notificationUnread'),
53
+ detail: t('notifications.markedAsUnread'), life: 3000
51
54
  })
52
55
  })())
53
56
  }
@@ -56,8 +59,8 @@
56
59
  workingZone.addPromise('deleteNotification', (async () => {
57
60
  await notificationApi.delete({ notification: notification.to || notification.id })
58
61
  toast.add({
59
- severity: 'warn', summary: 'Notification deleted',
60
- detail: 'Notification has been deleted', life: 3000
62
+ severity: 'warn', summary: t('notifications.notificationDeleted'),
63
+ detail: t('notifications.hasBeenDeleted'), life: 3000
61
64
  })
62
65
  })())
63
66
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="flex items-center justify-between mb-1 px-4 pt-1">
3
- <div class="text-surface-900 dark:text-surface-0 font-medium text-xl">Notifications</div>
3
+ <div class="text-surface-900 dark:text-surface-0 font-medium text-xl">{{ t('notifications.notifications') }}</div>
4
4
  <div>
5
5
  <Button @click="$refs.menu.toggle($event)"
6
6
  icon="pi pi-ellipsis-v" class="p-button-text p-button-plain p-button-rounded" />
@@ -42,6 +42,9 @@
42
42
 
43
43
  import { ref, inject } from 'vue'
44
44
 
45
+ import { useI18n } from 'vue-i18n'
46
+ const { t } = useI18n()
47
+
45
48
  const workingZone = inject('workingZone')
46
49
 
47
50
  import { notificationTypes } from "./notificationTypes.js"
@@ -66,27 +69,27 @@
66
69
 
67
70
  const menuItems = [
68
71
  {
69
- label: 'Mark all as read',
72
+ label: t('notifications.markAllAsRead'),
70
73
  icon: 'pi pi-check',
71
74
  command: () => {
72
75
  workingZone.addPromise('markNotification', (async () => {
73
76
  await notificationApi.markAllAsRead({ })
74
77
  toast.add({
75
- severity: 'success', summary:' Notifications read',
76
- detail:'all notifications have been marked as read', life: 3000
78
+ severity: 'success', summary: t('notifications.notificationsRead'),
79
+ detail: t('notifications.allMarkedAsRead'), life: 3000
77
80
  })
78
81
  })())
79
82
  }
80
83
  },
81
84
  {
82
- label: 'Delete all',
85
+ label: t('notifications.deleteAll'),
83
86
  icon: 'pi pi-times',
84
87
  command: () => {
85
88
  workingZone.addPromise('markNotification', (async () => {
86
89
  await notificationApi.deleteAll({ })
87
90
  toast.add({
88
- severity: 'warn', summary: 'Notifications deleted',
89
- detail: 'All notifications have been deleted', life: 3000
91
+ severity: 'warn', summary: t('notifications.notificationsDeleted'),
92
+ detail: t('notifications.allDeleted'), life: 3000
90
93
  })
91
94
  })())
92
95
  }
@@ -2,7 +2,7 @@
2
2
  <div class="w-full lg:w-6/12 md:w-9/12" 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>
5
- <h1>Notifications settings</h1>
5
+ <h1>{{ t('notifications.notificationsSettings') }}</h1>
6
6
  </div>
7
7
  <!-- <pre>{{ settings }}</pre>
8
8
  <pre>{{ clientConfig }}</pre> -->
@@ -56,7 +56,7 @@
56
56
  phone: 'pi-phone'
57
57
  }
58
58
  function contactText(contact, type) {
59
- if(type === 'web') return 'Web'
59
+ if(type === 'web') return t('notifications.web')
60
60
  return contact
61
61
  }
62
62
 
@@ -107,7 +107,7 @@
107
107
  notificationType, notification: notificationType
108
108
  },
109
109
  recursive: true,
110
- onSave: () => toast.add({ severity: 'info', summary: 'Notification settings saved', life: 1500 })
110
+ onSave: () => toast.add({ severity: 'info', summary: t('notifications.settingsSaved'), life: 1500 })
111
111
  }).value
112
112
  return {
113
113
  contactType,
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <SimpleNotification :notification="notification">
3
3
  <div class="text-orange-600 text-2xl">
4
- Unknown notification {{ notification.notificationType }}!
4
+ {{ t('notifications.unknownNotification', { type: notification.notificationType }) }}
5
5
  </div>
6
6
  <pre class="w-full overflow-hidden">{{ notification }}</pre>
7
7
  </SimpleNotification>
@@ -13,6 +13,9 @@
13
13
 
14
14
  import { toRefs, watch } from 'vue'
15
15
 
16
+ import { useI18n } from 'vue-i18n'
17
+ const { t } = useI18n()
18
+
16
19
  const props = defineProps({
17
20
  notification: {
18
21
  type: Object,
@@ -1,18 +1,18 @@
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">Signed In</div>
5
- <p class="mt-0 p-0 leading-normal">Congratulations! You have successfully logged in to your account.</p>
4
+ <div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl mb-6">{{ t('auth.signedIn') }}</div>
5
+ <p class="mt-0 p-0 leading-normal">{{ t('auth.signInSuccess') }}</p>
6
6
  <div v-if="afterSignIn" class="flex flex-row justify-center items-center">
7
7
  <router-link :to="afterSignIn" class="no-underline">
8
- <Button label="Next" v-ripple />
8
+ <Button :label="t('common.next')" v-ripple />
9
9
  </router-link>
10
10
  <p class="ml-6" v-if="isMounted && redirectTime">
11
- Redirect in {{ pluralize('second', Math.ceil((redirectTime - currentTime) / 1000), true) }}...
11
+ {{ t('auth.redirectIn', { seconds: pluralize('second', Math.ceil((redirectTime - currentTime) / 1000), true) }) }}
12
12
  </p>
13
13
  </div>
14
14
  <div v-else>
15
- Return to <router-link to="/">index page</router-link>.
15
+ {{ t('auth.returnToIndex') }} <router-link to="/">{{ t('auth.indexPage') }}</router-link>.
16
16
  </div>
17
17
  </div>
18
18
  </div>
@@ -40,6 +40,9 @@
40
40
  import { useToast } from 'primevue/usetoast'
41
41
  const toast = useToast()
42
42
 
43
+ import { useI18n } from 'vue-i18n'
44
+ const { t } = useI18n()
45
+
43
46
  const userClientConfig = api.getServiceDefinition('user')?.clientConfig
44
47
 
45
48
  const afterSignIn = ref()
@@ -61,8 +64,8 @@
61
64
  setTimeout(() => { // it could be next tick
62
65
  toast.add({
63
66
  severity: 'info', life: 6000,
64
- summary: 'Signed in',
65
- detail: 'Congratulations! You have successfully logged in to your account.'
67
+ summary: t('auth.signedIn'),
68
+ detail: t('auth.signInSuccess')
66
69
  })
67
70
  router.push(route)
68
71
  }, 100)
@@ -1,14 +1,17 @@
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">Signed Out</div>
5
- <p class="mt-0 p-0 leading-normal">You have successfully signed out from your account.</p>
4
+ <div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl mb-6">{{ t('auth.signedOut') }}</div>
5
+ <p class="mt-0 p-0 leading-normal">{{ t('auth.signOutSuccess') }}</p>
6
6
  </div>
7
7
  </div>
8
8
  </template>
9
9
 
10
10
  <script setup>
11
11
 
12
+ import { useI18n } from 'vue-i18n'
13
+ const { t } = useI18n()
14
+
12
15
  </script>
13
16
 
14
17
  <style>
@@ -3,26 +3,26 @@
3
3
  <div class="bg-surface-0 dark:bg-surface-900 rounded-border shadow p-6">
4
4
  <div class="text-center mb-8">
5
5
  <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
6
- Signed Up
6
+ {{ t('auth.signedUp') }}
7
7
  </div>
8
8
  </div>
9
9
  <p class="mt-0 p-0 leading-normal">
10
- Congratulations! You have successfully created your account.
10
+ {{ t('auth.signUpSuccess') }}
11
11
  <span v-if="needPassword && !afterSignIn">
12
- You can now set password to secure your account.
12
+ {{ t('auth.canSetPassword') }}
13
13
  </span>
14
14
  <div v-else-if="afterSignIn" class="flex flex-row justify-center items-center">
15
15
  <router-link :to="afterSignIn" class="no-underline">
16
- <Button label="Next" v-ripple />
16
+ <Button :label="t('common.next')" v-ripple />
17
17
  </router-link>
18
18
  <p class="ml-6" v-if="isMounted && redirectTime">
19
- Redirect in {{ pluralize('second', Math.ceil((redirectTime - currentTime) / 1000), true) }}...
19
+ {{ t('auth.redirectIn', { seconds: pluralize('second', Math.ceil((redirectTime - currentTime) / 1000), true) }) }}
20
20
  </p>
21
21
  </div>
22
22
  <p v-else>
23
23
 
24
- Setup your <router-link :to="{ name: 'user:identification' }">profile</router-link>
25
- or return to the <router-link to="/">index page</router-link>.
24
+ {{ t('auth.setupProfile') }} <router-link :to="{ name: 'user:identification' }">{{ t('auth.profile') }}</router-link>
25
+ {{ t('auth.orReturnTo') }} <router-link to="/">{{ t('auth.indexPage') }}</router-link>.
26
26
  </p>
27
27
  </p>
28
28
  </div>
@@ -30,7 +30,7 @@
30
30
  <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border mt-2" v-if="needPassword && !afterSignIn">
31
31
  <div class="text-center mb-8">
32
32
  <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">
33
- {{ passwordExists ? 'Change password' : 'Set password' }}
33
+ {{ passwordExists ? t('auth.changePassword') : t('auth.setPassword') }}
34
34
  </div>
35
35
  </div>
36
36
 
@@ -42,7 +42,7 @@
42
42
 
43
43
  <div class="p-field mb-4">
44
44
  <label for="newPassword" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">
45
- New password
45
+ {{ t('auth.newPassword') }}
46
46
  </label>
47
47
  <Password id="newPassword" class="w-full" inputClass="w-full"
48
48
  toggleMask v-model:masked="masked"
@@ -50,12 +50,12 @@
50
50
  v-model="data.passwordHash">
51
51
  <template #footer>
52
52
  <Divider />
53
- <p class="p-mt-2">Suggestions</p>
53
+ <p class="p-mt-2">{{ t('auth.passwordSuggestions') }}</p>
54
54
  <ul class="p-pl-2 p-ml-2 p-mt-0" style="line-height: 1.5">
55
- <li>At least one lowercase</li>
56
- <li>At least one uppercase</li>
57
- <li>At least one numeric</li>
58
- <li>Minimum 8 characters</li>
55
+ <li>{{ t('auth.suggestionLowercase') }}</li>
56
+ <li>{{ t('auth.suggestionUppercase') }}</li>
57
+ <li>{{ t('auth.suggestionNumeric') }}</li>
58
+ <li>{{ t('auth.suggestionMinLength') }}</li>
59
59
  </ul>
60
60
  </template>
61
61
  </Password>
@@ -65,7 +65,7 @@
65
65
  </div>
66
66
 
67
67
  <div class="p-field mb-4">
68
- <label for="reenterPassword" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">Re-enter password</label>
68
+ <label for="reenterPassword" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">{{ t('auth.reenterPassword') }}</label>
69
69
  <Password id="reenterPassword" class="w-full" inputClass="w-full"
70
70
  toggleMask v-model:masked="masked"
71
71
  v-model="secondPassword"
@@ -74,7 +74,7 @@
74
74
 
75
75
  </template>
76
76
 
77
- <Button :label="passwordExists ? 'Change password' : 'Set password'"
77
+ <Button :label="passwordExists ? t('auth.changePassword') : t('auth.setPassword')"
78
78
  type="submit"
79
79
  icon="pi pi-key" class="w-full"></Button>
80
80
 
@@ -158,8 +158,8 @@
158
158
  console.log("DO REDIRECT AFTER SIGN UP!", route)
159
159
  toast.add({
160
160
  severity: 'info', life: 6000,
161
- summary: 'Signed up',
162
- detail: 'Congratulations! You have successfully created your account.'
161
+ summary: t('auth.signedUp'),
162
+ detail: t('auth.signUpSuccess')
163
163
  })
164
164
  localStorage.removeItem('redirectAfterSignIn')
165
165
  router.push(route)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/user-frontend",
3
- "version": "0.9.133",
3
+ "version": "0.9.135",
4
4
  "scripts": {
5
5
  "memDev": "tsx --inspect --expose-gc server/start.js memDev --enableSessions --initScript ./init.js --dbAccess",
6
6
  "localDevInit": "tsx server/start.js localDev --enableSessions --initScript ./init.js --dbAccess",
@@ -36,29 +36,29 @@
36
36
  },
37
37
  "type": "module",
38
38
  "dependencies": {
39
- "@live-change/cli": "^0.9.133",
40
- "@live-change/dao": "^0.9.133",
41
- "@live-change/dao-vue3": "^0.9.133",
42
- "@live-change/dao-websocket": "^0.9.133",
43
- "@live-change/email-service": "^0.9.133",
44
- "@live-change/framework": "^0.9.133",
45
- "@live-change/identicon-service": "^0.9.133",
46
- "@live-change/image-frontend": "^0.9.133",
47
- "@live-change/message-authentication-service": "^0.9.133",
48
- "@live-change/notification-service": "^0.9.133",
49
- "@live-change/password-authentication-service": "^0.9.133",
50
- "@live-change/pattern": "^0.9.133",
51
- "@live-change/secret-code-service": "^0.9.133",
52
- "@live-change/secret-link-service": "^0.9.133",
53
- "@live-change/security-frontend": "^0.9.133",
54
- "@live-change/security-service": "^0.9.133",
55
- "@live-change/session-service": "^0.9.133",
56
- "@live-change/timer-service": "^0.9.133",
57
- "@live-change/upload-service": "^0.9.133",
58
- "@live-change/user-identification-service": "^0.9.133",
59
- "@live-change/user-service": "^0.9.133",
60
- "@live-change/vue3-components": "^0.9.133",
61
- "@live-change/vue3-ssr": "^0.9.133",
39
+ "@live-change/cli": "^0.9.135",
40
+ "@live-change/dao": "^0.9.135",
41
+ "@live-change/dao-vue3": "^0.9.135",
42
+ "@live-change/dao-websocket": "^0.9.135",
43
+ "@live-change/email-service": "^0.9.135",
44
+ "@live-change/framework": "^0.9.135",
45
+ "@live-change/identicon-service": "^0.9.135",
46
+ "@live-change/image-frontend": "^0.9.135",
47
+ "@live-change/message-authentication-service": "^0.9.135",
48
+ "@live-change/notification-service": "^0.9.135",
49
+ "@live-change/password-authentication-service": "^0.9.135",
50
+ "@live-change/pattern": "^0.9.135",
51
+ "@live-change/secret-code-service": "^0.9.135",
52
+ "@live-change/secret-link-service": "^0.9.135",
53
+ "@live-change/security-frontend": "^0.9.135",
54
+ "@live-change/security-service": "^0.9.135",
55
+ "@live-change/session-service": "^0.9.135",
56
+ "@live-change/timer-service": "^0.9.135",
57
+ "@live-change/upload-service": "^0.9.135",
58
+ "@live-change/user-identification-service": "^0.9.135",
59
+ "@live-change/user-service": "^0.9.135",
60
+ "@live-change/vue3-components": "^0.9.135",
61
+ "@live-change/vue3-ssr": "^0.9.135",
62
62
  "@vueuse/core": "^12.3.0",
63
63
  "codeceptjs-assert": "^0.0.5",
64
64
  "codeceptjs-video-helper": "0.1.3",
@@ -79,7 +79,7 @@
79
79
  "wtfnode": "^0.9.1"
80
80
  },
81
81
  "devDependencies": {
82
- "@live-change/codeceptjs-helper": "^0.9.133",
82
+ "@live-change/codeceptjs-helper": "^0.9.135",
83
83
  "codeceptjs": "^3.6.10",
84
84
  "generate-password": "1.7.1",
85
85
  "playwright": "1.49.1",
@@ -90,5 +90,5 @@
90
90
  "author": "Michał Łaszczewski <michal@laszczewski.pl>",
91
91
  "license": "BSD-3-Clause",
92
92
  "description": "",
93
- "gitHead": "455a7c9d204a89196f6599c42acd8eaeb45532e1"
93
+ "gitHead": "ffc360ae1d414e879c34a649c25f6dac14a33c7b"
94
94
  }