@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,6 +1,6 @@
1
1
  import { ref, onMounted, computed, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, createTextVNode, toDisplayString, Fragment, renderList, normalizeClass, withCtx, createBlock, unref } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
- import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
3
+ import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
4
4
  import Select from "../../../../components/Select/Select.vue.js";
5
5
  import _sfc_main$1 from "../../../../components/Popup/Popup.vue.js";
6
6
  import IconTime from "../../../icons/entities/IconTime.vue.js";
@@ -38,7 +38,7 @@ const _hoisted_10 = { class: "mn-b-thin bg-light w-100 o-hidden radius-medium" }
38
38
  const _hoisted_11 = { class: "pd-small flex-nowrap flex" };
39
39
  const _hoisted_12 = { class: "mn-r-auto" };
40
40
  const _hoisted_13 = { class: "t-lh-075 h2 d-block mn-b-small" };
41
- const _hoisted_14 = { class: "pd-t-nano pd-b-nano pd-r-thin pd-l-thin radius-extra bg-black t-white w-max" };
41
+ const _hoisted_14 = { class: "pd-thin radius-extra bg-black t-white w-max" };
42
42
  const _hoisted_15 = {
43
43
  key: 0,
44
44
  class: "pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid"
@@ -46,23 +46,27 @@ const _hoisted_15 = {
46
46
  const _hoisted_16 = { class: "w-100 t-right" };
47
47
  const _hoisted_17 = { class: "pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid" };
48
48
  const _hoisted_18 = { class: "w-100 t-right" };
49
- const _hoisted_19 = { class: "pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid" };
50
- const _hoisted_20 = { class: "w-100 t-right" };
51
- const _hoisted_21 = { class: "pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid" };
52
- const _hoisted_22 = { class: "w-max t-right" };
53
- const _hoisted_23 = {
49
+ const _hoisted_19 = {
50
+ key: 1,
51
+ class: "pos-relative radius-thin mn-t-zero mn-thin bg-fifth-transp-10 pd-small"
52
+ };
53
+ const _hoisted_20 = { class: "pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid" };
54
+ const _hoisted_21 = { class: "w-100 t-right" };
55
+ const _hoisted_22 = { class: "pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid" };
56
+ const _hoisted_23 = { class: "w-max t-right" };
57
+ const _hoisted_24 = {
54
58
  key: 1,
55
59
  class: "o-y-scroll bg-light pd-thin mn-b-thin pd-thin radius-medium flex-nowrap flex"
56
60
  };
57
- const _hoisted_24 = { class: "flex-child-default mn-r-small w-max flex-v-center gap-thin flex-nowrap flex pd-thin radius-small bg-light-transp-20" };
58
- const _hoisted_25 = { class: "t-medium mn-r-auto" };
59
- const _hoisted_26 = { class: "bg-light radius-medium pd-medium mn-r-bold w-100" };
60
- const _hoisted_27 = {
61
+ const _hoisted_25 = { class: "flex-child-default mn-r-small w-max flex-v-center gap-thin flex-nowrap flex pd-thin radius-small bg-light-transp-20" };
62
+ const _hoisted_26 = { class: "t-medium mn-r-auto" };
63
+ const _hoisted_27 = { class: "bg-light radius-medium pd-medium mn-r-bold w-100" };
64
+ const _hoisted_28 = {
61
65
  key: 2,
62
66
  class: "t-transp"
63
67
  };
64
- const _hoisted_28 = { class: "bg-light radius-medium pd-medium w-100" };
65
- const _hoisted_29 = { class: "flex gap-thin flex-column mn-b-thin" };
68
+ const _hoisted_29 = { class: "bg-light radius-medium pd-medium w-100" };
69
+ const _hoisted_30 = { class: "flex gap-thin flex-column mn-b-thin" };
66
70
  const _sfc_main = {
67
71
  __name: "OrderBackoffice",
68
72
  setup(__props) {
@@ -159,6 +163,7 @@ const _sfc_main = {
159
163
  const nextStatus = getNextStatus(state$2.current.status);
160
164
  if (nextStatus) {
161
165
  state$2.current.status = nextStatus.value;
166
+ state$2.current.positions = order.value.positions;
162
167
  await actions.update(state$2.current);
163
168
  } else {
164
169
  console.error("Next status is void. Must handle somehow.");
@@ -166,12 +171,12 @@ const _sfc_main = {
166
171
  closeStatusPopup();
167
172
  }
168
173
  return (_ctx, _cache) => {
169
- var _a2, _b2, _c2, _d2, _e2, _f, _g, _h, _i, _j, _k, _l;
174
+ var _a2, _b2, _c2, _d2, _e2, _f, _g, _h, _i, _j, _k, _l, _m, _n;
170
175
  return order.value && orderOrganization.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
171
176
  order.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
172
177
  createElementVNode("div", _hoisted_3, [
173
178
  createElementVNode("p", _hoisted_4, [
174
- _cache[3] || (_cache[3] = createTextVNode(" Order No: ")),
179
+ _cache[4] || (_cache[4] = createTextVNode(" Order No: ")),
175
180
  createElementVNode("span", _hoisted_5, "#" + toDisplayString(order.value._id), 1)
176
181
  ])
177
182
  ]),
@@ -197,7 +202,7 @@ const _sfc_main = {
197
202
  ])
198
203
  ])) : createCommentVNode("", true),
199
204
  createVNode(_sfc_main$1, {
200
- title: "Change payment",
205
+ title: "Payment Status",
201
206
  onClosePopup: closePaymentPopup,
202
207
  isPopupOpen: isOpenPaymentPopup.value,
203
208
  class: "bg-light w-min-25r w-max-25r radius-medium pd-big"
@@ -235,7 +240,7 @@ const _sfc_main = {
235
240
  submit: changePaymentStatus,
236
241
  class: "t-white w-100 bg-second"
237
242
  }, {
238
- default: withCtx(() => _cache[4] || (_cache[4] = [
243
+ default: withCtx(() => _cache[5] || (_cache[5] = [
239
244
  createElementVNode("span", null, "Change Status", -1)
240
245
  ])),
241
246
  _: 1
@@ -255,15 +260,23 @@ const _sfc_main = {
255
260
  createElementVNode("ul", _hoisted_7, [
256
261
  (openBlock(true), createElementBlock(Fragment, null, renderList(order.value.positions, (product, index) => {
257
262
  return openBlock(), createBlock(_sfc_main$3, {
258
- key: product._id,
259
- editable: true,
260
- product,
261
- increase: (product2) => mutations.incrementItemQuantity(order.value, product2._id),
262
- decrease: (product2) => mutations.decrementItemQuantity(order.value, product2._id),
263
- remove: (product2) => mutations.removeProduct(order.value, product2._id),
264
- onUpdateRentDates: (product2, dates) => _ctx.shopcart.actions.updateRentDates({ positions: order.value.positions, productId: product2._id, dates }),
263
+ key: `${product._id}_${product.variant || "no-variant"}_${index}`,
264
+ editable: !order.value.status_history || order.value.status_history.length <= 1,
265
+ productId: product._id,
266
+ variantId: product.variant,
267
+ images: product.images,
268
+ name: product.name,
269
+ quantity: product.quantity,
270
+ unit: product.unit,
271
+ dates: product.date,
272
+ listing: product.listing,
273
+ price: product.price,
274
+ increase: () => mutations.incrementItemQuantity(order.value, product._id, product.variant),
275
+ decrease: () => mutations.decrementItemQuantity(order.value, product._id, product.variant),
276
+ remove: () => mutations.removeProduct(order.value, product._id, product.variant),
277
+ onUpdateRentDates: _cache[2] || (_cache[2] = (productId, variantId, dates) => _ctx.shopcart.actions.updateRentDates({ positions: order.value.positions, productId, variantId, dates })),
265
278
  class: "bg-white radius-small pd-small"
266
- }, null, 8, ["product", "increase", "decrease", "remove", "onUpdateRentDates"]);
279
+ }, null, 8, ["editable", "productId", "variantId", "images", "name", "quantity", "unit", "dates", "listing", "price", "increase", "decrease", "remove"]);
267
280
  }), 128))
268
281
  ]),
269
282
  createVNode(_sfc_main$4, {
@@ -300,41 +313,45 @@ const _sfc_main = {
300
313
  createElementVNode("div", _hoisted_10, [
301
314
  createElementVNode("div", _hoisted_11, [
302
315
  createElementVNode("div", _hoisted_12, [
303
- _cache[5] || (_cache[5] = createElementVNode("span", { class: "d-block t-medium p-medium" }, "Order is", -1)),
316
+ _cache[6] || (_cache[6] = createElementVNode("span", { class: "d-block t-medium p-medium" }, "Order is", -1)),
304
317
  createElementVNode("span", _hoisted_13, toDisplayString(order.value.status), 1),
305
318
  createElementVNode("p", _hoisted_14, toDisplayString(_ctx.formatDate(order.value.updatedAt, { language: unref(locale) })), 1)
306
319
  ])
307
320
  ]),
308
321
  ((_a2 = order.value.customer.target) == null ? void 0 : _a2.number) ? (openBlock(), createElementBlock("div", _hoisted_15, [
309
- _cache[6] || (_cache[6] = createElementVNode("p", { class: "w-100 t-medium p-medium" }, " Phone ", -1)),
322
+ _cache[7] || (_cache[7] = createElementVNode("p", { class: "w-100 t-medium p-medium" }, " Phone ", -1)),
310
323
  createElementVNode("p", _hoisted_16, toDisplayString(((_b2 = order.value.customer.target) == null ? void 0 : _b2.number) || "Not specified"), 1)
311
324
  ])) : createCommentVNode("", true),
312
325
  createElementVNode("div", _hoisted_17, [
313
- _cache[7] || (_cache[7] = createElementVNode("p", { class: "t-medium p-medium" }, " Address ", -1)),
314
- createElementVNode("p", _hoisted_18, toDisplayString(order.value.delivery.address || order.value.delivery.spot[0].profile.name + ", " + order.value.delivery.spot[0].address || "Not specified"), 1)
326
+ _cache[8] || (_cache[8] = createElementVNode("p", { class: "t-medium p-medium" }, " Address ", -1)),
327
+ createElementVNode("p", _hoisted_18, toDisplayString(order.value.delivery.address || ((_c2 = order.value.delivery.spot[0]) == null ? void 0 : _c2.profile.name) + (((_d2 = order.value.delivery.spot[0]) == null ? void 0 : _d2.address) ? ", " + order.value.delivery.spot[0].address : "") || "Not specified"), 1)
315
328
  ]),
316
- createElementVNode("div", _hoisted_19, [
317
- _cache[8] || (_cache[8] = createElementVNode("p", { class: "t-medium p-medium" }, " Delivery ", -1)),
318
- createElementVNode("p", _hoisted_20, toDisplayString(order.value.delivery.type ? order.value.delivery.type : "Not specified"), 1)
329
+ order.value.comment ? (openBlock(), createElementBlock("div", _hoisted_19, [
330
+ _cache[9] || (_cache[9] = createElementVNode("p", { class: "mn-b-thin t-transp uppercase p-small t-medium" }, "Comment", -1)),
331
+ createElementVNode("p", null, toDisplayString(order.value.comment), 1)
332
+ ])) : createCommentVNode("", true),
333
+ createElementVNode("div", _hoisted_20, [
334
+ _cache[10] || (_cache[10] = createElementVNode("p", { class: "t-medium p-medium" }, " Delivery ", -1)),
335
+ createElementVNode("p", _hoisted_21, toDisplayString(order.value.delivery.type ? order.value.delivery.type : "Not specified"), 1)
319
336
  ]),
320
- createElementVNode("div", _hoisted_21, [
321
- _cache[9] || (_cache[9] = createElementVNode("p", { class: "mn-r-auto t-medium p-medium" }, " Payment ", -1)),
322
- createElementVNode("p", _hoisted_22, toDisplayString(order.value.payment.type ? order.value.payment.type : "Not specified"), 1),
337
+ createElementVNode("div", _hoisted_22, [
338
+ _cache[11] || (_cache[11] = createElementVNode("p", { class: "mn-r-auto t-medium p-medium" }, " Payment ", -1)),
339
+ createElementVNode("p", _hoisted_23, toDisplayString(order.value.payment.type ? order.value.payment.type : "Not specified"), 1),
323
340
  createElementVNode("p", {
324
- onClick: _cache[2] || (_cache[2] = ($event) => unref(route).meta.context !== "user" && unref(route).meta.context !== "root" ? openPaymentPopup : console.log("hello")),
341
+ onClick: _cache[3] || (_cache[3] = ($event) => unref(route).meta.context !== "user" && unref(route).meta.context !== "root" ? openPaymentPopup() : console.log("Context:", unref(route).meta.context)),
325
342
  class: "w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right"
326
343
  }, toDisplayString(order.value.payment.status ? order.value.payment.status : "Unpaid"), 1)
327
344
  ])
328
345
  ]),
329
- unref(route).meta.context !== "user" && unref(route).meta.context !== "root" ? (openBlock(), createElementBlock("div", _hoisted_23, [
330
- createElementVNode("div", _hoisted_24, [
346
+ unref(route).meta.context !== "user" && unref(route).meta.context !== "root" ? (openBlock(), createElementBlock("div", _hoisted_24, [
347
+ createElementVNode("div", _hoisted_25, [
331
348
  createVNode(IconTime, {
332
349
  class: "i-semi t-transp",
333
350
  fill: "rgb(var(--black)"
334
351
  }),
335
- createElementVNode("p", _hoisted_25, [
336
- _cache[10] || (_cache[10] = createElementVNode("span", { class: "p-small t-transp" }, "Estimated Reaction", -1)),
337
- _cache[11] || (_cache[11] = createElementVNode("br", null, null, -1)),
352
+ createElementVNode("p", _hoisted_26, [
353
+ _cache[12] || (_cache[12] = createElementVNode("span", { class: "p-small t-transp" }, "Estimated Reaction", -1)),
354
+ _cache[13] || (_cache[13] = createElementVNode("br", null, null, -1)),
338
355
  createTextVNode(toDisplayString(_ctx.formatDate(order.value.deadline, { language: unref(locale) })), 1)
339
356
  ])
340
357
  ]),
@@ -344,38 +361,46 @@ const _sfc_main = {
344
361
  class: "flex-child-default mn-l-auto bg-black t-white button"
345
362
  }, " Mark as " + toDisplayString(getNextStatus(order.value.status).label), 1)) : createCommentVNode("", true)
346
363
  ])) : createCommentVNode("", true),
347
- createElementVNode("div", _hoisted_26, [
348
- _cache[12] || (_cache[12] = createElementVNode("h3", { class: "mn-b-small" }, "Chat With Us", -1)),
364
+ createElementVNode("div", _hoisted_27, [
365
+ _cache[14] || (_cache[14] = createElementVNode("h3", { class: "mn-b-small" }, "Chat With Us", -1)),
349
366
  createVNode(_sfc_main$6, {
350
- username: ["Order", "UserOrder"].includes(unref(route).name) ? ((_c2 = order.value.user) == null ? void 0 : _c2.name) || "User" : "Support",
367
+ username: ["Order", "UserOrder"].includes(unref(route).name) ? ((_e2 = order.value.user) == null ? void 0 : _e2.name) || "User" : "Support",
351
368
  user: state$1.user._id,
352
369
  chatID: unref(route).params.order,
353
370
  class: "radius-semi bs-black bg-light o-hidden"
354
371
  }, null, 8, ["username", "user", "chatID"])
355
372
  ]),
356
- _ctx.payment && _ctx.payment.Status === "CONFIRMED" ? (openBlock(), createElementBlock("span", _hoisted_27, "Paid")) : createCommentVNode("", true)
373
+ _ctx.payment && _ctx.payment.Status === "CONFIRMED" ? (openBlock(), createElementBlock("span", _hoisted_28, "Paid")) : createCommentVNode("", true)
357
374
  ]),
358
- createElementVNode("div", _hoisted_28, [
359
- _cache[13] || (_cache[13] = createElementVNode("h3", { class: "mn-b-small" }, "Order Summary", -1)),
360
- createElementVNode("ul", _hoisted_29, [
375
+ createElementVNode("div", _hoisted_29, [
376
+ _cache[15] || (_cache[15] = createElementVNode("h3", { class: "mn-b-small" }, "Order Summary", -1)),
377
+ createElementVNode("ul", _hoisted_30, [
361
378
  (openBlock(true), createElementBlock(Fragment, null, renderList(order.value.positions, (product, index) => {
362
379
  return openBlock(), createBlock(_sfc_main$3, {
363
- key: product._id,
380
+ key: `${product._id}_${product.variant || "no-variant"}_${index}`,
364
381
  editable: false,
365
- product,
382
+ productId: product._id,
383
+ variantId: product.variant,
384
+ images: product.images,
385
+ name: product.name,
386
+ quantity: product.quantity,
387
+ unit: product.unit,
388
+ dates: product.date,
389
+ listing: product.listing,
390
+ price: product.price,
366
391
  class: "bg-white radius-small pd-small"
367
- }, null, 8, ["product"]);
392
+ }, null, 8, ["productId", "variantId", "images", "name", "quantity", "unit", "dates", "listing", "price"]);
368
393
  }), 128))
369
394
  ]),
370
395
  createVNode(_sfc_main$4, {
371
396
  totalPrice: unref(cartTotalPrice),
372
397
  deliveryRate: deliveryCost.value,
373
398
  currency: _ctx.returnCurrency(),
374
- showFees: (_e2 = (_d2 = state.options) == null ? void 0 : _d2.orders) == null ? void 0 : _e2.showFees,
375
- feesRate: ((_g = (_f = state.options) == null ? void 0 : _f.orders) == null ? void 0 : _g.feesRate) || 0,
376
- showVat: (_i = (_h = state.options) == null ? void 0 : _h.orders) == null ? void 0 : _i.showVat,
377
- vatRate: ((_k = (_j = state.options) == null ? void 0 : _j.orders) == null ? void 0 : _k.vatRate) || 0,
378
- showDeliveryFee: (_l = state.options) == null ? void 0 : _l.orders.showDeliveryFee
399
+ showFees: (_g = (_f = state.options) == null ? void 0 : _f.orders) == null ? void 0 : _g.showFees,
400
+ feesRate: ((_i = (_h = state.options) == null ? void 0 : _h.orders) == null ? void 0 : _i.feesRate) || 0,
401
+ showVat: (_k = (_j = state.options) == null ? void 0 : _j.orders) == null ? void 0 : _k.showVat,
402
+ vatRate: ((_m = (_l = state.options) == null ? void 0 : _l.orders) == null ? void 0 : _m.vatRate) || 0,
403
+ showDeliveryFee: (_n = state.options) == null ? void 0 : _n.orders.showDeliveryFee
379
404
  }, null, 8, ["totalPrice", "deliveryRate", "currency", "showFees", "feesRate", "showVat", "vatRate", "showDeliveryFee"])
380
405
  ])
381
406
  ])) : createCommentVNode("", true)
@@ -383,7 +408,7 @@ const _sfc_main = {
383
408
  };
384
409
  }
385
410
  };
386
- const OrderBackoffice = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3da4557c"]]);
411
+ const OrderBackoffice = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b6c8ad09"]]);
387
412
  export {
388
413
  OrderBackoffice as default
389
414
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OrderBackoffice.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/OrderBackoffice.vue"],"sourcesContent":["<template>\n\t<div v-if=\"order && orderOrganization\" class=\"pd-thin bg-white\"> \n\n\t <div v-if=\"order\" class=\"mn-b-thin pos-relative w-100 bg-main radius-medium pd-medium\">\n\t \t<div class=\"mn-b-small flex-nowrap flex\">\n\t\t \t<p class=\"t-medium p-medium\">\n\t\t \tOrder No: <span class=\"p-small t-transp\">#{{order._id}}</span>\n\t\t </p>\n\t\t\t</div>\n\n \t<div class=\"flex-nowrap flex gap-thin pos-relative \">\n\t <div v-for=\"(status, index) in globals.state.options.orders.statuses\" :key=\"index\" class=\"w-20\">\n\t <div\n\t \tclass=\"bg-white br-anim br-glow radius-extra h-1r w-100\"\n\t :class=\"\n\t\t\t\t { 'br-glow-anim': isActiveStatus(index) },\n\t\t\t\t { 't-transp': !isActiveStatus(index) },\n\t\t\t\t { 'blink': order.status === status.value && getNextStatus(order.status) }\n\t\t\t\t \"\n\t />\n\t <div \n\t \t:class=\"{ 't-transp': !isActiveStatus(index) }\"\n\t\t\t\t class=\"mn-t-thin p-small t-medium uppercase\">{{ status.value }}</div>\n\t \t</div>\n\t\t </div>\n\t </div>\n\n \t <Popup \n title=\"Change payment\" \n @close-popup=\"closePaymentPopup\" \n :isPopupOpen=\"isOpenPaymentPopup\"\n class=\"bg-light w-min-25r w-max-25r radius-medium pd-big\"\n >\n \t<Select \n v-model:select=\"selectedPayments.type\"\n :property=\"'value'\"\n label=\"Type\"\n :options=\"[\n {name: 'Cash', value: 'cash'}, \n {name: 'Card', value: 'card'}, \n {name: 'Bank Transfer', value: 'bank'},\n ]\"\n placeholder=\"Select type of payment\" \n size=\"small\"\n class=\"bg-white mn-b-thin pd-regular radius-small w-100\"\n />\n\n <Select \n v-model:select=\"selectedPayments.status\"\n :property=\"'value'\"\n label=\"Status\"\n :options=\"[\n {name: 'Unpaid', value: 'unpaid'}, \n {name: 'Paid', value: 'paid'}, \n {name: 'Refunded', value: 'refunded'},\n ]\"\n placeholder=\"Select status of payment\" \n size=\"small\"\n class=\"bg-white mn-b-small pd-regular radius-small w-100\"\n />\n\n\n <Button :submit=\"changePaymentStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>Change Status</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\t <Popup \n title=\"Change order status\" \n @close-popup=\"closeStatusPopup\" \n :isPopupOpen=\"isOpeStatusPopup\"\n class=\"bg-light w-min-30r w-max-30r radius-medium pd-big\"\n >\n\n\t\t\t<!-- Добавить выбор примерного времени -->\n\n \t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n \t\t\t<CardOrderItem\n \t\t\t\tv-for=\"(product, index) in order.positions\" :key=\"product._id\"\n \t\t\t\t:editable=\"true\" \n \t\t\t\t:product=\"product\" \n \t\t\t\t:increase=\"product => orders.mutations.incrementItemQuantity(order, product._id)\"\n\t :decrease=\"product => orders.mutations.decrementItemQuantity(order, product._id)\"\n\t :remove=\"product => orders.mutations.removeProduct(order, product._id)\"\n\t @updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ positions: order.positions, productId: product._id, dates })\"\n \t\t\t\tclass=\"bg-white radius-small pd-small\"\n \t\t\t/>\n </ul>\n \n <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n />\n\n \t<Button :submit=\"setNextStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>{{'Confirm Changing to ' + (getNextStatus(order.status)).label}}</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\n\t \n\t <div v-if=\"order\" class=\"gap-thin cols-2\">\n\n\t <div class=\"w-100\">\n\n\n\t\t <CardOrganization \n\t\t \tv-if=\"orderOrganization[0]\"\n\t\t :organization=\"orderOrganization[0]\"\n\t\t :showRating=\"true\"\n\t\t :showFollowers=\"false\"\n\t\t :showProducts=\"false\"\n\t\t class=\"bg-light mn-b-thin w-100 o-hidden radius-medium pd-small \"\n\t\t />\n\n\n\t\t <div \n\t\t \tclass=\"mn-b-thin bg-light w-100 o-hidden radius-medium \"\n\t\t >\n\t\t \t<div class=\"pd-small flex-nowrap flex\">\n\t\t\t \t<div class=\"mn-r-auto\">\n\t\t\t\t \t<span class=\"d-block t-medium p-medium\">Order is</span>\n\t\t\t\t\t <span class=\" t-lh-075 h2 d-block mn-b-small\">{{order.status}}</span>\n\t\t\t\t\t <p class=\"pd-t-nano pd-b-nano pd-r-thin pd-l-thin radius-extra bg-black t-white w-max\">{{formatDate(order.updatedAt, {language: locale })}}</p>\n\t\t\t\t\t </div>\n\t\t\t\t\t <!-- <div class=\"t-right\">\n\t\t\t\t\t \tCancel order<br>\n\t\t\t\t\t \tExchange item\n\t\t\t\t\t \t<hr class=\"mn-b-thin mn-t-thin\">\n\t\t\t\t\t \tFor Delivery Queries Contact Us\n\t\t\t\t\t \t\n\t\t\t\t\t </div> -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"order.customer.target?.number\" class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"w-100 t-medium p-medium\">\n\t\t\t \tPhone\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t \t{{order.customer.target?.number || 'Not specified'}}\n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-medium\">\n\t\t\t \tAddress\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right\">\n\t\t\t {{order.delivery.address || (order.delivery.spot[0].profile.name + ', ' + order.delivery.spot[0].address) || 'Not specified'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-medium\">\n\t\t\t \tDelivery\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t {{order.delivery.type ? order.delivery.type : 'Not specified'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"mn-r-auto t-medium p-medium\">\n\t\t\t \tPayment\n\t\t\t </p>\n\n\n\t\t\t <p class=\"w-max t-right\">\n\t\t\t {{order.payment.type ? order.payment.type : 'Not specified'}} \n\t\t\t </p>\n\n\t\t\t <p @click=\"route.meta.context !== 'user' && route.meta.context !== 'root' ? openPaymentPopup : console.log('hello')\" class=\"w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right\">\n\t\t\t {{order.payment.status ? order.payment.status : 'Unpaid'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\n\t\t\t\t</div>\n\n\t\t\t\t<div v-if=\"route.meta.context !== 'user' && route.meta.context !== 'root'\" class=\"o-y-scroll bg-light pd-thin mn-b-thin pd-thin radius-medium flex-nowrap flex\">\n\t\t \t\t<div class=\"flex-child-default mn-r-small w-max flex-v-center gap-thin flex-nowrap flex pd-thin radius-small bg-light-transp-20\">\n\t\t \t\t\t<IconTime class=\"i-semi t-transp\" fill=\"rgb(var(--black)\" />\n\t\t <p class=\"t-medium mn-r-auto\"><span class=\"p-small t-transp\">Estimated Reaction</span><br>{{formatDate(order.deadline, { language: locale })}}</p>\n\t\t\t \t</div>\n\t\t\t \t<button v-if=\"getNextStatus(order.status)\" @click=\"openStatusPopup\" class=\"flex-child-default mn-l-auto bg-black t-white button\"> \n\t\t\t\t Mark as {{ (getNextStatus(order.status)).label }} \n\t\t\t\t </button>\n\t\t \t</div>\n\n\t\t\t<div class=\"bg-light radius-medium pd-medium mn-r-bold w-100\">\n\t\t <h3 class=\"mn-b-small\">Chat With Us</h3>\n\n\t\t <ChatPage\n\t\t \t:username=\"['Order', 'UserOrder'].includes(route.name) ? (order.user?.name || 'User') : 'Support'\"\n\t\t \t:user=\"auth.state.user._id\"\n\t\t \t:chatID=\"route.params.order\"\n\t\t \tclass=\"radius-semi bs-black bg-light o-hidden\"\n\t\t />\n\n\t </div>\n\t \t<!-- <StatusHistory \n\t \t\tv-if=\"orders.state.current.status_history\"\n\t \t\t:statuses=\"statuses\"\n\t \t\t:statusHistory=\"orders.state.current.status_history\"\n\t \t\t:statusCurrent=\"orders.state.current.status\"\n\t \t\t:edit=\"route.name === 'Order Edit'\"\n\t \t/> -->\n\n\t <!-- \t<button \n\t \t@click=\"requestPayment(order)\"\n\t \tv-if=\"\n\t \t\torder.status === 'Подтвержден' \n\t \t\t&& order.payment.type === 'Online'\n\t \t\t&& payment.Status !== 'CONFIRMED'\n\t \t\t&& payment.Status !== 'REFUNDED'\n\t \t\" \n\t \tclass='w-100 button'>Оплатить заказ</button> -->\n\t \t<span class=\"t-transp\" v-if=\"payment && payment.Status === 'CONFIRMED'\">Paid</span> \n\t </div> \n\n\t <div class=\"bg-light radius-medium pd-medium w-100\">\n\t \t\t<h3 class=\"mn-b-small\">Order Summary</h3>\n\n\t \t\t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n\t \t\t\t<CardOrderItem\n\t \t\t\t\tv-for=\"(product, index) in order.positions\" :key=\"product._id\"\n\t \t\t\t\t:editable=\"false\" \n\t \t\t\t\t:product=\"product\" \n\t \t\t\t\tclass=\"bg-white radius-small pd-small\"\n\t \t\t\t/>\n\t </ul>\n\t \n\t <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n\t\t\t\t :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n\n />\n \t</div>\n\n\t \n\t </div>\n\t</div>\t\t\n\n</template>\n\n\n<script setup=\"props\">\n\timport { computed, ref, onMounted } from 'vue'\n\timport { useRouter, useRoute } from 'vue-router'\n\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Popup from \"@martyrs/src/components/Popup/Popup.vue\";\n\n\timport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n\t// Block\n\timport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport ChatPage from '@martyrs/src/modules/chats/components/pages/ChatPage.vue';\n\n\timport StatusHistory from '@martyrs/src/modules/orders/components/blocks/StatusHistory.vue'\n\timport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\timport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n\n\timport * as globals \tfrom '@martyrs/src/modules/globals/views/store/globals.js'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as orders \tfrom '@martyrs/src/modules/orders/store/orders.js'\n\timport * as products \tfrom '@martyrs/src/modules/products/store/products.js'\n\timport * as organizations \tfrom '@martyrs/src/modules/organizations/store/organizations.js'\n\n\timport { useI18n } from 'vue-i18n';\n\t\n\tconst { locale } = useI18n();\n\n\tconst router = useRouter()\n\tconst route = useRoute()\n\n\tconst order = ref(null)\n\tconst productsOrganization = ref(null)\n\tconst orderOrganization = ref(null)\n\n\tconst statuses = globals.state.options.orders.statuses\n\tconst statusLabels = ['Created', 'Confirmed', 'Preparing', 'In use', 'Finished'];\n\n if (route.meta.context === 'user' && \n auth.state.user && \n route.params._id !== auth.state.user?._id && \n !auth.state.access?.roles?.includes('ROLE_MODERATOR') && \n !auth.state.access?.roles?.includes('ROLE_ADMIN')) {\n router.push('/401');\n }\n\n\tconst isOpeStatusPopup = ref(false);\n\tconst selectedMember = ref(null);\n\n\tfunction openStatusPopup(member) {\n\t isOpeStatusPopup.value = true;\n\t if (typeof member === \"number\") selectedMember.value = member;\n\t}\n\n\tfunction closeStatusPopup() {\n\t isOpeStatusPopup.value = false;\n\t selectedMember.value = null;\n\t}\n\n\tconst isOpenPaymentPopup = ref(false);\n\n\tconst selectedPayments = ref({\n\t\ttype: null,\n\t\tstatus: null\n\t});\n\n\tfunction openPaymentPopup() {\n\t selectedPayments.value.type = order.value.payment.type\n\t selectedPayments.value.status = order.value.payment.status\n\n\t isOpenPaymentPopup.value = true;\n\t}\n\n\tfunction closePaymentPopup() {\n\t isOpenPaymentPopup.value = false;\n\t}\n\n\tonMounted(async()=>{\n\t\torder.value = await orders.actions.read({_id: route.params.order})\n\t\torder.value = order.value[0]\n\n\t orderOrganization.value = await organizations.actions.read({\n\t _id: order.value?.owner.target._id,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t });\n\n\t})\n\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n\tlet cartTotalPrice = computed(() => {\n return Number(order.value?.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\n let cartTotalAmount = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n })\n\n // Функция установки нового статуса\n\tasync function setStatus (newStatus) {\n\t orders.state.current.status = newStatus\n\n\t await orders.actions.update(orders.state.current)\n\t} \n\n\n\tfunction getNextStatus(currentStatus) {\n\t const currentIndex = globals.state.options.orders.statuses.findIndex(status => status.value === currentStatus);\n\n\t if (currentIndex !== -1 && currentIndex + 1 < statuses.length) {\n\t return globals.state.options.orders.statuses[currentIndex + 1];\n\t }\n\t return null; // If next status doesn't exist\n\t}\n\n\tconst isActiveStatus = (index) => {\n\t return globals.state.options.orders.statuses.slice(index).some(status => status.value === order.value.status);\n\t};\n\n async function changePaymentStatus() {\n if (selectedPayments.value.status && selectedPayments.value.type) {\n orders.state.current.payment = selectedPayments.value;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Payment status is void. Must handle somehow.');\n }\n\n\t\tclosePaymentPopup()\n }\n\n async function setNextStatus() {\n const nextStatus = getNextStatus(orders.state.current.status);\n\n if (nextStatus) {\n orders.state.current.status = nextStatus.value;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Next status is void. Must handle somehow.');\n }\n\n\t\tcloseStatusPopup()\n }\n\n async function cancelOrder() {\n \talert()\n\n orders.state.current.status = 'canceled';\n\n await orders.actions.update(orders.state.current)\n}\n\n\n async function confirmOrder() {\n \talert()\n\n orders.state.current.status = 'confirmed';\n\n await orders.actions.update(orders.state.current)\n\t}\n\n\tfunction calculateDeliveryTime(distance, date) {\n\t if (!distance) {\n\t return null;\n\t }\n\n\t const basePreparationTime = 10 * 60 * 1000; // Convert to milliseconds\n\t const travelTime = Math.ceil((15 + 5 + 3 * distance) / 5) * 5 * 60 * 1000;\n\n\t // Преобразование даты начала в миллисекунды и добавление времени подготовки и доставки\n\t const startTime = new Date(date).getTime();\n\t const estimatedDeliveryTime = new Date(startTime + basePreparationTime + travelTime);\n\n\t return estimatedDeliveryTime;\n\t}\n\n\n</script>\n\n<style lang=\"scss\" scoped>\n\t.blink {\n\t animation: blink-animation 1s ease infinite;\n\t}\n\n\t@keyframes blink-animation {\n\t 0%, 100% {\n\t opacity: 1;\n\t }\n\t 50% {\n\t opacity: 0.8;\n\t }\n\t}\n</style>"],"names":["globals.state","auth.state","orders.actions","organizations.actions","_a","orders.state","orders.getters"],"mappings":"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"}
1
+ {"version":3,"file":"OrderBackoffice.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/OrderBackoffice.vue"],"sourcesContent":["<template>\n\t<div v-if=\"order && orderOrganization\" class=\"pd-thin bg-white\"> \n\n\t <div v-if=\"order\" class=\"mn-b-thin pos-relative w-100 bg-main radius-medium pd-medium\">\n\t \t<div class=\"mn-b-small flex-nowrap flex\">\n\t\t \t<p class=\"t-medium p-medium\">\n\t\t \tOrder No: <span class=\"p-small t-transp\">#{{order._id}}</span>\n\t\t </p>\n\t\t\t</div>\n\n\t \t<div class=\"flex-nowrap flex gap-thin pos-relative \">\n\t\t <div v-for=\"(status, index) in globals.state.options.orders.statuses\" :key=\"index\" class=\"w-20\">\n\t\t <div\n\t\t \tclass=\"bg-white br-anim br-glow radius-extra h-1r w-100\"\n\t\t :class=\"\n\t\t\t\t\t { 'br-glow-anim': isActiveStatus(index) },\n\t\t\t\t\t { 't-transp': !isActiveStatus(index) },\n\t\t\t\t\t { 'blink': order.status === status.value && getNextStatus(order.status) }\n\t\t\t\t\t \"\n\t\t />\n\t\t <div \n\t\t \t:class=\"{ 't-transp': !isActiveStatus(index) }\"\n\t\t\t\t\t class=\"mn-t-thin p-small t-medium uppercase\">{{ status.value }}</div>\n\t\t \t</div>\n\t\t\t </div>\n\t </div>\n\n \t<Popup \n title=\"Payment Status\" \n @close-popup=\"closePaymentPopup\" \n :isPopupOpen=\"isOpenPaymentPopup\"\n class=\"bg-light w-min-25r w-max-25r radius-medium pd-big\"\n >\n \t<Select \n v-model:select=\"selectedPayments.type\"\n :property=\"'value'\"\n label=\"Type\"\n :options=\"[\n {name: 'Cash', value: 'cash'}, \n {name: 'Card', value: 'card'}, \n {name: 'Bank Transfer', value: 'bank'},\n ]\"\n placeholder=\"Select type of payment\" \n size=\"small\"\n class=\"bg-white mn-b-thin pd-regular radius-small w-100\"\n />\n\n <Select \n v-model:select=\"selectedPayments.status\"\n :property=\"'value'\"\n label=\"Status\"\n :options=\"[\n {name: 'Unpaid', value: 'unpaid'}, \n {name: 'Paid', value: 'paid'}, \n {name: 'Refunded', value: 'refunded'},\n ]\"\n placeholder=\"Select status of payment\" \n size=\"small\"\n class=\"bg-white mn-b-small pd-regular radius-small w-100\"\n />\n\n\n <Button :submit=\"changePaymentStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>Change Status</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\t <Popup \n title=\"Change order status\" \n @close-popup=\"closeStatusPopup\" \n :isPopupOpen=\"isOpeStatusPopup\"\n class=\"bg-light w-min-30r w-max-30r radius-medium pd-big\"\n >\n\n\t\t\t<!-- Добавить выбор примерного времени -->\n\n \t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n \t\t\t<CardOrderItem\n \t\t\t\tv-for=\"(product, index) in order.positions\" \n \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n \t\t\t\t:editable=\"!order.status_history || order.status_history.length <= 1\" \n \t\t\t\t:productId=\"product._id\"\n \t\t\t\t:variantId=\"product.variant\"\n \t\t\t\t:images=\"product.images\"\n \t\t\t\t:name=\"product.name\"\n \t\t\t\t:quantity=\"product.quantity\"\n \t\t\t\t:unit=\"product.unit\"\n \t\t\t\t:dates=\"product.date\"\n \t\t\t\t:listing=\"product.listing\"\n \t\t\t\t:price=\"product.price\"\n \t\t\t\t:increase=\"() => orders.mutations.incrementItemQuantity(order, product._id, product.variant)\"\n\t :decrease=\"() => orders.mutations.decrementItemQuantity(order, product._id, product.variant)\"\n\t :remove=\"() => orders.mutations.removeProduct(order, product._id, product.variant)\"\n\t @updateRentDates=\"(productId, variantId, dates) => shopcart.actions.updateRentDates({ positions: order.positions, productId, variantId, dates })\"\n \t\t\t\tclass=\"bg-white radius-small pd-small\"\n \t\t\t/>\n </ul>\n \n <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n />\n\n \t<Button :submit=\"setNextStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>{{'Confirm Changing to ' + (getNextStatus(order.status)).label}}</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\n\t \n\t <div v-if=\"order\" class=\"gap-thin cols-2\">\n\n\t <div class=\"w-100\">\n\n\n\t\t <CardOrganization \n\t\t \tv-if=\"orderOrganization[0]\"\n\t\t :organization=\"orderOrganization[0]\"\n\t\t :showRating=\"true\"\n\t\t :showFollowers=\"false\"\n\t\t :showProducts=\"false\"\n\t\t class=\"bg-light mn-b-thin w-100 o-hidden radius-medium pd-small \"\n\t\t />\n\n\n\t\t <div \n\t\t \tclass=\"mn-b-thin bg-light w-100 o-hidden radius-medium \"\n\t\t >\n\t\t \t<div class=\"pd-small flex-nowrap flex\">\n\t\t\t \t<div class=\"mn-r-auto\">\n\t\t\t\t \t<span class=\"d-block t-medium p-medium\">Order is</span>\n\t\t\t\t\t <span class=\" t-lh-075 h2 d-block mn-b-small\">{{order.status}}</span>\n\t\t\t\t\t <p class=\"pd-thin radius-extra bg-black t-white w-max\">{{formatDate(order.updatedAt, {language: locale })}}</p>\n\t\t\t\t\t </div>\n\t\t\t\t\t <!-- <div class=\"t-right\">\n\t\t\t\t\t \tCancel order<br>\n\t\t\t\t\t \tExchange item\n\t\t\t\t\t \t<hr class=\"mn-b-thin mn-t-thin\">\n\t\t\t\t\t \tFor Delivery Queries Contact Us\n\t\t\t\t\t \t\n\t\t\t\t\t </div> -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"order.customer.target?.number\" class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"w-100 t-medium p-medium\">\n\t\t\t \tPhone\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t \t{{order.customer.target?.number || 'Not specified'}}\n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-medium\">\n\t\t\t \tAddress\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right\">\n\t\t\t\t\t\t\t{{order.delivery.address || (order.delivery.spot[0]?.profile.name + (order.delivery.spot[0]?.address ? ', ' + order.delivery.spot[0].address : '')) || 'Not specified'}}\n\t\t\t </p>\n\n\n\n\t\t\t </div>\n\n\n\t\t\t <div v-if=\"order.comment\" class=\"pos-relative radius-thin mn-t-zero mn-thin bg-fifth-transp-10 pd-small\">\n\t\t\t <p class=\"mn-b-thin t-transp uppercase p-small t-medium\">Comment</p>\n\t\t\t <p>{{order.comment}}</p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-medium\">\n\t\t\t \tDelivery\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t {{order.delivery.type ? order.delivery.type : 'Not specified'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"mn-r-auto t-medium p-medium\">\n\t\t\t \tPayment\n\t\t\t </p>\n\n\n\t\t\t <p class=\"w-max t-right\">\n\t\t\t {{order.payment.type ? order.payment.type : 'Not specified'}} \n\t\t\t </p>\n\n\t\t\t <p @click=\"route.meta.context !== 'user' && route.meta.context !== 'root' ? openPaymentPopup() : console.log('Context:', route.meta.context)\" class=\"w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right\">\n\t\t\t {{order.payment.status ? order.payment.status : 'Unpaid'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\n\t\t\t\t</div>\n\n\t\t\t\t<div v-if=\"route.meta.context !== 'user' && route.meta.context !== 'root'\" class=\"o-y-scroll bg-light pd-thin mn-b-thin pd-thin radius-medium flex-nowrap flex\">\n\t\t \t\t<div class=\"flex-child-default mn-r-small w-max flex-v-center gap-thin flex-nowrap flex pd-thin radius-small bg-light-transp-20\">\n\t\t \t\t\t<IconTime class=\"i-semi t-transp\" fill=\"rgb(var(--black)\" />\n\t\t <p class=\"t-medium mn-r-auto\"><span class=\"p-small t-transp\">Estimated Reaction</span><br>{{formatDate(order.deadline, { language: locale })}}</p>\n\t\t\t \t</div>\n\t\t\t \t<button v-if=\"getNextStatus(order.status)\" @click=\"openStatusPopup\" class=\"flex-child-default mn-l-auto bg-black t-white button\"> \n\t\t\t\t Mark as {{ (getNextStatus(order.status)).label }} \n\t\t\t\t </button>\n\t\t \t</div>\n\n\t\t\t<div class=\"bg-light radius-medium pd-medium mn-r-bold w-100\">\n\t\t <h3 class=\"mn-b-small\">Chat With Us</h3>\n\n\t\t <ChatPage\n\t\t \t:username=\"['Order', 'UserOrder'].includes(route.name) ? (order.user?.name || 'User') : 'Support'\"\n\t\t \t:user=\"auth.state.user._id\"\n\t\t \t:chatID=\"route.params.order\"\n\t\t \tclass=\"radius-semi bs-black bg-light o-hidden\"\n\t\t />\n\n\t </div>\n\t \t<!-- <StatusHistory \n\t \t\tv-if=\"orders.state.current.status_history\"\n\t \t\t:statuses=\"statuses\"\n\t \t\t:statusHistory=\"orders.state.current.status_history\"\n\t \t\t:statusCurrent=\"orders.state.current.status\"\n\t \t\t:edit=\"route.name === 'Order Edit'\"\n\t \t/> -->\n\n\t <!-- \t<button \n\t \t@click=\"requestPayment(order)\"\n\t \tv-if=\"\n\t \t\torder.status === 'Подтвержден' \n\t \t\t&& order.payment.type === 'Online'\n\t \t\t&& payment.Status !== 'CONFIRMED'\n\t \t\t&& payment.Status !== 'REFUNDED'\n\t \t\" \n\t \tclass='w-100 button'>Оплатить заказ</button> -->\n\t \t<span class=\"t-transp\" v-if=\"payment && payment.Status === 'CONFIRMED'\">Paid</span> \n\t </div> \n\n\t <div class=\"bg-light radius-medium pd-medium w-100\">\n\t \t\t<h3 class=\"mn-b-small\">Order Summary</h3>\n\n\t \t\t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n\t \t\t\t<CardOrderItem\n\t \t\t\t\tv-for=\"(product, index) in order.positions\" \n\t \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n\t \t\t\t\t:editable=\"false\" \n\t \t\t\t\t:productId=\"product._id\"\n\t \t\t\t\t:variantId=\"product.variant\"\n\t \t\t\t\t:images=\"product.images\"\n\t \t\t\t\t:name=\"product.name\"\n\t \t\t\t\t:quantity=\"product.quantity\"\n\t \t\t\t\t:unit=\"product.unit\"\n\t \t\t\t\t:dates=\"product.date\"\n\t \t\t\t\t:listing=\"product.listing\"\n\t \t\t\t\t:price=\"product.price\"\n\t \t\t\t\tclass=\"bg-white radius-small pd-small\"\n\t \t\t\t/>\n\t </ul>\n\t \n\t <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n\t\t\t\t :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n\n />\n \t</div>\n\n\t \n\t </div>\n\t</div>\t\t\n\n</template>\n\n\n<script setup=\"props\">\n\timport { computed, ref, onMounted } from 'vue'\n\timport { useRouter, useRoute } from 'vue-router'\n\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Popup from \"@martyrs/src/components/Popup/Popup.vue\";\n\n\timport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n\t// Block\n\timport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport ChatPage from '@martyrs/src/modules/chats/components/pages/ChatPage.vue';\n\n\timport StatusHistory from '@martyrs/src/modules/orders/components/blocks/StatusHistory.vue'\n\timport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\timport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n\n\timport * as globals \tfrom '@martyrs/src/modules/globals/views/store/globals.js'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as orders \tfrom '@martyrs/src/modules/orders/store/orders.js'\n\timport * as products \tfrom '@martyrs/src/modules/products/store/products.js'\n\timport * as organizations \tfrom '@martyrs/src/modules/organizations/store/organizations.js'\n\n\timport { useI18n } from 'vue-i18n';\n\t\n\tconst { locale } = useI18n();\n\n\tconst router = useRouter()\n\tconst route = useRoute()\n\n\tconst order = ref(null)\n\tconst productsOrganization = ref(null)\n\tconst orderOrganization = ref(null)\n\n\tconst statuses = globals.state.options.orders.statuses\n\tconst statusLabels = ['Created', 'Confirmed', 'Preparing', 'In use', 'Finished'];\n\n if (route.meta.context === 'user' && \n auth.state.user && \n route.params._id !== auth.state.user?._id && \n !auth.state.access?.roles?.includes('ROLE_MODERATOR') && \n !auth.state.access?.roles?.includes('ROLE_ADMIN')) {\n router.push('/401');\n }\n\n\tconst isOpeStatusPopup = ref(false);\n\tconst selectedMember = ref(null);\n\n\tfunction openStatusPopup(member) {\n\t isOpeStatusPopup.value = true;\n\t if (typeof member === \"number\") selectedMember.value = member;\n\t}\n\n\tfunction closeStatusPopup() {\n\t isOpeStatusPopup.value = false;\n\t selectedMember.value = null;\n\t}\n\n\tconst isOpenPaymentPopup = ref(false);\n\n\tconst selectedPayments = ref({\n\t\ttype: null,\n\t\tstatus: null\n\t});\n\n\tfunction openPaymentPopup() {\n\t selectedPayments.value.type = order.value.payment.type\n\t selectedPayments.value.status = order.value.payment.status\n\n\t isOpenPaymentPopup.value = true;\n\t}\n\n\tfunction closePaymentPopup() {\n\t isOpenPaymentPopup.value = false;\n\t}\n\n\tonMounted(async()=>{\n\t\torder.value = await orders.actions.read({_id: route.params.order})\n\t\torder.value = order.value[0]\n\n\t orderOrganization.value = await organizations.actions.read({\n\t _id: order.value?.owner.target._id,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t });\n\n\t})\n\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n\tlet cartTotalPrice = computed(() => {\n return Number(order.value?.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\n let cartTotalAmount = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n })\n\n // Функция установки нового статуса\n\tasync function setStatus (newStatus) {\n\t orders.state.current.status = newStatus\n\n\t await orders.actions.update(orders.state.current)\n\t} \n\n\n\tfunction getNextStatus(currentStatus) {\n\t const currentIndex = globals.state.options.orders.statuses.findIndex(status => status.value === currentStatus);\n\n\t if (currentIndex !== -1 && currentIndex + 1 < statuses.length) {\n\t return globals.state.options.orders.statuses[currentIndex + 1];\n\t }\n\t return null; // If next status doesn't exist\n\t}\n\n\tconst isActiveStatus = (index) => {\n\t return globals.state.options.orders.statuses.slice(index).some(status => status.value === order.value.status);\n\t};\n\n async function changePaymentStatus() {\n if (selectedPayments.value.status && selectedPayments.value.type) {\n orders.state.current.payment = selectedPayments.value;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Payment status is void. Must handle somehow.');\n }\n\n\t\tclosePaymentPopup()\n }\n\n async function setNextStatus() {\n const nextStatus = getNextStatus(orders.state.current.status);\n\n if (nextStatus) {\n orders.state.current.status = nextStatus.value;\n \n // Обновляем позиции заказа из текущего состояния\n orders.state.current.positions = order.value.positions;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Next status is void. Must handle somehow.');\n }\n\n\t\tcloseStatusPopup()\n }\n\n async function cancelOrder() {\n \talert()\n\n orders.state.current.status = 'canceled';\n\n await orders.actions.update(orders.state.current)\n}\n\n\n async function confirmOrder() {\n \talert()\n\n orders.state.current.status = 'confirmed';\n\n await orders.actions.update(orders.state.current)\n\t}\n\n\tfunction calculateDeliveryTime(distance, date) {\n\t if (!distance) {\n\t return null;\n\t }\n\n\t const basePreparationTime = 10 * 60 * 1000; // Convert to milliseconds\n\t const travelTime = Math.ceil((15 + 5 + 3 * distance) / 5) * 5 * 60 * 1000;\n\n\t // Преобразование даты начала в миллисекунды и добавление времени подготовки и доставки\n\t const startTime = new Date(date).getTime();\n\t const estimatedDeliveryTime = new Date(startTime + basePreparationTime + travelTime);\n\n\t return estimatedDeliveryTime;\n\t}\n\n\n</script>\n\n<style lang=\"scss\" scoped>\n\t.blink {\n\t animation: blink-animation 1s ease infinite;\n\t}\n\n\t@keyframes blink-animation {\n\t 0%, 100% {\n\t opacity: 1;\n\t }\n\t 50% {\n\t opacity: 0.8;\n\t }\n\t}\n</style>"],"names":["globals.state","auth.state","orders.actions","organizations.actions","_a","orders.state","orders.getters"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Button = require("../../../../components/Button/Button.vue.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue2.cjs");
5
5
  const CardOrderItem = require("../blocks/CardOrderItem.vue.cjs");
6
6
  const AskToLogin = require("../sections/AskToLogin.vue.cjs");
7
7
  const Succes = require("../sections/Succes.vue.cjs");
@@ -278,7 +278,7 @@ const _sfc_main = {
278
278
  order: order.value
279
279
  }, null, 8, ["order"])) : vue.createCommentVNode("", true),
280
280
  shopcart.state.positions.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
281
- !isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, _cache[0] || (_cache[0] = [
281
+ !isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, _cache[1] || (_cache[1] = [
282
282
  vue.createElementVNode("p", { class: "t-fourth" }, "⚠️ This spot is currently closed. You can place an order, but it will be processed when the spot opens.", -1)
283
283
  ]))) : vue.createCommentVNode("", true),
284
284
  vue.unref(cartTotalPrice) < minOrderAmount.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
@@ -302,19 +302,27 @@ const _sfc_main = {
302
302
  }, null, 8, ["order", "organization"])) : vue.createCommentVNode("", true)
303
303
  ])) : vue.createCommentVNode("", true),
304
304
  shopcart.state.positions.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
305
- _cache[2] || (_cache[2] = vue.createElementVNode("h4", { class: "font-second mn-b-thin" }, "Your Order", -1)),
305
+ _cache[3] || (_cache[3] = vue.createElementVNode("h4", { class: "font-second mn-b-thin" }, "Your Order", -1)),
306
306
  vue.createElementVNode("ul", _hoisted_9, [
307
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(shopcart.state.positions, (product) => {
307
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(shopcart.state.positions, (product, index) => {
308
308
  return vue.openBlock(), vue.createBlock(CardOrderItem.default, {
309
- key: product._id,
309
+ key: `${product._id}_${product.variant || "no-variant"}_${index}`,
310
310
  editable: true,
311
- product,
312
- increase: (product2) => shopcart.actions.incrementItemQuantity(product2._id),
313
- decrease: (product2) => shopcart.actions.decrementItemQuantity(product2._id),
314
- remove: (product2) => shopcart.actions.removeProduct(product2._id),
315
- onUpdateRentDates: (product2, dates) => shopcart.actions.updateRentDates({ productId: product2._id, dates }),
311
+ productId: product._id,
312
+ variantId: product.variant,
313
+ images: product.images,
314
+ name: product.name,
315
+ quantity: product.quantity,
316
+ unit: product.unit,
317
+ dates: product.date,
318
+ listing: product.listing,
319
+ price: product.price,
320
+ increase: () => shopcart.actions.incrementItemQuantity(product._id, product.variant),
321
+ decrease: () => shopcart.actions.decrementItemQuantity(product._id, product.variant),
322
+ remove: () => shopcart.actions.removeProduct(product._id, product.variant),
323
+ onUpdateRentDates: _cache[0] || (_cache[0] = (productId, variantId, dates) => shopcart.actions.updateRentDates({ productId, variantId, dates })),
316
324
  class: "w-100 bg-white"
317
- }, null, 8, ["product", "increase", "decrease", "remove", "onUpdateRentDates"]);
325
+ }, null, 8, ["productId", "variantId", "images", "name", "quantity", "unit", "dates", "listing", "price", "increase", "decrease", "remove"]);
318
326
  }), 128))
319
327
  ]),
320
328
  vue.createElementVNode("div", _hoisted_10, [
@@ -335,12 +343,12 @@ const _sfc_main = {
335
343
  class: "bg-main mn-b-small pd-small radius-big w-100 button",
336
344
  disabled: errorName.value || errorPhoneOrMessenger.value || _ctx.errorCity || errorAddress.value || errorDelivery.value || errorPayment.value || isLocationLoading.value || vue.unref(cartTotalPrice) < minOrderAmount.value
337
345
  }, {
338
- default: vue.withCtx(() => _cache[1] || (_cache[1] = [
346
+ default: vue.withCtx(() => _cache[2] || (_cache[2] = [
339
347
  vue.createElementVNode("span", null, "Place an Order", -1)
340
348
  ])),
341
349
  _: 1
342
350
  }, 8, ["submit", "disabled"])) : vue.createCommentVNode("", true),
343
- _cache[3] || (_cache[3] = vue.createElementVNode("p", { class: "mn-b-thin" }, [
351
+ _cache[4] || (_cache[4] = vue.createElementVNode("p", { class: "mn-b-thin" }, [
344
352
  vue.createTextVNode(" I agree that placing the order places me under an obligation to make a payment in accordance with "),
345
353
  vue.createElementVNode("a", {
346
354
  class: "t-semi font-second t-second",
@@ -348,7 +356,7 @@ const _sfc_main = {
348
356
  target: "_blank"
349
357
  }, "Terms of Use.")
350
358
  ], -1)),
351
- _cache[4] || (_cache[4] = vue.createElementVNode("p", null, null, -1))
359
+ _cache[5] || (_cache[5] = vue.createElementVNode("p", null, null, -1))
352
360
  ])) : vue.createCommentVNode("", true)
353
361
  ])
354
362
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"OrderCreate.vue.cjs","sources":["../../../../../../../src/modules/orders/components/pages/OrderCreate.vue"],"sourcesContent":["<template>\n\n<section class=\"bg-white pd-thin\">\n\n\t<!-- Ask to login -->\n\t<AskToLogin class=\"mn-b-thin\" v-if=\"auth.state.access.status === false\" /> \n\n\t<!-- Empty State -->\n\t<EmptyState \n\t\tv-if=\"shopcart.state.positions < 1\" \n\t/>\t\n\t<Succes \n\t\tv-if=\"order.status === true && shopcart.state.positions.length > 0\" \n\t\t:order=\"order\" \n\t/>\n\t<!-- Уведомления о минимальной сумме заказа и времени работы -->\n\t<div v-if=\"shopcart.state.positions.length > 0\" class=\"w-100 gap-thin cols-1 mn-b-thin\">\n\t\t<div v-if=\"!isOpen\" class=\"bg-fifth-nano pd-small radius-medium t-center\">\n\t\t\t<p class=\"t-fourth\">⚠️ This spot is currently closed. You can place an order, but it will be processed when the spot opens.</p>\n\t\t</div>\n\t\t<div v-if=\"cartTotalPrice < minOrderAmount\" class=\"bg-fourth-nano pd-small radius-medium t-center\">\n\t\t\t<p class=\"t-fourth\">⚠️ Minimum order amount is {{ formatPrice(minOrderAmount) }}. Your current total is {{ formatPrice(cartTotalPrice) }}.</p>\n\t\t</div>\n\t</div>\n\t<!-- Order form -->\n\t<div class=\"gap-small mn-b-thin cols-2\">\n\t\t<!-- Order Form -->\n\t\t<div\n\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\" \n\t\t\tclass=\"rows-1 gap-thin\"\n\t\t>\n\t\t\t<FormCustomerDetails\n\t\t\t\t:customer=\"orders.state.current.customer\"\n\t\t\t/>\n\t\t\t<FormPayment \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t<FormDelivery \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t\n\t\t</div>\n\n\t\t<!-- Order positions -->\n\t\t<div \n\t\t\tv-if=\"shopcart.state.positions.length > 0\" \n\t\t\tclass=\"bg-white br-solid br-light br-1px pd-medium radius-medium\"\n\t\t>\n\t\t\t<h4 class=\"font-second mn-b-thin\">Your Order</h4>\n\n\t\t\t<ul class=\"flex gap-thin flex-wrap mn-b-thin\">\n\t\t\t\t<CardOrderItem \n\t\t\t\t\tv-for=\"product in shopcart.state.positions\" \n\t\t\t\t\t:key=\"product._id\" \n\t\t\t\t\t:editable=\"true\" \n\t\t\t\t\t:product=\"product\" \n\t :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n\t :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n\t :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n\t\t\t\t\t@updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n\t class=\"w-100 bg-white \"\n\t />\n\t\t\t</ul>\n\n\t\t\t\t<div \n\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t>\t\n\t\t\t\t<PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n />\n\t\t\t</div>\n\t\t\t<!-- Send order -->\n\t\t <Button\n v-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n :submit=\"() => handleCreate()\"\n class=\"bg-main mn-b-small pd-small radius-big w-100 button\"\n :disabled=\"\n\t\t errorName \n\t\t || errorPhoneOrMessenger \n\t\t || errorCity \n\t\t || errorAddress \n\t\t || errorDelivery \n\t\t || errorPayment\n\t\t || isLocationLoading\n\t\t || cartTotalPrice < minOrderAmount\n\t\t \"\n >\n <span>Place an Order</span>\n </Button>\n\n\t\t <p class='mn-b-thin'>\n\t\t\t\tI agree that placing the order places me under an obligation to make a payment in accordance with <a class=\"t-semi font-second t-second\" href=\"/legal/terms-of-use\" target=\"_blank\">Terms of Use.</a>\n\t\t\t</p>\n\t\t\t<p >\n\t\t\t\t\n\t\t\t</p>\n\t\t</div>\n\n\t</div>\n\n\t\n\t\n</section>\n\n</template>\n\n\n<script setup>\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import components\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Block\nimport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n// Sections\nimport AskToLogin from '@martyrs/src/modules/orders/components/sections/AskToLogin.vue'\nimport Succes from '@martyrs/src/modules/orders/components/sections/Succes.vue'\nimport EmptyState from '@martyrs/src/modules/orders/components/sections/EmptyState.vue'\n\nimport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\nimport FormCustomerDetails from '@martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue'\nimport FormDelivery from '@martyrs/src/modules/orders/components/sections/FormDelivery.vue'\nimport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import libs\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { useRoute,useRouter } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/globals/views/mixins/mixins.js\"\n\n// Store\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart.js';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js';\nimport * as orders from '@martyrs/src/modules/orders/store/orders.js';\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js';\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Variables and computed\n//////////////////////////////////////////////////////////////////////////////////////////////////\nconst isLocationLoading = ref(false)\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\nconst { returnCurrency, formatPrice } = useGlobalMixins()\n// COMPUTED\nconst order = computed(() => orders.state.current)\nconst user = computed(() => users.state.current)\n\nconst cartTotalPrice = shopcart.getters.cartTotalPrice\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n// Organization\nconst orderOrganization = ref({})\nconst spotOrganization = ref({})\nconst isOpen = ref(true)\n\n// Новые переменные для проверки минимальной суммы заказа и времени работы\nconst minOrderAmount = ref(0)\n\nfunction checkIsOpenNow(worktime) {\n try {\n console.log('[checkIsOpenNow] worktime:', worktime);\n\n if (\n !worktime ||\n typeof worktime !== 'object' ||\n Array.isArray(worktime) ||\n !worktime.regular\n ) {\n console.log('[checkIsOpenNow] invalid, returning true');\n return true;\n }\n\n const now = new Date();\n const currentDay = now.getDay();\n const currentTime = `${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}`;\n const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\n console.log('[checkIsOpenNow] currentDay:', currentDay);\n console.log('[checkIsOpenNow] currentTime:', currentTime);\n\n const specialDay = worktime.special?.find(s => {\n const d = new Date(s.date);\n return (\n d.getFullYear() === today.getFullYear() &&\n d.getMonth() === today.getMonth() &&\n d.getDate() === today.getDate()\n );\n });\n\n if (specialDay) {\n console.log('[checkIsOpenNow] specialDay:', specialDay);\n if (!specialDay.isOpen) return false;\n return specialDay.periods?.some(p => p.open <= currentTime && p.close > currentTime);\n }\n\n const regularDay = worktime.regular.find(d => d.dayOfWeek === currentDay);\n if (!regularDay || !regularDay.isOpen) return false;\n\n return regularDay.periods?.some(p => p.open <= currentTime && p.close > currentTime);\n } catch (err) {\n console.error('[checkIsOpenNow] error:', err);\n return true;\n }\n}\n\n\nif (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id) { \n\trouter.push({name: 'Sign In'})\t\n}\n\n\norders.mutations.resetOrder()\n\nonMounted(async()=> {\n\temits('page-loading');\n\n\tisLocationLoading.value = true\n\n\tif (auth.state.user._id) {\n\t\tlet data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });\n\n\t\torders.state.current.customer.profile.name = users.state.current.profile.name\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t}\n\t\n\torderOrganization.value = await organizations.actions.read({\n\t _id: shopcart.state.organization,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t})\n\t\n\t// Получаем информацию о минимальной сумме заказа и времени работы из spot\n\tif (orderOrganization.value && orderOrganization.value[0]?.spots?.length > 0) {\n\t spotOrganization.value = orderOrganization.value[0].spots[0];\n\t\tisOpen.value = checkIsOpenNow(spotOrganization.value.worktime);\n\t console.log(spotOrganization.value)\n\t minOrderAmount.value = spotOrganization.value.minorder || 0;\n\t}\n\n\n\t\n \tisLocationLoading.value = false\n emits('page-loaded');\n\n if (typeof gtag === 'function') {\n gtag('event', 'begin_checkout', {\n currency: returnCurrency(), // Замените на вашу валюту\n value: cartTotalPrice || 0,\n items: shopcart.state.positions.map(item => ({\n item_id: item.product?._id,\n item_name: item.product?.name,\n price: item.price || 0,\n quantity: item.quantity || 1,\n item_category: item.product?.category || '',\n item_brand: orderOrganization.value.profile?.name || ''\n })),\n organization: orderOrganization.value.profile?.name || '',\n location: globals.state.position?.location || 'unknown'\n });\n }\n})\n\n\nwatch(\n () => orders.state.current.delivery,\n async (newVal) => {\n if (newVal?.location) {\n \tisLocationLoading.value = true\n\n orderOrganization.value = await organizations.actions.read({\n _id: shopcart.state.organization,\n location: newVal.location,\n lookup: ['spots']\n })\n \n isLocationLoading.value = false\n }\n },\n { deep: true }\n)\n\n\n/////////////////////////////\n// Store Verification\n/////////////////////////////\nconst errorName = computed(() => {\n if (orders.state.current.customer.name?.length < 2) { return true } else { return false }\n});\n\nconst errorPhoneOrMessenger = computed(() => {\n const hasMessengerType = orders.state.current.customer.messenger?.type;\n const hasMessengerValue = orders.state.current.customer.messenger?.value?.length >\t 2;\n const hasPhone = orders.state.current.customer.number?.length > 0;\n // Ошибка, если нет ни номера телефона, ни корректного типа и значения мессенджера\n return !hasPhone && !(hasMessengerType && hasMessengerValue);\n});\n\nconst errorAddress = computed(() => {\n const type = orders.state.current.delivery.type;\n if (type === \"pickup\") {\n return !orders.state.current.delivery.spot;\n } else if (type === \"courier\" || type === \"mail\") {\n const address = orders.state.current.delivery.address;\n return !address || typeof address !== 'string' || address.length < 2;\n }\n return false;\n});\n\nconst errorDelivery = computed(() => {\n if (orders.state.current.delivery.type) {return false } else {return true } \n})\n\nconst errorPayment = computed(() => {\n if (orders.state.current.payment.type) { return false } else {return true } \n})\n/////////////////////////////\n// Methods\n/////////////////////////////\nasync function handleCreate() {\n\n\torders.state.current.status = 'created';\n\n\torders.state.current.owner = {\n\t\ttarget: orderOrganization.value[0]._id,\n\t\ttype: 'organization'\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.creator = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.customer = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\torders.state.current.positions = shopcart.state.positions\n\n \tconst referralCode = localStorage.getItem('referalCode');\n \n if (referralCode) {\n orders.state.current.referralCode = referralCode;\n }\n\n let order = await orders.actions.create(orders.state.current);\n\n if (order) {\n\t if (typeof gtag === 'function') {\n\t gtag('event', 'purchase', {\n\t transaction_id: order._id,\n\t value: cartTotalPrice || 0,\n\t currency: returnCurrency(), // Замените на вашу валюту\n\t tax: 0, // Если есть данные о налоге\n\t shipping: deliveryCost.value, // Если есть данные о доставке\n\t items: shopcart.state.positions.map(item => ({\n\t item_id: item.product?._id,\n\t item_name: item.product?.name ,\n\t price: item.price || 0,\n\t quantity: item.quantity || 1,\n\t item_category: item.product?.category || ''\n\t })),\n\t organization: orderOrganization.value?.profile?.name,\n\t location: globals.state.position?.location || 'unknown',\n\t referral_code: referralCode || null,\n\t user_id: auth.state.user._id || 'anonymous'\n\t });\n\t }\n\t}\n\n if (order) {\n \tawait router.push({\n \t\tname: 'Order',\n \t\tparams: {\n \t\t\torder: order._id\n \t\t}\n \t})\n \t\t\n \tshopcart.actions.resetShopcart()\n\n } else {\n \talert('something wrong')\n }\n}\n</script>\n\n<style lang=\"scss\">\n\n.round-wrapper {\n\tposition: relative;\n\n\t.round {\n\t\tmargin: 0;\n\t\tmargin-right: 1rem;\n\t}\n\n\tinput:checked {\n\t\tbackground: #00ff88;\n\t}\n\n\t.round-checkmark {\n\t\tposition: absolute;\n\t\twidth: 0.5rem;\n\t\theight: 0.5rem;\n\t\tbackground: white;\n\n\t\tleft: 0.5rem;\n\t\ttop: 0.5rem;\n\n\t\topacity: 1;\n\t}\n}\n</style>"],"names":["ref","useRoute","useRouter","useGlobalMixins","computed","orders.state","users.state","shopcart.getters","globals.state","orders.getters","auth.state","orders.mutations","onMounted","users.actions","organizations.actions","shopcart.state","_a","_b","_c","_d","watch","order","orders.actions","shopcart.actions"],"mappings":"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"}
1
+ {"version":3,"file":"OrderCreate.vue.cjs","sources":["../../../../../../../src/modules/orders/components/pages/OrderCreate.vue"],"sourcesContent":["<template>\n\n<section class=\"bg-white pd-thin\">\n\n\t<!-- Ask to login -->\n\t<AskToLogin class=\"mn-b-thin\" v-if=\"auth.state.access.status === false\" /> \n\n\t<!-- Empty State -->\n\t<EmptyState \n\t\tv-if=\"shopcart.state.positions < 1\" \n\t/>\t\n\t<Succes \n\t\tv-if=\"order.status === true && shopcart.state.positions.length > 0\" \n\t\t:order=\"order\" \n\t/>\n\t<!-- Уведомления о минимальной сумме заказа и времени работы -->\n\t<div v-if=\"shopcart.state.positions.length > 0\" class=\"w-100 gap-thin cols-1 mn-b-thin\">\n\t\t<div v-if=\"!isOpen\" class=\"bg-fifth-nano pd-small radius-medium t-center\">\n\t\t\t<p class=\"t-fourth\">⚠️ This spot is currently closed. You can place an order, but it will be processed when the spot opens.</p>\n\t\t</div>\n\t\t<div v-if=\"cartTotalPrice < minOrderAmount\" class=\"bg-fourth-nano pd-small radius-medium t-center\">\n\t\t\t<p class=\"t-fourth\">⚠️ Minimum order amount is {{ formatPrice(minOrderAmount) }}. Your current total is {{ formatPrice(cartTotalPrice) }}.</p>\n\t\t</div>\n\t</div>\n\t<!-- Order form -->\n\t<div class=\"gap-small mn-b-thin cols-2\">\n\t\t<!-- Order Form -->\n\t\t<div\n\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\" \n\t\t\tclass=\"rows-1 gap-thin\"\n\t\t>\n\t\t\t<FormCustomerDetails\n\t\t\t\t:customer=\"orders.state.current.customer\"\n\t\t\t/>\n\t\t\t<FormPayment \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t<FormDelivery \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t\n\t\t</div>\n\n\t\t<!-- Order positions -->\n\t\t<div \n\t\t\tv-if=\"shopcart.state.positions.length > 0\" \n\t\t\tclass=\"bg-white br-solid br-light br-1px pd-medium radius-medium\"\n\t\t>\n\t\t\t<h4 class=\"font-second mn-b-thin\">Your Order</h4>\n\n\t\t\t<ul class=\"flex gap-thin flex-wrap mn-b-thin\">\n\t\t\t\t<CardOrderItem \n\t\t\t\t\tv-for=\"(product, index) in shopcart.state.positions\" \n\t\t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\" \n\t\t\t\t\t:editable=\"true\" \n\t\t\t\t\t:productId=\"product._id\"\n\t\t\t\t\t:variantId=\"product.variant\"\n\t\t\t\t\t:images=\"product.images\"\n\t\t\t\t\t:name=\"product.name\"\n\t\t\t\t\t:quantity=\"product.quantity\"\n\t\t\t\t\t:unit=\"product.unit\"\n\t\t\t\t\t:dates=\"product.date\"\n\t\t\t\t\t:listing=\"product.listing\"\n\t\t\t\t\t:price=\"product.price\"\n\t :increase=\"() => shopcart.actions.incrementItemQuantity(product._id, product.variant)\"\n\t :decrease=\"() => shopcart.actions.decrementItemQuantity(product._id, product.variant)\"\n\t :remove=\"() => shopcart.actions.removeProduct(product._id, product.variant)\"\n\t\t\t\t\t@updateRentDates=\"(productId, variantId, dates) => shopcart.actions.updateRentDates({ productId, variantId, dates })\"\n\t class=\"w-100 bg-white \"\n\t />\n\t\t\t</ul>\n\n\t\t\t\t<div \n\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t>\t\n\t\t\t\t<PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n />\n\t\t\t</div>\n\t\t\t<!-- Send order -->\n\t\t <Button\n v-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n :submit=\"() => handleCreate()\"\n class=\"bg-main mn-b-small pd-small radius-big w-100 button\"\n :disabled=\"\n\t\t errorName \n\t\t || errorPhoneOrMessenger \n\t\t || errorCity \n\t\t || errorAddress \n\t\t || errorDelivery \n\t\t || errorPayment\n\t\t || isLocationLoading\n\t\t || cartTotalPrice < minOrderAmount\n\t\t \"\n >\n <span>Place an Order</span>\n </Button>\n\n\t\t <p class='mn-b-thin'>\n\t\t\t\tI agree that placing the order places me under an obligation to make a payment in accordance with <a class=\"t-semi font-second t-second\" href=\"/legal/terms-of-use\" target=\"_blank\">Terms of Use.</a>\n\t\t\t</p>\n\t\t\t<p >\n\t\t\t\t\n\t\t\t</p>\n\t\t</div>\n\n\t</div>\n\n\t\n\t\n</section>\n\n</template>\n\n\n<script setup>\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import components\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Block\nimport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n// Sections\nimport AskToLogin from '@martyrs/src/modules/orders/components/sections/AskToLogin.vue'\nimport Succes from '@martyrs/src/modules/orders/components/sections/Succes.vue'\nimport EmptyState from '@martyrs/src/modules/orders/components/sections/EmptyState.vue'\n\nimport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\nimport FormCustomerDetails from '@martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue'\nimport FormDelivery from '@martyrs/src/modules/orders/components/sections/FormDelivery.vue'\nimport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import libs\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { useRoute,useRouter } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/globals/views/mixins/mixins.js\"\n\n// Store\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart.js';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js';\nimport * as orders from '@martyrs/src/modules/orders/store/orders.js';\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js';\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Variables and computed\n//////////////////////////////////////////////////////////////////////////////////////////////////\nconst isLocationLoading = ref(false)\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\nconst { returnCurrency, formatPrice } = useGlobalMixins()\n// COMPUTED\nconst order = computed(() => orders.state.current)\nconst user = computed(() => users.state.current)\n\nconst cartTotalPrice = shopcart.getters.cartTotalPrice\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n// Organization\nconst orderOrganization = ref({})\nconst spotOrganization = ref({})\nconst isOpen = ref(true)\n\n// Новые переменные для проверки минимальной суммы заказа и времени работы\nconst minOrderAmount = ref(0)\n\nfunction checkIsOpenNow(worktime) {\n try {\n console.log('[checkIsOpenNow] worktime:', worktime);\n\n if (\n !worktime ||\n typeof worktime !== 'object' ||\n Array.isArray(worktime) ||\n !worktime.regular\n ) {\n console.log('[checkIsOpenNow] invalid, returning true');\n return true;\n }\n\n const now = new Date();\n const currentDay = now.getDay();\n const currentTime = `${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}`;\n const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n\n console.log('[checkIsOpenNow] currentDay:', currentDay);\n console.log('[checkIsOpenNow] currentTime:', currentTime);\n\n const specialDay = worktime.special?.find(s => {\n const d = new Date(s.date);\n return (\n d.getFullYear() === today.getFullYear() &&\n d.getMonth() === today.getMonth() &&\n d.getDate() === today.getDate()\n );\n });\n\n if (specialDay) {\n console.log('[checkIsOpenNow] specialDay:', specialDay);\n if (!specialDay.isOpen) return false;\n return specialDay.periods?.some(p => p.open <= currentTime && p.close > currentTime);\n }\n\n const regularDay = worktime.regular.find(d => d.dayOfWeek === currentDay);\n if (!regularDay || !regularDay.isOpen) return false;\n\n return regularDay.periods?.some(p => p.open <= currentTime && p.close > currentTime);\n } catch (err) {\n console.error('[checkIsOpenNow] error:', err);\n return true;\n }\n}\n\n\nif (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id) { \n\trouter.push({name: 'Sign In'})\t\n}\n\n\norders.mutations.resetOrder()\n\nonMounted(async()=> {\n\temits('page-loading');\n\n\tisLocationLoading.value = true\n\n\tif (auth.state.user._id) {\n\t\tlet data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });\n\n\t\torders.state.current.customer.profile.name = users.state.current.profile.name\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t}\n\t\n\torderOrganization.value = await organizations.actions.read({\n\t _id: shopcart.state.organization,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t})\n\t\n\t// Получаем информацию о минимальной сумме заказа и времени работы из spot\n\tif (orderOrganization.value && orderOrganization.value[0]?.spots?.length > 0) {\n\t spotOrganization.value = orderOrganization.value[0].spots[0];\n\t\tisOpen.value = checkIsOpenNow(spotOrganization.value.worktime);\n\t console.log(spotOrganization.value)\n\t minOrderAmount.value = spotOrganization.value.minorder || 0;\n\t}\n\n\n\t\n \tisLocationLoading.value = false\n emits('page-loaded');\n\n if (typeof gtag === 'function') {\n gtag('event', 'begin_checkout', {\n currency: returnCurrency(), // Замените на вашу валюту\n value: cartTotalPrice || 0,\n items: shopcart.state.positions.map(item => ({\n item_id: item.product?._id,\n item_name: item.product?.name,\n price: item.price || 0,\n quantity: item.quantity || 1,\n item_category: item.product?.category || '',\n item_brand: orderOrganization.value.profile?.name || ''\n })),\n organization: orderOrganization.value.profile?.name || '',\n location: globals.state.position?.location || 'unknown'\n });\n }\n})\n\n\nwatch(\n () => orders.state.current.delivery,\n async (newVal) => {\n if (newVal?.location) {\n \tisLocationLoading.value = true\n\n orderOrganization.value = await organizations.actions.read({\n _id: shopcart.state.organization,\n location: newVal.location,\n lookup: ['spots']\n })\n \n isLocationLoading.value = false\n }\n },\n { deep: true }\n)\n\n\n/////////////////////////////\n// Store Verification\n/////////////////////////////\nconst errorName = computed(() => {\n if (orders.state.current.customer.name?.length < 2) { return true } else { return false }\n});\n\nconst errorPhoneOrMessenger = computed(() => {\n const hasMessengerType = orders.state.current.customer.messenger?.type;\n const hasMessengerValue = orders.state.current.customer.messenger?.value?.length >\t 2;\n const hasPhone = orders.state.current.customer.number?.length > 0;\n // Ошибка, если нет ни номера телефона, ни корректного типа и значения мессенджера\n return !hasPhone && !(hasMessengerType && hasMessengerValue);\n});\n\nconst errorAddress = computed(() => {\n const type = orders.state.current.delivery.type;\n if (type === \"pickup\") {\n return !orders.state.current.delivery.spot;\n } else if (type === \"courier\" || type === \"mail\") {\n const address = orders.state.current.delivery.address;\n return !address || typeof address !== 'string' || address.length < 2;\n }\n return false;\n});\n\nconst errorDelivery = computed(() => {\n if (orders.state.current.delivery.type) {return false } else {return true } \n})\n\nconst errorPayment = computed(() => {\n if (orders.state.current.payment.type) { return false } else {return true } \n})\n/////////////////////////////\n// Methods\n/////////////////////////////\nasync function handleCreate() {\n\n\torders.state.current.status = 'created';\n\n\torders.state.current.owner = {\n\t\ttarget: orderOrganization.value[0]._id,\n\t\ttype: 'organization'\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.creator = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.customer = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\torders.state.current.positions = shopcart.state.positions\n\n \tconst referralCode = localStorage.getItem('referalCode');\n \n if (referralCode) {\n orders.state.current.referralCode = referralCode;\n }\n\n let order = await orders.actions.create(orders.state.current);\n\n if (order) {\n\t if (typeof gtag === 'function') {\n\t gtag('event', 'purchase', {\n\t transaction_id: order._id,\n\t value: cartTotalPrice || 0,\n\t currency: returnCurrency(), // Замените на вашу валюту\n\t tax: 0, // Если есть данные о налоге\n\t shipping: deliveryCost.value, // Если есть данные о доставке\n\t items: shopcart.state.positions.map(item => ({\n\t item_id: item.product?._id,\n\t item_name: item.product?.name ,\n\t price: item.price || 0,\n\t quantity: item.quantity || 1,\n\t item_category: item.product?.category || ''\n\t })),\n\t organization: orderOrganization.value?.profile?.name,\n\t location: globals.state.position?.location || 'unknown',\n\t referral_code: referralCode || null,\n\t user_id: auth.state.user._id || 'anonymous'\n\t });\n\t }\n\t}\n\n if (order) {\n \tawait router.push({\n \t\tname: 'Order',\n \t\tparams: {\n \t\t\torder: order._id\n \t\t}\n \t})\n \t\t\n \tshopcart.actions.resetShopcart()\n\n } else {\n \talert('something wrong')\n }\n}\n</script>\n\n<style lang=\"scss\">\n\n.round-wrapper {\n\tposition: relative;\n\n\t.round {\n\t\tmargin: 0;\n\t\tmargin-right: 1rem;\n\t}\n\n\tinput:checked {\n\t\tbackground: #00ff88;\n\t}\n\n\t.round-checkmark {\n\t\tposition: absolute;\n\t\twidth: 0.5rem;\n\t\theight: 0.5rem;\n\t\tbackground: white;\n\n\t\tleft: 0.5rem;\n\t\ttop: 0.5rem;\n\n\t\topacity: 1;\n\t}\n}\n</style>"],"names":["ref","useRoute","useRouter","useGlobalMixins","computed","orders.state","users.state","shopcart.getters","globals.state","orders.getters","auth.state","orders.mutations","onMounted","users.actions","organizations.actions","shopcart.state","_a","_b","_c","_d","watch","order","orders.actions","shopcart.actions"],"mappings":"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"}