adata-ui 2.1.27 → 2.1.29
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/components/features/dropdown/ADropdown.vue +4 -1
- package/components/modals/Resend.vue +2 -2
- package/components/modals/id/IdConfirmAccountOtpModal.vue +2 -2
- package/components/modals/id/IdResetPasswordOtpModal.vue +2 -2
- package/components/navigation/footer/AFooter.vue +6 -1
- package/components/navigation/header/AHeader.vue +1 -1
- package/components/navigation/header/HeaderLink.vue +19 -18
- package/components/navigation/header/TopHeader.vue +53 -51
- package/lang/en.ts +2 -0
- package/lang/kk.ts +2 -0
- package/lang/ru.ts +2 -0
- package/package.json +1 -1
|
@@ -5,10 +5,12 @@ type Placement = 'left' | 'right'
|
|
|
5
5
|
|
|
6
6
|
interface Props {
|
|
7
7
|
placement: Placement
|
|
8
|
+
fullWidth?: boolean
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
const props = withDefaults(defineProps<Props>(), {
|
|
11
|
-
placement: "right"
|
|
12
|
+
placement: "right",
|
|
13
|
+
fullWidth: false,
|
|
12
14
|
})
|
|
13
15
|
|
|
14
16
|
const expanded = ref(false)
|
|
@@ -88,6 +90,7 @@ onMounted(() => {
|
|
|
88
90
|
ref="card"
|
|
89
91
|
v-if="expanded"
|
|
90
92
|
class="absolute z-20 mt-5 lg:mt-4 shadow-md rounded-[0.5rem] top-[44px] lg:top-[initial]"
|
|
93
|
+
:class="{ 'w-full': fullWidth }"
|
|
91
94
|
>
|
|
92
95
|
<slot
|
|
93
96
|
name="content"
|
|
@@ -7,13 +7,13 @@ const emit = defineEmits<{
|
|
|
7
7
|
(e: 'close'): void
|
|
8
8
|
}>()
|
|
9
9
|
|
|
10
|
-
const timer = ref(
|
|
10
|
+
const timer = ref(120)
|
|
11
11
|
const isResend = ref(false)
|
|
12
12
|
const route = useRoute()
|
|
13
13
|
const { landing } = useUrls()
|
|
14
14
|
|
|
15
15
|
function runTimer() {
|
|
16
|
-
timer.value =
|
|
16
|
+
timer.value = 120
|
|
17
17
|
const intervalId = setInterval(() => {
|
|
18
18
|
if (timer.value <= 0) {
|
|
19
19
|
isResend.value = true
|
|
@@ -116,10 +116,10 @@ async function onResend() {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
const timer = ref(
|
|
119
|
+
const timer = ref(120)
|
|
120
120
|
|
|
121
121
|
function runTimer() {
|
|
122
|
-
timer.value =
|
|
122
|
+
timer.value = 120
|
|
123
123
|
const intervalId = setInterval(() => {
|
|
124
124
|
if (!timer.value) clearInterval(intervalId)
|
|
125
125
|
return timer.value--
|
|
@@ -86,10 +86,10 @@ function handleEnter(e: KeyboardEvent) {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
const timer = ref(
|
|
89
|
+
const timer = ref(120)
|
|
90
90
|
|
|
91
91
|
function runTimer() {
|
|
92
|
-
timer.value =
|
|
92
|
+
timer.value = 120
|
|
93
93
|
const intervalId = setInterval(() => {
|
|
94
94
|
if (!timer.value) clearInterval(intervalId)
|
|
95
95
|
return timer.value--
|
|
@@ -51,7 +51,7 @@ const socialMedia = [
|
|
|
51
51
|
|
|
52
52
|
const mainLinks = computed(() => ({
|
|
53
53
|
services: {
|
|
54
|
-
title: t('footer.
|
|
54
|
+
title: t('footer.productsAndSolutions'),
|
|
55
55
|
link: buildLocalizedUrl(locale.value, urls.landing, PAGES.allServices),
|
|
56
56
|
items: [
|
|
57
57
|
[
|
|
@@ -74,6 +74,7 @@ const mainLinks = computed(() => ({
|
|
|
74
74
|
{
|
|
75
75
|
title: t('footer.zakupki.title'),
|
|
76
76
|
link: urls.zakupki + PAGES.tender.main,
|
|
77
|
+
isNew: true
|
|
77
78
|
}
|
|
78
79
|
],
|
|
79
80
|
[
|
|
@@ -120,6 +121,10 @@ const mainLinks = computed(() => ({
|
|
|
120
121
|
title: t('footer.info.counterparty'),
|
|
121
122
|
link: buildLocalizedUrl(locale.value, urls.pk, PAGES.pk.counterparty),
|
|
122
123
|
},
|
|
124
|
+
{
|
|
125
|
+
title: t('footer.info.onlineServices'),
|
|
126
|
+
link: buildLocalizedUrl(locale.value, urls.pk, PAGES.services + '/taxpayer'),
|
|
127
|
+
},
|
|
123
128
|
]
|
|
124
129
|
]
|
|
125
130
|
}
|
|
@@ -24,21 +24,21 @@ const navs: any = [
|
|
|
24
24
|
label: 'header.navs.tariffs',
|
|
25
25
|
to: landing + PAGES.tariffs
|
|
26
26
|
},
|
|
27
|
-
{
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
},
|
|
27
|
+
// {
|
|
28
|
+
// label: 'header.navs.api',
|
|
29
|
+
// to: landing + PAGES.api
|
|
30
|
+
// },
|
|
31
31
|
]
|
|
32
32
|
|
|
33
|
-
const pageUrl = useRequestURL()
|
|
34
|
-
if (pageUrl.hostname.startsWith('pk')) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
33
|
+
// const pageUrl = useRequestURL()
|
|
34
|
+
// if (pageUrl.hostname.startsWith('pk')) {
|
|
35
|
+
// navs.push(
|
|
36
|
+
// {
|
|
37
|
+
// label: 'header.navs.services',
|
|
38
|
+
// to: pk + PAGES.services + '/kgd'
|
|
39
|
+
// }
|
|
40
|
+
// )
|
|
41
|
+
// }
|
|
42
42
|
|
|
43
43
|
const menu = ref<HTMLElement | null>(null)
|
|
44
44
|
const isBodyAlreadyLocked = ref<boolean>(false)
|
|
@@ -75,12 +75,13 @@ const toggleMenu = (index: number) => {
|
|
|
75
75
|
if (pageUrl.hostname.includes('edo')) code = '?code=edo'
|
|
76
76
|
|
|
77
77
|
navigateToLocalizedPage({ locale, projectUrl: landing, path: PAGES.tariffs + code, target: '_blank' })
|
|
78
|
-
} else if (index === 3) {
|
|
79
|
-
navigateToLocalizedPage({ locale, projectUrl: landing, path: PAGES.api, target: '_blank' })
|
|
80
|
-
}
|
|
81
|
-
else if (index === 4) {
|
|
82
|
-
navigateToLocalizedPage({ locale, projectUrl: pk, path: PAGES.services + '/kgd', target: '_blank' })
|
|
83
78
|
}
|
|
79
|
+
// else if (index === 3) {
|
|
80
|
+
// navigateToLocalizedPage({ locale, projectUrl: landing, path: PAGES.api, target: '_blank' })
|
|
81
|
+
// }
|
|
82
|
+
// else if (index === 4) {
|
|
83
|
+
// navigateToLocalizedPage({ locale, projectUrl: pk, path: PAGES.services + '/kgd', target: '_blank' })
|
|
84
|
+
// }
|
|
84
85
|
else {
|
|
85
86
|
currentMenu.value = currentMenuToShow(index)
|
|
86
87
|
const prev = currentIndex.value
|
|
@@ -104,7 +104,7 @@ const fetchNotification = async () => {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
onMounted(() => {
|
|
108
108
|
fetchNotification()
|
|
109
109
|
fetchCurrencies()
|
|
110
110
|
})
|
|
@@ -117,66 +117,68 @@ const closeMessage = () => {
|
|
|
117
117
|
|
|
118
118
|
<template>
|
|
119
119
|
<div class="min-h-[40px]" :class="[isOpenNotification && systemMessage ? '' : 'hidden lg:block']">
|
|
120
|
-
<
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
<div class="flex items-center
|
|
127
|
-
<
|
|
128
|
-
|
|
120
|
+
<client-only>
|
|
121
|
+
<transition name="fade">
|
|
122
|
+
<div
|
|
123
|
+
v-if="isOpenNotification && systemMessage"
|
|
124
|
+
class="bg-[#FFF5E6] px-2 py-3 text-[#FCA204] dark:bg-[#161617] md:px-0"
|
|
125
|
+
>
|
|
126
|
+
<div class="a-container flex items-center justify-between">
|
|
127
|
+
<div class="flex items-center gap-2">
|
|
128
|
+
<a-icon-info-circle
|
|
129
|
+
class="max-h-[16px] w-full max-w-[16px] stroke-orange-500 dark:stroke-orange-500"
|
|
130
|
+
/>
|
|
131
|
+
<span class="text-sm font-semibold text-orange-500">{{ systemMessage }}</span>
|
|
132
|
+
</div>
|
|
133
|
+
<a-icon-x-mark
|
|
134
|
+
class="max-h-[16px] w-full max-w-[16px] cursor-pointer stroke-orange-500"
|
|
135
|
+
@click="closeMessage"
|
|
129
136
|
/>
|
|
130
|
-
<span class="text-sm font-semibold text-orange-500">{{ systemMessage }}</span>
|
|
131
137
|
</div>
|
|
132
|
-
<a-icon-x-mark
|
|
133
|
-
class="max-h-[16px] w-full max-w-[16px] cursor-pointer stroke-orange-500"
|
|
134
|
-
@click="closeMessage"
|
|
135
|
-
/>
|
|
136
138
|
</div>
|
|
137
|
-
</
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
139
|
+
</transition>
|
|
140
|
+
<div
|
|
141
|
+
v-if="!isOpenNotification || !systemMessage"
|
|
142
|
+
class="hidden min-h-10 bg-gray-50 dark:bg-gray-950 lg:block"
|
|
143
|
+
>
|
|
144
|
+
<div class="a-container flex justify-between py-2 items-center text-sm">
|
|
145
|
+
<div class="flex items-center leading-[24px]">
|
|
146
|
+
<div v-for="currency in currencies" :key="currency.currency" class="mr-4 flex gap-2">
|
|
147
|
+
<div class="flex items-center">
|
|
148
|
+
<component
|
|
149
|
+
:is="Symbols[currency.currency]"
|
|
150
|
+
class="mr-2 size-4 rounded-sm border border-solid border-[#E0E3E6] dark:border-[#2B2B2C]"
|
|
151
|
+
/>
|
|
152
|
+
{{ currency.buy }}
|
|
153
|
+
<div :class="computedClass(currency.sell_state)">
|
|
154
|
+
<arrow-currency />
|
|
155
|
+
</div>
|
|
154
156
|
</div>
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
<div class="flex items-center">
|
|
158
|
+
{{ currency.sell }}
|
|
159
|
+
<div :class="computedClass(currency.sell_state)">
|
|
160
|
+
<arrow-currency />
|
|
161
|
+
</div>
|
|
160
162
|
</div>
|
|
161
163
|
</div>
|
|
162
164
|
</div>
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
</
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
</
|
|
165
|
+
<div v-if="isAuthenticated" class="flex items-center gap-5">
|
|
166
|
+
<div v-if="limitRemaining != null || limitRemaining != undefined">
|
|
167
|
+
<span class="mr-2 text-xs">{{ t('header.top.requestLimit') }}</span>
|
|
168
|
+
<a-status-badge size="sm">
|
|
169
|
+
{{ limitRemaining }}
|
|
170
|
+
</a-status-badge>
|
|
171
|
+
</div>
|
|
172
|
+
<div v-if="daysRemaining">
|
|
173
|
+
<span class="mr-2 text-xs">{{ t('header.top.daysLeft') }}</span>
|
|
174
|
+
<a-status-badge size="sm">
|
|
175
|
+
{{ daysRemaining }}
|
|
176
|
+
</a-status-badge>
|
|
177
|
+
</div>
|
|
176
178
|
</div>
|
|
177
179
|
</div>
|
|
178
180
|
</div>
|
|
179
|
-
</
|
|
181
|
+
</client-only>
|
|
180
182
|
</div>
|
|
181
183
|
</template>
|
|
182
184
|
|
package/lang/en.ts
CHANGED
|
@@ -352,6 +352,7 @@ const EnLocale: RuLocale = {
|
|
|
352
352
|
},
|
|
353
353
|
},
|
|
354
354
|
footer: {
|
|
355
|
+
productsAndSolutions: 'Products and Solutions',
|
|
355
356
|
services: 'Services',
|
|
356
357
|
useful: 'Useful',
|
|
357
358
|
contacts: {
|
|
@@ -369,6 +370,7 @@ const EnLocale: RuLocale = {
|
|
|
369
370
|
vacancy: 'Vacancies',
|
|
370
371
|
counterparty: 'Enterprise Catalog',
|
|
371
372
|
contacts: 'Contacts',
|
|
373
|
+
onlineServices: 'Online services',
|
|
372
374
|
},
|
|
373
375
|
counterparties: {
|
|
374
376
|
title: 'Counterparties',
|
package/lang/kk.ts
CHANGED
|
@@ -353,6 +353,7 @@ const KkLocale: RuLocale = {
|
|
|
353
353
|
},
|
|
354
354
|
},
|
|
355
355
|
footer: {
|
|
356
|
+
productsAndSolutions: 'Өнімдер мен шешімдер',
|
|
356
357
|
services: 'Қызметтер',
|
|
357
358
|
useful: 'Пайдалы',
|
|
358
359
|
contacts: {
|
|
@@ -370,6 +371,7 @@ const KkLocale: RuLocale = {
|
|
|
370
371
|
vacancy: 'Бос орындар',
|
|
371
372
|
counterparty: 'Кәсіпорындар каталогы',
|
|
372
373
|
contacts: 'Байланыс',
|
|
374
|
+
onlineServices: 'Онлайн қызметтер',
|
|
373
375
|
},
|
|
374
376
|
counterparties: {
|
|
375
377
|
title: 'Контрагенттер',
|
package/lang/ru.ts
CHANGED
|
@@ -352,6 +352,7 @@ const RuLocale = {
|
|
|
352
352
|
},
|
|
353
353
|
},
|
|
354
354
|
footer: {
|
|
355
|
+
productsAndSolutions: 'Продукты и решения',
|
|
355
356
|
services: 'Сервисы',
|
|
356
357
|
useful: 'Полезное',
|
|
357
358
|
contacts: {
|
|
@@ -369,6 +370,7 @@ const RuLocale = {
|
|
|
369
370
|
vacancy: 'Вакансии',
|
|
370
371
|
counterparty: 'Каталог предприятий',
|
|
371
372
|
contacts: 'Контакты',
|
|
373
|
+
onlineServices: 'Онлайн сервисы',
|
|
372
374
|
},
|
|
373
375
|
counterparties: {
|
|
374
376
|
title: 'Контрагенты',
|