@ozdao/martyrs 0.2.451 → 0.2.453
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/{Media-Bx_un17A.js → Media-BsgJlo-X.js} +1 -1
- package/dist/{Media-_5Qittnv.mjs → Media-CxRfrG2S.mjs} +1 -1
- package/dist/builder.js +8 -9
- package/dist/builder.mjs +8 -9
- package/dist/{main-DZCereaK.mjs → main-7FA_ai95.mjs} +2 -2
- package/dist/{main-AHluqkEA.js → main-Zocv7IVl.js} +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs +13 -51
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +13 -51
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +36 -13
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +36 -13
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +27 -17
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +27 -17
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -3
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +1 -3
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +4 -4
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +4 -4
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs +0 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.js +0 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.js.map +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/style.css +1 -53
- package/package.json +1 -1
- package/src/builder/webpack/webpack.config.client.js +5 -5
- package/src/components/Feed/Feed.vue +1 -1
- package/src/modules/auth/views/components/layouts/Auth.vue +2 -2
- package/src/modules/auth/views/components/pages/SignIn.vue +1 -1
- package/src/modules/globals/views/components/layouts/App.vue +5 -94
- package/src/modules/globals/views/components/layouts/Client.vue +54 -14
- package/src/modules/globals/views/mixins/mixins.js +35 -18
- package/src/modules/icons/logos/Logotype.vue +1 -1
- package/src/modules/marketplace/views/components/pages/Catalog.vue +1 -3
- package/src/modules/orders/components/partials/ShopCart.vue +4 -15
- package/src/modules/orders/store/shopcart.js +0 -2
- package/src/styles/base/borders.scss +7 -1
- package/src/styles/layout.scss +3 -41
package/dist/martyrs.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as o, t, b as d, c as r, u as l, v as i, w as p, d as u, x as n, e as m, y as M, F as S, z as c, f as F, A as g, L as h, g as b, M as k, E as x, n as B, o as C, h as T, i as U, S as f, j as w, B as D, C as E, k as I, D as L, l as P, q, p as y, U as A, r as j, s as v, m as z } from "./main-
|
|
1
|
+
import { a as o, t, b as d, c as r, u as l, v as i, w as p, d as u, x as n, e as m, y as M, F as S, z as c, f as F, A as g, L as h, g as b, M as k, E as x, n as B, o as C, h as T, i as U, S as f, j as w, B as D, C as E, k as I, D as L, l as P, q, p as y, U as A, r as j, s as v, m as z } from "./main-7FA_ai95.mjs";
|
|
2
2
|
import "vue";
|
|
3
3
|
export {
|
|
4
4
|
o as Address,
|
package/dist/style.css
CHANGED
|
@@ -955,50 +955,7 @@ div.vue-tags-input.disabled * {
|
|
|
955
955
|
.slider-hotpost .embla__slide {
|
|
956
956
|
flex: 0 0 75%;
|
|
957
957
|
}
|
|
958
|
-
}
|
|
959
|
-
/* Base layout styles */
|
|
960
|
-
#app-wrapper {
|
|
961
|
-
position: relative;
|
|
962
|
-
width: 100%;
|
|
963
|
-
min-height: 100vh;
|
|
964
|
-
}
|
|
965
|
-
|
|
966
|
-
/* Layout with sidebar expanded */
|
|
967
|
-
.content-with-sidebar {
|
|
968
|
-
margin-left: 18rem;
|
|
969
|
-
width: calc(100% - 18rem);
|
|
970
|
-
transition: all 0.3s ease-in-out;
|
|
971
|
-
}
|
|
972
|
-
|
|
973
|
-
/* Layout with sidebar collapsed */
|
|
974
|
-
.content-full-width {
|
|
975
|
-
margin-left: 3rem; /* Width of collapsed sidebar with icons only */
|
|
976
|
-
width: calc(100% - 3rem);
|
|
977
|
-
transition: all 0.3s ease-in-out;
|
|
978
|
-
}
|
|
979
|
-
|
|
980
|
-
/* Mobile layout adjustments */
|
|
981
|
-
@media (max-width: 768px) {
|
|
982
|
-
.content-with-sidebar,
|
|
983
|
-
.content-full-width {
|
|
984
|
-
margin-left: 0 !important;
|
|
985
|
-
width: 100% !important;
|
|
986
|
-
}
|
|
987
|
-
|
|
988
|
-
/* When sidebar is expanded on mobile, we add overlay effect */
|
|
989
|
-
.sidebar-expanded-layout::after {
|
|
990
|
-
content: '';
|
|
991
|
-
position: fixed;
|
|
992
|
-
top: 0;
|
|
993
|
-
left: 0;
|
|
994
|
-
right: 0;
|
|
995
|
-
bottom: 0;
|
|
996
|
-
background: rgba(0, 0, 0, 0.5);
|
|
997
|
-
z-index: 90;
|
|
998
|
-
transition: opacity 0.3s ease;
|
|
999
|
-
}
|
|
1000
|
-
}
|
|
1001
|
-
.error-wrapper {
|
|
958
|
+
}.error-wrapper {
|
|
1002
959
|
position: absolute;
|
|
1003
960
|
left: 0;
|
|
1004
961
|
right: 0;
|
|
@@ -1063,18 +1020,9 @@ div.vue-tags-input.disabled * {
|
|
|
1063
1020
|
width: 33%;
|
|
1064
1021
|
overflow-y: scroll;
|
|
1065
1022
|
}
|
|
1066
|
-
.shop-cart .shopcart-footer {
|
|
1067
|
-
position: fixed;
|
|
1068
|
-
bottom: 0;
|
|
1069
|
-
width: 33%;
|
|
1070
|
-
right: -33%;
|
|
1071
|
-
}
|
|
1072
1023
|
.shop-cart-active {
|
|
1073
1024
|
right: 0;
|
|
1074
1025
|
}
|
|
1075
|
-
.shop-cart-active .shopcart-footer {
|
|
1076
|
-
right: 0;
|
|
1077
|
-
}
|
|
1078
1026
|
@media screen and (max-width: 1025px) {
|
|
1079
1027
|
.shop-cart {
|
|
1080
1028
|
width: 100%;
|
package/package.json
CHANGED
|
@@ -36,11 +36,11 @@ module.exports = (projectRoot) => {
|
|
|
36
36
|
// ...(!isProd ? [new webpack.HotModuleReplacementPlugin()] : []),
|
|
37
37
|
new StatsWriterPlugin(),
|
|
38
38
|
...(!isProd ? [
|
|
39
|
-
new WorkboxPlugin.GenerateSW({
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}),
|
|
39
|
+
// new WorkboxPlugin.GenerateSW({
|
|
40
|
+
// clientsClaim: true,
|
|
41
|
+
// skipWaiting: true,
|
|
42
|
+
// disableDevLogs: true
|
|
43
|
+
// }),
|
|
44
44
|
] : []),
|
|
45
45
|
new PurgeCSSPlugin({
|
|
46
46
|
printRejected: true,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="cols-2-1_2 gap-small pd-small
|
|
3
|
+
class="cols-2-1_2 gap-small pd-small"
|
|
4
4
|
>
|
|
5
5
|
|
|
6
6
|
<router-view
|
|
7
|
-
class="pd-big w-m-66r t-center"
|
|
7
|
+
class="pd-big mobile:pd-medium w-m-66r t-center"
|
|
8
8
|
v-slot="{ Component, route }"
|
|
9
9
|
>
|
|
10
10
|
<transition
|
|
@@ -1,26 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<transition
|
|
3
|
-
name="moveFromTop"
|
|
4
|
-
mode="out-in"
|
|
5
|
-
>
|
|
6
|
-
<section
|
|
7
|
-
v-if="FirstUse && route.meta.walkthrough"
|
|
8
|
-
class="w-100 h-100"
|
|
9
|
-
>
|
|
10
|
-
<component
|
|
11
|
-
:is="route.meta.walkthrough"
|
|
12
|
-
name="Walkthrough"
|
|
13
|
-
@updateFirstUse="updateFirstUse"
|
|
14
|
-
:slides="[1,2,3]"
|
|
15
|
-
class="tab"
|
|
16
|
-
>
|
|
17
|
-
</component>
|
|
18
|
-
</section>
|
|
19
|
-
</transition>
|
|
20
|
-
|
|
21
2
|
<router-view
|
|
22
3
|
v-slot="{ Component }"
|
|
23
|
-
class="transition-ease-in-out h-min-100 w-100 pos-relative"
|
|
24
4
|
>
|
|
25
5
|
<component ref="page" :is="Component"/>
|
|
26
6
|
</router-view>
|
|
@@ -55,14 +35,13 @@
|
|
|
55
35
|
/////////////////////////////
|
|
56
36
|
// META
|
|
57
37
|
/////////////////////////////
|
|
58
|
-
const { t, locale } = useI18n({
|
|
38
|
+
const { t, locale, availableLocales } = useI18n({
|
|
59
39
|
messages: props.messages
|
|
60
40
|
})
|
|
61
41
|
|
|
62
|
-
|
|
63
42
|
const route = useRoute();
|
|
64
43
|
|
|
65
|
-
const languages =
|
|
44
|
+
const languages = availableLocales;
|
|
66
45
|
const base_url = process.env.FILE_SERVER_URL;
|
|
67
46
|
|
|
68
47
|
function removeTrailingSlash(url) {
|
|
@@ -113,80 +92,12 @@
|
|
|
113
92
|
});
|
|
114
93
|
|
|
115
94
|
useHead(metadata)
|
|
116
|
-
|
|
117
|
-
// FIRST USE
|
|
118
|
-
/////////////////////////////
|
|
119
|
-
const FirstUse = ref(false);
|
|
120
|
-
|
|
121
|
-
import { Preferences } from '@capacitor/preferences';
|
|
122
|
-
import { Keyboard } from '@capacitor/keyboard';
|
|
123
|
-
|
|
124
|
-
if (process.env.MOBILE_APP === 'ios') Keyboard.setAccessoryBarVisible({ isVisible: false })
|
|
125
|
-
|
|
126
|
-
async function getFirstUse() {
|
|
127
|
-
const ret = await Preferences.get({ key: 'first-use' });
|
|
128
|
-
FirstUse.value = ret.value ? JSON.parse(ret.value) : true;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const updateFirstUse = (value) => {
|
|
132
|
-
FirstUse.value = value;
|
|
133
|
-
}
|
|
134
|
-
|
|
95
|
+
|
|
135
96
|
onBeforeMount(async()=>{
|
|
136
97
|
const { value } = await Preferences.get({ key: 'darkmode' });
|
|
98
|
+
|
|
137
99
|
const isDarkMode = value ? JSON.parse(value) : false;
|
|
138
100
|
|
|
139
|
-
// Устанавливаем тему
|
|
140
101
|
globals.actions.setTheme(isDarkMode);
|
|
141
102
|
})
|
|
142
|
-
|
|
143
|
-
onMounted(async () => {
|
|
144
|
-
await getFirstUse()
|
|
145
|
-
if (page) show.value = true
|
|
146
|
-
});
|
|
147
|
-
</script>
|
|
148
|
-
|
|
149
|
-
<style>
|
|
150
|
-
/* Base layout styles */
|
|
151
|
-
#app-wrapper {
|
|
152
|
-
position: relative;
|
|
153
|
-
width: 100%;
|
|
154
|
-
min-height: 100vh;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/* Layout with sidebar expanded */
|
|
158
|
-
.content-with-sidebar {
|
|
159
|
-
margin-left: 18rem;
|
|
160
|
-
width: calc(100% - 18rem);
|
|
161
|
-
transition: all 0.3s ease-in-out;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/* Layout with sidebar collapsed */
|
|
165
|
-
.content-full-width {
|
|
166
|
-
margin-left: 3rem; /* Width of collapsed sidebar with icons only */
|
|
167
|
-
width: calc(100% - 3rem);
|
|
168
|
-
transition: all 0.3s ease-in-out;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/* Mobile layout adjustments */
|
|
172
|
-
@media (max-width: 768px) {
|
|
173
|
-
.content-with-sidebar,
|
|
174
|
-
.content-full-width {
|
|
175
|
-
margin-left: 0 !important;
|
|
176
|
-
width: 100% !important;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/* When sidebar is expanded on mobile, we add overlay effect */
|
|
180
|
-
.sidebar-expanded-layout::after {
|
|
181
|
-
content: '';
|
|
182
|
-
position: fixed;
|
|
183
|
-
top: 0;
|
|
184
|
-
left: 0;
|
|
185
|
-
right: 0;
|
|
186
|
-
bottom: 0;
|
|
187
|
-
background: rgba(0, 0, 0, 0.5);
|
|
188
|
-
z-index: 90;
|
|
189
|
-
transition: opacity 0.3s ease;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
</style>
|
|
103
|
+
</script>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
id="app-wrapper"
|
|
4
|
-
class="pos-relative o-hidden"
|
|
4
|
+
class="flex flex-column h-100 w-100 pos-relative o-hidden"
|
|
5
5
|
:class="{
|
|
6
6
|
'pd-t-extra': MOBILE_APP === 'ios',
|
|
7
7
|
'bg-white': headerTheme === 'light',
|
|
@@ -11,7 +11,27 @@
|
|
|
11
11
|
<transition name="moveFromTop" appear>
|
|
12
12
|
<Loader v-if="!page || isPageLoading" class="pos-fixed"/>
|
|
13
13
|
</transition>
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<transition
|
|
17
|
+
name="moveFromTop"
|
|
18
|
+
mode="out-in"
|
|
19
|
+
>
|
|
20
|
+
<section
|
|
21
|
+
v-if="FirstUse && route.meta.walkthrough"
|
|
22
|
+
class="w-100 h-100"
|
|
23
|
+
>
|
|
24
|
+
<component
|
|
25
|
+
:is="route.meta.walkthrough"
|
|
26
|
+
name="Walkthrough"
|
|
27
|
+
@updateFirstUse="updateFirstUse"
|
|
28
|
+
:slides="[1,2,3]"
|
|
29
|
+
class="tab"
|
|
30
|
+
>
|
|
31
|
+
</component>
|
|
32
|
+
</section>
|
|
33
|
+
</transition>
|
|
34
|
+
|
|
15
35
|
<component
|
|
16
36
|
v-if="!MOBILE_APP && route.meta.header"
|
|
17
37
|
ref="header"
|
|
@@ -48,11 +68,12 @@
|
|
|
48
68
|
<LocationSelection />
|
|
49
69
|
</Popup>
|
|
50
70
|
|
|
71
|
+
<!-- class="flex flex-nowrap transition-ease-in-out o-hidden pos-relative" -->
|
|
51
72
|
<section
|
|
52
73
|
id="screen"
|
|
53
74
|
ref="screen"
|
|
54
75
|
@scroll="handleScroll"
|
|
55
|
-
class="flex flex-nowrap transition-ease-in-out
|
|
76
|
+
class="flex flex-nowrap h-100 pos-relative o-hidden transition-ease-in-out"
|
|
56
77
|
:class="{
|
|
57
78
|
'': MOBILE_APP === 'ios',
|
|
58
79
|
}"
|
|
@@ -91,7 +112,7 @@
|
|
|
91
112
|
/>
|
|
92
113
|
</transition>
|
|
93
114
|
</component>
|
|
94
|
-
|
|
115
|
+
<!-- rows-1-min0_max1 z-index-1 pos-relative w-100 h-100 -->
|
|
95
116
|
<div class="rows-1-min0_max1 z-index-1 pos-relative w-100 h-100">
|
|
96
117
|
<Status
|
|
97
118
|
v-if="globals.state.error.show"
|
|
@@ -229,18 +250,37 @@
|
|
|
229
250
|
const handleScroll = () => {
|
|
230
251
|
scrollOffset.value = event.target.scrollTop
|
|
231
252
|
};
|
|
253
|
+
/////////////////////////////
|
|
254
|
+
// FIRST USE
|
|
255
|
+
/////////////////////////////
|
|
256
|
+
const FirstUse = ref(false);
|
|
257
|
+
|
|
258
|
+
import { Preferences } from '@capacitor/preferences';
|
|
259
|
+
import { Keyboard } from '@capacitor/keyboard';
|
|
260
|
+
|
|
261
|
+
if (process.env.MOBILE_APP === 'ios') Keyboard.setAccessoryBarVisible({ isVisible: false })
|
|
262
|
+
|
|
263
|
+
async function getFirstUse() {
|
|
264
|
+
const ret = await Preferences.get({ key: 'first-use' });
|
|
265
|
+
FirstUse.value = ret.value ? JSON.parse(ret.value) : true;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
const updateFirstUse = (value) => {
|
|
269
|
+
FirstUse.value = value;
|
|
270
|
+
}
|
|
232
271
|
|
|
233
272
|
onMounted(async () => {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
273
|
+
await getFirstUse()
|
|
274
|
+
|
|
275
|
+
// if ('serviceWorker' in navigator) {
|
|
276
|
+
// window.addEventListener('load', () => {
|
|
277
|
+
// navigator.serviceWorker.register('/service-worker.js').then(registration => {
|
|
278
|
+
// console.log('SW registered: ', registration);
|
|
279
|
+
// }).catch(registrationError => {
|
|
280
|
+
// console.log('SW registration failed: ', registrationError);
|
|
281
|
+
// });
|
|
282
|
+
// });
|
|
283
|
+
// }
|
|
244
284
|
|
|
245
285
|
const savedPosition = localStorage.getItem('position');
|
|
246
286
|
|
|
@@ -2,7 +2,7 @@ import * as globals from '@martyrs/src/modules/globals/views/store/globals'
|
|
|
2
2
|
|
|
3
3
|
// useGlobalMixins.js
|
|
4
4
|
export function useGlobalMixins() {
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
|
|
7
7
|
const isAdmin = (roles) => {
|
|
8
8
|
if (roles) {
|
|
@@ -192,6 +192,8 @@ const formatDate = (d, options = {}) => {
|
|
|
192
192
|
return base;
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
+
const isClientSide = typeof window !== 'undefined' && typeof document !== 'undefined'
|
|
196
|
+
|
|
195
197
|
const getCssVar = (name) => {
|
|
196
198
|
if (!isClientSide) return '' // SSR fallback
|
|
197
199
|
return getComputedStyle(document.documentElement)
|
|
@@ -199,35 +201,50 @@ const formatDate = (d, options = {}) => {
|
|
|
199
201
|
.trim()
|
|
200
202
|
}
|
|
201
203
|
|
|
204
|
+
const matchMediaSafe = (query) => {
|
|
205
|
+
if (!isClientSide) return { matches: false }
|
|
206
|
+
return window.matchMedia(query)
|
|
207
|
+
}
|
|
208
|
+
|
|
202
209
|
const isMediaMax = (varName) => {
|
|
203
|
-
if (!isClientSide) return false
|
|
204
210
|
const maxWidth = getCssVar(varName)
|
|
205
|
-
return
|
|
211
|
+
return matchMediaSafe(`(max-width: ${maxWidth})`).matches
|
|
206
212
|
}
|
|
207
213
|
|
|
208
214
|
const isMediaMin = (varName) => {
|
|
209
|
-
if (!isClientSide) return false
|
|
210
215
|
const minWidth = getCssVar(varName)
|
|
211
|
-
return
|
|
216
|
+
return matchMediaSafe(`(min-width: ${minWidth})`).matches
|
|
212
217
|
}
|
|
213
218
|
|
|
214
|
-
|
|
215
219
|
const isFlipPhone = () => isMediaMax('--flip-phone-max')
|
|
216
220
|
const isPhone = () => isMediaMax('--phone-landscape-max')
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
`(min-width: ${
|
|
222
|
-
|
|
221
|
+
|
|
222
|
+
const isTabletPortrait = () => {
|
|
223
|
+
const min = getCssVar('--tablet-portrait-min')
|
|
224
|
+
const max = getCssVar('--tablet-portrait-max')
|
|
225
|
+
return matchMediaSafe(`(min-width: ${min}) and (max-width: ${max})`).matches
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
const isTabletLandscape = () => {
|
|
229
|
+
const min = getCssVar('--tablet-landscape-min')
|
|
230
|
+
const max = getCssVar('--tablet-landscape-max')
|
|
231
|
+
return matchMediaSafe(`(min-width: ${min}) and (max-width: ${max})`).matches
|
|
232
|
+
}
|
|
233
|
+
|
|
223
234
|
const isTablet = () => isTabletPortrait() || isTabletLandscape()
|
|
224
235
|
|
|
225
|
-
const isDesktop = () =>
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
236
|
+
const isDesktop = () => {
|
|
237
|
+
const min = getCssVar('--desktop-min')
|
|
238
|
+
const max = getCssVar('--desktop-max')
|
|
239
|
+
return matchMediaSafe(`(min-width: ${min}) and (max-width: ${max})`).matches
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
const isXLDesktop = () => {
|
|
243
|
+
const min = getCssVar('--xl-desktop-min')
|
|
244
|
+
const max = getCssVar('--xl-desktop-max')
|
|
245
|
+
return matchMediaSafe(`(min-width: ${min}) and (max-width: ${max})`).matches
|
|
246
|
+
}
|
|
247
|
+
|
|
231
248
|
const isXXLDesktop = () => isMediaMin('--xxl-desktop-min')
|
|
232
249
|
|
|
233
250
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<svg class="h-2r w-
|
|
2
|
+
<svg class="h-2r w-auto" width="270" height="300" viewBox="0 0 270 300" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
3
|
<g clip-path="url(#clip0)">
|
|
4
4
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M264.626 52.2791C265.531 57.2858 266 62.4066 266 67.6155C266 125.882 207.349 173.116 135 173.116C62.6507 173.116 4 125.882 4 67.6155C4 62.4066 4.46875 57.2858 5.37413 52.2791C11.0997 32.6306 21.1714 14.8341 34.4789 0C34.1621 2.17658 34 4.38345 34 6.61562C34 43.8948 79.2192 74.1156 135 74.1156C190.781 74.1156 236 43.8948 236 6.61562C236 4.38345 235.838 2.17659 235.521 5.29254e-06C248.829 14.8341 258.9 32.6306 264.626 52.2791Z" fill="#00FF88"/>
|
|
5
5
|
<path d="M270 165C270 239.558 209.558 300 135 300C60.4416 300 0 239.558 0 165C0 90.4416 60.4416 30 135 30C209.558 30 270 90.4416 270 165Z" fill="#00FF88"/>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="z-index-5 transition-ease-in-out
|
|
2
|
+
<section class="z-index-5 flex flex-column transition-ease-in-out bg-white shop-cart" :class="{'shop-cart-active':shopcart.state.currentState === true}">
|
|
3
3
|
<!-- ---------------------------------------------------------------- -->
|
|
4
4
|
<!-- 01. Popup Header -->
|
|
5
5
|
<!-- ---------------------------------------------------------------- -->
|
|
6
|
-
<div class="flex-nowrap flex">
|
|
6
|
+
<div class="pd-big mobile:pd-medium pd-b-zero mobile:pd-b-zero flex-nowrap flex">
|
|
7
7
|
<div class="mn-b-medium w-100">
|
|
8
8
|
<h4 class="mn-b-thin p-big">{{t('title')}}</h4>
|
|
9
9
|
<p class="t-transp p-small">{{t('subtitle')}} {{ t('positions', { count: StoreCartAmount }) }}</p>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<!-- ---------------------------------------------------------------- -->
|
|
14
14
|
<!-- 02. Popup Content -->
|
|
15
15
|
<!-- ---------------------------------------------------------------- -->
|
|
16
|
-
<div class="h-
|
|
16
|
+
<div class="pd-big mobile:pd-medium h-70 flex flex-column w-100 pos-relative o-x-hidden o-y-scroll gap-small shopcart-content">
|
|
17
17
|
<!-- Empty State -->
|
|
18
18
|
<p v-if="!(shopcart.state.positions.length > 0)" class="mn-t-medium"><i>{{t('emptystate')}}</i></p>
|
|
19
19
|
<!-- Shopcart positions -->
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<!-- ---------------------------------------------------------------- -->
|
|
32
32
|
<!-- 03. Footer -->
|
|
33
33
|
<!-- ---------------------------------------------------------------- -->
|
|
34
|
-
<div class="
|
|
34
|
+
<div class="h-30 transition-ease-in-out pd-b-medium pd-t-medium pd-big transition-cubic bg-light t-black">
|
|
35
35
|
<div v-if="shopcart.state.positions.length > 0" class="mn-b-small total-price">
|
|
36
36
|
<PriceTotal
|
|
37
37
|
:totalPrice="cartTotalPrice"
|
|
@@ -146,22 +146,11 @@
|
|
|
146
146
|
width: 33%;
|
|
147
147
|
|
|
148
148
|
overflow-y: scroll;
|
|
149
|
-
|
|
150
|
-
.shopcart-footer {
|
|
151
|
-
position: fixed;
|
|
152
|
-
bottom: 0;
|
|
153
|
-
|
|
154
|
-
width: 33%;
|
|
155
|
-
right: -33%;
|
|
156
|
-
}
|
|
157
149
|
}
|
|
158
150
|
|
|
159
151
|
.shop-cart-active {
|
|
160
152
|
right: 0;
|
|
161
153
|
|
|
162
|
-
.shopcart-footer {
|
|
163
|
-
right: 0;
|
|
164
|
-
}
|
|
165
154
|
}
|
|
166
155
|
|
|
167
156
|
@media screen and (max-width: 1025px) {
|
|
@@ -26,7 +26,6 @@ const helpers = {
|
|
|
26
26
|
images: product.images,
|
|
27
27
|
name: product.name,
|
|
28
28
|
price: product.price,
|
|
29
|
-
price_currency: product.price_currency,
|
|
30
29
|
listing: product.listing,
|
|
31
30
|
quantity: 1,
|
|
32
31
|
org_id: organization,
|
|
@@ -155,7 +154,6 @@ const actions = {
|
|
|
155
154
|
name: product.name,
|
|
156
155
|
listing: product.listing,
|
|
157
156
|
price: product.price,
|
|
158
|
-
price_currency: product.price_currency,
|
|
159
157
|
quantity: 1,
|
|
160
158
|
date: date,
|
|
161
159
|
org_id: organization, // Добавляем _id организации к каждому продукту
|
|
@@ -27,7 +27,13 @@ body {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// Border Clasess
|
|
30
|
-
.br-zero {
|
|
30
|
+
.br-zero {
|
|
31
|
+
border-width: 0;
|
|
32
|
+
border-top-width: 0;
|
|
33
|
+
border-right-width: 0;
|
|
34
|
+
border-bottom-width: 0;
|
|
35
|
+
border-left-width: 0;
|
|
36
|
+
}
|
|
31
37
|
.br-1px { border-width: 1px; }
|
|
32
38
|
.br-2px { border-width: 2px; }
|
|
33
39
|
/* Border style */
|
package/src/styles/layout.scss
CHANGED
|
@@ -2,20 +2,6 @@
|
|
|
2
2
|
box-sizing: border-box;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
/*img {
|
|
6
|
-
flex: 0 0 35%;
|
|
7
|
-
min-width: 0;
|
|
8
|
-
object-fit: cover;
|
|
9
|
-
}*/
|
|
10
|
-
|
|
11
|
-
html, body {
|
|
12
|
-
position: relative;
|
|
13
|
-
width: 100vh;
|
|
14
|
-
height: 100vh;
|
|
15
|
-
overscroll-behavior: none;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
5
|
html {
|
|
20
6
|
backface-visibility: hidden;
|
|
21
7
|
text-rendering: geometricPrecision;
|
|
@@ -26,41 +12,17 @@ html {
|
|
|
26
12
|
body {
|
|
27
13
|
background: rgb(var(--white));
|
|
28
14
|
color: rgb(var(--black));;
|
|
29
|
-
// -ms-overflow-style: none;
|
|
30
|
-
// overflow-y: hidden;
|
|
31
|
-
// overflow-x: hidden;
|
|
32
15
|
}
|
|
33
16
|
|
|
34
17
|
html,
|
|
35
|
-
body
|
|
18
|
+
body,
|
|
19
|
+
#app,
|
|
20
|
+
{
|
|
36
21
|
position: relative;
|
|
37
22
|
width: 100%;
|
|
38
23
|
height: 100%;
|
|
39
|
-
// overflow-x: hidden;
|
|
40
24
|
}
|
|
41
25
|
|
|
42
|
-
#app {
|
|
43
|
-
position: relative;
|
|
44
|
-
width: 100%;
|
|
45
|
-
height: 100%;
|
|
46
|
-
overflow: hidden;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
#app-wrapper {
|
|
50
|
-
// display: grid;
|
|
51
|
-
// grid-template-rows: minmax(1px, auto) 1fr;
|
|
52
|
-
display: flex;
|
|
53
|
-
flex-direction: column;
|
|
54
|
-
position: relative;
|
|
55
|
-
height: 100%;
|
|
56
|
-
width: 100%;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
#screen {
|
|
60
|
-
// min-height: 100%;
|
|
61
|
-
flex: 1 0 auto; /* Enable flex grow */
|
|
62
|
-
height: 0;
|
|
63
|
-
}
|
|
64
26
|
|
|
65
27
|
// TURN OFF SCROLL AND CUROURS
|
|
66
28
|
// * {
|