@ozdao/prometheus-framework 0.2.310 → 0.2.312

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. package/dist/main.css +1 -1
  2. package/dist/products.server.js +6 -7
  3. package/dist/products.server.mjs +6 -7
  4. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs +0 -93
  5. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  6. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js +1 -94
  7. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js.map +1 -1
  8. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs +93 -0
  9. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  10. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js +94 -1
  11. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js.map +1 -1
  12. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +1 -1
  13. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +1 -1
  14. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  15. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  16. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
  17. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
  18. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  19. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  20. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
  21. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  22. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  23. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  24. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  25. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  26. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +2 -2
  27. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.js +2 -2
  28. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
  29. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
  30. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
  31. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
  32. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
  33. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
  34. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
  35. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
  36. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  37. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  38. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  39. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  40. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  41. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  42. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +2 -2
  43. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +2 -2
  44. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  45. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  46. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +2 -2
  47. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +2 -2
  48. package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  49. package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.js +1 -1
  50. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  51. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  52. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  53. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  54. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  55. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  56. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +4 -4
  57. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +4 -4
  58. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  59. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  60. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -4
  61. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
  62. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  63. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  64. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  65. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  66. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  67. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  68. package/dist/prometheus-framework/src/modules/globals/views/components/partials/BottomNavigationBar.vue.cjs +3 -3
  69. package/dist/prometheus-framework/src/modules/globals/views/components/partials/BottomNavigationBar.vue.cjs.map +1 -1
  70. package/dist/prometheus-framework/src/modules/globals/views/components/partials/BottomNavigationBar.vue.js +3 -3
  71. package/dist/prometheus-framework/src/modules/globals/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  72. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  73. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  74. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +15 -12
  75. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs.map +1 -1
  76. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js +15 -12
  77. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js.map +1 -1
  78. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -3
  79. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
  80. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -2
  81. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
  82. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  83. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  84. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  85. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  86. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  87. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  88. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  89. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  90. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  91. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  92. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
  93. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  94. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  95. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  96. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  97. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  98. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  99. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  100. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  101. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  102. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +1029 -1029
  103. package/dist/prometheus-framework/src/modules/pages/pages.client.js +1029 -1029
  104. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -2
  105. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
  106. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  107. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  108. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  109. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  110. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +2 -2
  111. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +2 -2
  112. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs +46 -15
  113. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  114. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js +47 -16
  115. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  116. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  117. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  118. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  119. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  120. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs +2 -2
  121. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js +2 -2
  122. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +3 -3
  123. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +3 -3
  124. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  125. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  126. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  127. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  128. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
  129. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
  130. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +25 -19
  131. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  132. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +25 -19
  133. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js.map +1 -1
  134. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  136. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +2 -2
  137. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +2 -2
  138. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.cjs +1 -1
  139. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.js +1 -1
  140. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs +40 -65
  141. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs.map +1 -1
  142. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js +41 -66
  143. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js.map +1 -1
  144. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  145. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  146. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  147. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  148. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  149. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  150. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +2 -2
  151. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +2 -2
  152. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  153. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js +1 -1
  154. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  155. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  156. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  157. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  158. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  159. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  160. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  161. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  162. package/package.json +1 -1
  163. package/src/modules/globals/views/components/partials/BottomNavigationBar.vue +3 -3
  164. package/src/modules/globals/views/components/partials/NavigationBar.vue +1 -1
  165. package/src/modules/products/components/blocks/CardProduct.vue +38 -18
  166. package/src/modules/products/components/elements/Price.vue +2 -2
  167. package/src/modules/products/components/pages/Products.vue +9 -4
  168. package/src/modules/products/components/sections/PopularProducts.vue +28 -50
  169. package/src/modules/products/controllers/categories.controller.js +2 -4
  170. package/src/modules/products/controllers/products.controller.js +1 -0
  171. package/src/styles/typography.scss +5 -5
@@ -22,8 +22,12 @@ const _hoisted_2 = {
22
22
  class: "mn-b-medium flex-v-center flex-nowrap flex"
23
23
  };
24
24
  const _hoisted_3 = { class: "cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin" };
25
- const _hoisted_4 = { class: "rows-1 h-100 z-index-3 bg-white radius-tl-big radius-tr-big" };
25
+ const _hoisted_4 = { class: "z-index-3 bg-white radius-tl-big radius-tr-big" };
26
26
  const _hoisted_5 = { class: "pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky" };
27
+ const _hoisted_6 = {
28
+ class: "gap-thin cols-4",
29
+ style: { "display": "grid", "grid-auto-rows": "1fr" }
30
+ };
27
31
  const _sfc_main = {
28
32
  __name: "Products",
29
33
  setup(__props) {
@@ -160,28 +164,30 @@ const _sfc_main = {
160
164
  ...tabProducts.value !== "all" && { status: tabProducts.value }
161
165
  // user: user
162
166
  },
163
- class: "cols-4 rows-1 pd-t-zero pd-thin gap-thin"
167
+ class: "pd-t-zero pd-thin gap-thin"
164
168
  }, {
165
169
  default: vue.withCtx(({
166
170
  items
167
171
  }) => [
168
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (product) => {
169
- return vue.openBlock(), vue.createBlock(_component_router_link, {
170
- to: vue.unref(route).params._id ? { name: "Organization_Product", params: { _id: vue.unref(route).params._id, product: product._id } } : { name: "Product", params: { product: product._id } }
171
- }, {
172
- default: vue.withCtx(() => [
173
- (vue.openBlock(), vue.createBlock(CardProduct.default, {
174
- key: product._id,
175
- product,
176
- user: auth.state.access,
177
- organization: vue.unref(route).params._id,
178
- access: _ctx.hasAccess(vue.unref(route).params._id, "products", "edit", auth.state.accesses),
179
- class: "h-max bg-light"
180
- }, null, 8, ["product", "user", "organization", "access"]))
181
- ]),
182
- _: 2
183
- }, 1032, ["to"]);
184
- }), 256))
172
+ vue.createElementVNode("div", _hoisted_6, [
173
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (product) => {
174
+ return vue.openBlock(), vue.createBlock(_component_router_link, {
175
+ to: vue.unref(route).params._id ? { name: "Organization_Product", params: { _id: vue.unref(route).params._id, product: product._id } } : { name: "Product", params: { product: product._id } }
176
+ }, {
177
+ default: vue.withCtx(() => [
178
+ (vue.openBlock(), vue.createBlock(CardProduct.default, {
179
+ key: product._id,
180
+ product,
181
+ user: auth.state.access,
182
+ organization: vue.unref(route).params._id,
183
+ access: _ctx.hasAccess(vue.unref(route).params._id, "products", "edit", auth.state.accesses),
184
+ class: "h-100 bg-light"
185
+ }, null, 8, ["product", "user", "organization", "access"]))
186
+ ]),
187
+ _: 2
188
+ }, 1032, ["to"]);
189
+ }), 256))
190
+ ])
185
191
  ]),
186
192
  _: 1
187
193
  }, 8, ["filter", "store", "options"])
@@ -1 +1 @@
1
- {"version":3,"file":"Products.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"mn-b-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization'\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n o-hidden \n h5 \n bg-light\n gap-micro pd-small pd-t-thin pd-b-thin\n pos-sticky pos-t-0\n z-index-1\n\n \"\n tabClass=\"bg-white uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 z-index-2 desktop-only\"\n />\n\n\n <div class=\"rows-1 h-100 z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n \n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n categories: route.query.categories,\n prices: route.query.prices,\n delivery: route.query.delivery,\n // search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 rows-1 pd-t-zero pd-thin gap-thin\"\n >\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\">\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)\"\n class=\"h-max bg-light\"\n />\n </router-link>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@pf/src/components/Tab/Tab.vue'\n import Feed from '@pf/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@pf/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n import * as globals from '@pf/src/modules/globals/views/store/globals';\n import * as products from '@pf/src/modules/products/store/products';\n import * as marketplace from '@pf/src/modules/products/store/marketplace';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n }\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.fetchCategories();\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","watch","globals.state","IconPlus","auth.state","onMounted","categories.actions","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+HE,UAAM,QAAQA,UAAAA,SAAU;AACxB,UAAM,SAASC,UAAAA,UAAW;AAG1B,UAAM,cAAcC,QAAI,MAAM,MAAM,cAAc,MAAM,MAAM,cAAc,KAAK;AAEjF,QAAI,MAAM,SAAS,eAAgB,OAAM,MAAM,cAAc,YAAY;AAEzE,QAAI,MAAM,OAAO;AACf,YAAM,QAAQ,MAAM;AAEpBC,kBAAAA,MAAkB,OAAO,SAAS,aAAa,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG,IAAI,CAAA;AAChGA,kBAAAA,MAAkB,OAAO,SAAS,SAAS,MAAM,SAAS,MAAM,OAAO,MAAM,GAAG,IAAI,CAAA;AACpFA,kBAAAA,MAAkB,OAAO,SAAS,WAAW,MAAM,WAAW,MAAM,SAAS,MAAM,GAAG,IAAI,CAAA;AAAA,IAC3F;AAEDC,cAAM,aAAa,CAAC,aAAa;AAC/B,UAAI,MAAM,SAAS,eAAgB,QAAO,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,aAAa,SAAQ,EAAI,CAAA;AAAA,IAC1G,CAAG;AAEDC,kBAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC,SAAQ;AAAA,MACnB,OAAO;AAAA,QACL,MAAM;AAAA,MACP;AAAA,MACD,WAAW,MAAMC,KAAU,MAAC,QAAQA,KAAU,MAAC,KAAK;AAAA,MACpD,QAAQ,MAAM,MAAM,OAAO,MAAM,OAAO,KAAK,EAAE,MAAM,2BAA2B,QAAQ,EAAE,KAAK,MAAM,OAAO,IAAG,EAAG,CAAA,IAAI,OAAO,KAAK,EAAE,MAAM,cAAc;AAAA,IAC5J,CAAG,GAEDC,IAAAA,UAAU,YAAY;AACpB,UAAI,mBAAmB,MAAMC,mBAAmB;AAEhD,yBAAmB,iBAAiB,IAAI,eAAa;AAAA,QACnD,OAAO,SAAS;AAAA,QAChB,OAAO,SAAS;AAAA,MACjB,EAAC;AAEF,YAAM,QAAQN,kBAAkB,OAAO,QAAQ,UAAU,YAAU,OAAO,UAAU,YAAY;AAEhG,YAAM,iBAAiB;AAAA,QACrB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,MACf;AAEI,UAAI,UAAU,IAAI;AACdA,oBAAAA,MAAkB,OAAO,QAAQ,KAAK,IAAI;AAAA,MAClD,OAAW;AACHA,oBAAAA,MAAkB,OAAO,QAAQ,QAAQ,cAAc;AAAA,MAC1D;AAAA,IACL,CAAG;AAEDO,QAAAA,YAAY,MAAM;AAChBL,oBAAc,eAAe,UAAU;IAC3C,CAAG;AAEDD,QAAAA,MAAM,MAAMD,YAAiB,MAAC,MAAM,CAAC,cAAc,iBAAiB;AAClE,UAAI,QAAQ,EAAE,GAAG,MAAM,MAAK;AAE5B,YAAM,YAAY,aAAa;AAC/B,YAAM,YAAY,aAAa;AAG/B,aAAO,QAAQ,EAAE,MAAK,CAAE;AAAA,IAC5B,GAAK,EAAE,MAAM,KAAI,CAAE;AAGjBC,QAAK,MAAC,MAAMD,YAAAA,MAAkB,OAAO,UAAU,CAAC,gBAAgB,mBAAmB;AAEjF,YAAM,QAAQ,EAAE,GAAG,MAAM,MAAK;AAG9B,aAAO,KAAK,cAAc,EAAE,QAAQ,SAAO;AACzC,YAAI,MAAM,GAAG,GAAG;AACd,iBAAO,MAAM,GAAG;AAAA,QACjB;AAAA,MACP,CAAK;AAGD,YAAM,iBAAiB,OAAO;AAAA,QAC5B,OAAO,QAAQ,cAAc,EAC1B,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,CAAC,EACjE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,MAAM,KAAK,GAAG,CAAC,CAAC;AAAA,MACrD;AAEI,aAAO,MAAM;AACb,aAAO,OAAO,OAAO,cAAc;AAGnC,aAAO,QAAQ,EAAE,MAAK,CAAE;AAAA,IAC5B,GAAK,EAAE,MAAM,MAAM;AAKjB,aAAS,aAAa,QAAQ;AAC5B,UAAI,QAAQ,EAAE,GAAG,MAAM,MAAK;AAE5B,YAAM,SAAS;AAEf,aAAO,QAAQ,EAAE,MAAK,CAAE;AAAA,IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Products.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"mn-b-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization'\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n o-hidden \n h5 \n bg-light\n gap-micro pd-small pd-t-thin pd-b-thin\n pos-sticky pos-t-0\n z-index-1\n\n \"\n tabClass=\"bg-white uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 z-index-2 desktop-only\"\n />\n\n\n <div class=\"z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n categories: route.query.categories,\n prices: route.query.prices,\n delivery: route.query.delivery,\n // search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\" pd-t-zero pd-thin gap-thin\"\n \n >\n <div class=\"gap-thin cols-4\" style=\"\n display:grid;\n grid-auto-rows: 1fr;\n \">\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\">\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)\"\n class=\"h-100 bg-light\"\n />\n </router-link>\n </div>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@pf/src/components/Tab/Tab.vue'\n import Feed from '@pf/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@pf/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n import * as globals from '@pf/src/modules/globals/views/store/globals';\n import * as products from '@pf/src/modules/products/store/products';\n import * as marketplace from '@pf/src/modules/products/store/marketplace';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n }\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.fetchCategories();\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","watch","globals.state","IconPlus","auth.state","onMounted","categories.actions","onUnmounted"],"mappings":"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"}
@@ -20,8 +20,12 @@ const _hoisted_2 = {
20
20
  class: "mn-b-medium flex-v-center flex-nowrap flex"
21
21
  };
22
22
  const _hoisted_3 = { class: "cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin" };
23
- const _hoisted_4 = { class: "rows-1 h-100 z-index-3 bg-white radius-tl-big radius-tr-big" };
23
+ const _hoisted_4 = { class: "z-index-3 bg-white radius-tl-big radius-tr-big" };
24
24
  const _hoisted_5 = { class: "pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky" };
25
+ const _hoisted_6 = {
26
+ class: "gap-thin cols-4",
27
+ style: { "display": "grid", "grid-auto-rows": "1fr" }
28
+ };
25
29
  const _sfc_main = {
26
30
  __name: "Products",
27
31
  setup(__props) {
@@ -158,28 +162,30 @@ const _sfc_main = {
158
162
  ...tabProducts.value !== "all" && { status: tabProducts.value }
159
163
  // user: user
160
164
  },
161
- class: "cols-4 rows-1 pd-t-zero pd-thin gap-thin"
165
+ class: "pd-t-zero pd-thin gap-thin"
162
166
  }, {
163
167
  default: withCtx(({
164
168
  items
165
169
  }) => [
166
- (openBlock(true), createElementBlock(Fragment, null, renderList(items, (product) => {
167
- return openBlock(), createBlock(_component_router_link, {
168
- to: unref(route).params._id ? { name: "Organization_Product", params: { _id: unref(route).params._id, product: product._id } } : { name: "Product", params: { product: product._id } }
169
- }, {
170
- default: withCtx(() => [
171
- (openBlock(), createBlock(_sfc_main$6, {
172
- key: product._id,
173
- product,
174
- user: state$2.access,
175
- organization: unref(route).params._id,
176
- access: _ctx.hasAccess(unref(route).params._id, "products", "edit", state$2.accesses),
177
- class: "h-max bg-light"
178
- }, null, 8, ["product", "user", "organization", "access"]))
179
- ]),
180
- _: 2
181
- }, 1032, ["to"]);
182
- }), 256))
170
+ createElementVNode("div", _hoisted_6, [
171
+ (openBlock(true), createElementBlock(Fragment, null, renderList(items, (product) => {
172
+ return openBlock(), createBlock(_component_router_link, {
173
+ to: unref(route).params._id ? { name: "Organization_Product", params: { _id: unref(route).params._id, product: product._id } } : { name: "Product", params: { product: product._id } }
174
+ }, {
175
+ default: withCtx(() => [
176
+ (openBlock(), createBlock(_sfc_main$6, {
177
+ key: product._id,
178
+ product,
179
+ user: state$2.access,
180
+ organization: unref(route).params._id,
181
+ access: _ctx.hasAccess(unref(route).params._id, "products", "edit", state$2.accesses),
182
+ class: "h-100 bg-light"
183
+ }, null, 8, ["product", "user", "organization", "access"]))
184
+ ]),
185
+ _: 2
186
+ }, 1032, ["to"]);
187
+ }), 256))
188
+ ])
183
189
  ]),
184
190
  _: 1
185
191
  }, 8, ["filter", "store", "options"])
@@ -1 +1 @@
1
- {"version":3,"file":"Products.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"mn-b-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization'\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n o-hidden \n h5 \n bg-light\n gap-micro pd-small pd-t-thin pd-b-thin\n pos-sticky pos-t-0\n z-index-1\n\n \"\n tabClass=\"bg-white uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 z-index-2 desktop-only\"\n />\n\n\n <div class=\"rows-1 h-100 z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n \n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n categories: route.query.categories,\n prices: route.query.prices,\n delivery: route.query.delivery,\n // search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-4 rows-1 pd-t-zero pd-thin gap-thin\"\n >\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\">\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)\"\n class=\"h-max bg-light\"\n />\n </router-link>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@pf/src/components/Tab/Tab.vue'\n import Feed from '@pf/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@pf/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n import * as globals from '@pf/src/modules/globals/views/store/globals';\n import * as products from '@pf/src/modules/products/store/products';\n import * as marketplace from '@pf/src/modules/products/store/marketplace';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n }\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.fetchCategories();\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","globals.state","IconPlus","auth.state","categories.actions"],"mappings":"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"}
1
+ {"version":3,"file":"Products.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Products.vue"],"sourcesContent":["<template>\n <div class=\"h-100\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"mn-b-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Products</h2>\n <button \n @click=\"$router.push({\n name: route.params?._id ? 'Organization_ProductAdd' : 'ProductAdd'\n })\" \n class=\"radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <Tab \n v-if=\"route.name !== 'Organization'\"\n v-model:selected=\"tabProducts\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Published', value: 'published' },\n { name: 'Unpublished', value: 'unpublished' }, \n { name: 'Archivied', value: 'archivied' } \n ]\"\n style=\"flex: 0 0 auto\"\n class=\"\n o-hidden \n h5 \n bg-light\n gap-micro pd-small pd-t-thin pd-b-thin\n pos-sticky pos-t-0\n z-index-1\n\n \"\n tabClass=\"bg-white uppercase pd-small radius-small w-100\"\n />\n\n <div class=\"cols-2-1_3 h-100 z-index-3 pos-relative radius-big gap-thin\">\n\n <BlockFilter\n v-model:filter=\"marketplace.state.filter\"\n :options=\"marketplace.state.filter.options\"\n class=\"h-100 w-100 z-index-2 desktop-only\"\n />\n\n\n <div class=\"z-index-3 bg-white radius-tl-big radius-tr-big\">\n <div class=\"pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky\">\n <BlockSearch \n @search=\"updateSearch\"\n placeholder=\"Enter product name\"\n class=\"bg-light h-4r\"\n />\n </div>\n <Feed\n v-model:filter=\"marketplace.state.filter\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n categories: route.query.categories,\n prices: route.query.prices,\n delivery: route.query.delivery,\n // search: route.query.search,\n ...(tabProducts !== 'all' && { status: tabProducts })\n // user: user\n }\"\n v-slot=\"{ \n items \n }\"\n class=\" pd-t-zero pd-thin gap-thin\"\n \n >\n <div class=\"gap-thin cols-4\" style=\"\n display:grid;\n grid-auto-rows: 1fr;\n \">\n <router-link \n v-for=\"product in items\" \n :to=\"route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }\">\n <CardProduct\n :key=\"product._id\"\n :product=\"product\"\n :user=\"auth.state.access\"\n :organization=\"route.params._id\"\n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)\"\n class=\"h-100 bg-light\"\n />\n </router-link>\n </div>\n </Feed>\n\n </div>\n </div>\n</div>\n</template>\n\n\n<script setup=\"props\">\n // Import libs\n import { ref, computed, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Tab from '@pf/src/components/Tab/Tab.vue'\n import Feed from '@pf/src/components/Feed/Feed.vue'\n\n import FilterProducts from '@pf/src/modules/products/components/sections/FilterProducts.vue'\n import BlockSearch from '@pf/src/modules/globals/views/components/blocks/BlockSearch.vue'\n import BlockFilter from '@pf/src/modules/globals/views/components/blocks/BlockFilter.vue'\n\n import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n import IconPlus from '@pf/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n import * as globals from '@pf/src/modules/globals/views/store/globals';\n import * as products from '@pf/src/modules/products/store/products';\n import * as marketplace from '@pf/src/modules/products/store/marketplace';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n const route = useRoute()\n const router = useRouter()\n\n // Tab logic\n const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')\n\n if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value\n \n if (route.query) {\n const query = route.query;\n\n marketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n marketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n marketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n }\n\n watch(tabProducts, (newValue) => {\n if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });\n });\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Organization_ProductAdd', params: { _id: route.params._id} }) : router.push({ name: 'ProductAdd' })\n }],\n\n onMounted(async () => {\n let categoriesFilter = await categories.actions.fetchCategories();\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category.url,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n })\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n watch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n let query = { ...route.query}\n \n query.sortParam = newSortValue.param\n query.sortOrder = newSortValue.order\n \n // replace the current route\n router.replace({ query });\n }, { deep: true });\n\n\n watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n // Переводим фильтр в формат query\n const query = { ...route.query };\n\n // Удаляем старые значения фильтра из query\n Object.keys(oldFilterValue).forEach(key => {\n if (query[key]) {\n delete query[key];\n }\n });\n\n // Добавляем новые значения фильтра в query\n const newQueryValues = Object.fromEntries(\n Object.entries(newFilterValue)\n .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n .map(([key, value]) => [key, value.join(',')])\n );\n\n delete query.options;\n Object.assign(query, newQueryValues);\n\n // Обновляем маршрут с новым query\n router.replace({ query });\n }, { deep: true })\n\n\n\n \n function updateSearch(search) {\n let query = { ...route.query}\n \n query.search = search\n \n router.replace({ query });\n }\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","globals.state","IconPlus","auth.state","categories.actions"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Field = require("../../../../components/Field/Field.vue.cjs");
4
+ const Field = require("../../../../components/Field/Field.vue2.cjs");
5
5
  const _hoisted_1 = {
6
6
  key: 0,
7
7
  class: "mn-b-small w-100"
@@ -1,5 +1,5 @@
1
1
  import { toRefs, openBlock, createElementBlock, unref, createCommentVNode, Fragment, renderList, createElementVNode, createVNode } from "vue";
2
- import Field from "../../../../components/Field/Field.vue.js";
2
+ import Field from "../../../../components/Field/Field.vue2.js";
3
3
  const _hoisted_1 = {
4
4
  key: 0,
5
5
  class: "mn-b-small w-100"
@@ -2,8 +2,8 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- ;/* empty css */
6
- const Field = require("../../../../components/Field/Field.vue.cjs");
5
+ ;/* empty css */
6
+ const Field = require("../../../../components/Field/Field.vue2.cjs");
7
7
  const Select = require("../../../../components/Select/Select.vue.cjs");
8
8
  const _sfc_main = {
9
9
  __name: "EditProductInfo",
@@ -1,7 +1,7 @@
1
1
  import { openBlock, createElementBlock, Fragment, createVNode, withCtx } from "vue";
2
2
  /* empty css */
3
- /* empty css */
4
- import Field from "../../../../components/Field/Field.vue.js";
3
+ /* empty css */
4
+ import Field from "../../../../components/Field/Field.vue2.js";
5
5
  import Select from "../../../../components/Select/Select.vue.js";
6
6
  const _sfc_main = {
7
7
  __name: "EditProductInfo",
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
5
5
  ;/* empty css */
6
- const Dropdown = require("../../../../components/Dropdown/Dropdown.vue2.cjs");
6
+ const Dropdown = require("../../../../components/Dropdown/Dropdown.vue.cjs");
7
7
  const vueI18n = require("vue-i18n");
8
8
  const marketplace = require("../../store/marketplace.cjs");
9
9
  const categories = require("../../store/categories.cjs");
@@ -1,7 +1,7 @@
1
1
  import { onMounted, openBlock, createElementBlock, createElementVNode, createVNode, unref, normalizeClass, withCtx, Fragment, renderList } from "vue";
2
2
  import _sfc_main$2 from "../../../../components/Checkbox/Checkbox.vue.js";
3
3
  /* empty css */
4
- import _sfc_main$1 from "../../../../components/Dropdown/Dropdown.vue2.js";
4
+ import _sfc_main$1 from "../../../../components/Dropdown/Dropdown.vue.js";
5
5
  import { useI18n } from "vue-i18n";
6
6
  import { state } from "../../store/marketplace.js";
7
7
  import * as categories from "../../store/categories.js";
@@ -2,20 +2,14 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const vueI18n = require("vue-i18n");
6
5
  const emblaCarouselVue_esm = require("../../../../../../node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs");
7
6
  const emblaCarouselAutoplay_esm = require("../../../../../../node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.cjs");
8
7
  const Loader = require("../../../../components/Loader/Loader.vue2.cjs");
9
8
  const CardProduct = require("../blocks/CardProduct.vue.cjs");
10
9
  const products = require("../../store/products.cjs");
11
10
  ;/* empty css */
12
- const _hoisted_1 = {
13
- id: "popularProducts",
14
- class: "bg-light radius-big pd-t-big pd-b-big"
15
- };
16
- const _hoisted_2 = ["innerHTML"];
17
- const _hoisted_3 = { class: "embla__container" };
18
- const _hoisted_4 = {
11
+ const _hoisted_1 = { class: "embla__container" };
12
+ const _hoisted_2 = {
19
13
  key: 0,
20
14
  class: "h-100 w-100 radius-big flex-center bg-light"
21
15
  };
@@ -23,19 +17,6 @@ const _sfc_main = {
23
17
  __name: "PopularProducts",
24
18
  setup(__props) {
25
19
  vueRouter.useRouter();
26
- const text = {
27
- messages: {
28
- en: {
29
- title: "<b>Best Sellers 🔥</b>",
30
- subtitle: "We attach great importance to high quality and customer satisfaction"
31
- },
32
- ru: {
33
- title: "Самое Горячее 🔥",
34
- subtitle: "Мы придаем большое значение высокому качеству товаров и удовлетворенности клиентов"
35
- }
36
- }
37
- };
38
- const { t } = vueI18n.useI18n(text);
39
20
  const productsState = vue.ref(10);
40
21
  const selectedIndex = vue.ref(0);
41
22
  const scrollSnaps = vue.ref([]);
@@ -63,50 +44,44 @@ const _sfc_main = {
63
44
  emblaApi.value.on("select", onSelect);
64
45
  });
65
46
  return (_ctx, _cache) => {
66
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
67
- vue.createElementVNode("h2", {
68
- class: "mn-b-semi t-center",
69
- innerHTML: vue.unref(t)("title")
70
- }, null, 8, _hoisted_2),
71
- vue.createElementVNode("div", {
72
- class: "embla",
73
- ref_key: "emblaNode",
74
- ref: emblaNode
75
- }, [
76
- vue.createElementVNode("div", _hoisted_3, [
77
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(productsState.value, (value, key, index) => {
78
- return vue.openBlock(), vue.createElementBlock("div", {
79
- class: "embla__slide pd-nano",
80
- key
81
- }, [
82
- vue.createVNode(vue.Transition, {
83
- name: "fade",
84
- mode: "out-in",
85
- appear: ""
86
- }, {
87
- default: vue.withCtx(() => [
88
- !value.name ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
89
- vue.createVNode(Loader.default, { class: "pos-relative" })
90
- ])) : (vue.openBlock(), vue.createBlock(CardProduct.default, {
91
- key: 1,
92
- onClick: ($event) => _ctx.$router.push({
93
- name: "Organization_Product",
94
- params: {
95
- _id: value.organization,
96
- product: value._id
97
- }
98
- }),
99
- product: value,
100
- class: "cursor-pointer transition-ease-in hover-scale-0 h-100 w-100"
101
- }, null, 8, ["onClick", "product"]))
102
- ]),
103
- _: 2
104
- }, 1024)
105
- ]);
106
- }), 128))
107
- ])
108
- ], 512)
109
- ]);
47
+ return vue.openBlock(), vue.createElementBlock("div", {
48
+ class: "embla",
49
+ ref_key: "emblaNode",
50
+ ref: emblaNode
51
+ }, [
52
+ vue.createElementVNode("div", _hoisted_1, [
53
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(productsState.value, (value, key, index) => {
54
+ return vue.openBlock(), vue.createElementBlock("div", {
55
+ class: "embla__slide pd-nano",
56
+ key
57
+ }, [
58
+ vue.createVNode(vue.Transition, {
59
+ name: "fade",
60
+ mode: "out-in",
61
+ appear: ""
62
+ }, {
63
+ default: vue.withCtx(() => [
64
+ !value.name ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
65
+ vue.createVNode(Loader.default, { class: "pos-relative" })
66
+ ])) : (vue.openBlock(), vue.createBlock(CardProduct.default, {
67
+ key: 1,
68
+ onClick: ($event) => _ctx.$router.push({
69
+ name: "Organization_Product",
70
+ params: {
71
+ _id: value.organization,
72
+ product: value._id
73
+ }
74
+ }),
75
+ product: value,
76
+ class: "cursor-pointer transition-ease-in hover-scale-0 h-100 w-100"
77
+ }, null, 8, ["onClick", "product"]))
78
+ ]),
79
+ _: 2
80
+ }, 1024)
81
+ ]);
82
+ }), 128))
83
+ ])
84
+ ], 512);
110
85
  };
111
86
  }
112
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PopularProducts.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/PopularProducts.vue"],"sourcesContent":["<template>\n\t<div id=\"popularProducts\" class=\"bg-light radius-big pd-t-big pd-b-big\">\n\n\t\t<h2 class=\"mn-b-semi t-center \" v-html=\"t('title')\"/>\n\t\t\n\t\t<div class=\"embla\" ref=\"emblaNode\">\n\t\t \t<div class=\"embla__container\">\n\t\t \n\t\t <div class=\"embla__slide pd-nano\" v-for=\"(value, key, index) in productsState\" :key=\"key\">\n\t\t \t<transition name=\"fade\" mode=\"out-in\" appear>\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tv-if=\"!value.name\" \n\t\t\t\t\t\t\tclass=\"h-100 w-100 radius-big flex-center bg-light\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Loader class=\"pos-relative\"/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<CardProduct \n\t\t\t\t\t\t\tv-else \n\t\t\t\t\t\t\t@click=\"$router.push({\n\t\t\t name: 'Organization_Product', \n\t\t\t params: { \n\t\t\t _id: value.organization, \n\t\t\t product: value._id \n\t\t\t } \n\t\t\t })\" \n\t\t\t\t\t\t\t:product=\"value\"\n\t\t\t\t\t\t\tclass=\"cursor-pointer transition-ease-in hover-scale-0 h-100 w-100\" \n\t\t\t\t\t\t/>\n\t\t\t\t\t</transition>\n\t\t </div>\n\n \t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup scoped>\n\timport { ref, computed, onMounted } from 'vue'\n\n\timport { useRouter } \tfrom 'vue-router'\n\timport { useI18n } \t\tfrom 'vue-i18n'\n\t\t\n\timport emblaCarouselVue from 'embla-carousel-vue'; // Assuming a Vue version exists\n\timport Autoplay from 'embla-carousel-autoplay'\n\n\timport Loader from '@pf/src/components/Loader/Loader.vue'\n\timport CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n\timport * as products from '@pf/src/modules/products/store/products';\n\t\n\tconst router = useRouter()\n\n \tconst text = {\n messages: {\n en: {\n \ttitle: '<b>Best Sellers 🔥</b>',\n \tsubtitle: 'We attach great importance to high quality and customer satisfaction'\n },\n ru: {\n \ttitle: 'Самое Горячее 🔥',\n \tsubtitle: 'Мы придаем большое значение высокому качеству товаров и удовлетворенности клиентов'\n }\n }\n }\n\n\tconst { t } = useI18n(text)\n\n\tconst productsState = ref(10)\n\tconst selectedIndex = ref(0);\n\tconst scrollSnaps = ref([]);\n\n\tconst autoplayOptions = {\n\t delay: 2000,\n\t jump: false,\n\t stopOnInteraction: false,\n\t stopOnMouseEnter: false,\n\t stopOnFocusIn: true,\n\t stopOnLastSnap: false,\n\t rootNode: (emblaRoot) => emblaRoot.parentElement\n\t}\n\n\tconst [emblaNode, emblaApi] = emblaCarouselVue({ loop: true }, [Autoplay(autoplayOptions)])\n\n\tconst scrollTo = (index) => emblaApi.value && emblaApi.value.scrollTo(index);\n\tconst onInit = (embla) => scrollSnaps.value = emblaApi.value.scrollSnapList();\n\tconst onSelect = (embla) => selectedIndex.value = emblaApi.value.selectedScrollSnap();\n\n\tonMounted(async() => {\n\t\tproductsState.value = await products.actions.read({\n\t\t\tlimit: 10, \n\t\t\torganization: '657e7134efb8110c51b8b713'\n\t\t})\n\n\t onInit(emblaApi);\n\t onSelect(emblaApi);\n\n\t emblaApi.value.on('reInit', onInit);\n\t emblaApi.value.on('reInit', onSelect);\n\t emblaApi.value.on('select', onSelect);\n\t});\n</script>\n\n<style lang=\"scss\">\n\t.embla {\n overflow: hidden;\n }\n .embla__container {\n display: flex;\n }\n .embla__slide {\n flex: 0 0 25%;\n min-width: 0;\n }\n\n @media screen and (max-width: 1025px) {\n .embla__slide {\n\t flex: 0 0 50%;\n\t min-width: 0;\n\t }\n }\n</style>"],"names":["useRouter","useI18n","ref","emblaCarouselVue","Autoplay","onMounted","products.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoDgBA,wBAAW;AAEzB,UAAM,OAAO;AAAA,MACX,UAAU;AAAA,QACR,IAAI;AAAA,UACH,OAAO;AAAA,UACP,UAAU;AAAA,QACV;AAAA,QACD,IAAI;AAAA,UACH,OAAO;AAAA,UACP,UAAU;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAEF,UAAM,EAAE,EAAC,IAAKC,QAAO,QAAC,IAAI;AAE1B,UAAM,gBAAgBC,IAAG,IAAC,EAAE;AAC5B,UAAM,gBAAgBA,QAAI,CAAC;AAC3B,UAAM,cAAcA,QAAI,CAAA,CAAE;AAE1B,UAAM,kBAAkB;AAAA,MACtB,OAAO;AAAA,MACP,MAAM;AAAA,MACN,mBAAmB;AAAA,MACnB,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,UAAU,CAAC,cAAc,UAAU;AAAA,IACpC;AAED,UAAM,CAAC,WAAW,QAAQ,IAAIC,6BAAiB,EAAE,MAAM,QAAQ,CAACC,kCAAS,eAAe,CAAC,CAAC;AAG1F,UAAM,SAAS,CAAC,UAAW,YAAY,QAAQ,SAAS,MAAM;AAC9D,UAAM,WAAW,CAAC,UAAU,cAAc,QAAQ,SAAS,MAAM;AAEjEC,QAAAA,UAAU,YAAW;AACpB,oBAAc,QAAQ,MAAMC,SAAgB,QAAC,KAAK;AAAA,QACjD,OAAO;AAAA,QACP,cAAc;AAAA,MACjB,CAAG;AAEA,aAAe;AACf,eAAiB;AAEjB,eAAS,MAAM,GAAG,UAAU,MAAM;AAClC,eAAS,MAAM,GAAG,UAAU,QAAQ;AACpC,eAAS,MAAM,GAAG,UAAU,QAAQ;AAAA,IACvC,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PopularProducts.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/PopularProducts.vue"],"sourcesContent":["<template>\n\t<div class=\"embla\" ref=\"emblaNode\">\n\t \t<div class=\"embla__container\">\n\t \n\t <div class=\"embla__slide pd-nano\" v-for=\"(value, key, index) in productsState\" :key=\"key\">\n\t \t<transition name=\"fade\" mode=\"out-in\" appear>\n\t\t\t\t\t<div \n\t\t\t\t\t\tv-if=\"!value.name\" \n\t\t\t\t\t\tclass=\"h-100 w-100 radius-big flex-center bg-light\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Loader class=\"pos-relative\"/>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<CardProduct \n\t\t\t\t\t\tv-else \n\t\t\t\t\t\t@click=\"$router.push({\n\t\t name: 'Organization_Product', \n\t\t params: { \n\t\t _id: value.organization, \n\t\t product: value._id \n\t\t } \n\t\t })\" \n\t\t\t\t\t\t:product=\"value\"\n\t\t\t\t\t\tclass=\"cursor-pointer transition-ease-in hover-scale-0 h-100 w-100\" \n\t\t\t\t\t/>\n\t\t\t\t</transition>\n\t </div>\n \t</div>\n\t</div>\n</template>\n\n\n<script setup scoped>\n\timport { ref, computed, onMounted } from 'vue'\n\n\timport { useRouter } \tfrom 'vue-router'\n\t\t\n\timport emblaCarouselVue from 'embla-carousel-vue'; // Assuming a Vue version exists\n\timport Autoplay from 'embla-carousel-autoplay'\n\n\timport Loader from '@pf/src/components/Loader/Loader.vue'\n\timport CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n\timport * as products from '@pf/src/modules/products/store/products';\n\t\n\tconst router = useRouter()\n\n\tconst productsState = ref(10)\n\tconst selectedIndex = ref(0);\n\tconst scrollSnaps = ref([]);\n\n\tconst autoplayOptions = {\n\t delay: 2000,\n\t jump: false,\n\t stopOnInteraction: false,\n\t stopOnMouseEnter: false,\n\t stopOnFocusIn: true,\n\t stopOnLastSnap: false,\n\t rootNode: (emblaRoot) => emblaRoot.parentElement\n\t}\n\n\tconst [emblaNode, emblaApi] = emblaCarouselVue({ loop: true }, [Autoplay(autoplayOptions)])\n\n\tconst scrollTo = (index) => emblaApi.value && emblaApi.value.scrollTo(index);\n\tconst onInit = (embla) => scrollSnaps.value = emblaApi.value.scrollSnapList();\n\tconst onSelect = (embla) => selectedIndex.value = emblaApi.value.selectedScrollSnap();\n\n\tonMounted(async() => {\n\t\tproductsState.value = await products.actions.read({\n\t\t\tlimit: 10, \n\t\t\torganization: '657e7134efb8110c51b8b713'\n\t\t})\n\n\t onInit(emblaApi);\n\t onSelect(emblaApi);\n\n\t emblaApi.value.on('reInit', onInit);\n\t emblaApi.value.on('reInit', onSelect);\n\t emblaApi.value.on('select', onSelect);\n\t});\n</script>\n\n<style lang=\"scss\">\n\t.embla {\n overflow: hidden;\n }\n .embla__container {\n display: flex;\n }\n .embla__slide {\n flex: 0 0 25%;\n min-width: 0;\n }\n\n @media screen and (max-width: 1025px) {\n .embla__slide {\n\t flex: 0 0 75%;\n\t min-width: 0;\n\t }\n }\n</style>"],"names":["useRouter","ref","emblaCarouselVue","Autoplay","onMounted","products.actions"],"mappings":";;;;;;;;;;;;;;;;;;AA6CgBA,wBAAW;AAE1B,UAAM,gBAAgBC,IAAG,IAAC,EAAE;AAC5B,UAAM,gBAAgBA,QAAI,CAAC;AAC3B,UAAM,cAAcA,QAAI,CAAA,CAAE;AAE1B,UAAM,kBAAkB;AAAA,MACtB,OAAO;AAAA,MACP,MAAM;AAAA,MACN,mBAAmB;AAAA,MACnB,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,UAAU,CAAC,cAAc,UAAU;AAAA,IACpC;AAED,UAAM,CAAC,WAAW,QAAQ,IAAIC,6BAAiB,EAAE,MAAM,QAAQ,CAACC,kCAAS,eAAe,CAAC,CAAC;AAG1F,UAAM,SAAS,CAAC,UAAW,YAAY,QAAQ,SAAS,MAAM;AAC9D,UAAM,WAAW,CAAC,UAAU,cAAc,QAAQ,SAAS,MAAM;AAEjEC,QAAAA,UAAU,YAAW;AACpB,oBAAc,QAAQ,MAAMC,SAAgB,QAAC,KAAK;AAAA,QACjD,OAAO;AAAA,QACP,cAAc;AAAA,MACjB,CAAG;AAEA,aAAe;AACf,eAAiB;AAEjB,eAAS,MAAM,GAAG,UAAU,MAAM;AAClC,eAAS,MAAM,GAAG,UAAU,QAAQ;AACpC,eAAS,MAAM,GAAG,UAAU,QAAQ;AAAA,IACvC,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,19 +1,13 @@
1
- import { ref, onMounted, openBlock, createElementBlock, createElementVNode, unref, Fragment, renderList, createVNode, Transition, withCtx, createBlock } from "vue";
1
+ import { ref, onMounted, openBlock, createElementBlock, createElementVNode, Fragment, renderList, createVNode, Transition, withCtx, createBlock } from "vue";
2
2
  import { useRouter } from "vue-router";
3
- import { useI18n } from "vue-i18n";
4
3
  import emblaCarouselVue from "../../../../../../node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js";
5
4
  import Autoplay from "../../../../../../node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js";
6
5
  import Loader from "../../../../components/Loader/Loader.vue2.js";
7
6
  import _sfc_main$1 from "../blocks/CardProduct.vue.js";
8
7
  import { actions } from "../../store/products.js";
9
8
  /* empty css */
10
- const _hoisted_1 = {
11
- id: "popularProducts",
12
- class: "bg-light radius-big pd-t-big pd-b-big"
13
- };
14
- const _hoisted_2 = ["innerHTML"];
15
- const _hoisted_3 = { class: "embla__container" };
16
- const _hoisted_4 = {
9
+ const _hoisted_1 = { class: "embla__container" };
10
+ const _hoisted_2 = {
17
11
  key: 0,
18
12
  class: "h-100 w-100 radius-big flex-center bg-light"
19
13
  };
@@ -21,19 +15,6 @@ const _sfc_main = {
21
15
  __name: "PopularProducts",
22
16
  setup(__props) {
23
17
  useRouter();
24
- const text = {
25
- messages: {
26
- en: {
27
- title: "<b>Best Sellers 🔥</b>",
28
- subtitle: "We attach great importance to high quality and customer satisfaction"
29
- },
30
- ru: {
31
- title: "Самое Горячее 🔥",
32
- subtitle: "Мы придаем большое значение высокому качеству товаров и удовлетворенности клиентов"
33
- }
34
- }
35
- };
36
- const { t } = useI18n(text);
37
18
  const productsState = ref(10);
38
19
  const selectedIndex = ref(0);
39
20
  const scrollSnaps = ref([]);
@@ -61,50 +42,44 @@ const _sfc_main = {
61
42
  emblaApi.value.on("select", onSelect);
62
43
  });
63
44
  return (_ctx, _cache) => {
64
- return openBlock(), createElementBlock("div", _hoisted_1, [
65
- createElementVNode("h2", {
66
- class: "mn-b-semi t-center",
67
- innerHTML: unref(t)("title")
68
- }, null, 8, _hoisted_2),
69
- createElementVNode("div", {
70
- class: "embla",
71
- ref_key: "emblaNode",
72
- ref: emblaNode
73
- }, [
74
- createElementVNode("div", _hoisted_3, [
75
- (openBlock(true), createElementBlock(Fragment, null, renderList(productsState.value, (value, key, index) => {
76
- return openBlock(), createElementBlock("div", {
77
- class: "embla__slide pd-nano",
78
- key
79
- }, [
80
- createVNode(Transition, {
81
- name: "fade",
82
- mode: "out-in",
83
- appear: ""
84
- }, {
85
- default: withCtx(() => [
86
- !value.name ? (openBlock(), createElementBlock("div", _hoisted_4, [
87
- createVNode(Loader, { class: "pos-relative" })
88
- ])) : (openBlock(), createBlock(_sfc_main$1, {
89
- key: 1,
90
- onClick: ($event) => _ctx.$router.push({
91
- name: "Organization_Product",
92
- params: {
93
- _id: value.organization,
94
- product: value._id
95
- }
96
- }),
97
- product: value,
98
- class: "cursor-pointer transition-ease-in hover-scale-0 h-100 w-100"
99
- }, null, 8, ["onClick", "product"]))
100
- ]),
101
- _: 2
102
- }, 1024)
103
- ]);
104
- }), 128))
105
- ])
106
- ], 512)
107
- ]);
45
+ return openBlock(), createElementBlock("div", {
46
+ class: "embla",
47
+ ref_key: "emblaNode",
48
+ ref: emblaNode
49
+ }, [
50
+ createElementVNode("div", _hoisted_1, [
51
+ (openBlock(true), createElementBlock(Fragment, null, renderList(productsState.value, (value, key, index) => {
52
+ return openBlock(), createElementBlock("div", {
53
+ class: "embla__slide pd-nano",
54
+ key
55
+ }, [
56
+ createVNode(Transition, {
57
+ name: "fade",
58
+ mode: "out-in",
59
+ appear: ""
60
+ }, {
61
+ default: withCtx(() => [
62
+ !value.name ? (openBlock(), createElementBlock("div", _hoisted_2, [
63
+ createVNode(Loader, { class: "pos-relative" })
64
+ ])) : (openBlock(), createBlock(_sfc_main$1, {
65
+ key: 1,
66
+ onClick: ($event) => _ctx.$router.push({
67
+ name: "Organization_Product",
68
+ params: {
69
+ _id: value.organization,
70
+ product: value._id
71
+ }
72
+ }),
73
+ product: value,
74
+ class: "cursor-pointer transition-ease-in hover-scale-0 h-100 w-100"
75
+ }, null, 8, ["onClick", "product"]))
76
+ ]),
77
+ _: 2
78
+ }, 1024)
79
+ ]);
80
+ }), 128))
81
+ ])
82
+ ], 512);
108
83
  };
109
84
  }
110
85
  };