adata-ui 2.1.0 → 2.1.2
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/.editorconfig +12 -12
- package/.nuxtrc +1 -1
- package/.playground/app.config.ts +5 -5
- package/README.md +75 -75
- package/app.config.ts +4 -3
- package/app.vue +1 -0
- package/assets/styles/index.scss +104 -0
- package/assets/styles/modules/_base.scss +5 -0
- package/assets/styles/modules/_typography.scss +152 -0
- package/components/elements/README.md +1 -1
- package/components/elements/accordion/AAccordion.vue +13 -12
- package/components/elements/curve-block/ACurveBlock.vue +94 -19
- package/components/elements/feature-description/AFeatureDescription.vue +4 -4
- package/components/elements/illustrations/noAccess.vue +11 -2
- package/components/elements/photos-animation/APhotosAnimation.vue +3 -1
- package/components/elements/select/ASelect.vue +65 -9
- package/components/features/lang-switcher/lang-switcher.vue +8 -1
- package/components/features/payment/banner/BasicPlusLimitBanner.vue +104 -0
- package/components/features/payment/banner/PaymentBanner.vue +108 -0
- package/components/features/payment/process/PaymentKaspiQrSidePanel.vue +158 -0
- package/components/features/payment/process/PaymentKaspiRedirectSidePanel.vue +112 -0
- package/components/features/payment/process/PaymentMethodSidePanel.vue +121 -0
- package/components/features/payment/process/PaymentProcess.vue +138 -0
- package/components/features/payment/process/PaymentTopUpSidePanel.vue +130 -0
- package/components/features/pk-mobile-services/APkMobileServices.vue +21 -2
- package/components/forms/README.md +1 -1
- package/components/forms/checkbox/ACheckbox.vue +0 -2
- package/components/forms/radio-button/ARadioButton.vue +21 -13
- package/components/forms/request-demo/ARequestDemo.vue +21 -7
- package/components/modals/AConfirmationEmail.vue +40 -0
- package/components/modals/AnotherDeviceModal.vue +3 -2
- package/components/modals/ConnectingTariffModal.vue +0 -1
- package/components/modals/ContentNavigationModal.vue +148 -75
- package/components/modals/Insufficient-funds-modal.vue +5 -2
- package/components/modals/LimitReachedModal.vue +4 -3
- package/components/modals/ReportBugModal.vue +3 -3
- package/components/modals/Resend.vue +82 -0
- package/components/modals/SubmitApplicationModal.vue +4 -0
- package/components/modals/id/AuthModal.vue +78 -0
- package/components/modals/id/IdAutoLogoutModal.vue +45 -0
- package/components/modals/id/IdBanner.vue +58 -0
- package/components/modals/id/IdConfirmAccountOtpModal.vue +186 -0
- package/components/modals/id/IdConfirmSuccessfulModal.vue +41 -0
- package/components/modals/id/IdLoginModal.vue +316 -0
- package/components/modals/id/IdModals.vue +114 -0
- package/components/modals/id/IdNewPasswordModal.vue +129 -0
- package/components/modals/id/IdOtpInput.vue +155 -0
- package/components/modals/id/IdPasswordSuccessfulModal.vue +25 -0
- package/components/modals/id/IdRecoveryModal.vue +117 -0
- package/components/modals/id/IdRegistrationModal.vue +215 -0
- package/components/modals/id/IdResetPasswordOtpModal.vue +158 -0
- package/components/modals/id/IdTwoFactorModal.vue +130 -0
- package/components/navigation/README.md +1 -1
- package/components/navigation/bottom-navigation/ABottomNavigation.vue +34 -29
- package/components/navigation/footer/AFooter.vue +210 -57
- package/components/navigation/footer/ui/{new-footer-accordion.vue → a-footer-accordion.vue} +2 -4
- package/components/navigation/header/AHeader.vue +59 -51
- package/components/navigation/header/AlmatyContacts.vue +16 -14
- package/components/navigation/header/AstanaContacts.vue +13 -11
- package/components/navigation/header/CardGallery.vue +5 -4
- package/components/navigation/header/HeaderLink.vue +16 -8
- package/components/navigation/header/NavList.vue +21 -5
- package/components/navigation/header/ProductMenu.vue +8 -78
- package/components/navigation/header/ProfileMenu.vue +10 -5
- package/components/navigation/header/TopHeader.vue +2 -2
- package/components/navigation/mobile-navigation/AMobileNavigation.vue +3 -3
- package/components/navigation/pill-tabs/APillTabs.vue +18 -4
- package/components/navigation/pill-tabs/types.ts +1 -0
- package/components/navigation/side-navigation/ASideNavigation.vue +23 -21
- package/components/overlays/README.md +1 -1
- package/components/overlays/side-panel/ASidePanel.vue +439 -0
- package/components/overlays/tooltip/ATooltip.vue +149 -154
- package/components/utils/removeTrailingSlash.ts +7 -0
- package/composables/useBuyTariffs.ts +91 -0
- package/composables/useHeaderNavigationLinks.ts +174 -297
- package/composables/useIdModals.ts +36 -0
- package/composables/usePayment.ts +74 -0
- package/composables/useUrls.ts +21 -0
- package/eslint.config.mjs +45 -0
- package/icons/adata-logo.vue +1 -1
- package/icons/ai-assistant.vue +13 -0
- package/icons/akimat.vue +20 -0
- package/icons/arrow/arrow-bottom-left-on-square.vue +1 -1
- package/icons/arrow/arrow-circle-reset.vue +1 -1
- package/icons/arrow/arrow-corner.vue +1 -1
- package/icons/arrow/arrow-graph-down.vue +1 -1
- package/icons/arrow/arrow-graph-up.vue +1 -1
- package/icons/arrow/arrow-square-down.vue +1 -1
- package/icons/arrow/arrow-top-right-on-square.vue +1 -1
- package/icons/arrow-currency-gray.vue +1 -1
- package/icons/arrow-currency-green.vue +1 -1
- package/icons/arrow-currency-red.vue +1 -1
- package/icons/avatar.vue +1 -1
- package/icons/bank.vue +5 -0
- package/icons/block.vue +1 -1
- package/icons/bookmark/bookmark-filled.vue +1 -1
- package/icons/bookmark/bookmark.vue +1 -1
- package/icons/browsers/browser-duck.vue +1 -1
- package/icons/browsers/browser-google.vue +7 -1
- package/icons/browsers/browser-yandex.vue +1 -1
- package/icons/building-vector.vue +1 -1
- package/icons/calculator.vue +1 -1
- package/icons/calendar.vue +1 -1
- package/icons/car.vue +1 -1
- package/icons/chart-bar.vue +5 -0
- package/icons/chart-pie.vue +16 -0
- package/icons/check/check-circle.vue +1 -1
- package/icons/check/check.vue +1 -1
- package/icons/check/checkmark-circle.vue +1 -1
- package/icons/check-sb.vue +7 -0
- package/icons/checkbox/checkbox-active.vue +1 -1
- package/icons/checkbox/checkbox-empty.vue +1 -1
- package/icons/checkbox/checkbox-intermediate.vue +1 -1
- package/icons/chevron/chevron-down.vue +1 -1
- package/icons/chevron/chevron-left.vue +1 -1
- package/icons/chevron/chevron-right.vue +1 -1
- package/icons/chevron/chevron-up.vue +1 -1
- package/icons/chevron/double-chevron-right.vue +1 -1
- package/icons/clipboard-text.vue +1 -1
- package/icons/clock.vue +1 -1
- package/icons/company/company-bazis.vue +3 -3
- package/icons/company/company-bereke.vue +13 -13
- package/icons/company/company-bigroup.vue +5 -5
- package/icons/company/company-erg.vue +6 -6
- package/icons/company/company-forte.vue +11 -11
- package/icons/company/company-halyk.vue +4 -4
- package/icons/company/company-jusan.vue +20 -3
- package/icons/company/company-kaspi.vue +3 -3
- package/icons/company/company-mycar.vue +2 -2
- package/icons/company/company-samruk.vue +9 -9
- package/icons/company-egov-small.vue +1 -1
- package/icons/company.vue +1 -1
- package/icons/copy.vue +1 -1
- package/icons/currency/currency-dollar.vue +1 -1
- package/icons/currency/currency-down.vue +1 -1
- package/icons/currency/currency-eur.vue +1 -1
- package/icons/currency/currency-rub.vue +1 -1
- package/icons/currency/currency-tenge.vue +9 -0
- package/icons/currency/currency-usd.vue +1 -1
- package/icons/currency/currency-yuan.vue +1 -1
- package/icons/delete.vue +1 -1
- package/icons/document.vue +1 -1
- package/icons/download.vue +1 -1
- package/icons/edit.vue +1 -1
- package/icons/education.vue +1 -1
- package/icons/egov-small.vue +1 -1
- package/icons/excel-icon.vue +14 -0
- package/icons/expand-window.vue +1 -1
- package/icons/eye-closed.vue +1 -1
- package/icons/eye-open.vue +1 -1
- package/icons/eye-opened.vue +1 -1
- package/icons/file/file.vue +1 -1
- package/icons/filter.vue +1 -1
- package/icons/flag.vue +1 -1
- package/icons/gift.vue +1 -1
- package/icons/globe.vue +1 -1
- package/icons/google.vue +41 -0
- package/icons/hand/hand-thumb-up-filled.vue +1 -1
- package/icons/hand/hand-thumb-up.vue +1 -1
- package/icons/hand-with-phone/hand-with-phone-dark.vue +1 -1
- package/icons/hand-with-phone/hand-with-phone-light.vue +1 -1
- package/icons/handshake.vue +1 -1
- package/icons/hcheck.vue +1 -1
- package/icons/hdocument.vue +1 -1
- package/icons/history.vue +1 -1
- package/icons/horizontal-more.vue +1 -1
- package/icons/hot-line.vue +6 -0
- package/icons/hummer.vue +1 -1
- package/icons/info/info-circle.vue +1 -1
- package/icons/invoice.vue +1 -1
- package/icons/kaspi-qr.vue +13 -0
- package/icons/link-chain.vue +1 -1
- package/icons/link.vue +1 -1
- package/icons/linkedin.vue +24 -24
- package/icons/loader-circle.vue +1 -1
- package/icons/location.vue +1 -1
- package/icons/lock.vue +1 -1
- package/icons/logo.vue +1 -1
- package/icons/logout.vue +1 -1
- package/icons/magnify/magnifying-glass-minus.vue +1 -1
- package/icons/magnify/magnifying-glass-plus.vue +1 -1
- package/icons/magnify/magnifying-glass.vue +1 -1
- package/icons/mail.vue +1 -1
- package/icons/mailru.vue +34 -0
- package/icons/main-filter.vue +1 -1
- package/icons/map/map-pin-filled.vue +1 -1
- package/icons/map/map-pin-rect.vue +1 -1
- package/icons/map/map-pin.vue +1 -1
- package/icons/map-marker-start.vue +1 -1
- package/icons/medal.vue +1 -1
- package/icons/menu-filled.vue +1 -1
- package/icons/menu.vue +1 -1
- package/icons/message/message.vue +1 -1
- package/icons/minus/minus-circle.vue +1 -1
- package/icons/money.vue +1 -1
- package/icons/monitoring.vue +1 -1
- package/icons/moon.vue +1 -1
- package/icons/more.vue +1 -1
- package/icons/notification.vue +1 -1
- package/icons/paperclip.vue +1 -1
- package/icons/payment/payment-card.vue +1 -1
- package/icons/payment/payment-kaspi.vue +1 -1
- package/icons/person-vector.vue +1 -1
- package/icons/person-with-briefcase.vue +1 -1
- package/icons/phone-filled.vue +1 -1
- package/icons/phone.vue +1 -1
- package/icons/plus/plus-circle.vue +1 -1
- package/icons/plus/plus.vue +1 -1
- package/icons/profile.vue +1 -1
- package/icons/radio/radio-check.vue +1 -1
- package/icons/radio/radio-empty.vue +1 -1
- package/icons/receipt.vue +1 -1
- package/icons/sanctions.vue +8 -0
- package/icons/scales/scale.vue +1 -1
- package/icons/scales/scales.vue +1 -1
- package/icons/scales/standing-scales.vue +1 -1
- package/icons/search.vue +1 -1
- package/icons/share/share-alt.vue +1 -1
- package/icons/share/share.vue +1 -1
- package/icons/socials/face-book.vue +1 -1
- package/icons/socials/instagram.vue +1 -1
- package/icons/socials/telegram.vue +1 -1
- package/icons/socials/tik-tok.vue +1 -1
- package/icons/socials/youtube.vue +1 -1
- package/icons/sort/sort-asc.vue +1 -1
- package/icons/sort/sort-desc.vue +1 -1
- package/icons/splitting-arrows.vue +1 -1
- package/icons/star/star-filled.vue +1 -1
- package/icons/star/star-half-filled.vue +1 -1
- package/icons/star/star.vue +1 -1
- package/icons/sun.vue +14 -14
- package/icons/sviazi.vue +1 -1
- package/icons/tag.vue +1 -1
- package/icons/tasks.vue +10 -0
- package/icons/tender-search.vue +1 -1
- package/icons/toasts/check-circle-toast.vue +1 -1
- package/icons/toasts/warning-triangle-toast.vue +1 -1
- package/icons/trash.vue +1 -1
- package/icons/triangle.vue +1 -1
- package/icons/truck.vue +1 -1
- package/icons/user.vue +1 -1
- package/icons/users-focus.vue +1 -1
- package/icons/users.vue +1 -1
- package/icons/warning/warning-circle.vue +1 -1
- package/icons/warning/warning-triangle-filled.vue +1 -1
- package/icons/warning/warning-triangle.vue +1 -1
- package/icons/whatsapp.vue +1 -1
- package/icons/work-bag.vue +1 -1
- package/icons/work-case.vue +9 -0
- package/icons/work-search.vue +1 -1
- package/icons/work.vue +1 -1
- package/icons/x-mark.vue +1 -1
- package/icons/yandex.vue +28 -0
- package/illustrations/address-location.vue +1 -1
- package/illustrations/ball-with-chain.vue +1 -1
- package/illustrations/bill.vue +1 -1
- package/illustrations/buildings.vue +1 -1
- package/illustrations/calendar.vue +1 -1
- package/illustrations/chains.vue +1 -1
- package/illustrations/coin-percent.vue +1 -1
- package/illustrations/coins-stack.vue +1 -1
- package/illustrations/delete-dark.vue +1 -1
- package/illustrations/delete.vue +1 -1
- package/illustrations/doc-with-stamp.vue +1 -1
- package/illustrations/document.vue +1 -1
- package/illustrations/door.vue +1 -1
- package/illustrations/empty-box.vue +1 -1
- package/illustrations/empty-wallet.vue +1 -1
- package/illustrations/graph-in-coin.vue +1 -1
- package/illustrations/hammer.vue +1 -1
- package/illustrations/hand-cash.vue +1 -1
- package/illustrations/info.vue +1 -1
- package/illustrations/mail.vue +1 -1
- package/illustrations/ok.vue +1 -1
- package/illustrations/people-group.vue +1 -1
- package/illustrations/person-with-phone.vue +1 -1
- package/illustrations/person.vue +1 -1
- package/illustrations/phone-check.vue +1 -1
- package/illustrations/phone-payment-method.vue +1 -1
- package/illustrations/stop-hand.vue +1 -1
- package/illustrations/stop-sign.vue +1 -1
- package/illustrations/suit.vue +1 -1
- package/illustrations/suitcase.vue +1 -1
- package/illustrations/terminal-dark.vue +1 -1
- package/illustrations/terminal.vue +1 -1
- package/illustrations/trash-can.vue +1 -1
- package/illustrations/turn-on-tariff.vue +1 -1
- package/illustrations/two-persons.vue +1 -1
- package/lang/en.ts +475 -270
- package/lang/kk.ts +476 -271
- package/lang/ru.ts +315 -107
- package/layouts/default.vue +13 -13
- package/nuxt.config.ts +42 -14
- package/package.json +69 -53
- package/public/kaspi/logo.svg +4 -0
- package/shared/constans/pages.ts +17 -2
- package/tailwind.config.ts +163 -0
- package/vitest.config.ts +14 -0
- package/.eslintrc.cjs +0 -4
- package/.playground/app.vue +0 -9
- package/.playground/pages/index.vue +0 -13
- package/.prettierignore +0 -24
- package/.prettierrc +0 -10
- package/assets/styles/index.css +0 -226
- package/components/modals/AuthModal.vue +0 -50
- package/components/navigation/footer/NewFooter.vue +0 -276
- package/components/navigation/footer/ui/footer-acccordion.vue +0 -119
|
@@ -49,12 +49,16 @@ function onSend() {
|
|
|
49
49
|
<div class="rounded-[20px] bg-blue-700 dark:bg-[#1B98E2] p-4 dark:bg-blue-500 lg:p-8">
|
|
50
50
|
<div class="flex w-full flex-col gap-4 lg:flex-row lg:justify-between">
|
|
51
51
|
<div class="flex flex-col gap-4 text-white dark:text-gray-900 lg:max-w-[50%] lg:gap-6">
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
<slot name="title">
|
|
53
|
+
<p class="md:text-[32px] text-[24px] font-bold">
|
|
54
|
+
{{ title || t('forms.request_demo.title') }}
|
|
55
|
+
</p>
|
|
56
|
+
</slot>
|
|
57
|
+
<slot name="description">
|
|
58
|
+
<p class="text-base whitespace-pre-line">
|
|
59
|
+
{{ description || t('forms.request_demo.info') }}
|
|
60
|
+
</p>
|
|
61
|
+
</slot>
|
|
58
62
|
</div>
|
|
59
63
|
<div class="rounded-[20px] bg-white p-6 dark:bg-gray-900 lg:w-[456px]">
|
|
60
64
|
<div class="flex flex-col gap-4">
|
|
@@ -62,17 +66,22 @@ function onSend() {
|
|
|
62
66
|
<div class="flex flex-col gap-4">
|
|
63
67
|
<a-input-standard
|
|
64
68
|
v-model="form.sender_name"
|
|
69
|
+
required
|
|
65
70
|
:label="t('forms.demo.n')"
|
|
66
71
|
:error="getError('sender_name')"
|
|
67
72
|
/>
|
|
68
73
|
<a-input-standard
|
|
69
74
|
v-model="form.email"
|
|
75
|
+
required
|
|
70
76
|
:label="t('forms.demo.e')"
|
|
71
77
|
:error="getError('email')"
|
|
72
78
|
type="email"
|
|
73
79
|
/>
|
|
74
80
|
<a-input-standard
|
|
75
81
|
v-model="form.phone_number"
|
|
82
|
+
v-maska
|
|
83
|
+
required
|
|
84
|
+
data-maska="8 (###) ###-##-##"
|
|
76
85
|
:label="t('forms.demo.p')"
|
|
77
86
|
:error="getError('phone_number')"
|
|
78
87
|
type="tel"
|
|
@@ -80,7 +89,12 @@ function onSend() {
|
|
|
80
89
|
</div>
|
|
81
90
|
</slot>
|
|
82
91
|
<div>
|
|
83
|
-
<a-button
|
|
92
|
+
<a-button
|
|
93
|
+
block
|
|
94
|
+
@click="onSend"
|
|
95
|
+
>
|
|
96
|
+
{{ t('forms.request_demo.send') }}
|
|
97
|
+
</a-button>
|
|
84
98
|
</div>
|
|
85
99
|
</div>
|
|
86
100
|
</div>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
const emit = defineEmits<{
|
|
3
|
+
(e: 'resend'): void
|
|
4
|
+
(e: 'close'): void
|
|
5
|
+
}>()
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<template>
|
|
9
|
+
<div class="flex flex-col justify-center items-center gap-5">
|
|
10
|
+
<p class="heading-02">
|
|
11
|
+
{{ $t('login.modal.title') }}
|
|
12
|
+
</p>
|
|
13
|
+
<a-ill-mail />
|
|
14
|
+
<p class="body-400 text-center">
|
|
15
|
+
{{ $t('login.modal.subtitle1') }}
|
|
16
|
+
</p>
|
|
17
|
+
<p class="body-400 text-center">
|
|
18
|
+
{{ $t('login.modal.confirmationEmail') }}
|
|
19
|
+
</p>
|
|
20
|
+
<div class="flex flex-col gap-2 w-full">
|
|
21
|
+
<a-button
|
|
22
|
+
class="w-full"
|
|
23
|
+
view="outline"
|
|
24
|
+
@click="emit('close')"
|
|
25
|
+
>
|
|
26
|
+
{{ $t('login.modal.back') }}
|
|
27
|
+
</a-button>
|
|
28
|
+
<a-button
|
|
29
|
+
class="w-full"
|
|
30
|
+
@click="emit('resend')"
|
|
31
|
+
>
|
|
32
|
+
{{ $t('login.modal.resend') }}
|
|
33
|
+
</a-button>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</template>
|
|
37
|
+
|
|
38
|
+
<style scoped>
|
|
39
|
+
|
|
40
|
+
</style>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { useAnotherDeviceModal } from '#adata-ui/composables/modalsState'
|
|
3
|
+
import { useUrls } from '#adata-ui/composables/useUrls'
|
|
3
4
|
const { t, locale } = useI18n()
|
|
4
5
|
const localePath = useLocalePath()
|
|
5
6
|
|
|
6
7
|
const isOpen = useAnotherDeviceModal()
|
|
7
|
-
const {
|
|
8
|
+
const { landing } = useUrls()
|
|
8
9
|
|
|
9
10
|
function onClose() {
|
|
10
11
|
isOpen.value = false
|
|
@@ -47,7 +48,7 @@ function onClose() {
|
|
|
47
48
|
</a-button>
|
|
48
49
|
<a-button
|
|
49
50
|
class="w-full"
|
|
50
|
-
:to="buildLocalizedUrl(locale,
|
|
51
|
+
:to="buildLocalizedUrl(locale, landing)"
|
|
51
52
|
>
|
|
52
53
|
{{ t('modals.buttons.toMain') }}
|
|
53
54
|
</a-button>
|
|
@@ -25,87 +25,117 @@ import Connections from "#adata-ui/icons/sviazi.vue";
|
|
|
25
25
|
import {useCurrentModule} from "#adata-ui/composables/projectState";
|
|
26
26
|
import IconCalc from '#adata-ui/icons/calculator.vue'
|
|
27
27
|
import { buildLocalizedUrl } from '#adata-ui/utils/localizedNavigation'
|
|
28
|
-
import {
|
|
28
|
+
import {
|
|
29
|
+
AIconAkimat,
|
|
30
|
+
AIconCurrencyTenge,
|
|
31
|
+
AIconExcelIcon,
|
|
32
|
+
AIconFiles, AIconSearch,
|
|
33
|
+
AIconUsers,
|
|
34
|
+
AIconWarningTriangle
|
|
35
|
+
} from '#components'
|
|
36
|
+
import MapPinRect from '#adata-ui/icons/map/map-pin-rect.vue'
|
|
37
|
+
import ChartBar from '#adata-ui/icons/chart-bar.vue'
|
|
38
|
+
import Bank from '#adata-ui/icons/bank.vue'
|
|
39
|
+
import { useUrls } from '#adata-ui/composables/useUrls'
|
|
40
|
+
import MapPaper from '#adata-ui/icons/map-paper.vue'
|
|
41
|
+
import AiAssistant from '#adata-ui/icons/ai-assistant.vue'
|
|
42
|
+
import Tasks from '#adata-ui/icons/tasks.vue'
|
|
43
|
+
import HotLine from '#adata-ui/icons/hot-line.vue'
|
|
44
|
+
import Sanctions from '#adata-ui/icons/sanctions.vue'
|
|
45
|
+
import CheckSb from '#adata-ui/icons/check-sb.vue'
|
|
29
46
|
type Emits = {
|
|
30
47
|
(e: 'pushMain'): void
|
|
31
48
|
}
|
|
32
49
|
const isOpen = ref(false)
|
|
33
50
|
const tab = ref(useCurrentModule().value)
|
|
34
51
|
const { myLayer }: any = useAppConfig()
|
|
35
|
-
const
|
|
36
|
-
const emits = defineEmits<Emits>()
|
|
52
|
+
const urls = useUrls()
|
|
37
53
|
|
|
54
|
+
const { t, locale } = useI18n()
|
|
55
|
+
const emits = defineEmits<Emits>()
|
|
56
|
+
const mode = myLayer.mode
|
|
38
57
|
|
|
39
58
|
const tabOptions = [
|
|
40
59
|
{
|
|
41
60
|
name: 'header.products.counterparties.label',
|
|
42
61
|
key: 'pk',
|
|
43
62
|
},
|
|
44
|
-
{
|
|
45
|
-
name: 'header.products.jobs.label',
|
|
46
|
-
key: 'work',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
name: 'header.products.tenders.label',
|
|
50
|
-
key: 'tenders',
|
|
51
|
-
},
|
|
52
63
|
{
|
|
53
64
|
name: 'header.products.fines.label',
|
|
54
65
|
key: 'fines',
|
|
55
66
|
},
|
|
56
67
|
{
|
|
57
|
-
name: 'header.products.
|
|
58
|
-
key: '
|
|
68
|
+
name: 'header.products.jobs.label',
|
|
69
|
+
key: 'work',
|
|
59
70
|
},
|
|
60
71
|
{
|
|
61
72
|
name: 'header.products.fea.label',
|
|
62
73
|
key: 'fea',
|
|
63
74
|
},
|
|
64
75
|
{
|
|
65
|
-
name: 'header.products.
|
|
66
|
-
key: '
|
|
76
|
+
name: 'header.products.tenders.label',
|
|
77
|
+
key: 'tenders',
|
|
67
78
|
},
|
|
68
79
|
{
|
|
69
80
|
name: 'header.products.edo.label',
|
|
70
81
|
key: 'edo',
|
|
71
|
-
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'header.products.compliance.label',
|
|
85
|
+
key: 'compliance',
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
{
|
|
89
|
+
name: 'header.products.analytics.label',
|
|
90
|
+
key: 'analytics',
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
72
95
|
]
|
|
73
96
|
const sideLinks = <any>{
|
|
97
|
+
edo: [
|
|
98
|
+
{
|
|
99
|
+
label: 'header.products.edo.label',
|
|
100
|
+
icon: AIconFiles,
|
|
101
|
+
link: urls.edo + PAGES.edo.l
|
|
102
|
+
}
|
|
103
|
+
],
|
|
74
104
|
pk: [
|
|
75
105
|
{
|
|
76
106
|
icon: IconSearch,
|
|
77
107
|
label: 'header.products.counterparties.items.counterparty.title',
|
|
78
|
-
link:
|
|
108
|
+
link: urls.pk + PAGES.pk.main
|
|
79
109
|
},
|
|
80
110
|
{
|
|
81
111
|
icon: IconScales,
|
|
82
112
|
label: 'header.products.counterparties.items.compare.title',
|
|
83
|
-
link: myLayer.counterParty ?
|
|
113
|
+
link: myLayer.counterParty ? urls.pk + myLayer.counterParty + PAGES.pk.compare : urls.pk + PAGES.pk.compare
|
|
84
114
|
},
|
|
85
115
|
{
|
|
86
116
|
icon: IconLink,
|
|
87
117
|
label: 'header.products.counterparties.items.networks.title',
|
|
88
|
-
link: myLayer.counterParty ?
|
|
118
|
+
link: myLayer.counterParty ? urls.pk + myLayer.counterParty + '/search-connections/check' : urls.pk + PAGES.pk.connections
|
|
89
119
|
},
|
|
90
120
|
{
|
|
91
121
|
icon: IconUsers,
|
|
92
122
|
label: 'header.products.counterparties.items.wholesale.title',
|
|
93
|
-
link: myLayer.counterParty ?
|
|
123
|
+
link: myLayer.counterParty ? urls.pk + myLayer.counterParty + PAGES.pk.employees : urls.pk + PAGES.pk.employees
|
|
94
124
|
},
|
|
95
125
|
{
|
|
96
126
|
icon: IconGlobe,
|
|
97
127
|
label: 'header.products.counterparties.items.foreign.title',
|
|
98
|
-
link:
|
|
128
|
+
link: urls.pk + PAGES.pk.foreign
|
|
99
129
|
},
|
|
100
130
|
{
|
|
101
131
|
icon: IconBlock,
|
|
102
132
|
label: 'header.products.counterparties.items.sanction.title',
|
|
103
|
-
link: myLayer.counterParty ?
|
|
133
|
+
link: myLayer.counterParty ? urls.pk + myLayer.counterParty + PAGES.pk.sanctions : urls.pk + PAGES.pk.sanctions
|
|
104
134
|
},
|
|
105
135
|
{
|
|
106
136
|
icon: IconDollar,
|
|
107
137
|
label: 'header.products.counterparties.items.offshore.title',
|
|
108
|
-
link: myLayer.counterParty ?
|
|
138
|
+
link: myLayer.counterParty ? urls.pk + myLayer.counterParty + PAGES.pk.offshore : urls.pk + PAGES.pk.offshore
|
|
109
139
|
},
|
|
110
140
|
// {
|
|
111
141
|
// icon: IconDocument,
|
|
@@ -115,53 +145,51 @@ const sideLinks = <any>{
|
|
|
115
145
|
{
|
|
116
146
|
icon: IconArrowCircle,
|
|
117
147
|
label: 'header.products.counterparties.items.unloading.title',
|
|
118
|
-
link:
|
|
148
|
+
link: urls.pk + PAGES.pk.unload
|
|
119
149
|
}
|
|
120
150
|
],
|
|
121
151
|
work: [
|
|
122
152
|
{
|
|
123
153
|
icon: IconWork,
|
|
124
154
|
label: 'header.products.jobs.items.vacancies.title',
|
|
125
|
-
link:
|
|
155
|
+
link: urls.work + PAGES.work.vacancy
|
|
126
156
|
},
|
|
127
157
|
{
|
|
128
158
|
icon: IconDocument,
|
|
129
159
|
label: 'header.products.jobs.items.resume.title',
|
|
130
|
-
link:
|
|
160
|
+
link: urls.work + PAGES.work.summary
|
|
131
161
|
},
|
|
132
162
|
],
|
|
133
163
|
tenders: [
|
|
134
164
|
{
|
|
135
|
-
icon:
|
|
136
|
-
label: 'header.products.tenders.items.
|
|
137
|
-
link:
|
|
165
|
+
icon: AIconUsers,
|
|
166
|
+
label: t('header.products.tenders.items.customers.title'),
|
|
167
|
+
link: urls.zakupki + PAGES.tender.customers,
|
|
138
168
|
},
|
|
139
169
|
{
|
|
140
|
-
icon:
|
|
141
|
-
label: 'header.products.tenders.items.
|
|
142
|
-
link:
|
|
170
|
+
icon: AIconAkimat,
|
|
171
|
+
label: t('header.products.tenders.items.akimat.title'),
|
|
172
|
+
link: urls.zakupki + PAGES.tender.akimat,
|
|
143
173
|
},
|
|
144
174
|
{
|
|
145
|
-
icon:
|
|
146
|
-
label: 'header.products.tenders.items.
|
|
147
|
-
link:
|
|
148
|
-
}
|
|
149
|
-
],
|
|
150
|
-
fines: [
|
|
175
|
+
icon: AIconWarningTriangle,
|
|
176
|
+
label: 'header.products.tenders.items.tru.title',
|
|
177
|
+
link: urls.zakupki + PAGES.tender.tru
|
|
178
|
+
},
|
|
151
179
|
{
|
|
152
|
-
icon:
|
|
153
|
-
label: 'header.products.
|
|
154
|
-
link:
|
|
180
|
+
icon: AIconCurrencyTenge,
|
|
181
|
+
label: 'header.products.tenders.items.price.title',
|
|
182
|
+
link: urls.zakupki + PAGES.tender.price
|
|
155
183
|
},
|
|
156
184
|
{
|
|
157
|
-
icon:
|
|
158
|
-
label: 'header.products.
|
|
159
|
-
link:
|
|
185
|
+
icon: AIconExcelIcon,
|
|
186
|
+
label: 'header.products.tenders.items.constructor.title',
|
|
187
|
+
link: urls.zakupki + PAGES.tender.constructor
|
|
160
188
|
},
|
|
161
189
|
{
|
|
162
|
-
icon:
|
|
163
|
-
label: 'header.products.
|
|
164
|
-
link:
|
|
190
|
+
icon: AIconSearch,
|
|
191
|
+
label: 'header.products.tenders.items.monitoring.title',
|
|
192
|
+
link: urls.tender
|
|
165
193
|
}
|
|
166
194
|
],
|
|
167
195
|
analytics: [
|
|
@@ -170,66 +198,111 @@ const sideLinks = <any>{
|
|
|
170
198
|
// label: 'header.products.analytics.items.clients.title',
|
|
171
199
|
// link: myLayer.analyticsUrl + PAGES.analytics.clients
|
|
172
200
|
// },
|
|
173
|
-
{
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
},
|
|
201
|
+
// {
|
|
202
|
+
// icon: IconCheck,
|
|
203
|
+
// label: 'header.products.analytics.items.procurement.title',
|
|
204
|
+
// link: urls.analyticsNew + PAGES.analytics.main
|
|
205
|
+
// },
|
|
178
206
|
{
|
|
179
207
|
icon: IconArrowGraph,
|
|
180
208
|
label: 'header.products.analytics.items.activity.title',
|
|
181
|
-
link:
|
|
209
|
+
link: urls.analyticsNew + PAGES.analytics.index
|
|
182
210
|
},
|
|
183
211
|
{
|
|
184
212
|
icon: IconCompany,
|
|
185
213
|
label: 'header.products.analytics.items.subjects.title',
|
|
186
|
-
link:
|
|
214
|
+
link: urls.analyticsNew + PAGES.analytics.business
|
|
187
215
|
},
|
|
188
216
|
{
|
|
189
217
|
icon: IconMedal,
|
|
190
218
|
label: 'header.products.analytics.items.rate.title',
|
|
191
|
-
link:
|
|
219
|
+
link: urls.analyticsNew + PAGES.analytics.rating
|
|
192
220
|
}
|
|
193
221
|
],
|
|
222
|
+
fines: [
|
|
223
|
+
{
|
|
224
|
+
icon: IconCheckCircle,
|
|
225
|
+
label: 'header.products.fines.items.fines.title',
|
|
226
|
+
link: urls.avto + PAGES.fines.main
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
icon: IconCar,
|
|
230
|
+
label: 'header.products.fines.items.auto.title',
|
|
231
|
+
link: urls.avto + PAGES.fines.avto
|
|
232
|
+
},
|
|
233
|
+
// {
|
|
234
|
+
// icon: IconTruck,
|
|
235
|
+
// label: 'header.products.fines.items.wholesaleAuto.title',
|
|
236
|
+
// link: myLayer.avtoUrl + PAGES.fines.bulk
|
|
237
|
+
// }
|
|
238
|
+
],
|
|
194
239
|
fea: [
|
|
195
240
|
{
|
|
196
241
|
label: 'header.products.fea.items.i.t',
|
|
197
242
|
icon: IconSearch,
|
|
198
|
-
link: `${
|
|
243
|
+
link: `${urls.tnved}${PAGES.fea.t}`
|
|
199
244
|
},
|
|
200
245
|
{
|
|
201
246
|
label: 'header.products.fea.items.o.t',
|
|
202
247
|
icon: Connections,
|
|
203
|
-
link: `${
|
|
248
|
+
link: `${urls.tnved}${PAGES.fea.o}`
|
|
204
249
|
},
|
|
205
250
|
{
|
|
206
251
|
label: 'header.products.fea.items.cp.t',
|
|
207
252
|
icon: IconFile,
|
|
208
|
-
link: `${
|
|
253
|
+
link: `${urls.tnved}${PAGES.fea.cp}`
|
|
209
254
|
},
|
|
210
255
|
{
|
|
211
256
|
label: 'header.products.fea.items.ca.t',
|
|
212
257
|
icon: IconCalc,
|
|
213
|
-
link: `${
|
|
258
|
+
link: `${urls.tnved}${PAGES.fea.ca}`
|
|
214
259
|
},
|
|
215
260
|
{
|
|
216
261
|
label: 'header.products.fea.items.tr.t',
|
|
217
262
|
icon: IconGlobe,
|
|
218
|
-
link: `${
|
|
263
|
+
link: `${urls.tnved}${PAGES.fea.tr}`
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
label: 'header.products.fea.items.importerMap.t',
|
|
267
|
+
icon: MapPinRect,
|
|
268
|
+
link: `${urls.tnved}${PAGES.fea.importerMap}`
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
label: 'header.products.fea.items.containers.t',
|
|
272
|
+
icon: MapPaper,
|
|
273
|
+
link: `${urls.tnved}${PAGES.fea.containers}`
|
|
219
274
|
}
|
|
220
275
|
],
|
|
221
276
|
compliance: [
|
|
222
277
|
{
|
|
223
|
-
label: 'header.products.compliance.
|
|
278
|
+
label: 'header.products.compliance.items.assistant.t',
|
|
279
|
+
icon: AiAssistant,
|
|
280
|
+
link: urls.compliancemain + PAGES.compliance.assistant
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
label: 'header.products.compliance.items.inspection.t',
|
|
284
|
+
icon: Tasks,
|
|
285
|
+
link: urls.compliancemain + PAGES.compliance.inspection
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
label: 'header.products.compliance.items.hotline.t',
|
|
289
|
+
icon: HotLine,
|
|
290
|
+
link: urls.compliancemain + PAGES.compliance.hotline
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
label: 'header.products.compliance.items.sanctions.t',
|
|
294
|
+
icon: Sanctions,
|
|
295
|
+
link: urls.compliancemain + PAGES.compliance.sanctions
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
label: 'header.products.compliance.items.suppliers.t',
|
|
224
299
|
icon: IconProfile,
|
|
225
|
-
link:
|
|
226
|
-
}
|
|
227
|
-
],
|
|
228
|
-
edo: [
|
|
300
|
+
link: urls.compliancemain + PAGES.compliance.suppliers
|
|
301
|
+
},
|
|
229
302
|
{
|
|
230
|
-
label: 'header.products.
|
|
231
|
-
icon:
|
|
232
|
-
link:
|
|
303
|
+
label: 'header.products.compliance.items.sb.t',
|
|
304
|
+
icon: CheckSb,
|
|
305
|
+
link: urls.compliancemain + PAGES.compliance.sb
|
|
233
306
|
}
|
|
234
307
|
]
|
|
235
308
|
}
|
|
@@ -247,15 +320,15 @@ watch(tab, (e) => {
|
|
|
247
320
|
<a-modal v-model="isOpen" :title="t('modals.mobile_navigation.type_main')">
|
|
248
321
|
<div class="flex flex-col gap-5">
|
|
249
322
|
<div class="h-[1px] w-full bg-deepblue-900/5"/>
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
323
|
+
<div>
|
|
324
|
+
<a-pill-tabs v-model="tab" :options="tabOptions" view="gray"/>
|
|
325
|
+
</div>
|
|
253
326
|
<div class="h-[40vh] sm:h-[300px] overflow-auto no-scrollbar">
|
|
254
327
|
<nuxt-link
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
328
|
+
v-for="item in currentLinks"
|
|
329
|
+
:key="item.label"
|
|
330
|
+
:to="item.link"
|
|
331
|
+
class="flex items-center gap-4 px-4 py-3 bg-gray-50 dark:bg-gray-800 mb-2 rounded"
|
|
259
332
|
>
|
|
260
333
|
<div class="bg-gradient-blue p-1 rounded-lg">
|
|
261
334
|
<component
|
|
@@ -15,10 +15,14 @@ const { t } = useI18n()
|
|
|
15
15
|
interface Props {
|
|
16
16
|
deleteFromDom?: boolean
|
|
17
17
|
}
|
|
18
|
+
const { topUpSidePanel } = usePayment()
|
|
19
|
+
|
|
18
20
|
const isOpen = defineModel<boolean>({ default: false })
|
|
19
21
|
const userInfo = useState<UserInfo>('user-info', () => ({}))
|
|
22
|
+
|
|
20
23
|
function confirm() {
|
|
21
|
-
|
|
24
|
+
isOpen.value = false
|
|
25
|
+
topUpSidePanel.value = true
|
|
22
26
|
}
|
|
23
27
|
function cancel() {
|
|
24
28
|
isOpen.value = false
|
|
@@ -33,7 +37,6 @@ if (props.deleteFromDom) {
|
|
|
33
37
|
<a-modal
|
|
34
38
|
v-model="isOpen"
|
|
35
39
|
name="insufficient-funds"
|
|
36
|
-
:prevent-close="true"
|
|
37
40
|
>
|
|
38
41
|
<div class="flex flex-col gap-5">
|
|
39
42
|
<p class="heading-02 text-center">
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
|
|
3
|
+
import { useUrls } from '#adata-ui/composables/useUrls'
|
|
4
|
+
|
|
3
5
|
const { t } = useI18n()
|
|
4
6
|
const isOpen = useLimitReachedModal()
|
|
5
|
-
const
|
|
6
|
-
const loginUrl = appConfig.myLayer.landingUrl
|
|
7
|
+
const { login } = useUrls()
|
|
7
8
|
|
|
8
9
|
function goTariffs() {
|
|
9
10
|
if (window) {
|
|
10
|
-
window.location.href = `${
|
|
11
|
+
window.location.href = `${login}/tariffs`
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
14
|
</script>
|
|
@@ -4,8 +4,8 @@ import * as z from 'zod'
|
|
|
4
4
|
import { useUIValidation } from '#adata-ui/composables/useUIValidation'
|
|
5
5
|
|
|
6
6
|
const props = defineProps<{
|
|
7
|
-
name
|
|
8
|
-
email
|
|
7
|
+
name?: string
|
|
8
|
+
email?: string
|
|
9
9
|
}>()
|
|
10
10
|
|
|
11
11
|
const emit = defineEmits<{
|
|
@@ -16,7 +16,7 @@ const { t } = useI18n()
|
|
|
16
16
|
|
|
17
17
|
const mask = new Mask({ mask: '# (###) ### ## ##' })
|
|
18
18
|
|
|
19
|
-
const isOpen = defineModel<boolean>(
|
|
19
|
+
const isOpen = defineModel<boolean>()
|
|
20
20
|
const form: any = reactive({
|
|
21
21
|
name: '',
|
|
22
22
|
email: '',
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
|
|
3
|
+
import { useUrls } from '#adata-ui/composables/useUrls'
|
|
4
|
+
|
|
5
|
+
const emit = defineEmits<{
|
|
6
|
+
(e: 'resend'): void
|
|
7
|
+
(e: 'close'): void
|
|
8
|
+
}>()
|
|
9
|
+
|
|
10
|
+
const timer = ref(60)
|
|
11
|
+
const isResend = ref(false)
|
|
12
|
+
const route = useRoute()
|
|
13
|
+
const { landing } = useUrls()
|
|
14
|
+
|
|
15
|
+
function runTimer() {
|
|
16
|
+
timer.value = 60
|
|
17
|
+
const intervalId = setInterval(() => {
|
|
18
|
+
if (timer.value <= 0) {
|
|
19
|
+
isResend.value = true
|
|
20
|
+
clearInterval(intervalId);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
timer.value--;
|
|
24
|
+
}, 1000);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
onMounted(() => resend())
|
|
28
|
+
|
|
29
|
+
const resend = () => {
|
|
30
|
+
isResend.value = false
|
|
31
|
+
runTimer()
|
|
32
|
+
emit('resend')
|
|
33
|
+
}
|
|
34
|
+
const goToMain = () => {
|
|
35
|
+
if (route.query.url) {
|
|
36
|
+
document.location.replace(route.query.url)
|
|
37
|
+
} else {
|
|
38
|
+
document.location.replace(landing)
|
|
39
|
+
}
|
|
40
|
+
emit('close')
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
</script>
|
|
44
|
+
|
|
45
|
+
<template>
|
|
46
|
+
<div class="flex flex-col justify-center items-center gap-5">
|
|
47
|
+
<p class="heading-02">
|
|
48
|
+
{{ $t('login.modal.title') }}
|
|
49
|
+
</p>
|
|
50
|
+
<a-ill-mail />
|
|
51
|
+
<p class="body-400 text-center">
|
|
52
|
+
{{ $t('login.modal.subtitle1') }}
|
|
53
|
+
</p>
|
|
54
|
+
<p class="body-400 text-center">
|
|
55
|
+
{{ $t('login.modal.subtitle2') }}
|
|
56
|
+
</p>
|
|
57
|
+
<p
|
|
58
|
+
v-if="!isResend"
|
|
59
|
+
class="heading-02"
|
|
60
|
+
>
|
|
61
|
+
{{ timer }} {{ $t('login.modal.seconds') }}
|
|
62
|
+
</p>
|
|
63
|
+
<a-button
|
|
64
|
+
v-else
|
|
65
|
+
class="w-full"
|
|
66
|
+
view="outline"
|
|
67
|
+
@click="resend"
|
|
68
|
+
>
|
|
69
|
+
{{ $t('login.modal.resend') }}
|
|
70
|
+
</a-button>
|
|
71
|
+
<a-button
|
|
72
|
+
class="w-full"
|
|
73
|
+
@click="goToMain"
|
|
74
|
+
>
|
|
75
|
+
{{ $t('login.modal.back') }}
|
|
76
|
+
</a-button>
|
|
77
|
+
</div>
|
|
78
|
+
</template>
|
|
79
|
+
|
|
80
|
+
<style scoped>
|
|
81
|
+
|
|
82
|
+
</style>
|
|
@@ -64,11 +64,13 @@ defineExpose({
|
|
|
64
64
|
v-model="form.name"
|
|
65
65
|
:label="t('modals.submit_application_modal.labels.name')"
|
|
66
66
|
:error="getError('name')"
|
|
67
|
+
required
|
|
67
68
|
/>
|
|
68
69
|
<a-input-standard
|
|
69
70
|
v-model="form.email"
|
|
70
71
|
:label="t('modals.submit_application_modal.labels.email')"
|
|
71
72
|
:error="getError('email')"
|
|
73
|
+
required
|
|
72
74
|
/>
|
|
73
75
|
<a-input-standard
|
|
74
76
|
v-model="form.phone"
|
|
@@ -83,6 +85,8 @@ defineExpose({
|
|
|
83
85
|
v-model="form.comment"
|
|
84
86
|
:label="t('modals.submit_application_modal.labels.comment')"
|
|
85
87
|
:error="getError('comment')"
|
|
88
|
+
resizeable="none"
|
|
89
|
+
required
|
|
86
90
|
/>
|
|
87
91
|
</div>
|
|
88
92
|
</div>
|