@ozdao/prometheus-framework 0.2.203 → 0.2.205

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 (164) hide show
  1. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +24 -15
  2. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs.map +1 -1
  3. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +24 -15
  4. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js.map +1 -1
  5. package/dist/prometheus-framework/src/components/Tab/Tab.vue.cjs +51 -1
  6. package/dist/prometheus-framework/src/components/Tab/Tab.vue.cjs.map +1 -0
  7. package/dist/prometheus-framework/src/components/Tab/Tab.vue.js +37 -22
  8. package/dist/prometheus-framework/src/components/Tab/Tab.vue.js.map +1 -0
  9. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.cjs +8 -6
  10. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.cjs.map +1 -1
  11. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.js +8 -6
  12. package/dist/prometheus-framework/src/components/Tab/Tab.vue2.js.map +1 -1
  13. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +6 -5
  14. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs.map +1 -1
  15. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +6 -5
  16. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  17. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +6 -5
  18. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs.map +1 -1
  19. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +6 -5
  20. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  21. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +4 -3
  22. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs.map +1 -1
  23. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +4 -3
  24. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  25. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  26. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  27. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  28. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  29. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  30. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  31. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  32. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +1 -1
  33. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
  34. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +1 -1
  35. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  36. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  37. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  38. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  39. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  40. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  41. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  42. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  43. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  44. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  45. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  46. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  47. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  48. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  49. package/dist/prometheus-framework/src/modules/globals/globals.client.cjs +4 -1
  50. package/dist/prometheus-framework/src/modules/globals/globals.client.cjs.map +1 -1
  51. package/dist/prometheus-framework/src/modules/globals/globals.client.js +4 -1
  52. package/dist/prometheus-framework/src/modules/globals/globals.client.js.map +1 -1
  53. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +29 -29
  54. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  55. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +30 -30
  56. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  57. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +109 -102
  58. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  59. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +110 -103
  60. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  61. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.cjs +85 -0
  62. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -0
  63. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.js +85 -0
  64. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -0
  65. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +1 -1
  66. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +1 -1
  67. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  68. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  69. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
  70. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  71. package/dist/prometheus-framework/src/modules/orders/components/partials/ShopCart.vue.cjs +3 -3
  72. package/dist/prometheus-framework/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  73. package/dist/prometheus-framework/src/modules/orders/components/partials/ShopCart.vue.js +3 -3
  74. package/dist/prometheus-framework/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  75. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  76. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  77. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  78. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  79. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  80. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  81. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  82. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  83. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  84. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  85. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  86. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +2 -2
  87. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +4 -5
  88. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  89. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +4 -5
  90. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  91. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  92. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  93. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  94. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  95. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.cjs +90 -96
  96. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.cjs.map +1 -1
  97. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.js +91 -97
  98. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.js.map +1 -1
  99. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  100. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  101. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  102. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  103. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +3 -3
  104. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  105. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  106. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  107. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  108. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  109. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  110. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  111. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  112. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  113. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  114. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  115. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  116. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  117. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +72 -25
  118. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  119. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +81 -34
  120. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js.map +1 -1
  121. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  122. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
  123. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  124. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
  125. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  126. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  127. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +7 -2
  128. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  129. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +7 -2
  130. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  131. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  132. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  133. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  134. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  135. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  136. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  137. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  138. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  139. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +1 -1
  140. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +1 -1
  141. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  142. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  143. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
  144. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  145. package/dist/prometheus-framework.cjs.js +14 -14
  146. package/dist/prometheus-framework.es.js +2830 -2823
  147. package/dist/style.css +89 -21
  148. package/package.json +1 -1
  149. package/src/components/Feed/Feed.vue +23 -10
  150. package/src/components/Tab/Tab.vue +10 -7
  151. package/src/modules/auth/views/components/pages/ResetPassword.vue +5 -4
  152. package/src/modules/auth/views/components/pages/SignIn.vue +5 -3
  153. package/src/modules/auth/views/components/pages/SignUp.vue +3 -2
  154. package/src/modules/globals/globals.client.js +5 -2
  155. package/src/modules/globals/views/components/layouts/Client.vue +100 -21
  156. package/src/modules/globals/views/components/partials/Header.vue +18 -29
  157. package/src/modules/globals/views/components/partials/Sidebar.vue +0 -2
  158. package/src/modules/marketplace/components/layouts/Marketplace.vue +16 -9
  159. package/src/modules/orders/components/partials/ShopCart.vue +3 -3
  160. package/src/modules/organizations/components/pages/Organization.vue +9 -6
  161. package/src/modules/organizations/components/sections/DetailsTab.vue +132 -133
  162. package/src/modules/products/components/pages/Products.vue +89 -10
  163. package/src/modules/products/components/sections/FilterProducts.vue +1 -1
  164. package/src/modules/products/components/sections/SectionProduct.vue +4 -0
@@ -103,19 +103,26 @@
103
103
  status: 'published'
104
104
  }
105
105
 
106
- let categoriesFilter = await store.categories.actions.fetchCategories(options)
106
+ let categoriesFilter = await store.categories.actions.fetchCategories(options);
107
107
 
108
- categoriesFilter = categoriesFilter.map(category => ({
109
- value: category.url,
110
- label: category.name
111
- }));
108
+ categoriesFilter = categoriesFilter.map(category => ({
109
+ value: category.url,
110
+ label: category.name
111
+ }));
112
112
 
113
+ const index = store.marketplace.state.filter.options.findIndex(option => option.value === 'categories');
113
114
 
114
- store.marketplace.state.filter.options.unshift({
115
+ const categoryOption = {
115
116
  title: 'Categories',
116
117
  value: 'categories',
117
118
  options: categoriesFilter
118
- })
119
+ };
120
+
121
+ if (index !== -1) {
122
+ store.marketplace.state.filter.options[index] = categoryOption;
123
+ } else {
124
+ store.marketplace.state.filter.options.unshift(categoryOption);
125
+ }
119
126
  })
120
127
 
121
128
  watch(() => store.marketplace.state.sort, (newSortValue, oldSortValue) => {
@@ -125,7 +132,7 @@
125
132
  query.sortOrder = newSortValue.order
126
133
 
127
134
  // replace the current route
128
- router.push({ query });
135
+ router.replace({ query });
129
136
  }, { deep: true });
130
137
 
131
138
 
@@ -151,7 +158,7 @@
151
158
  Object.assign(query, newQueryValues);
152
159
 
153
160
  // Обновляем маршрут с новым query
154
- router.push({ query });
161
+ router.replace({ query });
155
162
  }, { deep: true })
156
163
 
157
164
  watch(() => store.globals.state.position, (newPosition) => {
@@ -30,10 +30,10 @@
30
30
  <!-- ---------------------------------------------------------------- -->
31
31
  <!-- 03. Footer -->
32
32
  <!-- ---------------------------------------------------------------- -->
33
- <div class="shopcart-footer pd-b-medium pd-t-medium pd-big transition-cubic bg-black t-white">
33
+ <div class="shopcart-footer pd-b-medium pd-t-medium pd-big transition-cubic bg-light t-black">
34
34
  <div v-if="shopcart.state.positions.length > 0" class="mn-b-small total-price">
35
- <p class="t-transp t-white mn-b-micro">{{ t('intotal') }}</p>
36
- <p class="t-demi t-white p-big">{{cartTotalPrice}} {{returnCurrency()}}</p>
35
+ <p class="t-transp mn-b-micro">{{ t('intotal') }}</p>
36
+ <p class="t-demi p-big">{{cartTotalPrice}} {{returnCurrency()}}</p>
37
37
  </div>
38
38
  <button v-if="shopcart.state.positions.length > 0" @click="openOrder()" class="bg-main t-black w-100 button">{{ t('fastorder') }}</button>
39
39
  </div>
@@ -7,8 +7,10 @@
7
7
  <DetailsTab
8
8
  :organization="organization.state.current"
9
9
  :user="auth.state.user"
10
- class="mn-b-semi"
11
- />
10
+ class="mn-b-thin"
11
+ >
12
+
13
+ </DetailsTab>
12
14
 
13
15
  <Tab
14
16
  v-model:selected="tabOrganization"
@@ -18,7 +20,7 @@
18
20
  { name: 'Events', value: 'events' },
19
21
  { name: 'Spots', value: 'spots' }
20
22
  ]"
21
- class="mn-b-small o-hidden h5 radius-big bg-light"
23
+ class="mn-b-thin o-hidden h5 radius-small bg-light"
22
24
  />
23
25
 
24
26
  <div class="pos-relative">
@@ -205,6 +207,8 @@
205
207
  let tab = route.query.tab ? route.query.tab : 'products';
206
208
 
207
209
  const organizationData = ref(null)
210
+ const tabOrganization = ref(tab)
211
+ // route.query.tab = tabOrganization.value
208
212
 
209
213
  onMounted(async () => {
210
214
 
@@ -216,12 +220,11 @@
216
220
  await memberships.actions.read({target: route.params._id})
217
221
  })
218
222
 
219
- const tabOrganization = ref(tab)
220
223
 
221
- route.query.tab = tabOrganization.value
224
+
222
225
 
223
226
  // watch(tabOrganization, (newValue) => {
224
- // router.replace({ query: null});
227
+ // router.query.tab = newValue
225
228
  // });
226
229
  </script>
227
230
 
@@ -1,140 +1,139 @@
1
1
  <template>
2
- <transition name="slide-fade">
3
- <section class="flex-center flex flex-column t-center pd-medium radius-big bg-light">
4
-
5
- <Dropdown
6
- v-if="user._id !== organization.owner"
7
- :label="{ component: IconEllipsis, class: 'i-regular t-transp' }"
8
- :align="'right'"
9
- class="cursor-pointer pos-absolute pos-r-regular pos-t-regular pd-thin radius-extra "
2
+ <section class="flex-center flex flex-column t-center pd-medium radius-big bg-light">
3
+
4
+ <Dropdown
5
+ v-if="user._id !== organization.owner"
6
+ :label="{ component: IconEllipsis, class: 'i-regular t-transp' }"
7
+ :align="'right'"
8
+ class="cursor-pointer pos-absolute pos-r-regular pos-t-regular pd-thin radius-extra "
9
+ >
10
+ <section
11
+ class="bg-black pd-thin radius-small"
10
12
  >
11
- <section
12
- class="bg-black pd-thin radius-small"
13
+ <FormReport
14
+ :user="user._id"
15
+ :type="'organization'"
16
+ :target="organization._id"
17
+ :text="'Report'"
18
+ class="w-100"
13
19
  >
14
- <FormReport
15
- :user="user._id"
16
- :type="'organization'"
17
- :target="organization._id"
18
- :text="'Report'"
19
- class="w-100"
20
+ <button
21
+ class="w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button"
20
22
  >
21
- <button
22
- class="w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button"
23
- >
24
- Report
25
- </button>
26
- </FormReport>
27
-
28
- <ButtonToggleMembership
29
- v-if="user._id && user._id !== organization.owner"
30
- :user="user._id"
31
- :type="'organization'"
32
- :role="'blocked'"
33
- :target="organization._id"
34
- :status="organization.isBlocked"
35
- :text="{create: 'Block', remove: 'Unblock'}"
36
- @updateMembership="event => handleMembershipUpdate(event, 'isBlocked')"
37
- class="t-white w-100 mn-t-thin bg-red"
38
- />
39
- </section>
40
- </Dropdown>
41
-
42
- <IconEdit
43
- v-if="user._id === organization.owner"
44
- @click="$router.push({
45
- name: 'Organization Edit',
46
- params: {
47
- _id: organization._id
48
- }
49
- })"
50
- class="pos-absolute cursor-pointer pos-t-big pos-r-big i-regular t-transp"
51
- />
52
-
53
- <img loading="lazy"
54
- v-if="organization.profile.photo"
55
- :src="(FILE_SERVER_URL || '') + organization.profile.photo"
56
- class="radius-big bg-light flex-center flex mn-b-small w-8r"
57
- />
58
-
59
- <PlaceholderOrganizationPic
60
- v-else
61
- class="radius-medium mn-b-small i-extra"
62
- />
63
-
64
- <h1
65
- class="mn-b-thin"
66
- >
67
- {{ organization.profile.name }}
68
- </h1>
69
-
70
- <div class="flex-center pd-r-thin pd-l-thin flex-nowrap flex mn-t-thin bg-white radius-extra w-max">
71
- <IconFollowing class="i-medium mn-r-micro t-transp"/>
72
-
73
- <p class="mn-t-thin p-medium t-medium uppercase mn-b-thin">{{organization.numberOfSubscribers}} followers</p>
74
-
75
- <ButtonToggleMembership
76
- v-if="
77
- user._id
78
- && route.params._id
79
- && route.params._id !== user._id
80
- && organization.owner !== user._id
81
- "
82
- :user="user._id"
83
- :type="'organization'"
84
- :role="'subscriber'"
85
- :target="organization._id"
86
- :status="organization.isSubscriber"
87
- :text="{create: '+', remove: '-'}"
88
- @updateMembership="event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')"
89
- class=" mn-l-thin p-medium t-medium radius-extra i-semi"
90
- />
91
- </div>
92
-
93
- <p class="w-max-50r mn-t-regular mn-b-medium p-big">
94
- <Text :text="organization.profile.description || ''" :showToggleText="true" :maxLen="320" />
95
- </p>
96
-
97
- <Chips
98
- v-if="organization.profile?.tags?.length > 0"
99
- :chips="organization.profile.tags"
100
- class="p-medium"
101
- />
102
-
103
-
104
- <h4
105
- v-if="Object.values(organization.socials).some(value => value)"
106
- class="mn-t-small mn-b-thin"
107
- >
108
- Find us in socials
109
- </h4>
110
-
111
- <Socials
112
- :telegram="organization.socials.telegram"
113
- :facebook="organization.socials.facebook"
114
- :instagram="organization.socials.instagram"
115
- :twitter="organization.socials.twitter"
116
- :youtube="organization.socials.youtube"
117
- />
118
- </section>
119
-
120
- <!-- <h3 class="mn-b-small">Rating</h3>
121
- <Rating
122
- :rating="organization.rating.median"
123
- :amount="organization.rating.amount"
124
- class="pd-medium mn-b-thin radius-big bg-light"
125
- />
126
-
127
- <h3 class="mn-b-small">Contacts</h3>
128
- <Contacts
129
- :website="organization.contacts.website"
130
- :phone="organization.contacts.phone"
131
- :email="organization.contacts.email"
132
- :address="organization.contacts.address"
133
- class="w-100 pd-medium radius-big bg-light"
134
- /> -->
135
-
136
-
137
- </transition>
23
+ Report
24
+ </button>
25
+ </FormReport>
26
+
27
+ <ButtonToggleMembership
28
+ v-if="user._id && user._id !== organization.owner"
29
+ :user="user._id"
30
+ :type="'organization'"
31
+ :role="'blocked'"
32
+ :target="organization._id"
33
+ :status="organization.isBlocked"
34
+ :text="{create: 'Block', remove: 'Unblock'}"
35
+ @updateMembership="event => handleMembershipUpdate(event, 'isBlocked')"
36
+ class="t-white w-100 mn-t-thin bg-red"
37
+ />
38
+ </section>
39
+ </Dropdown>
40
+
41
+ <IconEdit
42
+ v-if="user._id === organization.owner"
43
+ @click="$router.push({
44
+ name: 'Organization Edit',
45
+ params: {
46
+ _id: organization._id
47
+ }
48
+ })"
49
+ class="pos-absolute cursor-pointer pos-t-big pos-r-big i-regular t-transp"
50
+ />
51
+
52
+ <img loading="lazy"
53
+ v-if="organization.profile.photo"
54
+ :src="(FILE_SERVER_URL || '') + organization.profile.photo"
55
+ class="radius-big bg-light flex-center flex mn-b-small w-8r"
56
+ />
57
+
58
+ <PlaceholderOrganizationPic
59
+ v-else
60
+ class="radius-medium mn-b-small i-extra"
61
+ />
62
+
63
+ <h1
64
+ class="mn-b-thin"
65
+ >
66
+ {{ organization.profile.name }}
67
+ </h1>
68
+
69
+ <div class="flex-center pd-r-thin pd-l-thin flex-nowrap flex mn-t-thin bg-white radius-extra w-max">
70
+ <IconFollowing class="i-medium mn-r-micro t-transp"/>
71
+
72
+ <p class="mn-t-thin p-medium t-medium uppercase mn-b-thin">{{organization.numberOfSubscribers}} followers</p>
73
+
74
+ <ButtonToggleMembership
75
+ v-if="
76
+ user._id
77
+ && route.params._id
78
+ && route.params._id !== user._id
79
+ && organization.owner !== user._id
80
+ "
81
+ :user="user._id"
82
+ :type="'organization'"
83
+ :role="'subscriber'"
84
+ :target="organization._id"
85
+ :status="organization.isSubscriber"
86
+ :text="{create: '+', remove: '-'}"
87
+ @updateMembership="event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')"
88
+ class=" mn-l-thin p-medium t-medium radius-extra i-semi"
89
+ />
90
+ </div>
91
+
92
+ <p class="w-max-50r mn-t-regular mn-b-medium p-big">
93
+ <Text :text="organization.profile.description || ''" :showToggleText="true" :maxLen="320" />
94
+ </p>
95
+
96
+ <Chips
97
+ v-if="organization.profile?.tags?.length > 0"
98
+ :chips="organization.profile.tags"
99
+ class="p-medium"
100
+ />
101
+
102
+
103
+ <h4
104
+ v-if="Object.values(organization.socials).some(value => value)"
105
+ class="mn-t-small mn-b-thin"
106
+ >
107
+ Find us in socials
108
+ </h4>
109
+
110
+ <Socials
111
+ :telegram="organization.socials.telegram"
112
+ :facebook="organization.socials.facebook"
113
+ :instagram="organization.socials.instagram"
114
+ :twitter="organization.socials.twitter"
115
+ :youtube="organization.socials.youtube"
116
+ />
117
+ <slot></slot>
118
+ </section>
119
+
120
+ <!-- <h3 class="mn-b-small">Rating</h3>
121
+ <Rating
122
+ :rating="organization.rating.median"
123
+ :amount="organization.rating.amount"
124
+ class="pd-medium mn-b-thin radius-big bg-light"
125
+ />
126
+
127
+ <h3 class="mn-b-small">Contacts</h3>
128
+ <Contacts
129
+ :website="organization.contacts.website"
130
+ :phone="organization.contacts.phone"
131
+ :email="organization.contacts.email"
132
+ :address="organization.contacts.address"
133
+ class="w-100 pd-medium radius-big bg-light"
134
+ /> -->
135
+
136
+
138
137
  </template>
139
138
 
140
139
  <script setup>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="pd-thin">
2
+ <div>
3
3
  <header
4
4
  v-if="route.name !== 'Organization'"
5
5
  class="mn-b-medium flex-v-center flex-nowrap flex"
@@ -28,17 +28,22 @@
28
28
 
29
29
  <div class="cols-2-1_3 bg-light pd-thin radius-big gap-thin">
30
30
 
31
- <FilterProducts
31
+ <BlockFilter
32
+ v-model:filter="marketplace.state.filter"
33
+ :options="marketplace.state.filter.options"
34
+ class="h-100 w-100 desktop-only"
35
+ />
32
36
 
33
- />
34
37
 
35
- <div>
36
- <BlockSearch
38
+ <div class="rows-1">
39
+ <!-- <BlockSearch
37
40
  @search="updateSearch"
38
41
  placeholder="Enter product name"
39
42
  class="bg-white mn-b-thin"
40
- />
43
+ /> -->
41
44
  <Feed
45
+ v-model:filter="marketplace.state.filter"
46
+ :search="true"
42
47
  :states="{
43
48
  empty: {
44
49
  title: 'No Products Found',
@@ -55,7 +60,7 @@
55
60
  categories: route.query.categories,
56
61
  prices: route.query.prices,
57
62
  delivery: route.query.delivery,
58
- search: route.query.search,
63
+ // search: route.query.search,
59
64
  ...(tabProducts !== 'all' && { status: tabProducts })
60
65
  // user: user
61
66
  }"
@@ -96,12 +101,15 @@
96
101
 
97
102
  import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'
98
103
  import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'
104
+ import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'
99
105
 
100
106
  import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'
101
107
 
102
108
  // Accessing router and store
103
109
  import * as auth from '@pf/src/modules/auth/views/store/auth';
104
110
  import * as products from '@pf/src/modules/products/store/products';
111
+ import * as marketplace from '@pf/src/modules/marketplace/store/marketplace';
112
+ import * as categories from '@pf/src/modules/products/store/categories';
105
113
 
106
114
  const route = useRoute()
107
115
  const router = useRouter()
@@ -109,18 +117,89 @@
109
117
  // Tab logic
110
118
  const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')
111
119
 
112
- route.query.tabProducts = tabProducts.value
120
+ if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value
121
+
122
+ if (route.query) {
123
+ const query = route.query;
124
+
125
+ marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];
126
+ marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];
127
+ marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];
128
+ }
129
+
113
130
 
114
131
  watch(tabProducts, (newValue) => {
115
- router.replace({ query: { ...route.query, tabProducts: newValue } });
132
+ if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });
116
133
  });
134
+
135
+ onMounted(async () => {
136
+ let categoriesFilter = await categories.actions.fetchCategories();
137
+
138
+ categoriesFilter = categoriesFilter.map(category => ({
139
+ value: category.url,
140
+ label: category.name
141
+ }));
142
+
143
+ const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');
144
+
145
+ const categoryOption = {
146
+ title: 'Categories',
147
+ value: 'categories',
148
+ options: categoriesFilter
149
+ };
150
+
151
+ if (index !== -1) {
152
+ marketplace.state.filter.options[index] = categoryOption;
153
+ } else {
154
+ marketplace.state.filter.options.unshift(categoryOption);
155
+ }
156
+ })
157
+
158
+ watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {
159
+ let query = { ...route.query}
160
+
161
+ query.sortParam = newSortValue.param
162
+ query.sortOrder = newSortValue.order
163
+
164
+ // replace the current route
165
+ router.replace({ query });
166
+ }, { deep: true });
167
+
168
+
169
+ watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {
170
+ // Переводим фильтр в формат query
171
+ const query = { ...route.query };
172
+
173
+ // Удаляем старые значения фильтра из query
174
+ Object.keys(oldFilterValue).forEach(key => {
175
+ if (query[key]) {
176
+ delete query[key];
177
+ }
178
+ });
179
+
180
+ // Добавляем новые значения фильтра в query
181
+ const newQueryValues = Object.fromEntries(
182
+ Object.entries(newFilterValue)
183
+ .filter(([key, value]) => Array.isArray(value) && value.length > 0)
184
+ .map(([key, value]) => [key, value.join(',')])
185
+ );
186
+
187
+ delete query.options;
188
+ Object.assign(query, newQueryValues);
189
+
190
+ // Обновляем маршрут с новым query
191
+ router.replace({ query });
192
+ }, { deep: true })
193
+
194
+
195
+
117
196
 
118
197
  function updateSearch(search) {
119
198
  let query = { ...route.query}
120
199
 
121
200
  query.search = search
122
201
 
123
- router.push({ query });
202
+ router.replace({ query });
124
203
  }
125
204
  </script>
126
205
 
@@ -144,7 +144,7 @@ watch(() => marketplace.state.filter, (newFilterValue, oldFilterValue) => {
144
144
  Object.assign(query, newQueryValues);
145
145
 
146
146
  // Обновляем маршрут с новым query
147
- router.push({ query });
147
+ router.repalce({ query });
148
148
  }, { deep: true })
149
149
 
150
150
  onMounted(async () => {
@@ -85,6 +85,7 @@
85
85
  <!-- Actions -->
86
86
  <div class="max-w-33rem mobile-w-100 t-white gap-small cols-2">
87
87
  <Button
88
+ v-if="product.quantity > 0"
88
89
  :submit="a => addToCart(product)"
89
90
  :disabled="validateToCard(product)"
90
91
  :text="{
@@ -95,6 +96,9 @@
95
96
  >
96
97
  {{ t('addtoorder') }}
97
98
  </Button>
99
+ <div v-else class="flex-center flex uppercase radius-big t-black w-max pd-small t-medium bg-grey h-3r w-100 mn-r-smallbutton">
100
+ Out of Stock
101
+ </div>
98
102
  </div>
99
103
  </div>
100
104
  </div>