@ozdao/martyrs 0.2.487 → 0.2.489

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (829) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/auth.server.cjs +1 -1
  6. package/dist/auth.server.js +1 -1
  7. package/dist/{authJwt-D35KyJlE.cjs → authJwt-BIZ2GIfT.cjs} +0 -27
  8. package/dist/{authJwt-DqxhUym0.js → authJwt-J1csaMWA.js} +0 -27
  9. package/dist/builder.cjs +10 -0
  10. package/dist/builder.js +10 -0
  11. package/dist/chats.server.cjs +1 -1
  12. package/dist/chats.server.js +1 -1
  13. package/dist/community.server.cjs +3 -3
  14. package/dist/community.server.js +3 -3
  15. package/dist/{crud-BDIArc5A.cjs → crud-B-kQw3Z5.cjs} +5 -4
  16. package/dist/{crud-DJvpe0aZ.js → crud-Cwx5VlSm.js} +5 -4
  17. package/dist/events.server.cjs +3 -3
  18. package/dist/events.server.js +3 -3
  19. package/dist/files.server.cjs +31 -14
  20. package/dist/files.server.js +31 -14
  21. package/dist/gallery.server.cjs +2 -2
  22. package/dist/gallery.server.js +2 -2
  23. package/dist/{globals.abac-Cm9e8Jdk.cjs → globals.abac-CPXLas7N.cjs} +1 -1
  24. package/dist/{globals.abac-DBV_kaOq.js → globals.abac-DNdtSYop.js} +1 -1
  25. package/dist/{index-DiSKVCaA.cjs → index-BFxqqmgh.cjs} +1 -1
  26. package/dist/{index-CVuQC4k1.js → index-_Edcmck_.js} +1 -1
  27. package/dist/main-CmuUC0tl.cjs +11 -0
  28. package/dist/{main-nQmkbWsW.js → main-IVRL6IjM.js} +2949 -2666
  29. package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +3 -3
  30. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
  31. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +3 -3
  32. package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
  33. package/dist/martyrs/src/components/Calendar/Calendar.vue.cjs +31 -5
  34. package/dist/martyrs/src/components/Calendar/Calendar.vue.cjs.map +1 -1
  35. package/dist/martyrs/src/components/Calendar/Calendar.vue.js +32 -6
  36. package/dist/martyrs/src/components/Calendar/Calendar.vue.js.map +1 -1
  37. package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  38. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  39. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  40. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  41. package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs +4 -4
  42. package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs.map +1 -1
  43. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +4 -4
  44. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  45. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs +28 -19
  46. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs.map +1 -1
  47. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +29 -20
  48. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  49. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +20 -9
  50. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
  51. package/dist/martyrs/src/components/Feed/Carousel.vue.js +22 -11
  52. package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
  53. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +29 -26
  54. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  55. package/dist/martyrs/src/components/Feed/Feed.vue.js +45 -42
  56. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  57. package/dist/martyrs/src/components/Field/{Field.vue2.cjs → Field.vue.cjs} +15 -9
  58. package/dist/martyrs/src/components/Field/Field.vue.cjs.map +1 -0
  59. package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +16 -10
  60. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
  61. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +25 -24
  62. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  63. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +27 -26
  64. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  65. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  66. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  67. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs +1 -1
  68. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -1
  69. package/dist/martyrs/src/components/Loader/Loader.vue2.js +1 -1
  70. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -1
  71. package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs +1 -1
  72. package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +1 -1
  74. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  75. package/dist/martyrs/src/components/Select/Select.vue.cjs +27 -15
  76. package/dist/martyrs/src/components/Select/Select.vue.cjs.map +1 -1
  77. package/dist/martyrs/src/components/Select/Select.vue.js +28 -16
  78. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
  79. package/dist/martyrs/src/components/Status/Snack.vue.cjs +63 -0
  80. package/dist/martyrs/src/components/Status/Snack.vue.cjs.map +1 -0
  81. package/dist/martyrs/src/components/Status/Snack.vue.js +63 -0
  82. package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -0
  83. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs +2 -2
  84. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -1
  85. package/dist/martyrs/src/components/Tab/Tab.vue2.js +2 -2
  86. package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +1 -1
  87. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +3 -2
  88. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +3 -2
  90. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +0 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs.map +1 -1
  93. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +0 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js.map +1 -1
  95. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
  96. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +5 -5
  97. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  98. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +5 -5
  99. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -2
  100. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -2
  102. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  105. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +2 -2
  106. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +10 -10
  107. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +3 -3
  108. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +5 -5
  110. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +3 -3
  112. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs.map +1 -1
  113. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +6 -6
  114. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  115. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +3 -3
  116. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs.map +1 -1
  117. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +5 -5
  118. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  119. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  122. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
  124. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +23 -23
  125. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +3 -3
  126. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
  127. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +3 -3
  128. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  129. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +2 -2
  130. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +2 -2
  132. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +4 -4
  134. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +4 -4
  136. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs.map +1 -1
  139. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
  140. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js.map +1 -1
  141. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -4
  142. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
  143. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -4
  144. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  145. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +3 -3
  146. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +12 -12
  147. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
  150. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +3 -3
  153. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +2 -2
  155. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs.map +1 -1
  157. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js +1 -1
  158. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js.map +1 -1
  159. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +33 -30
  160. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  161. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +36 -33
  162. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  164. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  165. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  167. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +3 -2
  168. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +1 -1
  169. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +26 -25
  170. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  171. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  172. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +15 -15
  173. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +8 -8
  174. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +8 -8
  176. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +3 -3
  178. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +3 -3
  180. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  181. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  182. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs.map +1 -1
  183. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  184. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  185. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs +9 -5
  186. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
  187. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js +9 -5
  188. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
  189. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +18 -24
  190. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs.map +1 -1
  191. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +19 -25
  192. package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
  193. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +3 -3
  194. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -1
  195. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +3 -3
  196. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  197. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -3
  198. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +1 -1
  199. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -3
  200. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  201. package/dist/martyrs/src/modules/globals/locales/en.cjs +9 -1
  202. package/dist/martyrs/src/modules/globals/locales/en.cjs.map +1 -1
  203. package/dist/martyrs/src/modules/globals/locales/en.js +9 -1
  204. package/dist/martyrs/src/modules/globals/locales/en.js.map +1 -1
  205. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  206. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  207. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +5 -2
  208. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
  209. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +5 -2
  210. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
  211. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +16 -15
  212. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +17 -16
  214. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +16 -20
  216. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +16 -20
  218. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  220. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  221. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +14 -7
  222. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  223. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +14 -7
  224. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  225. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +11 -3
  226. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  227. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +11 -3
  228. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  229. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs +1 -1
  230. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -1
  231. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js +1 -1
  232. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  235. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  237. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs +2 -2
  238. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
  239. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js +2 -2
  240. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
  241. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.cjs +17 -7
  242. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.cjs.map +1 -1
  243. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.js +18 -8
  244. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.js.map +1 -1
  245. package/dist/martyrs/src/modules/globals/views/router/addRoutes.cjs +4 -1
  246. package/dist/martyrs/src/modules/globals/views/router/addRoutes.cjs.map +1 -1
  247. package/dist/martyrs/src/modules/globals/views/router/addRoutes.js +4 -1
  248. package/dist/martyrs/src/modules/globals/views/router/addRoutes.js.map +1 -1
  249. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +30 -0
  250. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  251. package/dist/martyrs/src/modules/globals/views/store/globals.js +30 -0
  252. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  253. package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.cjs +32 -0
  254. package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.cjs.map +1 -0
  255. package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.js +32 -0
  256. package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.js.map +1 -0
  257. package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.cjs +4 -2
  258. package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.cjs.map +1 -1
  259. package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.js +5 -3
  260. package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.js.map +1 -1
  261. package/dist/martyrs/src/modules/icons/icons.client.cjs +4 -0
  262. package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
  263. package/dist/martyrs/src/modules/icons/icons.client.js +108 -104
  264. package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
  265. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +3 -1
  266. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
  267. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +138 -136
  268. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  269. package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.cjs +1 -1
  270. package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.cjs.map +1 -1
  271. package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.js +1 -1
  272. package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.js.map +1 -1
  273. package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs +11 -7
  274. package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs.map +1 -1
  275. package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +11 -7
  276. package/dist/martyrs/src/modules/icons/socials/telegram.vue.js.map +1 -1
  277. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +2 -2
  278. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
  279. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +2 -2
  280. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +2 -2
  282. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -1
  283. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +2 -2
  284. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
  285. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +1 -1
  286. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  287. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +1 -1
  288. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  289. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +1 -1
  290. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -1
  291. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  292. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  293. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +1 -1
  294. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +1 -1
  295. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +1 -1
  296. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
  297. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +1 -1
  298. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
  299. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +1 -1
  300. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  301. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
  302. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
  303. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
  304. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  305. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +0 -13
  306. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
  307. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +0 -13
  308. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
  309. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  310. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  311. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  312. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  313. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  314. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  315. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  316. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +14 -14
  317. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  318. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +19 -19
  319. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +2 -2
  320. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +13 -13
  321. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  322. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  323. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  324. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +22 -22
  325. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +1 -1
  326. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +1 -1
  327. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
  328. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
  329. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  330. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  331. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  332. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  333. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
  334. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +11 -11
  335. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  336. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  337. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
  338. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
  339. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  340. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  341. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  342. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  343. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +2 -2
  344. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
  345. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +2 -2
  346. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  347. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs +8 -8
  348. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs.map +1 -1
  349. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +8 -8
  350. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  351. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +98 -73
  352. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  353. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +99 -74
  354. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  355. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +2 -2
  356. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
  357. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +2 -2
  358. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  359. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +1 -1
  360. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +1 -1
  361. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +1 -1
  362. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  363. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +82 -57
  364. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  365. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +82 -57
  366. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  367. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +22 -14
  368. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  369. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +22 -14
  370. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  371. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +205 -36
  372. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  373. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +208 -39
  374. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  375. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +20 -11
  376. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  377. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +20 -11
  378. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  379. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -2
  380. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs.map +1 -1
  381. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -2
  382. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js.map +1 -1
  383. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  384. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +5 -5
  385. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  386. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  387. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs +1 -1
  388. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +1 -1
  389. package/dist/martyrs/src/modules/orders/orders.client.cjs +6 -0
  390. package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
  391. package/dist/martyrs/src/modules/orders/orders.client.js +6 -0
  392. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  393. package/dist/martyrs/src/modules/orders/store/shopcart.cjs +75 -94
  394. package/dist/martyrs/src/modules/orders/store/shopcart.cjs.map +1 -1
  395. package/dist/martyrs/src/modules/orders/store/shopcart.js +75 -94
  396. package/dist/martyrs/src/modules/orders/store/shopcart.js.map +1 -1
  397. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +11 -3
  398. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map +1 -1
  399. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +11 -3
  400. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  401. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.cjs +1 -1
  402. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
  403. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  404. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  405. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
  406. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  407. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +1 -1
  408. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  409. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -3
  410. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs.map +1 -1
  411. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +16 -17
  412. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js.map +1 -1
  413. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
  414. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  415. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
  416. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  417. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +3 -3
  418. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
  419. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +3 -3
  420. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  422. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +16 -16
  423. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  424. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
  425. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  426. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  427. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
  428. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs.map +1 -1
  429. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
  430. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js.map +1 -1
  431. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  432. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +3 -3
  433. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  434. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +8 -8
  435. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -2
  436. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
  437. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -2
  438. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
  439. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +3 -3
  440. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  441. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +3 -3
  442. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  443. package/dist/martyrs/src/modules/organizations/organizations.client.cjs +0 -3
  444. package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
  445. package/dist/martyrs/src/modules/organizations/organizations.client.js +18 -21
  446. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  447. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +0 -2
  448. package/dist/martyrs/src/modules/organizations/router/organizations.cjs.map +1 -1
  449. package/dist/martyrs/src/modules/organizations/router/organizations.js +0 -2
  450. package/dist/martyrs/src/modules/organizations/router/organizations.js.map +1 -1
  451. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -2
  452. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs.map +1 -1
  453. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -2
  454. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
  455. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -2
  456. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs.map +1 -1
  457. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -2
  458. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
  459. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  460. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  461. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +7 -4
  462. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  463. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +7 -4
  464. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  465. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
  466. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  467. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs +18 -21
  468. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs.map +1 -1
  469. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +19 -22
  470. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  471. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +1 -1
  472. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  473. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +1 -1
  474. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  475. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +48 -45
  476. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
  477. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +49 -46
  478. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  479. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +13 -21
  480. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  481. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +23 -31
  482. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  483. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +29 -18
  484. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  485. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +29 -18
  486. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  487. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +5 -7
  488. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  489. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +21 -23
  490. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  491. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +3 -2
  492. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  493. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +3 -2
  494. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  495. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +2 -2
  496. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +6 -6
  497. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  498. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +12 -12
  499. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +11 -3
  500. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs.map +1 -1
  501. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +11 -3
  502. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js.map +1 -1
  503. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +8 -16
  504. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +1 -1
  505. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +8 -16
  506. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
  507. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +80 -61
  508. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
  509. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +100 -81
  510. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  511. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +3 -3
  512. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
  513. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
  514. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  515. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +1 -1
  516. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
  517. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +1 -1
  518. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
  519. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +8 -14
  520. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
  521. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +9 -15
  522. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  523. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  524. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  525. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
  526. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  527. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  528. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  529. package/dist/martyrs/src/modules/products/products.client.cjs +1 -13
  530. package/dist/martyrs/src/modules/products/products.client.cjs.map +1 -1
  531. package/dist/martyrs/src/modules/products/products.client.js +36 -48
  532. package/dist/martyrs/src/modules/products/products.client.js.map +1 -1
  533. package/dist/martyrs/src/modules/products/store/products.cjs +4 -4
  534. package/dist/martyrs/src/modules/products/store/products.cjs.map +1 -1
  535. package/dist/martyrs/src/modules/products/store/products.js +4 -4
  536. package/dist/martyrs/src/modules/products/store/products.js.map +1 -1
  537. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +3 -3
  538. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs.map +1 -1
  539. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +3 -3
  540. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js.map +1 -1
  541. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +12 -4
  542. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs.map +1 -1
  543. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +15 -7
  544. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  545. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  546. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  547. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +41 -33
  548. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
  549. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +42 -34
  550. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  551. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +0 -1
  552. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs.map +1 -1
  553. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +0 -1
  554. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
  555. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +0 -1
  556. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs.map +1 -1
  557. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +0 -1
  558. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
  559. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  560. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  561. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +2 -2
  562. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs.map +1 -1
  563. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +2 -2
  564. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  565. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  566. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +13 -13
  567. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  568. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +8 -8
  569. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  570. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +2 -2
  571. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  572. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  573. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
  574. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +1 -1
  575. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
  576. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  577. package/dist/martyrs.cjs.js +1 -1
  578. package/dist/martyrs.css +1 -1
  579. package/dist/martyrs.es.js +20 -20
  580. package/dist/music.server.cjs +3 -3
  581. package/dist/music.server.js +3 -3
  582. package/dist/notifications.server.cjs +1 -1
  583. package/dist/notifications.server.js +1 -1
  584. package/dist/orders.server.cjs +155 -64
  585. package/dist/orders.server.js +155 -64
  586. package/dist/organizations.server.cjs +25 -4
  587. package/dist/organizations.server.js +25 -4
  588. package/dist/{ownership.schema-CCZX5vfw.js → ownership.schema-BqH4v5vH.js} +2 -2
  589. package/dist/{ownership.schema-DCosqOc1.cjs → ownership.schema-D1p5XSpt.cjs} +2 -2
  590. package/dist/products.server.cjs +64 -288
  591. package/dist/products.server.js +64 -288
  592. package/dist/rents.server.cjs +35 -13
  593. package/dist/rents.server.js +35 -13
  594. package/dist/style.css +198 -201
  595. package/dist/wallet.server.cjs +1 -1
  596. package/dist/wallet.server.js +1 -1
  597. package/dist/web-BXhlxo6M.cjs +1 -0
  598. package/dist/web-Czi05iGG.js +54 -0
  599. package/package.json +1 -1
  600. package/src/builder/rspack/rspack.config.base.js +14 -0
  601. package/src/components/Breadcrumbs/Breadcrumbs.vue +200 -62
  602. package/src/components/Button/Button.vue +1 -1
  603. package/src/components/Calendar/Calendar.vue +53 -3
  604. package/src/components/Countdown/Countdown.vue +4 -4
  605. package/src/components/DatePicker/DatePicker.vue +32 -22
  606. package/src/components/Feed/Carousel.vue +18 -3
  607. package/src/components/Feed/Feed.vue +24 -31
  608. package/src/components/Field/Field.vue +9 -31
  609. package/src/components/FieldBig/FieldBig.vue +17 -18
  610. package/src/components/Loader/Loader.vue +1 -8
  611. package/src/components/Menu/MenuItem.vue +1 -1
  612. package/src/components/Select/Select.vue +19 -27
  613. package/src/components/Status/Snack.vue +4 -2
  614. package/src/components/Tab/Tab.vue +2 -2
  615. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +9 -14
  616. package/src/main.js +2 -0
  617. package/src/modules/auth/controllers/middlewares/authJwt.js +0 -29
  618. package/src/modules/auth/views/components/pages/ResetPassword.vue +1 -1
  619. package/src/modules/auth/views/components/pages/SignIn.vue +1 -1
  620. package/src/modules/auth/views/components/pages/SignUp.vue +1 -1
  621. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  622. package/src/modules/backoffice/components/admin/Users.vue +1 -1
  623. package/src/modules/backoffice/components/partials/Sidebar.vue +3 -3
  624. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  625. package/src/modules/community/components/layouts/Community.vue +5 -5
  626. package/src/modules/community/components/pages/Blog.vue +1 -1
  627. package/src/modules/community/components/sections/Comments.vue +1 -1
  628. package/src/modules/constructor/components/sections/Viewer.vue +1 -1
  629. package/src/modules/events/components/blocks/CardEvent.vue +35 -29
  630. package/src/modules/events/components/pages/Event.vue +4 -3
  631. package/src/modules/events/components/pages/Events.vue +3 -3
  632. package/src/modules/events/components/pages/EventsBackoffice.vue +1 -1
  633. package/src/modules/events/components/sections/FeaturedEvents.vue +8 -4
  634. package/src/modules/events/components/sections/List.vue +17 -18
  635. package/src/modules/events/components/sections/SelectDate.vue +2 -2
  636. package/src/modules/files/controllers/files.controller.js +14 -3
  637. package/src/modules/files/middlewares/server/middlewareBusboy.js +46 -17
  638. package/src/modules/globals/controllers/classes/crud/crud.controller.js +5 -2
  639. package/src/modules/globals/controllers/classes/crud/crud.js +1 -1
  640. package/src/modules/globals/controllers/classes/crud/crud.service.js +0 -1
  641. package/src/modules/globals/controllers/classes/globals.abac.js +1 -1
  642. package/src/modules/globals/locales/en.js +8 -0
  643. package/src/modules/globals/models/schemas/ownership.schema.js +2 -2
  644. package/src/modules/globals/views/classes/globals.store.js +8 -2
  645. package/src/modules/globals/views/components/blocks/BlockSearch.vue +12 -17
  646. package/src/modules/globals/views/components/blocks/CardHeader.vue +9 -11
  647. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +19 -9
  648. package/src/modules/globals/views/components/layouts/Client.vue +15 -9
  649. package/src/modules/globals/views/components/partials/CitySelection.vue +1 -1
  650. package/src/modules/globals/views/components/partials/FooterAlt.vue +1 -1
  651. package/src/modules/globals/views/components/partials/Sidebar.vue +1 -1
  652. package/src/modules/globals/views/components/sections/Walkthrough.vue +2 -2
  653. package/src/modules/globals/views/plugins/date-picker.plugin.js +17 -7
  654. package/src/modules/globals/views/router/addRoutes.js +4 -1
  655. package/src/modules/globals/views/store/globals.js +1 -1
  656. package/src/modules/icons/actions/IconOpenLink.vue +14 -0
  657. package/src/modules/icons/entities/IconInfo.vue +2 -2
  658. package/src/modules/icons/icons.client.js +8 -0
  659. package/src/modules/icons/pages/IconsPage.vue +2 -0
  660. package/src/modules/icons/skeletons/SkeletonEventShort.vue +2 -2
  661. package/src/modules/icons/socials/telegram.vue +2 -2
  662. package/src/modules/inventory/components/forms/AdjustmentForm.vue +225 -0
  663. package/src/modules/inventory/components/forms/ColumnSettingsMenu.vue +80 -0
  664. package/src/modules/inventory/components/forms/HistoryView.vue +134 -0
  665. package/src/modules/inventory/components/forms/StockAlertsForm.vue +181 -0
  666. package/src/modules/{products/components/pages/Leftovers.vue → inventory/components/pages/Inventory.vue} +60 -41
  667. package/src/modules/{products/components/pages/LeftoverEdit.vue → inventory/components/pages/InventoryEdit.vue} +131 -86
  668. package/src/modules/inventory/docs/README.md +291 -0
  669. package/src/modules/inventory/inventory.client.js +65 -0
  670. package/src/modules/inventory/inventory.server.js +8 -5
  671. package/src/modules/inventory/middlewares/stock.alerts.verifier.js +194 -0
  672. package/src/modules/inventory/models/stock.alerts.model.js +45 -0
  673. package/src/modules/inventory/models/stock.audit.model.js +60 -0
  674. package/src/modules/inventory/models/stock.availability.model.js +6 -6
  675. package/src/modules/inventory/policies/inventory.policies.js +28 -28
  676. package/src/modules/inventory/router/inventory.router.js +28 -0
  677. package/src/modules/inventory/routes/inventory.routes.js +8 -4
  678. package/src/modules/inventory/routes/stock.alerts.routes.js +43 -0
  679. package/src/modules/inventory/services/inventory.crud.js +204 -21
  680. package/src/modules/inventory/services/inventory.verifier.js +67 -11
  681. package/src/modules/inventory/store/ inventory.store.js +4 -2
  682. package/src/modules/inventory/store/stock.alerts.store.js +5 -0
  683. package/src/modules/inventory/tests/inventory.test.js +281 -0
  684. package/src/modules/landing/components/sections/SectionEarn.vue +1 -1
  685. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  686. package/src/modules/landing/components/sections/SectionFeaturesImages.vue +1 -1
  687. package/src/modules/landing/components/sections/SectionFocus.vue +1 -1
  688. package/src/modules/landing/components/sections/SectionGuide.vue +1 -1
  689. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  690. package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
  691. package/src/modules/landing/components/sections/SectionJoinUs.vue +1 -1
  692. package/src/modules/landing/components/sections/SectionMobileApp.vue +1 -1
  693. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
  694. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +14 -14
  695. package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
  696. package/src/modules/orders/components/blocks/CardOrder.vue +7 -7
  697. package/src/modules/orders/components/blocks/CardOrderItem.vue +96 -91
  698. package/src/modules/orders/components/blocks/CardOrderUser.vue +1 -1
  699. package/src/modules/orders/components/elements/PriceTotal.vue +1 -1
  700. package/src/modules/orders/components/pages/Favorites.vue +1 -1
  701. package/src/modules/orders/components/pages/OrderBackoffice.vue +59 -29
  702. package/src/modules/orders/components/pages/OrderCreate.vue +15 -7
  703. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +201 -16
  704. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  705. package/src/modules/orders/components/partials/ShopCart.vue +17 -8
  706. package/src/modules/orders/components/sections/Succes.vue +1 -1
  707. package/src/modules/orders/controllers/orders.controller.js +175 -77
  708. package/src/modules/orders/orders.client.js +6 -0
  709. package/src/modules/orders/routes/orders.routes.js +15 -10
  710. package/src/modules/orders/store/shopcart.js +54 -131
  711. package/src/modules/organizations/components/blocks/CardOrganization.vue +9 -1
  712. package/src/modules/organizations/components/blocks/Rating.vue +1 -1
  713. package/src/modules/organizations/components/pages/Department.vue +1 -1
  714. package/src/modules/organizations/components/pages/DepartmentEdit.vue +0 -1
  715. package/src/modules/organizations/components/pages/Organization.vue +2 -2
  716. package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +3 -3
  717. package/src/modules/organizations/components/pages/Organizations.vue +1 -1
  718. package/src/modules/organizations/components/sections/DetailsTabSection.vue +1 -1
  719. package/src/modules/organizations/configs/navigation.organization.config.js +3 -3
  720. package/src/modules/organizations/controllers/utils/lookupConfigs.js +22 -1
  721. package/src/modules/organizations/models/schemas/accesses.schema.js +1 -1
  722. package/src/modules/organizations/organizations.client.js +0 -3
  723. package/src/modules/organizations/router/organizations.js +0 -2
  724. package/src/modules/products/components/blocks/CardProduct.vue +1 -1
  725. package/src/modules/products/components/blocks/ProductVariants.vue +5 -5
  726. package/src/modules/products/components/elements/Price.vue +1 -1
  727. package/src/modules/products/components/forms/StockHistoryView.vue +4 -4
  728. package/src/modules/products/components/pages/Categories.vue +4 -2
  729. package/src/modules/products/components/pages/CategoryEdit.vue +23 -10
  730. package/src/modules/products/components/pages/Product.vue +28 -78
  731. package/src/modules/products/components/pages/ProductEdit.vue +3 -12
  732. package/src/modules/products/components/pages/Products.vue +3 -2
  733. package/src/modules/products/components/sections/EditIngredients.vue +11 -2
  734. package/src/modules/products/components/sections/EditRecommended.vue +3 -14
  735. package/src/modules/products/components/sections/EditVariants.vue +52 -25
  736. package/src/modules/products/components/sections/FilterProducts.vue +3 -3
  737. package/src/modules/products/components/sections/HeroRecommendation.vue +1 -1
  738. package/src/modules/products/components/sections/ProductConfigurator.vue +5 -11
  739. package/src/modules/products/components/sections/SectionProduct.vue +2 -2
  740. package/src/modules/products/controllers/configs/products.lookup.config.js +52 -80
  741. package/src/modules/products/controllers/products.controller.js +2 -2
  742. package/src/modules/products/middlewares/variants.verifier.js +1 -1
  743. package/src/modules/products/products.client.js +0 -12
  744. package/src/modules/products/products.server.js +0 -8
  745. package/src/modules/products/routes/variants.routes.js +0 -59
  746. package/src/modules/products/store/products.js +4 -4
  747. package/src/modules/rents/controllers/services/rents.services.js +41 -11
  748. package/src/modules/rents/models/rent.model.js +1 -0
  749. package/src/modules/rents/views/components/pages/GanttChart.vue +1 -1
  750. package/src/modules/rents/views/components/pages/RentsEdit.vue +10 -2
  751. package/src/modules/spots/components/blocks/CardSpot.vue +14 -11
  752. package/src/modules/spots/components/pages/Spot.vue +1 -1
  753. package/src/modules/wallet/views/components/pages/Wallet.vue +2 -2
  754. package/src/styles/base/all.scss +10 -1
  755. package/src/styles/base/borders.scss +234 -155
  756. package/src/styles/layout.scss +36 -0
  757. package/src/styles/typography.scss +12 -4
  758. package/dist/Media-B2jWzwLB.cjs +0 -1
  759. package/dist/Media-DZ5_ItXQ.js +0 -111
  760. package/dist/main-C6_DPWGX.cjs +0 -11
  761. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  762. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  763. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  764. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +0 -1
  765. package/dist/martyrs/src/components/Field/Field.vue2.js.map +0 -1
  766. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +0 -184
  767. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +0 -1
  768. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +0 -184
  769. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +0 -1
  770. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs +0 -67
  771. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs.map +0 -1
  772. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js +0 -67
  773. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js.map +0 -1
  774. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs +0 -91
  775. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs.map +0 -1
  776. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js +0 -91
  777. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js.map +0 -1
  778. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterRange.vue2.cjs +0 -64
  779. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterRange.vue2.cjs.map +0 -1
  780. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterRange.vue2.js +0 -64
  781. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterRange.vue2.js.map +0 -1
  782. package/dist/martyrs/src/modules/organizations/components/blocks/EditArray.vue.cjs +0 -80
  783. package/dist/martyrs/src/modules/organizations/components/blocks/EditArray.vue.cjs.map +0 -1
  784. package/dist/martyrs/src/modules/organizations/components/blocks/EditArray.vue.js +0 -80
  785. package/dist/martyrs/src/modules/organizations/components/blocks/EditArray.vue.js.map +0 -1
  786. package/dist/martyrs/src/modules/products/components/blocks/CardLeftover.vue.cjs +0 -118
  787. package/dist/martyrs/src/modules/products/components/blocks/CardLeftover.vue.cjs.map +0 -1
  788. package/dist/martyrs/src/modules/products/components/blocks/CardLeftover.vue.js +0 -118
  789. package/dist/martyrs/src/modules/products/components/blocks/CardLeftover.vue.js.map +0 -1
  790. package/dist/martyrs/src/modules/products/components/forms/ColumnSettingsMenu.vue.cjs +0 -73
  791. package/dist/martyrs/src/modules/products/components/forms/ColumnSettingsMenu.vue.cjs.map +0 -1
  792. package/dist/martyrs/src/modules/products/components/forms/ColumnSettingsMenu.vue.js +0 -73
  793. package/dist/martyrs/src/modules/products/components/forms/ColumnSettingsMenu.vue.js.map +0 -1
  794. package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.cjs +0 -101
  795. package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.cjs.map +0 -1
  796. package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js +0 -101
  797. package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js.map +0 -1
  798. package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs +0 -135
  799. package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs.map +0 -1
  800. package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js +0 -135
  801. package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js.map +0 -1
  802. package/dist/martyrs/src/modules/products/components/forms/StockHistoryView.vue.cjs +0 -148
  803. package/dist/martyrs/src/modules/products/components/forms/StockHistoryView.vue.cjs.map +0 -1
  804. package/dist/martyrs/src/modules/products/components/forms/StockHistoryView.vue.js +0 -148
  805. package/dist/martyrs/src/modules/products/components/forms/StockHistoryView.vue.js.map +0 -1
  806. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +0 -345
  807. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs.map +0 -1
  808. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +0 -345
  809. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js.map +0 -1
  810. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +0 -316
  811. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs.map +0 -1
  812. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +0 -316
  813. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js.map +0 -1
  814. package/dist/martyrs/src/modules/products/router/leftovers.router.cjs +0 -51
  815. package/dist/martyrs/src/modules/products/router/leftovers.router.cjs.map +0 -1
  816. package/dist/martyrs/src/modules/products/router/leftovers.router.js +0 -51
  817. package/dist/martyrs/src/modules/products/router/leftovers.router.js.map +0 -1
  818. package/dist/martyrs/src/modules/products/store/leftovers.cjs +0 -111
  819. package/dist/martyrs/src/modules/products/store/leftovers.cjs.map +0 -1
  820. package/dist/martyrs/src/modules/products/store/leftovers.js +0 -111
  821. package/dist/martyrs/src/modules/products/store/leftovers.js.map +0 -1
  822. package/src/modules/inventory/models/stock.inventory.model.js +0 -38
  823. package/src/modules/organizations/components/blocks/EditArray.vue +0 -147
  824. package/src/modules/products/components/blocks/CardLeftover.vue +0 -117
  825. package/src/modules/products/controllers/leftovers.controller.js +0 -117
  826. package/src/modules/products/models/leftover.model.js +0 -105
  827. package/src/modules/products/router/leftovers.router.js +0 -40
  828. package/src/modules/products/routes/leftovers.routes.js +0 -15
  829. package/src/modules/products/store/leftovers.js +0 -121
@@ -1,12 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
- require("../../globals/views/store/globals.cjs");
4
+ const globals = require("../../globals/views/store/globals.cjs");
5
5
  const state = vue.reactive({
6
6
  organization: null,
7
7
  positions: [],
8
8
  currentState: false
9
9
  });
10
+ const helpers = {
11
+ saveToStorage() {
12
+ localStorage.setItem(
13
+ CART_STORAGE_KEY,
14
+ JSON.stringify({
15
+ positions: state.positions,
16
+ organization: state.organization
17
+ })
18
+ );
19
+ },
20
+ async validateProduct(product) {
21
+ const serverProduct = await api.fetchProduct(product._id);
22
+ if (!serverProduct) {
23
+ return false;
24
+ }
25
+ return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;
26
+ }
27
+ };
28
+ const CART_STORAGE_KEY = "shopcart";
29
+ const api = {
30
+ async fetchProduct(productId) {
31
+ try {
32
+ const response = await fetch(`/api/products/read`, { _id: productId });
33
+ return await response.json();
34
+ } catch (error) {
35
+ console.error("Failed to fetch product:", error);
36
+ return null;
37
+ }
38
+ }
39
+ };
10
40
  const actions = {
11
41
  toggleShopcart() {
12
42
  state.currentState = state.currentState ? false : true;
@@ -24,127 +54,78 @@ const actions = {
24
54
  throw error;
25
55
  }
26
56
  },
27
- addProductToCart(product, organization, date) {
28
- console.log("organization shopcart is", organization);
29
- const cartItem = state.positions.find((item) => item._id === product._id);
57
+ addProductToCart(product, variant, organization, date, quantity = 1) {
58
+ var _a;
59
+ console.log("Adding product with variant to cart", { product: product._id, variant: variant._id, quantity });
60
+ state.organization = organization;
61
+ const cartItem = state.positions.find(
62
+ (item) => item._id === product._id && item.variant === variant._id
63
+ );
30
64
  if (cartItem) {
31
- cartItem.quantity++;
65
+ cartItem.quantity += quantity;
32
66
  } else {
33
67
  state.positions.push({
34
68
  _id: product._id,
35
- images: product.images,
69
+ images: ((_a = variant.images) == null ? void 0 : _a.length) > 0 ? variant.images : product.images,
36
70
  name: product.name,
37
71
  listing: product.listing,
38
- price: product.price,
39
- quantity: 1,
72
+ price: variant.price || product.price,
73
+ quantity,
74
+ unit: variant.unit || product.unit,
40
75
  date,
76
+ variant: variant._id,
41
77
  org_id: organization
42
- // Добавляем _id организации к каждому продукту
43
78
  });
44
79
  }
45
- state.organization = organization;
46
- localStorage.setItem(
47
- "shopcart",
48
- JSON.stringify({
49
- positions: state.positions,
50
- organization
51
- // Сохраняем _id организации в корне объекта корзины
52
- })
53
- );
80
+ helpers.saveToStorage();
81
+ globals.setSnack("Product added to cart");
54
82
  },
55
- async addVariantToCart(variantItem, organizationId, selectedDates = null) {
56
- try {
57
- state.organization = organizationId;
58
- const existingPosition = state.positions.find(
59
- (position) => position.product._id === variantItem._id && position.variantId === variantItem.variantId
60
- );
61
- if (existingPosition) {
62
- existingPosition.quantity += 1;
63
- if (selectedDates) {
64
- existingPosition.selectedDates = selectedDates;
65
- }
66
- } else {
67
- const position = {
68
- product: {
69
- _id: variantItem._id,
70
- name: variantItem.name,
71
- price: variantItem.price,
72
- sku: variantItem.sku
73
- },
74
- variantId: variantItem.variantId,
75
- attributes: variantItem.attributes || [],
76
- quantity: 1,
77
- price: variantItem.price
78
- };
79
- if (selectedDates) {
80
- position.selectedDates = selectedDates;
81
- }
82
- state.positions.push(position);
83
+ removeProduct(productId, variantId = null) {
84
+ const cartItemIndex = state.positions.findIndex((item) => {
85
+ if (variantId) {
86
+ return item._id === productId && item.variant === variantId;
83
87
  }
84
- updateLocalStorage();
85
- showNotification("Product added to cart");
86
- return true;
87
- } catch (error) {
88
- console.error("Error adding variant to cart:", error);
89
- return false;
90
- }
91
- },
92
- removeProduct(_id) {
93
- const cartItem = state.positions.find((item) => item._id === _id);
94
- const cartItemIndex = state.positions.indexOf(cartItem);
88
+ return item._id === productId;
89
+ });
95
90
  if (cartItemIndex > -1) {
96
91
  state.positions.splice(cartItemIndex, 1);
97
- localStorage.setItem(
98
- "shopcart",
99
- JSON.stringify({
100
- positions: state.positions,
101
- organization: state.organization
102
- })
103
- );
92
+ helpers.saveToStorage();
104
93
  }
105
94
  },
106
- decrementItemQuantity(_id) {
107
- const cartItem = state.positions.find((item) => item._id === _id);
108
- const cartItemIndex = state.positions.indexOf(cartItem);
109
- if (cartItemIndex > -1) {
95
+ decrementItemQuantity(productId, variantId = null) {
96
+ const cartItem = state.positions.find((item) => {
97
+ if (variantId) {
98
+ return item._id === productId && item.variant === variantId;
99
+ }
100
+ return item._id === productId;
101
+ });
102
+ if (cartItem) {
110
103
  cartItem.quantity--;
111
104
  if (cartItem.quantity < 1) {
112
- state.positions.splice(cartItemIndex, 1);
105
+ const index = state.positions.indexOf(cartItem);
106
+ state.positions.splice(index, 1);
113
107
  }
114
- localStorage.setItem(
115
- "shopcart",
116
- JSON.stringify({
117
- positions: state.positions,
118
- organization: state.organization
119
- })
120
- );
108
+ helpers.saveToStorage();
121
109
  }
122
110
  },
123
- incrementItemQuantity(_id) {
124
- const cartItem = state.positions.find((item) => item._id === _id);
111
+ incrementItemQuantity(productId, variantId = null) {
112
+ const cartItem = state.positions.find((item) => {
113
+ if (variantId) {
114
+ return item._id === productId && item.variant === variantId;
115
+ }
116
+ return item._id === productId;
117
+ });
125
118
  if (cartItem) {
126
119
  cartItem.quantity++;
127
- localStorage.setItem(
128
- "shopcart",
129
- JSON.stringify({
130
- positions: state.positions,
131
- organization: state.organization
132
- })
133
- );
120
+ helpers.saveToStorage();
134
121
  }
135
122
  },
136
- updateRentDates({ productId, dates }) {
137
- const product = state.positions.find((p) => p._id === productId);
123
+ updateRentDates({ productId, variantId, dates }) {
124
+ const product = state.positions.find((p) => p._id === productId && p.variant === variantId);
138
125
  if (product) {
139
126
  product.date = dates;
140
127
  }
141
- localStorage.setItem(
142
- "shopcart",
143
- JSON.stringify({
144
- positions: state.positions,
145
- organization: state.organization
146
- })
147
- );
128
+ helpers.saveToStorage();
148
129
  },
149
130
  resetShopcart() {
150
131
  state.positions = [];
@@ -1 +1 @@
1
- {"version":3,"file":"shopcart.cjs","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { computed, reactive, watch } from 'vue';\n// Dependencies\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false,\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n createCartItem(product, organization, type = 'sale') {\n return {\n _id: product._id,\n images: product.images,\n name: product.name,\n price: product.price,\n listing: product.listing,\n quantity: 1,\n org_id: organization,\n type: type,\n };\n },\n\n saveToStorage() {\n localStorage.setItem(\n CART_STORAGE_KEY,\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;\n },\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId });\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n },\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n\n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct || serverProduct.price !== product.price || serverProduct.name !== product.name || serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(product => !invalidProducts.includes(product._id));\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n toggleShopcart() {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n addProductToCart(product, organization, date) {\n console.log('organization shopcart is', organization);\n const cartItem = state.positions.find(item => item._id === product._id);\n\n if (cartItem) {\n cartItem.quantity++;\n } else {\n state.positions.push({\n _id: product._id,\n images: product.images,\n name: product.name,\n listing: product.listing,\n price: product.price,\n quantity: 1,\n date: date,\n org_id: organization, // Добавляем _id организации к каждому продукту\n });\n }\n state.organization = organization;\n\n // Обновляем объект корзины в localStorage, включая _id организации\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: organization, // Сохраняем _id организации в корне объекта корзины\n })\n );\n },\n\n async addVariantToCart(variantItem, organizationId, selectedDates = null) {\n try {\n // Убедимся, что организация установлена \n state.organization = organizationId;\n \n // Проверим, есть ли этот вариант уже в корзине\n const existingPosition = state.positions.find(\n position => position.product._id === variantItem._id && position.variantId === variantItem.variantId\n );\n \n if (existingPosition) {\n // Обновляем существующую позицию\n existingPosition.quantity += 1;\n \n // Если есть выбранные даты для аренды, обновляем их\n if (selectedDates) {\n existingPosition.selectedDates = selectedDates;\n }\n } else {\n // Создаем новую позицию\n const position = {\n product: {\n _id: variantItem._id,\n name: variantItem.name,\n price: variantItem.price,\n sku: variantItem.sku\n },\n variantId: variantItem.variantId,\n attributes: variantItem.attributes || [],\n quantity: 1,\n price: variantItem.price,\n };\n \n // Добавляем даты для товаров с арендой\n if (selectedDates) {\n position.selectedDates = selectedDates;\n }\n \n // Добавляем позицию в корзину\n state.positions.push(position);\n }\n \n // Обновляем локальное хранилище\n updateLocalStorage();\n \n // Отправляем уведомление о добавлении в корзину\n showNotification('Product added to cart');\n \n return true;\n } catch (error) {\n console.error('Error adding variant to cart:', error);\n return false;\n }\n },\n\n\n removeProduct(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n decrementItemQuantity(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n cartItem.quantity--;\n\n if (cartItem.quantity < 1) {\n state.positions.splice(cartItemIndex, 1);\n }\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n incrementItemQuantity(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n\n if (cartItem) {\n cartItem.quantity++;\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n updateRentDates({ productId, dates }) {\n const product = state.positions.find(p => p._id === productId);\n\n if (product) {\n product.date = dates; // Предполагается, что dates — объект { start, end }\n }\n\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n resetShopcart() {\n state.positions = [];\n\n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start);\n const end = new Date(product.date.end);\n const diffTime = Math.abs(end - start);\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0)\n );\n }),\n cartTotalAmount: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0)\n );\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, state };\n"],"names":["reactive","computed","watch"],"mappings":"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"}
1
+ {"version":3,"file":"shopcart.cjs","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { computed, reactive, watch } from 'vue';\n// Dependencies\n// Globals\nimport { setError, setSnack } from '@martyrs/src/modules/globals/views/store/globals.js';\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false,\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n saveToStorage() {\n localStorage.setItem(\n CART_STORAGE_KEY,\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;\n },\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId });\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n },\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n\n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct || serverProduct.price !== product.price || serverProduct.name !== product.name || serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(product => !invalidProducts.includes(product._id));\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n toggleShopcart() {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n addProductToCart(product, variant, organization, date, quantity = 1) {\n console.log('Adding product with variant to cart', { product: product._id, variant: variant._id, quantity });\n \n // Убедимся, что организация установлена\n state.organization = organization;\n \n // Ищем позицию с таким же товаром и вариантом\n const cartItem = state.positions.find(\n item => item._id === product._id && item.variant === variant._id\n );\n\n if (cartItem) {\n cartItem.quantity += quantity;\n } else {\n state.positions.push({\n _id: product._id,\n images: variant.images?.length > 0 ? variant.images : product.images,\n name: product.name,\n listing: product.listing,\n price: variant.price || product.price,\n quantity: quantity,\n unit: variant.unit || product.unit,\n date: date,\n variant: variant._id,\n org_id: organization,\n });\n }\n\n // Сохраняем в localStorage\n helpers.saveToStorage();\n \n // Отправляем уведомление\n setSnack('Product added to cart');\n },\n\n\n\n removeProduct(productId, variantId = null) {\n const cartItemIndex = state.positions.findIndex(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n helpers.saveToStorage();\n }\n },\n\n decrementItemQuantity(productId, variantId = null) {\n const cartItem = state.positions.find(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItem) {\n cartItem.quantity--;\n\n if (cartItem.quantity < 1) {\n const index = state.positions.indexOf(cartItem);\n state.positions.splice(index, 1);\n }\n\n helpers.saveToStorage();\n }\n },\n\n incrementItemQuantity(productId, variantId = null) {\n const cartItem = state.positions.find(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItem) {\n cartItem.quantity++;\n helpers.saveToStorage();\n }\n },\n\n updateRentDates({ productId, variantId, dates }) {\n const product = state.positions.find(p => p._id === productId && p.variant === variantId);\n\n if (product) {\n product.date = dates;\n }\n\n helpers.saveToStorage();\n },\n\n resetShopcart() {\n state.positions = [];\n\n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start);\n const end = new Date(product.date.end);\n const diffTime = Math.abs(end - start);\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0)\n );\n }),\n cartTotalAmount: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0)\n );\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, state };\n"],"names":["reactive","setSnack","computed","watch"],"mappings":"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"}
@@ -1,10 +1,40 @@
1
1
  import { reactive, computed, watch } from "vue";
2
- import "../../globals/views/store/globals.js";
2
+ import { setSnack } from "../../globals/views/store/globals.js";
3
3
  const state = reactive({
4
4
  organization: null,
5
5
  positions: [],
6
6
  currentState: false
7
7
  });
8
+ const helpers = {
9
+ saveToStorage() {
10
+ localStorage.setItem(
11
+ CART_STORAGE_KEY,
12
+ JSON.stringify({
13
+ positions: state.positions,
14
+ organization: state.organization
15
+ })
16
+ );
17
+ },
18
+ async validateProduct(product) {
19
+ const serverProduct = await api.fetchProduct(product._id);
20
+ if (!serverProduct) {
21
+ return false;
22
+ }
23
+ return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;
24
+ }
25
+ };
26
+ const CART_STORAGE_KEY = "shopcart";
27
+ const api = {
28
+ async fetchProduct(productId) {
29
+ try {
30
+ const response = await fetch(`/api/products/read`, { _id: productId });
31
+ return await response.json();
32
+ } catch (error) {
33
+ console.error("Failed to fetch product:", error);
34
+ return null;
35
+ }
36
+ }
37
+ };
8
38
  const actions = {
9
39
  toggleShopcart() {
10
40
  state.currentState = state.currentState ? false : true;
@@ -22,127 +52,78 @@ const actions = {
22
52
  throw error;
23
53
  }
24
54
  },
25
- addProductToCart(product, organization, date) {
26
- console.log("organization shopcart is", organization);
27
- const cartItem = state.positions.find((item) => item._id === product._id);
55
+ addProductToCart(product, variant, organization, date, quantity = 1) {
56
+ var _a;
57
+ console.log("Adding product with variant to cart", { product: product._id, variant: variant._id, quantity });
58
+ state.organization = organization;
59
+ const cartItem = state.positions.find(
60
+ (item) => item._id === product._id && item.variant === variant._id
61
+ );
28
62
  if (cartItem) {
29
- cartItem.quantity++;
63
+ cartItem.quantity += quantity;
30
64
  } else {
31
65
  state.positions.push({
32
66
  _id: product._id,
33
- images: product.images,
67
+ images: ((_a = variant.images) == null ? void 0 : _a.length) > 0 ? variant.images : product.images,
34
68
  name: product.name,
35
69
  listing: product.listing,
36
- price: product.price,
37
- quantity: 1,
70
+ price: variant.price || product.price,
71
+ quantity,
72
+ unit: variant.unit || product.unit,
38
73
  date,
74
+ variant: variant._id,
39
75
  org_id: organization
40
- // Добавляем _id организации к каждому продукту
41
76
  });
42
77
  }
43
- state.organization = organization;
44
- localStorage.setItem(
45
- "shopcart",
46
- JSON.stringify({
47
- positions: state.positions,
48
- organization
49
- // Сохраняем _id организации в корне объекта корзины
50
- })
51
- );
78
+ helpers.saveToStorage();
79
+ setSnack("Product added to cart");
52
80
  },
53
- async addVariantToCart(variantItem, organizationId, selectedDates = null) {
54
- try {
55
- state.organization = organizationId;
56
- const existingPosition = state.positions.find(
57
- (position) => position.product._id === variantItem._id && position.variantId === variantItem.variantId
58
- );
59
- if (existingPosition) {
60
- existingPosition.quantity += 1;
61
- if (selectedDates) {
62
- existingPosition.selectedDates = selectedDates;
63
- }
64
- } else {
65
- const position = {
66
- product: {
67
- _id: variantItem._id,
68
- name: variantItem.name,
69
- price: variantItem.price,
70
- sku: variantItem.sku
71
- },
72
- variantId: variantItem.variantId,
73
- attributes: variantItem.attributes || [],
74
- quantity: 1,
75
- price: variantItem.price
76
- };
77
- if (selectedDates) {
78
- position.selectedDates = selectedDates;
79
- }
80
- state.positions.push(position);
81
+ removeProduct(productId, variantId = null) {
82
+ const cartItemIndex = state.positions.findIndex((item) => {
83
+ if (variantId) {
84
+ return item._id === productId && item.variant === variantId;
81
85
  }
82
- updateLocalStorage();
83
- showNotification("Product added to cart");
84
- return true;
85
- } catch (error) {
86
- console.error("Error adding variant to cart:", error);
87
- return false;
88
- }
89
- },
90
- removeProduct(_id) {
91
- const cartItem = state.positions.find((item) => item._id === _id);
92
- const cartItemIndex = state.positions.indexOf(cartItem);
86
+ return item._id === productId;
87
+ });
93
88
  if (cartItemIndex > -1) {
94
89
  state.positions.splice(cartItemIndex, 1);
95
- localStorage.setItem(
96
- "shopcart",
97
- JSON.stringify({
98
- positions: state.positions,
99
- organization: state.organization
100
- })
101
- );
90
+ helpers.saveToStorage();
102
91
  }
103
92
  },
104
- decrementItemQuantity(_id) {
105
- const cartItem = state.positions.find((item) => item._id === _id);
106
- const cartItemIndex = state.positions.indexOf(cartItem);
107
- if (cartItemIndex > -1) {
93
+ decrementItemQuantity(productId, variantId = null) {
94
+ const cartItem = state.positions.find((item) => {
95
+ if (variantId) {
96
+ return item._id === productId && item.variant === variantId;
97
+ }
98
+ return item._id === productId;
99
+ });
100
+ if (cartItem) {
108
101
  cartItem.quantity--;
109
102
  if (cartItem.quantity < 1) {
110
- state.positions.splice(cartItemIndex, 1);
103
+ const index = state.positions.indexOf(cartItem);
104
+ state.positions.splice(index, 1);
111
105
  }
112
- localStorage.setItem(
113
- "shopcart",
114
- JSON.stringify({
115
- positions: state.positions,
116
- organization: state.organization
117
- })
118
- );
106
+ helpers.saveToStorage();
119
107
  }
120
108
  },
121
- incrementItemQuantity(_id) {
122
- const cartItem = state.positions.find((item) => item._id === _id);
109
+ incrementItemQuantity(productId, variantId = null) {
110
+ const cartItem = state.positions.find((item) => {
111
+ if (variantId) {
112
+ return item._id === productId && item.variant === variantId;
113
+ }
114
+ return item._id === productId;
115
+ });
123
116
  if (cartItem) {
124
117
  cartItem.quantity++;
125
- localStorage.setItem(
126
- "shopcart",
127
- JSON.stringify({
128
- positions: state.positions,
129
- organization: state.organization
130
- })
131
- );
118
+ helpers.saveToStorage();
132
119
  }
133
120
  },
134
- updateRentDates({ productId, dates }) {
135
- const product = state.positions.find((p) => p._id === productId);
121
+ updateRentDates({ productId, variantId, dates }) {
122
+ const product = state.positions.find((p) => p._id === productId && p.variant === variantId);
136
123
  if (product) {
137
124
  product.date = dates;
138
125
  }
139
- localStorage.setItem(
140
- "shopcart",
141
- JSON.stringify({
142
- positions: state.positions,
143
- organization: state.organization
144
- })
145
- );
126
+ helpers.saveToStorage();
146
127
  },
147
128
  resetShopcart() {
148
129
  state.positions = [];
@@ -1 +1 @@
1
- {"version":3,"file":"shopcart.js","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { computed, reactive, watch } from 'vue';\n// Dependencies\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false,\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n createCartItem(product, organization, type = 'sale') {\n return {\n _id: product._id,\n images: product.images,\n name: product.name,\n price: product.price,\n listing: product.listing,\n quantity: 1,\n org_id: organization,\n type: type,\n };\n },\n\n saveToStorage() {\n localStorage.setItem(\n CART_STORAGE_KEY,\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;\n },\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId });\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n },\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n\n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct || serverProduct.price !== product.price || serverProduct.name !== product.name || serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(product => !invalidProducts.includes(product._id));\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n toggleShopcart() {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n addProductToCart(product, organization, date) {\n console.log('organization shopcart is', organization);\n const cartItem = state.positions.find(item => item._id === product._id);\n\n if (cartItem) {\n cartItem.quantity++;\n } else {\n state.positions.push({\n _id: product._id,\n images: product.images,\n name: product.name,\n listing: product.listing,\n price: product.price,\n quantity: 1,\n date: date,\n org_id: organization, // Добавляем _id организации к каждому продукту\n });\n }\n state.organization = organization;\n\n // Обновляем объект корзины в localStorage, включая _id организации\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: organization, // Сохраняем _id организации в корне объекта корзины\n })\n );\n },\n\n async addVariantToCart(variantItem, organizationId, selectedDates = null) {\n try {\n // Убедимся, что организация установлена \n state.organization = organizationId;\n \n // Проверим, есть ли этот вариант уже в корзине\n const existingPosition = state.positions.find(\n position => position.product._id === variantItem._id && position.variantId === variantItem.variantId\n );\n \n if (existingPosition) {\n // Обновляем существующую позицию\n existingPosition.quantity += 1;\n \n // Если есть выбранные даты для аренды, обновляем их\n if (selectedDates) {\n existingPosition.selectedDates = selectedDates;\n }\n } else {\n // Создаем новую позицию\n const position = {\n product: {\n _id: variantItem._id,\n name: variantItem.name,\n price: variantItem.price,\n sku: variantItem.sku\n },\n variantId: variantItem.variantId,\n attributes: variantItem.attributes || [],\n quantity: 1,\n price: variantItem.price,\n };\n \n // Добавляем даты для товаров с арендой\n if (selectedDates) {\n position.selectedDates = selectedDates;\n }\n \n // Добавляем позицию в корзину\n state.positions.push(position);\n }\n \n // Обновляем локальное хранилище\n updateLocalStorage();\n \n // Отправляем уведомление о добавлении в корзину\n showNotification('Product added to cart');\n \n return true;\n } catch (error) {\n console.error('Error adding variant to cart:', error);\n return false;\n }\n },\n\n\n removeProduct(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n decrementItemQuantity(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n cartItem.quantity--;\n\n if (cartItem.quantity < 1) {\n state.positions.splice(cartItemIndex, 1);\n }\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n incrementItemQuantity(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n\n if (cartItem) {\n cartItem.quantity++;\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n updateRentDates({ productId, dates }) {\n const product = state.positions.find(p => p._id === productId);\n\n if (product) {\n product.date = dates; // Предполагается, что dates — объект { start, end }\n }\n\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n resetShopcart() {\n state.positions = [];\n\n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start);\n const end = new Date(product.date.end);\n const diffTime = Math.abs(end - start);\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0)\n );\n }),\n cartTotalAmount: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0)\n );\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, state };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shopcart.js","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { computed, reactive, watch } from 'vue';\n// Dependencies\n// Globals\nimport { setError, setSnack } from '@martyrs/src/modules/globals/views/store/globals.js';\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false,\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n saveToStorage() {\n localStorage.setItem(\n CART_STORAGE_KEY,\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;\n },\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId });\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n },\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n\n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct || serverProduct.price !== product.price || serverProduct.name !== product.name || serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(product => !invalidProducts.includes(product._id));\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n toggleShopcart() {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n addProductToCart(product, variant, organization, date, quantity = 1) {\n console.log('Adding product with variant to cart', { product: product._id, variant: variant._id, quantity });\n \n // Убедимся, что организация установлена\n state.organization = organization;\n \n // Ищем позицию с таким же товаром и вариантом\n const cartItem = state.positions.find(\n item => item._id === product._id && item.variant === variant._id\n );\n\n if (cartItem) {\n cartItem.quantity += quantity;\n } else {\n state.positions.push({\n _id: product._id,\n images: variant.images?.length > 0 ? variant.images : product.images,\n name: product.name,\n listing: product.listing,\n price: variant.price || product.price,\n quantity: quantity,\n unit: variant.unit || product.unit,\n date: date,\n variant: variant._id,\n org_id: organization,\n });\n }\n\n // Сохраняем в localStorage\n helpers.saveToStorage();\n \n // Отправляем уведомление\n setSnack('Product added to cart');\n },\n\n\n\n removeProduct(productId, variantId = null) {\n const cartItemIndex = state.positions.findIndex(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n helpers.saveToStorage();\n }\n },\n\n decrementItemQuantity(productId, variantId = null) {\n const cartItem = state.positions.find(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItem) {\n cartItem.quantity--;\n\n if (cartItem.quantity < 1) {\n const index = state.positions.indexOf(cartItem);\n state.positions.splice(index, 1);\n }\n\n helpers.saveToStorage();\n }\n },\n\n incrementItemQuantity(productId, variantId = null) {\n const cartItem = state.positions.find(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItem) {\n cartItem.quantity++;\n helpers.saveToStorage();\n }\n },\n\n updateRentDates({ productId, variantId, dates }) {\n const product = state.positions.find(p => p._id === productId && p.variant === variantId);\n\n if (product) {\n product.date = dates;\n }\n\n helpers.saveToStorage();\n },\n\n resetShopcart() {\n state.positions = [];\n\n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start);\n const end = new Date(product.date.end);\n const diffTime = Math.abs(end - start);\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0)\n );\n }),\n cartTotalAmount: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0)\n );\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, state };\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const CardOrderItem = require("../../../orders/components/blocks/CardOrderItem.vue.cjs");
6
- const Chips = require("../../../../components/Chips/Chips.vue.cjs");
6
+ const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
7
7
  const PlaceholderOrganizationPic = require("../../../icons/placeholders/PlaceholderOrganizationPic.vue.cjs");
8
8
  const IconShopcart = require("../../../icons/entities/IconShopcart.vue.cjs");
9
9
  const IconTime = require("../../../icons/entities/IconTime.vue.cjs");
@@ -137,9 +137,17 @@ const _sfc_main = {
137
137
  onClick: vue.withModifiers(($event) => _ctx.$router.push({ name: "Organization_Product", params: { _id: __props.organization._id, product: product._id } }), ["stop"]),
138
138
  key: product._id,
139
139
  editable: false,
140
- product,
140
+ productId: product._id,
141
+ variantId: product.variant,
142
+ images: product.images,
143
+ name: product.name,
144
+ quantity: product.quantity || 1,
145
+ unit: product.unit,
146
+ dates: product.date,
147
+ listing: product.listing,
148
+ price: product.price,
141
149
  class: "pd-thin w-15r radius-medium bg-white"
142
- }, null, 8, ["onClick", "product"]);
150
+ }, null, 8, ["onClick", "productId", "variantId", "images", "name", "quantity", "unit", "dates", "listing", "price"]);
143
151
  }), 128)),
144
152
  _cache[2] || (_cache[2] = vue.createElementVNode("button", { class: "pd-thin w-15r radius-medium bg-main button" }, " View menu ", -1))
145
153
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"CardOrganization.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/blocks/CardOrganization.vue"],"sourcesContent":["<template>\n <div \n class=\"o-hidden pos-relative cursor-pointer bg-light \"\n @click=\"$router.push({name: 'Organization', params: {_id: organization._id}})\"\n >\n <div class=\"h-4r flex pos-relative\">\n\n <img loading=\"lazy\" \n v-if=\"organization.profile.photo && organization.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + organization.profile.photo\" \n class=\"h-4r w-4r radius-extra bg-white\" \n style=\"flex: 0 1 auto\"\n />\n\n <PlaceholderOrganizationPic\n v-else\n class=\"w-4r h-max radius-medium\"\n style=\"flex: 0 1 auto\"\n />\n \n <div class=\"pos-relative w-100 flex-h-center flex flex-column flex-child-1 flex-child mn-l-thin w-100\">\n \n <!-- <Text :text=\"organization.profile.name ? organization.profile.name : ''\" :maxLen=\"18\" class=\"h3 d-block\"/> -->\n <p class=\"h4 t-truncate w-100\">{{organization.profile.name}}</p>\n <!-- RATING -->\n <!-- <div v-if=\"showRating && organization.rating\" class=\"w-max star-container flex-v-center flex\">\n <img loading=\"lazy\" \n v-for=\"i in 5\"\n class=\"i-small mn-r-thin\"\n :src=\"i <= organization.rating.median ? '/icons/star.svg' : '/icons/star-stroke.svg'\"\n >\n\n <span class=\"p-small t-semi mn-r-thin\">{{organization.rating.median}}</span>\n <span class=\"p-small\">({{organization.rating.amount}})</span>\n </div> -->\n\n <div v-if=\"showFollowers || showTags\" class=\"mn-t-micro gap-micro flex-nowrap flex\">\n\n <Chips \n v-if=\"showTags && organization.profile.tags?.length > 0\" \n :chips=\"organization.profile.tags.slice(0,3)\"\n class=\"pos-relative t-trimmed p-medium\"\n >\n <div v-if=\"showFollowers\" class=\"t-truncate pos-relative p-medium mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white\">\n <p class=\"t-truncate\">{{organization.numberOfSubscribers}} followers</p>\n\n <ButtonToggleMembership\n v-if=\"\n user?._id \n && organization.owner !== user._id\n \"\n :user=\"user._id\"\n :type=\"'organization'\" \n :role=\"'subscriber'\" \n :target=\"organization._id\" \n :status=\"organization.isSubscriber\" \n :text=\"{create: '+', remove: '-'}\"\n @updateMembership=\"event => emits('updateMembership', event, 'isSubscriber', 'numberOfSubscribers')\"\n class=\"i-semi\" \n />\n </div>\n </Chips>\n </div>\n\n </div>\n\n </div>\n\n\n <div \n v-if=\"showProducts && organization.products\" \n class=\"mn-b-small t-nowrap mn-t-small w-100 flex-nowrap flex flex-v-center pd-small bg-white radius-medium\"\n >\n <IconTime class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-micro\">\n {{\n organization.distance ? \n organization.distance > 50 ? \n '3-5 days' : \n Math.ceil((5 + 5 + 3 * organization.distance) / 5) * 5 \n + '-' \n + Math.ceil((15 + 5 + 3 * organization.distance) / 5) * 5 \n + ' MIN' : 'Unavailable' \n }} \n </span>\n\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"t-transp t-grey mn-r-micro\">|</span>\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"mn-r-thin\">{{organization.distance ? organization.distance.toFixed(1) + 'KM' : ''}}</span>\n <!-- <span class=\"mn-r-thin\">{{organization.nearestSpotDistance}}</span> -->\n <!-- <IconPrice class=\"i-medium mn-r-micro\"/> -->\n <!-- <span class=\"mn-r-thin\">{{returnCurrency()}}500 </span> -->\n <IconShopcart class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-thin\"> {{organization.products.length}} products</span>\n </div>\n\n <div v-if=\"showProducts && organization.products?.length > 0\" class=\"w-100 o-scroll scroll-hide radius-medium\">\n <div class=\"w-max flex-nowrap flex gap-thin\">\n <CardOrderItem \n @click.stop=\"$router.push({name: 'Organization_Product', params: {_id: organization._id, product: product._id}})\" \n v-for=\"product in organization.products.slice(0,5)\" \n :key=\"product._id\" \n :editable=\"false\" \n :product=\"product\" \n class=\"pd-thin w-15r radius-medium bg-white\"\n \n />\n <button class=\"pd-thin w-15r radius-medium bg-main button\">\n View menu\n </button>\n </div>\n </div>\n\n </div>\n</template>\n\n<script setup>\n import { ref } from 'vue'\n import { useRouter } from 'vue-router'\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n import Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n import PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'\n\n import IconPrice from '@martyrs/src/modules/icons/entities/IconPrice.vue'\n import IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n import ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n\n const props = defineProps({\n // Model\n user: String,\n organization: Object,\n // View\n showProducts: {\n type: Boolean,\n default: false\n },\n showFollowers: {\n type: Boolean,\n default: true\n },\n showRating: {\n type: Boolean,\n default: false\n },\n showFeatured: {\n type: Boolean,\n default: true\n },\n showTags: {\n type: Boolean,\n default: true\n },\n });\n\n const emits = defineEmits(['updateMembership'])\n\n const router = useRouter();\n</script>"],"names":["useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8JE,UAAM,QAAQ;AAECA,cAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardOrganization.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/blocks/CardOrganization.vue"],"sourcesContent":["<template>\n <div \n class=\"o-hidden pos-relative cursor-pointer bg-light \"\n @click=\"$router.push({name: 'Organization', params: {_id: organization._id}})\"\n >\n <div class=\"h-4r flex pos-relative\">\n\n <img loading=\"lazy\" \n v-if=\"organization.profile.photo && organization.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + organization.profile.photo\" \n class=\"h-4r w-4r radius-extra bg-white\" \n style=\"flex: 0 1 auto\"\n />\n\n <PlaceholderOrganizationPic\n v-else\n class=\"w-4r h-max radius-medium\"\n style=\"flex: 0 1 auto\"\n />\n \n <div class=\"pos-relative w-100 flex-h-center flex flex-column flex-child-1 flex-child mn-l-thin w-100\">\n \n <!-- <Text :text=\"organization.profile.name ? organization.profile.name : ''\" :maxLen=\"18\" class=\"h3 d-block\"/> -->\n <p class=\"h4 t-truncate w-100\">{{organization.profile.name}}</p>\n <!-- RATING -->\n <!-- <div v-if=\"showRating && organization.rating\" class=\"w-max star-container flex-v-center flex\">\n <img loading=\"lazy\" \n v-for=\"i in 5\"\n class=\"i-small mn-r-thin\"\n :src=\"i <= organization.rating.median ? '/icons/star.svg' : '/icons/star-stroke.svg'\"\n >\n\n <span class=\"p-small t-semi mn-r-thin\">{{organization.rating.median}}</span>\n <span class=\"p-small\">({{organization.rating.amount}})</span>\n </div> -->\n\n <div v-if=\"showFollowers || showTags\" class=\"mn-t-micro gap-micro flex-nowrap flex\">\n\n <Chips \n v-if=\"showTags && organization.profile.tags?.length > 0\" \n :chips=\"organization.profile.tags.slice(0,3)\"\n class=\"pos-relative t-trimmed p-medium\"\n >\n <div v-if=\"showFollowers\" class=\"t-truncate pos-relative p-medium mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white\">\n <p class=\"t-truncate\">{{organization.numberOfSubscribers}} followers</p>\n\n <ButtonToggleMembership\n v-if=\"\n user?._id \n && organization.owner !== user._id\n \"\n :user=\"user._id\"\n :type=\"'organization'\" \n :role=\"'subscriber'\" \n :target=\"organization._id\" \n :status=\"organization.isSubscriber\" \n :text=\"{create: '+', remove: '-'}\"\n @updateMembership=\"event => emits('updateMembership', event, 'isSubscriber', 'numberOfSubscribers')\"\n class=\"i-semi\" \n />\n </div>\n </Chips>\n </div>\n\n </div>\n\n </div>\n\n\n <div \n v-if=\"showProducts && organization.products\" \n class=\"mn-b-small t-nowrap mn-t-small w-100 flex-nowrap flex flex-v-center pd-small bg-white radius-medium\"\n >\n <IconTime class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-micro\">\n {{\n organization.distance ? \n organization.distance > 50 ? \n '3-5 days' : \n Math.ceil((5 + 5 + 3 * organization.distance) / 5) * 5 \n + '-' \n + Math.ceil((15 + 5 + 3 * organization.distance) / 5) * 5 \n + ' MIN' : 'Unavailable' \n }} \n </span>\n\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"t-transp t-grey mn-r-micro\">|</span>\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"mn-r-thin\">{{organization.distance ? organization.distance.toFixed(1) + 'KM' : ''}}</span>\n <!-- <span class=\"mn-r-thin\">{{organization.nearestSpotDistance}}</span> -->\n <!-- <IconPrice class=\"i-medium mn-r-micro\"/> -->\n <!-- <span class=\"mn-r-thin\">{{returnCurrency()}}500 </span> -->\n <IconShopcart class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-thin\"> {{organization.products.length}} products</span>\n </div>\n\n <div v-if=\"showProducts && organization.products?.length > 0\" class=\"w-100 o-scroll scroll-hide radius-medium\">\n <div class=\"w-max flex-nowrap flex gap-thin\">\n <CardOrderItem \n @click.stop=\"$router.push({name: 'Organization_Product', params: {_id: organization._id, product: product._id}})\" \n v-for=\"product in organization.products.slice(0,5)\" \n :key=\"product._id\" \n :editable=\"false\" \n :productId=\"product._id\"\n :variantId=\"product.variant\"\n :images=\"product.images\"\n :name=\"product.name\"\n :quantity=\"product.quantity || 1\"\n :unit=\"product.unit\"\n :dates=\"product.date\"\n :listing=\"product.listing\"\n :price=\"product.price\"\n class=\"pd-thin w-15r radius-medium bg-white\"\n \n />\n <button class=\"pd-thin w-15r radius-medium bg-main button\">\n View menu\n </button>\n </div>\n </div>\n\n </div>\n</template>\n\n<script setup>\n import { ref } from 'vue'\n import { useRouter } from 'vue-router'\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n import Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n import PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'\n\n import IconPrice from '@martyrs/src/modules/icons/entities/IconPrice.vue'\n import IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n import ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n\n const props = defineProps({\n // Model\n user: String,\n organization: Object,\n // View\n showProducts: {\n type: Boolean,\n default: false\n },\n showFollowers: {\n type: Boolean,\n default: true\n },\n showRating: {\n type: Boolean,\n default: false\n },\n showFeatured: {\n type: Boolean,\n default: true\n },\n showTags: {\n type: Boolean,\n default: true\n },\n });\n\n const emits = defineEmits(['updateMembership'])\n\n const router = useRouter();\n</script>"],"names":["useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsKE,UAAM,QAAQ;AAECA,cAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}