@ozdao/prometheus-framework 0.2.315 → 0.2.317

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. package/dist/prometheus-framework/src/components/Button/Button.vue2.cjs +1 -1
  2. package/dist/prometheus-framework/src/components/Button/Button.vue2.js +1 -1
  3. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs +93 -0
  4. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  5. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js +94 -1
  6. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue.js.map +1 -1
  7. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs +0 -93
  8. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  9. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js +1 -94
  10. package/dist/prometheus-framework/src/components/EditImages/EditImages.vue2.js.map +1 -1
  11. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  12. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  13. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
  14. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
  15. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  16. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  17. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
  18. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  19. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  20. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  21. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  22. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  23. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  24. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  25. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +2 -2
  26. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.js +2 -2
  27. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
  28. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
  29. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
  30. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
  31. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
  32. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
  33. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
  34. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
  35. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  36. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  37. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  38. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  39. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  40. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  41. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
  42. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  43. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +2 -2
  44. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +2 -2
  45. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  46. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  47. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
  48. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +1 -1
  49. package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  50. package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.js +1 -1
  51. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  52. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  53. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  54. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  55. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  56. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  57. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  58. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  59. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +4 -4
  60. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +4 -4
  61. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  62. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  63. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +1 -1
  64. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +1 -1
  65. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +5 -5
  66. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +5 -5
  67. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  68. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  69. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  70. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  71. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  72. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  73. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  74. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  75. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  76. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  77. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -3
  78. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
  79. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -2
  80. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
  81. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  82. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  83. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  84. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.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 +2 -2
  90. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  91. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  92. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  93. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
  94. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  95. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  96. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  97. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  98. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  99. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  100. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  101. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  102. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  103. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +1349 -1349
  104. package/dist/prometheus-framework/src/modules/pages/pages.client.js +1349 -1349
  105. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -2
  106. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
  107. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  108. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  109. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  110. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  111. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +2 -2
  112. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +2 -2
  113. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  114. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  115. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  116. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  117. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +2 -2
  118. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +2 -2
  119. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  120. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  121. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  122. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  123. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
  124. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
  125. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  126. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  127. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +2 -2
  128. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +2 -2
  129. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs +61 -22
  130. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.cjs.map +1 -1
  131. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js +62 -23
  132. package/dist/prometheus-framework/src/modules/products/components/sections/PopularProducts.vue.js.map +1 -1
  133. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
  134. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  136. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  137. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  138. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  139. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  140. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  141. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  142. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  143. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  144. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  145. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  146. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js +1 -1
  147. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  148. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  149. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  150. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  151. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  152. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  153. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  154. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  155. package/package.json +1 -1
  156. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  157. package/src/modules/products/components/sections/PopularProducts.vue +130 -83
  158. package/src/modules/products/components/sections/SectionProduct.vue +3 -3
@@ -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 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");
@@ -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,5 +1,5 @@
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.vue.js";
2
+ import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
3
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";
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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 = {
@@ -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";
@@ -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,7 +4,7 @@ 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
9
  ;/* empty css */
10
10
  const globals = require("../../../globals/views/store/globals.cjs");
@@ -2,7 +2,7 @@ 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
7
  /* empty css */
8
8
  import { state as state$1 } from "../../../globals/views/store/globals.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,7 +6,7 @@ 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
12
  ;/* empty css */
@@ -15,7 +15,7 @@ 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");
@@ -4,7 +4,7 @@ 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
10
  /* empty css */
@@ -13,7 +13,7 @@ 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.315",
3
+ "version": "0.2.317",
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"
@@ -1,101 +1,148 @@
1
1
  <template>
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 bg-light transition-ease-in hover-scale-0 h-100 w-100"
25
- />
26
- </transition>
27
- </div>
28
- </div>
29
- </div>
2
+ <div class="embla" ref="emblaNode">
3
+ <div class="embla__container">
4
+ <div
5
+ class="embla__slide pd-nano"
6
+ v-for="(value, key) in productsState"
7
+ :key="value?._id || key"
8
+ >
9
+ <transition name="fade" mode="out-in" appear>
10
+ <div
11
+ v-if="isLoading || !value?.name"
12
+ class="h-100 w-100 radius-big flex-center bg-light"
13
+ >
14
+ <Loader class="pos-relative"/>
15
+ </div>
16
+
17
+ <CardProduct
18
+ v-else
19
+ @click="handleProductClick(value)"
20
+ :product="value"
21
+ class="cursor-pointer bg-light transition-ease-in hover-scale-0 h-100 w-100"
22
+ />
23
+ </transition>
24
+ </div>
25
+ </div>
26
+ </div>
30
27
  </template>
31
28
 
29
+ <script setup>
30
+ import { ref, computed, onMounted, onUnmounted } from 'vue'
31
+ import { useRouter } from 'vue-router'
32
+
33
+ import emblaCarouselVue from 'embla-carousel-vue'
34
+ import Autoplay from 'embla-carousel-autoplay'
35
+ import Loader from '@pf/src/components/Loader/Loader.vue'
36
+ import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'
37
+ import * as products from '@pf/src/modules/products/store/products'
32
38
 
33
- <script setup scoped>
34
- import { ref, computed, onMounted } from 'vue'
39
+ const router = useRouter()
40
+ const productsState = ref([]) // Инициализируем как пустой массив
41
+ const isLoading = ref(true)
42
+ const selectedIndex = ref(0)
43
+ const scrollSnaps = ref([])
35
44
 
36
- import { useRouter } from 'vue-router'
37
-
38
- import emblaCarouselVue from 'embla-carousel-vue'; // Assuming a Vue version exists
39
- import Autoplay from 'embla-carousel-autoplay'
45
+ // Конфигурация автоплея
46
+ const autoplayOptions = {
47
+ delay: 2000,
48
+ jump: false,
49
+ stopOnInteraction: false,
50
+ stopOnMouseEnter: false,
51
+ stopOnFocusIn: true,
52
+ stopOnLastSnap: false,
53
+ rootNode: (emblaRoot) => emblaRoot.parentElement
54
+ }
40
55
 
41
- import Loader from '@pf/src/components/Loader/Loader.vue'
42
- import CardProduct from '@pf/src/modules/products/components/blocks/CardProduct.vue'
56
+ // Инициализация карусели
57
+ const [emblaNode, emblaApi] = emblaCarouselVue(
58
+ { loop: true },
59
+ [Autoplay(autoplayOptions)]
60
+ )
43
61
 
44
- import * as products from '@pf/src/modules/products/store/products';
45
-
46
- const router = useRouter()
47
-
48
- const productsState = ref(10)
49
- const selectedIndex = ref(0);
50
- const scrollSnaps = ref([]);
51
-
52
- const autoplayOptions = {
53
- delay: 2000,
54
- jump: false,
55
- stopOnInteraction: false,
56
- stopOnMouseEnter: false,
57
- stopOnFocusIn: true,
58
- stopOnLastSnap: false,
59
- rootNode: (emblaRoot) => emblaRoot.parentElement
60
- }
61
-
62
- const [emblaNode, emblaApi] = emblaCarouselVue({ loop: true }, [Autoplay(autoplayOptions)])
62
+ // Методы управления каруселью
63
+ const scrollTo = (index) => emblaApi.value?.scrollTo(index)
64
+ const onInit = () => {
65
+ if (emblaApi.value) {
66
+ scrollSnaps.value = emblaApi.value.scrollSnapList()
67
+ }
68
+ }
69
+ const onSelect = () => {
70
+ if (emblaApi.value) {
71
+ selectedIndex.value = emblaApi.value.selectedScrollSnap()
72
+ }
73
+ }
63
74
 
64
- const scrollTo = (index) => emblaApi.value && emblaApi.value.scrollTo(index);
65
- const onInit = (embla) => scrollSnaps.value = emblaApi.value.scrollSnapList();
66
- const onSelect = (embla) => selectedIndex.value = emblaApi.value.selectedScrollSnap();
75
+ // Обработчик клика по продукту
76
+ const handleProductClick = (product) => {
77
+ if (product?._id && product?.owner?.target) {
78
+ router.push({
79
+ name: 'Organization_Product',
80
+ params: {
81
+ _id: product.owner.target,
82
+ product: product._id
83
+ }
84
+ })
85
+ }
86
+ }
67
87
 
68
- onMounted(async() => {
69
- productsState.value = await products.actions.read({
70
- limit: 10,
71
- organization: '657e7134efb8110c51b8b713'
72
- })
88
+ // Загрузка данных
89
+ const loadProducts = async () => {
90
+ try {
91
+ isLoading.value = true
92
+ const response = await products.actions.read({
93
+ limit: 10,
94
+ organization: '657e7134efb8110c51b8b713'
95
+ })
96
+ productsState.value = Array.isArray(response) ? response : []
97
+ } catch (error) {
98
+ console.error('Error loading products:', error)
99
+ productsState.value = []
100
+ } finally {
101
+ isLoading.value = false
102
+ }
103
+ }
73
104
 
74
- onInit(emblaApi);
75
- onSelect(emblaApi);
105
+ onMounted(async () => {
106
+ // Загружаем данные
107
+ await loadProducts()
108
+
109
+ // Инициализируем карусель
110
+ onInit()
111
+ onSelect()
112
+
113
+ // Добавляем слушатели событий
114
+ if (emblaApi.value) {
115
+ emblaApi.value.on('reInit', onInit)
116
+ emblaApi.value.on('reInit', onSelect)
117
+ emblaApi.value.on('select', onSelect)
118
+ }
119
+ })
76
120
 
77
- emblaApi.value.on('reInit', onInit);
78
- emblaApi.value.on('reInit', onSelect);
79
- emblaApi.value.on('select', onSelect);
80
- });
121
+ // Очистка слушателей при размонтировании
122
+ onUnmounted(() => {
123
+ if (emblaApi.value) {
124
+ emblaApi.value.off('reInit', onInit)
125
+ emblaApi.value.off('reInit', onSelect)
126
+ emblaApi.value.off('select', onSelect)
127
+ }
128
+ })
81
129
  </script>
82
130
 
83
131
  <style lang="scss">
84
- .embla {
85
- overflow: hidden;
86
- }
87
- .embla__container {
88
- display: flex;
89
- }
132
+ .embla {
133
+ overflow: hidden;
134
+ }
135
+ .embla__container {
136
+ display: flex;
137
+ }
138
+ .embla__slide {
139
+ flex: 0 0 25%;
140
+ min-width: 0;
141
+ }
142
+ @media screen and (max-width: 1025px) {
90
143
  .embla__slide {
91
- flex: 0 0 25%;
144
+ flex: 0 0 75%;
92
145
  min-width: 0;
93
146
  }
94
-
95
- @media screen and (max-width: 1025px) {
96
- .embla__slide {
97
- flex: 0 0 75%;
98
- min-width: 0;
99
- }
100
- }
147
+ }
101
148
  </style>