@ozdao/prometheus-framework 0.2.322 → 0.2.324

Sign up to get free protection for your applications and to get access to all the features.
Files changed (448) hide show
  1. package/dist/Media-BjSScxrV.js +1 -0
  2. package/dist/Media-CCVndMgQ.mjs +111 -0
  3. package/dist/main-BBmjvE8i.js +92 -0
  4. package/dist/main-BCskq3d2.mjs +13068 -0
  5. package/dist/main.css +1 -1
  6. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +9 -11
  7. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs.map +1 -1
  8. package/dist/prometheus-framework/src/components/Button/Button.vue.js +10 -12
  9. package/dist/prometheus-framework/src/components/Button/Button.vue.js.map +1 -1
  10. package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.cjs +37 -9
  11. package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.cjs.map +1 -1
  12. package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.js +37 -9
  13. package/dist/prometheus-framework/src/components/DatePicker/Calendar.vue2.js.map +1 -1
  14. package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.cjs +27 -18
  15. package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.cjs.map +1 -1
  16. package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.js +27 -18
  17. package/dist/prometheus-framework/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  18. package/dist/prometheus-framework/src/components/EmptyState/EmptyState.vue.cjs +2 -2
  19. package/dist/prometheus-framework/src/components/EmptyState/EmptyState.vue.js +2 -2
  20. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +6 -2
  21. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs.map +1 -1
  22. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +6 -2
  23. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js.map +1 -1
  24. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  25. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  26. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  27. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  28. package/dist/prometheus-framework/src/components/Media/Media.vue.cjs +154 -0
  29. package/dist/prometheus-framework/src/components/Media/Media.vue.cjs.map +1 -0
  30. package/dist/prometheus-framework/src/components/Media/Media.vue.js +154 -0
  31. package/dist/prometheus-framework/src/components/Media/Media.vue.js.map +1 -0
  32. package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs +1 -4
  33. package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs.map +1 -1
  34. package/dist/prometheus-framework/src/components/Popup/Popup.vue.js +1 -4
  35. package/dist/prometheus-framework/src/components/Popup/Popup.vue.js.map +1 -1
  36. package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs +68 -37
  37. package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs.map +1 -1
  38. package/dist/prometheus-framework/src/components/Slider/Slider.vue.js +69 -38
  39. package/dist/prometheus-framework/src/components/Slider/Slider.vue.js.map +1 -1
  40. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.cjs +3 -3
  41. package/dist/prometheus-framework/src/modules/auth/views/components/layouts/Auth.vue.js +3 -3
  42. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  43. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  44. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +3 -3
  45. package/dist/prometheus-framework/src/modules/auth/views/components/pages/EnterPassword.vue.js +3 -3
  46. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.cjs +3 -3
  47. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Invite.vue.js +3 -3
  48. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs +5 -4
  49. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  50. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js +5 -4
  51. package/dist/prometheus-framework/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  52. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  53. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  54. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +3 -3
  55. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ProfileEdit.vue.js +3 -3
  56. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +3 -3
  57. package/dist/prometheus-framework/src/modules/auth/views/components/pages/ResetPassword.vue.js +3 -3
  58. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.cjs +3 -3
  59. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
  60. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.cjs +3 -3
  61. package/dist/prometheus-framework/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  62. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
  63. package/dist/prometheus-framework/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
  64. package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.cjs +0 -2
  65. package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.cjs.map +1 -1
  66. package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.js +4 -6
  67. package/dist/prometheus-framework/src/modules/backoffice/backoffice.client.js.map +1 -1
  68. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +119 -4
  69. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
  70. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +120 -5
  71. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  72. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +112 -163
  73. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
  74. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +119 -170
  75. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  76. package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.cjs +0 -17
  77. package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.cjs.map +1 -1
  78. package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.js +2 -19
  79. package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.js.map +1 -1
  80. package/dist/prometheus-framework/src/modules/community/community.client.cjs +0 -3
  81. package/dist/prometheus-framework/src/modules/community/community.client.cjs.map +1 -1
  82. package/dist/prometheus-framework/src/modules/community/community.client.js +6 -9
  83. package/dist/prometheus-framework/src/modules/community/community.client.js.map +1 -1
  84. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  85. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  86. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +18 -78
  87. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
  88. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +23 -83
  89. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  90. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
  91. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  92. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +2 -2
  93. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +2 -2
  94. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  95. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  96. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
  97. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +5 -5
  98. package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  99. package/dist/prometheus-framework/src/modules/constructor/components/elements/Card.vue.js +1 -1
  100. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  101. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  102. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +34 -25
  103. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  104. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +35 -26
  105. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  106. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  107. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  108. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  109. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  110. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  111. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  112. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  113. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  114. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +9 -4
  115. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  116. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +20 -15
  117. package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js.map +1 -1
  118. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs +221 -50
  119. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  120. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js +225 -54
  121. package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js.map +1 -1
  122. package/dist/prometheus-framework/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  123. package/dist/prometheus-framework/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  124. package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.cjs +98 -0
  125. package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -0
  126. package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.js +98 -0
  127. package/dist/prometheus-framework/src/modules/events/components/sections/EventsHot.vue.js.map +1 -0
  128. package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.cjs +9 -9
  129. package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
  130. package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.js +9 -9
  131. package/dist/prometheus-framework/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
  132. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs +1 -1
  133. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.cjs.map +1 -1
  134. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js +1 -1
  135. package/dist/prometheus-framework/src/modules/events/components/sections/List.vue.js.map +1 -1
  136. package/dist/prometheus-framework/src/modules/events/events.client.cjs +1 -0
  137. package/dist/prometheus-framework/src/modules/events/events.client.cjs.map +1 -1
  138. package/dist/prometheus-framework/src/modules/events/events.client.js +1 -0
  139. package/dist/prometheus-framework/src/modules/events/events.client.js.map +1 -1
  140. package/dist/prometheus-framework/src/modules/events/router/events.cjs.map +1 -1
  141. package/dist/prometheus-framework/src/modules/events/router/events.js.map +1 -1
  142. package/dist/prometheus-framework/src/modules/events/store/events.cjs +2 -1
  143. package/dist/prometheus-framework/src/modules/events/store/events.cjs.map +1 -1
  144. package/dist/prometheus-framework/src/modules/events/store/events.js +2 -1
  145. package/dist/prometheus-framework/src/modules/events/store/events.js.map +1 -1
  146. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -4
  147. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
  148. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  149. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  150. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  151. package/dist/prometheus-framework/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  152. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.cjs +4 -4
  153. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
  154. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.js +4 -4
  155. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
  156. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs +20 -6
  157. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  158. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js +20 -6
  159. package/dist/prometheus-framework/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  160. package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.cjs +100 -0
  161. package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -0
  162. package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.js +100 -0
  163. package/dist/prometheus-framework/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -0
  164. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs +7 -8
  165. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  166. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js +7 -8
  167. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  168. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  169. package/dist/prometheus-framework/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  170. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.cjs +2 -7
  171. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
  172. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.js +2 -7
  173. package/dist/prometheus-framework/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
  174. package/dist/prometheus-framework/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  175. package/dist/prometheus-framework/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  176. package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.cjs +30 -14
  177. package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
  178. package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.js +30 -14
  179. package/dist/prometheus-framework/src/modules/globals/views/mixins/mixins.js.map +1 -1
  180. package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.cjs +33 -0
  181. package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.cjs.map +1 -0
  182. package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.js +33 -0
  183. package/dist/prometheus-framework/src/modules/icons/actions/IconShopcartAdd.vue.js.map +1 -0
  184. package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.cjs +4 -17
  185. package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.cjs.map +1 -1
  186. package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.js +4 -17
  187. package/dist/prometheus-framework/src/modules/icons/entities/IconCommunity.vue.js.map +1 -1
  188. package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.cjs +34 -0
  189. package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.cjs.map +1 -0
  190. package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.js +34 -0
  191. package/dist/prometheus-framework/src/modules/icons/entities/IconPayments.vue.js.map +1 -0
  192. package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.cjs +27 -17
  193. package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.cjs.map +1 -1
  194. package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.js +28 -18
  195. package/dist/prometheus-framework/src/modules/icons/entities/IconPrice.vue.js.map +1 -1
  196. package/dist/prometheus-framework/src/modules/icons/icons.client.cjs +2 -0
  197. package/dist/prometheus-framework/src/modules/icons/icons.client.cjs.map +1 -1
  198. package/dist/prometheus-framework/src/modules/icons/icons.client.js +50 -48
  199. package/dist/prometheus-framework/src/modules/icons/icons.client.js.map +1 -1
  200. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionEarn.vue.cjs +83 -81
  201. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
  202. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionEarn.vue.js +83 -81
  203. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  204. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionFeatures.vue.cjs +25 -62
  205. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionFeatures.vue.cjs.map +1 -1
  206. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionFeatures.vue.js +25 -62
  207. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionFeatures.vue.js.map +1 -1
  208. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.cjs +6 -6
  209. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  210. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.js +6 -6
  211. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  212. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +89 -0
  213. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +1 -0
  214. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionJoinUs.vue.js +89 -0
  215. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -0
  216. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +97 -0
  217. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -0
  218. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionMobileApp.vue.js +97 -0
  219. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -0
  220. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionOverview.vue.cjs +3 -6
  221. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionOverview.vue.cjs.map +1 -1
  222. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionOverview.vue.js +3 -6
  223. package/dist/prometheus-framework/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
  224. package/dist/prometheus-framework/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +34 -37
  225. package/dist/prometheus-framework/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
  226. package/dist/prometheus-framework/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +34 -37
  227. package/dist/prometheus-framework/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  228. package/dist/prometheus-framework/src/modules/landing/landing.client.cjs +6 -4
  229. package/dist/prometheus-framework/src/modules/landing/landing.client.cjs.map +1 -1
  230. package/dist/prometheus-framework/src/modules/landing/landing.client.js +18 -16
  231. package/dist/prometheus-framework/src/modules/landing/landing.client.js.map +1 -1
  232. package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +1 -1
  233. package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  234. package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.js +1 -1
  235. package/dist/prometheus-framework/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  236. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  237. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  238. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +4 -4
  239. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
  240. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  241. package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +1 -1
  242. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +3 -3
  243. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +3 -3
  244. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +2 -2
  245. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +2 -2
  246. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  247. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  248. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  249. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  250. package/dist/prometheus-framework/src/modules/orders/store/shopcart.cjs +67 -2
  251. package/dist/prometheus-framework/src/modules/orders/store/shopcart.cjs.map +1 -1
  252. package/dist/prometheus-framework/src/modules/orders/store/shopcart.js +67 -2
  253. package/dist/prometheus-framework/src/modules/orders/store/shopcart.js.map +1 -1
  254. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  255. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +7 -7
  256. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  257. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  258. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +4 -4
  259. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +4 -4
  260. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  261. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +2 -2
  262. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
  263. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +2 -2
  264. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  265. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  266. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +4 -4
  267. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -4
  268. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs +2 -2
  269. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
  270. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
  271. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  272. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  273. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  274. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  275. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  276. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +3 -3
  277. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
  278. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +3 -3
  279. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  280. package/dist/prometheus-framework/src/modules/pages/pages.client.cjs +888 -860
  281. package/dist/prometheus-framework/src/modules/pages/pages.client.js +888 -860
  282. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -2
  283. package/dist/prometheus-framework/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
  284. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  285. package/dist/prometheus-framework/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  286. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  287. package/dist/prometheus-framework/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  288. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +2 -2
  289. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +2 -2
  290. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs +4 -15
  291. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  292. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js +4 -15
  293. package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  294. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +3 -3
  295. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs.map +1 -1
  296. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +3 -3
  297. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js.map +1 -1
  298. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  299. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  300. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  301. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  302. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs +24 -30
  303. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  304. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js +25 -31
  305. package/dist/prometheus-framework/src/modules/products/components/elements/Price.vue.js.map +1 -1
  306. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +2 -2
  307. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +2 -2
  308. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
  309. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  310. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  311. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  312. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  313. package/dist/prometheus-framework/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  314. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs +236 -13
  315. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  316. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js +239 -16
  317. package/dist/prometheus-framework/src/modules/products/components/pages/Product.vue.js.map +1 -1
  318. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
  319. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
  320. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +1 -1
  321. package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +1 -1
  322. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  323. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  324. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +3 -3
  325. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +3 -3
  326. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +62 -16
  327. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  328. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +67 -21
  329. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  330. package/dist/prometheus-framework/src/modules/products/products.client.cjs +0 -3
  331. package/dist/prometheus-framework/src/modules/products/products.client.cjs.map +1 -1
  332. package/dist/prometheus-framework/src/modules/products/products.client.js +48 -51
  333. package/dist/prometheus-framework/src/modules/products/products.client.js.map +1 -1
  334. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  335. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  336. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  337. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  338. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +2 -2
  339. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
  340. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  341. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  342. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  343. package/dist/prometheus-framework/src/modules/spots/components/pages/Map.vue.js +1 -1
  344. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +4 -4
  345. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +4 -4
  346. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  347. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  348. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +2 -2
  349. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  350. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
  351. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  352. package/dist/prometheus-framework.cjs.js +1 -92
  353. package/dist/prometheus-framework.es.js +36 -13005
  354. package/package.json +1 -1
  355. package/src/components/Button/Button.vue +43 -40
  356. package/src/components/DatePicker/Calendar.vue +15 -7
  357. package/src/components/DatePicker/DatePicker.vue +50 -40
  358. package/src/components/EmptyState/EmptyState.vue +2 -2
  359. package/src/components/Feed/Feed.vue +6 -2
  360. package/src/components/FieldBig/FieldBig.vue +0 -2
  361. package/src/components/Media/Media.vue +211 -0
  362. package/src/components/Popup/Popup.vue +19 -21
  363. package/src/components/Slider/Slider.vue +57 -21
  364. package/src/components/index.js +1 -0
  365. package/src/main.js +3 -1
  366. package/src/modules/auth/views/components/pages/Profile.vue +2 -1
  367. package/src/modules/backoffice/backoffice.client.js +0 -2
  368. package/src/modules/backoffice/components/pages/Dashboard.vue +95 -2
  369. package/src/modules/backoffice/components/partials/Sidebar.vue +115 -132
  370. package/src/modules/backoffice/router/backoffice.js +0 -14
  371. package/src/modules/community/community.client.js +0 -3
  372. package/src/modules/community/components/layouts/Community.vue +1 -52
  373. package/src/modules/events/components/blocks/CardEvent.vue +28 -22
  374. package/src/modules/events/components/pages/Event.vue +2 -6
  375. package/src/modules/events/components/pages/Events.vue +241 -56
  376. package/src/modules/events/components/sections/EventsHot.vue +93 -0
  377. package/src/modules/events/components/sections/FeaturedEvents.vue +17 -15
  378. package/src/modules/events/components/sections/List.vue +1 -1
  379. package/src/modules/events/events.client.js +1 -0
  380. package/src/modules/events/router/events.js +0 -4
  381. package/src/modules/events/store/events.js +1 -0
  382. package/src/modules/globals/views/components/layouts/App.vue +4 -5
  383. package/src/modules/globals/views/components/layouts/Client.vue +17 -2
  384. package/src/modules/globals/views/components/partials/CitySelection.vue +88 -0
  385. package/src/modules/globals/views/components/partials/Header.vue +3 -3
  386. package/src/modules/globals/views/components/partials/Navigation.vue +75 -20
  387. package/src/modules/globals/views/components/partials/Sidebar.vue +2 -9
  388. package/src/modules/globals/views/mixins/mixins.js +56 -35
  389. package/src/modules/governance/DESCRIPTION.MD +238 -0
  390. package/src/modules/governance/controllers/factories/initiatives.controller.js +3 -1
  391. package/src/modules/governance/controllers/routes/initiatives.routes.js +1 -1
  392. package/src/modules/governance/controllers/routes/tasks.routes.js +1 -1
  393. package/src/modules/governance/controllers/routes/votes.routes.js +1 -1
  394. package/src/modules/governance/controllers/routes/votings.routes.js +1 -1
  395. package/src/modules/governance/governance.client.js +35 -35
  396. package/src/modules/governance/governance.server.js +8 -8
  397. package/src/modules/governance/models/milestone.model.js +98 -0
  398. package/src/modules/governance/models/task.model.js +39 -7
  399. package/src/modules/governance/views/components/pages/Initiative.vue +1 -1
  400. package/src/modules/governance/views/components/pages/InitiativeCreate.vue +2 -2
  401. package/src/modules/governance/views/components/pages/Initiatives.vue +3 -2
  402. package/src/modules/governance/views/components/pages/Task.vue +1 -1
  403. package/src/modules/governance/views/components/pages/TaskCreate.vue +2 -2
  404. package/src/modules/governance/views/components/pages/Tasks.vue +2 -2
  405. package/src/modules/governance/views/components/pages/Voting.vue +3 -3
  406. package/src/modules/governance/views/components/pages/VotingCreate.vue +2 -2
  407. package/src/modules/governance/views/components/pages/Votings.vue +2 -2
  408. package/src/modules/governance/views/components/sections/VoteForm.vue +1 -1
  409. package/src/modules/governance/views/router/goverance.router.js +263 -0
  410. package/src/modules/icons/actions/IconShopcartAdd.vue +15 -0
  411. package/src/modules/icons/entities/IconCommunity.vue +4 -6
  412. package/src/modules/icons/entities/IconPayments.vue +14 -0
  413. package/src/modules/icons/entities/IconPrice.vue +12 -3
  414. package/src/modules/icons/icons.client.js +5 -0
  415. package/src/modules/icons/logos/Logotype.vue +50 -17
  416. package/src/modules/landing/components/sections/SectionEarn.vue +42 -42
  417. package/src/modules/landing/components/sections/SectionFeatures.vue +25 -63
  418. package/src/modules/landing/components/sections/SectionGuide.vue +5 -5
  419. package/src/modules/landing/components/sections/SectionJoinUs.vue +95 -0
  420. package/src/modules/landing/components/sections/SectionMobileApp.vue +87 -0
  421. package/src/modules/landing/components/sections/SectionOverview.vue +3 -3
  422. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +32 -31
  423. package/src/modules/landing/landing.client.js +5 -3
  424. package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -0
  425. package/src/modules/orders/store/shopcart.js +100 -1
  426. package/src/modules/organizations/components/pages/Organizations.vue +1 -1
  427. package/src/modules/products/components/blocks/CardProduct.vue +5 -11
  428. package/src/modules/products/components/blocks/ImagesThumbnails.vue +4 -4
  429. package/src/modules/products/components/elements/Price.vue +33 -56
  430. package/src/modules/products/components/pages/Product.vue +235 -13
  431. package/src/modules/products/components/sections/SectionProduct.vue +50 -25
  432. package/src/modules/products/products.client.js +0 -4
  433. package/src/styles/base/all.scss +22 -21
  434. package/src/styles/config.scss +2 -2
  435. package/src/modules/backoffice/components/layouts/Backoffice.vue +0 -55
  436. package/src/modules/community/components/sections/JoinUs.vue +0 -75
  437. package/src/modules/events/components/sections/SectionLineup.vue +0 -42
  438. package/src/modules/events/components/sections/SectionMainGuest.vue +0 -95
  439. package/src/modules/events/components/sections/SectionPreviousEvents.vue +0 -117
  440. package/src/modules/events/components/sections/SectionSpecialGuests.vue +0 -46
  441. package/src/modules/governance/controllers/factories/projects.controller.js +0 -65
  442. package/src/modules/governance/controllers/routes/projects.routes.js +0 -34
  443. package/src/modules/governance/models/project.model.js +0 -26
  444. package/src/modules/landing/components/sections/FeatureSection.vue +0 -80
  445. package/src/modules/landing/components/sections/HeroSection.vue +0 -76
  446. package/src/modules/landing/components/sections/HowItWorksSection.vue +0 -88
  447. package/src/modules/landing/components/sections/MobileApp.vue +0 -133
  448. /package/src/modules/{landing → spots}/components/sections/MapSection.vue +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Product.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Product.vue"],"sourcesContent":["<template>\n\t<div class=\"h-100 w-100 bg-white \">\n\t\t<!-- <Breadcrumbs class=\"bg-light radius-big pd-small\"/> -->\n\t\t<SectionProduct v-if=\"product\" :product=\"product\" :user=\"auth.state.user\" class=\"pos-relative\"/>\n\n\t\t<div class=\"h-max pos-relative\">\n\t\t <h3 class=\"pd-medium pd-b-small\">Most Popular</h3>\n\t\t\t<PopularProducts />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup=\"props\">\n\t// Import components\n\t// import Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport PopularProducts \tfrom '@pf/src/modules/products/components/sections/PopularProducts.vue'\n\timport SectionProduct from '@pf/src/modules/products/components/sections/SectionProduct.vue'\n\t// Import libs\n\timport { computed, onMounted } from 'vue'\n\timport { useRoute,useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n \timport * as products from '@pf/src/modules/products/store/products';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\t\n\troute.meta.title.en = products.state.current.name\n\troute.meta.title.ru = products.state.current.name\n\n\t// Accessing state\n\tconst product = computed(() => products.state.current)\n\n\tconst text = {\n\t\tmessages: {\n\t\t}\n\t};\n\n\tonMounted(async ()=> {\n\t\tawait products.actions.read({_id: route.params.product});\n\n\t})\n\t\n\t// products.state.current.localization.forEach(localization => {\n \t// if (localization) text.messages[localization.locale].description = localization.text\n\t// })\n\n const { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n</style>\n"],"names":["products.state","products.actions"],"mappings":";;;;;;;;;;;;;AA2BC,UAAM,QAAQ,SAAU;AACT,cAAW;AAG1B,UAAM,KAAK,MAAM,KAAKA,MAAe,QAAQ;AAC7C,UAAM,KAAK,MAAM,KAAKA,MAAe,QAAQ;AAG7C,UAAM,UAAU,SAAS,MAAMA,MAAe,OAAO;AAErD,UAAM,OAAO;AAAA,MACZ,UAAU,CACT;AAAA,IACH;AAEC,cAAU,YAAW;AACpB,YAAMC,QAAiB,KAAK,EAAC,KAAK,MAAM,OAAO,QAAO,CAAC;AAAA,IAEzD,CAAE;AAMc,YAAQ,IAAI;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Product.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Product.vue"],"sourcesContent":["<template>\n\t<div class=\"h-100 w-100 mobile:pd-thin pd-big bg-white \">\n\t\t<!-- <Breadcrumbs class=\"bg-light radius-big pd-small\"/> -->\n\t\t<div class=\"cols-2-1_2 w-100 gap-medium\">\n\t\t\n\t\t\t<div class=\"w-100 o-hidden bg-light radius-big flex-nowrap flex-column flex pos-relative\">\n\t\t\t\t<div class=\"pd-semi w-100 bg-light radius-semi o-hidden\">\n\t\t\t\t\t<!-- PRODUCT IMAGE -->\n\t\t\t\t\t<Images360\n\t\t\t\t\t\tv-if=\"product && product.image3d\"\n\t\t\t\t\t\tclass=\"h-100 w-100\"\n\t\t\t\t\t\t:imagePath=\"`/assets/images/products/${product.image3d}`\"\n\t\t\t\t\t\t:imageCount=\"36\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\t\tv-if=\"images[0] && !product.image3d\"\n\t\t\t\t\t\tclass=\"h-max h-max-15r bg-white radius-semi w-100\"\n\t\t\t\t\t\tstyle=\"object-fit: contain;\"\n\t\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + images[0]\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<PlaceholderImage\n\t\t\t\t\t\tv-if=\"!images[0] && !product.image3d\"\n\t\t\t\t\t\tclass=\"h-max-20r h-100 w-100\"\n\t\t\t\t\t\tstyle=\"object-fit: cover;\"\n\t\t\t\t\t/>\n\n\t\t\t\t</div>\n\n\t\t\t\t<ImagesThumbnails\n\t\t\t\t\tv-if=\"images.length > 1\"\n\t\t\t\t\t:images=\"images\"\n\t\t\t\t\tclass=\"pd-semi pd-t-zero\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div class=\"pos-relative w-100 h-100 flex-column flex-h-center flex\">\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"accesses && hasAccess(route.params._id, 'products', 'edit', accesses)\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'ProductEdit', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: product.owner.target,\n\t\t\t\t\t\t\tproduct: product._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<h2 class=\"w-100 h1-product mn-b-small\">{{ product.name }}</h2>\n\n\t\t\t\t<Price :product=\"product\" size=\"big\" class=\"flex gap-thin flex-center pd-thin br-solid br-1px br-black-transp-10 w-max mn-b-medium\" />\n\n\t\t\t\t<!-- Price -->\n\t\t\t\t<div v-if=\"product.description || product.specification\" class=\"h-min-5r o-hidden radius-small bg-light mn-b-medium pos-relative\">\n\t\t\t\t\t<Tab \n\t\t\t\t\t\tv-model:selected=\"tabProduct\"\n\t\t\t\t\t\t:tabs=\"[\n\t\t\t\t\t\t\t{name: 'Description', value: 'description'},\n\t\t\t\t\t\t\t{name: 'Specifications', value: 'specifications'}\n\t\t\t\t\t\t]\"\n\t\t\t\t\t\ttabClass=\"pd-thin bg-white radius-thin p-small uppercase t-medium\"\n\t\t\t\t\t\tclass=\"gap-micro bg-light pos-relative z-index-2 pd-thin br-solid br-b br-black-transp-10\"\n\t\t\t\t\t/>\n\t\t\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t\t\t<div v-if=\"tabProduct === 'description'\" class=\" pd-medium\">\n\t\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\t{{ product.description }}\n\t\t\t\t\t\t\t</p>\n\n\t\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{{ t('description') }}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\tclass=\"cols-2 pd-medium w-100 gap-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div \n\t\t\t\t\t\t\t\tv-if=\"product.information.length > 0\" \n\t\t\t\t\t\t\t\tv-for=\"information in product.information\" \n\t\t\t\t\t\t\t\tclass=\"w-100 pd-small radius-small bg-white product-information\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p class=\"t-demi\">{{ information.name }}</p>\n\t\t\t\t\t\t\t\t<p>{{ information.value }}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Modifications -->\n\t\t\t\t<!-- <div v-if=\"product.modifications.length > 0\" class=\"flex-nojustify flex\">\n\t\t\t\t\t<SelectElement v-if=\"sizes2.length > 0\" :elements=\"sizes2\" :selected=\"product.selectedSize\" class=\"mn-r-medium\" />\n\t\t\t\t</div> -->\n\n\t\t\t\t<!-- Actions -->\n\t\t\t\t<div class=\"w-max-33r\">\n\t\t\t\t <button\n\t\t\t\t v-if=\"product.quantity > 0 || product.listing === 'rent'\"\n\t\t\t\t @click=\"product.listing === 'rent' ? openPopup() : addToCart(product)\" \n\t\t\t\t class=\"cursor-pointer pd-small radius-big w-max mobile:w-100 bg-main button\"\n\t\t\t\t > \n\t\t\t\t <div class=\"gap-thin flex flex-center flex-nowrap\">\n\t\t\t\t <IconShopcartAdd v-if=\"product.listing === 'rent'\" class=\"i-semi\" />\n\t\t\t\t <span>{{ t('addtoorder') }}</span>\n\t\t\t\t </div>\n\t\t\t\t </button>\n\n\t\t\t\t <div \n\t\t\t\t v-else \n\t\t\t\t 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 >\n\t\t\t\t Out of Stock\n\t\t\t\t </div>\n\t\t\t\t</div>\n\t\t\t\t<!-- Shopcart Adding Popup -->\n\t\t\t\t<Popup @close-popup=\"closePopup\" :isPopupOpen=\"isPopupVisible\" class=\"radius-medium pd-medium bg-white o-hidden\">\n\t\t <h5 class=\"w-100 t-center mn-b-small\">Select Rent Period</h5>\n\t\t <Calendar\n\t\t \t:date=\"rentDate\"\n\t\t \t:allowRange=\"true\"\n\t\t \tclass=\"bg-light radius-small\"\n\t\t />\n\n\t\t <p class=\"flex flex-nowrap pd-t-small\">\n\t\t \t<span class=\"w-100 t-transp\">$ 400 x 4 days</span>\n\t\t \t<span class=\"w-100 t-right\">$2000</span>\n\t\t </p>\n\t\t <p class=\"flex flex-nowrap pd-t-small\">\n\t\t \t<span class=\"w-100 t-transp\">Insurance Fee</span>\n\t\t \t<span class=\"w-100 t-right\">$200</span>\n\t\t </p>\n\t\t <p class=\"flex flex-nowrap br-black-transp-10 br-solid br-b pd-b-small pd-t-small\">\n\t\t \t<span class=\"w-100 t-transp\">VAT (20%)</span>\n\t\t \t<span class=\"w-100 t-right\">$300</span>\n\t\t </p>\n\t\t \n\t\t \t<p class=\"p-big flex flex-nowrap pd-b-small pd-t-small\">\n\t\t \t<span class=\"w-100 t-medium \">In Total</span>\n\t\t \t<span class=\"w-100 t-main t-medium t-right\">$2500</span>\n\t \t</p>\n\n\t \t<Button\n\t\t\t\t v-if=\"product.quantity > 0 || product.listing === 'rent'\"\n\t\t\t\t :submit=\"() => addToCart(product)\" \n\t\t\t\t :callback=\"() => closePopup()\"\n\t\t\t\t :disabled=\"product.listing !== 'rent' && validateToCard(product)\"\n\t\t\t\t :text=\"{\n\t\t\t\t success: 'Added',\n\t\t\t\t error: 'Error'\n\t\t\t\t }\"\n\t\t\t\t class=\"h-3r w-100 bg-main button\"\n\t\t\t\t > \n\t\t\t\t <div class=\"gap-thin flex flex-center flex-nowrap\">\n\t\t\t\t <IconShopcartAdd v-if=\"product.listing === 'rent'\" class=\"i-semi\" />\n\t\t\t\t <span>{{ t('addtoorder') }}</span>\n\t\t\t\t </div>\n\t\t\t\t </Button>\n\t\t </Popup>\n\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"h-max pos-relative\">\n\t\t <h3 class=\"pd-medium pd-b-small\">Most Popular</h3>\n\t\t\t<PopularProducts />\n\t\t</div>\n\t</div>\n</template>\n\n<script setup=\"props\">\n\t// Import components\n\t// import Breadcrumbs from '@pf/src/components/Breadcrumbs/Breadcrumbs.vue'\n\timport Button from '@pf/src/components/Button/Button.vue'\n\timport Popup from '@pf/src/components/Popup/Popup.vue'\n\timport Tab from '@pf/src/components/Tab/Tab.vue'\n\timport Calendar from '@pf/src/components/DatePicker/Calendar.vue'\n\n\timport IconEdit from '@pf/src/modules/icons/navigation/IconEdit.vue'\n\timport IconShopcartAdd from '@pf/src/modules/icons/actions/IconShopcartAdd.vue'\n\n\timport PlaceholderImage from '@pf/src/modules/icons/placeholders/PlaceholderImage.vue'\n\n\timport Images360 \tfrom '@pf/src/modules/products/components/blocks/Images360.vue'\n\timport ImagesThumbnails from \"@pf/src/modules/products/components/blocks/ImagesThumbnails.vue\";\n\n\timport Price from '@pf/src/modules/products/components/elements/Price.vue'\n\n\timport PopularProducts \tfrom '@pf/src/modules/products/components/sections/PopularProducts.vue'\n\timport SectionProduct from '@pf/src/modules/products/components/sections/SectionProduct.vue'\n\t// Import libs\n\timport { computed, ref, onMounted } from 'vue'\n\timport { useRoute,useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\n import * as auth from '@pf/src/modules/auth/views/store/auth';\n \timport * as products from '@pf/src/modules/products/store/products';\n import * as categories from '@pf/src/modules/products/store/categories';\n\n\timport * as shopcart from '@pf/src/modules/orders/store/shopcart';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\t\n\troute.meta.title.en = products.state.current.name\n\troute.meta.title.ru = products.state.current.name\n\n\t// Accessing state\n\tconst product = computed(() => products.state.current)\n\tconst images = computed(() => products.state.current.images)\n\n\tlet rentDate = ref({\n\t\tstart: null,\n\t\tend: null\n\t})\n\n\n\tconst tabProduct = ref('description')\n\n\tconst text = {\n\t en: {\n\t \taddtoorder: 'Add to Cart',\n\t fastorder: 'Fast Order'\n\t },\n\t ru: {\n\t \taddtoorder: 'Добавить в корзину',\n\t fastorder: 'Быстрый заказ'\n\t }\n\t}\n\n const { t } = useI18n({messages: text})\n\n\tonMounted(async ()=> {\n\t\tawait products.actions.read({_id: route.params.product});\n\t})\n\n\t// Methods\n\tfunction validateToCard(product) {\n\t if (product.quantity > 0) {\n\t return false\n\t }\n\t return true\n\t}\n\n\tconst isPopupVisible = ref(false);\n\n\tconst openPopup = () => {\n\t isPopupVisible.value = true;\n\t};\n\n\tconst closePopup = () => {\n\t isPopupVisible.value = false;\n\t};\n\n\tasync function addToCart(product) {\n try {\n if (shopcart.state.organization !== product.owner.target) {\n shopcart.state.organization = product.owner.target\n shopcart.state.positions = []\n }\n \n await shopcart.actions.addProductToCart(product, product.owner.target, rentDate)\n\n return true\n } catch (error) {\n console.error('Ошибка при добавлении товара в корзину:', error)\n throw error\n }\n\t}\n</script>\n\n<style lang=\"scss\">\n</style>\n"],"names":["products.state","products.actions","product","shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8MC,UAAM,QAAQ,SAAU;AACT,cAAW;AAE1B,UAAM,KAAK,MAAM,KAAKA,MAAe,QAAQ;AAC7C,UAAM,KAAK,MAAM,KAAKA,MAAe,QAAQ;AAG7C,UAAM,UAAU,SAAS,MAAMA,MAAe,OAAO;AACrD,UAAM,SAAS,SAAS,MAAMA,MAAe,QAAQ,MAAM;AAE3D,QAAI,WAAW,IAAI;AAAA,MAClB,OAAO;AAAA,MACP,KAAK;AAAA,IACP,CAAE;AAGD,UAAM,aAAa,IAAI,aAAa;AAEpC,UAAM,OAAO;AAAA,MACX,IAAI;AAAA,QACH,YAAY;AAAA,QACX,WAAW;AAAA,MACZ;AAAA,MACD,IAAI;AAAA,QACH,YAAY;AAAA,QACX,WAAW;AAAA,MACZ;AAAA,IACF;AAEA,UAAM,EAAE,EAAC,IAAK,QAAQ,EAAC,UAAU,KAAI,CAAC;AAEvC,cAAU,YAAW;AACpB,YAAMC,QAAiB,KAAK,EAAC,KAAK,MAAM,OAAO,QAAO,CAAC;AAAA,IACzD,CAAE;AAGD,aAAS,eAAeC,UAAS;AAC/B,UAAIA,SAAQ,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACR;AAED,UAAM,iBAAiB,IAAI,KAAK;AAEhC,UAAM,YAAY,MAAM;AACtB,qBAAe,QAAQ;AAAA,IAC1B;AAEC,UAAM,aAAa,MAAM;AACvB,qBAAe,QAAQ;AAAA,IAC1B;AAEC,mBAAe,UAAUA,UAAS;AAC/B,UAAI;AACF,YAAIC,QAAe,iBAAiBD,SAAQ,MAAM,QAAQ;AACxDC,kBAAe,eAAeD,SAAQ,MAAM;AAC5CC,kBAAe,YAAY,CAAE;AAAA,QAC9B;AAED,cAAMC,UAAiB,iBAAiBF,UAASA,SAAQ,MAAM,QAAQ,QAAQ;AAE/E,eAAO;AAAA,MACR,SAAQ,OAAO;AACd,gBAAQ,MAAM,2CAA2C,KAAK;AAC9D,cAAM;AAAA,MACP;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,10 +5,10 @@ const vueRouter = require("vue-router");
5
5
  require("vue-i18n");
6
6
  ;/* empty css */
7
7
  const Block = require("../../../../components/Block/Block.vue.cjs");
8
- ;/* empty css */
9
- const Field = require("../../../../components/Field/Field.vue2.cjs");
8
+ ;/* empty css */
9
+ const Field = require("../../../../components/Field/Field.vue.cjs");
10
10
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
11
- const Button = require("../../../../components/Button/Button.vue2.cjs");
11
+ const Button = require("../../../../components/Button/Button.vue.cjs");
12
12
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
13
13
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
14
14
  const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
@@ -3,10 +3,10 @@ import { useRoute, useRouter } from "vue-router";
3
3
  import "vue-i18n";
4
4
  /* empty css */
5
5
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
6
- /* empty css */
7
- import Field from "../../../../components/Field/Field.vue2.js";
6
+ /* empty css */
7
+ import Field from "../../../../components/Field/Field.vue.js";
8
8
  import _sfc_main$5 from "../../../../components/Checkbox/Checkbox.vue.js";
9
- import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
9
+ import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
10
10
  import _sfc_main$8 from "../../../../components/Popup/Popup.vue.js";
11
11
  import _sfc_main$9 from "../../../../components/Feed/Feed.vue.js";
12
12
  import _sfc_main$3 from "../../../../components/EditImages/EditImages.vue2.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 vueRouter = require("vue-router");
5
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
7
  ;/* empty css */
8
8
  require("vue-i18n");
@@ -1,6 +1,6 @@
1
1
  import { ref, watch, onMounted, onUnmounted, resolveComponent, openBlock, createElementBlock, unref, createElementVNode, createCommentVNode, createBlock, createVNode, withCtx, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$2 from "../../../../components/Tab/Tab.vue2.js";
3
+ import _sfc_main$2 from "../../../../components/Tab/Tab.vue.js";
4
4
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
5
5
  /* empty css */
6
6
  import "vue-i18n";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Field = require("../../../../components/Field/Field.vue2.cjs");
4
+ const Field = require("../../../../components/Field/Field.vue.cjs");
5
5
  const _hoisted_1 = {
6
6
  key: 0,
7
7
  class: "mn-b-small w-100"
@@ -1,5 +1,5 @@
1
1
  import { toRefs, openBlock, createElementBlock, unref, createCommentVNode, Fragment, renderList, createElementVNode, createVNode } from "vue";
2
- import Field from "../../../../components/Field/Field.vue2.js";
2
+ import Field from "../../../../components/Field/Field.vue.js";
3
3
  const _hoisted_1 = {
4
4
  key: 0,
5
5
  class: "mn-b-small w-100"
@@ -2,9 +2,9 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  ;/* empty css */
5
- ;/* empty css */
6
- const Field = require("../../../../components/Field/Field.vue2.cjs");
7
- const Select = require("../../../../components/Select/Select.vue.cjs");
5
+ ;/* empty css */
6
+ const Field = require("../../../../components/Field/Field.vue.cjs");
7
+ const Select = require("../../../../components/Select/Select.vue2.cjs");
8
8
  const _sfc_main = {
9
9
  __name: "EditProductInfo",
10
10
  props: {
@@ -1,8 +1,8 @@
1
1
  import { openBlock, createElementBlock, Fragment, createVNode, withCtx } from "vue";
2
2
  /* empty css */
3
- /* empty css */
4
- import Field from "../../../../components/Field/Field.vue2.js";
5
- import Select from "../../../../components/Select/Select.vue.js";
3
+ /* empty css */
4
+ import Field from "../../../../components/Field/Field.vue.js";
5
+ import Select from "../../../../components/Select/Select.vue2.js";
6
6
  const _sfc_main = {
7
7
  __name: "EditProductInfo",
8
8
  props: {
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Button = require("../../../../components/Button/Button.vue2.cjs");
5
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
+ const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
6
7
  const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
7
8
  const Images360 = require("../blocks/Images360.vue.cjs");
8
9
  const ImagesThumbnails = require("../blocks/ImagesThumbnails.vue.cjs");
9
10
  ;/* empty css */
10
11
  const Price = require("../elements/Price.vue.cjs");
12
+ const vueRouter = require("vue-router");
11
13
  const vueI18n = require("vue-i18n");
12
14
  const shopcart = require("../../../orders/store/shopcart.cjs");
13
15
  const _hoisted_1 = { class: "cols-2-1_2 pd-small w-100 gap-thin" };
@@ -16,12 +18,12 @@ const _hoisted_3 = { class: "w-100 bg-light radius-semi o-hidden" };
16
18
  const _hoisted_4 = ["src"];
17
19
  const _hoisted_5 = { class: "radius-big pos-relative w-100 h-100 flex-column flex-justify flex col" };
18
20
  const _hoisted_6 = {
19
- key: 0,
21
+ key: 1,
20
22
  class: "t-main t-semi p-big"
21
23
  };
22
24
  const _hoisted_7 = { class: "w-100 h1-product mn-b-small" };
23
25
  const _hoisted_8 = {
24
- key: 2,
26
+ key: 3,
25
27
  class: "mn-b-semi"
26
28
  };
27
29
  const _hoisted_9 = { class: "h-min-5r pos-relative" };
@@ -44,10 +46,14 @@ const _hoisted_13 = {
44
46
  const _hoisted_14 = { class: "w-100 pd-small radius-small bg-white product-information" };
45
47
  const _hoisted_15 = { class: "t-demi" };
46
48
  const _hoisted_16 = {
47
- key: 3,
48
- class: "max-w-33rem mobile-w-100 t-white gap-small cols-2"
49
+ key: 4,
50
+ class: "mn-t-small max-w-33rem mobile-w-100 t-white gap-small cols-2"
49
51
  };
50
52
  const _hoisted_17 = {
53
+ key: 5,
54
+ class: "mn-t-small max-w-33rem mobile-w-100 t-white gap-small cols-2"
55
+ };
56
+ const _hoisted_18 = {
51
57
  key: 1,
52
58
  class: "flex-center flex uppercase radius-big t-black w-max pd-small t-medium bg-grey h-3r w-100 mn-r-smallbutton"
53
59
  };
@@ -61,12 +67,18 @@ const _sfc_main = {
61
67
  user: {
62
68
  type: String
63
69
  },
70
+ accesses: {
71
+ type: Object,
72
+ default: null
73
+ },
64
74
  recommendation: {
65
75
  type: String
66
76
  }
67
77
  },
68
78
  setup(__props) {
69
79
  const props = __props;
80
+ const route = vueRouter.useRoute();
81
+ vueRouter.useRouter();
70
82
  const images = vue.computed(() => {
71
83
  return props.product.images;
72
84
  });
@@ -94,12 +106,19 @@ const _sfc_main = {
94
106
  }
95
107
  return true;
96
108
  }
97
- function addToCart(product) {
98
- if (shopcart.state.organization !== product.organization) {
99
- shopcart.state.positions = [];
100
- shopcart.state.organization = product.organization;
109
+ async function addToCart(product) {
110
+ console.log(product);
111
+ try {
112
+ if (shopcart.state.organization !== product.owner.target) {
113
+ shopcart.state.organization = product.owner.target;
114
+ shopcart.state.positions = [];
115
+ }
116
+ await shopcart.actions.addProductToCart(product, product.owner.target);
117
+ return true;
118
+ } catch (error) {
119
+ console.error("Ошибка при добавлении товара в корзину:", error);
120
+ throw error;
101
121
  }
102
- shopcart.actions.addProductToCart(product, product.organization);
103
122
  }
104
123
  return (_ctx, _cache) => {
105
124
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
@@ -131,10 +150,21 @@ const _sfc_main = {
131
150
  }, null, 8, ["images"])) : vue.createCommentVNode("", true)
132
151
  ]),
133
152
  vue.createElementVNode("div", _hoisted_5, [
153
+ __props.accesses && _ctx.hasAccess(vue.unref(route).params._id, "products", "edit", __props.accesses) ? (vue.openBlock(), vue.createBlock(IconEdit.default, {
154
+ key: 0,
155
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$router.push({
156
+ name: "ProductEdit",
157
+ params: {
158
+ _id: __props.product.owner.target,
159
+ product: __props.product._id
160
+ }
161
+ })),
162
+ class: "pos-absolute pos-t-regular pos-r-regular i-regular t-transp"
163
+ })) : vue.createCommentVNode("", true),
134
164
  __props.recommendation ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_6, vue.toDisplayString(vue.unref(t)("airecommend")), 1)) : vue.createCommentVNode("", true),
135
165
  vue.createElementVNode("h1", _hoisted_7, vue.toDisplayString(__props.product.name), 1),
136
166
  __props.product.listing !== "rent" ? (vue.openBlock(), vue.createBlock(Price.default, {
137
- key: 1,
167
+ key: 2,
138
168
  product: __props.product,
139
169
  size: "big",
140
170
  class: "mn-b-semi"
@@ -142,7 +172,7 @@ const _sfc_main = {
142
172
  __props.recommendation ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_8, vue.toDisplayString(__props.recommendation), 1)) : vue.createCommentVNode("", true),
143
173
  vue.createVNode(Tab.default, {
144
174
  selected: tabProduct.value,
145
- "onUpdate:selected": _cache[0] || (_cache[0] = ($event) => tabProduct.value = $event),
175
+ "onUpdate:selected": _cache[1] || (_cache[1] = ($event) => tabProduct.value = $event),
146
176
  tabs: [
147
177
  { name: "Description", value: "description" },
148
178
  { name: "Specifications", value: "specifications" }
@@ -168,7 +198,23 @@ const _sfc_main = {
168
198
  _: 1
169
199
  })
170
200
  ]),
171
- __props.product.listing !== "rent" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, [
201
+ __props.product.listing === "rent" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, [
202
+ vue.createVNode(Button.default, {
203
+ submit: () => {
204
+ addToCart(__props.product);
205
+ },
206
+ text: {
207
+ success: " ✔ Added",
208
+ error: "error"
209
+ },
210
+ class: "h-3r w-100 mn-r-small bg-main button"
211
+ }, {
212
+ default: vue.withCtx(() => [
213
+ vue.createTextVNode(vue.toDisplayString(vue.unref(t)("addtoorder")), 1)
214
+ ]),
215
+ _: 1
216
+ }, 8, ["submit"])
217
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_17, [
172
218
  __props.product.quantity > 0 ? (vue.openBlock(), vue.createBlock(Button.default, {
173
219
  key: 0,
174
220
  submit: (a) => addToCart(__props.product),
@@ -183,8 +229,8 @@ const _sfc_main = {
183
229
  vue.createTextVNode(vue.toDisplayString(vue.unref(t)("addtoorder")), 1)
184
230
  ]),
185
231
  _: 1
186
- }, 8, ["submit", "disabled"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_17, " Out of Stock "))
187
- ])) : vue.createCommentVNode("", true)
232
+ }, 8, ["submit", "disabled"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_18, " Out of Stock "))
233
+ ]))
188
234
  ])
189
235
  ]);
190
236
  };
@@ -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-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
+ {"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\t<IconEdit\n\t\t\t\tv-if=\"accesses && hasAccess(route.params._id, 'products', 'edit', accesses)\"\n\t\t\t\t@click=\"$router.push({\n\t\t\t\t\tname: 'ProductEdit', \n\t\t\t\t\tparams: {\n\t\t\t\t\t\t_id: product.owner.target,\n\t\t\t\t\t\tproduct: product._id\n\t\t\t\t\t}\n\t\t\t\t})\" \n\t\t\t\tclass=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\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<div v-if=\"product.listing === 'rent'\" class=\"mn-t-small max-w-33rem mobile-w-100 t-white gap-small cols-2\">\n\t\t\t\t<Button\n\t\t\t\t\t:submit=\"() => { addToCart(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('addtoorder') }}\n\t\t\t\t</Button>\n\t\t\t</div>\n\n\t\t\t<!-- Actions -->\n\t\t\t<div v-else class=\"mn-t-small 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'\n\n\timport { useRoute,useRouter } from 'vue-router'\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 accesses: {\n type: Object,\n\t default: null\n },\n recommendation: {\n \ttype: String\n }\n})\n\n\n\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n// Computed properties\nconst images = computed(() => {\n return props.product.images\n})\n\nconst tabProduct = ref('description')\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\nconst { t } = useI18n(text)\n\n// Methods\nfunction validateToCard(product) {\n if (product.quantity > 0) {\n return false\n }\n return true\n}\nasync function addToCart(product) {\n\tconsole.log(product)\n try {\n if (shopcart.state.organization !== product.owner.target) {\n shopcart.state.organization = product.owner.target\n shopcart.state.positions = []\n }\n await shopcart.actions.addProductToCart(product, product.owner.target)\n return true // Make sure we return something\n } catch (error) {\n console.error('Ошибка при добавлении товара в корзину:', error)\n throw error\n }\n}\n</script>\n"],"names":["useRoute","useRouter","computed","ref","useI18n","shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8JA,UAAM,QAAQ;AAmBb,UAAM,QAAQA,UAAAA,SAAU;AACTC,wBAAW;AAG3B,UAAM,SAASC,IAAQ,SAAC,MAAM;AAC5B,aAAO,MAAM,QAAQ;AAAA,IACvB,CAAC;AAED,UAAM,aAAaC,IAAG,IAAC,aAAa;AAEpC,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;AAEA,UAAM,EAAE,EAAC,IAAKC,QAAO,QAAC,IAAI;AAG1B,aAAS,eAAe,SAAS;AAC/B,UAAI,QAAQ,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACT;AACA,mBAAe,UAAU,SAAS;AACjC,cAAQ,IAAI,OAAO;AAChB,UAAI;AACA,YAAIC,SAAc,MAAC,iBAAiB,QAAQ,MAAM,QAAQ;AACtDA,mBAAAA,MAAe,eAAe,QAAQ,MAAM;AAC5CA,mBAAc,MAAC,YAAY,CAAE;AAAA,QAChC;AACD,cAAMC,SAAAA,QAAiB,iBAAiB,SAAS,QAAQ,MAAM,MAAM;AACrE,eAAO;AAAA,MACV,SAAQ,OAAO;AACZ,gBAAQ,MAAM,2CAA2C,KAAK;AAC9D,cAAM;AAAA,MACT;AAAA,IACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,13 @@
1
- import { computed, ref, openBlock, createElementBlock, createElementVNode, createBlock, createCommentVNode, toDisplayString, unref, createVNode, Transition, withCtx, Fragment, renderList, createTextVNode } from "vue";
2
- import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
3
- import _sfc_main$2 from "../../../../components/Tab/Tab.vue2.js";
1
+ import { computed, ref, openBlock, createElementBlock, createElementVNode, createBlock, createCommentVNode, unref, toDisplayString, createVNode, Transition, withCtx, Fragment, renderList, createTextVNode } from "vue";
2
+ import _sfc_main$4 from "../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
4
+ import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
4
5
  import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
5
6
  import Images360 from "../blocks/Images360.vue.js";
6
7
  import ImagesThumbnails from "../blocks/ImagesThumbnails.vue.js";
7
8
  /* empty css */
8
- import _sfc_main$1 from "../elements/Price.vue.js";
9
+ import _sfc_main$2 from "../elements/Price.vue.js";
10
+ import { useRoute, useRouter } from "vue-router";
9
11
  import { useI18n } from "vue-i18n";
10
12
  import { state, actions } from "../../../orders/store/shopcart.js";
11
13
  const _hoisted_1 = { class: "cols-2-1_2 pd-small w-100 gap-thin" };
@@ -14,12 +16,12 @@ const _hoisted_3 = { class: "w-100 bg-light radius-semi o-hidden" };
14
16
  const _hoisted_4 = ["src"];
15
17
  const _hoisted_5 = { class: "radius-big pos-relative w-100 h-100 flex-column flex-justify flex col" };
16
18
  const _hoisted_6 = {
17
- key: 0,
19
+ key: 1,
18
20
  class: "t-main t-semi p-big"
19
21
  };
20
22
  const _hoisted_7 = { class: "w-100 h1-product mn-b-small" };
21
23
  const _hoisted_8 = {
22
- key: 2,
24
+ key: 3,
23
25
  class: "mn-b-semi"
24
26
  };
25
27
  const _hoisted_9 = { class: "h-min-5r pos-relative" };
@@ -42,10 +44,14 @@ const _hoisted_13 = {
42
44
  const _hoisted_14 = { class: "w-100 pd-small radius-small bg-white product-information" };
43
45
  const _hoisted_15 = { class: "t-demi" };
44
46
  const _hoisted_16 = {
45
- key: 3,
46
- class: "max-w-33rem mobile-w-100 t-white gap-small cols-2"
47
+ key: 4,
48
+ class: "mn-t-small max-w-33rem mobile-w-100 t-white gap-small cols-2"
47
49
  };
48
50
  const _hoisted_17 = {
51
+ key: 5,
52
+ class: "mn-t-small max-w-33rem mobile-w-100 t-white gap-small cols-2"
53
+ };
54
+ const _hoisted_18 = {
49
55
  key: 1,
50
56
  class: "flex-center flex uppercase radius-big t-black w-max pd-small t-medium bg-grey h-3r w-100 mn-r-smallbutton"
51
57
  };
@@ -59,12 +65,18 @@ const _sfc_main = {
59
65
  user: {
60
66
  type: String
61
67
  },
68
+ accesses: {
69
+ type: Object,
70
+ default: null
71
+ },
62
72
  recommendation: {
63
73
  type: String
64
74
  }
65
75
  },
66
76
  setup(__props) {
67
77
  const props = __props;
78
+ const route = useRoute();
79
+ useRouter();
68
80
  const images = computed(() => {
69
81
  return props.product.images;
70
82
  });
@@ -92,12 +104,19 @@ const _sfc_main = {
92
104
  }
93
105
  return true;
94
106
  }
95
- function addToCart(product) {
96
- if (state.organization !== product.organization) {
97
- state.positions = [];
98
- state.organization = product.organization;
107
+ async function addToCart(product) {
108
+ console.log(product);
109
+ try {
110
+ if (state.organization !== product.owner.target) {
111
+ state.organization = product.owner.target;
112
+ state.positions = [];
113
+ }
114
+ await actions.addProductToCart(product, product.owner.target);
115
+ return true;
116
+ } catch (error) {
117
+ console.error("Ошибка при добавлении товара в корзину:", error);
118
+ throw error;
99
119
  }
100
- actions.addProductToCart(product, product.organization);
101
120
  }
102
121
  return (_ctx, _cache) => {
103
122
  return openBlock(), createElementBlock("div", _hoisted_1, [
@@ -129,18 +148,29 @@ const _sfc_main = {
129
148
  }, null, 8, ["images"])) : createCommentVNode("", true)
130
149
  ]),
131
150
  createElementVNode("div", _hoisted_5, [
151
+ __props.accesses && _ctx.hasAccess(unref(route).params._id, "products", "edit", __props.accesses) ? (openBlock(), createBlock(_sfc_main$1, {
152
+ key: 0,
153
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$router.push({
154
+ name: "ProductEdit",
155
+ params: {
156
+ _id: __props.product.owner.target,
157
+ product: __props.product._id
158
+ }
159
+ })),
160
+ class: "pos-absolute pos-t-regular pos-r-regular i-regular t-transp"
161
+ })) : createCommentVNode("", true),
132
162
  __props.recommendation ? (openBlock(), createElementBlock("h2", _hoisted_6, toDisplayString(unref(t)("airecommend")), 1)) : createCommentVNode("", true),
133
163
  createElementVNode("h1", _hoisted_7, toDisplayString(__props.product.name), 1),
134
- __props.product.listing !== "rent" ? (openBlock(), createBlock(_sfc_main$1, {
135
- key: 1,
164
+ __props.product.listing !== "rent" ? (openBlock(), createBlock(_sfc_main$2, {
165
+ key: 2,
136
166
  product: __props.product,
137
167
  size: "big",
138
168
  class: "mn-b-semi"
139
169
  }, null, 8, ["product"])) : createCommentVNode("", true),
140
170
  __props.recommendation ? (openBlock(), createElementBlock("h3", _hoisted_8, toDisplayString(__props.recommendation), 1)) : createCommentVNode("", true),
141
- createVNode(_sfc_main$2, {
171
+ createVNode(_sfc_main$3, {
142
172
  selected: tabProduct.value,
143
- "onUpdate:selected": _cache[0] || (_cache[0] = ($event) => tabProduct.value = $event),
173
+ "onUpdate:selected": _cache[1] || (_cache[1] = ($event) => tabProduct.value = $event),
144
174
  tabs: [
145
175
  { name: "Description", value: "description" },
146
176
  { name: "Specifications", value: "specifications" }
@@ -166,8 +196,24 @@ const _sfc_main = {
166
196
  _: 1
167
197
  })
168
198
  ]),
169
- __props.product.listing !== "rent" ? (openBlock(), createElementBlock("div", _hoisted_16, [
170
- __props.product.quantity > 0 ? (openBlock(), createBlock(_sfc_main$3, {
199
+ __props.product.listing === "rent" ? (openBlock(), createElementBlock("div", _hoisted_16, [
200
+ createVNode(_sfc_main$4, {
201
+ submit: () => {
202
+ addToCart(__props.product);
203
+ },
204
+ text: {
205
+ success: " ✔ Added",
206
+ error: "error"
207
+ },
208
+ class: "h-3r w-100 mn-r-small bg-main button"
209
+ }, {
210
+ default: withCtx(() => [
211
+ createTextVNode(toDisplayString(unref(t)("addtoorder")), 1)
212
+ ]),
213
+ _: 1
214
+ }, 8, ["submit"])
215
+ ])) : (openBlock(), createElementBlock("div", _hoisted_17, [
216
+ __props.product.quantity > 0 ? (openBlock(), createBlock(_sfc_main$4, {
171
217
  key: 0,
172
218
  submit: (a) => addToCart(__props.product),
173
219
  disabled: validateToCard(__props.product),
@@ -181,8 +227,8 @@ const _sfc_main = {
181
227
  createTextVNode(toDisplayString(unref(t)("addtoorder")), 1)
182
228
  ]),
183
229
  _: 1
184
- }, 8, ["submit", "disabled"])) : (openBlock(), createElementBlock("div", _hoisted_17, " Out of Stock "))
185
- ])) : createCommentVNode("", true)
230
+ }, 8, ["submit", "disabled"])) : (openBlock(), createElementBlock("div", _hoisted_18, " Out of Stock "))
231
+ ]))
186
232
  ])
187
233
  ]);
188
234
  };
@@ -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-max bg-light w-100\"\n\t\t\t\t\tstyle=\"object-fit: contain;\"\n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + images[0]\"\n\t\t\t\t/>\n\n\t\t\t\t<PlaceholderImage\n\t\t\t\t\tv-if=\"!images[0] && !product.image3d\"\n\t\t\t\t\tclass=\"h-max-20r h-100 w-100\"\n\t\t\t\t\tstyle=\"object-fit: cover;\"\n\t\t\t\t/>\n\n\t\t\t</div>\n\n\t\t\t<ImagesThumbnails\n\t\t\t\tv-if=\"images.length > 1\"\n\t\t\t\t:images=\"images\"\n\t\t\t\tclass=\"mn-t-thin\"\n\t\t\t/>\n\t\t</div>\n\n\t\t<div class=\"radius-big pos-relative w-100 h-100 flex-column flex-justify flex col\">\n\n\t\t<!-- <IconEdit\n\t\t\t@click=\"$router.push({\n\t\t\t\tname: 'ProductEdit', \n\t\t\t\tparams: {\n\t\t\t\t\t_id: product.organization,\n\t\t\t\t\tproduct: product._id\n\t\t\t\t}\n\t\t\t})\" \n\t\t\tclass=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t/> -->\n\n\t\t\t<h2 v-if=\"recommendation\" class=\"t-main t-semi p-big\">{{t('airecommend')}}</h2>\n\t\t\t<!-- Name -->\n\t\t\t<h1 class=\"w-100 h1-product mn-b-small\">{{ product.name }}</h1>\n\t\t\t<!-- Price -->\n\t\t\t<Price v-if=\"product.listing !== 'rent'\" :product=\"product\" size=\"big\" class=\"mn-b-semi\" />\n\t\t\t<!-- Modifications -->\n\t\t\t<!-- <div v-if=\"product.modifications.length > 0\" class=\"flex-nojustify flex\">\n\t\t\t\t<SelectElement v-if=\"sizes2.length > 0\" :elements=\"sizes2\" :selected=\"product.selectedSize\" class=\"mn-r-medium\" />\n\t\t\t</div> -->\n\t\t\t<!-- Description -->\n\t\t\t<h3 v-if=\"recommendation\" class=\"mn-b-semi\">\n\t\t\t\t{{ recommendation }}\n\t\t\t</h3>\n\n\t\t\t<Tab \n\t\t\t\tv-model:selected=\"tabProduct\"\n\t\t\t\t:tabs=\"[\n\t\t\t\t\t{name: 'Description', value: 'description'},\n\t\t\t\t\t{name: 'Specifications', value: 'specifications'}\n\t\t\t\t]\"\n\t\t\t\ttabClass=\"pd-small pd-r-medium pd-l-medium w-100 pd-small radius-small\"\n\t\t\t\tclass=\"bg-light mn-b-small\"\n\t\t\t/>\n\n\t\t\t<div class=\"h-min-5r pos-relative\">\n\t\t\t\t<transition name=\"slide-fade\">\n\n\t\t\t\t\t<div v-if=\"tabProduct === 'description'\" class=\"pd-medium radius-medium bg-light \">\n\t\t\t\t\t\t<p v-if=\"product.description && !product.localization < 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ product.description }}\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<p v-if=\"product.localization && product.localization.length > 1 && !recommendation\" class=\"w-100 t-transp\">\n\t\t\t\t\t\t\t{{ t('description') }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div \n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"cols-2 w-100 bg-light radius-medium pd-medium gap-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tv-if=\"product.information.length > 0\" \n\t\t\t\t\t\t\tv-for=\"information in product.information\" \n\t\t\t\t\t\t\tclass=\"w-100 pd-small radius-small bg-white product-information\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p class=\"t-demi\">{{ information.name }}</p>\n\t\t\t\t\t\t\t<p>{{ information.value }}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</div>\n\n\t\t\t<!-- Actions -->\n\t\t\t<div v-if=\"product.listing !== 'rent'\" class=\"max-w-33rem mobile-w-100 t-white gap-small cols-2\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"product.quantity > 0\"\n\t\t\t\t\t:submit=\"a => addToCart(product)\" \n\t\t\t\t\t:disabled=\"validateToCard(product)\" \n\t\t\t\t\t:text=\"{\n\t\t\t\t\t\tsuccess: ' ✔ Added',\n\t\t\t\t\t\terror: 'error'\n\t\t\t\t\t}\"\n\t\t\t\t\tclass=\"h-3r w-100 mn-r-small bg-main button\"\n\t\t\t\t> \n\t\t\t\t\t\t{{ t('addtoorder') }}\n\t\t\t\t</Button>\n\t\t\t\t<div v-else class=\"flex-center flex uppercase radius-big t-black w-max pd-small t-medium bg-grey h-3r w-100 mn-r-smallbutton\">\n\t\t\t\t\tOut of Stock\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\nimport Button from '@pf/src/components/Button/Button.vue'\nimport Tab from '@pf/src/components/Tab/Tab.vue'\nimport IconEdit from '@pf/src/modules/icons/navigation/IconEdit.vue'\nimport PlaceholderImage from '@pf/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nimport Images360 \tfrom '@pf/src/modules/products/components/blocks/Images360.vue'\nimport ImagesThumbnails from \"@pf/src/modules/products/components/blocks/ImagesThumbnails.vue\";\n\nimport THC from '@pf/src/modules/products/components/elements/THC.vue'\nimport Price from '@pf/src/modules/products/components/elements/Price.vue'\n// import SelectElement \tfrom '@/components/elements/SelectElement.vue'\n\nimport { computed, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport * as shopcart from '@pf/src/modules/orders/store/shopcart';\n\n// Props\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n },\n user: {\n type: String,\n },\n recommendation: {\n \ttype: String\n }\n})\n\n// Computed properties\nconst images = computed(() => {\n return props.product.images\n})\n\n\nconst tabProduct = ref('description')\n\n\nconst text = {\n\tmessages: {\n\t en: {\n\t \tairecommend: 'AI Recommends You',\n\t \tdescription: '',\n\t \taddtoorder: 'Add to order',\n\t fastorder: 'Fast Order'\n\t },\n\t ru: {\n\t \tairecommend: 'AI Рекомендует вам',\n\t \tdescription: '',\n\t \taddtoorder: 'Добавить в корзину',\n\t fastorder: 'Быстрый заказ'\n\t }\n\t}\n}\n\n// props.product.localization.forEach(localization => {\n\t// if (localization) text.messages[localization.locale].description = localization.text\n// })\n\n const { t } = useI18n(text)\n\n// Methods\nfunction validateToCard(product) {\n if (product.quantity > 0) {\n return false\n }\n return true\n}\n\nfunction addToCart(product) {\n\tif (shopcart.state.organization !== product.organization) {\n\t\tshopcart.state.positions = []\n\t\tshopcart.state.organization = product.organization\n\t}\n shopcart.actions.addProductToCart(product, product.organization)\n}\n</script>\n"],"names":["shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8IA,UAAM,QAAQ;AAcd,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAO,MAAM,QAAQ;AAAA,IACvB,CAAC;AAGD,UAAM,aAAa,IAAI,aAAa;AAGpC,UAAM,OAAO;AAAA,MACZ,UAAU;AAAA,QACR,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,UACH,aAAa;AAAA,UACb,aAAa;AAAA,UACb,YAAY;AAAA,UACX,WAAW;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAMC,UAAM,EAAE,EAAC,IAAK,QAAQ,IAAI;AAG3B,aAAS,eAAe,SAAS;AAC/B,UAAI,QAAQ,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACT;AAEA,aAAS,UAAU,SAAS;AAC3B,UAAIA,MAAe,iBAAiB,QAAQ,cAAc;AACzDA,cAAe,YAAY,CAAE;AAC7BA,cAAe,eAAe,QAAQ;AAAA,MACtC;AACAC,cAAiB,iBAAiB,SAAS,QAAQ,YAAY;AAAA,IACjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"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\t<IconEdit\n\t\t\t\tv-if=\"accesses && hasAccess(route.params._id, 'products', 'edit', accesses)\"\n\t\t\t\t@click=\"$router.push({\n\t\t\t\t\tname: 'ProductEdit', \n\t\t\t\t\tparams: {\n\t\t\t\t\t\t_id: product.owner.target,\n\t\t\t\t\t\tproduct: product._id\n\t\t\t\t\t}\n\t\t\t\t})\" \n\t\t\t\tclass=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\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<div v-if=\"product.listing === 'rent'\" class=\"mn-t-small max-w-33rem mobile-w-100 t-white gap-small cols-2\">\n\t\t\t\t<Button\n\t\t\t\t\t:submit=\"() => { addToCart(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('addtoorder') }}\n\t\t\t\t</Button>\n\t\t\t</div>\n\n\t\t\t<!-- Actions -->\n\t\t\t<div v-else class=\"mn-t-small 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'\n\n\timport { useRoute,useRouter } from 'vue-router'\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 accesses: {\n type: Object,\n\t default: null\n },\n recommendation: {\n \ttype: String\n }\n})\n\n\n\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n// Computed properties\nconst images = computed(() => {\n return props.product.images\n})\n\nconst tabProduct = ref('description')\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\nconst { t } = useI18n(text)\n\n// Methods\nfunction validateToCard(product) {\n if (product.quantity > 0) {\n return false\n }\n return true\n}\nasync function addToCart(product) {\n\tconsole.log(product)\n try {\n if (shopcart.state.organization !== product.owner.target) {\n shopcart.state.organization = product.owner.target\n shopcart.state.positions = []\n }\n await shopcart.actions.addProductToCart(product, product.owner.target)\n return true // Make sure we return something\n } catch (error) {\n console.error('Ошибка при добавлении товара в корзину:', error)\n throw error\n }\n}\n</script>\n"],"names":["shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8JA,UAAM,QAAQ;AAmBb,UAAM,QAAQ,SAAU;AACT,cAAW;AAG3B,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAO,MAAM,QAAQ;AAAA,IACvB,CAAC;AAED,UAAM,aAAa,IAAI,aAAa;AAEpC,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;AAEA,UAAM,EAAE,EAAC,IAAK,QAAQ,IAAI;AAG1B,aAAS,eAAe,SAAS;AAC/B,UAAI,QAAQ,WAAW,GAAG;AACxB,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACT;AACA,mBAAe,UAAU,SAAS;AACjC,cAAQ,IAAI,OAAO;AAChB,UAAI;AACA,YAAIA,MAAe,iBAAiB,QAAQ,MAAM,QAAQ;AACtDA,gBAAe,eAAe,QAAQ,MAAM;AAC5CA,gBAAe,YAAY,CAAE;AAAA,QAChC;AACD,cAAMC,QAAiB,iBAAiB,SAAS,QAAQ,MAAM,MAAM;AACrE,eAAO;AAAA,MACV,SAAQ,OAAO;AACZ,gBAAQ,MAAM,2CAA2C,KAAK;AAC9D,cAAM;AAAA,MACT;AAAA,IACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -19,7 +19,6 @@ const EditModifications = require("./components/sections/EditModifications.vue.c
19
19
  const PopularProducts = require("./components/sections/PopularProducts.vue.cjs");
20
20
  const EditProductInfo = require("./components/sections/EditProductInfo.vue.cjs");
21
21
  const Price = require("./components/elements/Price.vue.cjs");
22
- const THC = require("./components/elements/THC.vue.cjs");
23
22
  const Product = require("./components/pages/Product.vue.cjs");
24
23
  const ProductEdit = require("./components/pages/ProductEdit.vue.cjs");
25
24
  const EditLeftover = require("./components/pages/EditLeftover.vue.cjs");
@@ -48,7 +47,6 @@ const ModuleProducts = {
48
47
  components: {
49
48
  // Elements
50
49
  Price: Price.default,
51
- THC: THC.default,
52
50
  // Blocks
53
51
  ImagesThumbnails: ImagesThumbnails.default,
54
52
  LeftoverPositions: LeftoverPositions.default,
@@ -91,7 +89,6 @@ exports.EditModifications = EditModifications.default;
91
89
  exports.PopularProducts = PopularProducts.default;
92
90
  exports.EditProductInfo = EditProductInfo.default;
93
91
  exports.Price = Price.default;
94
- exports.THC = THC.default;
95
92
  exports.Product = Product.default;
96
93
  exports.ProductEdit = ProductEdit.default;
97
94
  exports.EditLeftover = EditLeftover.default;
@@ -1 +1 @@
1
- {"version":3,"file":"products.client.cjs","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router';\n\n//Store\nimport * as storeCategories from './store/categories.js';\nimport * as storeLeftovers from './store/leftovers.js';\nimport * as storeProducts from './store/products.js';\n\n// Layouts \n\n// Blocks\nimport ImagesThumbnails from './components/blocks/ImagesThumbnails.vue';\nimport LeftoverPositions from './components/blocks/LeftoverPositions.vue';\nimport ListPositions from './components/blocks/ListPositions.vue';\nimport CardCategory from './components/blocks/CardCategory.vue';\nimport CardProduct from './components/blocks/CardProduct.vue';\nimport CardLeftover from './components/blocks/CardLeftover.vue';\nimport Images360 from './components/blocks/Images360.vue';\nimport CardPosition from './components/blocks/CardPosition.vue';\n\n// Sections\nimport SectionProduct from './components/sections/SectionProduct.vue';\nimport HeroRecommendation from './components/sections/HeroRecommendation.vue';\nimport FilterProducts from './components/sections/FilterProducts.vue';\nimport EditModifications from './components/sections/EditModifications.vue';\nimport PopularProducts from './components/sections/PopularProducts.vue';\nimport EditProductInfo from './components/sections/EditProductInfo.vue';\n\n// Elements\nimport Price from './components/elements/Price.vue';\nimport THC from './components/elements/THC.vue';\n\n// Pages\nimport Product from './components/pages/Product.vue';\nimport ProductEdit from './components/pages/ProductEdit.vue';\nimport EditLeftover from './components/pages/EditLeftover.vue';\nimport ProductRecommendation from './components/pages/ProductRecommmendation.vue';\nimport Products from './components/pages/Products.vue';\nimport Leftovers from './components/pages/Leftovers.vue';\n\n// Пример функции инициализации для модуля продуктов\nfunction initializeProducts(app, store, router, options = {}) {\n const route = options.route || 'Home';\n\n const routesProducts = createProductRoutes();\n \n router.addRoute(route, routesProducts);\n \n store.addStore('categories', storeCategories);\n store.addStore('leftovers', storeLeftovers);\n store.addStore('products', storeProducts);\n}\n\nconst ModuleProducts = {\n initialize: initializeProducts,\n views: {\n store: {\n storeCategories,\n storeLeftovers,\n storeProducts,\n },\n router: {\n createProductRoutes\n },\n components: {\n // Elements\n Price,\n THC,\n // Blocks\n ImagesThumbnails,\n LeftoverPositions,\n ListPositions,\n CardCategory,\n CardProduct,\n CardLeftover,\n Images360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditModifications,\n PopularProducts,\n EditProductInfo,\n // Pages\n Product,\n ProductEdit,\n EditLeftover,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n }\n }\n}\n\nexport {\n // Blocks\n ImagesThumbnails,\n LeftoverPositions,\n ListPositions,\n CardCategory,\n CardProduct,\n CardLeftover,\n Images360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditModifications,\n PopularProducts,\n EditProductInfo,\n // Elements\n Price,\n THC,\n // Pages\n Product,\n ProductEdit,\n EditLeftover,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n};\n\nexport default ModuleProducts;"],"names":["createProductRoutes","storeCategories","storeLeftovers","storeProducts","Price","THC","ImagesThumbnails","LeftoverPositions","ListPositions","CardCategory","CardProduct","CardLeftover","Images360","CardPosition","SectionProduct","HeroRecommendation","FilterProducts","EditModifications","PopularProducts","EditProductInfo","Product","ProductEdit","EditLeftover","ProductRecommendation","Products","Leftovers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,SAAS,mBAAmB,KAAK,OAAO,QAAQ,UAAU,CAAA,GAAI;AAC5D,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,iBAAiBA,gBAAAA;AAEvB,SAAO,SAAS,OAAO,cAAc;AAErC,QAAM,SAAS,cAAcC,UAAe;AAC5C,QAAM,SAAS,aAAaC,SAAc;AAC1C,QAAM,SAAS,YAAYC,QAAa;AAC1C;AAEK,MAAC,iBAAiB;AAAA,EACrB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,iBAAMF;AAAAA,MACN,gBAAMC;AAAAA,MACN,eAAMC;AAAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACZ,qBAAMH,gBAAmB;AAAA,IACpB;AAAA,IACD,YAAY;AAAA;AAAA,MAEhB,OAAMI,MAAK;AAAA,MACX,KAAMC,IAAG;AAAA;AAAA,MAET,kBAAMC,iBAAgB;AAAA,MACtB,mBAAMC,kBAAiB;AAAA,MACvB,eAAMC,cAAa;AAAA,MACnB,cAAMC,aAAY;AAAA,MAClB,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,WAAMC,UAAS;AAAA,MACf,cAAMC,aAAY;AAAA;AAAA,MAElB,gBAAMC,eAAc;AAAA,MACpB,oBAAMC,mBAAkB;AAAA,MACxB,gBAAMC,eAAc;AAAA,MACpB,mBAAMC,kBAAiB;AAAA,MACvB,iBAAMC,gBAAe;AAAA,MACrB,iBAAMC,gBAAe;AAAA;AAAA,MAErB,SAAMC,QAAO;AAAA,MACb,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,uBAAMC,uBAAqB;AAAA,MAC3B,UAAMC,SAAQ;AAAA,MACd,WAAMC,UAAS;AAAA;AAAA,IAEV;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"products.client.cjs","sources":["../../../../../src/modules/products/products.client.js"],"sourcesContent":["// Router\nimport { createProductRoutes } from './router/products.router';\n\n//Store\nimport * as storeCategories from './store/categories.js';\nimport * as storeLeftovers from './store/leftovers.js';\nimport * as storeProducts from './store/products.js';\n\n// Layouts \n\n// Blocks\nimport ImagesThumbnails from './components/blocks/ImagesThumbnails.vue';\nimport LeftoverPositions from './components/blocks/LeftoverPositions.vue';\nimport ListPositions from './components/blocks/ListPositions.vue';\nimport CardCategory from './components/blocks/CardCategory.vue';\nimport CardProduct from './components/blocks/CardProduct.vue';\nimport CardLeftover from './components/blocks/CardLeftover.vue';\nimport Images360 from './components/blocks/Images360.vue';\nimport CardPosition from './components/blocks/CardPosition.vue';\n\n// Sections\nimport SectionProduct from './components/sections/SectionProduct.vue';\nimport HeroRecommendation from './components/sections/HeroRecommendation.vue';\nimport FilterProducts from './components/sections/FilterProducts.vue';\nimport EditModifications from './components/sections/EditModifications.vue';\nimport PopularProducts from './components/sections/PopularProducts.vue';\nimport EditProductInfo from './components/sections/EditProductInfo.vue';\n\n// Elements\nimport Price from './components/elements/Price.vue';\n// Pages\nimport Product from './components/pages/Product.vue';\nimport ProductEdit from './components/pages/ProductEdit.vue';\nimport EditLeftover from './components/pages/EditLeftover.vue';\nimport ProductRecommendation from './components/pages/ProductRecommmendation.vue';\nimport Products from './components/pages/Products.vue';\nimport Leftovers from './components/pages/Leftovers.vue';\n\n// Пример функции инициализации для модуля продуктов\nfunction initializeProducts(app, store, router, options = {}) {\n const route = options.route || 'Home';\n\n const routesProducts = createProductRoutes();\n \n router.addRoute(route, routesProducts);\n \n store.addStore('categories', storeCategories);\n store.addStore('leftovers', storeLeftovers);\n store.addStore('products', storeProducts);\n}\n\nconst ModuleProducts = {\n initialize: initializeProducts,\n views: {\n store: {\n storeCategories,\n storeLeftovers,\n storeProducts,\n },\n router: {\n createProductRoutes\n },\n components: {\n // Elements\n Price,\n // Blocks\n ImagesThumbnails,\n LeftoverPositions,\n ListPositions,\n CardCategory,\n CardProduct,\n CardLeftover,\n Images360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditModifications,\n PopularProducts,\n EditProductInfo,\n // Pages\n Product,\n ProductEdit,\n EditLeftover,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n }\n }\n}\n\nexport {\n // Blocks\n ImagesThumbnails,\n LeftoverPositions,\n ListPositions,\n CardCategory,\n CardProduct,\n CardLeftover,\n Images360,\n CardPosition,\n // Sections\n SectionProduct,\n HeroRecommendation,\n FilterProducts,\n EditModifications,\n PopularProducts,\n EditProductInfo,\n // Elements\n Price,\n // Pages\n Product,\n ProductEdit,\n EditLeftover,\n ProductRecommendation,\n Products,\n Leftovers,\n // Layouts\n};\n\nexport default ModuleProducts;"],"names":["createProductRoutes","storeCategories","storeLeftovers","storeProducts","Price","ImagesThumbnails","LeftoverPositions","ListPositions","CardCategory","CardProduct","CardLeftover","Images360","CardPosition","SectionProduct","HeroRecommendation","FilterProducts","EditModifications","PopularProducts","EditProductInfo","Product","ProductEdit","EditLeftover","ProductRecommendation","Products","Leftovers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,SAAS,mBAAmB,KAAK,OAAO,QAAQ,UAAU,CAAA,GAAI;AAC5D,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,iBAAiBA,gBAAAA;AAEvB,SAAO,SAAS,OAAO,cAAc;AAErC,QAAM,SAAS,cAAcC,UAAe;AAC5C,QAAM,SAAS,aAAaC,SAAc;AAC1C,QAAM,SAAS,YAAYC,QAAa;AAC1C;AAEK,MAAC,iBAAiB;AAAA,EACrB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,iBAAMF;AAAAA,MACN,gBAAMC;AAAAA,MACN,eAAMC;AAAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACZ,qBAAMH,gBAAmB;AAAA,IACpB;AAAA,IACD,YAAY;AAAA;AAAA,MAEhB,OAAMI,MAAK;AAAA;AAAA,MAEX,kBAAMC,iBAAgB;AAAA,MACtB,mBAAMC,kBAAiB;AAAA,MACvB,eAAMC,cAAa;AAAA,MACnB,cAAMC,aAAY;AAAA,MAClB,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,WAAMC,UAAS;AAAA,MACf,cAAMC,aAAY;AAAA;AAAA,MAElB,gBAAMC,eAAc;AAAA,MACpB,oBAAMC,mBAAkB;AAAA,MACxB,gBAAMC,eAAc;AAAA,MACpB,mBAAMC,kBAAiB;AAAA,MACvB,iBAAMC,gBAAe;AAAA,MACrB,iBAAMC,gBAAe;AAAA;AAAA,MAErB,SAAMC,QAAO;AAAA,MACb,aAAMC,YAAW;AAAA,MACjB,cAAMC,aAAY;AAAA,MAClB,uBAAMC,uBAAqB;AAAA,MAC3B,UAAMC,SAAQ;AAAA,MACd,WAAMC,UAAS;AAAA;AAAA,IAEV;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;"}