@ozdao/prometheus-framework 0.2.310 → 0.2.312

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. package/dist/main.css +1 -1
  2. package/dist/products.server.js +6 -7
  3. package/dist/products.server.mjs +6 -7
  4. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs +0 -93
  5. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  6. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js +1 -94
  7. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js.map +1 -1
  8. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs +93 -0
  9. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  10. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js +94 -1
  11. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js.map +1 -1
  12. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +1 -1
  13. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +1 -1
  14. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  15. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  16. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
  17. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
  18. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  19. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  20. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
  21. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  22. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  23. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  24. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  25. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  26. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +2 -2
  27. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.js +2 -2
  28. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
  29. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
  30. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
  31. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
  32. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
  33. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
  34. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
  35. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
  36. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  37. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  38. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  39. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  40. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  41. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  42. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +2 -2
  43. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +2 -2
  44. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  45. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  46. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +2 -2
  47. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +2 -2
  48. package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  49. package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.js +1 -1
  50. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  51. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  52. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  53. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  54. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  55. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  56. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +4 -4
  57. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +4 -4
  58. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  59. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  60. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -4
  61. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
  62. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  63. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  64. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  65. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  66. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  67. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  68. package/dist/prometheus-framework/src/modules/globals/views/components/partials/BottomNavigationBar.vue.cjs +3 -3
  69. package/dist/prometheus-framework/src/modules/globals/views/components/partials/BottomNavigationBar.vue.cjs.map +1 -1
  70. package/dist/prometheus-framework/src/modules/globals/views/components/partials/BottomNavigationBar.vue.js +3 -3
  71. package/dist/prometheus-framework/src/modules/globals/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  72. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  73. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  74. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +15 -12
  75. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs.map +1 -1
  76. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js +15 -12
  77. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js.map +1 -1
  78. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -3
  79. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
  80. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -2
  81. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
  82. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  83. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  84. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  85. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  86. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  87. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  88. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  89. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  90. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  91. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  92. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
  93. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  94. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  95. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  96. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  97. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  98. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  99. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  100. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  101. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  102. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +1029 -1029
  103. package/dist/prometheus-framework/src/modules/pages/pages.client.js +1029 -1029
  104. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -2
  105. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
  106. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  107. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  108. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  109. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  110. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +2 -2
  111. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +2 -2
  112. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs +46 -15
  113. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  114. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js +47 -16
  115. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  116. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  117. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  118. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  119. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  120. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs +2 -2
  121. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js +2 -2
  122. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +3 -3
  123. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +3 -3
  124. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  125. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  126. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  127. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  128. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
  129. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
  130. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +25 -19
  131. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  132. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +25 -19
  133. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js.map +1 -1
  134. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  136. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +2 -2
  137. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +2 -2
  138. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.cjs +1 -1
  139. package/dist/prometheus-framework/src/modules/products/components/sections/Filters.vue.js +1 -1
  140. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs +40 -65
  141. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs.map +1 -1
  142. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js +41 -66
  143. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js.map +1 -1
  144. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  145. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  146. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  147. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  148. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  149. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  150. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +2 -2
  151. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +2 -2
  152. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  153. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js +1 -1
  154. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  155. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  156. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  157. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  158. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  159. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  160. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  161. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  162. package/package.json +1 -1
  163. package/src/modules/globals/views/components/partials/BottomNavigationBar.vue +3 -3
  164. package/src/modules/globals/views/components/partials/NavigationBar.vue +1 -1
  165. package/src/modules/products/components/blocks/CardProduct.vue +38 -18
  166. package/src/modules/products/components/elements/Price.vue +2 -2
  167. package/src/modules/products/components/pages/Products.vue +9 -4
  168. package/src/modules/products/components/sections/PopularProducts.vue +28 -50
  169. package/src/modules/products/controllers/categories.controller.js +2 -4
  170. package/src/modules/products/controllers/products.controller.js +1 -0
  171. package/src/styles/typography.scss +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"PopularProducts.vue.js","sources":["../../../../../../../src/modules/products/components/sections/PopularProducts.vue"],"sourcesContent":["<template>\n\t<div id=\"popularProducts\" class=\"bg-light radius-big pd-t-big pd-b-big\">\n\n\t\t<h2 class=\"mn-b-semi t-center \" v-html=\"t('title')\"/>\n\t\t\n\t\t<div class=\"embla\" ref=\"emblaNode\">\n\t\t \t<div class=\"embla__container\">\n\t\t \n\t\t <div class=\"embla__slide pd-nano\" v-for=\"(value, key, index) in productsState\" :key=\"key\">\n\t\t \t<transition name=\"fade\" mode=\"out-in\" appear>\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tv-if=\"!value.name\" \n\t\t\t\t\t\t\tclass=\"h-100 w-100 radius-big flex-center bg-light\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Loader class=\"pos-relative\"/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<CardProduct \n\t\t\t\t\t\t\tv-else \n\t\t\t\t\t\t\t@click=\"$router.push({\n\t\t\t name: 'Organization_Product', \n\t\t\t params: { \n\t\t\t _id: value.organization, \n\t\t\t product: value._id \n\t\t\t } \n\t\t\t })\" \n\t\t\t\t\t\t\t:product=\"value\"\n\t\t\t\t\t\t\tclass=\"cursor-pointer transition-ease-in hover-scale-0 h-100 w-100\" \n\t\t\t\t\t\t/>\n\t\t\t\t\t</transition>\n\t\t </div>\n\n \t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup scoped>\n\timport { ref, computed, onMounted } from 'vue'\n\n\timport { useRouter } \tfrom 'vue-router'\n\timport { useI18n } \t\tfrom 'vue-i18n'\n\t\t\n\timport emblaCarouselVue from 'embla-carousel-vue'; // Assuming a Vue version exists\n\timport Autoplay from 'embla-carousel-autoplay'\n\n\timport Loader from '@pf/src/components/Loader/Loader.vue'\n\timport CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n\timport * as products from '@pf/src/modules/products/store/products';\n\t\n\tconst router = useRouter()\n\n \tconst text = {\n messages: {\n en: {\n \ttitle: '<b>Best Sellers 🔥</b>',\n \tsubtitle: 'We attach great importance to high quality and customer satisfaction'\n },\n ru: {\n \ttitle: 'Самое Горячее 🔥',\n \tsubtitle: 'Мы придаем большое значение высокому качеству товаров и удовлетворенности клиентов'\n }\n }\n }\n\n\tconst { t } = useI18n(text)\n\n\tconst productsState = ref(10)\n\tconst selectedIndex = ref(0);\n\tconst scrollSnaps = ref([]);\n\n\tconst autoplayOptions = {\n\t delay: 2000,\n\t jump: false,\n\t stopOnInteraction: false,\n\t stopOnMouseEnter: false,\n\t stopOnFocusIn: true,\n\t stopOnLastSnap: false,\n\t rootNode: (emblaRoot) => emblaRoot.parentElement\n\t}\n\n\tconst [emblaNode, emblaApi] = emblaCarouselVue({ loop: true }, [Autoplay(autoplayOptions)])\n\n\tconst scrollTo = (index) => emblaApi.value && emblaApi.value.scrollTo(index);\n\tconst onInit = (embla) => scrollSnaps.value = emblaApi.value.scrollSnapList();\n\tconst onSelect = (embla) => selectedIndex.value = emblaApi.value.selectedScrollSnap();\n\n\tonMounted(async() => {\n\t\tproductsState.value = await products.actions.read({\n\t\t\tlimit: 10, \n\t\t\torganization: '657e7134efb8110c51b8b713'\n\t\t})\n\n\t onInit(emblaApi);\n\t onSelect(emblaApi);\n\n\t emblaApi.value.on('reInit', onInit);\n\t emblaApi.value.on('reInit', onSelect);\n\t emblaApi.value.on('select', onSelect);\n\t});\n</script>\n\n<style lang=\"scss\">\n\t.embla {\n overflow: hidden;\n }\n .embla__container {\n display: flex;\n }\n .embla__slide {\n flex: 0 0 25%;\n min-width: 0;\n }\n\n @media screen and (max-width: 1025px) {\n .embla__slide {\n\t flex: 0 0 50%;\n\t min-width: 0;\n\t }\n }\n</style>"],"names":["products.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoDgB,cAAW;AAEzB,UAAM,OAAO;AAAA,MACX,UAAU;AAAA,QACR,IAAI;AAAA,UACH,OAAO;AAAA,UACP,UAAU;AAAA,QACV;AAAA,QACD,IAAI;AAAA,UACH,OAAO;AAAA,UACP,UAAU;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAEF,UAAM,EAAE,EAAC,IAAK,QAAQ,IAAI;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.organization, \n\t\t product: value._id \n\t\t } \n\t\t })\" \n\t\t\t\t\t\t:product=\"value\"\n\t\t\t\t\t\tclass=\"cursor-pointer transition-ease-in hover-scale-0 h-100 w-100\" \n\t\t\t\t\t/>\n\t\t\t\t</transition>\n\t </div>\n \t</div>\n\t</div>\n</template>\n\n\n<script setup scoped>\n\timport { ref, computed, onMounted } from 'vue'\n\n\timport { useRouter } \tfrom 'vue-router'\n\t\t\n\timport emblaCarouselVue from 'embla-carousel-vue'; // Assuming a Vue version exists\n\timport Autoplay from 'embla-carousel-autoplay'\n\n\timport Loader from '@pf/src/components/Loader/Loader.vue'\n\timport CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'\n\n\timport * as products from '@pf/src/modules/products/store/products';\n\t\n\tconst router = useRouter()\n\n\tconst productsState = ref(10)\n\tconst selectedIndex = ref(0);\n\tconst scrollSnaps = ref([]);\n\n\tconst autoplayOptions = {\n\t delay: 2000,\n\t jump: false,\n\t stopOnInteraction: false,\n\t stopOnMouseEnter: false,\n\t stopOnFocusIn: true,\n\t stopOnLastSnap: false,\n\t rootNode: (emblaRoot) => emblaRoot.parentElement\n\t}\n\n\tconst [emblaNode, emblaApi] = emblaCarouselVue({ loop: true }, [Autoplay(autoplayOptions)])\n\n\tconst scrollTo = (index) => emblaApi.value && emblaApi.value.scrollTo(index);\n\tconst onInit = (embla) => scrollSnaps.value = emblaApi.value.scrollSnapList();\n\tconst onSelect = (embla) => selectedIndex.value = emblaApi.value.selectedScrollSnap();\n\n\tonMounted(async() => {\n\t\tproductsState.value = await products.actions.read({\n\t\t\tlimit: 10, \n\t\t\torganization: '657e7134efb8110c51b8b713'\n\t\t})\n\n\t onInit(emblaApi);\n\t onSelect(emblaApi);\n\n\t emblaApi.value.on('reInit', onInit);\n\t emblaApi.value.on('reInit', onSelect);\n\t emblaApi.value.on('select', onSelect);\n\t});\n</script>\n\n<style lang=\"scss\">\n\t.embla {\n overflow: hidden;\n }\n .embla__container {\n display: flex;\n }\n .embla__slide {\n flex: 0 0 25%;\n min-width: 0;\n }\n\n @media screen and (max-width: 1025px) {\n .embla__slide {\n\t flex: 0 0 75%;\n\t min-width: 0;\n\t }\n }\n</style>"],"names":["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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Button = require("../../../../components/Button/Button.vue.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
5
5
  const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
6
6
  const Images360 = require("../blocks/Images360.vue.cjs");
7
7
  const ImagesThumbnails = require("../blocks/ImagesThumbnails.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { computed, openBlock, createElementBlock, createElementVNode, createBlock, createCommentVNode, toDisplayString, unref, createVNode, Fragment, renderList, withCtx, createTextVNode } from "vue";
2
- import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
2
+ import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
3
3
  import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
4
4
  import Images360 from "../blocks/Images360.vue.js";
5
5
  import ImagesThumbnails from "../blocks/ImagesThumbnails.vue.js";
@@ -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 Popup = require("../../../../components/Popup/Popup.vue.cjs");
5
- const Button = require("../../../../components/Button/Button.vue.cjs");
5
+ const Button = require("../../../../components/Button/Button.vue2.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
2
  import _sfc_main$1 from "../../../../components/Popup/Popup.vue.js";
3
- import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
4
4
  import Select from "../../../../components/Select/Select.vue.js";
5
5
  import { actions } from "../../store/reports.js";
6
6
  const _sfc_main = {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
6
6
  ;/* empty css */
7
7
  ;/* empty css */
@@ -1,5 +1,5 @@
1
1
  import { ref, computed, resolveComponent, openBlock, createElementBlock, createElementVNode, createBlock, toDisplayString, createCommentVNode } from "vue";
2
- /* empty css */
2
+ /* empty css */
3
3
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
4
4
  /* empty css */
5
5
  /* empty css */
@@ -4,9 +4,9 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const vueI18n = require("vue-i18n");
6
6
  ;/* empty css */
7
- ;/* empty css */
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");
@@ -2,9 +2,9 @@ import { ref, onMounted, watch, resolveComponent, openBlock, createElementBlock,
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import { useI18n } from "vue-i18n";
4
4
  /* empty css */
5
- /* empty css */
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";
@@ -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.vue.cjs");
6
+ const Button = require("../../../../components/Button/Button.vue2.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.vue.js";
4
+ import _sfc_main$1 from "../../../../components/Button/Button.vue2.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";
@@ -5,12 +5,12 @@ 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
7
  ;/* empty css */
8
- const Field = require("../../../../components/Field/Field.vue.cjs");
8
+ const Field = require("../../../../components/Field/Field.vue2.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.vue.cjs");
13
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
14
14
  require("vue-i18n");
15
15
  ;/* empty css */
16
16
  const spots = require("../../store/spots.cjs");
@@ -3,12 +3,12 @@ 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
5
  /* empty css */
6
- import Field from "../../../../components/Field/Field.vue.js";
6
+ import Field from "../../../../components/Field/Field.vue2.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.vue.js";
11
+ import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
12
12
  import "vue-i18n";
13
13
  /* empty css */
14
14
  import { actions, state } from "../../store/spots.js";
@@ -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 wallet = require("../../localization/wallet.json.cjs");
5
- const Field = require("../../../../../components/Field/Field.vue.cjs");
5
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
6
6
  const vueI18n = require("vue-i18n");
7
7
  const _hoisted_1 = { class: "bg-grey radius-big mn-t-semi mn-b-semi flex flex-justify-between" };
8
8
  const _sfc_main = {
@@ -1,6 +1,6 @@
1
1
  import { openBlock, createElementBlock, Fragment, createElementVNode, createVNode, unref, toDisplayString } from "vue";
2
2
  import text from "../../localization/wallet.json.js";
3
- import Field from "../../../../../components/Field/Field.vue.js";
3
+ import Field from "../../../../../components/Field/Field.vue2.js";
4
4
  import { useI18n } from "vue-i18n";
5
5
  const _hoisted_1 = { class: "bg-grey radius-big mn-t-semi mn-b-semi flex flex-justify-between" };
6
6
  const _sfc_main = {
@@ -5,7 +5,7 @@ const vueI18n = require("vue-i18n");
5
5
  const bignumber = require("../../../../../../node_modules/bignumber.js/bignumber.cjs");
6
6
  const wallet_store = require("../../store/wallet.store.cjs");
7
7
  const wallet = require("../../localization/wallet.json.cjs");
8
- const Field = require("../../../../../components/Field/Field.vue.cjs");
8
+ const Field = require("../../../../../components/Field/Field.vue2.cjs");
9
9
  const Select = require("../../../../../components/Select/Select.vue.cjs");
10
10
  const _hoisted_1 = { class: "mn-b-small t-center t-bold" };
11
11
  const _hoisted_2 = { class: "t-semi" };
@@ -3,7 +3,7 @@ import { useI18n } from "vue-i18n";
3
3
  import { BigNumber } from "../../../../../../node_modules/bignumber.js/bignumber.js";
4
4
  import { state, actions } from "../../store/wallet.store.js";
5
5
  import text from "../../localization/wallet.json.js";
6
- import Field from "../../../../../components/Field/Field.vue.js";
6
+ import Field from "../../../../../components/Field/Field.vue2.js";
7
7
  import Select from "../../../../../components/Select/Select.vue.js";
8
8
  const _hoisted_1 = { class: "mn-b-small t-center t-bold" };
9
9
  const _hoisted_2 = { class: "t-semi" };
@@ -6,10 +6,10 @@ const Web3 = require("web3");
6
6
  const wallet_store = require("../../store/wallet.store.cjs");
7
7
  const wallet = require("../../localization/wallet.json.cjs");
8
8
  const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
9
- const Button = require("../../../../../components/Button/Button.vue.cjs");
9
+ const Button = require("../../../../../components/Button/Button.vue2.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");
@@ -4,10 +4,10 @@ import Web3 from "web3";
4
4
  import { state, actions } from "../../store/wallet.store.js";
5
5
  import text from "../../localization/wallet.json.js";
6
6
  import _sfc_main$3 from "../../../../../components/Popup/Popup.vue.js";
7
- import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
7
+ import _sfc_main$1 from "../../../../../components/Button/Button.vue2.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";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/prometheus-framework",
3
- "version": "0.2.310",
3
+ "version": "0.2.312",
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",
@@ -17,14 +17,14 @@
17
17
  <!-- Gallery -->
18
18
  <router-link
19
19
  class="no-hover-color t-center t-medium"
20
- :class="{ 't-second': $route.path === '/catalog', 't-transp': $route.path !== '/catalog' }"
21
- to="/marketplace"
20
+ :class="{ 't-second': $route.path === '/marketplac', 't-transp': $route.path !== '/marketplac' }"
21
+ to="/marketplac"
22
22
  >
23
23
  <IconCatalog
24
24
  class="mn-r-auto mn-l-auto i-big mn-b-thin"
25
25
  :fill="$route.path === '/catalog' ? 'rgb(var(--second))' : 'currentColor'"
26
26
  />
27
- <p class=" t-semi p-small w-100">{{t('navigation.catalog')}}</p>
27
+ <p class=" t-semi p-small w-100">{{t('navigation.marketplac')}}</p>
28
28
  </router-link>
29
29
 
30
30
  <!-- Events -->
@@ -60,7 +60,7 @@
60
60
  />
61
61
 
62
62
  <p v-else class="t-semi h-2r lh-semi h4 d-block" >
63
- {{route.meta.title[locale.toLowerCase()] || route.name}}
63
+ {{globals.state.navigation_bar.name || route.meta?.title?.[locale.toLowerCase()] || route.name}}
64
64
 
65
65
  <!-- if (route.meta.title) {
66
66
  route.meta.title[locale.toLowerCase()]
@@ -1,12 +1,14 @@
1
1
  <template>
2
2
  <div
3
3
  class="
4
- radius-big
4
+ radius-medium
5
5
  cols-1
6
6
  o-hidden
7
7
  pos-relative
8
8
  "
9
9
  >
10
+
11
+ <!-- listing/ -->
10
12
  <router-link
11
13
  v-if="access"
12
14
  :to="organization ? { name: 'Organization_ProductEdit', params: { _id: organization, product: product._id } } : { name: 'ProductEdit' }"
@@ -27,7 +29,7 @@
27
29
 
28
30
 
29
31
  <div
30
- class="o-hidden w-100 pos-relative aspect-1x1"
32
+ class="o-hidden pd-thin pd-b-zero radius-medium o-hidden w-100 pos-relative aspect-1x1"
31
33
  :class="
32
34
  product.information[2]
33
35
  && product.information[2].value === 'AAAA'
@@ -45,14 +47,14 @@
45
47
 
46
48
  <PlaceholderImage
47
49
  v-else
48
- class="pos-absolute h-100 w-100"
50
+ class="bg-white radius-medium h-100 w-100"
49
51
  />
50
- <span v-if="product.quantity <= 0" class="pos-absolute bg-white t-black pd-thin radius-big p-small t-medium pos-t-medium pos-l-medium">Out of Stock</span>
52
+ <span v-if="product.quantity <= 0 && product.listing === 'rent'" class="pos-absolute bg-white t-black pd-thin radius-big p-small t-medium pos-t-medium pos-l-medium">Out of Stock</span>
51
53
  <THC v-if="product.information?.length > 0 && product.information[1]?.name === 'THC'" :product="product" />
52
54
  </div>
53
55
 
54
56
  <!-- Product Info Start -->
55
- <div class="pd-medium t-left product-card-content">
57
+ <div class="pd-small t-left product-card-content">
56
58
  <!-- Detail -->
57
59
  <p
58
60
  v-if="product.information.length > 0"
@@ -67,12 +69,12 @@
67
69
  {{product.information[0].value}}
68
70
  </p>
69
71
  <!-- Name -->
70
- <p class="mn-b-thin t-semi h4">
71
- {{product.name}}
72
+ <p class="mn-b-thin t-medium h4">
73
+ {{product.name.substring(0,16)}}...
72
74
  </p>
73
75
 
74
76
  <p
75
- v-if="product.description && !product.localization"
77
+ v-if="product.description && !product.localization && product.listing !== 'rent'"
76
78
  class="mn-b-small t-transp p-small"
77
79
  >
78
80
  {{product.description.substring(0, 99)}}...
@@ -83,16 +85,34 @@
83
85
  <span v-if="$i18n.locale === 'ru'">{{product.localization[1].text.substring(0, 99)}}...</span>
84
86
  </p> -->
85
87
 
86
- <Price
87
- :product="product"
88
- size="small"
89
- :class="
90
- product.information[2]
91
- && product.information[2].value === 'AAAA'
92
- ? 'bg-third t-white'
93
- : ''
94
- "
95
- />
88
+ <div class="flex-v-center flex-nowrap flex">
89
+ <Price
90
+ v-if="product.listing !== 'rent'"
91
+ :product="product"
92
+ size="small"
93
+ class="mn-r-auto"
94
+ />
95
+
96
+ <div
97
+ v-if="product.listing === 'rent'"
98
+ class="mn-r-auto"
99
+ >
100
+ <span class="t-second h5 "> {{product.price+product.price_currency }}</span> <span class="p-small t-transp">/ per day </span>
101
+ </div>
102
+
103
+ <button
104
+ v-if="user && product.listing === 'rent'"
105
+ class="
106
+ z-index-2
107
+ cursor-pointer
108
+ radius-extra pd-thin bg-main
109
+ "
110
+ >
111
+ <svg class="i-medium" xmlns="http://www.w3.org/2000/svg" width="26" height="21" viewBox="0 0 26 21" fill="none">
112
+ <path d="M8.19141 15.582C7.49414 15.582 6.95638 15.3861 6.57812 14.9941C6.19987 14.6022 5.95833 14.0622 5.85352 13.374L4.52734 4.30957H1.9502C1.68587 4.30957 1.45801 4.21387 1.2666 4.02246C1.0752 3.8265 0.979492 3.59408 0.979492 3.3252C0.979492 3.05632 1.0752 2.82617 1.2666 2.63477C1.45801 2.4388 1.68587 2.34082 1.9502 2.34082H4.91699C5.43197 2.34082 5.79655 2.44564 6.01074 2.65527C6.22493 2.86035 6.36393 3.16797 6.42773 3.57812L6.55078 4.42578H14.7471C14.7288 4.5625 14.7152 4.69922 14.7061 4.83594C14.6969 4.97266 14.6924 5.10938 14.6924 5.24609C14.6924 6.04362 14.8405 6.79102 15.1367 7.48828C15.4329 8.18555 15.8454 8.80306 16.374 9.34082C16.9072 9.87858 17.5247 10.3024 18.2266 10.6123C18.9284 10.9176 19.6826 11.0771 20.4893 11.0908L20.4209 11.248C20.2432 11.5671 20.0016 11.8132 19.6963 11.9863C19.391 12.1595 19.0127 12.2461 18.5615 12.2461H7.67188L7.80859 13.1963C7.84049 13.3831 7.90885 13.5335 8.01367 13.6475C8.11849 13.7614 8.25977 13.8184 8.4375 13.8184H18.459C18.696 13.8184 18.9056 13.8981 19.0879 14.0576C19.2702 14.2171 19.3613 14.429 19.3613 14.6934C19.3613 14.9622 19.2702 15.1787 19.0879 15.3428C18.9056 15.5023 18.696 15.582 18.459 15.582H8.19141ZM7.34375 18.4873C7.34375 18.1865 7.41667 17.9108 7.5625 17.6602C7.71289 17.4141 7.91113 17.2181 8.15723 17.0723C8.40788 16.9264 8.68359 16.8535 8.98438 16.8535C9.28516 16.8535 9.55859 16.9264 9.80469 17.0723C10.0553 17.2181 10.2536 17.4141 10.3994 17.6602C10.5452 17.9108 10.6182 18.1865 10.6182 18.4873C10.6182 18.7926 10.5452 19.0684 10.3994 19.3145C10.2536 19.5651 10.0553 19.7611 9.80469 19.9023C9.55859 20.0482 9.28516 20.1211 8.98438 20.1211C8.68359 20.1211 8.40788 20.0482 8.15723 19.9023C7.91113 19.7611 7.71289 19.5651 7.5625 19.3145C7.41667 19.0684 7.34375 18.7926 7.34375 18.4873ZM15.3555 18.4873C15.3555 18.1865 15.4284 17.9108 15.5742 17.6602C15.7246 17.4141 15.9229 17.2181 16.1689 17.0723C16.4196 16.9264 16.6953 16.8535 16.9961 16.8535C17.3014 16.8535 17.5771 16.9264 17.8232 17.0723C18.0693 17.2181 18.2653 17.4141 18.4111 17.6602C18.5615 17.9108 18.6367 18.1865 18.6367 18.4873C18.6367 18.7926 18.5615 19.0684 18.4111 19.3145C18.2653 19.5651 18.0693 19.7611 17.8232 19.9023C17.5771 20.0482 17.3014 20.1211 16.9961 20.1211C16.6953 20.1211 16.4196 20.0482 16.1689 19.9023C15.9229 19.7611 15.7246 19.5651 15.5742 19.3145C15.4284 19.0684 15.3555 18.7926 15.3555 18.4873ZM20.5439 9.82617C19.915 9.82617 19.3226 9.70768 18.7666 9.4707C18.2152 9.23372 17.7275 8.90332 17.3037 8.47949C16.8799 8.05566 16.5472 7.56803 16.3057 7.0166C16.0687 6.46061 15.9502 5.86816 15.9502 5.23926C15.9502 4.61035 16.0687 4.02018 16.3057 3.46875C16.5472 2.91732 16.8799 2.42969 17.3037 2.00586C17.7275 1.58203 18.2152 1.25163 18.7666 1.01465C19.3226 0.773112 19.915 0.652344 20.5439 0.652344C21.1729 0.652344 21.763 0.773112 22.3145 1.01465C22.8704 1.25163 23.3581 1.58203 23.7773 2.00586C24.2012 2.42513 24.5316 2.91276 24.7686 3.46875C25.0055 4.02018 25.124 4.61035 25.124 5.23926C25.124 5.86361 25.0033 6.45378 24.7617 7.00977C24.5247 7.5612 24.1943 8.04883 23.7705 8.47266C23.3467 8.89648 22.8568 9.22917 22.3008 9.4707C21.7493 9.70768 21.1637 9.82617 20.5439 9.82617ZM20.5439 8.19922C20.7445 8.19922 20.904 8.13997 21.0225 8.02148C21.141 7.89844 21.2002 7.73893 21.2002 7.54297V5.89551H22.8408C23.0368 5.89551 23.194 5.83626 23.3125 5.71777C23.4355 5.59928 23.4971 5.44206 23.4971 5.24609C23.4971 5.04557 23.4355 4.88607 23.3125 4.76758C23.194 4.64453 23.0368 4.58301 22.8408 4.58301H21.2002V2.95605C21.2002 2.75553 21.141 2.59603 21.0225 2.47754C20.904 2.35905 20.7445 2.2998 20.5439 2.2998C20.3434 2.2998 20.1839 2.36133 20.0654 2.48438C19.9469 2.60286 19.8877 2.76009 19.8877 2.95605V4.58301H18.2539C18.0534 4.58301 17.8916 4.64453 17.7686 4.76758C17.6501 4.88607 17.5908 5.04557 17.5908 5.24609C17.5908 5.44206 17.6523 5.59928 17.7754 5.71777C17.8984 5.83626 18.0579 5.89551 18.2539 5.89551H19.8877V7.54297C19.8877 7.73893 19.9469 7.89844 20.0654 8.02148C20.1839 8.13997 20.3434 8.19922 20.5439 8.19922Z" fill="white"/>
113
+ </svg>
114
+ </button>
115
+ </div>
96
116
  </div>
97
117
 
98
118
  </div>
@@ -17,9 +17,9 @@
17
17
  }
18
18
  "
19
19
  >
20
- {{product.price }} {{returnCurrency()}}
20
+ {{product.price }} {{product.price_currency}} {{ product.listing === 'rent' ? 'per day' : '' }}
21
21
  </p>
22
- <p v-if="product.sale" class="pd-r-small t-transp t-transp p-medium line-through price">{{(product.price / 100) * (100 + product.sale) }} {{returnCurrency()}} </p>
22
+ <p v-if="product.sale" class="pd-r-small t-transp t-transp p-medium line-through price">{{(product.price / 100) * (100 + product.sale) }} {{product.price_currency}} </p>
23
23
  </div>
24
24
  </template>
25
25
 
@@ -45,7 +45,7 @@
45
45
  />
46
46
 
47
47
 
48
- <div class="rows-1 h-100 z-index-3 bg-white radius-tl-big radius-tr-big">
48
+ <div class="z-index-3 bg-white radius-tl-big radius-tr-big">
49
49
  <div class="pd-thin z-index-3 radius-tl-big radius-tr-big pos-t-0 pos-sticky">
50
50
  <BlockSearch
51
51
  @search="updateSearch"
@@ -55,7 +55,6 @@
55
55
  </div>
56
56
  <Feed
57
57
  v-model:filter="marketplace.state.filter"
58
-
59
58
  :states="{
60
59
  empty: {
61
60
  title: 'No Products Found',
@@ -79,8 +78,13 @@
79
78
  v-slot="{
80
79
  items
81
80
  }"
82
- class="cols-4 rows-1 pd-t-zero pd-thin gap-thin"
81
+ class=" pd-t-zero pd-thin gap-thin"
82
+
83
83
  >
84
+ <div class="gap-thin cols-4" style="
85
+ display:grid;
86
+ grid-auto-rows: 1fr;
87
+ ">
84
88
  <router-link
85
89
  v-for="product in items"
86
90
  :to="route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }">
@@ -90,9 +94,10 @@
90
94
  :user="auth.state.access"
91
95
  :organization="route.params._id"
92
96
  :access="hasAccess(route.params._id, 'products', 'edit', auth.state.accesses)"
93
- class="h-max bg-light"
97
+ class="h-100 bg-light"
94
98
  />
95
99
  </router-link>
100
+ </div>
96
101
  </Feed>
97
102
 
98
103
  </div>
@@ -1,37 +1,31 @@
1
1
  <template>
2
- <div id="popularProducts" class="bg-light radius-big pd-t-big pd-b-big">
3
-
4
- <h2 class="mn-b-semi t-center " v-html="t('title')"/>
5
-
6
- <div class="embla" ref="emblaNode">
7
- <div class="embla__container">
8
-
9
- <div class="embla__slide pd-nano" v-for="(value, key, index) in productsState" :key="key">
10
- <transition name="fade" mode="out-in" appear>
11
- <div
12
- v-if="!value.name"
13
- class="h-100 w-100 radius-big flex-center bg-light"
14
- >
15
- <Loader class="pos-relative"/>
16
- </div>
17
-
18
- <CardProduct
19
- v-else
20
- @click="$router.push({
21
- name: 'Organization_Product',
22
- params: {
23
- _id: value.organization,
24
- product: value._id
25
- }
26
- })"
27
- :product="value"
28
- class="cursor-pointer transition-ease-in hover-scale-0 h-100 w-100"
29
- />
30
- </transition>
31
- </div>
32
-
33
- </div>
34
- </div>
2
+ <div class="embla" ref="emblaNode">
3
+ <div class="embla__container">
4
+
5
+ <div class="embla__slide pd-nano" v-for="(value, key, index) in productsState" :key="key">
6
+ <transition name="fade" mode="out-in" appear>
7
+ <div
8
+ v-if="!value.name"
9
+ class="h-100 w-100 radius-big flex-center bg-light"
10
+ >
11
+ <Loader class="pos-relative"/>
12
+ </div>
13
+
14
+ <CardProduct
15
+ v-else
16
+ @click="$router.push({
17
+ name: 'Organization_Product',
18
+ params: {
19
+ _id: value.organization,
20
+ product: value._id
21
+ }
22
+ })"
23
+ :product="value"
24
+ class="cursor-pointer transition-ease-in hover-scale-0 h-100 w-100"
25
+ />
26
+ </transition>
27
+ </div>
28
+ </div>
35
29
  </div>
36
30
  </template>
37
31
 
@@ -40,7 +34,6 @@
40
34
  import { ref, computed, onMounted } from 'vue'
41
35
 
42
36
  import { useRouter } from 'vue-router'
43
- import { useI18n } from 'vue-i18n'
44
37
 
45
38
  import emblaCarouselVue from 'embla-carousel-vue'; // Assuming a Vue version exists
46
39
  import Autoplay from 'embla-carousel-autoplay'
@@ -52,21 +45,6 @@
52
45
 
53
46
  const router = useRouter()
54
47
 
55
- const text = {
56
- messages: {
57
- en: {
58
- title: '<b>Best Sellers 🔥</b>',
59
- subtitle: 'We attach great importance to high quality and customer satisfaction'
60
- },
61
- ru: {
62
- title: 'Самое Горячее 🔥',
63
- subtitle: 'Мы придаем большое значение высокому качеству товаров и удовлетворенности клиентов'
64
- }
65
- }
66
- }
67
-
68
- const { t } = useI18n(text)
69
-
70
48
  const productsState = ref(10)
71
49
  const selectedIndex = ref(0);
72
50
  const scrollSnaps = ref([]);
@@ -116,7 +94,7 @@
116
94
 
117
95
  @media screen and (max-width: 1025px) {
118
96
  .embla__slide {
119
- flex: 0 0 50%;
97
+ flex: 0 0 75%;
120
98
  min-width: 0;
121
99
  }
122
100
  }
@@ -1,5 +1,3 @@
1
- const ObjectId = require('mongoose').Types.ObjectId;
2
-
3
1
  const controllerFactory = (db) => {
4
2
  const Category = db.category;
5
3
 
@@ -22,7 +20,7 @@ const controllerFactory = (db) => {
22
20
  ...(req.query.status && { status: req.query.status }),
23
21
  ...(req.query.url && { url: req.query.url }),
24
22
  ...(search && { name: { $regex: search, $options: 'i' } }),
25
- ...(parent ? { parent: new mongoose.Types.ObjectId(parent) } : {}),
23
+ ...(parent ? { parent: new db.mongoose.Types.ObjectId(parent) } : {}),
26
24
  ...(rootOnly ? { parent: null } : {})
27
25
  };
28
26
 
@@ -153,7 +151,7 @@ const controllerFactory = (db) => {
153
151
  update: {
154
152
  $set: {
155
153
  order: category.order,
156
- parent: category.parent ? new ObjectId(category.parent) : null
154
+ parent: category.parent ? new db.mongoose.Types.ObjectId(category.parent) : null
157
155
  }
158
156
  }
159
157
  }
@@ -48,6 +48,7 @@ const controllerFactory = (db) => {
48
48
  }
49
49
 
50
50
  const categories = req.query.categories?.split(',') || [];
51
+
51
52
  if (categories.length) {
52
53
  query.category = { $in: categories.map(cat => new ObjectId(cat)) };
53
54
  }
@@ -12,11 +12,11 @@ body {
12
12
  }
13
13
 
14
14
  // Font Styles
15
- h1,.h1 { font-family: var(--font-main); font-weight: 500; font-size: 3.750rem; line-height: 1.000; letter-spacing: -0.05rem; text-transform: none; }
16
- h2,.h2 { font-family: var(--font-main); font-weight: 500; font-size: 2.000rem; line-height: 1.000; letter-spacing: -0.05rem; text-transform: none; }
17
- h3,.h3 { font-family: var(--font-main); font-weight: 500; font-size: 1.750rem; line-height: 1.000; letter-spacing: -0.05rem; text-transform: none; }
18
- h4,.h4 { font-family: var(--font-main); font-weight: 500; font-size: 1.500rem; line-height: 1.250; letter-spacing: +0.0rem; text-transform: none; }
19
- h5,.h5 { font-family: var(--font-main); font-weight: 500; font-size: 0.750rem; line-height: 1.250; letter-spacing: -0.0rem; text-transform: none; }
15
+ h1,.h1 { font-family: var(--font-main); font-weight: 500; font-size: 2.500rem; line-height: 1.000; letter-spacing: -0.05rem; text-transform: none; }
16
+ h2,.h2 { font-family: var(--font-main); font-weight: 500; font-size: 1.750rem; line-height: 1.000; letter-spacing: -0.05rem; text-transform: none; }
17
+ h3,.h3 { font-family: var(--font-main); font-weight: 500; font-size: 1.500rem; line-height: 1.000; letter-spacing: -0.05rem; text-transform: none; }
18
+ h4,.h4 { font-family: var(--font-main); font-weight: 500; font-size: 1.375rem; line-height: 1.250; letter-spacing: +0.0rem; text-transform: none; }
19
+ h5,.h5 { font-family: var(--font-main); font-weight: 500; font-size: 1.250rem; line-height: 1.250; letter-spacing: -0.0rem; text-transform: none; }
20
20
 
21
21
  // Typogragy Styles
22
22
  .p-small { font-family: var(--font-second); font-weight: 400; font-size: 0.75rem; line-height: 1.250; }