@live-change/user-frontend 0.9.32 → 0.9.33

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.
Files changed (54) hide show
  1. package/front/locales/en.json +3 -1
  2. package/front/src/App.vue +32 -1
  3. package/front/src/Index.vue +3 -3
  4. package/front/src/NavBar.vue +8 -8
  5. package/front/src/SettingsTabs.vue +1 -1
  6. package/front/src/config.js +19 -0
  7. package/front/src/connected/ConnectEmail.vue +13 -10
  8. package/front/src/connected/ConnectFinished.vue +4 -4
  9. package/front/src/connected/ConnectPhone.vue +13 -9
  10. package/front/src/connected/Connected.vue +13 -13
  11. package/front/src/delete/Delete.vue +5 -5
  12. package/front/src/delete/DeleteFeedbackSent.vue +4 -4
  13. package/front/src/delete/DeleteFinished.vue +6 -6
  14. package/front/src/google-access/GoogleAccess.vue +4 -4
  15. package/front/src/google-access/GoogleAccessGained.vue +6 -6
  16. package/front/src/identification/IdentificationSettings.vue +16 -13
  17. package/front/src/identification/UserIdentification.vue +8 -8
  18. package/front/src/locale/LocaleSettings.vue +9 -7
  19. package/front/src/message-auth/MessageLink.vue +12 -12
  20. package/front/src/message-auth/MessageSent.vue +20 -17
  21. package/front/src/message-auth/email/ConnectEmail.vue +1 -1
  22. package/front/src/message-auth/email/ResetPasswordEmail.vue +1 -1
  23. package/front/src/message-auth/email/SignInEmail.vue +1 -1
  24. package/front/src/message-auth/email/SignUpEmail.vue +1 -1
  25. package/front/src/nav/UserIcon.vue +11 -12
  26. package/front/src/nav/UserMenu.vue +20 -15
  27. package/front/src/notifications/NotificationButtons.vue +3 -3
  28. package/front/src/notifications/NotificationListPage.vue +2 -2
  29. package/front/src/notifications/NotificationsIcon.vue +12 -10
  30. package/front/src/notifications/NotificationsList.vue +4 -4
  31. package/front/src/notifications/NotificationsSettings.vue +4 -4
  32. package/front/src/notifications/SimpleNotification.vue +3 -3
  33. package/front/src/password/ChangePassword.vue +19 -14
  34. package/front/src/password/ChangePasswordFinished.vue +4 -4
  35. package/front/src/password/Password.vue +406 -449
  36. package/front/src/password/ResetPassword.vue +11 -8
  37. package/front/src/password/ResetPasswordFinished.vue +4 -4
  38. package/front/src/password/ResetPasswordForm.vue +22 -19
  39. package/front/src/phone/CountryInput.vue +13 -15
  40. package/front/src/phone/PhoneInput.vue +3 -3
  41. package/front/src/settings/Settings.vue +5 -5
  42. package/front/src/settings/SettingsIndex.vue +4 -4
  43. package/front/src/settings/SettingsMenu.vue +10 -10
  44. package/front/src/sign/GoogleAuth.vue +4 -4
  45. package/front/src/sign/GoogleAuthReturn.vue +4 -4
  46. package/front/src/sign/LinkedinAuth.vue +4 -4
  47. package/front/src/sign/LinkedinAuthReturn.vue +4 -4
  48. package/front/src/sign/SignInEmail.vue +22 -21
  49. package/front/src/sign/SignInFinished.vue +6 -6
  50. package/front/src/sign/SignOut.vue +5 -5
  51. package/front/src/sign/SignOutFinished.vue +4 -4
  52. package/front/src/sign/SignUpEmail.vue +14 -13
  53. package/front/src/sign/SignUpFinished.vue +19 -16
  54. package/package.json +26 -26
@@ -1,21 +1,23 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card p-4 shadow-2 border-round">
4
- <div class="text-center mb-5">
5
- <div class="text-900 text-3xl font-medium mb-3">Reset password</div>
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
+ <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
4
+ <div class="text-center mb-8">
5
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">Reset password</div>
6
6
  </div>
7
7
 
8
8
  <command-form service="passwordAuthentication" action="resetPasswordEmail" v-slot="{ data }"
9
9
  @done="handleDone" keepOnDone v-if="isMounted">
10
10
 
11
- <div class="p-field mb-3">
12
- <label for="email" class="block text-900 font-medium mb-2">
11
+ <div class="p-field mb-4">
12
+ <label for="email" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">
13
13
  Email address
14
14
  </label>
15
15
  <InputText id="email" type="text" class="w-full"
16
- v-model="data.email" :class="{ 'p-invalid': data.emailError }"
16
+ v-model="data.email" :invalid="!!data.emailError"
17
17
  aria-describedby="email-help" />
18
- <small v-if="data.emailError" id="email-help" class="p-error">{{ t(`errors.${data.emailError}`) }}</small>
18
+ <Message v-if="data.emailError" severity="error" variant="simple" size="small">
19
+ {{ t(`errors.${data.emailError}`) }}
20
+ </Message>
19
21
  </div>
20
22
 
21
23
  <Button type="submit" label="Reset password" icon="pi pi-key" class="w-full"></Button>
@@ -28,6 +30,7 @@
28
30
  <script setup>
29
31
  import InputText from "primevue/inputtext"
30
32
  import Button from "primevue/button"
33
+ import Message from "primevue/message"
31
34
 
32
35
  import { onMounted, ref } from "vue"
33
36
  const isMounted = ref(false)
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card border-round shadow-2 p-4">
4
- <div class="text-900 font-medium mb-3 text-xl mb-4">Password changed</div>
5
- <p class="mt-0 p-0 line-height-3">You have successfully changed your password.</p>
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
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">Password changed</div>
5
+ <p class="mt-0 p-0 leading-normal">You have successfully changed your password.</p>
6
6
  </div>
7
7
  </div>
8
8
  </template>
@@ -1,23 +1,23 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card border-round shadow-2 p-4" v-if="isUnknown">
4
- <div class="text-900 font-medium mb-3 text-xl">Unknown link</div>
5
- <p class="mt-0 mb-2 p-0 line-height-3">We can't find your secret link. Check if you copied the address correctly.</p>
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
+ <div class="bg-surface-0 dark:bg-surface-900 rounded-border shadow p-6" v-if="isUnknown">
4
+ <div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl">Unknown link</div>
5
+ <p class="mt-0 mb-2 p-0 leading-normal">We can't find your secret link. Check if you copied the address correctly.</p>
6
6
  </div>
7
7
 
8
- <div class="surface-card border-round shadow-2 p-4" v-if="isUsed">
9
- <div class="text-900 font-medium mb-3 text-xl">Link used</div>
10
- <p class="mt-0 mb-2 p-0 line-height-3">This link was already used.</p>
8
+ <div class="bg-surface-0 dark:bg-surface-900 rounded-border shadow p-6" v-if="isUsed">
9
+ <div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl">Link used</div>
10
+ <p class="mt-0 mb-2 p-0 leading-normal">This link was already used.</p>
11
11
  </div>
12
12
 
13
- <div class="surface-card border-round shadow-2 p-4" v-if="isExpired && !isUsed">
14
- <div class="text-900 font-medium mb-3 text-xl">Link expired</div>
15
- <p class="mt-0 mb-4 p-0 line-height-3">Your password reset authentication already expired.</p>
13
+ <div class="bg-surface-0 dark:bg-surface-900 rounded-border shadow p-6" v-if="isExpired && !isUsed">
14
+ <div class="text-surface-900 dark:text-surface-0 font-medium mb-4 text-xl">Link expired</div>
15
+ <p class="mt-0 mb-6 p-0 leading-normal">Your password reset authentication already expired.</p>
16
16
  </div>
17
17
 
18
- <div class="surface-card p-4 shadow-2 border-round" v-if="isReady">
19
- <div class="text-center mb-5">
20
- <div class="text-900 text-3xl font-medium mb-3">Reset password</div>
18
+ <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border" v-if="isReady">
19
+ <div class="text-center mb-8">
20
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">Reset password</div>
21
21
  </div>
22
22
 
23
23
  <command-form service="passwordAuthentication" action="finishResetPassword" v-slot="{ data }"
@@ -25,10 +25,10 @@
25
25
  @done="handleDone" keepOnDone>
26
26
 
27
27
  <template v-if="isMounted">
28
- <div class="p-field mb-3">
29
- <label for="newPassword" class="block text-900 font-medium mb-2">New password</label>
28
+ <div class="p-field mb-4">
29
+ <label for="newPassword" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">New password</label>
30
30
  <Password id="newPassword" class="w-full" inputClass="w-full" toggleMask
31
- :class="{ 'p-invalid': data.passwordHashError }"
31
+ :invalid="!!data.passwordHashError"
32
32
  v-model="data.passwordHash">
33
33
  <template #footer>
34
34
  <Divider />
@@ -41,11 +41,13 @@
41
41
  </ul>
42
42
  </template>
43
43
  </Password>
44
- <small id="newPassword-help" class="p-error">{{ data.passwordHashError }}</small>
44
+ <Message v-if="data.passwordHashError" severity="error" variant="simple" size="small">
45
+ {{ t(`errors.${data.passwordHashError}`) }}
46
+ </Message>
45
47
  </div>
46
48
 
47
- <div class="p-field mb-3">
48
- <label for="reenterPassword" class="block text-900 font-medium mb-2">Re-enter password</label>
49
+ <div class="p-field mb-4">
50
+ <label for="reenterPassword" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">Re-enter password</label>
49
51
  <Password id="reenterPassword" class="w-full" inputClass="w-full"
50
52
  v-model="secondPassword"
51
53
  :feedback="false" toggleMask />
@@ -66,6 +68,7 @@
66
68
  import Button from "primevue/button"
67
69
  import Divider from "primevue/divider"
68
70
  import Password from "primevue/password"
71
+ import Message from "primevue/message"
69
72
 
70
73
  const { resetKey } = defineProps({
71
74
  resetKey: {
@@ -1,19 +1,17 @@
1
1
  <template>
2
- <div class="flex flex-row align-items-center">
3
- <AutoComplete v-model="selectedCountry" dropdown optionLabel="name"
4
- :suggestions="filteredCountries" @complete="searchCountry"
5
- class="mr-2 w-14rem">
6
- <template #option="slotProps">
7
- <div class="flex align-items-center">
8
- <img :alt="slotProps.option.name"
9
- src="../../public/images/flag_placeholder.png"
10
- :class="`flag flag-${slotProps.option.code.toLowerCase()} mr-2`"
11
- style="width: 18px; height: 12.27px" />
12
- <div>{{ slotProps.option.name }}</div>
13
- </div>
14
- </template>
15
- </AutoComplete>
16
- </div>
2
+ <AutoComplete v-model="selectedCountry" dropdown optionLabel="name"
3
+ :suggestions="filteredCountries" @complete="searchCountry"
4
+ class="mr-2">
5
+ <template #option="slotProps">
6
+ <div class="flex items-center">
7
+ <img :alt="slotProps.option.name"
8
+ src="../../public/images/flag_placeholder.png"
9
+ :class="`flag flag-${slotProps.option.code.toLowerCase()} mr-2`"
10
+ style="width: 18px; height: 12.27px" />
11
+ <div>{{ slotProps.option.name }}</div>
12
+ </div>
13
+ </template>
14
+ </AutoComplete>
17
15
  </template>
18
16
 
19
17
  <script setup>
@@ -1,10 +1,10 @@
1
1
  <template>
2
- <div class="flex flex-row align-items-center">
2
+ <div class="flex flex-row items-center">
3
3
  <AutoComplete v-model="selectedCountry" dropdown optionLabel="dial_code" placeholder="+XX"
4
4
  :suggestions="filteredCountries" @complete="searchCountry"
5
- class="mr-2 w-14rem">
5
+ class="mr-2 w-56">
6
6
  <template #option="slotProps">
7
- <div class="flex align-items-center">
7
+ <div class="flex items-center">
8
8
  <img :alt="slotProps.option.name"
9
9
  src="../../public/images/flag_placeholder.png"
10
10
  :class="`flag flag-${slotProps.option.code.toLowerCase()} mr-2`"
@@ -1,12 +1,12 @@
1
1
  <template>
2
- <div class="flex relative lg:static surface-ground" style="height: calc(100vh - 88px)">
3
- <div id="settings-menu" class="surface-section hidden flex-shrink-0 absolute left-0 h-full
4
- top-0 z-1 border-right-1 surface-border select-none md:static md:block" style="width:280px">
2
+ <div class="flex relative lg:static bg-surface-50 dark:bg-surface-950" style="height: calc(100vh - 88px)">
3
+ <div id="settings-menu" class="bg-surface-0 hidden flex-shrink-0 absolute left-0 h-full
4
+ top-0 z-1 border-r-1 border-r-surface-300 dark:border-r-surface-750 select-none md:static md:block" style="width:280px">
5
5
  <SettingsMenu />
6
6
  </div>
7
7
 
8
- <div class="flex flex-column relative flex-auto">
9
- <div v-if="viewType === 'simple'" class="p-5 flex flex-column flex-auto align-items-center">
8
+ <div class="flex flex-col relative flex-auto">
9
+ <div v-if="viewType === 'simple'" class="p-8 flex flex-col flex-auto items-center">
10
10
  <router-view></router-view>
11
11
  </div>
12
12
  <template v-if="viewType === 'wide'">
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
 
3
- <SettingsMenu class="h-full block md:hidden surface-section" />
3
+ <SettingsMenu class="h-full block md:hidden bg-surface-0 dark:bg-surface-950" />
4
4
 
5
- <div class="flex-column flex-auto align-items-center p-5 hidden md:flex">
6
- <!-- <LocaleSettings class="mb-5" />-->
7
- <Connected class="mb-5" />
5
+ <div class="flex-col flex-auto items-center p-8 hidden md:flex">
6
+ <!-- <LocaleSettings class="mb-8" />-->
7
+ <Connected class="mb-8" />
8
8
  <ChangePassword />
9
9
  </div>
10
10
 
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div class="flex flex-column h-full">
2
+ <div class="flex flex-col h-full">
3
3
  <div class="overflow-y-auto">
4
4
  <ul class="list-none p-2 m-0">
5
5
  <li>
6
- <div class="p-3 text-500 font-medium">SETTINGS</div>
6
+ <div class="p-4 text-surface-500 dark:text-surface-300 font-medium">SETTINGS</div>
7
7
  </li>
8
8
 
9
9
  <SettingsMenuItem name="user:identification" icon="id-card" label="Identification" class="hidden md:block" />
@@ -16,9 +16,9 @@
16
16
 
17
17
  </ul>
18
18
 
19
- <ul v-if="client.user" class="list-none p-2 m-0 border-top-1 surface-border">
19
+ <ul v-if="client.user" class="list-none p-2 m-0 border-t border-surface">
20
20
  <li>
21
- <div class="p-3 text-500 font-medium">AUTHORIZATION</div>
21
+ <div class="p-4 text-surface-500 dark:text-surface-300 font-medium">AUTHORIZATION</div>
22
22
  </li>
23
23
 
24
24
  <SettingsMenuItem v-if="client.user" name="user:connected" icon="users" label="Connected Accounts" />
@@ -27,15 +27,15 @@
27
27
 
28
28
  </ul>
29
29
 
30
- <ul v-if="client.user" class="list-none p-2 m-0 border-top-1 surface-border">
30
+ <ul v-if="client.user" class="list-none p-2 m-0 border-t border-surface">
31
31
 
32
32
  <SettingsMenuItem v-if="client.user" name="user:delete" icon="trash" label="Delete Account" />
33
33
 
34
34
  </ul>
35
35
  </div>
36
36
 
37
- <!-- <div class="p-2 mt-auto border-top-1 surface-border">
38
- <ul class="list-none p-2 m-0 hidden origin-bottom animation-duration-150">
37
+ <!-- <div class="p-2 mt-auto border-t border-surface">
38
+ <ul class="list-none p-2 m-0 hidden origin-bottom animate-duration-150">
39
39
  <li>
40
40
  <a v-ripple class="flex align-items-center cursor-pointer p-3 text-700 hover:surface-100
41
41
  border-round transition-colors transition-duration-150 p-ripple">
@@ -60,9 +60,9 @@
60
60
  </ul>
61
61
  <a v-ripple class="p-3 flex align-items-center cursor-pointer text-700 hover:surface-100
62
62
  border-round transition-colors transition-duration-150 p-ripple"
63
- v-styleclass="{ selector: '@prev', enterClass: 'hidden', enterActiveClass: 'scalein',
64
- leaveToClass: 'hidden', leaveActiveClass: 'fadeout' }">
65
- <img src="/images/empty-user-photo.svg" class="mr-2 border-circle" style="width: 28px; height: 28px"/>
63
+ v-styleclass="{ selector: '@prev', enterFromClass: 'hidden', enterActiveClass: 'animate-scalein',
64
+ leaveToClass: 'hidden', leaveActiveClass: 'animate-fadeout' }">
65
+ <img src="/images/empty-user-photo.svg" class="mr-2 rounded-full" style="width: 28px; height: 28px"/>
66
66
  <span class="font-medium">Amy Elsner</span>
67
67
  <i class="pi pi-chevron-up ml-auto"></i>
68
68
  </a>
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card p-4 shadow-2 border-round">
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
+ <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
4
4
 
5
- <div class="text-center mb-5">
6
- <div class="text-900 text-3xl font-medium mb-3">Google authentication</div>
5
+ <div class="text-center mb-8">
6
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">Google authentication</div>
7
7
  </div>
8
8
 
9
9
  <div v-if="state === 'canceled'" class="text-center">
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card p-4 shadow-2 border-round">
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
+ <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
4
4
 
5
- <div class="text-center mb-5">
6
- <div class="text-900 text-3xl font-medium mb-3">Google authentication</div>
5
+ <div class="text-center mb-8">
6
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">Google authentication</div>
7
7
  </div>
8
8
 
9
9
  <div v-if="state === 'canceled'" class="text-center">
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card p-4 shadow-2 border-round">
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
+ <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
4
4
 
5
- <div class="text-center mb-5">
6
- <div class="text-900 text-3xl font-medium mb-3">Linkedin authentication</div>
5
+ <div class="text-center mb-8">
6
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">Linkedin authentication</div>
7
7
  </div>
8
8
 
9
9
  <div v-if="state === 'canceled'" class="text-center">
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card p-4 shadow-2 border-round">
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
+ <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
4
4
 
5
- <div class="text-center mb-5">
6
- <div class="text-900 text-3xl font-medium mb-3">Linkedin authentication</div>
5
+ <div class="text-center mb-8">
6
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">Linkedin authentication</div>
7
7
  </div>
8
8
 
9
9
  <div v-if="state === 'canceled'" class="text-center">
@@ -1,10 +1,10 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card p-4 shadow-2 border-round">
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
+ <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
4
4
 
5
- <div class="text-center mb-5">
6
- <div class="text-900 text-3xl font-medium mb-3">Welcome Back</div>
7
- <span class="text-600 font-medium line-height-3">Don't have an account?</span>
5
+ <div class="text-center mb-8">
6
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">Welcome Back</div>
7
+ <span class="text-surface-600 dark:text-surface-200 font-medium leading-normal">Don't have an account?</span>
8
8
  <router-link :to="{ name: 'user:signUpEmail' }"
9
9
  class="font-medium no-underline ml-2 text-blue-500 cursor-pointer">
10
10
  Create today!</router-link>
@@ -13,31 +13,31 @@
13
13
  <command-form service="passwordAuthentication" action="signInEmail" v-slot="{ data }"
14
14
  @done="handleDone" keepOnDone v-if="isMounted">
15
15
 
16
- <div class="p-field mb-3">
17
- <label for="email" class="block text-900 font-medium mb-2">
16
+ <div class="p-field mb-4">
17
+ <label for="email" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">
18
18
  Email address
19
19
  </label>
20
20
  <InputText id="email" type="text" class="w-full"
21
- aria-describedby="email-help" :class="{ 'p-invalid': data.emailError }"
22
- v-model="data.email" />
23
- <small v-if="data.emailError" id="email-help" class="p-error">
21
+ aria-describedby="email-help" :invalid="data.emailError"
22
+ v-model="data.email" />
23
+ <Message v-if="data.emailError" severity="error" variant="simple" size="small">
24
24
  {{ t(`errors.${data.emailError}`) }}
25
- </small>
25
+ </Message>
26
26
  </div>
27
27
 
28
- <div class="p-field mb-3">
29
- <label for="password" class="block text-900 font-medium mb-2">Password (optional)</label>
28
+ <div class="p-field mb-4">
29
+ <label for="password" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">Password (optional)</label>
30
30
  <Password id="password" class="w-full" inputClass="w-full" toggleMask :feedback="false"
31
- aria-describedby="password-help" :class="{ 'p-invalid': data.passwordHashError }"
32
- v-model="data.passwordHash" />
33
- <small v-if="data.passwordHashError" id="password-help" class="p-error">
31
+ aria-describedby="password-help" :invalid="data.passwordHashError"
32
+ v-model="data.passwordHash" />
33
+ <Message v-if="data.passwordHashError" severity="error" variant="simple" size="small">
34
34
  {{ t(`errors.${data.passwordHashError}`) }}
35
- </small>
35
+ </Message>
36
36
  </div>
37
37
 
38
- <div class="flex align-items-center justify-content-between mb-6">
38
+ <div class="flex items-center justify-between mb-12">
39
39
  <div></div>
40
- <!-- <div class="flex align-items-center">
40
+ <!-- <div class="flex items-center">
41
41
  <Checkbox id="rememberme" :binary="true" class="mr-2" />
42
42
  <label for="rememberme">Remember me</label>
43
43
  </div>-->
@@ -51,8 +51,8 @@
51
51
 
52
52
  </command-form>
53
53
 
54
- <Divider v-if="accountTypes.length > 0" align="center" class="my-4">
55
- <span class="text-600 font-normal text-sm">OR</span>
54
+ <Divider v-if="accountTypes.length > 0" align="center" class="my-6">
55
+ <span class="text-surface-600 dark:text-surface-200 font-normal text-sm">OR</span>
56
56
  </Divider>
57
57
 
58
58
  <router-link v-for="accountType in accountTypes"
@@ -76,6 +76,7 @@
76
76
  import Button from "primevue/button"
77
77
  import Divider from "primevue/divider"
78
78
  import Password from "../password/Password.vue"
79
+ import Message from "primevue/message"
79
80
 
80
81
  import { onMounted, ref } from 'vue'
81
82
  const isMounted = ref(false)
@@ -1,13 +1,13 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card border-round shadow-2 p-4">
4
- <div class="text-900 font-medium mb-3 text-xl mb-4">Signed In</div>
5
- <p class="mt-0 p-0 line-height-3">Congratulations! You have successfully logged in to your account.</p>
6
- <div v-if="afterSignIn" class="flex flex-row justify-content-center align-items-center">
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
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>
6
+ <div v-if="afterSignIn" class="flex flex-row justify-center items-center">
7
7
  <router-link :to="afterSignIn" class="no-underline">
8
8
  <Button label="Next" v-ripple />
9
9
  </router-link>
10
- <p class="ml-4" v-if="isMounted && redirectTime">
10
+ <p class="ml-6" v-if="isMounted && redirectTime">
11
11
  Redirect in {{ pluralize('second', Math.ceil((redirectTime - currentTime) / 1000), true) }}...
12
12
  </p>
13
13
  </div>
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card border-round shadow-2 p-4">
4
- <div class="text-900 font-medium mb-3 text-xl mb-4">Sign Out</div>
5
- <p class="mt-0 p-0 line-height-3">Signing out</p>
6
- <ProgressSpinner v-if="isMounted" class="m-3" />
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
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">Sign Out</div>
5
+ <p class="mt-0 p-0 leading-normal">Signing out</p>
6
+ <ProgressSpinner v-if="isMounted" class="m-4" />
7
7
  </div>
8
8
  </div>
9
9
  </template>
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card border-round shadow-2 p-4">
4
- <div class="text-900 font-medium mb-3 text-xl mb-4">Signed Out</div>
5
- <p class="mt-0 p-0 line-height-3">You have successfully signed from your account.</p>
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
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 from your account.</p>
6
6
  </div>
7
7
  </div>
8
8
  </template>
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div class="w-full lg:w-6 md:w-9" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
- <div class="surface-card p-4 shadow-2 border-round">
4
- <div class="text-center mb-5">
5
- <div class="text-900 text-3xl font-medium mb-3">Sign Up</div>
6
- <span class="text-600 font-medium line-height-3">Already have an account?</span>
2
+ <div class="w-full lg:w-6/12 md:w-9/12" v-shared-element:form="{ duration: '300ms', includeChildren: true }">
3
+ <div class="bg-surface-0 dark:bg-surface-900 p-6 shadow rounded-border">
4
+ <div class="text-center mb-8">
5
+ <div class="text-surface-900 dark:text-surface-0 text-3xl font-medium mb-4">Sign Up</div>
6
+ <span class="text-surface-600 dark:text-surface-200 font-medium leading-normal">Already have an account?</span>
7
7
  <router-link :to="{ name: 'user:signInEmail' }"
8
8
  class="font-medium no-underline ml-2 text-blue-500 cursor-pointer">
9
9
  Sign in</router-link>
@@ -12,23 +12,23 @@
12
12
  <command-form service="messageAuthentication" action="signUpEmail" v-slot="{ data, submit }"
13
13
  @done="handleSent" keepOnDone>
14
14
 
15
- <div class="p-field mb-3">
16
- <label for="email" class="block text-900 font-medium mb-2">
15
+ <div class="p-field mb-4">
16
+ <label for="email" class="block text-surface-900 dark:text-surface-0 font-medium mb-2">
17
17
  Email address
18
18
  </label>
19
19
  <InputText id="email" type="text" class="w-full"
20
- aria-describedby="email-help" :class="{ 'p-invalid': data.emailError}"
20
+ aria-describedby="email-help" :invalid="!!data.emailError"
21
21
  v-model="data.email" />
22
- <small v-if="data.emailError" id="email-help" class="p-error">
22
+ <Message v-if="data.emailError" severity="error" variant="simple" size="small">
23
23
  {{ t(`errors.${data.emailError}`) }}
24
- </small>
24
+ </Message>
25
25
  </div>
26
26
 
27
27
  <Button label="Sign Up with email" icon="pi pi-user" class="w-full" type="submit" />
28
28
  </command-form>
29
29
 
30
- <Divider v-if="accountTypes.length > 0" align="center" class="my-4">
31
- <span class="text-600 font-normal text-sm">OR</span>
30
+ <Divider v-if="accountTypes.length > 0" align="center" class="my-6">
31
+ <b>OR</b>
32
32
  </Divider>
33
33
 
34
34
  <router-link v-for="accountType in accountTypes"
@@ -41,7 +41,7 @@
41
41
  />
42
42
  </router-link>
43
43
 
44
- <div class="mt-3">
44
+ <div class="mt-4">
45
45
  By providing your email address or google account, you consent to its processing solely
46
46
  for registration and account verification purposes, in accordance with our
47
47
  <router-link to="/privacy-policy">Privacy Policy</router-link>.
@@ -55,6 +55,7 @@
55
55
  import InputText from "primevue/inputtext"
56
56
  import Button from "primevue/button"
57
57
  import Divider from "primevue/divider"
58
+ import Message from "primevue/message"
58
59
 
59
60
  import { useRouter } from 'vue-router'
60
61
  const router = useRouter()