adata-ui 2.0.28 → 2.0.30
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/.nuxtrc +1 -1
- package/.playground/app.config.ts +5 -5
- package/README.md +75 -75
- package/components/elements/README.md +1 -1
- package/components/forms/README.md +1 -1
- package/components/modals/AConfirmationEmail.vue +40 -40
- package/components/modals/Resend.vue +81 -81
- package/components/modals/id/IdConfirmAccountOtpModal.vue +77 -40
- package/components/modals/id/IdConfirmSuccessfulModal.vue +7 -2
- package/components/modals/id/IdLoginModal.vue +45 -128
- package/components/modals/id/IdModals.vue +6 -2
- package/components/modals/id/IdNewPasswordModal.vue +7 -5
- package/components/modals/{two-factor/otp-input.vue → id/IdOtpInput.vue} +14 -2
- package/components/modals/id/IdRegistrationModal.vue +22 -21
- package/components/modals/id/IdResetPasswordOtpModal.vue +27 -28
- package/components/modals/id/IdTwoFactorModal.vue +122 -0
- package/components/navigation/README.md +1 -1
- package/components/overlays/README.md +1 -1
- package/icons/google.vue +41 -41
- package/icons/linkedin.vue +24 -24
- package/icons/mailru.vue +34 -34
- package/icons/sun.vue +14 -14
- package/icons/yandex.vue +28 -28
- package/lang/en.ts +351 -330
- package/lang/kk.ts +352 -331
- package/lang/ru.ts +42 -66
- package/layouts/default.vue +13 -13
- package/package.json +1 -1
- package/components/modals/two-factor/two-factor.vue +0 -79
package/lang/ru.ts
CHANGED
|
@@ -16,6 +16,7 @@ const RuLocale = {
|
|
|
16
16
|
reuse: {
|
|
17
17
|
yes: 'Да',
|
|
18
18
|
or: 'Или',
|
|
19
|
+
successfully: 'Успешно',
|
|
19
20
|
},
|
|
20
21
|
header: {
|
|
21
22
|
top: {
|
|
@@ -476,14 +477,53 @@ const RuLocale = {
|
|
|
476
477
|
},
|
|
477
478
|
modals: {
|
|
478
479
|
id: {
|
|
480
|
+
login: {
|
|
481
|
+
title: 'Вход',
|
|
482
|
+
subtitle: 'Добро пожаловать на сервис Adata.kz',
|
|
483
|
+
remember_me: 'Запомнить меня',
|
|
484
|
+
forget_password: 'Забыли пароль?',
|
|
485
|
+
first_time: 'Впервые на нашем сервисе?',
|
|
486
|
+
labels: {
|
|
487
|
+
email: 'Введите email',
|
|
488
|
+
password: 'Введите пароль',
|
|
489
|
+
},
|
|
490
|
+
},
|
|
491
|
+
register: {
|
|
492
|
+
title: 'Регистрация ',
|
|
493
|
+
subtitle: 'Введите данные для регистрации',
|
|
494
|
+
labels: {
|
|
495
|
+
email: 'Введите email',
|
|
496
|
+
password: 'Введите пароль',
|
|
497
|
+
password_confirmation: 'Подтвердите пароль',
|
|
498
|
+
},
|
|
499
|
+
alert: 'Пароль должен состоять минимум из 8 символов и содержать (заглавную букву, цифру и специальный символ)',
|
|
500
|
+
agreement: {
|
|
501
|
+
text: 'Я ознакомился(лась) с {link} и полностью согласен(а) с ними.',
|
|
502
|
+
link: 'условиями сервиса',
|
|
503
|
+
},
|
|
504
|
+
continue: 'Продолжить',
|
|
505
|
+
haveAcc: 'У вас уже есть учетная запись?',
|
|
506
|
+
enter: 'Войти',
|
|
507
|
+
errors: {
|
|
508
|
+
low_security: 'Низкий уровень защиты',
|
|
509
|
+
minLength: 'Пароль должен состоять минимум из 8 символов',
|
|
510
|
+
passwordRequirements: 'содержать (заглавную букву, цифру и специальный символ)',
|
|
511
|
+
sameAs: 'Пароли не совпадают',
|
|
512
|
+
},
|
|
513
|
+
},
|
|
514
|
+
confirmAccount: {
|
|
515
|
+
title: 'Подтверждение аккаунта',
|
|
516
|
+
},
|
|
479
517
|
recovery: {
|
|
480
518
|
title: 'Восстановление пароля',
|
|
481
|
-
content: 'Укажите Вашу электронную почту
|
|
482
|
-
placeholder: 'Введите email
|
|
519
|
+
content: 'Укажите Вашу электронную почту',
|
|
520
|
+
placeholder: 'Введите email',
|
|
483
521
|
},
|
|
484
522
|
resetPasswordOtp: {
|
|
485
523
|
title: 'Подтвердите действие',
|
|
486
524
|
content: 'Введите 6-значный код подтверждения отправленный на ваш адрес электронной почты',
|
|
525
|
+
seconds: 'секунд',
|
|
526
|
+
attempts: 'Повторных попыток осталось: {n}',
|
|
487
527
|
},
|
|
488
528
|
newPassword: {
|
|
489
529
|
title: 'Создание нового пароля',
|
|
@@ -497,8 +537,6 @@ const RuLocale = {
|
|
|
497
537
|
twoFactor: {
|
|
498
538
|
title: 'Двухфакторная аутентификация',
|
|
499
539
|
code: 'Введите 6-значный код для подтверждения',
|
|
500
|
-
close: 'Закрыть',
|
|
501
|
-
confirm: 'Подтвердить',
|
|
502
540
|
error: 'Вы ввели неверный код',
|
|
503
541
|
},
|
|
504
542
|
passwordSuccessful: {
|
|
@@ -636,68 +674,6 @@ const RuLocale = {
|
|
|
636
674
|
},
|
|
637
675
|
},
|
|
638
676
|
all_services: 'Все сервисы',
|
|
639
|
-
login: {
|
|
640
|
-
pageTitle: 'Авторизация',
|
|
641
|
-
successfully: 'Успешно',
|
|
642
|
-
form: {
|
|
643
|
-
title: 'Вход',
|
|
644
|
-
subtitle: 'Добро пожаловать на сервис Adata.kz',
|
|
645
|
-
remember_me: 'Запомнить меня',
|
|
646
|
-
forget_password: 'Забыли пароль?',
|
|
647
|
-
first_time: 'Впервые на нашем сервисе?',
|
|
648
|
-
labels: {
|
|
649
|
-
email: 'Введите email',
|
|
650
|
-
password: 'Введите пароль',
|
|
651
|
-
},
|
|
652
|
-
},
|
|
653
|
-
modal: {
|
|
654
|
-
title: 'Подтверждение',
|
|
655
|
-
subtitle1: 'На вашу почту отправлено письмо с ссылкой на подтверждение аккаунта',
|
|
656
|
-
subtitle2: 'Ожидание подтверждения, повторно отправить письмо можно через:',
|
|
657
|
-
confirmationEmail: 'Если Вы не получили письмо с подтверждением',
|
|
658
|
-
seconds: 'секунд',
|
|
659
|
-
resend: 'Отправить повторно',
|
|
660
|
-
back: 'Вернуться на главную',
|
|
661
|
-
},
|
|
662
|
-
},
|
|
663
|
-
register: {
|
|
664
|
-
pageTitle: 'Регистрация',
|
|
665
|
-
form: {
|
|
666
|
-
title: 'Регистрация ',
|
|
667
|
-
subtitle: 'Введите данные для регистрации',
|
|
668
|
-
labels: {
|
|
669
|
-
email: 'Введите email',
|
|
670
|
-
password: 'Введите пароль',
|
|
671
|
-
password_confirmation: 'Подтвердите пароль',
|
|
672
|
-
},
|
|
673
|
-
alert: 'Пароль должен состоять минимум из 8 символов и содержать (заглавную букву, цифру и специальный символ)',
|
|
674
|
-
agreement: {
|
|
675
|
-
text: 'Я ознакомился(лась) с {link} и полностью согласен(а) с ними.',
|
|
676
|
-
link: 'условиями сервиса',
|
|
677
|
-
},
|
|
678
|
-
continue: 'Продолжить',
|
|
679
|
-
haveAcc: 'У вас уже есть учетная запись?',
|
|
680
|
-
enter: 'Войти',
|
|
681
|
-
errors: {
|
|
682
|
-
required: 'Обязательное поле',
|
|
683
|
-
low_security: 'Низкий уровень защиты',
|
|
684
|
-
email: 'Неправильный email',
|
|
685
|
-
minLength: 'Пароль должен состоять минимум из 8 символов',
|
|
686
|
-
passwordRequirements: 'содержать (заглавную букву, цифру и специальный символ)',
|
|
687
|
-
sameAs: 'Пароли не совпадают',
|
|
688
|
-
},
|
|
689
|
-
},
|
|
690
|
-
modal: {
|
|
691
|
-
title: 'Подтверждение аккаунта',
|
|
692
|
-
subtitle1: 'На вашу почту отправлено письмо с ссылкой на подтверждение аккаунта',
|
|
693
|
-
subtitle2: 'Ожидание подтверждения, повторно отправить письмо можно через',
|
|
694
|
-
confirmationEmail: 'Если Вы не получили письмо с подтверждением',
|
|
695
|
-
|
|
696
|
-
seconds: 'секунд',
|
|
697
|
-
resend: 'Отправить повторно',
|
|
698
|
-
back: 'Вернуться на главную',
|
|
699
|
-
},
|
|
700
|
-
},
|
|
701
677
|
error: {
|
|
702
678
|
required: 'Обязательное поле',
|
|
703
679
|
validation: 'Валидация не пройдена',
|
package/layouts/default.vue
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
<div>
|
|
7
|
-
<slot></slot>
|
|
8
|
-
</div>
|
|
9
|
-
</template>
|
|
10
|
-
|
|
11
|
-
<style scoped>
|
|
12
|
-
|
|
13
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<div>
|
|
7
|
+
<slot></slot>
|
|
8
|
+
</div>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<style scoped>
|
|
12
|
+
|
|
13
|
+
</style>
|
package/package.json
CHANGED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import OtpInput from '#adata-ui/components/modals/two-factor/otp-input.vue'
|
|
3
|
-
|
|
4
|
-
interface Props {
|
|
5
|
-
loading: boolean
|
|
6
|
-
}
|
|
7
|
-
const props = defineProps<Props>()
|
|
8
|
-
const emit = defineEmits<{
|
|
9
|
-
(e: 'confirm', otp: string): void
|
|
10
|
-
(e: 'close'): void
|
|
11
|
-
}>()
|
|
12
|
-
const { t } = useI18n()
|
|
13
|
-
const isOpen = defineModel({ default: false })
|
|
14
|
-
const showError = defineModel('error')
|
|
15
|
-
const otp = ref(['', '', '', '', '', ''])
|
|
16
|
-
const otpFormatted = computed(() => {
|
|
17
|
-
return otp.value.join('')
|
|
18
|
-
})
|
|
19
|
-
function confirm() {
|
|
20
|
-
if (otpFormatted.value.length < 6) return
|
|
21
|
-
emit('confirm', otpFormatted.value)
|
|
22
|
-
}
|
|
23
|
-
function close() {
|
|
24
|
-
otp.value = ['', '', '', '', '', '']
|
|
25
|
-
showError.value = false
|
|
26
|
-
emit('close')
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function handleEnter(e: KeyboardEvent) {
|
|
30
|
-
if (e.key === 'Enter') {
|
|
31
|
-
confirm()
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
onMounted(() => {
|
|
36
|
-
document.addEventListener('keyup', handleEnter)
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
onBeforeUnmount(() => {
|
|
40
|
-
document.removeEventListener('keyup', handleEnter)
|
|
41
|
-
})
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
<template>
|
|
45
|
-
<a-modal v-model="isOpen" @close="close">
|
|
46
|
-
<div class="flex flex-col items-center justify-center gap-5">
|
|
47
|
-
<p class="heading-02 text-center">
|
|
48
|
-
{{ t('modals.id.twoFactor.title') }}
|
|
49
|
-
</p>
|
|
50
|
-
<a-icon-hand-with-phone-light class="size-32 dark:hidden" />
|
|
51
|
-
<a-icon-hand-with-phone-dark class="hidden size-32 dark:block" />
|
|
52
|
-
<otp-input v-model="otp" v-model:error="showError" />
|
|
53
|
-
<p class="body-400 text-center">
|
|
54
|
-
{{ $t('modals.id.twoFactor.code') }}
|
|
55
|
-
</p>
|
|
56
|
-
<div class="flex w-full gap-2">
|
|
57
|
-
<a-button
|
|
58
|
-
class="w-full"
|
|
59
|
-
view="outline"
|
|
60
|
-
@click="close"
|
|
61
|
-
>
|
|
62
|
-
{{ t('modals.id.twoFactor.close') }}
|
|
63
|
-
</a-button>
|
|
64
|
-
<a-button
|
|
65
|
-
:loading="loading"
|
|
66
|
-
:disabled="otpFormatted.length < 6"
|
|
67
|
-
class="w-full"
|
|
68
|
-
@click="confirm"
|
|
69
|
-
>
|
|
70
|
-
{{ t('modals.id.twoFactor.confirm') }}
|
|
71
|
-
</a-button>
|
|
72
|
-
</div>
|
|
73
|
-
</div>
|
|
74
|
-
</a-modal>
|
|
75
|
-
</template>
|
|
76
|
-
|
|
77
|
-
<style scoped>
|
|
78
|
-
|
|
79
|
-
</style>
|