@ozdao/prometheus-framework 0.2.314 → 0.2.316

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +2 -2
  2. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +2 -2
  3. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  4. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  5. package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs +1 -1
  6. package/dist/prometheus-framework/src/components/Slider/Slider.vue.js +1 -1
  7. package/dist/prometheus-framework/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  8. package/dist/prometheus-framework/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  9. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
  10. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
  11. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
  12. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  13. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  14. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  15. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  16. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  17. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  18. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  19. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  20. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  21. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +2 -2
  22. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.js +2 -2
  23. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
  24. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
  25. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
  26. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
  27. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
  28. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
  29. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  30. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  31. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  32. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  33. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  34. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  35. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  36. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  37. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
  38. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +3 -3
  39. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
  40. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +1 -1
  41. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  42. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  43. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +2 -2
  44. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +2 -2
  45. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  46. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  47. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  48. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  49. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  50. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  51. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +4 -4
  52. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +4 -4
  53. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  54. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  55. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +2 -2
  56. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +2 -2
  57. package/dist/prometheus-framework/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  58. package/dist/prometheus-framework/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  59. package/dist/prometheus-framework/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  60. package/dist/prometheus-framework/src/modules/events/components/sections/Feed.vue.js +1 -1
  61. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs +1 -1
  62. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js +1 -1
  63. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  64. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  65. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -4
  66. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
  67. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  68. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  69. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +3 -3
  70. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +3 -3
  71. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  72. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  73. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  74. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  75. package/dist/prometheus-framework/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  76. package/dist/prometheus-framework/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  77. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  78. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  79. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +4 -4
  80. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
  81. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  82. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +1 -1
  83. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  84. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  85. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  86. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  87. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  88. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  89. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +4 -4
  90. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +4 -4
  91. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  92. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +2 -2
  93. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  94. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  95. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  96. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  97. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +4 -4
  98. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -4
  99. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  100. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  101. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
  102. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
  103. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +3 -3
  104. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +3 -3
  105. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  106. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  107. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  108. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  109. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +773 -773
  110. package/dist/prometheus-framework/src/modules/pages/pages.client.js +773 -773
  111. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  112. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  113. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  114. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  115. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
  116. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
  117. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  118. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  119. package/dist/prometheus-framework/src/modules/products/components/blocks/Images360.vue.cjs +1 -1
  120. package/dist/prometheus-framework/src/modules/products/components/blocks/Images360.vue.js +1 -1
  121. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  122. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  123. package/dist/prometheus-framework/src/modules/products/components/layouts/Marketplace.vue.cjs +1 -1
  124. package/dist/prometheus-framework/src/modules/products/components/layouts/Marketplace.vue.cjs.map +1 -1
  125. package/dist/prometheus-framework/src/modules/products/components/layouts/Marketplace.vue.js +1 -1
  126. package/dist/prometheus-framework/src/modules/products/components/layouts/Marketplace.vue.js.map +1 -1
  127. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +3 -3
  128. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +3 -3
  129. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
  130. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  131. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  132. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  133. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  134. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +4 -4
  136. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  137. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
  138. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  139. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  140. package/dist/prometheus-framework/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  141. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +2 -2
  142. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  143. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +2 -2
  144. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js.map +1 -1
  145. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  146. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
  147. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  148. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
  149. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  150. package/dist/prometheus-framework/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  151. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.cjs +2 -2
  152. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.cjs.map +1 -1
  153. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.js +2 -2
  154. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.js.map +1 -1
  155. package/dist/prometheus-framework/src/modules/products/components/sections/MenuSection.vue.cjs +2 -2
  156. package/dist/prometheus-framework/src/modules/products/components/sections/MenuSection.vue.cjs.map +1 -1
  157. package/dist/prometheus-framework/src/modules/products/components/sections/MenuSection.vue.js +2 -2
  158. package/dist/prometheus-framework/src/modules/products/components/sections/MenuSection.vue.js.map +1 -1
  159. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs +2 -2
  160. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs.map +1 -1
  161. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js +2 -2
  162. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js.map +1 -1
  163. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +4 -4
  164. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  165. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +4 -4
  166. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  167. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  168. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  169. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  170. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  171. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +2 -2
  172. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs.map +1 -1
  173. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +2 -2
  174. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
  175. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  176. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js +1 -1
  177. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
  178. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  179. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
  180. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
  181. package/package.json +1 -1
  182. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  183. package/src/modules/backoffice/components/admin/Dashboard.vue +1 -1
  184. package/src/modules/backoffice/components/admin/ProductEdit.vue +1 -1
  185. package/src/modules/globals/views/components/partials/Footer.vue +1 -1
  186. package/src/modules/products/components/layouts/Marketplace.vue +1 -1
  187. package/src/modules/products/components/pages/ProductEdit.vue +1 -1
  188. package/src/modules/products/components/pages/Products.vue +1 -1
  189. package/src/modules/products/components/sections/FilterProducts.vue +1 -1
  190. package/src/modules/products/components/sections/Filters.vue +1 -1
  191. package/src/modules/products/components/sections/MenuSection.vue +1 -1
  192. package/src/modules/products/components/sections/PopularProducts.vue +1 -1
  193. package/src/modules/products/components/sections/SectionProduct.vue +3 -3
  194. package/src/modules/spots/components/layouts/Spots.vue +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PopularProducts.vue.js","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 bg-light 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":["products.actions"],"mappings":";;;;;;;;;;;;;;;;AA6CgB,cAAW;AAE1B,UAAM,gBAAgB,IAAI,EAAE;AAC5B,UAAM,gBAAgB,IAAI,CAAC;AAC3B,UAAM,cAAc,IAAI,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,IAAI,iBAAiB,EAAE,MAAM,QAAQ,CAAC,SAAS,eAAe,CAAC,CAAC;AAG1F,UAAM,SAAS,CAAC,UAAW,YAAY,QAAQ,SAAS,MAAM;AAC9D,UAAM,WAAW,CAAC,UAAU,cAAc,QAAQ,SAAS,MAAM;AAEjE,cAAU,YAAW;AACpB,oBAAc,QAAQ,MAAMA,QAAiB,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.js","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.owner.target, \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 bg-light 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":["products.actions"],"mappings":";;;;;;;;;;;;;;;;AA6CgB,cAAW;AAE1B,UAAM,gBAAgB,IAAI,EAAE;AAC5B,UAAM,gBAAgB,IAAI,CAAC;AAC3B,UAAM,cAAc,IAAI,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,IAAI,iBAAiB,EAAE,MAAM,QAAQ,CAAC,SAAS,eAAe,CAAC,CAAC;AAG1F,UAAM,SAAS,CAAC,UAAW,YAAY,QAAQ,SAAS,MAAM;AAC9D,UAAM,WAAW,CAAC,UAAU,cAAc,QAAQ,SAAS,MAAM;AAEjE,cAAU,YAAW;AACpB,oBAAc,QAAQ,MAAMA,QAAiB,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,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Button = require("../../../../components/Button/Button.vue2.cjs");
5
- const Tab = require("../../../../components/Tab/Tab.vue.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
6
6
  const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
7
7
  const Images360 = require("../blocks/Images360.vue.cjs");
8
8
  const ImagesThumbnails = require("../blocks/ImagesThumbnails.vue.cjs");
@@ -114,13 +114,13 @@ const _sfc_main = {
114
114
  images.value[0] && !__props.product.image3d ? (vue.openBlock(), vue.createElementBlock("img", {
115
115
  key: 1,
116
116
  loading: "lazy",
117
- class: "h-auto bg-light w-100",
117
+ class: "h-max bg-light w-100",
118
118
  style: { "object-fit": "contain" },
119
119
  src: (_ctx.FILE_SERVER_URL || "") + images.value[0]
120
120
  }, null, 8, _hoisted_4)) : vue.createCommentVNode("", true),
121
121
  !images.value[0] && !__props.product.image3d ? (vue.openBlock(), vue.createBlock(PlaceholderImage.default, {
122
122
  key: 2,
123
- class: "h-100 w-100",
123
+ class: "h-max-20r h-100 w-100",
124
124
  style: { "object-fit": "cover" }
125
125
  })) : vue.createCommentVNode("", true)
126
126
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"SectionProduct.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/SectionProduct.vue"],"sourcesContent":["<template>\n\t<div class=\"cols-2-1_2 pd-small w-100 gap-thin\">\n\t\t\n\t\t<div class=\"pd-small bg-light radius-big flex-nowrap flex-column flex pos-relative\">\n\t\t\t<div class=\"w-100 bg-light radius-semi o-hidden\">\n\t\t\t\t<!-- PRODUCT IMAGE -->\n\t\t\t\t<Images360\n\t\t\t\t\tv-if=\"product && product.image3d\"\n\t\t\t\t\tclass=\"h-100 w-100\"\n\t\t\t\t\t:imagePath=\"`/assets/images/products/${product.image3d}`\"\n\t\t\t\t\t:imageCount=\"36\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-auto bg-light w-100\"\n\t\t\t\t\tstyle=\"object-fit: contain;\"\n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + images[0]\"\n\t\t\t\t/>\n\n\t\t\t\t<PlaceholderImage\n\t\t\t\t\tv-if=\"!images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-100 w-100\"\n\t\t\t\t\tstyle=\"object-fit: cover;\"\n\t\t\t\t/>\n\n\t\t\t</div>\n\n\t\t\t<ImagesThumbnails\n\t\t\t\tv-if=\"images.length > 1\"\n\t\t\t\t:images=\"images\"\n\t\t\t\tclass=\"mn-t-thin\"\n\t\t\t/>\n\t\t</div>\n\n\t\t<div class=\"radius-big pos-relative w-100 h-100 flex-column flex-justify flex col\">\n\n\t\t<!-- <IconEdit\n\t\t\t@click=\"$router.push({\n\t\t\t\tname: 'ProductEdit', \n\t\t\t\tparams: {\n\t\t\t\t\t_id: product.organization,\n\t\t\t\t\tproduct: product._id\n\t\t\t\t}\n\t\t\t})\" \n\t\t\tclass=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t/> -->\n\n\t\t\t<h2 v-if=\"recommendation\" class=\"t-main t-semi p-big\">{{t('airecommend')}}</h2>\n\t\t\t<!-- Name -->\n\t\t\t<h1 class=\"w-100 h1-product mn-b-small\">{{ product.name }}</h1>\n\t\t\t<!-- Price -->\n\t\t\t<Price v-if=\"product.listing !== 'rent'\" :product=\"product\" size=\"big\" class=\"mn-b-semi\" />\n\t\t\t<!-- Modifications -->\n\t\t\t<!-- <div v-if=\"product.modifications.length > 0\" class=\"flex-nojustify flex\">\n\t\t\t\t<SelectElement v-if=\"sizes2.length > 0\" :elements=\"sizes2\" :selected=\"product.selectedSize\" class=\"mn-r-medium\" />\n\t\t\t</div> -->\n\t\t\t<!-- Description -->\n\t\t\t<h3 v-if=\"recommendation\" class=\"mn-b-semi\">\n\t\t\t\t{{ recommendation }}\n\t\t\t</h3>\n\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabProduct\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{name: 'Description', value: 'description'},\n\t\t\t\t\t{name: 'Specifications', value: 'specifications'}\n\t\t\t\t]\"\n\t\t\t\ttabClass=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t\tclass=\"bg-light mn-b-small\"\n\t\t\t/>\n\n\t\t\t<div class=\"h-min-5r pos-relative\">\n\t\t\t\t<transition name=\"slide-fade\">\n\n\t\t\t\t\t<div v-if=\"tabProduct === 'description'\" class=\"pd-medium radius-medium bg-light \">\n\t\t\t\t\t\t<p v-if=\"product.description && !product.localization < 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ product.description }}\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p v-if=\"product.localization && product.localization.length > 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ t('description') }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div \n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"cols-2 w-100 bg-light radius-medium pd-medium gap-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tv-if=\"product.information.length > 0\" \n\t\t\t\t\t\t\tv-for=\"information in product.information\" \n\t\t\t\t\t\t\tclass=\"w-100 pd-small radius-small bg-white product-information\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p class=\"t-demi\">{{ information.name }}</p>\n\t\t\t\t\t\t\t<p>{{ information.value }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\n\t\t\t<!-- Actions -->\n\t\t\t<div v-if=\"product.listing !== 'rent'\" class=\"max-w-33rem mobile-w-100 t-white gap-small cols-2\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"product.quantity > 0\"\n\t\t\t\t\t:submit=\"a => addToCart(product)\" \n\t\t\t\t\t:disabled=\"validateToCard(product)\" \n\t\t\t\t\t:text=\"{\n\t\t\t\t\t\tsuccess: ' ✔ Added',\n\t\t\t\t\t\terror: 'error'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"h-3r w-100 mn-r-small bg-main button\"\n\t\t\t\t> \n\t\t\t\t\t\t{{ t('addtoorder') }}\n\t\t\t\t</Button>\n\t\t\t\t<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\">\n\t\t\t\t\tOut of Stock\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\nimport Button from '@pf/src/components/Button/Button.vue'\nimport Tab from '@pf/src/components/Tab/Tab.vue'\nimport IconEdit from '@pf/src/modules/icons/navigation/IconEdit.vue'\nimport PlaceholderImage from '@pf/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nimport Images360 \tfrom '@pf/src/modules/products/components/blocks/Images360.vue'\nimport ImagesThumbnails from \"@pf/src/modules/products/components/blocks/ImagesThumbnails.vue\";\n\nimport THC from '@pf/src/modules/products/components/elements/THC.vue'\nimport Price from '@pf/src/modules/products/components/elements/Price.vue'\n// import SelectElement \tfrom '@/components/elements/SelectElement.vue'\n\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport * as shopcart from '@pf/src/modules/orders/store/shopcart';\n\n// Props\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n },\n user: {\n type: String,\n },\n recommendation: {\n \ttype: String\n }\n})\n\n// Computed properties\nconst images = computed(() => {\n return props.product.images\n})\n\n\nconst tabProduct = ref('description')\n\n\nconst text = {\n\tmessages: {\n\t en: {\n\t \tairecommend: 'AI Recommends You',\n\t \tdescription: '',\n\t \taddtoorder: 'Add to order',\n\t fastorder: 'Fast Order'\n\t },\n\t ru: {\n\t \tairecommend: 'AI Рекомендует вам',\n\t \tdescription: '',\n\t \taddtoorder: 'Добавить в корзину',\n\t fastorder: 'Быстрый заказ'\n\t }\n\t}\n}\n\n// props.product.localization.forEach(localization => {\n\t// if (localization) text.messages[localization.locale].description = localization.text\n// })\n\n const { t } = useI18n(text)\n\n// Methods\nfunction validateToCard(product) {\n if (product.quantity > 0) {\n return false\n }\n return true\n}\n\nfunction addToCart(product) {\n\tif (shopcart.state.organization !== product.organization) {\n\t\tshopcart.state.positions = []\n\t\tshopcart.state.organization = product.organization\n\t}\n shopcart.actions.addProductToCart(product, product.organization)\n}\n</script>\n"],"names":["computed","ref","useI18n","shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8IA,UAAM,QAAQ;AAcd,UAAM,SAASA,IAAQ,SAAC,MAAM;AAC5B,aAAO,MAAM,QAAQ;AAAA,IACvB,CAAC;AAGD,UAAM,aAAaC,IAAG,IAAC,aAAa;AAGpC,UAAM,OAAO;AAAA,MACZ,UAAU;AAAA,QACR,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAMC,UAAM,EAAE,EAAC,IAAKC,QAAO,QAAC,IAAI;AAG3B,aAAS,eAAe,SAAS;AAC/B,UAAI,QAAQ,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACT;AAEA,aAAS,UAAU,SAAS;AAC3B,UAAIC,eAAe,iBAAiB,QAAQ,cAAc;AACzDA,iBAAc,MAAC,YAAY,CAAE;AAC7BA,uBAAe,eAAe,QAAQ;AAAA,MACtC;AACAC,eAAAA,QAAiB,iBAAiB,SAAS,QAAQ,YAAY;AAAA,IACjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SectionProduct.vue.cjs","sources":["../../../../../../../src/modules/products/components/sections/SectionProduct.vue"],"sourcesContent":["<template>\n\t<div class=\"cols-2-1_2 pd-small w-100 gap-thin\">\n\t\t\n\t\t<div class=\"pd-small bg-light radius-big flex-nowrap flex-column flex pos-relative\">\n\t\t\t<div class=\"w-100 bg-light radius-semi o-hidden\">\n\t\t\t\t<!-- PRODUCT IMAGE -->\n\t\t\t\t<Images360\n\t\t\t\t\tv-if=\"product && product.image3d\"\n\t\t\t\t\tclass=\"h-100 w-100\"\n\t\t\t\t\t:imagePath=\"`/assets/images/products/${product.image3d}`\"\n\t\t\t\t\t:imageCount=\"36\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-max bg-light w-100\"\n\t\t\t\t\tstyle=\"object-fit: contain;\"\n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + images[0]\"\n\t\t\t\t/>\n\n\t\t\t\t<PlaceholderImage\n\t\t\t\t\tv-if=\"!images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-max-20r h-100 w-100\"\n\t\t\t\t\tstyle=\"object-fit: cover;\"\n\t\t\t\t/>\n\n\t\t\t</div>\n\n\t\t\t<ImagesThumbnails\n\t\t\t\tv-if=\"images.length > 1\"\n\t\t\t\t:images=\"images\"\n\t\t\t\tclass=\"mn-t-thin\"\n\t\t\t/>\n\t\t</div>\n\n\t\t<div class=\"radius-big pos-relative w-100 h-100 flex-column flex-justify flex col\">\n\n\t\t<!-- <IconEdit\n\t\t\t@click=\"$router.push({\n\t\t\t\tname: 'ProductEdit', \n\t\t\t\tparams: {\n\t\t\t\t\t_id: product.organization,\n\t\t\t\t\tproduct: product._id\n\t\t\t\t}\n\t\t\t})\" \n\t\t\tclass=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t/> -->\n\n\t\t\t<h2 v-if=\"recommendation\" class=\"t-main t-semi p-big\">{{t('airecommend')}}</h2>\n\t\t\t<!-- Name -->\n\t\t\t<h1 class=\"w-100 h1-product mn-b-small\">{{ product.name }}</h1>\n\t\t\t<!-- Price -->\n\t\t\t<Price v-if=\"product.listing !== 'rent'\" :product=\"product\" size=\"big\" class=\"mn-b-semi\" />\n\t\t\t<!-- Modifications -->\n\t\t\t<!-- <div v-if=\"product.modifications.length > 0\" class=\"flex-nojustify flex\">\n\t\t\t\t<SelectElement v-if=\"sizes2.length > 0\" :elements=\"sizes2\" :selected=\"product.selectedSize\" class=\"mn-r-medium\" />\n\t\t\t</div> -->\n\t\t\t<!-- Description -->\n\t\t\t<h3 v-if=\"recommendation\" class=\"mn-b-semi\">\n\t\t\t\t{{ recommendation }}\n\t\t\t</h3>\n\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabProduct\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{name: 'Description', value: 'description'},\n\t\t\t\t\t{name: 'Specifications', value: 'specifications'}\n\t\t\t\t]\"\n\t\t\t\ttabClass=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t\tclass=\"bg-light mn-b-small\"\n\t\t\t/>\n\n\t\t\t<div class=\"h-min-5r pos-relative\">\n\t\t\t\t<transition name=\"slide-fade\">\n\n\t\t\t\t\t<div v-if=\"tabProduct === 'description'\" class=\"pd-medium radius-medium bg-light \">\n\t\t\t\t\t\t<p v-if=\"product.description && !product.localization < 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ product.description }}\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p v-if=\"product.localization && product.localization.length > 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ t('description') }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div \n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"cols-2 w-100 bg-light radius-medium pd-medium gap-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tv-if=\"product.information.length > 0\" \n\t\t\t\t\t\t\tv-for=\"information in product.information\" \n\t\t\t\t\t\t\tclass=\"w-100 pd-small radius-small bg-white product-information\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p class=\"t-demi\">{{ information.name }}</p>\n\t\t\t\t\t\t\t<p>{{ information.value }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\n\t\t\t<!-- Actions -->\n\t\t\t<div v-if=\"product.listing !== 'rent'\" class=\"max-w-33rem mobile-w-100 t-white gap-small cols-2\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"product.quantity > 0\"\n\t\t\t\t\t:submit=\"a => addToCart(product)\" \n\t\t\t\t\t:disabled=\"validateToCard(product)\" \n\t\t\t\t\t:text=\"{\n\t\t\t\t\t\tsuccess: ' ✔ Added',\n\t\t\t\t\t\terror: 'error'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"h-3r w-100 mn-r-small bg-main button\"\n\t\t\t\t> \n\t\t\t\t\t\t{{ t('addtoorder') }}\n\t\t\t\t</Button>\n\t\t\t\t<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\">\n\t\t\t\t\tOut of Stock\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\nimport Button from '@pf/src/components/Button/Button.vue'\nimport Tab from '@pf/src/components/Tab/Tab.vue'\nimport IconEdit from '@pf/src/modules/icons/navigation/IconEdit.vue'\nimport PlaceholderImage from '@pf/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nimport Images360 \tfrom '@pf/src/modules/products/components/blocks/Images360.vue'\nimport ImagesThumbnails from \"@pf/src/modules/products/components/blocks/ImagesThumbnails.vue\";\n\nimport THC from '@pf/src/modules/products/components/elements/THC.vue'\nimport Price from '@pf/src/modules/products/components/elements/Price.vue'\n// import SelectElement \tfrom '@/components/elements/SelectElement.vue'\n\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport * as shopcart from '@pf/src/modules/orders/store/shopcart';\n\n// Props\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n },\n user: {\n type: String,\n },\n recommendation: {\n \ttype: String\n }\n})\n\n// Computed properties\nconst images = computed(() => {\n return props.product.images\n})\n\n\nconst tabProduct = ref('description')\n\n\nconst text = {\n\tmessages: {\n\t en: {\n\t \tairecommend: 'AI Recommends You',\n\t \tdescription: '',\n\t \taddtoorder: 'Add to order',\n\t fastorder: 'Fast Order'\n\t },\n\t ru: {\n\t \tairecommend: 'AI Рекомендует вам',\n\t \tdescription: '',\n\t \taddtoorder: 'Добавить в корзину',\n\t fastorder: 'Быстрый заказ'\n\t }\n\t}\n}\n\n// props.product.localization.forEach(localization => {\n\t// if (localization) text.messages[localization.locale].description = localization.text\n// })\n\n const { t } = useI18n(text)\n\n// Methods\nfunction validateToCard(product) {\n if (product.quantity > 0) {\n return false\n }\n return true\n}\n\nfunction addToCart(product) {\n\tif (shopcart.state.organization !== product.organization) {\n\t\tshopcart.state.positions = []\n\t\tshopcart.state.organization = product.organization\n\t}\n shopcart.actions.addProductToCart(product, product.organization)\n}\n</script>\n"],"names":["computed","ref","useI18n","shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8IA,UAAM,QAAQ;AAcd,UAAM,SAASA,IAAQ,SAAC,MAAM;AAC5B,aAAO,MAAM,QAAQ;AAAA,IACvB,CAAC;AAGD,UAAM,aAAaC,IAAG,IAAC,aAAa;AAGpC,UAAM,OAAO;AAAA,MACZ,UAAU;AAAA,QACR,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAMC,UAAM,EAAE,EAAC,IAAKC,QAAO,QAAC,IAAI;AAG3B,aAAS,eAAe,SAAS;AAC/B,UAAI,QAAQ,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACT;AAEA,aAAS,UAAU,SAAS;AAC3B,UAAIC,eAAe,iBAAiB,QAAQ,cAAc;AACzDA,iBAAc,MAAC,YAAY,CAAE;AAC7BA,uBAAe,eAAe,QAAQ;AAAA,MACtC;AACAC,eAAAA,QAAiB,iBAAiB,SAAS,QAAQ,YAAY;AAAA,IACjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { computed, ref, openBlock, createElementBlock, createElementVNode, createBlock, createCommentVNode, toDisplayString, unref, createVNode, Transition, withCtx, Fragment, renderList, createTextVNode } from "vue";
2
- import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
3
- import _sfc_main$2 from "../../../../components/Tab/Tab.vue.js";
2
+ import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$2 from "../../../../components/Tab/Tab.vue2.js";
4
4
  import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
5
5
  import Images360 from "../blocks/Images360.vue.js";
6
6
  import ImagesThumbnails from "../blocks/ImagesThumbnails.vue.js";
@@ -112,13 +112,13 @@ const _sfc_main = {
112
112
  images.value[0] && !__props.product.image3d ? (openBlock(), createElementBlock("img", {
113
113
  key: 1,
114
114
  loading: "lazy",
115
- class: "h-auto bg-light w-100",
115
+ class: "h-max bg-light w-100",
116
116
  style: { "object-fit": "contain" },
117
117
  src: (_ctx.FILE_SERVER_URL || "") + images.value[0]
118
118
  }, null, 8, _hoisted_4)) : createCommentVNode("", true),
119
119
  !images.value[0] && !__props.product.image3d ? (openBlock(), createBlock(PlaceholderImage, {
120
120
  key: 2,
121
- class: "h-100 w-100",
121
+ class: "h-max-20r h-100 w-100",
122
122
  style: { "object-fit": "cover" }
123
123
  })) : createCommentVNode("", true)
124
124
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"SectionProduct.vue.js","sources":["../../../../../../../src/modules/products/components/sections/SectionProduct.vue"],"sourcesContent":["<template>\n\t<div class=\"cols-2-1_2 pd-small w-100 gap-thin\">\n\t\t\n\t\t<div class=\"pd-small bg-light radius-big flex-nowrap flex-column flex pos-relative\">\n\t\t\t<div class=\"w-100 bg-light radius-semi o-hidden\">\n\t\t\t\t<!-- PRODUCT IMAGE -->\n\t\t\t\t<Images360\n\t\t\t\t\tv-if=\"product && product.image3d\"\n\t\t\t\t\tclass=\"h-100 w-100\"\n\t\t\t\t\t:imagePath=\"`/assets/images/products/${product.image3d}`\"\n\t\t\t\t\t:imageCount=\"36\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-auto bg-light w-100\"\n\t\t\t\t\tstyle=\"object-fit: contain;\"\n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + images[0]\"\n\t\t\t\t/>\n\n\t\t\t\t<PlaceholderImage\n\t\t\t\t\tv-if=\"!images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-100 w-100\"\n\t\t\t\t\tstyle=\"object-fit: cover;\"\n\t\t\t\t/>\n\n\t\t\t</div>\n\n\t\t\t<ImagesThumbnails\n\t\t\t\tv-if=\"images.length > 1\"\n\t\t\t\t:images=\"images\"\n\t\t\t\tclass=\"mn-t-thin\"\n\t\t\t/>\n\t\t</div>\n\n\t\t<div class=\"radius-big pos-relative w-100 h-100 flex-column flex-justify flex col\">\n\n\t\t<!-- <IconEdit\n\t\t\t@click=\"$router.push({\n\t\t\t\tname: 'ProductEdit', \n\t\t\t\tparams: {\n\t\t\t\t\t_id: product.organization,\n\t\t\t\t\tproduct: product._id\n\t\t\t\t}\n\t\t\t})\" \n\t\t\tclass=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t/> -->\n\n\t\t\t<h2 v-if=\"recommendation\" class=\"t-main t-semi p-big\">{{t('airecommend')}}</h2>\n\t\t\t<!-- Name -->\n\t\t\t<h1 class=\"w-100 h1-product mn-b-small\">{{ product.name }}</h1>\n\t\t\t<!-- Price -->\n\t\t\t<Price v-if=\"product.listing !== 'rent'\" :product=\"product\" size=\"big\" class=\"mn-b-semi\" />\n\t\t\t<!-- Modifications -->\n\t\t\t<!-- <div v-if=\"product.modifications.length > 0\" class=\"flex-nojustify flex\">\n\t\t\t\t<SelectElement v-if=\"sizes2.length > 0\" :elements=\"sizes2\" :selected=\"product.selectedSize\" class=\"mn-r-medium\" />\n\t\t\t</div> -->\n\t\t\t<!-- Description -->\n\t\t\t<h3 v-if=\"recommendation\" class=\"mn-b-semi\">\n\t\t\t\t{{ recommendation }}\n\t\t\t</h3>\n\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabProduct\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{name: 'Description', value: 'description'},\n\t\t\t\t\t{name: 'Specifications', value: 'specifications'}\n\t\t\t\t]\"\n\t\t\t\ttabClass=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t\tclass=\"bg-light mn-b-small\"\n\t\t\t/>\n\n\t\t\t<div class=\"h-min-5r pos-relative\">\n\t\t\t\t<transition name=\"slide-fade\">\n\n\t\t\t\t\t<div v-if=\"tabProduct === 'description'\" class=\"pd-medium radius-medium bg-light \">\n\t\t\t\t\t\t<p v-if=\"product.description && !product.localization < 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ product.description }}\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p v-if=\"product.localization && product.localization.length > 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ t('description') }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div \n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"cols-2 w-100 bg-light radius-medium pd-medium gap-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tv-if=\"product.information.length > 0\" \n\t\t\t\t\t\t\tv-for=\"information in product.information\" \n\t\t\t\t\t\t\tclass=\"w-100 pd-small radius-small bg-white product-information\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p class=\"t-demi\">{{ information.name }}</p>\n\t\t\t\t\t\t\t<p>{{ information.value }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\n\t\t\t<!-- Actions -->\n\t\t\t<div v-if=\"product.listing !== 'rent'\" class=\"max-w-33rem mobile-w-100 t-white gap-small cols-2\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"product.quantity > 0\"\n\t\t\t\t\t:submit=\"a => addToCart(product)\" \n\t\t\t\t\t:disabled=\"validateToCard(product)\" \n\t\t\t\t\t:text=\"{\n\t\t\t\t\t\tsuccess: ' ✔ Added',\n\t\t\t\t\t\terror: 'error'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"h-3r w-100 mn-r-small bg-main button\"\n\t\t\t\t> \n\t\t\t\t\t\t{{ t('addtoorder') }}\n\t\t\t\t</Button>\n\t\t\t\t<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\">\n\t\t\t\t\tOut of Stock\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\nimport Button from '@pf/src/components/Button/Button.vue'\nimport Tab from '@pf/src/components/Tab/Tab.vue'\nimport IconEdit from '@pf/src/modules/icons/navigation/IconEdit.vue'\nimport PlaceholderImage from '@pf/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nimport Images360 \tfrom '@pf/src/modules/products/components/blocks/Images360.vue'\nimport ImagesThumbnails from \"@pf/src/modules/products/components/blocks/ImagesThumbnails.vue\";\n\nimport THC from '@pf/src/modules/products/components/elements/THC.vue'\nimport Price from '@pf/src/modules/products/components/elements/Price.vue'\n// import SelectElement \tfrom '@/components/elements/SelectElement.vue'\n\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport * as shopcart from '@pf/src/modules/orders/store/shopcart';\n\n// Props\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n },\n user: {\n type: String,\n },\n recommendation: {\n \ttype: String\n }\n})\n\n// Computed properties\nconst images = computed(() => {\n return props.product.images\n})\n\n\nconst tabProduct = ref('description')\n\n\nconst text = {\n\tmessages: {\n\t en: {\n\t \tairecommend: 'AI Recommends You',\n\t \tdescription: '',\n\t \taddtoorder: 'Add to order',\n\t fastorder: 'Fast Order'\n\t },\n\t ru: {\n\t \tairecommend: 'AI Рекомендует вам',\n\t \tdescription: '',\n\t \taddtoorder: 'Добавить в корзину',\n\t fastorder: 'Быстрый заказ'\n\t }\n\t}\n}\n\n// props.product.localization.forEach(localization => {\n\t// if (localization) text.messages[localization.locale].description = localization.text\n// })\n\n const { t } = useI18n(text)\n\n// Methods\nfunction validateToCard(product) {\n if (product.quantity > 0) {\n return false\n }\n return true\n}\n\nfunction addToCart(product) {\n\tif (shopcart.state.organization !== product.organization) {\n\t\tshopcart.state.positions = []\n\t\tshopcart.state.organization = product.organization\n\t}\n shopcart.actions.addProductToCart(product, product.organization)\n}\n</script>\n"],"names":["shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8IA,UAAM,QAAQ;AAcd,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAO,MAAM,QAAQ;AAAA,IACvB,CAAC;AAGD,UAAM,aAAa,IAAI,aAAa;AAGpC,UAAM,OAAO;AAAA,MACZ,UAAU;AAAA,QACR,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAMC,UAAM,EAAE,EAAC,IAAK,QAAQ,IAAI;AAG3B,aAAS,eAAe,SAAS;AAC/B,UAAI,QAAQ,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACT;AAEA,aAAS,UAAU,SAAS;AAC3B,UAAIA,MAAe,iBAAiB,QAAQ,cAAc;AACzDA,cAAe,YAAY,CAAE;AAC7BA,cAAe,eAAe,QAAQ;AAAA,MACtC;AACAC,cAAiB,iBAAiB,SAAS,QAAQ,YAAY;AAAA,IACjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SectionProduct.vue.js","sources":["../../../../../../../src/modules/products/components/sections/SectionProduct.vue"],"sourcesContent":["<template>\n\t<div class=\"cols-2-1_2 pd-small w-100 gap-thin\">\n\t\t\n\t\t<div class=\"pd-small bg-light radius-big flex-nowrap flex-column flex pos-relative\">\n\t\t\t<div class=\"w-100 bg-light radius-semi o-hidden\">\n\t\t\t\t<!-- PRODUCT IMAGE -->\n\t\t\t\t<Images360\n\t\t\t\t\tv-if=\"product && product.image3d\"\n\t\t\t\t\tclass=\"h-100 w-100\"\n\t\t\t\t\t:imagePath=\"`/assets/images/products/${product.image3d}`\"\n\t\t\t\t\t:imageCount=\"36\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-max bg-light w-100\"\n\t\t\t\t\tstyle=\"object-fit: contain;\"\n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + images[0]\"\n\t\t\t\t/>\n\n\t\t\t\t<PlaceholderImage\n\t\t\t\t\tv-if=\"!images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-max-20r h-100 w-100\"\n\t\t\t\t\tstyle=\"object-fit: cover;\"\n\t\t\t\t/>\n\n\t\t\t</div>\n\n\t\t\t<ImagesThumbnails\n\t\t\t\tv-if=\"images.length > 1\"\n\t\t\t\t:images=\"images\"\n\t\t\t\tclass=\"mn-t-thin\"\n\t\t\t/>\n\t\t</div>\n\n\t\t<div class=\"radius-big pos-relative w-100 h-100 flex-column flex-justify flex col\">\n\n\t\t<!-- <IconEdit\n\t\t\t@click=\"$router.push({\n\t\t\t\tname: 'ProductEdit', \n\t\t\t\tparams: {\n\t\t\t\t\t_id: product.organization,\n\t\t\t\t\tproduct: product._id\n\t\t\t\t}\n\t\t\t})\" \n\t\t\tclass=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t/> -->\n\n\t\t\t<h2 v-if=\"recommendation\" class=\"t-main t-semi p-big\">{{t('airecommend')}}</h2>\n\t\t\t<!-- Name -->\n\t\t\t<h1 class=\"w-100 h1-product mn-b-small\">{{ product.name }}</h1>\n\t\t\t<!-- Price -->\n\t\t\t<Price v-if=\"product.listing !== 'rent'\" :product=\"product\" size=\"big\" class=\"mn-b-semi\" />\n\t\t\t<!-- Modifications -->\n\t\t\t<!-- <div v-if=\"product.modifications.length > 0\" class=\"flex-nojustify flex\">\n\t\t\t\t<SelectElement v-if=\"sizes2.length > 0\" :elements=\"sizes2\" :selected=\"product.selectedSize\" class=\"mn-r-medium\" />\n\t\t\t</div> -->\n\t\t\t<!-- Description -->\n\t\t\t<h3 v-if=\"recommendation\" class=\"mn-b-semi\">\n\t\t\t\t{{ recommendation }}\n\t\t\t</h3>\n\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabProduct\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{name: 'Description', value: 'description'},\n\t\t\t\t\t{name: 'Specifications', value: 'specifications'}\n\t\t\t\t]\"\n\t\t\t\ttabClass=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t\tclass=\"bg-light mn-b-small\"\n\t\t\t/>\n\n\t\t\t<div class=\"h-min-5r pos-relative\">\n\t\t\t\t<transition name=\"slide-fade\">\n\n\t\t\t\t\t<div v-if=\"tabProduct === 'description'\" class=\"pd-medium radius-medium bg-light \">\n\t\t\t\t\t\t<p v-if=\"product.description && !product.localization < 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ product.description }}\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p v-if=\"product.localization && product.localization.length > 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ t('description') }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div \n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"cols-2 w-100 bg-light radius-medium pd-medium gap-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tv-if=\"product.information.length > 0\" \n\t\t\t\t\t\t\tv-for=\"information in product.information\" \n\t\t\t\t\t\t\tclass=\"w-100 pd-small radius-small bg-white product-information\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p class=\"t-demi\">{{ information.name }}</p>\n\t\t\t\t\t\t\t<p>{{ information.value }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\n\t\t\t<!-- Actions -->\n\t\t\t<div v-if=\"product.listing !== 'rent'\" class=\"max-w-33rem mobile-w-100 t-white gap-small cols-2\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"product.quantity > 0\"\n\t\t\t\t\t:submit=\"a => addToCart(product)\" \n\t\t\t\t\t:disabled=\"validateToCard(product)\" \n\t\t\t\t\t:text=\"{\n\t\t\t\t\t\tsuccess: ' ✔ Added',\n\t\t\t\t\t\terror: 'error'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"h-3r w-100 mn-r-small bg-main button\"\n\t\t\t\t> \n\t\t\t\t\t\t{{ t('addtoorder') }}\n\t\t\t\t</Button>\n\t\t\t\t<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\">\n\t\t\t\t\tOut of Stock\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\nimport Button from '@pf/src/components/Button/Button.vue'\nimport Tab from '@pf/src/components/Tab/Tab.vue'\nimport IconEdit from '@pf/src/modules/icons/navigation/IconEdit.vue'\nimport PlaceholderImage from '@pf/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nimport Images360 \tfrom '@pf/src/modules/products/components/blocks/Images360.vue'\nimport ImagesThumbnails from \"@pf/src/modules/products/components/blocks/ImagesThumbnails.vue\";\n\nimport THC from '@pf/src/modules/products/components/elements/THC.vue'\nimport Price from '@pf/src/modules/products/components/elements/Price.vue'\n// import SelectElement \tfrom '@/components/elements/SelectElement.vue'\n\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport * as shopcart from '@pf/src/modules/orders/store/shopcart';\n\n// Props\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n },\n user: {\n type: String,\n },\n recommendation: {\n \ttype: String\n }\n})\n\n// Computed properties\nconst images = computed(() => {\n return props.product.images\n})\n\n\nconst tabProduct = ref('description')\n\n\nconst text = {\n\tmessages: {\n\t en: {\n\t \tairecommend: 'AI Recommends You',\n\t \tdescription: '',\n\t \taddtoorder: 'Add to order',\n\t fastorder: 'Fast Order'\n\t },\n\t ru: {\n\t \tairecommend: 'AI Рекомендует вам',\n\t \tdescription: '',\n\t \taddtoorder: 'Добавить в корзину',\n\t fastorder: 'Быстрый заказ'\n\t }\n\t}\n}\n\n// props.product.localization.forEach(localization => {\n\t// if (localization) text.messages[localization.locale].description = localization.text\n// })\n\n const { t } = useI18n(text)\n\n// Methods\nfunction validateToCard(product) {\n if (product.quantity > 0) {\n return false\n }\n return true\n}\n\nfunction addToCart(product) {\n\tif (shopcart.state.organization !== product.organization) {\n\t\tshopcart.state.positions = []\n\t\tshopcart.state.organization = product.organization\n\t}\n shopcart.actions.addProductToCart(product, product.organization)\n}\n</script>\n"],"names":["shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8IA,UAAM,QAAQ;AAcd,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAO,MAAM,QAAQ;AAAA,IACvB,CAAC;AAGD,UAAM,aAAa,IAAI,aAAa;AAGpC,UAAM,OAAO;AAAA,MACZ,UAAU;AAAA,QACR,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAMC,UAAM,EAAE,EAAC,IAAK,QAAQ,IAAI;AAG3B,aAAS,eAAe,SAAS;AAC/B,UAAI,QAAQ,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACT;AAEA,aAAS,UAAU,SAAS;AAC3B,UAAIA,MAAe,iBAAiB,QAAQ,cAAc;AACzDA,cAAe,YAAY,CAAE;AAC7BA,cAAe,eAAe,QAAQ;AAAA,MACtC;AACAC,cAAiB,iBAAiB,SAAS,QAAQ,YAAY;AAAA,IACjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Popup = require("../../../../components/Popup/Popup.vue2.cjs");
5
- const Button = require("../../../../components/Button/Button.vue2.cjs");
4
+ const Popup = require("../../../../components/Popup/Popup.vue.cjs");
5
+ const Button = require("../../../../components/Button/Button.vue.cjs");
6
6
  const Select = require("../../../../components/Select/Select.vue.cjs");
7
7
  const reports = require("../../store/reports.cjs");
8
8
  const _sfc_main = {
@@ -1,6 +1,6 @@
1
1
  import { reactive, ref, openBlock, createElementBlock, renderSlot, createVNode, withCtx, createElementVNode, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../components/Popup/Popup.vue2.js";
3
- import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
2
+ import _sfc_main$1 from "../../../../components/Popup/Popup.vue.js";
3
+ import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
4
4
  import Select from "../../../../components/Select/Select.vue.js";
5
5
  import { actions } from "../../store/reports.js";
6
6
  const _sfc_main = {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
5
- const Chips = require("../../../../components/Chips/Chips.vue.cjs");
5
+ const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
6
6
  const Map = require("../../../../components/Map/Map.vue.cjs");
7
7
  ;/* empty css */
8
8
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
@@ -1,6 +1,6 @@
1
1
  import { openBlock, createElementBlock, createVNode, createElementVNode, toDisplayString, createBlock, createCommentVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
3
- import _sfc_main$2 from "../../../../components/Chips/Chips.vue.js";
3
+ import _sfc_main$2 from "../../../../components/Chips/Chips.vue2.js";
4
4
  import Map from "../../../../components/Map/Map.vue.js";
5
5
  /* empty css */
6
6
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -6,7 +6,7 @@ const vueI18n = require("vue-i18n");
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
8
  ;/* empty css */
9
- ;/* empty css */
9
+ ;/* empty css */
10
10
  const globals = require("../../../globals/views/store/globals.cjs");
11
11
  const categories = require("../../../products/store/categories.cjs");
12
12
  const marketplace = require("../../../products/store/marketplace.cjs");
@@ -49,7 +49,7 @@ const _sfc_main = {
49
49
  };
50
50
  marketplace.state.filter.selected = newFilterValue;
51
51
  }
52
- await categories.actions.fetchCategories();
52
+ await categories.actions.read();
53
53
  });
54
54
  vue.watch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {
55
55
  const query = { ...route.query };
@@ -1 +1 @@
1
- {"version":3,"file":"Spots.vue.cjs","sources":["../../../../../../../src/modules/spots/components/layouts/Spots.vue"],"sourcesContent":["<template>\n\t<div class=\"w-100 h-100\">\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"h-100 w-100 flex-nowrap flex-column flex gap-thin\">\n\n\t\t\t\t<!-- Sorting section -->\n\t\t\t\t<div class=\"pos-absolute z-index-2 w-100\">\n\t \t<h2 class=\"bg-black-transp-25 t-white pd-small w-100 bg-blur-big mn-l-auto mn-r-auto t-center\">\n\t \t\t<span class=\"\">Weed in </span>\n\n\t \t\t<span @click=\"a => { globals.state.isOpenLocationPopup = true }\" v-if=\"localPosition.city || localPosition.state || localPosition.country\" class=\"t-semi t-main\">\n \t\t\t\t<span v-if=\"localPosition.city\">{{localPosition.city}}, </span>\n \t\t\t\t<span v-if=\"localPosition.state\">{{localPosition.state}}, </span>\n \t\t\t\t<span v-if=\"localPosition.country\">{{localPosition.country}}</span>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"t-semi t-main\">\n\t\t\t\t\t\t\t\tThe World\n\t \t\t</span>\n\t \t</h2>\n\t\t\t\t\t</div>\n\n\n\t\t\t\t<!-- <Filters/> -->\n\n\t\t\t\t<!-- Products section -->\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component \n\t\t\t\t\t\t\tref=\"page\" \n\t\t\t\t\t\t\t:key=\"route.path\" \n\t\t\t\t\t\t\t:localPosition=\"localPosition\" \n\t\t\t\t\t\t\t:is=\"Component\"\n\t\t\t\t\t\t\t:apiKey=\"GOOGLE_MAPS_API_KEY\" \n \t\t\t\t:locale=\"$i18n.locale\"\n\t\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, watchEffect, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n // Prometheus\n\timport Spoiler from \"@pf/src/components/Spoiler/Spoiler.vue\";\n \timport Checkbox from \"@pf/src/components/Checkbox/Checkbox.vue\";\n \timport Field from \"@pf/src/components/Field/Field.vue\";\n \t// Partials\n\timport Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'\n \timport Dropdown from \"@pf/src/components/Dropdown/Dropdown.vue\";\n\n \t// import Filters from '@pf/src/modules/marketplace/components/sections/Filters.vue'\n\n\n\timport * as globals from '@pf/src/modules/globals/views/store/globals';\n\timport * as categories from '@pf/src/modules/products/store/categories';\n\timport * as marketplace from '@pf/src/modules/products/store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tonMounted(async () => {\n\t if (route.params) {\n\t // Загружаем новые значения из параметров маршрута в состояние\n\t let newState = {\n\t country: denormalizeUrlParam(route.params.country),\n\t state: denormalizeUrlParam(route.params.state),\n\t city: denormalizeUrlParam(route.params.city),\n\t };\n\n\t\t // Обновляем глобальное состояние\n\t\t localPosition.value = newState;\n\t\t}\n\n\t\tif (route.query) {\n\t\t const query = route.query;\n\t\t const newFilterValue = {\n\t\t categories: query.categories ? query.categories.split(',') : [],\n\t\t prices: query.prices ? query.prices.split(',') : [],\n\t\t delivery: query.delivery ? query.delivery.split(',') : [],\n\t\t // Продолжайте этот паттерн для остальных полей фильтра\n\t\t };\n\t\t marketplace.state.filter.selected = newFilterValue;\n\t\t}\n\n\n\t\t// Data fetching\n\t\tawait categories.actions.fetchCategories()\n\t})\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.push({ query });\n\t}, { deep: true })\n\n\t\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase() // Преобразование всех символов в нижний регистр\n\t .replace(/ /g, '-') // Замена всех пробелов на дефисы\n\t .replace(/[^a-z0-9-]/g, ''); // Удаление всех символов, которые не являются буквами, цифрами или дефисами\n\t}\n\n\twatch(() => globals.state.position, (newPosition) => {\n\t // get the current route\n\t const currentRoute = { ...router.currentRoute.value };\n\t \n\t // create new parameters based on globals state position\n\t let newParams = {\n\t country: normalizeUrlParam(newPosition.country),\n\t state: normalizeUrlParam(newPosition.state),\n\t city: normalizeUrlParam(newPosition.city),\n\t };\n\t \t\n\t // update route params\n\t currentRoute.params = newParams;\n\t \n\t // replace the current route\n\t router.replace(currentRoute);\n\t}, { deep: true });\n\t\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Home',\n \t\tstore: 'Marketplace',\n \t},\n \tcategoriesTitle: 'Category',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'By price',\n \t\tnewest: 'By newest',\n \t\tpopularity: 'By popularity'\n \t},\n \tfilters: {\n \t\ttitle: 'Filters',\n \t\tprice: {\n \t\t\ttitle: 'Price',\n \t\t\tfrom: 'From',\n \t\t\tto: 'To'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Reset Filters'\n \t}\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Главная',\n \t\tstore: 'Маркетплейс',\n \t},\n \tcategoriesTitle: 'Категория',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'По цене',\n \t\tnewest: 'По новизне',\n \t\tpopularity: 'По популярности'\n \t},\n \tfilters: {\n \t\ttitle: 'Фильтры',\n \t\tprice: {\n \t\t\ttitle: 'Цена',\n \t\t\tfrom: 'От',\n \t\t\tto: 'До'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Сбросить фильтры',\n \t}\n }\n }\n }\n\n \tcategories.state.all.forEach( category => {\n \tcategory.localization.forEach( localization => {\n \ttext.messages[localization.locale].categories.push(localization.text)\n \t})\n\t})\n\n \tconst { t } = useI18n(text)\n\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","onMounted","marketplace.state","categories.actions","watch","globals.state","categories.state","useI18n"],"mappings":"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"}
1
+ {"version":3,"file":"Spots.vue.cjs","sources":["../../../../../../../src/modules/spots/components/layouts/Spots.vue"],"sourcesContent":["<template>\n\t<div class=\"w-100 h-100\">\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"h-100 w-100 flex-nowrap flex-column flex gap-thin\">\n\n\t\t\t\t<!-- Sorting section -->\n\t\t\t\t<div class=\"pos-absolute z-index-2 w-100\">\n\t \t<h2 class=\"bg-black-transp-25 t-white pd-small w-100 bg-blur-big mn-l-auto mn-r-auto t-center\">\n\t \t\t<span class=\"\">Weed in </span>\n\n\t \t\t<span @click=\"a => { globals.state.isOpenLocationPopup = true }\" v-if=\"localPosition.city || localPosition.state || localPosition.country\" class=\"t-semi t-main\">\n \t\t\t\t<span v-if=\"localPosition.city\">{{localPosition.city}}, </span>\n \t\t\t\t<span v-if=\"localPosition.state\">{{localPosition.state}}, </span>\n \t\t\t\t<span v-if=\"localPosition.country\">{{localPosition.country}}</span>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"t-semi t-main\">\n\t\t\t\t\t\t\t\tThe World\n\t \t\t</span>\n\t \t</h2>\n\t\t\t\t\t</div>\n\n\n\t\t\t\t<!-- <Filters/> -->\n\n\t\t\t\t<!-- Products section -->\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component \n\t\t\t\t\t\t\tref=\"page\" \n\t\t\t\t\t\t\t:key=\"route.path\" \n\t\t\t\t\t\t\t:localPosition=\"localPosition\" \n\t\t\t\t\t\t\t:is=\"Component\"\n\t\t\t\t\t\t\t:apiKey=\"GOOGLE_MAPS_API_KEY\" \n \t\t\t\t:locale=\"$i18n.locale\"\n\t\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, watchEffect, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n // Prometheus\n\timport Spoiler from \"@pf/src/components/Spoiler/Spoiler.vue\";\n \timport Checkbox from \"@pf/src/components/Checkbox/Checkbox.vue\";\n \timport Field from \"@pf/src/components/Field/Field.vue\";\n \t// Partials\n\timport Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'\n \timport Dropdown from \"@pf/src/components/Dropdown/Dropdown.vue\";\n\n \t// import Filters from '@pf/src/modules/marketplace/components/sections/Filters.vue'\n\n\n\timport * as globals from '@pf/src/modules/globals/views/store/globals';\n\timport * as categories from '@pf/src/modules/products/store/categories';\n\timport * as marketplace from '@pf/src/modules/products/store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tonMounted(async () => {\n\t if (route.params) {\n\t // Загружаем новые значения из параметров маршрута в состояние\n\t let newState = {\n\t country: denormalizeUrlParam(route.params.country),\n\t state: denormalizeUrlParam(route.params.state),\n\t city: denormalizeUrlParam(route.params.city),\n\t };\n\n\t\t // Обновляем глобальное состояние\n\t\t localPosition.value = newState;\n\t\t}\n\n\t\tif (route.query) {\n\t\t const query = route.query;\n\t\t const newFilterValue = {\n\t\t categories: query.categories ? query.categories.split(',') : [],\n\t\t prices: query.prices ? query.prices.split(',') : [],\n\t\t delivery: query.delivery ? query.delivery.split(',') : [],\n\t\t // Продолжайте этот паттерн для остальных полей фильтра\n\t\t };\n\t\t marketplace.state.filter.selected = newFilterValue;\n\t\t}\n\n\n\t\t// Data fetching\n\t\tawait categories.actions.read()\n\t})\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.push({ query });\n\t}, { deep: true })\n\n\t\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase() // Преобразование всех символов в нижний регистр\n\t .replace(/ /g, '-') // Замена всех пробелов на дефисы\n\t .replace(/[^a-z0-9-]/g, ''); // Удаление всех символов, которые не являются буквами, цифрами или дефисами\n\t}\n\n\twatch(() => globals.state.position, (newPosition) => {\n\t // get the current route\n\t const currentRoute = { ...router.currentRoute.value };\n\t \n\t // create new parameters based on globals state position\n\t let newParams = {\n\t country: normalizeUrlParam(newPosition.country),\n\t state: normalizeUrlParam(newPosition.state),\n\t city: normalizeUrlParam(newPosition.city),\n\t };\n\t \t\n\t // update route params\n\t currentRoute.params = newParams;\n\t \n\t // replace the current route\n\t router.replace(currentRoute);\n\t}, { deep: true });\n\t\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Home',\n \t\tstore: 'Marketplace',\n \t},\n \tcategoriesTitle: 'Category',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'By price',\n \t\tnewest: 'By newest',\n \t\tpopularity: 'By popularity'\n \t},\n \tfilters: {\n \t\ttitle: 'Filters',\n \t\tprice: {\n \t\t\ttitle: 'Price',\n \t\t\tfrom: 'From',\n \t\t\tto: 'To'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Reset Filters'\n \t}\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Главная',\n \t\tstore: 'Маркетплейс',\n \t},\n \tcategoriesTitle: 'Категория',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'По цене',\n \t\tnewest: 'По новизне',\n \t\tpopularity: 'По популярности'\n \t},\n \tfilters: {\n \t\ttitle: 'Фильтры',\n \t\tprice: {\n \t\t\ttitle: 'Цена',\n \t\t\tfrom: 'От',\n \t\t\tto: 'До'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Сбросить фильтры',\n \t}\n }\n }\n }\n\n \tcategories.state.all.forEach( category => {\n \tcategory.localization.forEach( localization => {\n \ttext.messages[localization.locale].categories.push(localization.text)\n \t})\n\t})\n\n \tconst { t } = useI18n(text)\n\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","onMounted","marketplace.state","categories.actions","watch","globals.state","categories.state","useI18n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAkEC,UAAM,QAAQA,UAAAA,SAAU;AACxB,UAAM,SAASC,UAAAA,UAAW;AAE1B,UAAM,gBAAgBC,IAAAA,IAAI;AAAA,MACzB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IACX,CAAE;AAGD,aAAS,oBAAoB,OAAO;AAClC,aAAO,MACJ,QAAQ,MAAM,GAAG,EACjB,QAAQ,SAAS,OAAK,EAAE,YAAa,CAAA;AAAA,IACzC;AAEDC,QAAAA,UAAU,YAAY;AACpB,UAAI,MAAM,QAAQ;AAEhB,YAAI,WAAW;AAAA,UACb,SAAS,oBAAoB,MAAM,OAAO,OAAO;AAAA,UACjD,OAAO,oBAAoB,MAAM,OAAO,KAAK;AAAA,UAC7C,MAAM,oBAAoB,MAAM,OAAO,IAAI;AAAA,QAClD;AAGI,sBAAc,QAAQ;AAAA,MACvB;AAED,UAAI,MAAM,OAAO;AAChB,cAAM,QAAQ,MAAM;AACnB,cAAM,iBAAiB;AAAA,UACrB,YAAY,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG,IAAI,CAAE;AAAA,UAC/D,QAAQ,MAAM,SAAS,MAAM,OAAO,MAAM,GAAG,IAAI,CAAE;AAAA,UACnD,UAAU,MAAM,WAAW,MAAM,SAAS,MAAM,GAAG,IAAI,CAAE;AAAA;AAAA,QAE/D;AACIC,0BAAkB,OAAO,WAAW;AAAA,MACrC;AAID,YAAMC,WAAAA,QAAmB,KAAM;AAAA,IACjC,CAAE;AAEDC,QAAK,MAAC,MAAMF,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,MACN,CAAI;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,MACpD;AACG,aAAO,OAAO,OAAO,cAAc;AAGnC,aAAO,KAAK,EAAE,MAAK,CAAE;AAAA,IACxB,GAAI,EAAE,MAAM,MAAM;AAGjB,aAAS,kBAAkB,OAAO;AAChC,aAAO,MACJ,YAAa,EACb,QAAQ,MAAM,GAAG,EACjB,QAAQ,eAAe,EAAE;AAAA,IAC7B;AAEDE,QAAAA,MAAM,MAAMC,QAAAA,MAAc,UAAU,CAAC,gBAAgB;AAEnD,YAAM,eAAe,EAAE,GAAG,OAAO,aAAa,MAAK;AAGnD,UAAI,YAAY;AAAA,QACd,SAAS,kBAAkB,YAAY,OAAO;AAAA,QAC9C,OAAO,kBAAkB,YAAY,KAAK;AAAA,QAC1C,MAAM,kBAAkB,YAAY,IAAI;AAAA,MAC7C;AAGG,mBAAa,SAAS;AAGtB,aAAO,QAAQ,YAAY;AAAA,IAC9B,GAAI,EAAE,MAAM,KAAI,CAAE;AAEhB,UAAM,OAAO;AAAA,MACX,QAAQ;AAAA,MACR,UAAU;AAAA,QACR,IAAI;AAAA,UACH,MAAM;AAAA,YACH,OAAO;AAAA,YACP,aAAa;AAAA,UACd;AAAA,UACF,aAAa;AAAA,YACZ,MAAM;AAAA,YACN,OAAO;AAAA,UACP;AAAA,UACD,iBAAiB;AAAA,UACjB,YAAY,CAAE;AAAA,UACd,MAAM;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,YAAY;AAAA,UACZ;AAAA,UACD,SAAS;AAAA,YACR,OAAO;AAAA,YACP,OAAO;AAAA,cACN,OAAO;AAAA,cACP,MAAM;AAAA,cACN,IAAI;AAAA,YACJ;AAAA,YACD,SAAS,CAAE;AAAA,YACX,OAAO;AAAA,UACP;AAAA,QACD;AAAA,QACD,IAAI;AAAA,UACH,MAAM;AAAA,YACH,OAAO;AAAA,YACP,aAAa;AAAA,UACd;AAAA,UACF,aAAa;AAAA,YACZ,MAAM;AAAA,YACN,OAAO;AAAA,UACP;AAAA,UACD,iBAAiB;AAAA,UACjB,YAAY,CAAE;AAAA,UACd,MAAM;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,YAAY;AAAA,UACZ;AAAA,UACD,SAAS;AAAA,YACR,OAAO;AAAA,YACP,OAAO;AAAA,cACN,OAAO;AAAA,cACP,MAAM;AAAA,cACN,IAAI;AAAA,YACJ;AAAA,YACD,SAAS,CAAE;AAAA,YACX,OAAO;AAAA,UACP;AAAA,QACD;AAAA,MACF;AAAA,IACF;AAEDC,qBAAiB,IAAI,QAAS,cAAY;AACzC,eAAS,aAAa,QAAS,kBAAgB;AAC7C,aAAK,SAAS,aAAa,MAAM,EAAE,WAAW,KAAK,aAAa,IAAI;AAAA,MACzE,CAAI;AAAA,IACJ,CAAE;AAEcC,YAAAA,QAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ import { useI18n } from "vue-i18n";
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  /* empty css */
7
- /* empty css */
7
+ /* empty css */
8
8
  import { state as state$1 } from "../../../globals/views/store/globals.js";
9
9
  import { actions, state as state$2 } from "../../../products/store/categories.js";
10
10
  import { state } from "../../../products/store/marketplace.js";
@@ -47,7 +47,7 @@ const _sfc_main = {
47
47
  };
48
48
  state.filter.selected = newFilterValue;
49
49
  }
50
- await actions.fetchCategories();
50
+ await actions.read();
51
51
  });
52
52
  watch(() => state.filter.selected, (newFilterValue, oldFilterValue) => {
53
53
  const query = { ...route.query };
@@ -1 +1 @@
1
- {"version":3,"file":"Spots.vue.js","sources":["../../../../../../../src/modules/spots/components/layouts/Spots.vue"],"sourcesContent":["<template>\n\t<div class=\"w-100 h-100\">\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"h-100 w-100 flex-nowrap flex-column flex gap-thin\">\n\n\t\t\t\t<!-- Sorting section -->\n\t\t\t\t<div class=\"pos-absolute z-index-2 w-100\">\n\t \t<h2 class=\"bg-black-transp-25 t-white pd-small w-100 bg-blur-big mn-l-auto mn-r-auto t-center\">\n\t \t\t<span class=\"\">Weed in </span>\n\n\t \t\t<span @click=\"a => { globals.state.isOpenLocationPopup = true }\" v-if=\"localPosition.city || localPosition.state || localPosition.country\" class=\"t-semi t-main\">\n \t\t\t\t<span v-if=\"localPosition.city\">{{localPosition.city}}, </span>\n \t\t\t\t<span v-if=\"localPosition.state\">{{localPosition.state}}, </span>\n \t\t\t\t<span v-if=\"localPosition.country\">{{localPosition.country}}</span>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"t-semi t-main\">\n\t\t\t\t\t\t\t\tThe World\n\t \t\t</span>\n\t \t</h2>\n\t\t\t\t\t</div>\n\n\n\t\t\t\t<!-- <Filters/> -->\n\n\t\t\t\t<!-- Products section -->\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component \n\t\t\t\t\t\t\tref=\"page\" \n\t\t\t\t\t\t\t:key=\"route.path\" \n\t\t\t\t\t\t\t:localPosition=\"localPosition\" \n\t\t\t\t\t\t\t:is=\"Component\"\n\t\t\t\t\t\t\t:apiKey=\"GOOGLE_MAPS_API_KEY\" \n \t\t\t\t:locale=\"$i18n.locale\"\n\t\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, watchEffect, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n // Prometheus\n\timport Spoiler from \"@pf/src/components/Spoiler/Spoiler.vue\";\n \timport Checkbox from \"@pf/src/components/Checkbox/Checkbox.vue\";\n \timport Field from \"@pf/src/components/Field/Field.vue\";\n \t// Partials\n\timport Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'\n \timport Dropdown from \"@pf/src/components/Dropdown/Dropdown.vue\";\n\n \t// import Filters from '@pf/src/modules/marketplace/components/sections/Filters.vue'\n\n\n\timport * as globals from '@pf/src/modules/globals/views/store/globals';\n\timport * as categories from '@pf/src/modules/products/store/categories';\n\timport * as marketplace from '@pf/src/modules/products/store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tonMounted(async () => {\n\t if (route.params) {\n\t // Загружаем новые значения из параметров маршрута в состояние\n\t let newState = {\n\t country: denormalizeUrlParam(route.params.country),\n\t state: denormalizeUrlParam(route.params.state),\n\t city: denormalizeUrlParam(route.params.city),\n\t };\n\n\t\t // Обновляем глобальное состояние\n\t\t localPosition.value = newState;\n\t\t}\n\n\t\tif (route.query) {\n\t\t const query = route.query;\n\t\t const newFilterValue = {\n\t\t categories: query.categories ? query.categories.split(',') : [],\n\t\t prices: query.prices ? query.prices.split(',') : [],\n\t\t delivery: query.delivery ? query.delivery.split(',') : [],\n\t\t // Продолжайте этот паттерн для остальных полей фильтра\n\t\t };\n\t\t marketplace.state.filter.selected = newFilterValue;\n\t\t}\n\n\n\t\t// Data fetching\n\t\tawait categories.actions.fetchCategories()\n\t})\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.push({ query });\n\t}, { deep: true })\n\n\t\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase() // Преобразование всех символов в нижний регистр\n\t .replace(/ /g, '-') // Замена всех пробелов на дефисы\n\t .replace(/[^a-z0-9-]/g, ''); // Удаление всех символов, которые не являются буквами, цифрами или дефисами\n\t}\n\n\twatch(() => globals.state.position, (newPosition) => {\n\t // get the current route\n\t const currentRoute = { ...router.currentRoute.value };\n\t \n\t // create new parameters based on globals state position\n\t let newParams = {\n\t country: normalizeUrlParam(newPosition.country),\n\t state: normalizeUrlParam(newPosition.state),\n\t city: normalizeUrlParam(newPosition.city),\n\t };\n\t \t\n\t // update route params\n\t currentRoute.params = newParams;\n\t \n\t // replace the current route\n\t router.replace(currentRoute);\n\t}, { deep: true });\n\t\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Home',\n \t\tstore: 'Marketplace',\n \t},\n \tcategoriesTitle: 'Category',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'By price',\n \t\tnewest: 'By newest',\n \t\tpopularity: 'By popularity'\n \t},\n \tfilters: {\n \t\ttitle: 'Filters',\n \t\tprice: {\n \t\t\ttitle: 'Price',\n \t\t\tfrom: 'From',\n \t\t\tto: 'To'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Reset Filters'\n \t}\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Главная',\n \t\tstore: 'Маркетплейс',\n \t},\n \tcategoriesTitle: 'Категория',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'По цене',\n \t\tnewest: 'По новизне',\n \t\tpopularity: 'По популярности'\n \t},\n \tfilters: {\n \t\ttitle: 'Фильтры',\n \t\tprice: {\n \t\t\ttitle: 'Цена',\n \t\t\tfrom: 'От',\n \t\t\tto: 'До'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Сбросить фильтры',\n \t}\n }\n }\n }\n\n \tcategories.state.all.forEach( category => {\n \tcategory.localization.forEach( localization => {\n \ttext.messages[localization.locale].categories.push(localization.text)\n \t})\n\t})\n\n \tconst { t } = useI18n(text)\n\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","categories.actions","globals.state","categories.state"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkEC,UAAM,QAAQ,SAAU;AACxB,UAAM,SAAS,UAAW;AAE1B,UAAM,gBAAgB,IAAI;AAAA,MACzB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IACX,CAAE;AAGD,aAAS,oBAAoB,OAAO;AAClC,aAAO,MACJ,QAAQ,MAAM,GAAG,EACjB,QAAQ,SAAS,OAAK,EAAE,YAAa,CAAA;AAAA,IACzC;AAED,cAAU,YAAY;AACpB,UAAI,MAAM,QAAQ;AAEhB,YAAI,WAAW;AAAA,UACb,SAAS,oBAAoB,MAAM,OAAO,OAAO;AAAA,UACjD,OAAO,oBAAoB,MAAM,OAAO,KAAK;AAAA,UAC7C,MAAM,oBAAoB,MAAM,OAAO,IAAI;AAAA,QAClD;AAGI,sBAAc,QAAQ;AAAA,MACvB;AAED,UAAI,MAAM,OAAO;AAChB,cAAM,QAAQ,MAAM;AACnB,cAAM,iBAAiB;AAAA,UACrB,YAAY,MAAM,aAAa,MAAM,WAAW,MAAM,GAAG,IAAI,CAAE;AAAA,UAC/D,QAAQ,MAAM,SAAS,MAAM,OAAO,MAAM,GAAG,IAAI,CAAE;AAAA,UACnD,UAAU,MAAM,WAAW,MAAM,SAAS,MAAM,GAAG,IAAI,CAAE;AAAA;AAAA,QAE/D;AACIA,cAAkB,OAAO,WAAW;AAAA,MACrC;AAID,YAAMC,QAAmB,gBAAiB;AAAA,IAC5C,CAAE;AAED,UAAM,MAAMD,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,MACN,CAAI;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,MACpD;AACG,aAAO,OAAO,OAAO,cAAc;AAGnC,aAAO,KAAK,EAAE,MAAK,CAAE;AAAA,IACxB,GAAI,EAAE,MAAM,MAAM;AAGjB,aAAS,kBAAkB,OAAO;AAChC,aAAO,MACJ,YAAa,EACb,QAAQ,MAAM,GAAG,EACjB,QAAQ,eAAe,EAAE;AAAA,IAC7B;AAED,UAAM,MAAME,QAAc,UAAU,CAAC,gBAAgB;AAEnD,YAAM,eAAe,EAAE,GAAG,OAAO,aAAa,MAAK;AAGnD,UAAI,YAAY;AAAA,QACd,SAAS,kBAAkB,YAAY,OAAO;AAAA,QAC9C,OAAO,kBAAkB,YAAY,KAAK;AAAA,QAC1C,MAAM,kBAAkB,YAAY,IAAI;AAAA,MAC7C;AAGG,mBAAa,SAAS;AAGtB,aAAO,QAAQ,YAAY;AAAA,IAC9B,GAAI,EAAE,MAAM,KAAI,CAAE;AAEhB,UAAM,OAAO;AAAA,MACX,QAAQ;AAAA,MACR,UAAU;AAAA,QACR,IAAI;AAAA,UACH,MAAM;AAAA,YACH,OAAO;AAAA,YACP,aAAa;AAAA,UACd;AAAA,UACF,aAAa;AAAA,YACZ,MAAM;AAAA,YACN,OAAO;AAAA,UACP;AAAA,UACD,iBAAiB;AAAA,UACjB,YAAY,CAAE;AAAA,UACd,MAAM;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,YAAY;AAAA,UACZ;AAAA,UACD,SAAS;AAAA,YACR,OAAO;AAAA,YACP,OAAO;AAAA,cACN,OAAO;AAAA,cACP,MAAM;AAAA,cACN,IAAI;AAAA,YACJ;AAAA,YACD,SAAS,CAAE;AAAA,YACX,OAAO;AAAA,UACP;AAAA,QACD;AAAA,QACD,IAAI;AAAA,UACH,MAAM;AAAA,YACH,OAAO;AAAA,YACP,aAAa;AAAA,UACd;AAAA,UACF,aAAa;AAAA,YACZ,MAAM;AAAA,YACN,OAAO;AAAA,UACP;AAAA,UACD,iBAAiB;AAAA,UACjB,YAAY,CAAE;AAAA,UACd,MAAM;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,YAAY;AAAA,UACZ;AAAA,UACD,SAAS;AAAA,YACR,OAAO;AAAA,YACP,OAAO;AAAA,cACN,OAAO;AAAA,cACP,MAAM;AAAA,cACN,IAAI;AAAA,YACJ;AAAA,YACD,SAAS,CAAE;AAAA,YACX,OAAO;AAAA,UACP;AAAA,QACD;AAAA,MACF;AAAA,IACF;AAEDC,YAAiB,IAAI,QAAS,cAAY;AACzC,eAAS,aAAa,QAAS,kBAAgB;AAC7C,aAAK,SAAS,aAAa,MAAM,EAAE,WAAW,KAAK,aAAa,IAAI;AAAA,MACzE,CAAI;AAAA,IACJ,CAAE;AAEc,YAAQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Spots.vue.js","sources":["../../../../../../../src/modules/spots/components/layouts/Spots.vue"],"sourcesContent":["<template>\n\t<div class=\"w-100 h-100\">\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"h-100 w-100 flex-nowrap flex-column flex gap-thin\">\n\n\t\t\t\t<!-- Sorting section -->\n\t\t\t\t<div class=\"pos-absolute z-index-2 w-100\">\n\t \t<h2 class=\"bg-black-transp-25 t-white pd-small w-100 bg-blur-big mn-l-auto mn-r-auto t-center\">\n\t \t\t<span class=\"\">Weed in </span>\n\n\t \t\t<span @click=\"a => { globals.state.isOpenLocationPopup = true }\" v-if=\"localPosition.city || localPosition.state || localPosition.country\" class=\"t-semi t-main\">\n \t\t\t\t<span v-if=\"localPosition.city\">{{localPosition.city}}, </span>\n \t\t\t\t<span v-if=\"localPosition.state\">{{localPosition.state}}, </span>\n \t\t\t\t<span v-if=\"localPosition.country\">{{localPosition.country}}</span>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"t-semi t-main\">\n\t\t\t\t\t\t\t\tThe World\n\t \t\t</span>\n\t \t</h2>\n\t\t\t\t\t</div>\n\n\n\t\t\t\t<!-- <Filters/> -->\n\n\t\t\t\t<!-- Products section -->\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component \n\t\t\t\t\t\t\tref=\"page\" \n\t\t\t\t\t\t\t:key=\"route.path\" \n\t\t\t\t\t\t\t:localPosition=\"localPosition\" \n\t\t\t\t\t\t\t:is=\"Component\"\n\t\t\t\t\t\t\t:apiKey=\"GOOGLE_MAPS_API_KEY\" \n \t\t\t\t:locale=\"$i18n.locale\"\n\t\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, watchEffect, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n // Prometheus\n\timport Spoiler from \"@pf/src/components/Spoiler/Spoiler.vue\";\n \timport Checkbox from \"@pf/src/components/Checkbox/Checkbox.vue\";\n \timport Field from \"@pf/src/components/Field/Field.vue\";\n \t// Partials\n\timport Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'\n \timport Dropdown from \"@pf/src/components/Dropdown/Dropdown.vue\";\n\n \t// import Filters from '@pf/src/modules/marketplace/components/sections/Filters.vue'\n\n\n\timport * as globals from '@pf/src/modules/globals/views/store/globals';\n\timport * as categories from '@pf/src/modules/products/store/categories';\n\timport * as marketplace from '@pf/src/modules/products/store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tonMounted(async () => {\n\t if (route.params) {\n\t // Загружаем новые значения из параметров маршрута в состояние\n\t let newState = {\n\t country: denormalizeUrlParam(route.params.country),\n\t state: denormalizeUrlParam(route.params.state),\n\t city: denormalizeUrlParam(route.params.city),\n\t };\n\n\t\t // Обновляем глобальное состояние\n\t\t localPosition.value = newState;\n\t\t}\n\n\t\tif (route.query) {\n\t\t const query = route.query;\n\t\t const newFilterValue = {\n\t\t categories: query.categories ? query.categories.split(',') : [],\n\t\t prices: query.prices ? query.prices.split(',') : [],\n\t\t delivery: query.delivery ? query.delivery.split(',') : [],\n\t\t // Продолжайте этот паттерн для остальных полей фильтра\n\t\t };\n\t\t marketplace.state.filter.selected = newFilterValue;\n\t\t}\n\n\n\t\t// Data fetching\n\t\tawait categories.actions.read()\n\t})\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.push({ query });\n\t}, { deep: true })\n\n\t\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase() // Преобразование всех символов в нижний регистр\n\t .replace(/ /g, '-') // Замена всех пробелов на дефисы\n\t .replace(/[^a-z0-9-]/g, ''); // Удаление всех символов, которые не являются буквами, цифрами или дефисами\n\t}\n\n\twatch(() => globals.state.position, (newPosition) => {\n\t // get the current route\n\t const currentRoute = { ...router.currentRoute.value };\n\t \n\t // create new parameters based on globals state position\n\t let newParams = {\n\t country: normalizeUrlParam(newPosition.country),\n\t state: normalizeUrlParam(newPosition.state),\n\t city: normalizeUrlParam(newPosition.city),\n\t };\n\t \t\n\t // update route params\n\t currentRoute.params = newParams;\n\t \n\t // replace the current route\n\t router.replace(currentRoute);\n\t}, { deep: true });\n\t\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Home',\n \t\tstore: 'Marketplace',\n \t},\n \tcategoriesTitle: 'Category',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'By price',\n \t\tnewest: 'By newest',\n \t\tpopularity: 'By popularity'\n \t},\n \tfilters: {\n \t\ttitle: 'Filters',\n \t\tprice: {\n \t\t\ttitle: 'Price',\n \t\t\tfrom: 'From',\n \t\t\tto: 'To'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Reset Filters'\n \t}\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Главная',\n \t\tstore: 'Маркетплейс',\n \t},\n \tcategoriesTitle: 'Категория',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'По цене',\n \t\tnewest: 'По новизне',\n \t\tpopularity: 'По популярности'\n \t},\n \tfilters: {\n \t\ttitle: 'Фильтры',\n \t\tprice: {\n \t\t\ttitle: 'Цена',\n \t\t\tfrom: 'От',\n \t\t\tto: 'До'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Сбросить фильтры',\n \t}\n }\n }\n }\n\n \tcategories.state.all.forEach( category => {\n \tcategory.localization.forEach( localization => {\n \ttext.messages[localization.locale].categories.push(localization.text)\n \t})\n\t})\n\n \tconst { t } = useI18n(text)\n\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","categories.actions","globals.state","categories.state"],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const index = require("../../../../../../node_modules/@googlemaps/js-api-loader/dist/index.cjs");
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  const organizations = require("../../../organizations/store/organizations.cjs");
8
8
  const globals = require("../../../globals/views/store/globals.cjs");
9
9
  const marketplace = require("../../../products/store/marketplace.cjs");
@@ -1,7 +1,7 @@
1
1
  import { ref, onMounted, openBlock, createElementBlock, createElementVNode, createVNode, withCtx, createTextVNode } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import { Loader } from "../../../../../../node_modules/@googlemaps/js-api-loader/dist/index.js";
4
- import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
4
+ import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
5
5
  import { actions, state as state$2 } from "../../../organizations/store/organizations.js";
6
6
  import { state } from "../../../globals/views/store/globals.js";
7
7
  import { state as state$1 } from "../../../products/store/marketplace.js";
@@ -4,15 +4,15 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Block = require("../../../../components/Block/Block.vue.cjs");
6
6
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
7
- ;/* empty css */
7
+ ;/* empty css */
8
8
  const Field = require("../../../../components/Field/Field.vue.cjs");
9
9
  const Select = require("../../../../components/Select/Select.vue.cjs");
10
10
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
11
11
  const Address = require("../../../../components/Address/Address.vue2.cjs");
12
12
  const LocationMarker = require("../../../../components/LocationMarker/LocationMarker.vue2.cjs");
13
- const Button = require("../../../../components/Button/Button.vue2.cjs");
13
+ const Button = require("../../../../components/Button/Button.vue.cjs");
14
14
  require("vue-i18n");
15
- ;/* empty css */
15
+ ;/* empty css */
16
16
  const spots = require("../../store/spots.cjs");
17
17
  const _hoisted_1 = { class: "for-transition w-100 cols-1 pd-thin gap-thin" };
18
18
  const _hoisted_2 = { class: "mn-r-auto" };
@@ -2,15 +2,15 @@ import { ref, onMounted, openBlock, createElementBlock, createVNode, withCtx, cr
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
4
4
  import _sfc_main$3 from "../../../../components/UploadImage/UploadImage.vue.js";
5
- /* empty css */
5
+ /* empty css */
6
6
  import Field from "../../../../components/Field/Field.vue.js";
7
7
  import Select from "../../../../components/Select/Select.vue.js";
8
8
  import _sfc_main$4 from "../../../../components/Checkbox/Checkbox.vue.js";
9
9
  import _sfc_main$5 from "../../../../components/Address/Address.vue2.js";
10
10
  import _sfc_main$6 from "../../../../components/LocationMarker/LocationMarker.vue2.js";
11
- import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
11
+ import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
12
12
  import "vue-i18n";
13
- /* empty css */
13
+ /* empty css */
14
14
  import { actions, state } from "../../store/spots.js";
15
15
  const _hoisted_1 = { class: "for-transition w-100 cols-1 pd-thin gap-thin" };
16
16
  const _hoisted_2 = { class: "mn-r-auto" };
@@ -5,17 +5,17 @@ const vueI18n = require("vue-i18n");
5
5
  const Web3 = require("web3");
6
6
  const wallet_store = require("../../store/wallet.store.cjs");
7
7
  const wallet = require("../../localization/wallet.json.cjs");
8
- const Popup = require("../../../../../components/Popup/Popup.vue2.cjs");
9
- const Button = require("../../../../../components/Button/Button.vue2.cjs");
8
+ const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
9
+ const Button = require("../../../../../components/Button/Button.vue.cjs");
10
10
  require("vue-router");
11
11
  ;/* empty css */
12
- ;/* empty css */
12
+ ;/* empty css */
13
13
  ;/* empty css */
14
14
  require("../../../../reports/store/reports.cjs");
15
15
  require("../../../../auth/views/store/auth.cjs");
16
16
  require("../../../../organizations/store/memberships.cjs");
17
17
  require("../../../../community/store/reactions.cjs");
18
- ;/* empty css */
18
+ ;/* empty css */
19
19
  const ConnectMetamask = require("../elements/ConnectMetamask.vue.cjs");
20
20
  const CashDeposit = require("../blocks/CashDeposit.vue.cjs");
21
21
  const CardDeposit = require("../blocks/CardDeposit.vue.cjs");
@@ -3,17 +3,17 @@ import { useI18n } from "vue-i18n";
3
3
  import Web3 from "web3";
4
4
  import { state, actions } from "../../store/wallet.store.js";
5
5
  import text from "../../localization/wallet.json.js";
6
- import _sfc_main$3 from "../../../../../components/Popup/Popup.vue2.js";
7
- import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
6
+ import _sfc_main$3 from "../../../../../components/Popup/Popup.vue.js";
7
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
8
8
  import "vue-router";
9
9
  /* empty css */
10
- /* empty css */
10
+ /* empty css */
11
11
  /* empty css */
12
12
  import "../../../../reports/store/reports.js";
13
13
  import "../../../../auth/views/store/auth.js";
14
14
  import "../../../../organizations/store/memberships.js";
15
15
  import "../../../../community/store/reactions.js";
16
- /* empty css */
16
+ /* empty css */
17
17
  import _sfc_main$2 from "../elements/ConnectMetamask.vue.js";
18
18
  import _sfc_main$4 from "../blocks/CashDeposit.vue.js";
19
19
  import _sfc_main$5 from "../blocks/CardDeposit.vue.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/prometheus-framework",
3
- "version": "0.2.314",
3
+ "version": "0.2.316",
4
4
  "description": "Web3 Framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -167,7 +167,7 @@
167
167
  _id: route.params._id
168
168
  }
169
169
  })"
170
- class="cursor-pointer"
170
+ class="profile-menu-item cursor-pointer"
171
171
  >
172
172
  <component
173
173
  :is="module.icon"
@@ -25,7 +25,7 @@
25
25
 
26
26
  const store = useStore()
27
27
  const route = useRoute()
28
- store.dispatch('categories/fetchCategories')
28
+ store.dispatch('categories/read')
29
29
  const categories = computed(() => store.state.categories)
30
30
 
31
31
  </script>
@@ -74,7 +74,7 @@
74
74
  const router = useRouter()
75
75
 
76
76
  // Data prefetching
77
- await store.dispatch('categories/fetchCategories')
77
+ await store.dispatch('categories/read')
78
78
 
79
79
  if (route.params._id) {
80
80
  await store.dispatch('products/fetchProduct', route.params._id)
@@ -163,7 +163,7 @@
163
163
 
164
164
  onMounted(async() => {
165
165
 
166
- await categories.actions.fetchCategories()
166
+ await categories.actions.read()
167
167
 
168
168
  })
169
169
 
@@ -104,7 +104,7 @@
104
104
  status: 'published'
105
105
  }
106
106
 
107
- let categoriesFilter = await categories.actions.fetchCategories(options);
107
+ let categoriesFilter = await categories.actions.read(options);
108
108
 
109
109
  categoriesFilter = categoriesFilter.map(category => ({
110
110
  value: category.url,
@@ -342,7 +342,7 @@
342
342
  }
343
343
 
344
344
  // Data prefetching
345
- await categories.actions.fetchCategories()
345
+ await categories.actions.read()
346
346
 
347
347
  try {
348
348
  const productsResponse = await products.actions.read({
@@ -157,7 +157,7 @@
157
157
  }],
158
158
 
159
159
  onMounted(async () => {
160
- let categoriesFilter = await categories.actions.fetchCategories();
160
+ let categoriesFilter = await categories.actions.read();
161
161
 
162
162
  categoriesFilter = categoriesFilter.map(category => ({
163
163
  value: category.url,
@@ -148,7 +148,7 @@ watch(() => marketplace.state.filter, (newFilterValue, oldFilterValue) => {
148
148
  }, { deep: true })
149
149
 
150
150
  onMounted(async () => {
151
- await categories.actions.fetchCategories(options)
151
+ await categories.actions.read(options)
152
152
 
153
153
  if (route.query) {
154
154
  const query = route.query;
@@ -145,7 +145,7 @@
145
145
  status: 'published'
146
146
  }
147
147
 
148
- await categories.actions.fetchCategories(options)
148
+ await categories.actions.read(options)
149
149
  })
150
150
 
151
151
 
@@ -100,7 +100,7 @@
100
100
 
101
101
  onMounted( async () => {
102
102
  countProduct.value = await products.actions.read({count: true})
103
- await categories.actions.fetchCategories()
103
+ await categories.actions.read()
104
104
  menu.value = true
105
105
  })
106
106