adata-ui 0.1.50 → 0.1.53
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/dist/adata-ui.common.js +982 -249
- package/dist/adata-ui.common.js.map +1 -1
- package/dist/adata-ui.css +1 -1
- package/dist/adata-ui.umd.js +982 -249
- package/dist/adata-ui.umd.js.map +1 -1
- package/dist/adata-ui.umd.min.js +2 -2
- package/dist/adata-ui.umd.min.js.map +1 -1
- package/dist/img/arrow-down.72dc66a4.svg +3 -0
- package/dist/img/arrow-up.95ee7d72.svg +3 -0
- package/dist/img/dollor.7d00f847.svg +54 -0
- package/dist/img/euro.1362dfb6.svg +15 -0
- package/dist/img/ruble.c27b58e5.svg +12 -0
- package/package.json +1 -1
- package/src/App.vue +1 -2
- package/src/assets/icons/arrow-down.svg +3 -0
- package/src/assets/icons/arrow-up.svg +3 -0
- package/src/assets/icons/dollor.svg +54 -0
- package/src/assets/icons/euro.svg +15 -0
- package/src/assets/icons/ruble.svg +12 -0
- package/src/assets/style.scss +1 -1
- package/src/components/Checkbox/ACheckbox.vue +114 -0
- package/src/components/Checkbox/Checkbox.stories.js +15 -0
- package/src/components/Header/Header.vue +363 -125
- package/src/components/Header/InfoHeader.vue +215 -0
- package/src/components/Header/Profile.vue +0 -14
- package/src/components/Table/ATable.vue +117 -0
- package/src/components/Table/Table.stories.js +15 -0
- package/src/components/index.js +4 -0
- package/src/configs/profileDropDown.js +7 -0
|
@@ -1,85 +1,184 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<header
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
2
|
+
<header :class="{ sticky: isSticky }">
|
|
3
|
+
<InfoHeader
|
|
4
|
+
:weather="weather"
|
|
5
|
+
:currencies="currencies"
|
|
6
|
+
:system-message="systemMessage"
|
|
7
|
+
:requestCount="requestCount"
|
|
8
|
+
:daysRemaining="daysRemaining"
|
|
9
|
+
:is-open-notification="isOpenNotification"
|
|
10
|
+
:is-authenticated="isAuthenticated"
|
|
11
|
+
@closeNotification="closeNotification"
|
|
12
|
+
/>
|
|
13
|
+
<div class="header" :class="{ bordered: isBordered }">
|
|
14
|
+
<div class="container">
|
|
15
|
+
<div class="header__left">
|
|
16
|
+
<a class="logo" :href="main[mode]">
|
|
17
|
+
<svg
|
|
18
|
+
class="adata-logo"
|
|
19
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
20
|
+
viewBox="0 0 166 48"
|
|
21
|
+
>
|
|
22
|
+
<path
|
|
23
|
+
d="M62.926 38.22v-28h10.316c10.342 0 15.511 4.55 15.508 13.652 0 4.36-1.41 7.843-4.232 10.448-2.822 2.605-6.58 3.907-11.276 3.904l-10.316-.004zm6.56-22.868v17.752h3.248c2.839 0 5.069-.82 6.69-2.46 1.622-1.64 2.43-3.873 2.424-6.7 0-2.667-.8-4.767-2.403-6.3-1.602-1.533-3.853-2.297-6.752-2.292h-3.206zM118.5 38.22h-7.131l-2.079-6.228H98.958l-2.079 6.228h-7.093l10.598-28h7.775l10.341 28zm-10.723-11.072l-3.127-9.416a11.94 11.94 0 01-.486-2.516h-.162c-.07.83-.24 1.649-.508 2.44l-3.168 9.492h7.451zm31.833-11.796h-8.316V38.22h-6.557V15.352h-8.274v-5.136h23.147v5.136zM166 38.22h-7.143l-2.079-6.228h-10.349l-2.05 6.228h-7.106l10.598-28h7.776l10.353 28zm-10.719-11.072l-3.127-9.416a11.94 11.94 0 01-.486-2.516h-.163c-.069.83-.239 1.649-.507 2.44l-3.168 9.492h7.451zM24.553 15.252h-.163c-.069.83-.24 1.649-.507 2.44L20.715 27.2h7.45l-3.126-9.412a12.02 12.02 0 01-.486-2.536z"
|
|
24
|
+
></path>
|
|
25
|
+
<path
|
|
26
|
+
d="M44.905 0H4.99a5.091 5.091 0 00-3.528 1.406A4.71 4.71 0 000 4.8v38.4a4.71 4.71 0 001.461 3.394A5.091 5.091 0 004.99 48h39.916a5.091 5.091 0 003.528-1.406 4.71 4.71 0 001.462-3.394V4.8a4.71 4.71 0 00-1.462-3.394A5.091 5.091 0 0044.905 0zM31.737 38.26l-2.079-6.232H19.305l-2.05 6.232h-7.097l10.598-28h7.776l10.353 28h-7.148z"
|
|
27
|
+
></path>
|
|
28
|
+
</svg>
|
|
19
29
|
</a>
|
|
30
|
+
<div class="menu" v-if="headerItems.length > 0">
|
|
31
|
+
<a
|
|
32
|
+
v-for="(item, index) in headerItems"
|
|
33
|
+
:key="index"
|
|
34
|
+
class="menu__wrapper menu__items"
|
|
35
|
+
:class="{ active: item.key === activeTabKey }"
|
|
36
|
+
:href="item[mode]"
|
|
37
|
+
>
|
|
38
|
+
{{ item.name }}
|
|
39
|
+
</a>
|
|
40
|
+
</div>
|
|
20
41
|
</div>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
v-bind:profileDropDown="profileDropDown"
|
|
42
|
+
<div class="header__right">
|
|
43
|
+
<slot name="chooseCountry"></slot>
|
|
44
|
+
<Profile
|
|
45
|
+
:profileDropDown="profileDropDown"
|
|
26
46
|
:mode="mode"
|
|
27
47
|
:isAuthenticated="isAuthenticated"
|
|
28
|
-
:requestCount="requestCount"
|
|
29
|
-
:daysRemaining="daysRemaining"
|
|
30
48
|
:email="email"
|
|
31
49
|
:loginUrl="loginUrl"
|
|
32
50
|
:activeTabKey="activeTabKey"
|
|
33
|
-
@showBalanceModal="
|
|
34
|
-
|
|
51
|
+
@showBalanceModal="
|
|
52
|
+
(val) => {
|
|
53
|
+
$emit('showBalanceModal', val);
|
|
54
|
+
}
|
|
55
|
+
"
|
|
56
|
+
@setShowModal="
|
|
57
|
+
(val) => {
|
|
58
|
+
$emit('setShowModal', val);
|
|
59
|
+
}
|
|
60
|
+
"
|
|
35
61
|
@logout="$emit('logout')"
|
|
36
|
-
@setIsReplenishModal="
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
62
|
+
@setIsReplenishModal="
|
|
63
|
+
(val) => {
|
|
64
|
+
$emit('setIsReplenishModal', val);
|
|
65
|
+
}
|
|
66
|
+
"
|
|
67
|
+
/>
|
|
68
|
+
<div class="menu_mobile--switcher" @click="changeValue">
|
|
69
|
+
<!-- icon_hamburger -->
|
|
70
|
+
<svg
|
|
71
|
+
width="24"
|
|
72
|
+
height="24"
|
|
73
|
+
fill="none"
|
|
74
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
75
|
+
viewBox="0 0 24 24"
|
|
76
|
+
>
|
|
77
|
+
<path
|
|
78
|
+
fill-rule="evenodd"
|
|
79
|
+
clip-rule="evenodd"
|
|
80
|
+
d="M2 4h20v2H2V4zm0 14h20v2H2v-2zm0-7h20v2H2v-2z"
|
|
81
|
+
fill="#2C3E50"
|
|
82
|
+
></path>
|
|
83
|
+
</svg>
|
|
84
|
+
</div>
|
|
44
85
|
</div>
|
|
45
86
|
</div>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
<div
|
|
87
|
+
<MobileToggle v-slot="{ animationClass }">
|
|
88
|
+
<div
|
|
49
89
|
class="menu_mobile"
|
|
50
90
|
:class="animationClass"
|
|
51
|
-
v-show="
|
|
52
|
-
>
|
|
53
|
-
<div @click.stop="changeValue" class="mobile-table-head">
|
|
54
|
-
<!-- close_hamburger -->
|
|
55
|
-
<svg width="18" height="18" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
56
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.414 18.142L18.556 4l1.415 1.414L5.828 19.556l-1.414-1.414z"
|
|
57
|
-
fill="#2C3E50"></path>
|
|
58
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.414 4l14.142 14.142-1.414 1.414L4 5.414 5.414 4z"
|
|
59
|
-
fill="#2C3E50"></path>
|
|
60
|
-
</svg>
|
|
61
|
-
</div>
|
|
62
|
-
<a
|
|
63
|
-
v-for="(item, index) in subheaderItems"
|
|
64
|
-
:key="index"
|
|
65
|
-
class="menu_mobile-wrapper"
|
|
66
|
-
:class="{'active-burger-tab': item.key === activeTabKey}"
|
|
67
|
-
:href="item[mode]"
|
|
91
|
+
v-show="headerItems.length > 0 && isOpen"
|
|
68
92
|
>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
93
|
+
<div class="menu-wrapper">
|
|
94
|
+
<div @click.stop="changeValue" class="mobile-table-head">
|
|
95
|
+
<!-- close_hamburger -->
|
|
96
|
+
<svg
|
|
97
|
+
width="18"
|
|
98
|
+
height="18"
|
|
99
|
+
fill="none"
|
|
100
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
101
|
+
viewBox="0 0 24 24"
|
|
102
|
+
>
|
|
103
|
+
<path
|
|
104
|
+
fill-rule="evenodd"
|
|
105
|
+
clip-rule="evenodd"
|
|
106
|
+
d="M4.414 18.142L18.556 4l1.415 1.414L5.828 19.556l-1.414-1.414z"
|
|
107
|
+
fill="#2C3E50"
|
|
108
|
+
></path>
|
|
109
|
+
<path
|
|
110
|
+
fill-rule="evenodd"
|
|
111
|
+
clip-rule="evenodd"
|
|
112
|
+
d="M5.414 4l14.142 14.142-1.414 1.414L4 5.414 5.414 4z"
|
|
113
|
+
fill="#2C3E50"
|
|
114
|
+
></path>
|
|
115
|
+
</svg>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="menu__link">
|
|
118
|
+
<a
|
|
119
|
+
v-for="(item, index) in headerItems"
|
|
120
|
+
:key="index"
|
|
121
|
+
class="menu_mobile-wrapper"
|
|
122
|
+
:class="{ 'active-burger-tab': item.key === activeTabKey }"
|
|
123
|
+
:href="item[mode]"
|
|
124
|
+
>
|
|
125
|
+
{{ item.name }}
|
|
126
|
+
</a>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="menu-mobile__info">
|
|
130
|
+
<div class="menu-mobile__info-header">
|
|
131
|
+
<span>Валюта</span>
|
|
132
|
+
<span>Покупка</span>
|
|
133
|
+
<span>Продажа</span>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="menu-mobile__info-body">
|
|
136
|
+
<div v-for="(currency, index) in currencies" :key="index" class="menu-mobile__info-row">
|
|
137
|
+
<div class="menu-mobile__info-column">
|
|
138
|
+
<img v-if="currency.currency === 'USD'" src="@/assets/icons/dollor.svg" alt=""/>
|
|
139
|
+
<img v-if="currency.currency === 'EUR'" src="@/assets/icons/euro.svg" alt=""/>
|
|
140
|
+
<img v-if="currency.currency === 'RUB'" src="@/assets/icons/ruble.svg" alt=""/>
|
|
141
|
+
<span>{{ currency.currency }}</span>
|
|
142
|
+
</div>
|
|
143
|
+
<div class="menu-mobile__info-column">
|
|
144
|
+
<span>{{ currency.buy }}</span>
|
|
145
|
+
<img v-if="currency.buy_state === 'DOWN'" src="@/assets/icons/arrow-down.svg" alt=""/>
|
|
146
|
+
<img v-else src="@/assets/icons/arrow-up.svg" alt=""/>
|
|
147
|
+
</div>
|
|
148
|
+
<div class="menu-mobile__info-column">
|
|
149
|
+
<span>{{ currency.sell }}</span>
|
|
150
|
+
<img v-if="currency.sell_state === 'DOWN'" src="@/assets/icons/arrow-down.svg" alt=""/>
|
|
151
|
+
<img v-else src="@/assets/icons/arrow-up.svg" alt=""/>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
<div class="menu-mobile__info-footer">
|
|
156
|
+
<div class="menu-mobile__info-footer-item">
|
|
157
|
+
<span class="menu-mobile__info-footer-title">Cуточный лимит запросов:</span>
|
|
158
|
+
<span class="menu-mobile__info-footer-circle">{{ requestCount }}</span>
|
|
159
|
+
</div>
|
|
160
|
+
<div class="menu-mobile__info-footer-item">
|
|
161
|
+
<span class="menu-mobile__info-footer-title">Остаток дней:</span>
|
|
162
|
+
<span class="menu-mobile__info-footer-circle">{{ daysRemaining }}</span>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
</MobileToggle>
|
|
168
|
+
</div>
|
|
73
169
|
</header>
|
|
74
170
|
</template>
|
|
75
171
|
|
|
76
172
|
<script>
|
|
173
|
+
import { profileDropDown } from "../../configs/profileDropDown";
|
|
174
|
+
|
|
77
175
|
import Profile from "./Profile";
|
|
78
|
-
import { profileDropDown } from "../../configs/profileDropDown"
|
|
79
176
|
import MobileToggle from "../transitions/VerticalMobileToggle";
|
|
177
|
+
import InfoHeader from "./InfoHeader";
|
|
80
178
|
|
|
81
179
|
export default {
|
|
82
180
|
components: {
|
|
181
|
+
InfoHeader,
|
|
83
182
|
Profile,
|
|
84
183
|
MobileToggle,
|
|
85
184
|
},
|
|
@@ -88,123 +187,196 @@ export default {
|
|
|
88
187
|
type: String,
|
|
89
188
|
required: true,
|
|
90
189
|
validator: function (value) {
|
|
91
|
-
return [
|
|
92
|
-
}
|
|
190
|
+
return ["prod", "dev", "staging"].indexOf(value) !== -1;
|
|
191
|
+
},
|
|
93
192
|
},
|
|
94
193
|
isAuthenticated: {
|
|
95
194
|
type: Boolean,
|
|
96
|
-
default: false
|
|
195
|
+
default: false,
|
|
97
196
|
},
|
|
98
197
|
isBordered: {
|
|
99
198
|
type: Boolean,
|
|
100
|
-
default: false
|
|
199
|
+
default: false,
|
|
101
200
|
},
|
|
102
|
-
|
|
201
|
+
isSticky: {
|
|
103
202
|
type: Boolean,
|
|
104
|
-
default: false
|
|
203
|
+
default: false,
|
|
105
204
|
},
|
|
106
205
|
requestCount: {
|
|
107
|
-
type: Number,
|
|
108
|
-
default: null
|
|
206
|
+
type: [String, Number],
|
|
207
|
+
default: null,
|
|
109
208
|
},
|
|
110
209
|
daysRemaining: {
|
|
111
|
-
type: String,
|
|
112
|
-
default: null
|
|
210
|
+
type: [String, Number],
|
|
211
|
+
default: null,
|
|
113
212
|
},
|
|
114
213
|
email: {
|
|
115
214
|
type: String,
|
|
116
|
-
default: ""
|
|
215
|
+
default: "",
|
|
117
216
|
},
|
|
118
217
|
loginUrl: {
|
|
119
218
|
type: String,
|
|
120
219
|
default: "",
|
|
121
|
-
required: true
|
|
220
|
+
required: true,
|
|
122
221
|
},
|
|
123
222
|
activeTabKey: {
|
|
124
223
|
type: String,
|
|
125
224
|
default: "",
|
|
126
|
-
required: true
|
|
225
|
+
required: true,
|
|
127
226
|
},
|
|
128
227
|
balance: {
|
|
129
228
|
type: Number,
|
|
130
|
-
default: 0
|
|
131
|
-
}
|
|
229
|
+
default: 0,
|
|
230
|
+
},
|
|
132
231
|
},
|
|
133
232
|
data() {
|
|
134
233
|
return {
|
|
135
234
|
profileDropDown,
|
|
136
235
|
main: {
|
|
137
|
-
dev:
|
|
138
|
-
prod:
|
|
139
|
-
staging:
|
|
236
|
+
dev: "https://adtdev.kz",
|
|
237
|
+
prod: "https://adata.kz",
|
|
238
|
+
staging: "https://adada.kz",
|
|
140
239
|
},
|
|
141
|
-
|
|
240
|
+
headerItems: [
|
|
142
241
|
{
|
|
143
242
|
id: 1,
|
|
144
243
|
name: "Контрагенты",
|
|
145
|
-
dev:
|
|
146
|
-
prod:
|
|
147
|
-
staging:
|
|
148
|
-
key:
|
|
244
|
+
dev: "https://pk.adtdev.kz",
|
|
245
|
+
prod: "https://pk.adata.kz",
|
|
246
|
+
staging: "https://pk.adada.kz",
|
|
247
|
+
key: "counterparty",
|
|
149
248
|
},
|
|
150
249
|
{
|
|
151
250
|
id: 2,
|
|
152
251
|
name: "Тендеры",
|
|
153
|
-
dev:
|
|
154
|
-
prod:
|
|
155
|
-
staging:
|
|
156
|
-
key:
|
|
252
|
+
dev: "https://tender.adtdev.kz",
|
|
253
|
+
prod: "https://tender.adata.kz",
|
|
254
|
+
staging: "https://tender.adada.kz",
|
|
255
|
+
key: "tenders",
|
|
157
256
|
},
|
|
158
257
|
{
|
|
159
258
|
id: 3,
|
|
160
259
|
name: "Работа",
|
|
161
|
-
dev:
|
|
162
|
-
prod:
|
|
163
|
-
staging:
|
|
164
|
-
key:
|
|
260
|
+
dev: "https://work.adtdev.kz",
|
|
261
|
+
prod: "https://work.adata.kz",
|
|
262
|
+
staging: "https://work.adada.kz",
|
|
263
|
+
key: "work",
|
|
165
264
|
},
|
|
166
265
|
{
|
|
167
266
|
id: 4,
|
|
168
267
|
name: "Штрафы",
|
|
169
|
-
dev:
|
|
170
|
-
prod:
|
|
171
|
-
staging:
|
|
172
|
-
key:
|
|
268
|
+
dev: "https://avto.adtdev.kz",
|
|
269
|
+
prod: "https://avto.adata.kz",
|
|
270
|
+
staging: "https://avto.adada.kz",
|
|
271
|
+
key: "fines",
|
|
173
272
|
},
|
|
174
273
|
{
|
|
175
274
|
id: 5,
|
|
176
275
|
name: "Маркетинг",
|
|
177
|
-
dev:
|
|
178
|
-
prod:
|
|
179
|
-
staging:
|
|
180
|
-
key:
|
|
181
|
-
}
|
|
276
|
+
dev: "https://marketing.adtdev.kz",
|
|
277
|
+
prod: "https://marketing.adata.kz",
|
|
278
|
+
staging: "https://marketing.adada.kz",
|
|
279
|
+
key: "marketing",
|
|
280
|
+
},
|
|
182
281
|
],
|
|
183
|
-
isOpen: false
|
|
282
|
+
isOpen: false,
|
|
283
|
+
weather: null,
|
|
284
|
+
currencies: null,
|
|
285
|
+
systemMessage: null,
|
|
286
|
+
timer: null,
|
|
287
|
+
isOpenNotification: false,
|
|
184
288
|
};
|
|
185
289
|
},
|
|
290
|
+
|
|
291
|
+
created() {
|
|
292
|
+
this.fetchCurrencies();
|
|
293
|
+
this.fetchWeather()
|
|
294
|
+
},
|
|
186
295
|
mounted() {
|
|
187
296
|
this.setBalance(this.balance);
|
|
297
|
+
this.timer = setTimeout(this.fetchNotification, 3000);
|
|
298
|
+
},
|
|
299
|
+
watch: {
|
|
300
|
+
balance(newBalance) {
|
|
301
|
+
this.setBalance(newBalance);
|
|
302
|
+
},
|
|
303
|
+
isOpenNotification() {
|
|
304
|
+
if(!this.isOpenNotification) {
|
|
305
|
+
clearTimeout(this.timer);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
188
308
|
},
|
|
189
309
|
methods: {
|
|
310
|
+
async fetchNotification() {
|
|
311
|
+
try {
|
|
312
|
+
const response = await fetch('https://users.adtdev.kz/api/v1/system-messages/active-list/?module_name=counterparty');
|
|
313
|
+
const { data } = await response.json();
|
|
314
|
+
|
|
315
|
+
if (data.details.length) {
|
|
316
|
+
this.systemMessage = data.details[0].message;
|
|
317
|
+
this.isOpenNotification = true;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
} catch(e) {
|
|
321
|
+
console.log(e.message)
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
async fetchCurrencies() {
|
|
325
|
+
try {
|
|
326
|
+
const response = await fetch('https://users.adata.kz/api/v1/information/currency');
|
|
327
|
+
const { data } = await response.json();
|
|
328
|
+
|
|
329
|
+
if(data.currencies) {
|
|
330
|
+
this.currencies = data.currencies;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
} catch(e) {
|
|
334
|
+
console.log(e.message)
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
async fetchWeather() {
|
|
338
|
+
try {
|
|
339
|
+
const response = await fetch('https://users.adata.kz/api/v1/information/weather');
|
|
340
|
+
const { data } = await response.json();
|
|
341
|
+
|
|
342
|
+
if(data.cities) {
|
|
343
|
+
this.weather = data.cities;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
} catch(e) {
|
|
347
|
+
console.log(e.message)
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
closeNotification(option) {
|
|
351
|
+
this.isOpenNotification = !option
|
|
352
|
+
},
|
|
190
353
|
changeValue() {
|
|
191
|
-
this.isOpen = !this.isOpen
|
|
192
|
-
this.$emit(
|
|
354
|
+
this.isOpen = !this.isOpen;
|
|
355
|
+
this.$emit("menuOpen", this.isOpen);
|
|
193
356
|
},
|
|
194
357
|
setBalance(balance) {
|
|
195
358
|
if (balance !== 0) {
|
|
196
|
-
this.profileDropDown[2].name =
|
|
359
|
+
this.profileDropDown[2].name =
|
|
360
|
+
"Текущий баланс: " + this.thousandSeparator(balance) + " ₸";
|
|
197
361
|
}
|
|
198
362
|
},
|
|
199
363
|
thousandSeparator(val) {
|
|
200
|
-
return val ?
|
|
364
|
+
return val ? val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ") : "";
|
|
365
|
+
},
|
|
366
|
+
defineIconState(name) {
|
|
367
|
+
return name === "DOWN" ? "@/assets/icons/arrow-down.svg" : "@/assets/icons/arrow-up.svg";
|
|
368
|
+
},
|
|
369
|
+
defineIconEntity(name) {
|
|
370
|
+
switch (name) {
|
|
371
|
+
case 'USD':
|
|
372
|
+
return "@/assets/icons/dollor.svg";
|
|
373
|
+
case 'EUR':
|
|
374
|
+
return "@/assets/icons/euro.svg";
|
|
375
|
+
case 'RUB':
|
|
376
|
+
return "@/assets/icons/ruble.svg";
|
|
377
|
+
}
|
|
201
378
|
},
|
|
202
379
|
},
|
|
203
|
-
watch: {
|
|
204
|
-
balance(newBalance) {
|
|
205
|
-
this.setBalance(newBalance);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
380
|
};
|
|
209
381
|
</script>
|
|
210
382
|
|
|
@@ -216,27 +388,25 @@ export default {
|
|
|
216
388
|
padding: 0;
|
|
217
389
|
}
|
|
218
390
|
|
|
219
|
-
.
|
|
220
|
-
|
|
391
|
+
.sticky {
|
|
392
|
+
position: sticky;
|
|
393
|
+
z-index: 1000;
|
|
394
|
+
top: 0;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.header {
|
|
221
398
|
background: #ffffff;
|
|
222
399
|
max-height: 62px;
|
|
223
400
|
height: 62px;
|
|
224
401
|
display: flex;
|
|
225
402
|
align-items: center;
|
|
226
403
|
@media (max-width: 1025px) {
|
|
227
|
-
border-bottom: 1px solid #
|
|
404
|
+
border-bottom: 1px solid #2c3e5026;
|
|
228
405
|
height: 40px;
|
|
229
406
|
}
|
|
230
407
|
|
|
231
408
|
&.bordered {
|
|
232
|
-
border-bottom: 1px solid #
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
&.fixed {
|
|
236
|
-
position: fixed;
|
|
237
|
-
z-index: 1000;
|
|
238
|
-
top: 0;
|
|
239
|
-
left: 0;
|
|
409
|
+
border-bottom: 1px solid #2c3e5026;
|
|
240
410
|
}
|
|
241
411
|
|
|
242
412
|
& > .container {
|
|
@@ -295,7 +465,7 @@ export default {
|
|
|
295
465
|
}
|
|
296
466
|
|
|
297
467
|
&:hover {
|
|
298
|
-
color: #
|
|
468
|
+
color: #9da3ac;
|
|
299
469
|
cursor: pointer;
|
|
300
470
|
}
|
|
301
471
|
}
|
|
@@ -310,7 +480,7 @@ export default {
|
|
|
310
480
|
height: 26px;
|
|
311
481
|
display: block;
|
|
312
482
|
fill: #2c3e50;
|
|
313
|
-
@media(max-width: 1025px) {
|
|
483
|
+
@media (max-width: 1025px) {
|
|
314
484
|
width: 77px;
|
|
315
485
|
height: 24px;
|
|
316
486
|
}
|
|
@@ -330,7 +500,9 @@ export default {
|
|
|
330
500
|
}
|
|
331
501
|
|
|
332
502
|
@media (max-width: 1025px) {
|
|
333
|
-
display:
|
|
503
|
+
display: flex;
|
|
504
|
+
flex-direction: column;
|
|
505
|
+
justify-content: space-between;
|
|
334
506
|
.mobile-table-head {
|
|
335
507
|
padding: 11px 16px;
|
|
336
508
|
display: flex;
|
|
@@ -338,7 +510,7 @@ export default {
|
|
|
338
510
|
background: #2c3e500d;
|
|
339
511
|
}
|
|
340
512
|
&-wrapper {
|
|
341
|
-
border-top: 1px solid #
|
|
513
|
+
border-top: 1px solid #9da3ac4c;
|
|
342
514
|
padding: 14px 16px;
|
|
343
515
|
font-weight: 600;
|
|
344
516
|
font-size: 16px;
|
|
@@ -347,7 +519,7 @@ export default {
|
|
|
347
519
|
display: block;
|
|
348
520
|
|
|
349
521
|
&:last-child {
|
|
350
|
-
border-bottom: 1px solid #
|
|
522
|
+
border-bottom: 1px solid #9da3ac4c;
|
|
351
523
|
}
|
|
352
524
|
|
|
353
525
|
&.active-burger-tab {
|
|
@@ -361,6 +533,72 @@ export default {
|
|
|
361
533
|
}
|
|
362
534
|
}
|
|
363
535
|
}
|
|
536
|
+
|
|
537
|
+
.menu-mobile__info {
|
|
538
|
+
&-header {
|
|
539
|
+
background: rgba(189, 199, 206, 0.2);
|
|
540
|
+
padding: 4px 16px;
|
|
541
|
+
display: flex;
|
|
542
|
+
justify-content: space-between;
|
|
543
|
+
align-items: center;
|
|
544
|
+
span {
|
|
545
|
+
font-weight: 500;
|
|
546
|
+
font-size: 12px;
|
|
547
|
+
line-height: 20px;
|
|
548
|
+
color: #666C72;
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
&-body {
|
|
552
|
+
padding: 8px 16px 16px;
|
|
553
|
+
display: flex;
|
|
554
|
+
flex-direction: column;
|
|
555
|
+
justify-content: space-between;
|
|
556
|
+
gap: 12px;
|
|
557
|
+
}
|
|
558
|
+
&-row {
|
|
559
|
+
display: flex;
|
|
560
|
+
justify-content: space-between;
|
|
561
|
+
align-items: center;
|
|
562
|
+
}
|
|
563
|
+
&-column {
|
|
564
|
+
display: flex;
|
|
565
|
+
align-items: center;
|
|
566
|
+
gap: 8px;
|
|
567
|
+
span {
|
|
568
|
+
font-weight: 500;
|
|
569
|
+
font-size: 14px;
|
|
570
|
+
line-height: 20px;
|
|
571
|
+
color: #2C3E50;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
&-footer {
|
|
575
|
+
background: rgba(189, 199, 206, 0.2);
|
|
576
|
+
padding: 8px 16px;
|
|
577
|
+
display: flex;
|
|
578
|
+
flex-direction: column;
|
|
579
|
+
gap: 10px;
|
|
580
|
+
&-item {
|
|
581
|
+
display: flex;
|
|
582
|
+
justify-content: space-between;
|
|
583
|
+
align-items: center;
|
|
584
|
+
}
|
|
585
|
+
&-title {
|
|
586
|
+
font-weight: 500;
|
|
587
|
+
font-size: 14px;
|
|
588
|
+
line-height: 20px;
|
|
589
|
+
color: #2C3E50;
|
|
590
|
+
}
|
|
591
|
+
&-circle {
|
|
592
|
+
color: #ffffff;
|
|
593
|
+
padding: 4px 12px;
|
|
594
|
+
background: #007AFF;
|
|
595
|
+
border-radius: 100px;
|
|
596
|
+
font-weight: 500;
|
|
597
|
+
font-size: 14px;
|
|
598
|
+
line-height: 20px;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
364
602
|
}
|
|
365
603
|
|
|
366
604
|
</style>
|