adata-ui 4.0.6 → 4.0.7

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 (134) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +0 -4
  3. package/dist/runtime/components/Footer.vue +70 -69
  4. package/dist/runtime/components/Header.vue +168 -9
  5. package/dist/runtime/components/Header.vue.d.ts +24 -1
  6. package/dist/runtime/components/Tag.vue +46 -0
  7. package/dist/runtime/components/Tag.vue.d.ts +25 -0
  8. package/dist/runtime/components/header/AlmatyContacts.vue +119 -0
  9. package/dist/runtime/components/header/AstanaContacts.vue +65 -0
  10. package/dist/runtime/components/header/AstanaContacts.vue.d.ts +2 -0
  11. package/dist/runtime/components/header/CardGallery.vue +156 -0
  12. package/dist/runtime/components/header/CardGallery.vue.d.ts +2 -0
  13. package/dist/runtime/components/header/ContactMenu.vue +64 -0
  14. package/dist/runtime/components/header/ContactMenu.vue.d.ts +11 -0
  15. package/dist/runtime/components/header/HeaderLink.vue +167 -0
  16. package/dist/runtime/components/header/HeaderLink.vue.d.ts +2 -0
  17. package/dist/runtime/components/header/ListItem.vue +26 -0
  18. package/dist/runtime/components/header/ListItem.vue.d.ts +7 -0
  19. package/dist/runtime/components/header/NavCard.vue +40 -0
  20. package/dist/runtime/components/header/NavCard.vue.d.ts +8 -0
  21. package/dist/runtime/components/header/NavList.vue +58 -0
  22. package/dist/runtime/components/header/NavList.vue.d.ts +15 -0
  23. package/dist/runtime/components/header/ProductMenu.vue +72 -0
  24. package/dist/runtime/components/header/ProductMenu.vue.d.ts +11 -0
  25. package/dist/runtime/components/header/ProfileMenu.vue +168 -0
  26. package/dist/runtime/components/header/ProfileMenu.vue.d.ts +13 -0
  27. package/dist/runtime/components/header/TopHeader.vue +147 -0
  28. package/dist/runtime/components/header/TopHeader.vue.d.ts +10 -0
  29. package/dist/runtime/components/header/types.d.ts +19 -0
  30. package/dist/runtime/components/header/types.js +0 -0
  31. package/dist/runtime/composables/useHeaderNavigationLinks.d.ts +28 -0
  32. package/dist/runtime/composables/useHeaderNavigationLinks.js +238 -0
  33. package/dist/runtime/i18n.d.ts +1 -1
  34. package/dist/runtime/icons/arrow/arrow-circle-down.vue +30 -0
  35. package/dist/runtime/icons/arrow/arrow-circle-down.vue.d.ts +2 -0
  36. package/dist/runtime/icons/arrow/arrow-graph-up.vue +24 -0
  37. package/dist/runtime/icons/arrow/arrow-graph-up.vue.d.ts +2 -0
  38. package/dist/runtime/icons/arrow/arrow-side-up.vue +19 -0
  39. package/dist/runtime/icons/arrow/arrow-side-up.vue.d.ts +2 -0
  40. package/dist/runtime/icons/arrow/arrow-top-right-on-square.vue +19 -0
  41. package/dist/runtime/icons/arrow/arrow-top-right-on-square.vue.d.ts +2 -0
  42. package/dist/runtime/icons/avto/car.vue +17 -0
  43. package/dist/runtime/icons/avto/car.vue.d.ts +2 -0
  44. package/dist/runtime/icons/avto/truck.vue +17 -0
  45. package/dist/runtime/icons/avto/truck.vue.d.ts +2 -0
  46. package/dist/runtime/icons/block.vue +19 -0
  47. package/dist/runtime/icons/block.vue.d.ts +2 -0
  48. package/dist/runtime/icons/calculator.vue +19 -0
  49. package/dist/runtime/icons/calculator.vue.d.ts +2 -0
  50. package/dist/runtime/icons/check-circle.vue +25 -0
  51. package/dist/runtime/icons/check-circle.vue.d.ts +2 -0
  52. package/dist/runtime/icons/clipboard-text.vue +17 -0
  53. package/dist/runtime/icons/clipboard-text.vue.d.ts +2 -0
  54. package/dist/runtime/icons/clock.vue +25 -0
  55. package/dist/runtime/icons/clock.vue.d.ts +2 -0
  56. package/dist/runtime/icons/color-mode/moon.vue +20 -0
  57. package/dist/runtime/icons/color-mode/moon.vue.d.ts +2 -0
  58. package/dist/runtime/icons/color-mode/sun.vue +27 -0
  59. package/dist/runtime/icons/color-mode/sun.vue.d.ts +2 -0
  60. package/dist/runtime/icons/communication/mail.vue +19 -0
  61. package/dist/runtime/icons/communication/mail.vue.d.ts +2 -0
  62. package/dist/runtime/icons/communication/phone.vue +19 -0
  63. package/dist/runtime/icons/communication/phone.vue.d.ts +2 -0
  64. package/dist/runtime/icons/company.vue +17 -0
  65. package/dist/runtime/icons/company.vue.d.ts +2 -0
  66. package/dist/runtime/icons/currency/dollar.vue +19 -0
  67. package/dist/runtime/icons/currency/dollar.vue.d.ts +2 -0
  68. package/dist/runtime/icons/currency/down.vue +22 -0
  69. package/dist/runtime/icons/currency/down.vue.d.ts +2 -0
  70. package/dist/runtime/icons/currency/eur.vue +69 -0
  71. package/dist/runtime/icons/currency/eur.vue.d.ts +2 -0
  72. package/dist/runtime/icons/currency/rub.vue +25 -0
  73. package/dist/runtime/icons/currency/rub.vue.d.ts +2 -0
  74. package/dist/runtime/icons/currency/usd.vue +269 -0
  75. package/dist/runtime/icons/currency/usd.vue.d.ts +2 -0
  76. package/dist/runtime/icons/currency/yuan.vue +37 -0
  77. package/dist/runtime/icons/currency/yuan.vue.d.ts +2 -0
  78. package/dist/runtime/icons/document/hdocument.vue +17 -0
  79. package/dist/runtime/icons/document/hdocument.vue.d.ts +2 -0
  80. package/dist/runtime/icons/document/id.vue +19 -0
  81. package/dist/runtime/icons/document/id.vue.d.ts +2 -0
  82. package/dist/runtime/icons/document/profile.vue +19 -0
  83. package/dist/runtime/icons/document/profile.vue.d.ts +2 -0
  84. package/dist/runtime/icons/file.vue +19 -0
  85. package/dist/runtime/icons/file.vue.d.ts +2 -0
  86. package/dist/runtime/icons/globe.vue +19 -0
  87. package/dist/runtime/icons/globe.vue.d.ts +2 -0
  88. package/dist/runtime/icons/handshake.vue +19 -0
  89. package/dist/runtime/icons/handshake.vue.d.ts +2 -0
  90. package/dist/runtime/icons/info/info-circle.vue +29 -0
  91. package/dist/runtime/icons/info/info-circle.vue.d.ts +2 -0
  92. package/dist/runtime/icons/link-chain.vue +31 -0
  93. package/dist/runtime/icons/link-chain.vue.d.ts +2 -0
  94. package/dist/runtime/icons/loader-circle.vue +41 -0
  95. package/dist/runtime/icons/loader-circle.vue.d.ts +2 -0
  96. package/dist/runtime/icons/logo/adata.vue +48 -0
  97. package/dist/runtime/icons/logo/adata.vue.d.ts +2 -0
  98. package/dist/runtime/icons/logo/logo.vue +27 -0
  99. package/dist/runtime/icons/logo/logo.vue.d.ts +2 -0
  100. package/dist/runtime/icons/medal.vue +17 -0
  101. package/dist/runtime/icons/medal.vue.d.ts +2 -0
  102. package/dist/runtime/icons/navigation/expand-window.vue +19 -0
  103. package/dist/runtime/icons/navigation/expand-window.vue.d.ts +2 -0
  104. package/dist/runtime/icons/navigation/location.vue +25 -0
  105. package/dist/runtime/icons/navigation/location.vue.d.ts +2 -0
  106. package/dist/runtime/icons/navigation/logout.vue +19 -0
  107. package/dist/runtime/icons/navigation/logout.vue.d.ts +2 -0
  108. package/dist/runtime/icons/plus.vue +24 -0
  109. package/dist/runtime/icons/plus.vue.d.ts +2 -0
  110. package/dist/runtime/icons/receipt/hcheck.vue +27 -0
  111. package/dist/runtime/icons/receipt/hcheck.vue.d.ts +2 -0
  112. package/dist/runtime/icons/receipt/receipt.vue +27 -0
  113. package/dist/runtime/icons/receipt/receipt.vue.d.ts +2 -0
  114. package/dist/runtime/icons/scale.vue +19 -0
  115. package/dist/runtime/icons/scale.vue.d.ts +2 -0
  116. package/dist/runtime/icons/search.vue +27 -0
  117. package/dist/runtime/icons/search.vue.d.ts +2 -0
  118. package/dist/runtime/icons/socials/whatsapp.vue +21 -0
  119. package/dist/runtime/icons/socials/whatsapp.vue.d.ts +2 -0
  120. package/dist/runtime/icons/sviazi.vue +19 -0
  121. package/dist/runtime/icons/sviazi.vue.d.ts +2 -0
  122. package/dist/runtime/icons/users/users-three.vue +17 -0
  123. package/dist/runtime/icons/users/users-three.vue.d.ts +2 -0
  124. package/dist/runtime/icons/users/users.vue +31 -0
  125. package/dist/runtime/icons/users/users.vue.d.ts +2 -0
  126. package/dist/runtime/icons/work-bag.vue +20 -0
  127. package/dist/runtime/icons/work-bag.vue.d.ts +2 -0
  128. package/dist/runtime/icons/x-mark.vue +18 -0
  129. package/dist/runtime/icons/x-mark.vue.d.ts +2 -0
  130. package/dist/runtime/shared/constants/pages.d.ts +68 -0
  131. package/dist/runtime/shared/constants/pages.js +68 -0
  132. package/package.json +3 -1
  133. package/dist/runtime/icons/adata.vue +0 -19
  134. /package/dist/runtime/{icons/adata.vue.d.ts → components/header/AlmatyContacts.vue.d.ts} +0 -0
@@ -0,0 +1,168 @@
1
+ <script setup>
2
+ import { useI18n } from "#imports";
3
+ import IPlus from "#icons/plus.vue";
4
+ import ILogout from "#icons/navigation/logout.vue";
5
+ const isLargeScreen = true;
6
+ const props = defineProps({
7
+ rate: { type: String, required: true },
8
+ daysRemaining: { type: Number, required: false, default: 0 },
9
+ limitRemaining: { type: Number, required: false, default: 0 },
10
+ balance: { type: Number, required: true },
11
+ replenish: { type: String, required: false },
12
+ oldVersion: { type: String, required: false }
13
+ });
14
+ defineEmits(["logout"]);
15
+ const { t } = useI18n();
16
+ const items = [];
17
+ const onReplenish = () => {
18
+ if (window) {
19
+ window.location.href = "https://adata.kz/profile?popupBalance=1";
20
+ }
21
+ };
22
+ </script>
23
+
24
+ <template>
25
+ <div class="max-w-full lg:w-[440px]">
26
+ <!-- desktop -->
27
+ <div
28
+ class="gradient-bg hidden px-4 py-4 text-white dark:text-gray-900 lg:block lg:rounded-t-[0.5rem] lg:px-8 lg:dark:text-white"
29
+ >
30
+ <div class="hidden text-sm lg:block">
31
+ {{ t("header.profile.tariff") }}
32
+ </div>
33
+ <div class="flex items-center justify-between gap-4 lg:mt-2">
34
+ <div>
35
+ <span class="mr-2 font-semibold lg:text-lg">{{ rate }}</span>
36
+ <div
37
+ type="success"
38
+ class="!px-3 font-semibold text-white"
39
+ size="sm"
40
+ >
41
+ {{ t("header.profile.connected") }}
42
+ </div>
43
+ </div>
44
+ <span class="bg-deepblue ml-2 rounded-xl px-2 py-1 text-xs lg:hidden">{{ balance.toLocaleString("RU-ru") }} ₸</span>
45
+ </div>
46
+ <div class="mt-2 hidden items-center justify-between lg:flex">
47
+ <div class="text-xs">
48
+ {{ t("header.profile.currentBalance") }}
49
+ <span class="ml-2 rounded-xl bg-deepblue-900 px-2 py-1">{{ balance.toLocaleString("RU-ru") }} ₸</span>
50
+ </div>
51
+ <button
52
+ size="sm"
53
+ view="outline"
54
+ variant="ghost"
55
+ @click="onReplenish"
56
+ >
57
+ {{ t("header.profile.addBalance") }}
58
+ </button>
59
+ </div>
60
+ </div>
61
+ <!-- mobile -->
62
+ <div class="gradient-bg px-4 py-4 text-white dark:text-gray-900 lg:hidden">
63
+ <div class="flex justify-between gap-4 lg:mt-2">
64
+ <div class="flex flex-col items-center">
65
+ <div class="font-semibold">
66
+ {{ rate }}
67
+ </div>
68
+ <div
69
+ type="success"
70
+ class="!px-3 font-semibold text-white dark:text-gray-900"
71
+ size="sm"
72
+ >
73
+ {{ t("header.profile.connected") }}
74
+ </div>
75
+ </div>
76
+ <div class="flex min-w-[90px] flex-col">
77
+ <div class="font-semibold">
78
+ {{ t("header.profile.balance") }}
79
+ </div>
80
+ <div class="flex gap-1">
81
+ <div
82
+ size="sm"
83
+ class="!px-3 font-semibold text-white dark:!bg-[#E3E5E8] dark:text-gray-900"
84
+ type="gray"
85
+ >
86
+ {{ balance.toLocaleString("RU-ru") }} ₸
87
+ </div>
88
+ <button
89
+ class="flex h-[23px] w-[23px] items-center justify-center rounded-md bg-white text-deepblue-900 dark:bg-gray-900 dark:text-[#E3E5E8]"
90
+ @click="onReplenish"
91
+ >
92
+ <i-plus
93
+ width="16px"
94
+ height="16px"
95
+ />
96
+ </button>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </div>
101
+ <div class="rounded-b-[0.5rem] bg-white p-4 dark:bg-[#232324]">
102
+ <div class="mb-2 flex justify-between gap-2 lg:hidden">
103
+ <div
104
+ size="sm"
105
+ class="w-full py-[6px] font-semibold"
106
+ >
107
+ <span>
108
+ {{ t("header.profile.requests") }}
109
+ </span>
110
+ {{ limitRemaining }}
111
+ </div>
112
+ <div
113
+ size="sm"
114
+ class="w-full py-[6px] font-semibold"
115
+ >
116
+ <span>
117
+ {{ t("header.profile.daysLeft") }}
118
+ </span>
119
+ {{ daysRemaining }}
120
+ </div>
121
+ </div>
122
+ <div class="grid grid-cols-2 gap-2">
123
+ <nuxt-link
124
+ v-for="item in items"
125
+ :key="item.title"
126
+ class="flex flex-col items-center rounded-[6px] bg-gray-50 py-[10px] text-center text-sm hover:bg-deepblue-900/10 active:bg-deepblue-900 active:text-white dark:bg-[#161617] active:dark:bg-[#E3E5E8] active:dark:text-gray-900 lg:px-4 lg:dark:bg-[#393D40] lg:dark:hover:bg-gray-900"
127
+ :to="item.to"
128
+ target="_blank"
129
+ >
130
+ <component
131
+ :is="item.icon"
132
+ class="h-[24px] w-[24px]"
133
+ />
134
+ <span>{{ item.title }}</span>
135
+ </nuxt-link>
136
+ </div>
137
+ <div class="mt-2">
138
+ <div
139
+ v-if="oldVersion"
140
+ :url="oldVersion"
141
+ />
142
+ </div>
143
+ <div
144
+ v-if="!isLargeScreen"
145
+ class="my-4 flex items-center justify-between text-sm"
146
+ >
147
+ <span>
148
+ {{ t("header.profile.colorScheme") }}
149
+ </span>
150
+ <div />
151
+ </div>
152
+ <button
153
+ class="lg:mt-2"
154
+ block
155
+ @click="$emit('logout')"
156
+ >
157
+ <i-logout class="h-5 w-5" />
158
+ <span>
159
+ {{ t("header.profile.logout") }}
160
+ </span>
161
+ </button>
162
+ </div>
163
+ </div>
164
+ </template>
165
+
166
+ <style scoped>
167
+ .gradient-bg{background:linear-gradient(236.46deg,#479fff -2.39%,#0070eb 79.1%)}
168
+ </style>
@@ -0,0 +1,13 @@
1
+ interface Props {
2
+ rate: string;
3
+ daysRemaining?: number;
4
+ limitRemaining?: number;
5
+ balance: number;
6
+ replenish?: string;
7
+ oldVersion?: string;
8
+ }
9
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
10
+ daysRemaining: number;
11
+ limitRemaining: number;
12
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -0,0 +1,147 @@
1
+ <script setup>
2
+ import { computed, onBeforeMount, ref } from "vue";
3
+ import { useCookie } from "#app";
4
+ import Usd from "#icons/currency/usd.vue";
5
+ import Eur from "#icons/currency/eur.vue";
6
+ import Rub from "#icons/currency/rub.vue";
7
+ import Yuan from "#icons/currency/yuan.vue";
8
+ import XMark from "#icons/x-mark.vue";
9
+ import Down from "#icons/currency/down.vue";
10
+ const props = defineProps({
11
+ daysRemaining: { type: Number, required: true },
12
+ limitRemaining: { type: Number, required: true },
13
+ moduleName: { type: String, required: false, default: "counterparty" },
14
+ isAuthenticated: { type: Boolean, required: true }
15
+ });
16
+ const currencies = ref([]);
17
+ const systemMessage = ref(null);
18
+ const isOpenNotification = ref(false);
19
+ const message = useCookie("message");
20
+ const mode = computed(() => {
21
+ if (props.moduleName === "pk") {
22
+ return "counterparty";
23
+ } else {
24
+ return props.moduleName;
25
+ }
26
+ });
27
+ const fetchCurrencies = async () => {
28
+ try {
29
+ const response = await fetch("https://users.adata.kz/api/v1/information/currency");
30
+ const { data } = await response.json();
31
+ if (data.currencies) {
32
+ currencies.value = data.currencies;
33
+ }
34
+ } catch (e) {
35
+ console.error(e);
36
+ }
37
+ };
38
+ const Symbols = {
39
+ USD: Usd,
40
+ EUR: Eur,
41
+ RUB: Rub,
42
+ CNY: Yuan
43
+ };
44
+ const computedClass = (state) => state === "UP" ? "text-green-400 rotate-180" : "text-red-400";
45
+ const fetchNotification = async () => {
46
+ try {
47
+ if (message.value === void 0) {
48
+ const link = `https://users.adata.kz/api/v1/system-messages/active-list/?module_name=${mode.value}`;
49
+ const response = await fetch(link);
50
+ const { data } = await response.json();
51
+ if (data.details.length) {
52
+ systemMessage.value = data.details[0].message;
53
+ isOpenNotification.value = true;
54
+ }
55
+ }
56
+ } catch (e) {
57
+ console.error(e.message);
58
+ }
59
+ };
60
+ onBeforeMount(() => {
61
+ fetchNotification();
62
+ fetchCurrencies();
63
+ });
64
+ const closeMessage = () => {
65
+ message.value = false;
66
+ isOpenNotification.value = false;
67
+ };
68
+ </script>
69
+
70
+ <template>
71
+ <div
72
+ class="min-h-[40px]"
73
+ :class="[isOpenNotification && systemMessage ? '' : 'hidden lg:block']"
74
+ >
75
+ <transition name="fade">
76
+ <div
77
+ v-if="isOpenNotification && systemMessage"
78
+ class="bg-[#FFF5E6] px-2 py-3 text-[#FCA204] dark:bg-[#161617] md:px-0"
79
+ >
80
+ <div class="container mx-auto flex items-center justify-between">
81
+ <div class="flex items-center gap-2">
82
+ <i-info-circle
83
+ class="max-h-[16px] w-full max-w-[16px] stroke-orange-500 dark:stroke-orange-500"
84
+ />
85
+ <span class="text-sm font-semibold text-orange-500">{{ systemMessage }}</span>
86
+ </div>
87
+ <x-mark
88
+ class="max-h-[16px] w-full max-w-[16px] cursor-pointer stroke-orange-500"
89
+ @click="closeMessage"
90
+ />
91
+ </div>
92
+ </div>
93
+ </transition>
94
+ <div
95
+ v-if="!isOpenNotification || !systemMessage"
96
+ class="hidden min-h-10 bg-gray-50 dark:bg-gray-950 lg:block"
97
+ >
98
+ <div class="container mx-auto flex justify-between py-2 text-sm">
99
+ <div class="flex items-center">
100
+ <div
101
+ v-for="currency in currencies"
102
+ :key="currency.currency"
103
+ class="mr-4 flex gap-2"
104
+ >
105
+ <div class="flex items-center dark:text-white">
106
+ <component
107
+ :is="Symbols[currency.currency]"
108
+ class="mr-2 size-4 rounded-sm border border-solid border-[#E0E3E6] dark:border-[#2B2B2C]"
109
+ />
110
+ {{ currency.buy }}
111
+ <div :class="computedClass(currency.sell_state)">
112
+ <down />
113
+ </div>
114
+ </div>
115
+ <div class="flex items-center dark:text-white">
116
+ {{ currency.sell }}
117
+ <div :class="computedClass(currency.sell_state)">
118
+ <down />
119
+ </div>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ <div
124
+ v-if="isAuthenticated"
125
+ class="flex items-center gap-5"
126
+ >
127
+ <div v-if="limitRemaining != null || limitRemaining != void 0">
128
+ <span class="mr-2 text-xs">t('header.top.requestLimit')</span>
129
+ <div size="sm">
130
+ {{ limitRemaining }}
131
+ </div>
132
+ </div>
133
+ <div v-if="daysRemaining">
134
+ <span class="mr-2 text-xs">t('header.top.daysLeft')</span>
135
+ <div size="sm">
136
+ {{ limitRemaining }}
137
+ </div>
138
+ </div>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ </div>
143
+ </template>
144
+
145
+ <style scoped>
146
+ .fade-enter-active,.fade-leave-active{transition:.1s ease}.fade-enter,.fade-leave-to{opacity:0;top:0}
147
+ </style>
@@ -0,0 +1,10 @@
1
+ interface Props {
2
+ daysRemaining: number;
3
+ limitRemaining: number;
4
+ moduleName?: string;
5
+ isAuthenticated: boolean;
6
+ }
7
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
8
+ moduleName: string;
9
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -0,0 +1,19 @@
1
+ export type NavChild = {
2
+ key: string;
3
+ name: string;
4
+ items: NavChildItem[];
5
+ };
6
+ export type NavChildItem = {
7
+ title: string;
8
+ subtitle?: string;
9
+ icon?: any;
10
+ to: string;
11
+ };
12
+ export type NavLink = {
13
+ label: string;
14
+ to: string;
15
+ items?: NavChild[];
16
+ options?: any;
17
+ icon?: any;
18
+ };
19
+ export type ProjectKeys = 'counterparty' | 'pk' | 'work' | 'tenders' | 'fines' | 'analytics' | 'fea' | 'compliance';
File without changes
@@ -0,0 +1,28 @@
1
+ export declare const useHeaderNavigationLinks: () => import("vue").ComputedRef<({
2
+ key: string;
3
+ name: string;
4
+ icon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
5
+ to: string;
6
+ items: ({
7
+ title: string;
8
+ subtitle: string;
9
+ icon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
10
+ to: string;
11
+ } | {
12
+ title: string;
13
+ icon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
14
+ to: string;
15
+ subtitle?: undefined;
16
+ })[];
17
+ } | {
18
+ key: string;
19
+ name: string;
20
+ icon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
21
+ items: {
22
+ title: string;
23
+ icon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
+ subtitle: string;
25
+ to: string;
26
+ }[];
27
+ to?: undefined;
28
+ })[]>;
@@ -0,0 +1,238 @@
1
+ import { PAGES } from "../shared/constants/pages.js";
2
+ import { computed, useI18n } from "#imports";
3
+ import IUsersThree from "#icons/users/users-three.vue";
4
+ import ISearch from "#icons/search.vue";
5
+ import IArrowCircleDown from "#icons/arrow/arrow-circle-down.vue";
6
+ import IUsers from "#icons/users/users.vue";
7
+ import IGlobe from "#icons/globe.vue";
8
+ import IScale from "#icons/scale.vue";
9
+ import ILinkChanin from "#icons/link-chain.vue";
10
+ import IBlock from "#icons/block.vue";
11
+ import IDollar from "#icons/currency/dollar.vue";
12
+ import IWorkBag from "#icons/work-bag.vue";
13
+ import IHdocument from "#icons/document/hdocument.vue";
14
+ import IReceipt from "#icons/receipt/receipt.vue";
15
+ import IHcheck from "#icons/receipt/hcheck.vue";
16
+ import IFile from "#icons/file.vue";
17
+ import ICar from "#icons/avto/car.vue";
18
+ import ICheckCircle from "#icons/check-circle.vue";
19
+ import ITruck from "#icons/avto/truck.vue";
20
+ import IArrowGraphUp from "#icons/arrow/arrow-graph-up.vue";
21
+ import IClipboardText from "#icons/clipboard-text.vue";
22
+ import IMedal from "#icons/medal.vue";
23
+ import ICompany from "#icons/company.vue";
24
+ import IHandshake from "#icons/handshake.vue";
25
+ import ISviazi from "#icons/sviazi.vue";
26
+ import ICalculator from "#icons/calculator.vue";
27
+ import IId from "#icons/document/id.vue";
28
+ import IProfile from "#icons/document/profile.vue";
29
+ export const useHeaderNavigationLinks = () => {
30
+ const { t } = useI18n();
31
+ return computed(() => {
32
+ return [
33
+ {
34
+ key: "pk",
35
+ name: t("header.products.counterparties.label"),
36
+ icon: IUsersThree,
37
+ to: "https://pk.adata.kz",
38
+ items: [
39
+ {
40
+ title: t("header.products.counterparties.items.counterparty.title"),
41
+ subtitle: t("header.products.counterparties.items.counterparty.subtitle"),
42
+ icon: ISearch,
43
+ to: "https://pk.adata.kz" + PAGES.pk.main
44
+ },
45
+ {
46
+ title: t("header.products.counterparties.items.unloading.title"),
47
+ subtitle: t("header.products.counterparties.items.unloading.subtitle"),
48
+ icon: IArrowCircleDown,
49
+ to: "https://pk.adata.kz" + PAGES.pk.unload
50
+ },
51
+ {
52
+ title: t("header.products.counterparties.items.wholesale.title"),
53
+ subtitle: t("header.products.counterparties.items.wholesale.subtitle"),
54
+ icon: IUsers,
55
+ to: "https://pk.adata.kz" + PAGES.pk.employees
56
+ },
57
+ {
58
+ title: t("header.products.counterparties.items.foreign.title"),
59
+ subtitle: t("header.products.counterparties.items.foreign.subtitle"),
60
+ icon: IGlobe,
61
+ to: "https://pk.adata.kz" + PAGES.pk.foreign
62
+ },
63
+ {
64
+ title: t("header.products.counterparties.items.compare.title"),
65
+ icon: IScale,
66
+ to: "https://pk.adata.kz" + PAGES.pk.compare
67
+ },
68
+ {
69
+ title: t("header.products.counterparties.items.networks.title"),
70
+ icon: ILinkChanin,
71
+ to: "https://pk.adata.kz" + PAGES.pk.connections
72
+ },
73
+ {
74
+ title: t("header.products.counterparties.items.sanction.title"),
75
+ icon: IBlock,
76
+ to: "https://pk.adata.kz" + PAGES.pk.sanctions
77
+ },
78
+ {
79
+ title: t("header.products.counterparties.items.offshore.title"),
80
+ icon: IDollar,
81
+ to: "https://pk.adata.kz" + PAGES.pk.offshore
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ key: "work",
87
+ name: t("header.products.jobs.label"),
88
+ icon: IWorkBag,
89
+ items: [
90
+ {
91
+ title: t("header.products.jobs.items.vacancies.title"),
92
+ icon: IWorkBag,
93
+ subtitle: t("header.products.jobs.items.vacancies.subtitle"),
94
+ to: "https://work.adata.kz" + PAGES.work.vacancy
95
+ },
96
+ {
97
+ title: t("header.products.jobs.items.resume.title"),
98
+ subtitle: t("header.products.jobs.items.resume.subtitle"),
99
+ icon: IHdocument,
100
+ to: "https://work.adata.kz" + PAGES.work.summary
101
+ }
102
+ ]
103
+ },
104
+ {
105
+ key: "tenders",
106
+ name: t("header.products.tenders.label"),
107
+ icon: IReceipt,
108
+ to: "https://tender.adata.kz",
109
+ items: [
110
+ {
111
+ title: t("header.products.tenders.items.tenders.title"),
112
+ subtitle: t("header.products.tenders.items.tenders.subtitle"),
113
+ icon: ISearch,
114
+ to: "https://tender.adata.kz" + PAGES.tender.main
115
+ },
116
+ {
117
+ title: t("header.products.tenders.items.procurement.title"),
118
+ subtitle: t("header.products.tenders.items.procurement.subtitle"),
119
+ icon: IHcheck,
120
+ to: "https://tender.adata.kz" + PAGES.tender.plans
121
+ },
122
+ {
123
+ title: t("header.products.tenders.items.contracts.title"),
124
+ subtitle: t("header.products.tenders.items.contracts.subtitle"),
125
+ icon: IFile,
126
+ to: "https://tender.adata.kz" + PAGES.tender.contracts
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ key: "fines",
132
+ name: t("header.products.fines.label"),
133
+ icon: ICar,
134
+ items: [
135
+ {
136
+ title: t("header.products.fines.items.fines.title"),
137
+ subtitle: t("header.products.fines.items.fines.subtitle"),
138
+ icon: ICheckCircle,
139
+ to: "https://avto.adata.kz" + PAGES.fines.main
140
+ },
141
+ {
142
+ title: t("header.products.fines.items.auto.title"),
143
+ subtitle: t("header.products.fines.items.auto.subtitle"),
144
+ icon: ICar,
145
+ to: "https://avto.adata.kz" + PAGES.fines.avto
146
+ },
147
+ {
148
+ title: t("header.products.fines.items.wholesaleAuto.title"),
149
+ subtitle: t("header.products.fines.items.wholesaleAuto.subtitle"),
150
+ icon: ITruck,
151
+ to: "https://avto.adata.kz" + PAGES.fines.bulk
152
+ }
153
+ ]
154
+ },
155
+ {
156
+ key: "analytics",
157
+ name: t("header.products.analytics.label"),
158
+ icon: IArrowGraphUp,
159
+ items: [
160
+ {
161
+ title: t("header.products.analytics.items.procurement.title"),
162
+ subtitle: t("header.products.analytics.items.procurement.subtitle"),
163
+ icon: IClipboardText,
164
+ to: "https://analytics.adata.kz" + PAGES.analytics.analysis
165
+ },
166
+ {
167
+ title: t("header.products.analytics.items.activity.title"),
168
+ subtitle: t("header.products.analytics.items.activity.subtitle"),
169
+ icon: IArrowGraphUp,
170
+ to: "https://analytics.adata.kz" + PAGES.analytics.index
171
+ },
172
+ {
173
+ title: t("header.products.analytics.items.rate.title"),
174
+ subtitle: t("header.products.analytics.items.rate.subtitle"),
175
+ icon: IMedal,
176
+ to: "https://analytics.adata.kz" + PAGES.analytics.rating
177
+ },
178
+ {
179
+ title: t("header.products.analytics.items.subjects.title"),
180
+ subtitle: t("header.products.analytics.items.subjects.subtitle"),
181
+ icon: ICompany,
182
+ to: "https://analytics.adata.kz" + PAGES.analytics.business
183
+ }
184
+ ]
185
+ },
186
+ {
187
+ key: "fea",
188
+ name: t("header.products.fea.label"),
189
+ icon: IGlobe,
190
+ items: [
191
+ {
192
+ title: t("header.products.fea.items.i.t"),
193
+ subtitle: t("header.products.fea.items.i.st"),
194
+ icon: IHandshake,
195
+ to: "https://tnved.adata.kz" + PAGES.fea.t
196
+ },
197
+ {
198
+ title: t("header.products.fea.items.o.t"),
199
+ subtitle: t("header.products.fea.items.o.st"),
200
+ icon: ISviazi,
201
+ to: "https://tnved.adata.kz" + PAGES.fea.o
202
+ },
203
+ {
204
+ title: t("header.products.fea.items.cp.t"),
205
+ subtitle: t("header.products.fea.items.cp.st"),
206
+ icon: ITruck,
207
+ to: "https://tnved.adata.kz" + PAGES.fea.cp
208
+ },
209
+ {
210
+ title: t("header.products.fea.items.ca.t"),
211
+ subtitle: t("header.products.fea.items.ca.st"),
212
+ icon: ICalculator,
213
+ to: "https://tnved.adata.kz" + PAGES.fea.ca
214
+ },
215
+ {
216
+ title: t("header.products.fea.items.tr.t"),
217
+ subtitle: t("header.products.fea.items.tr.st"),
218
+ icon: IGlobe,
219
+ to: "https://tnved.adata.kz" + PAGES.fea.tr
220
+ }
221
+ ]
222
+ },
223
+ {
224
+ key: "compliance",
225
+ name: t("header.products.compliance.label"),
226
+ icon: IId,
227
+ items: [
228
+ {
229
+ title: t("header.products.compliance.items.l.t"),
230
+ subtitle: t("header.products.compliance.items.l.st"),
231
+ icon: IProfile,
232
+ to: "https://ac.adata.kz/" + PAGES.compliance.l
233
+ }
234
+ ]
235
+ }
236
+ ];
237
+ });
238
+ };
@@ -1,2 +1,2 @@
1
- declare const _default: import("nuxt/app").Plugin<Record<string, unknown>> & import("nuxt/app").ObjectPlugin<Record<string, unknown>>;
1
+ declare const _default: import("#app").Plugin<Record<string, unknown>> & import("#app").ObjectPlugin<Record<string, unknown>>;
2
2
  export default _default;
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <svg
3
+ width="18"
4
+ height="18"
5
+ viewBox="0 0 18 18"
6
+ fill="none"
7
+ xmlns="https://www.w3.org/2000/svg"
8
+ >
9
+ <path
10
+ d="M16.5 0H1.5C1.10218 0 0.720644 0.158035 0.43934 0.43934C0.158035 0.720644 0 1.10218 0
11
+ 1.5V16.5C0 16.8978 0.158035 17.2794 0.43934 17.5607C0.720644 17.842 1.10218 18 1.5 18H16.5C16.8978
12
+ 18 17.2794 17.842 17.5607 17.5607C17.842 17.2794 18 16.8978 18 16.5V1.5C18 1.10218 17.842 0.720644 17.5607
13
+ 0.43934C17.2794 0.158035 16.8978 0 16.5 0ZM16.5 1.5V11.25H13.8094C13.6125 11.2495 13.4174 11.2881 13.2356 11.3636C13.0537
14
+ 11.4391 12.8887 11.5499 12.75 11.6897L10.9397 13.5H7.06031L5.25 11.6897C5.11122 11.5498 4.94601 11.4389 4.76398 11.3634C4.58196
15
+ 11.2879 4.38674 11.2494 4.18969 11.25H1.5V1.5H16.5ZM16.5 16.5H1.5V12.75H4.18969L6 14.5603C6.13878 14.7002 6.30399 14.8111 6.48602
16
+ 14.8866C6.66804 14.9621 6.86326 15.0006 7.06031 15H10.9397C11.1367 15.0006 11.332 14.9621 11.514 14.8866C11.696 14.8111 11.8612 14.7002
17
+ 12 14.5603L13.8103 12.75H16.5V16.5ZM5.46937 8.78063C5.32864 8.63989 5.24958 8.44902 5.24958 8.25C5.24958 8.05098 5.32864 7.86011 5.46937
18
+ 7.71937C5.61011 7.57864 5.80098 7.49958 6 7.49958C6.19902 7.49958 6.38989 7.57864 6.53063 7.71937L8.25 9.43969V3.75C8.25 3.55109 8.32902
19
+ 3.36032 8.46967 3.21967C8.61032 3.07902 8.80109 3 9 3C9.19891 3 9.38968 3.07902 9.53033 3.21967C9.67098 3.36032 9.75 3.55109 9.75
20
+ 3.75V9.43969L11.4694 7.71937C11.5391 7.64969 11.6218 7.59442 11.7128 7.5567C11.8039 7.51899 11.9015 7.49958 12 7.49958C12.0985 7.49958 12.1961
21
+ 7.51899 12.2872 7.5567C12.3782 7.59442 12.4609 7.64969 12.5306 7.71937C12.6003 7.78906 12.6556 7.87178 12.6933 7.96283C12.731 8.05387 12.7504
22
+ 8.15145 12.7504 8.25C12.7504 8.34855 12.731 8.44613 12.6933 8.53717C12.6556 8.62822 12.6003 8.71094 12.5306 8.78063L9.53063 11.7806C9.46097 11.8504 9.37825
23
+ 11.9057 9.2872 11.9434C9.19616 11.9812 9.09856 12.0006 9 12.0006C8.90144 12.0006 8.80384 11.9812 8.7128 11.9434C8.62175 11.9057 8.53903 11.8504 8.46937 11.7806L5.46937 8.78063Z"
24
+ fill="currentColor"
25
+ />
26
+ </svg>
27
+ </template>
28
+
29
+ <script setup lang="ts">
30
+ </script>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;