@ozdao/prometheus-framework 0.2.92 → 0.2.94
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/events.server.js +14 -6
- package/dist/events.server.mjs +14 -6
- package/dist/main-CX2ISR43.mjs +13629 -0
- package/dist/main-cffh4bbv.js +92 -0
- package/dist/main.css +1 -1
- package/dist/orders.server.js +37 -23
- package/dist/orders.server.mjs +37 -23
- package/dist/organizations.server.js +2 -1
- package/dist/organizations.server.mjs +2 -1
- package/dist/prometheus-framework/src/components/Address/Address.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Address/Address.vue2.js +46 -48
- package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.js +25 -20
- package/dist/prometheus-framework/src/components/Map/Map.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Map/Map.vue.js +36 -26
- package/dist/prometheus-framework/src/components/Select/Select.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Select/Select.vue.js +103 -1
- package/dist/prometheus-framework/src/components/Select/Select.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Select/Select.vue2.js +1 -103
- package/dist/prometheus-framework/src/components/Spoiler/Spoiler.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Spoiler/Spoiler.vue.js +36 -1
- package/dist/prometheus-framework/src/components/Spoiler/Spoiler.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Spoiler/Spoiler.vue2.js +1 -36
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/constructor/components/elements/VideoPlayer.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/constructor/components/elements/VideoPlayer.vue.js +11 -11
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.js +45 -45
- package/dist/prometheus-framework/src/modules/orders/components/blocks/StatusHistory.vue.cjs +2 -2
- package/dist/prometheus-framework/src/modules/orders/components/blocks/StatusHistory.vue.js +39 -65
- package/dist/prometheus-framework/src/modules/orders/components/pages/Order.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/Order.vue.js +31 -31
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +242 -0
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue2.cjs +1 -0
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue2.js +1 -0
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreate.vue.js +62 -62
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +28 -28
- package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +99 -70
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +10 -10
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/router/orders.backoffice.router.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/router/orders.backoffice.router.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/router/orders.router.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/router/orders.router.js +2 -2
- package/dist/prometheus-framework/src/modules/orders/store/orders.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/store/orders.js +33 -34
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/store/shopcart.js +42 -42
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.js +28 -26
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.js +11 -11
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.js +47 -44
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +162 -168
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +27 -26
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +7 -7
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/store/memberships.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/store/memberships.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js +13 -13
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +14 -15
- package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +22 -20
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/store/products.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/store/products.js +59 -38
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +23 -22
- package/dist/prometheus-framework/src/modules/users/components/blocks/CardUser.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/users/components/blocks/CardUser.vue.js +17 -14
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
- package/dist/prometheus-framework.cjs.js +1 -1
- package/dist/prometheus-framework.es.js +1 -1
- package/dist/style.css +1 -1
- package/dist/web-CQQEUA9l.js +1 -0
- package/dist/web-D2Em-p-C.mjs +54 -0
- package/package.json +1 -1
- package/src/components/Address/Address.vue +23 -34
- package/src/components/LocationMarker/LocationMarker.vue +6 -1
- package/src/components/LocationSelection/LocationSelection.vue +4 -0
- package/src/components/Map/Map.vue +29 -15
- package/src/modules/constructor/components/elements/VideoPlayer.vue +2 -2
- package/src/modules/events/controllers/events.controller.js +4 -4
- package/src/modules/globals/components/blocks/CardHeader.vue +2 -2
- package/src/modules/integrations/stripe/controllers/services/stripe.service.js +17 -6
- package/src/modules/landing/components/pages/Farming.vue +226 -0
- package/src/modules/landing/components/pages/Governance.vue +3 -5
- package/src/modules/landing/components/pages/Home.vue +0 -3
- package/src/modules/landing/components/pages/Hotel.vue +1 -3
- package/src/modules/landing/components/pages/Page.vue +0 -3
- package/src/modules/landing/components/sections/Examples.vue +4 -56
- package/src/modules/landing/components/sections/SectionFeature.vue +41 -0
- package/src/modules/landing/components/sections/SectionFeaturesImages.vue +122 -0
- package/src/modules/landing/components/sections/SectionFocus.vue +59 -0
- package/src/modules/landing/components/sections/SectionHeroVideo.vue +164 -0
- package/src/modules/landing/router/landing.js +11 -0
- package/src/modules/marketplace/components/sections/Filters.vue +26 -23
- package/src/modules/orders/components/blocks/CardOrderItem.vue +8 -0
- package/src/modules/orders/components/blocks/StatusHistory.vue +25 -53
- package/src/modules/orders/components/pages/Order.vue +2 -6
- package/src/modules/orders/components/pages/OrderBackoffice.vue +393 -0
- package/src/modules/orders/components/pages/OrderCreate.vue +5 -4
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +2 -3
- package/src/modules/orders/components/pages/Orders.vue +60 -11
- package/src/modules/orders/components/sections/FormDelivery.vue +2 -2
- package/src/modules/orders/controllers/orders.controller.js +30 -19
- package/src/modules/orders/models/order.model.js +8 -2
- package/src/modules/orders/router/orders.backoffice.router.js +1 -1
- package/src/modules/orders/router/orders.router.js +2 -2
- package/src/modules/orders/store/orders.js +3 -7
- package/src/modules/orders/store/shopcart.js +1 -1
- package/src/modules/organizations/components/blocks/CardDepartment.vue +2 -0
- package/src/modules/organizations/components/pages/Department.vue +5 -1
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +65 -27
- package/src/modules/organizations/components/pages/Members.vue +2 -1
- package/src/modules/organizations/components/pages/Organization.vue +1 -1
- package/src/modules/organizations/controllers/memberships.controller.js +3 -1
- package/src/modules/organizations/store/memberships.js +1 -1
- package/src/modules/products/components/blocks/CardProduct.vue +2 -3
- package/src/modules/products/components/pages/ProductEdit.vue +10 -13
- package/src/modules/products/components/pages/Products.vue +2 -0
- package/src/modules/products/store/products.js +25 -2
- package/src/modules/spots/components/blocks/CardSpot.vue +2 -2
- package/src/modules/users/components/blocks/CardUser.vue +1 -0
- package/src/modules/landing/components/sections/AboutSection.vue +0 -69
@@ -9,7 +9,7 @@
|
|
9
9
|
<!-- ////////////////////////// -->
|
10
10
|
<!-- Input -->
|
11
11
|
<!-- ////////////////////////// -->
|
12
|
-
|
12
|
+
<input
|
13
13
|
ref="addressInput"
|
14
14
|
class="w-100"
|
15
15
|
:placeholder="placeholder"
|
@@ -39,7 +39,8 @@
|
|
39
39
|
|
40
40
|
<script setup>
|
41
41
|
import { ref, onMounted, watchEffect } from 'vue';
|
42
|
-
|
42
|
+
|
43
|
+
import { Loader as GMLoader } from "@googlemaps/js-api-loader";
|
43
44
|
|
44
45
|
const props = defineProps({
|
45
46
|
apiKey: {
|
@@ -57,38 +58,21 @@ const props = defineProps({
|
|
57
58
|
type: String,
|
58
59
|
default: ""
|
59
60
|
},
|
61
|
+
locale: {
|
62
|
+
type: String,
|
63
|
+
default: 'en'
|
64
|
+
}
|
60
65
|
});
|
61
66
|
|
62
67
|
const emit = defineEmits(['update:address', 'update:location', 'update:country', 'update:state', 'update:city']);
|
63
68
|
|
64
|
-
|
65
69
|
const addressInput = ref(null);
|
66
70
|
|
67
71
|
let autocomplete;
|
68
72
|
|
69
|
-
const initAutocomplete = () => {
|
70
|
-
const loader = new Loader({
|
71
|
-
apiKey: props.apiKey,
|
72
|
-
version: "weekly",
|
73
|
-
libraries: ["places"]
|
74
|
-
});
|
75
|
-
|
76
|
-
loader.load().then(() => {
|
77
|
-
autocomplete = new google.maps.places.Autocomplete(addressInput.value);
|
78
|
-
autocomplete.addListener('place_changed', onPlaceChanged);
|
79
|
-
}).catch(e => {
|
80
|
-
console.error(e);
|
81
|
-
});
|
82
|
-
};
|
83
|
-
|
84
|
-
const onInput = () => {
|
85
|
-
if (!autocomplete) {
|
86
|
-
initAutocomplete();
|
87
|
-
}
|
88
|
-
};
|
89
|
-
|
90
73
|
const onPlaceChanged = () => {
|
91
74
|
const place = autocomplete.getPlace();
|
75
|
+
|
92
76
|
if (!place.geometry || !place.address_components) {
|
93
77
|
return;
|
94
78
|
}
|
@@ -97,9 +81,8 @@ const onPlaceChanged = () => {
|
|
97
81
|
|
98
82
|
for (let i = 0; i < place.address_components.length; i++) {
|
99
83
|
|
100
|
-
console.log(place.address_components)
|
101
|
-
|
102
84
|
let addr = place.address_components[i];
|
85
|
+
|
103
86
|
if (addr.types.includes('country')) {
|
104
87
|
country = addr.long_name;
|
105
88
|
}
|
@@ -113,6 +96,7 @@ const onPlaceChanged = () => {
|
|
113
96
|
|
114
97
|
const newAddress = place.formatted_address;
|
115
98
|
const newLocation = { lat: place.geometry.location.lat(), lng: place.geometry.location.lng() };
|
99
|
+
|
116
100
|
emit('update:address', newAddress);
|
117
101
|
emit('update:location', newLocation);
|
118
102
|
|
@@ -122,14 +106,19 @@ const onPlaceChanged = () => {
|
|
122
106
|
emit('update:city', city);
|
123
107
|
};
|
124
108
|
|
109
|
+
onMounted(() => {
|
110
|
+
const loader = new GMLoader({
|
111
|
+
apiKey: props.apiKey,
|
112
|
+
version: "weekly",
|
113
|
+
libraries: ["places"],
|
114
|
+
// language: props.locale,
|
115
|
+
});
|
125
116
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
}
|
130
|
-
|
131
|
-
|
132
|
-
onMounted(() => {
|
133
|
-
initAutocomplete();
|
117
|
+
loader.load().then(() => {
|
118
|
+
autocomplete = new google.maps.places.Autocomplete(addressInput.value);
|
119
|
+
autocomplete.addListener('place_changed', onPlaceChanged);
|
120
|
+
}).catch(e => {
|
121
|
+
console.error(e);
|
122
|
+
});
|
134
123
|
});
|
135
124
|
</script>
|
@@ -34,6 +34,10 @@ const props = defineProps({
|
|
34
34
|
default: null
|
35
35
|
},
|
36
36
|
apiKey: String,
|
37
|
+
locale: {
|
38
|
+
type: String,
|
39
|
+
default: 'en'
|
40
|
+
}
|
37
41
|
})
|
38
42
|
|
39
43
|
const emit = defineEmits(['update:location', 'update:address', 'update:country', 'update:state', 'update:city']);
|
@@ -47,7 +51,8 @@ onMounted(() => {
|
|
47
51
|
const loader = new GMLoader({
|
48
52
|
apiKey: props.apiKey,
|
49
53
|
version: "weekly",
|
50
|
-
libraries: ["places"]
|
54
|
+
libraries: ["places"],
|
55
|
+
// language: props.locale,
|
51
56
|
});
|
52
57
|
|
53
58
|
loader.load().then(() => {
|
@@ -7,6 +7,8 @@
|
|
7
7
|
|
8
8
|
<Address
|
9
9
|
:apiKey="GOOGLE_MAPS_API_KEY"
|
10
|
+
|
11
|
+
:locale="$i18n.locale"
|
10
12
|
|
11
13
|
:address="position.address"
|
12
14
|
:location="position.location"
|
@@ -36,6 +38,8 @@
|
|
36
38
|
|
37
39
|
<LocationMarker
|
38
40
|
:apiKey="GOOGLE_MAPS_API_KEY"
|
41
|
+
:locale="$i18n.locale"
|
42
|
+
|
39
43
|
|
40
44
|
:address="position.address"
|
41
45
|
:location="position.location"
|
@@ -1,12 +1,18 @@
|
|
1
1
|
<template>
|
2
2
|
<div ref="gmap" class="gmap"></div>
|
3
|
+
|
3
4
|
</template>
|
4
5
|
|
5
6
|
<script setup>
|
6
7
|
import { ref, onMounted, watch } from 'vue';
|
7
8
|
|
9
|
+
|
10
|
+
import { Loader as GMLoader } from "@googlemaps/js-api-loader";
|
11
|
+
|
12
|
+
|
8
13
|
const props = defineProps({
|
9
14
|
location: Object,
|
15
|
+
apiKey: String,
|
10
16
|
});
|
11
17
|
|
12
18
|
let gmap = ref(null);
|
@@ -14,25 +20,33 @@ let map = null;
|
|
14
20
|
let marker = null;
|
15
21
|
|
16
22
|
onMounted(async () => {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
lat: props.location.lat,
|
22
|
-
lng: props.location.lng,
|
23
|
-
},
|
23
|
+
const loader = new GMLoader({
|
24
|
+
apiKey: props.apiKey,
|
25
|
+
version: "weekly",
|
26
|
+
libraries: ["places"]
|
24
27
|
});
|
25
28
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
loader.load().then(() => {
|
30
|
+
map = new google.maps.Map(gmap.value, {
|
31
|
+
zoom: 13,
|
32
|
+
center: {
|
33
|
+
lat: props.location.lat,
|
34
|
+
lng: props.location.lng,
|
35
|
+
},
|
36
|
+
});
|
37
|
+
|
38
|
+
// Добавить маркер
|
39
|
+
marker = new google.maps.Marker({
|
40
|
+
position: {
|
41
|
+
lat: props.location.lat,
|
42
|
+
lng: props.location.lng,
|
43
|
+
},
|
44
|
+
map: map,
|
45
|
+
});
|
46
|
+
}).catch(e => {
|
47
|
+
console.error(e);
|
33
48
|
});
|
34
49
|
});
|
35
|
-
|
36
50
|
watch(() => props.location, () => {
|
37
51
|
if (map && marker) {
|
38
52
|
// Обновить позицию маркера
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<template>
|
2
2
|
<div
|
3
|
-
class="mn-b-thin w-100 pd-medium bg-
|
3
|
+
class="mn-b-thin w-100 pd-medium bg-black radius-medium"
|
4
4
|
>
|
5
5
|
|
6
6
|
<div v-if="prop.content" class="flex-center flex">
|
7
|
-
<video controls class="w-100">
|
7
|
+
<video controls class="w-100 h-max-30r">
|
8
8
|
<source :src="prop.content" type="video/mp4">
|
9
9
|
Your browser does not support the video tag.
|
10
10
|
</video>
|
@@ -151,7 +151,7 @@ const middlewareFactory = (db) => {
|
|
151
151
|
const deleteMethod = async (req, res) => {
|
152
152
|
try {
|
153
153
|
const event = await Event.findOneAndDelete({
|
154
|
-
|
154
|
+
_id: req.body._id
|
155
155
|
}).exec();
|
156
156
|
|
157
157
|
if (!event) {
|
@@ -159,9 +159,9 @@ const middlewareFactory = (db) => {
|
|
159
159
|
message: "Event is not deleted."
|
160
160
|
});
|
161
161
|
}
|
162
|
-
|
163
|
-
|
164
|
-
|
162
|
+
if (event.special) {
|
163
|
+
await serviceStripe.deactivateProduct(event);
|
164
|
+
}
|
165
165
|
res.status(200).send(event);
|
166
166
|
} catch (err) {
|
167
167
|
return res.status(500).send({
|
@@ -47,7 +47,7 @@
|
|
47
47
|
}
|
48
48
|
})"
|
49
49
|
>
|
50
|
-
{{owner.target?.profile?.name}}
|
50
|
+
{{owner.target?.profile?.name || creator.target?.username || 'Anonymous'}}
|
51
51
|
</span>
|
52
52
|
|
53
53
|
<span
|
@@ -59,7 +59,7 @@
|
|
59
59
|
}
|
60
60
|
})"
|
61
61
|
>
|
62
|
-
· by {{creator.target?.profile?.name}}
|
62
|
+
· by {{creator.target?.profile?.name || creator.target?.username || 'Anonymous'}}
|
63
63
|
</span>
|
64
64
|
|
65
65
|
<span v-if="date" class="pos-relative">
|
@@ -104,13 +104,24 @@ class servicePaymentStripe extends servicePayment {
|
|
104
104
|
return { product, price: newPrice, paymentLink };
|
105
105
|
}
|
106
106
|
|
107
|
-
|
108
|
-
|
109
|
-
|
107
|
+
async deactivateProduct(event) {
|
108
|
+
try {
|
109
|
+
// Попытка получить продукт по ID
|
110
|
+
const product = await stripe.products.retrieve(event._id.toString());
|
111
|
+
|
112
|
+
// Если продукт найден, деактивировать его цену
|
113
|
+
if (product && product.default_price) {
|
114
|
+
await stripe.prices.update(product.default_price, {
|
115
|
+
active: false
|
116
|
+
});
|
117
|
+
}
|
118
|
+
} catch (error) {
|
119
|
+
// Обработка ошибки, если продукт не найден или другая ошибка API
|
120
|
+
console.error("Ошибка при деактивации продукта:", error.message);
|
121
|
+
// Можно здесь добавить дополнительную логику, если нужно
|
110
122
|
|
111
|
-
|
112
|
-
|
113
|
-
});
|
123
|
+
// Ошибка игнорируется, чтобы пропустить этот шаг
|
124
|
+
}
|
114
125
|
}
|
115
126
|
|
116
127
|
async createPaymentLink(event) {
|
@@ -0,0 +1,226 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="pd-thin">
|
3
|
+
<SectionHeroVideo class="mn-b-thin h-min-100"/>
|
4
|
+
<SectionFocus class="mn-b-big"/>
|
5
|
+
|
6
|
+
<SectionFeaturesImages
|
7
|
+
class="mn-b-big"
|
8
|
+
:textData="{
|
9
|
+
messages: {
|
10
|
+
en: {
|
11
|
+
title: 'What We Can Offer??',
|
12
|
+
subtitle: 'WDT – the foundation of the Weeder community. It serves as a currency, a DAO instrument, and for many other purposes:',
|
13
|
+
features: [
|
14
|
+
{
|
15
|
+
image: '/images/howitworks/step1.png',
|
16
|
+
title: 'Guidelines and Regulations',
|
17
|
+
text: 'WDT can be used as a digital currency within the Weeder ecosystem, allowing users to purchase products such as cannabis, advertising spaces, and other premium features on the platform.',
|
18
|
+
},
|
19
|
+
{
|
20
|
+
image: '/images/howitworks/step2.png',
|
21
|
+
title: 'Building Services',
|
22
|
+
text: 'As a DAO (Decentralized Autonomous Organization) instrument, WDT enables community governance and decision-making, allowing token holders to propose, discuss, and vote on various initiatives and developments within the Weeder ecosystem.',
|
23
|
+
},
|
24
|
+
{
|
25
|
+
image: '/images/howitworks/step3.png',
|
26
|
+
title: 'Digital and Marketing',
|
27
|
+
text: 'Holding WDT tokens can provide potential investment returns as the Weeder ecosystem grows and gains value. Additionally, WDT serves for dividend distribution – those who stake their tokens earn income from the platform.'
|
28
|
+
},
|
29
|
+
]
|
30
|
+
},
|
31
|
+
ru: {
|
32
|
+
title: 'Что такое Weeder Token?',
|
33
|
+
subtitle: 'WDT – основа сообщества Weeder. Он выступает в качестве валюты, инструмента DAO и многих других целей:',
|
34
|
+
features: [
|
35
|
+
{
|
36
|
+
image: '/images/howitworks/step1.png',
|
37
|
+
title: 'Валюта',
|
38
|
+
text: 'WDT можно использовать как цифровую валюту в экосистеме Weeder, позволяя пользователям покупать товары, такие как марихуана, рекламные места и другие премиальные возможности на платформе.',
|
39
|
+
},
|
40
|
+
{
|
41
|
+
image: '/images/howitworks/step2.png',
|
42
|
+
title: 'Инструмент',
|
43
|
+
text: 'В качестве инструмента DAO (Децентрализованной Автономной Организации), WDT позволяет управлять сообществом и принимать решения, давая держателям токенов возможность предлагать, обсуждать и голосовать за различные инициативы и развитие в рамках экосистемы Weeder.',
|
44
|
+
},
|
45
|
+
{
|
46
|
+
image: '/images/howitworks/step3.png',
|
47
|
+
title: 'Инвестиции',
|
48
|
+
text: 'Хранение токенов WDT может обеспечить потенциальный инвестиционный доход по мере роста и увеличения стоимости экосистемы Weeder. Кроме того, WDT служит для распределения дивидендов – те, кто стейкают свои токены, получают доход с платформы.',
|
49
|
+
},
|
50
|
+
]
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}"
|
54
|
+
/>
|
55
|
+
|
56
|
+
<section class="section">
|
57
|
+
<div class="mn-b-big t-center title">
|
58
|
+
<h2 class="mn-b-small">From Seed To Cash</h2>
|
59
|
+
<p class="w-m-60r mn-b-big mn-auto t-transp p-big">
|
60
|
+
We master all steps of the process and ready to share our experience
|
61
|
+
</p>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
</section>
|
65
|
+
|
66
|
+
<SectionFeature
|
67
|
+
image="/images/farming/1.jpeg"
|
68
|
+
title="Guidelines and Regulations"
|
69
|
+
description="WDT can be used as a digital currency within the Weeder ecosystem, allowing users to purchase products such as cannabis, advertising spaces, and other premium features on the platform."
|
70
|
+
class="mn-b-thin"
|
71
|
+
/>
|
72
|
+
<SectionFeature
|
73
|
+
image="/images/farming/3.jpeg"
|
74
|
+
title="Guidelines and Regulations"
|
75
|
+
description="WDT can be used as a digital currency within the Weeder ecosystem, allowing users to purchase products such as cannabis, advertising spaces, and other premium features on the platform."
|
76
|
+
class="mn-b-thin"
|
77
|
+
/>
|
78
|
+
<SectionFeature
|
79
|
+
image="/images/farming/4.jpeg"
|
80
|
+
title="Guidelines and Regulations"
|
81
|
+
description="WDT can be used as a digital currency within the Weeder ecosystem, allowing users to purchase products such as cannabis, advertising spaces, and other premium features on the platform."
|
82
|
+
class="mn-b-big"
|
83
|
+
/>
|
84
|
+
|
85
|
+
|
86
|
+
<Examples/>
|
87
|
+
|
88
|
+
<SectionFeatures
|
89
|
+
:textData="{
|
90
|
+
messages: {
|
91
|
+
en: {
|
92
|
+
title: 'How Its Works?',
|
93
|
+
subtitle: 'Earn Weeder Tokens while you get lit on our dank buds. Use them to buy more weed or cash out and spend it on snacks.',
|
94
|
+
features: [{
|
95
|
+
icon: '1',
|
96
|
+
title: 'Join Our Stoned Community',
|
97
|
+
description: 'Find the dankest strains on the market and start your journey to the clouds!',
|
98
|
+
},{
|
99
|
+
icon: '2',
|
100
|
+
title: 'Shop While You are High',
|
101
|
+
description: 'Order our premium bud and accessories with just a few clicks and get them delivered right to your door!',
|
102
|
+
},{
|
103
|
+
icon: '3',
|
104
|
+
title: 'Get Your Share',
|
105
|
+
description: 'As a loyal customer, you earn exclusive Weeder tokens as cashback. Get high and get paid!',
|
106
|
+
}]
|
107
|
+
},
|
108
|
+
ru: {
|
109
|
+
title: 'Как Это Работает?',
|
110
|
+
subtitle: 'Зарабатывайте токены Weeder, когда вы курите наши лучшие сорта травы. Используйте их, чтобы купить еще травы или выведите и купите себе вкусняшки.',
|
111
|
+
features: [{
|
112
|
+
icon: '1',
|
113
|
+
title: 'Присоединяйтесь к нашему сообществу',
|
114
|
+
description: 'Найдите лучшие сорта травы на рынке и начните свой путь к облакам!',
|
115
|
+
},{
|
116
|
+
icon: '2',
|
117
|
+
title: 'Закупатейсь с удобством',
|
118
|
+
description: 'Закажите нашу премиум-траву и аксессуары всего несколькими кликами и получите их доставку прямо к двери!',
|
119
|
+
},{
|
120
|
+
icon: '3',
|
121
|
+
title: 'Получите свою долю от прибыли',
|
122
|
+
description: 'Как лояльный клиент, вы зарабатываете эксклюзивные токены Weeder на свой кошелек в качестве кэшбэка. Курите и зарабатывайте!',
|
123
|
+
}]
|
124
|
+
}
|
125
|
+
}
|
126
|
+
}"
|
127
|
+
/>
|
128
|
+
<SectionGuide
|
129
|
+
:textData="{
|
130
|
+
messages: {
|
131
|
+
en: {
|
132
|
+
title: 'If you still wonder?',
|
133
|
+
FAQ: [{
|
134
|
+
title: 'How does Weeder Token support the Weeder ecosystem?',
|
135
|
+
description: 'Weeder Token (WDT) is a fundamental component of the Weeder ecosystem, ensuring its operation, integration, and development. WDT tokens are used to pay for goods and services, participate in platform governance, and attract investments.'
|
136
|
+
},{
|
137
|
+
title: ' What security measures are in place to protect WDT tokens?',
|
138
|
+
description: 'WDT tokens are protected by modern cryptographic algorithms and blockchain technologies (Polygon Network), ensuring transaction security and asset storage. Users should also use reliable wallets and follow security recommendations for maximum protection of their tokens.'
|
139
|
+
},{
|
140
|
+
title: 'Can I use WDT tokens to pay on other platforms?',
|
141
|
+
description: 'Currently, WDT tokens are primarily used within the Weeder ecosystem. However, their use may be expanded to third-party platforms and services that Weeder collaborates or plans to collaborate with in the future.'
|
142
|
+
},{
|
143
|
+
title: 'What is the role of WDT in governing the Weeder platform?',
|
144
|
+
description: 'Weeder Token allows token holders to actively participate in platform governance. With its help, users can vote on various proposals, initiatives, and developments, influencing the future development of the Weeder ecosystem.'
|
145
|
+
},{
|
146
|
+
title: 'What are the benefits of using WDT for platform users?',
|
147
|
+
description: 'Using Weeder Token provides users with a range of benefits, such as the ability to purchase goods and services on the platform, participate in platform governance, invest in the Weeder ecosystem, and earn income from staking.'
|
148
|
+
},{
|
149
|
+
title: 'What is the perspective for WDT growth and development in the future?',
|
150
|
+
description: 'The growth and development of Weeder Token in the future depend on the success and expansion of the Weeder ecosystem. An increase in user numbers, collaboration with partners, and the implementation of new features and services can significantly increase the value and utility of Weeder Token.'
|
151
|
+
}]
|
152
|
+
},
|
153
|
+
ru: {
|
154
|
+
title: 'У вас еще есть вопросы?',
|
155
|
+
FAQ: [{
|
156
|
+
title: 'Как Weeder Token поддерживает экосистему Weeder?',
|
157
|
+
description: 'Weeder Token (WDT) является основным компонентом экосистемы Weeder, обеспечивая ее функционирование, интеграцию и развитие. Токены WDT используются для оплаты товаров и услуг, участия в управлении платформы и привлечения инвестиций.'
|
158
|
+
},{
|
159
|
+
title: 'Какие меры безопасности применяются для защиты токенов WDT?',
|
160
|
+
description: 'Токены WDT защищены современными криптографическими алгоритмами и технологиями блокчейна, обеспечивающими безопасность транзакций и хранения средств. Пользователи также должны использовать надежные кошельки и следовать рекомендациям по безопасности для максимальной защиты своих токенов.'
|
161
|
+
},{
|
162
|
+
title: 'Могу ли я использовать токены WDT для оплаты на других платформах?',
|
163
|
+
description: 'В настоящее время токены WDT преимущественно используются в рамках экосистемы Weeder. Однако в будущем их использование может быть расширено на сторонние платформы и сервисы, с которыми Weeder сотрудничает или планирует сотрудничать.'
|
164
|
+
},{
|
165
|
+
title: 'Какова роль WDT в управлении платформой Weeder?',
|
166
|
+
description: 'Weeder Token позволяет держателям токенов активно участвовать в управлении платформой. С его помощью пользователи могут голосовать по различным предложениям, инициативам и разработкам, влияя на будущее развитие экосистемы Weeder.'
|
167
|
+
},{
|
168
|
+
title: 'В чем преимущества использования WDT для пользователей платформы?',
|
169
|
+
description: 'Использование Weeder Token предоставляет пользователям ряд преимуществ, таких как возможность покупать товары и услуги на платформе, участвовать в управлении платформой, инвестировать в экосистему Weeder и получать доход от стейкинга.'
|
170
|
+
},{
|
171
|
+
title: 'Какова перспектива развития и роста WDT в будущем?',
|
172
|
+
description: 'Рост и развитие Weeder Token в будущем зависят от успешности и расширения экосистемы Weeder. Увеличение количества пользователей, сотрудничество с партнерами и внедрение новых возможностей и услуг могут существенно повысить спрос к токенам.'
|
173
|
+
}]
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}"
|
177
|
+
/>
|
178
|
+
</div>
|
179
|
+
</template>
|
180
|
+
|
181
|
+
<script setup>
|
182
|
+
import { computed } from 'vue'
|
183
|
+
|
184
|
+
import SectionHeroVideo from '@pf/src/modules/landing/components/sections/SectionHeroVideo.vue'
|
185
|
+
import SectionFocus from '@pf/src/modules/landing/components/sections/SectionFocus.vue'
|
186
|
+
|
187
|
+
import SectionHeroToken from '@pf/src/modules/landing/components/sections/SectionHeroToken.vue'
|
188
|
+
|
189
|
+
import SectionFeature from '@pf/src/modules/landing/components/sections/SectionFeature.vue'
|
190
|
+
import SectionFeatures from '@pf/src/modules/landing/components/sections/SectionFeatures.vue'
|
191
|
+
import SectionFeaturesImages from '@pf/src/modules/landing/components/sections/SectionFeaturesImages.vue'
|
192
|
+
|
193
|
+
|
194
|
+
import SectionGuide from '@pf/src/modules/landing/components/sections/SectionGuide.vue'
|
195
|
+
import SectionRoadmap from '@pf/src/modules/landing/components/sections/SectionRoadmap.vue'
|
196
|
+
|
197
|
+
import HowToBuyWDR from '@pf/src/modules/landing/components/sections/HowToBuyWDR.vue'
|
198
|
+
import Examples from '@pf/src/modules/landing/components/sections/Examples.vue'
|
199
|
+
|
200
|
+
|
201
|
+
import { useI18n } from 'vue-i18n'
|
202
|
+
|
203
|
+
const description = {
|
204
|
+
messages: {
|
205
|
+
en: {
|
206
|
+
meta: {
|
207
|
+
title: "Governance – Fin.Kan House is Cannabis friendly hotel in Phuket",
|
208
|
+
description: "At Fingan House, we encourage the exploration of Phuket’s finest cannabis products and are proud to provide a fully stocked bar of our signature product offerings to those looking to enjoy their experience to the fullest.",
|
209
|
+
|
210
|
+
},
|
211
|
+
},
|
212
|
+
ru: {
|
213
|
+
meta: {
|
214
|
+
title: "Управление – Fin.Kan House это каннабис-френдли отель на Пхукете",
|
215
|
+
description: "Приходите полюбоваться удивительными закатами в 18:00 или увидеть ночные огни Пхукета во всей красе после захода солнца. Купите немного каннабиса и наслаждайтесь видами — это действительно так просто!",
|
216
|
+
}
|
217
|
+
}
|
218
|
+
}
|
219
|
+
}
|
220
|
+
|
221
|
+
const { t } = useI18n(description)
|
222
|
+
</script>
|
223
|
+
|
224
|
+
<style lang="scss">
|
225
|
+
|
226
|
+
</style>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="pd-thin">
|
3
3
|
<SectionHeroToken class="mn-b-extra h-min-100"/>
|
4
|
-
<
|
4
|
+
<SectionFeaturesImages class="mn-b-thin"/>
|
5
5
|
<SectionFeatures
|
6
6
|
:textData="{
|
7
7
|
messages: {
|
@@ -99,7 +99,6 @@
|
|
99
99
|
}"
|
100
100
|
/>
|
101
101
|
<!-- Partials (need to remove) -->
|
102
|
-
<Footer/>
|
103
102
|
</div>
|
104
103
|
</template>
|
105
104
|
|
@@ -110,11 +109,10 @@
|
|
110
109
|
import SectionFeatures from '@pf/src/modules/landing/components/sections/SectionFeatures.vue'
|
111
110
|
import SectionGuide from '@pf/src/modules/landing/components/sections/SectionGuide.vue'
|
112
111
|
import SectionRoadmap from '@pf/src/modules/landing/components/sections/SectionRoadmap.vue'
|
113
|
-
|
114
|
-
|
112
|
+
import SectionFeaturesImages from '@pf/src/modules/landing/components/sections/SectionFeaturesImages.vue'
|
113
|
+
|
115
114
|
import HowToBuyWDR from '@pf/src/modules/landing/components/sections/HowToBuyWDR.vue'
|
116
115
|
|
117
|
-
import Footer from '@pf/src/components/Footer/Footer.vue'
|
118
116
|
|
119
117
|
import { useI18n } from 'vue-i18n'
|
120
118
|
|
@@ -16,7 +16,6 @@
|
|
16
16
|
<!-- <FeatureSection /> -->
|
17
17
|
<!-- <HowItWorksSection /> -->
|
18
18
|
<!-- <HeroSection /> -->
|
19
|
-
<Footer/>
|
20
19
|
</div>
|
21
20
|
</template>
|
22
21
|
|
@@ -41,8 +40,6 @@
|
|
41
40
|
// import HowItWorksSection from '@pf/src/modules/landing/components/sections/HowItWorksSection.vue'
|
42
41
|
import MapSection from '@pf/src/modules/landing/components/sections/MapSection.vue'
|
43
42
|
|
44
|
-
import Footer from '@pf/src/components/Footer/Footer.vue'
|
45
|
-
|
46
43
|
|
47
44
|
</script>
|
48
45
|
|
@@ -4,7 +4,6 @@
|
|
4
4
|
<AboutSection />
|
5
5
|
<SectionGuide />
|
6
6
|
<!-- Partials (need to remove) -->
|
7
|
-
<Footer/>
|
8
7
|
</div>
|
9
8
|
</template>
|
10
9
|
|
@@ -14,8 +13,7 @@
|
|
14
13
|
import AboutSection from '@pf/src/modules/landing/components/sections/AboutSection.vue'
|
15
14
|
import SectionGuide from '@pf/src/modules/landing/components/sections/SectionGuide.vue'
|
16
15
|
import MapSection from '@pf/src/modules/landing/components/sections/MapSection.vue'
|
17
|
-
|
18
|
-
|
16
|
+
|
19
17
|
import { useI18n } from 'vue-i18n'
|
20
18
|
|
21
19
|
|
@@ -44,8 +44,6 @@
|
|
44
44
|
|
45
45
|
</section>
|
46
46
|
</div>
|
47
|
-
<!-- Partials (need to remove) -->
|
48
|
-
<Footer/>
|
49
47
|
|
50
48
|
</div>
|
51
49
|
</template>
|
@@ -58,7 +56,6 @@
|
|
58
56
|
import { useI18n } from 'vue-i18n'
|
59
57
|
|
60
58
|
import * as marked from 'marked';
|
61
|
-
import Footer from '@pf/src/components/Footer/Footer.vue'
|
62
59
|
|
63
60
|
|
64
61
|
// const renderer = {
|