@ozdao/martyrs 0.2.526 → 0.2.528

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 (639) hide show
  1. package/dist/_virtual/dayjs.min.cjs +1 -1
  2. package/dist/_virtual/dayjs.min.js +1 -1
  3. package/dist/_virtual/index.cjs +4 -4
  4. package/dist/_virtual/index.js +4 -4
  5. package/dist/_virtual/index2.cjs +4 -4
  6. package/dist/_virtual/index2.js +4 -4
  7. package/dist/_virtual/weekOfYear.cjs +1 -1
  8. package/dist/_virtual/weekOfYear.js +1 -1
  9. package/dist/builder.cjs +589 -943
  10. package/dist/builder.js +623 -977
  11. package/dist/{main-Bk4xq-K0.js → main-40cyU_8J.js} +1563 -1551
  12. package/dist/main-sq8skoQM.cjs +11 -0
  13. package/dist/martyrs/src/components/Address/Address.vue.cjs +1 -1
  14. package/dist/martyrs/src/components/Address/Address.vue.js +1 -1
  15. package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  16. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  17. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  18. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  19. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  20. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  21. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  22. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  23. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +1 -1
  24. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
  25. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  26. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  27. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  28. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  29. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs +1 -1
  30. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  31. package/dist/martyrs/src/components/Map/Map.vue.cjs +1 -1
  32. package/dist/martyrs/src/components/Map/Map.vue.js +1 -1
  33. package/dist/martyrs/src/components/Media/Media.vue.cjs +20 -3
  34. package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
  35. package/dist/martyrs/src/components/Media/Media.vue.js +20 -3
  36. package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
  37. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  38. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  39. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  40. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  41. package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
  42. package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
  43. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  44. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  45. package/dist/martyrs/src/components/Tree/Tree.vue.cjs +1 -1
  46. package/dist/martyrs/src/components/Tree/Tree.vue.js +1 -1
  47. package/dist/martyrs/src/modules/auth/auth.client.cjs +32 -30
  48. package/dist/martyrs/src/modules/auth/auth.client.cjs.map +1 -1
  49. package/dist/martyrs/src/modules/auth/auth.client.js +30 -28
  50. package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  52. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  53. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +0 -1
  54. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +0 -1
  56. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js.map +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +10 -7
  58. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs.map +1 -1
  59. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +13 -10
  60. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  61. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +11 -8
  62. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs.map +1 -1
  63. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +16 -13
  64. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  65. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +11 -7
  66. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs.map +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +14 -10
  68. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  69. package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.cjs +0 -1
  70. package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.cjs.map +1 -1
  71. package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.js +0 -1
  72. package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.js.map +1 -1
  73. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +2 -0
  74. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  75. package/dist/martyrs/src/modules/auth/views/store/auth.js +2 -0
  76. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  77. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +0 -1
  78. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
  79. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +0 -1
  80. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  81. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +0 -2
  82. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
  83. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +0 -2
  84. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  85. package/dist/martyrs/src/modules/chats/store/chat.store.js +1 -1
  86. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  87. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  88. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  89. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  90. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -4
  91. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
  92. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -4
  93. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  94. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  95. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  96. package/dist/martyrs/src/modules/community/router/blogposts.cjs +4 -2
  97. package/dist/martyrs/src/modules/community/router/blogposts.cjs.map +1 -1
  98. package/dist/martyrs/src/modules/community/router/blogposts.js +4 -2
  99. package/dist/martyrs/src/modules/community/router/blogposts.js.map +1 -1
  100. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -2
  101. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  102. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -2
  103. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  104. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  105. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  106. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +0 -1
  107. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs.map +1 -1
  108. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +0 -1
  109. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js.map +1 -1
  110. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -2
  111. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +1 -1
  112. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -2
  113. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  114. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +0 -1
  115. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs.map +1 -1
  116. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +0 -1
  117. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  118. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -4
  119. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  120. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -4
  121. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  122. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs +0 -1
  123. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
  124. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js +0 -1
  125. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
  126. package/dist/martyrs/src/modules/events/router/events.cjs +7 -7
  127. package/dist/martyrs/src/modules/events/router/events.cjs.map +1 -1
  128. package/dist/martyrs/src/modules/events/router/events.js +7 -7
  129. package/dist/martyrs/src/modules/events/router/events.js.map +1 -1
  130. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -3
  131. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +1 -1
  132. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -3
  133. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  134. package/dist/martyrs/src/modules/gallery/router/gallery.router.cjs +1 -1
  135. package/dist/martyrs/src/modules/gallery/router/gallery.router.cjs.map +1 -1
  136. package/dist/martyrs/src/modules/gallery/router/gallery.router.js +1 -1
  137. package/dist/martyrs/src/modules/gallery/router/gallery.router.js.map +1 -1
  138. package/dist/martyrs/src/modules/globals/globals.client.cjs +23 -38
  139. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  140. package/dist/martyrs/src/modules/globals/globals.client.js +28 -43
  141. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  142. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +220 -0
  143. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -0
  144. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +220 -0
  145. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -0
  146. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  147. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  148. package/dist/martyrs/src/modules/globals/views/classes/module-registry.cjs +156 -0
  149. package/dist/martyrs/src/modules/globals/views/classes/module-registry.cjs.map +1 -0
  150. package/dist/martyrs/src/modules/globals/views/classes/module-registry.js +156 -0
  151. package/dist/martyrs/src/modules/globals/views/classes/module-registry.js.map +1 -0
  152. package/dist/martyrs/src/modules/globals/views/classes/store.cjs +58 -43
  153. package/dist/martyrs/src/modules/globals/views/classes/store.cjs.map +1 -1
  154. package/dist/martyrs/src/modules/globals/views/classes/store.js +59 -44
  155. package/dist/martyrs/src/modules/globals/views/classes/store.js.map +1 -1
  156. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -3
  157. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  158. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -3
  159. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  160. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs +2 -3
  161. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
  162. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +2 -3
  163. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
  164. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +5 -8
  165. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  166. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +5 -8
  167. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  168. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +2 -2
  169. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  171. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  173. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +44 -45
  174. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +44 -45
  176. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.cjs +4 -2
  178. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.js +5 -3
  180. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.js.map +1 -1
  181. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.cjs +4 -2
  182. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.cjs.map +1 -1
  183. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.js +5 -3
  184. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.js.map +1 -1
  185. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs +4 -2
  186. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs.map +1 -1
  187. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js +5 -3
  188. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js.map +1 -1
  189. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +15 -8
  190. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  191. package/dist/martyrs/src/modules/globals/views/store/globals.js +15 -8
  192. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  193. package/dist/martyrs/src/modules/globals/views/utils/polyfills.cjs +26 -0
  194. package/dist/martyrs/src/modules/globals/views/utils/polyfills.cjs.map +1 -0
  195. package/dist/martyrs/src/modules/globals/views/utils/polyfills.js +26 -0
  196. package/dist/martyrs/src/modules/globals/views/utils/polyfills.js.map +1 -0
  197. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +23 -12
  198. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  199. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +23 -12
  200. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  201. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs.map +1 -1
  203. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +1 -1
  204. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
  205. package/dist/martyrs/src/modules/icons/entities/IconTime.vue.cjs +2 -2
  206. package/dist/martyrs/src/modules/icons/entities/IconTime.vue.js +2 -2
  207. package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
  208. package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
  209. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +2 -2
  210. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/icons/router/icons.router.cjs +0 -1
  212. package/dist/martyrs/src/modules/icons/router/icons.router.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/icons/router/icons.router.js +0 -1
  214. package/dist/martyrs/src/modules/icons/router/icons.router.js.map +1 -1
  215. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  217. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  218. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  219. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +3 -4
  220. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
  221. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -3
  222. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +2 -2
  224. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
  225. package/dist/martyrs/src/modules/inventory/inventory.client.cjs.map +1 -1
  226. package/dist/martyrs/src/modules/inventory/inventory.client.js.map +1 -1
  227. package/dist/martyrs/src/modules/inventory/router/inventory.router.cjs +2 -2
  228. package/dist/martyrs/src/modules/inventory/router/inventory.router.cjs.map +1 -1
  229. package/dist/martyrs/src/modules/inventory/router/inventory.router.js +2 -2
  230. package/dist/martyrs/src/modules/inventory/router/inventory.router.js.map +1 -1
  231. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +5 -3
  232. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
  233. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +5 -3
  234. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +50 -33
  236. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
  237. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +51 -34
  238. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
  240. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
  241. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
  242. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  243. package/dist/martyrs/src/modules/marketplace/marketplace.client.cjs +2 -2
  244. package/dist/martyrs/src/modules/marketplace/marketplace.client.cjs.map +1 -1
  245. package/dist/martyrs/src/modules/marketplace/marketplace.client.js +2 -2
  246. package/dist/martyrs/src/modules/marketplace/marketplace.client.js.map +1 -1
  247. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  248. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
  249. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  250. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  251. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
  252. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
  253. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
  254. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
  255. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -2
  256. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  257. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -4
  258. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
  260. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
  261. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +0 -1
  262. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs.map +1 -1
  263. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +0 -1
  264. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js.map +1 -1
  265. package/dist/martyrs/src/modules/music/router/music.cjs +5 -22
  266. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  267. package/dist/martyrs/src/modules/music/router/music.js +5 -22
  268. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  269. package/dist/martyrs/src/modules/notifications/notifications.client.cjs +2 -2
  270. package/dist/martyrs/src/modules/notifications/notifications.client.js +2 -2
  271. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +1 -1
  272. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +2 -2
  273. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  274. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +0 -1
  276. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -1
  277. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +0 -1
  278. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
  280. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  281. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
  282. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
  283. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -2
  284. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  285. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +3 -4
  286. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +0 -1
  288. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  289. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +0 -1
  290. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -3
  292. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
  293. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -3
  294. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  296. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  297. package/dist/martyrs/src/modules/orders/router/orders.router.cjs +20 -9
  298. package/dist/martyrs/src/modules/orders/router/orders.router.cjs.map +1 -1
  299. package/dist/martyrs/src/modules/orders/router/orders.router.js +20 -9
  300. package/dist/martyrs/src/modules/orders/router/orders.router.js.map +1 -1
  301. package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -1
  302. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +36 -3
  303. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs.map +1 -1
  304. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +36 -3
  305. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js.map +1 -1
  306. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  307. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  308. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +0 -1
  309. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs.map +1 -1
  310. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +0 -1
  311. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +1 -1
  312. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +36 -3
  313. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  314. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +36 -3
  315. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  316. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +44 -13
  317. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs.map +1 -1
  318. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +44 -13
  319. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  320. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +35 -12
  321. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  322. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +36 -13
  323. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  324. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -2
  325. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
  326. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -2
  327. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
  328. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -2
  329. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs.map +1 -1
  330. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -2
  331. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  332. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  333. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  334. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -2
  335. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
  336. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -2
  337. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
  338. package/dist/martyrs/src/modules/organizations/organizations.client.cjs +1 -28
  339. package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
  340. package/dist/martyrs/src/modules/organizations/organizations.client.js +43 -70
  341. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  342. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -3
  343. package/dist/martyrs/src/modules/organizations/router/organizations.cjs.map +1 -1
  344. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -3
  345. package/dist/martyrs/src/modules/organizations/router/organizations.js.map +1 -1
  346. package/dist/martyrs/src/modules/pages/views/router/pages.backoffice.router.cjs +1 -1
  347. package/dist/martyrs/src/modules/pages/views/router/pages.backoffice.router.cjs.map +1 -1
  348. package/dist/martyrs/src/modules/pages/views/router/pages.backoffice.router.js +1 -1
  349. package/dist/martyrs/src/modules/pages/views/router/pages.backoffice.router.js.map +1 -1
  350. package/dist/martyrs/src/modules/pages/views/router/pages.router.cjs +1 -1
  351. package/dist/martyrs/src/modules/pages/views/router/pages.router.cjs.map +1 -1
  352. package/dist/martyrs/src/modules/pages/views/router/pages.router.js +1 -1
  353. package/dist/martyrs/src/modules/pages/views/router/pages.router.js.map +1 -1
  354. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +3 -2
  355. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  356. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +3 -2
  357. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  358. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
  359. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  360. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +0 -2
  361. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  362. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +0 -2
  363. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  364. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  365. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  366. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +0 -1
  367. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  368. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +0 -1
  369. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  370. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  371. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  372. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +0 -1
  373. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs.map +1 -1
  374. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +0 -1
  375. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js.map +1 -1
  376. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +0 -1
  377. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +1 -1
  378. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +0 -1
  379. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
  380. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  381. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  382. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +0 -1
  383. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
  384. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +0 -1
  385. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
  386. package/dist/martyrs/src/modules/products/router/products.router.cjs +15 -6
  387. package/dist/martyrs/src/modules/products/router/products.router.cjs.map +1 -1
  388. package/dist/martyrs/src/modules/products/router/products.router.js +15 -6
  389. package/dist/martyrs/src/modules/products/router/products.router.js.map +1 -1
  390. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  391. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  392. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +0 -1
  393. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs.map +1 -1
  394. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +0 -1
  395. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  396. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  397. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  398. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  399. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  400. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  401. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  402. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  403. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  404. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  405. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  406. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  407. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  408. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  409. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  410. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  411. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  412. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -7
  413. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +1 -1
  414. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -7
  415. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  416. package/dist/martyrs.cjs.js +1 -1
  417. package/dist/martyrs.css +1 -1
  418. package/dist/martyrs.es.js +1 -1
  419. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.cjs.map +1 -1
  420. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.js.map +1 -1
  421. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs +1 -1
  422. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs.map +1 -1
  423. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.js +1 -1
  424. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.js.map +1 -1
  425. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.cjs +1 -1
  426. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.cjs.map +1 -1
  427. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.js +1 -1
  428. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.js.map +1 -1
  429. package/dist/node_modules/.pnpm/{@capacitor_core@7.2.0 → @capacitor_core@7.4.3}/node_modules/@capacitor/core/dist/index.cjs +2 -1
  430. package/dist/node_modules/.pnpm/@capacitor_core@7.4.3/node_modules/@capacitor/core/dist/index.cjs.map +1 -0
  431. package/dist/node_modules/.pnpm/{@capacitor_core@7.2.0 → @capacitor_core@7.4.3}/node_modules/@capacitor/core/dist/index.js +2 -1
  432. package/dist/node_modules/.pnpm/@capacitor_core@7.4.3/node_modules/@capacitor/core/dist/index.js.map +1 -0
  433. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/index.cjs +1 -1
  434. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/index.cjs.map +1 -1
  435. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/index.js +1 -1
  436. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/index.js.map +1 -1
  437. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/web.cjs +1 -1
  438. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/web.cjs.map +1 -1
  439. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/web.js +1 -1
  440. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/web.js.map +1 -1
  441. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/definitions.cjs.map +1 -1
  442. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/definitions.js.map +1 -1
  443. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/index.cjs +1 -1
  444. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/index.cjs.map +1 -1
  445. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/index.js +1 -1
  446. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/index.js.map +1 -1
  447. package/dist/node_modules/.pnpm/{@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0 → @capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/push-notifications/dist/esm/index.cjs +1 -1
  448. package/dist/node_modules/.pnpm/{@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0 → @capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/push-notifications/dist/esm/index.cjs.map +1 -1
  449. package/dist/node_modules/.pnpm/{@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0 → @capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/push-notifications/dist/esm/index.js +1 -1
  450. package/dist/node_modules/.pnpm/{@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0 → @capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/push-notifications/dist/esm/index.js.map +1 -1
  451. package/dist/node_modules/.pnpm/{@googlemaps_js-api-loader@1.16.8 → @googlemaps_js-api-loader@1.16.10}/node_modules/@googlemaps/js-api-loader/dist/index.cjs +34 -26
  452. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.10/node_modules/@googlemaps/js-api-loader/dist/index.cjs.map +1 -0
  453. package/dist/node_modules/.pnpm/{@googlemaps_js-api-loader@1.16.8 → @googlemaps_js-api-loader@1.16.10}/node_modules/@googlemaps/js-api-loader/dist/index.js +34 -26
  454. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.10/node_modules/@googlemaps/js-api-loader/dist/index.js.map +1 -0
  455. package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.cjs +198 -0
  456. package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.cjs.map +1 -0
  457. package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.js +198 -0
  458. package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.js.map +1 -0
  459. package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs +304 -0
  460. package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs.map +1 -1
  461. package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.js +305 -1
  462. package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.js.map +1 -1
  463. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.cjs.map +1 -1
  464. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.js.map +1 -1
  465. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs +31 -1
  466. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs.map +1 -1
  467. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js +33 -3
  468. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js.map +1 -1
  469. package/dist/node_modules/.pnpm/{@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → @vue_server-renderer@3.5.21_vue@3.5.21_typescript@5.9.2_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +18 -13
  470. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.21_vue@3.5.21_typescript@5.9.2_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
  471. package/dist/node_modules/.pnpm/{@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → @vue_server-renderer@3.5.21_vue@3.5.21_typescript@5.9.2_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +19 -14
  472. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.21_vue@3.5.21_typescript@5.9.2_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  473. package/dist/node_modules/.pnpm/{@vue_shared@3.5.13 → @vue_shared@3.5.21}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +19 -2
  474. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
  475. package/dist/node_modules/.pnpm/{@vue_shared@3.5.13 → @vue_shared@3.5.21}/node_modules/@vue/shared/dist/shared.esm-bundler.js +19 -2
  476. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  477. package/dist/node_modules/.pnpm/{@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.3_ → @vuepic_vue-datepicker@11.0.2_vue@3.5.21_typescript@5.9.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.cjs.map +1 -1
  478. package/dist/node_modules/.pnpm/{@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.3_ → @vuepic_vue-datepicker@11.0.2_vue@3.5.21_typescript@5.9.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js +1 -1
  479. package/dist/node_modules/.pnpm/{@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.3_ → @vuepic_vue-datepicker@11.0.2_vue@3.5.21_typescript@5.9.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js.map +1 -1
  480. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs +1 -1
  481. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs.map +1 -1
  482. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.js +1 -1
  483. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.js.map +1 -1
  484. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.cjs +1 -1
  485. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.cjs.map +1 -1
  486. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.js +1 -1
  487. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.js.map +1 -1
  488. package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/dayjs.min.cjs.map +1 -1
  489. package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/dayjs.min.js.map +1 -1
  490. package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/plugin/weekOfYear.cjs.map +1 -1
  491. package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
  492. package/dist/node_modules/.pnpm/{embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_ → embla-carousel-vue@8.6.0_vue@3.5.21_typescript@5.9.2_}/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs.map +1 -1
  493. package/dist/node_modules/.pnpm/{embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_ → embla-carousel-vue@8.6.0_vue@3.5.21_typescript@5.9.2_}/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js.map +1 -1
  494. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs.map +1 -0
  495. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +1 -0
  496. package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.cjs +209 -0
  497. package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.cjs.map +1 -0
  498. package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.js +209 -0
  499. package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.js.map +1 -0
  500. package/dist/node_modules/{lodash.merge → .pnpm/lodash.merge@4.6.2/node_modules/lodash.merge}/index.cjs +2 -2
  501. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs.map +1 -0
  502. package/dist/node_modules/{lodash.merge → .pnpm/lodash.merge@4.6.2/node_modules/lodash.merge}/index.js +2 -2
  503. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js.map +1 -0
  504. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  505. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  506. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  507. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  508. package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.cjs +415 -0
  509. package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.cjs.map +1 -1
  510. package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.js +415 -0
  511. package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.js.map +1 -1
  512. package/dist/node_modules/.pnpm/{vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_ → vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_}/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs +304 -267
  513. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +1 -0
  514. package/dist/node_modules/.pnpm/{vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_ → vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_}/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +305 -268
  515. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -0
  516. package/dist/rents.server.js +1 -1
  517. package/dist/style.css +115 -116
  518. package/dist/{web-CjndIDjT.cjs → web-C68B9mpp.cjs} +1 -1
  519. package/dist/{web-BS-4Xl3x.js → web-HreCVhdf.js} +1 -1
  520. package/package.json +6 -1
  521. package/src/builder/builder.js +6 -13
  522. package/src/builder/modes/spa.prod.js +19 -14
  523. package/src/builder/modes/spa.rspack.dev.js +14 -23
  524. package/src/builder/modes/ssr.prod.js +34 -22
  525. package/src/builder/modes/ssr.rspack.dev.js +77 -35
  526. package/src/builder/modes/ssr.vite.dev.js +1 -1
  527. package/src/builder/rspack/rspack.config.base.js +12 -7
  528. package/src/builder/rspack/rspack.config.spa.client.js +1 -1
  529. package/src/builder/rspack/rspack.config.ssr.client.js +74 -10
  530. package/src/builder/rspack/rspack.config.ssr.server.js +2 -5
  531. package/src/builder/ssr/asset-resolver.js +148 -0
  532. package/src/builder/ssr/beasties-processor.js +107 -0
  533. package/src/builder/templates/page.js +20 -36
  534. package/src/components/Media/Media.vue +22 -1
  535. package/src/modules/STYLES.MD +118 -0
  536. package/src/modules/auth/auth.client.js +25 -33
  537. package/src/modules/auth/views/components/pages/ResetPassword.vue +10 -5
  538. package/src/modules/auth/views/components/pages/SignIn.vue +10 -4
  539. package/src/modules/auth/views/components/pages/SignUp.vue +10 -6
  540. package/src/modules/auth/views/store/auth.js +2 -0
  541. package/src/modules/community/router/blogposts.js +2 -2
  542. package/src/modules/events/router/events.js +7 -7
  543. package/src/modules/gallery/router/gallery.router.js +1 -1
  544. package/src/modules/globals/TASK.MD +1 -0
  545. package/src/modules/globals/controllers/classes/abac/v2/abac-fields-fixed.js +9 -6
  546. package/src/modules/globals/globals.client.js +25 -53
  547. package/src/modules/globals/views/classes/globals.app.js +320 -0
  548. package/src/modules/globals/views/classes/module-registry.js +241 -0
  549. package/src/modules/globals/views/classes/store.js +65 -45
  550. package/src/modules/globals/views/components/layouts/Client.vue +6 -6
  551. package/src/modules/globals/views/components/sections/Walkthrough.vue +51 -48
  552. package/src/modules/globals/views/plugins/alert.plugin.js +6 -3
  553. package/src/modules/globals/views/plugins/date-picker.plugin.js +6 -2
  554. package/src/modules/globals/views/plugins/popup.auth.plugin.js +6 -2
  555. package/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue +5 -2
  556. package/src/modules/globals/views/plugins/store-debugger/store-debugger.plugin.js +6 -2
  557. package/src/modules/globals/views/store/globals.js +17 -10
  558. package/src/modules/globals/views/utils/polyfills.js +28 -0
  559. package/src/modules/globals/views/utils/vue-app-renderer.js +26 -14
  560. package/src/modules/icons/components/IconSearchPopup.vue +4 -4
  561. package/src/modules/icons/icons.client.js +1 -1
  562. package/src/modules/inventory/inventory.client.js +1 -1
  563. package/src/modules/inventory/router/inventory.router.js +2 -2
  564. package/src/modules/landing/components/sections/SectionEarn.vue +2 -2
  565. package/src/modules/landing/components/sections/SectionMobileApp.vue +24 -10
  566. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
  567. package/src/modules/marketplace/marketplace.client.js +3 -3
  568. package/src/modules/music/router/music.js +3 -2
  569. package/src/modules/orders/components/blocks/CardOrderItem.vue +0 -1
  570. package/src/modules/orders/router/orders.router.js +6 -9
  571. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  572. package/src/modules/organizations/components/pages/Department.vue +1 -2
  573. package/src/modules/organizations/components/pages/DepartmentEdit.vue +30 -28
  574. package/src/modules/organizations/components/pages/Members.vue +10 -8
  575. package/src/modules/organizations/components/pages/Organization.vue +7 -5
  576. package/src/modules/organizations/organizations.client.js +25 -73
  577. package/src/modules/organizations/policies/organizations.policies.js +1 -1
  578. package/src/modules/pages/views/router/pages.backoffice.router.js +1 -1
  579. package/src/modules/pages/views/router/pages.router.js +1 -1
  580. package/src/modules/products/components/sections/HeroRecommendation.vue +2 -3
  581. package/src/modules/products/router/products.router.js +6 -6
  582. package/src/styles/base/all.scss +154 -267
  583. package/src/styles/base/backgrounds.scss +1 -0
  584. package/src/styles/config.scss +163 -55
  585. package/src/styles/layout.scss +2 -0
  586. package/src/styles/theme.scss +3 -2
  587. package/src/styles/typography.scss +12 -12
  588. package/dist/main-4KvvKtzH.cjs +0 -11
  589. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  590. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  591. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  592. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  593. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  594. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
  595. package/dist/martyrs/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue.cjs +0 -2
  596. package/dist/martyrs/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue.cjs.map +0 -1
  597. package/dist/martyrs/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue.js +0 -2
  598. package/dist/martyrs/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue.js.map +0 -1
  599. package/dist/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.cjs.map +0 -1
  600. package/dist/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.js.map +0 -1
  601. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.cjs.map +0 -1
  602. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js.map +0 -1
  603. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
  604. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
  605. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
  606. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  607. package/dist/node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +0 -1
  608. package/dist/node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +0 -1
  609. package/dist/node_modules/fast-deep-equal/index.cjs.map +0 -1
  610. package/dist/node_modules/fast-deep-equal/index.js.map +0 -1
  611. package/dist/node_modules/lodash.merge/index.cjs.map +0 -1
  612. package/dist/node_modules/lodash.merge/index.js.map +0 -1
  613. package/src/builder/modes/spa.dev.js +0 -106
  614. package/src/builder/modes/ssr.dev.js +0 -184
  615. package/src/builder/ssr/ssr-transform-webpack-stats.js +0 -66
  616. package/src/builder/ssr/utils.js +0 -47
  617. package/src/builder/webpack/index.js +0 -13
  618. package/src/builder/webpack/webpack.config.api.js +0 -35
  619. package/src/builder/webpack/webpack.config.base.js +0 -142
  620. package/src/builder/webpack/webpack.config.spa.client.js +0 -68
  621. package/src/builder/webpack/webpack.config.ssr.client.js +0 -93
  622. package/src/builder/webpack/webpack.config.ssr.server.js +0 -59
  623. package/src/modules/core/classes/module-manager.js +0 -88
  624. /package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.cjs +0 -0
  625. /package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.js +0 -0
  626. /package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/definitions.cjs +0 -0
  627. /package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/definitions.js +0 -0
  628. /package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.cjs +0 -0
  629. /package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.js +0 -0
  630. /package/dist/node_modules/.pnpm/{@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.3_ → @vuepic_vue-datepicker@11.0.2_vue@3.5.21_typescript@5.9.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.cjs +0 -0
  631. /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/dayjs.min.cjs +0 -0
  632. /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/dayjs.min.js +0 -0
  633. /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/plugin/weekOfYear.cjs +0 -0
  634. /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/plugin/weekOfYear.js +0 -0
  635. /package/dist/node_modules/.pnpm/{embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_ → embla-carousel-vue@8.6.0_vue@3.5.21_typescript@5.9.2_}/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs +0 -0
  636. /package/dist/node_modules/.pnpm/{embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_ → embla-carousel-vue@8.6.0_vue@3.5.21_typescript@5.9.2_}/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js +0 -0
  637. /package/dist/node_modules/{fast-deep-equal → .pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal}/index.cjs +0 -0
  638. /package/dist/node_modules/{fast-deep-equal → .pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal}/index.js +0 -0
  639. /package/src/modules/core/classes/{event.js → event-bus.js} +0 -0
@@ -25,8 +25,8 @@ class CapacitorPushHandler {
25
25
  }
26
26
  try {
27
27
  const { Capacitor } = await import("../../../node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.js");
28
- const { PushNotifications } = await import("../../../../node_modules/.pnpm/@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/push-notifications/dist/esm/index.js");
29
- const { Device } = await import("../../../../node_modules/.pnpm/@capacitor_device@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/device/dist/esm/index.js");
28
+ const { PushNotifications } = await import("../../../../node_modules/.pnpm/@capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3/node_modules/@capacitor/push-notifications/dist/esm/index.js");
29
+ const { Device } = await import("../../../../node_modules/.pnpm/@capacitor_device@7.0.2_@capacitor_core@7.4.3/node_modules/@capacitor/device/dist/esm/index.js");
30
30
  this.capacitor = Capacitor;
31
31
  this.pushNotifications = PushNotifications;
32
32
  this.device = Device;
@@ -1,4 +1,4 @@
1
- import { reactive, watch, computed } from "vue";
1
+ import { computed, reactive, watch } from "vue";
2
2
  import $axios from "../../globals/views/utils/axios-instance.js";
3
3
  import { setError } from "../../globals/views/store/globals.js";
4
4
  import { state as state$1 } from "../../auth/views/store/auth.js";
@@ -1,6 +1,6 @@
1
1
  import { ref, createElementBlock, openBlock, createVNode, createElementVNode, createCommentVNode, toDisplayString, Fragment, renderList, createBlock, Transition, withCtx, createTextVNode, withModifiers } from "vue";
2
2
  import _sfc_main$1 from "../../../globals/views/components/blocks/CardHeader.vue.js";
3
- import IconClock from "../../../icons/entities/IconTime.vue.js";
3
+ import IconTime from "../../../icons/entities/IconTime.vue.js";
4
4
  const _hoisted_1 = { class: "bg-light pos-relative pd-medium radius-medium" };
5
5
  const _hoisted_2 = { class: "mn-b-small pd-small bg-white radius-small flex-nowrap flex" };
6
6
  const _hoisted_3 = { class: "w-100" };
@@ -90,7 +90,7 @@ const _sfc_main = {
90
90
  }, toDisplayString(!spoiler.value ? `+${__props.order.positions.length - 2} more` : `Hide`), 1)) : createCommentVNode("", true)
91
91
  ]),
92
92
  createElementVNode("div", _hoisted_11, [
93
- createVNode(IconClock, {
93
+ createVNode(IconTime, {
94
94
  class: "i-semi t-transp",
95
95
  fill: "rgb(var(--black)"
96
96
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"CardOrderItem.vue.cjs","sources":["../../../../../../../src/modules/orders/components/blocks/CardOrderItem.vue"],"sourcesContent":["<template>\n <div class=\"gap-small pos-relative cols-1\">\n <div class=\"pos-relative w-100 gap-thin flex-stretch flex-nowrap flex\">\n <div class=\"bg-light h-100 o-hidden pos-relative radius-small aspect-1x1\" style=\"flex: 1 0 auto\">\n <img \n v-if=\"images && images[0]\"\n loading=\"lazy\" \n class=\"w-100 object-fit-cover pos-absolute h-100\" \n :src=\"(FILE_SERVER_URL || '') + images[0]\"\n >\n <PlaceholderImage\n v-else \n class=\"bg-light pos-absolute radius-small w-100 h-100\"\n />\n </div>\n \n <div class=\"w-100 pos-relative\">\n <p class=\"t-truncate t-medium\">{{ name }}</p>\n \n <div class=\"mn-t-thin\">\n <p v-if=\"price != null && quantity != null\">\n <span class=\"t-second mn-r-micro d-inline-block t-demi\">\n {{ returnCurrency() }}{{ totalPrice }}\n </span>\n <span v-if=\"isRental && rentDates.start && rentDates.end\" class=\"p-small t-transp\">\n {{ returnCurrency() }}{{ price }} \n <span v-if=\"quantity > 1\">× {{ quantity }} {{ unit || 'pcs' }}</span>\n × {{ rentalDays }} days\n </span>\n <span v-else class=\"p-small t-transp\">{{ returnCurrency() }}{{ price }} × {{ quantity || 0 }} {{ unit || 'pcs' }}</span>\n </p>\n \n <p v-else-if=\"price != null && quantity == null\" class=\"t-second mn-r-micro d-inline-block t-demi\">\n {{ returnCurrency() }}{{ price }}\n </p>\n \n <p v-else-if=\"price == null && quantity != null\" class=\"p-small t-transp\">\n {{ quantity }} {{ unit || 'pcs' }}\n </p>\n </div>\n \n <slot></slot>\n <div v-if=\"showControls\" class=\"mn-t-thin gap-thin flex-nojustify flex\">\n <div \n v-if=\"isRental && rentDates.start && rentDates.end\" \n class=\"flex gap-thin flex-v-center cursor-pointer pd-thin w-100 bg-light radius-small\"\n >\n <IconCalendar\n @click=\"openRentDatePopup\"\n class=\"cursor-pointer i-medium\"\n />\n <p \n @click=\"editable ? openRentDatePopup : null\" \n class=\"t-medium t-transp\"\n >\n {{ formatDate(rentDates.start, { dayMonth: true, language: locale }) }} - \n {{ formatDate(rentDates.end, { dayMonth: true, language: locale }) }}\n </p>\n </div>\n\n <template v-if=\"editable && !isRental\">\n <IconAdd\n @click=\"increase\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n <IconMinus\n @click=\"decrease\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n <IconDelete\n @click=\"remove\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n </template>\n\n <IconEdit\n v-if=\"isRental && editable\"\n @click=\"openRentDatePopup\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-small radius-small\"\n />\n </div>\n </div>\n </div>\n \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, getCurrentInstance } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { format } from 'date-fns'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconMinus from '@martyrs/src/modules/icons/navigation/IconMinus.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nconst router = useRouter()\nconst { locale } = useI18n()\nconst { proxy } = getCurrentInstance()\n\nconst emits = defineEmits(['increase', 'decrease', 'remove', 'updateRentDates'])\nconst props = defineProps({\n productId: String,\n variantId: String,\n images: Array,\n name: String,\n quantity: Number,\n unit: String,\n dates: Object,\n listing: String,\n price: Number,\n editable: Boolean,\n increase: Function,\n decrease: Function,\n remove: Function,\n})\n\nconst isRental = computed(() => props.listing === 'rent')\nconst showControls = computed(() => props.editable || isRental.value)\n\nconst rentDates = ref({\n start: props.dates?.start || null,\n end: props.dates?.end || null\n})\n\nconst rentalDays = computed(() => {\n if (!rentDates.value.start || !rentDates.value.end) return 0\n const start = new Date(rentDates.value.start)\n const end = new Date(rentDates.value.end)\n return Math.ceil(Math.abs(end - start) / (1000 * 60 * 60 * 24)) + 1\n})\n\nconst totalPrice = computed(() => {\n if (isRental.value) {\n return rentalDays.value * props.price * props.quantity\n }\n return props.quantity * props.price\n})\n\nconst isRentDatePopupOpen = ref(false)\n\nfunction increase() {\n props.increase?.()\n emits('increase')\n}\n\nfunction decrease() {\n props.decrease?.()\n emits('decrease')\n}\n\nfunction remove() {\n props.remove?.()\n emits('remove')\n}\n\nasync function openRentDatePopup() {\n try {\n const selectedDates = await proxy.$dateSelector(\n props.productId,\n props.variantId,\n props.quantity,\n props.price,\n { \n showCancelButton: props.editable,\n onCancel: props.editable ? () => props.remove?.() : null\n }\n );\n \n if (selectedDates) {\n updateRentDates(selectedDates)\n }\n } catch (error) {\n console.error('Error selecting dates:', error)\n }\n}\n\nfunction updateRentDates(dates) {\n rentDates.value = dates\n emits('updateRentDates', props.productId, props.variantId, dates)\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useRouter","useI18n","getCurrentInstance","computed","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGeA,cAAAA,UAAS;AACxB,UAAM,EAAE,OAAM,IAAKC,QAAAA,QAAO;AAC1B,UAAM,EAAE,MAAK,IAAKC,IAAAA,mBAAkB;AAEpC,UAAM,QAAQ;AACd,UAAM,QAAQ;AAgBd,UAAM,WAAWC,IAAAA,SAAS,MAAM,MAAM,YAAY,MAAM;AACxD,UAAM,eAAeA,IAAAA,SAAS,MAAM,MAAM,YAAY,SAAS,KAAK;AAEpE,UAAM,YAAYC,IAAAA,IAAI;AAAA,MACpB,OAAO,MAAM,OAAO,SAAS;AAAA,MAC7B,KAAK,MAAM,OAAO,OAAO;AAAA,IAC3B,CAAC;AAED,UAAM,aAAaD,IAAAA,SAAS,MAAM;AAChC,UAAI,CAAC,UAAU,MAAM,SAAS,CAAC,UAAU,MAAM,IAAK,QAAO;AAC3D,YAAM,QAAQ,IAAI,KAAK,UAAU,MAAM,KAAK;AAC5C,YAAM,MAAM,IAAI,KAAK,UAAU,MAAM,GAAG;AACxC,aAAO,KAAK,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,MAAO,KAAK,KAAK,GAAG,IAAI;AAAA,IACpE,CAAC;AAED,UAAM,aAAaA,IAAAA,SAAS,MAAM;AAChC,UAAI,SAAS,OAAO;AAClB,eAAO,WAAW,QAAQ,MAAM,QAAQ,MAAM;AAAA,MAChD;AACA,aAAO,MAAM,WAAW,MAAM;AAAA,IAChC,CAAC;AAE2BC,QAAAA,IAAI,KAAK;AAErC,aAAS,WAAW;AAClB,YAAM,WAAQ;AACd,YAAM,UAAU;AAAA,IAClB;AAEA,aAAS,WAAW;AAClB,YAAM,WAAQ;AACd,YAAM,UAAU;AAAA,IAClB;AAEA,aAAS,SAAS;AAChB,YAAM,SAAM;AACZ,YAAM,QAAQ;AAAA,IAChB;AAEA,mBAAe,oBAAoB;AACjC,UAAI;AACF,cAAM,gBAAgB,MAAM,MAAM;AAAA,UAChC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN;AAAA,YACE,kBAAkB,MAAM;AAAA,YACxB,UAAU,MAAM,WAAW,MAAM,MAAM,SAAM,IAAO;AAAA,UAC5D;AAAA,QACA;AAEI,YAAI,eAAe;AACjB,0BAAgB,aAAa;AAAA,QAC/B;AAAA,MACF,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAAA,MAC/C;AAAA,IACF;AAEA,aAAS,gBAAgB,OAAO;AAC9B,gBAAU,QAAQ;AAClB,YAAM,mBAAmB,MAAM,WAAW,MAAM,WAAW,KAAK;AAAA,IAClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardOrderItem.vue.cjs","sources":["../../../../../../../src/modules/orders/components/blocks/CardOrderItem.vue"],"sourcesContent":["<template>\n <div class=\"gap-small pos-relative cols-1\">\n <div class=\"pos-relative w-100 gap-thin flex-stretch flex-nowrap flex\">\n <div class=\"bg-light h-100 o-hidden pos-relative radius-small aspect-1x1\" style=\"flex: 1 0 auto\">\n <img \n v-if=\"images && images[0]\"\n loading=\"lazy\" \n class=\"w-100 object-fit-cover pos-absolute h-100\" \n :src=\"(FILE_SERVER_URL || '') + images[0]\"\n >\n <PlaceholderImage\n v-else \n class=\"bg-light pos-absolute radius-small w-100 h-100\"\n />\n </div>\n \n <div class=\"w-100 pos-relative\">\n <p class=\"t-truncate t-medium\">{{ name }}</p>\n \n <div class=\"mn-t-thin\">\n <p v-if=\"price != null && quantity != null\">\n <span class=\"t-second mn-r-micro d-inline-block t-demi\">\n {{ returnCurrency() }}{{ totalPrice }}\n </span>\n <span v-if=\"isRental && rentDates.start && rentDates.end\" class=\"p-small t-transp\">\n {{ returnCurrency() }}{{ price }} \n <span v-if=\"quantity > 1\">× {{ quantity }} {{ unit || 'pcs' }}</span>\n × {{ rentalDays }} days\n </span>\n <span v-else class=\"p-small t-transp\">{{ returnCurrency() }}{{ price }} × {{ quantity || 0 }} {{ unit || 'pcs' }}</span>\n </p>\n \n <p v-else-if=\"price != null && quantity == null\" class=\"t-second mn-r-micro d-inline-block t-demi\">\n {{ returnCurrency() }}{{ price }}\n </p>\n \n <p v-else-if=\"price == null && quantity != null\" class=\"p-small t-transp\">\n {{ quantity }} {{ unit || 'pcs' }}\n </p>\n </div>\n \n <slot></slot>\n <div v-if=\"showControls\" class=\"mn-t-thin gap-thin flex-nojustify flex\">\n <div \n v-if=\"isRental && rentDates.start && rentDates.end\" \n class=\"flex gap-thin flex-v-center cursor-pointer pd-thin w-100 bg-light radius-small\"\n >\n <IconCalendar\n @click=\"openRentDatePopup\"\n class=\"cursor-pointer i-medium\"\n />\n <p \n @click=\"editable ? openRentDatePopup : null\" \n class=\"t-medium t-transp\"\n >\n {{ formatDate(rentDates.start, { dayMonth: true, language: locale }) }} - \n {{ formatDate(rentDates.end, { dayMonth: true, language: locale }) }}\n </p>\n </div>\n\n <template v-if=\"editable && !isRental\">\n <IconAdd\n @click=\"increase\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n <IconMinus\n @click=\"decrease\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n <IconDelete\n @click=\"remove\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n </template>\n\n <IconEdit\n v-if=\"isRental && editable\"\n @click=\"openRentDatePopup\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-small radius-small\"\n />\n </div>\n </div>\n </div>\n \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, getCurrentInstance } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconMinus from '@martyrs/src/modules/icons/navigation/IconMinus.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nconst router = useRouter()\nconst { locale } = useI18n()\nconst { proxy } = getCurrentInstance()\n\nconst emits = defineEmits(['increase', 'decrease', 'remove', 'updateRentDates'])\nconst props = defineProps({\n productId: String,\n variantId: String,\n images: Array,\n name: String,\n quantity: Number,\n unit: String,\n dates: Object,\n listing: String,\n price: Number,\n editable: Boolean,\n increase: Function,\n decrease: Function,\n remove: Function,\n})\n\nconst isRental = computed(() => props.listing === 'rent')\nconst showControls = computed(() => props.editable || isRental.value)\n\nconst rentDates = ref({\n start: props.dates?.start || null,\n end: props.dates?.end || null\n})\n\nconst rentalDays = computed(() => {\n if (!rentDates.value.start || !rentDates.value.end) return 0\n const start = new Date(rentDates.value.start)\n const end = new Date(rentDates.value.end)\n return Math.ceil(Math.abs(end - start) / (1000 * 60 * 60 * 24)) + 1\n})\n\nconst totalPrice = computed(() => {\n if (isRental.value) {\n return rentalDays.value * props.price * props.quantity\n }\n return props.quantity * props.price\n})\n\nconst isRentDatePopupOpen = ref(false)\n\nfunction increase() {\n props.increase?.()\n emits('increase')\n}\n\nfunction decrease() {\n props.decrease?.()\n emits('decrease')\n}\n\nfunction remove() {\n props.remove?.()\n emits('remove')\n}\n\nasync function openRentDatePopup() {\n try {\n const selectedDates = await proxy.$dateSelector(\n props.productId,\n props.variantId,\n props.quantity,\n props.price,\n { \n showCancelButton: props.editable,\n onCancel: props.editable ? () => props.remove?.() : null\n }\n );\n \n if (selectedDates) {\n updateRentDates(selectedDates)\n }\n } catch (error) {\n console.error('Error selecting dates:', error)\n }\n}\n\nfunction updateRentDates(dates) {\n rentDates.value = dates\n emits('updateRentDates', props.productId, props.variantId, dates)\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useRouter","useI18n","getCurrentInstance","computed","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGeA,cAAAA,UAAS;AACxB,UAAM,EAAE,OAAM,IAAKC,QAAAA,QAAO;AAC1B,UAAM,EAAE,MAAK,IAAKC,IAAAA,mBAAkB;AAEpC,UAAM,QAAQ;AACd,UAAM,QAAQ;AAgBd,UAAM,WAAWC,IAAAA,SAAS,MAAM,MAAM,YAAY,MAAM;AACxD,UAAM,eAAeA,IAAAA,SAAS,MAAM,MAAM,YAAY,SAAS,KAAK;AAEpE,UAAM,YAAYC,IAAAA,IAAI;AAAA,MACpB,OAAO,MAAM,OAAO,SAAS;AAAA,MAC7B,KAAK,MAAM,OAAO,OAAO;AAAA,IAC3B,CAAC;AAED,UAAM,aAAaD,IAAAA,SAAS,MAAM;AAChC,UAAI,CAAC,UAAU,MAAM,SAAS,CAAC,UAAU,MAAM,IAAK,QAAO;AAC3D,YAAM,QAAQ,IAAI,KAAK,UAAU,MAAM,KAAK;AAC5C,YAAM,MAAM,IAAI,KAAK,UAAU,MAAM,GAAG;AACxC,aAAO,KAAK,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,MAAO,KAAK,KAAK,GAAG,IAAI;AAAA,IACpE,CAAC;AAED,UAAM,aAAaA,IAAAA,SAAS,MAAM;AAChC,UAAI,SAAS,OAAO;AAClB,eAAO,WAAW,QAAQ,MAAM,QAAQ,MAAM;AAAA,MAChD;AACA,aAAO,MAAM,WAAW,MAAM;AAAA,IAChC,CAAC;AAE2BC,QAAAA,IAAI,KAAK;AAErC,aAAS,WAAW;AAClB,YAAM,WAAQ;AACd,YAAM,UAAU;AAAA,IAClB;AAEA,aAAS,WAAW;AAClB,YAAM,WAAQ;AACd,YAAM,UAAU;AAAA,IAClB;AAEA,aAAS,SAAS;AAChB,YAAM,SAAM;AACZ,YAAM,QAAQ;AAAA,IAChB;AAEA,mBAAe,oBAAoB;AACjC,UAAI;AACF,cAAM,gBAAgB,MAAM,MAAM;AAAA,UAChC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN;AAAA,YACE,kBAAkB,MAAM;AAAA,YACxB,UAAU,MAAM,WAAW,MAAM,MAAM,SAAM,IAAO;AAAA,UAC5D;AAAA,QACA;AAEI,YAAI,eAAe;AACjB,0BAAgB,aAAa;AAAA,QAC/B;AAAA,MACF,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAAA,MAC/C;AAAA,IACF;AAEA,aAAS,gBAAgB,OAAO;AAC9B,gBAAU,QAAQ;AAClB,YAAM,mBAAmB,MAAM,WAAW,MAAM,WAAW,KAAK;AAAA,IAClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardOrderItem.vue.js","sources":["../../../../../../../src/modules/orders/components/blocks/CardOrderItem.vue"],"sourcesContent":["<template>\n <div class=\"gap-small pos-relative cols-1\">\n <div class=\"pos-relative w-100 gap-thin flex-stretch flex-nowrap flex\">\n <div class=\"bg-light h-100 o-hidden pos-relative radius-small aspect-1x1\" style=\"flex: 1 0 auto\">\n <img \n v-if=\"images && images[0]\"\n loading=\"lazy\" \n class=\"w-100 object-fit-cover pos-absolute h-100\" \n :src=\"(FILE_SERVER_URL || '') + images[0]\"\n >\n <PlaceholderImage\n v-else \n class=\"bg-light pos-absolute radius-small w-100 h-100\"\n />\n </div>\n \n <div class=\"w-100 pos-relative\">\n <p class=\"t-truncate t-medium\">{{ name }}</p>\n \n <div class=\"mn-t-thin\">\n <p v-if=\"price != null && quantity != null\">\n <span class=\"t-second mn-r-micro d-inline-block t-demi\">\n {{ returnCurrency() }}{{ totalPrice }}\n </span>\n <span v-if=\"isRental && rentDates.start && rentDates.end\" class=\"p-small t-transp\">\n {{ returnCurrency() }}{{ price }} \n <span v-if=\"quantity > 1\">× {{ quantity }} {{ unit || 'pcs' }}</span>\n × {{ rentalDays }} days\n </span>\n <span v-else class=\"p-small t-transp\">{{ returnCurrency() }}{{ price }} × {{ quantity || 0 }} {{ unit || 'pcs' }}</span>\n </p>\n \n <p v-else-if=\"price != null && quantity == null\" class=\"t-second mn-r-micro d-inline-block t-demi\">\n {{ returnCurrency() }}{{ price }}\n </p>\n \n <p v-else-if=\"price == null && quantity != null\" class=\"p-small t-transp\">\n {{ quantity }} {{ unit || 'pcs' }}\n </p>\n </div>\n \n <slot></slot>\n <div v-if=\"showControls\" class=\"mn-t-thin gap-thin flex-nojustify flex\">\n <div \n v-if=\"isRental && rentDates.start && rentDates.end\" \n class=\"flex gap-thin flex-v-center cursor-pointer pd-thin w-100 bg-light radius-small\"\n >\n <IconCalendar\n @click=\"openRentDatePopup\"\n class=\"cursor-pointer i-medium\"\n />\n <p \n @click=\"editable ? openRentDatePopup : null\" \n class=\"t-medium t-transp\"\n >\n {{ formatDate(rentDates.start, { dayMonth: true, language: locale }) }} - \n {{ formatDate(rentDates.end, { dayMonth: true, language: locale }) }}\n </p>\n </div>\n\n <template v-if=\"editable && !isRental\">\n <IconAdd\n @click=\"increase\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n <IconMinus\n @click=\"decrease\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n <IconDelete\n @click=\"remove\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n </template>\n\n <IconEdit\n v-if=\"isRental && editable\"\n @click=\"openRentDatePopup\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-small radius-small\"\n />\n </div>\n </div>\n </div>\n \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, getCurrentInstance } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport { format } from 'date-fns'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconMinus from '@martyrs/src/modules/icons/navigation/IconMinus.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nconst router = useRouter()\nconst { locale } = useI18n()\nconst { proxy } = getCurrentInstance()\n\nconst emits = defineEmits(['increase', 'decrease', 'remove', 'updateRentDates'])\nconst props = defineProps({\n productId: String,\n variantId: String,\n images: Array,\n name: String,\n quantity: Number,\n unit: String,\n dates: Object,\n listing: String,\n price: Number,\n editable: Boolean,\n increase: Function,\n decrease: Function,\n remove: Function,\n})\n\nconst isRental = computed(() => props.listing === 'rent')\nconst showControls = computed(() => props.editable || isRental.value)\n\nconst rentDates = ref({\n start: props.dates?.start || null,\n end: props.dates?.end || null\n})\n\nconst rentalDays = computed(() => {\n if (!rentDates.value.start || !rentDates.value.end) return 0\n const start = new Date(rentDates.value.start)\n const end = new Date(rentDates.value.end)\n return Math.ceil(Math.abs(end - start) / (1000 * 60 * 60 * 24)) + 1\n})\n\nconst totalPrice = computed(() => {\n if (isRental.value) {\n return rentalDays.value * props.price * props.quantity\n }\n return props.quantity * props.price\n})\n\nconst isRentDatePopupOpen = ref(false)\n\nfunction increase() {\n props.increase?.()\n emits('increase')\n}\n\nfunction decrease() {\n props.decrease?.()\n emits('decrease')\n}\n\nfunction remove() {\n props.remove?.()\n emits('remove')\n}\n\nasync function openRentDatePopup() {\n try {\n const selectedDates = await proxy.$dateSelector(\n props.productId,\n props.variantId,\n props.quantity,\n props.price,\n { \n showCancelButton: props.editable,\n onCancel: props.editable ? () => props.remove?.() : null\n }\n );\n \n if (selectedDates) {\n updateRentDates(selectedDates)\n }\n } catch (error) {\n console.error('Error selecting dates:', error)\n }\n}\n\nfunction updateRentDates(dates) {\n rentDates.value = dates\n emits('updateRentDates', props.productId, props.variantId, dates)\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGe,cAAS;AACxB,UAAM,EAAE,OAAM,IAAK,QAAO;AAC1B,UAAM,EAAE,MAAK,IAAK,mBAAkB;AAEpC,UAAM,QAAQ;AACd,UAAM,QAAQ;AAgBd,UAAM,WAAW,SAAS,MAAM,MAAM,YAAY,MAAM;AACxD,UAAM,eAAe,SAAS,MAAM,MAAM,YAAY,SAAS,KAAK;AAEpE,UAAM,YAAY,IAAI;AAAA,MACpB,OAAO,MAAM,OAAO,SAAS;AAAA,MAC7B,KAAK,MAAM,OAAO,OAAO;AAAA,IAC3B,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,CAAC,UAAU,MAAM,SAAS,CAAC,UAAU,MAAM,IAAK,QAAO;AAC3D,YAAM,QAAQ,IAAI,KAAK,UAAU,MAAM,KAAK;AAC5C,YAAM,MAAM,IAAI,KAAK,UAAU,MAAM,GAAG;AACxC,aAAO,KAAK,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,MAAO,KAAK,KAAK,GAAG,IAAI;AAAA,IACpE,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,SAAS,OAAO;AAClB,eAAO,WAAW,QAAQ,MAAM,QAAQ,MAAM;AAAA,MAChD;AACA,aAAO,MAAM,WAAW,MAAM;AAAA,IAChC,CAAC;AAE2B,QAAI,KAAK;AAErC,aAAS,WAAW;AAClB,YAAM,WAAQ;AACd,YAAM,UAAU;AAAA,IAClB;AAEA,aAAS,WAAW;AAClB,YAAM,WAAQ;AACd,YAAM,UAAU;AAAA,IAClB;AAEA,aAAS,SAAS;AAChB,YAAM,SAAM;AACZ,YAAM,QAAQ;AAAA,IAChB;AAEA,mBAAe,oBAAoB;AACjC,UAAI;AACF,cAAM,gBAAgB,MAAM,MAAM;AAAA,UAChC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN;AAAA,YACE,kBAAkB,MAAM;AAAA,YACxB,UAAU,MAAM,WAAW,MAAM,MAAM,SAAM,IAAO;AAAA,UAC5D;AAAA,QACA;AAEI,YAAI,eAAe;AACjB,0BAAgB,aAAa;AAAA,QAC/B;AAAA,MACF,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAAA,MAC/C;AAAA,IACF;AAEA,aAAS,gBAAgB,OAAO;AAC9B,gBAAU,QAAQ;AAClB,YAAM,mBAAmB,MAAM,WAAW,MAAM,WAAW,KAAK;AAAA,IAClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardOrderItem.vue.js","sources":["../../../../../../../src/modules/orders/components/blocks/CardOrderItem.vue"],"sourcesContent":["<template>\n <div class=\"gap-small pos-relative cols-1\">\n <div class=\"pos-relative w-100 gap-thin flex-stretch flex-nowrap flex\">\n <div class=\"bg-light h-100 o-hidden pos-relative radius-small aspect-1x1\" style=\"flex: 1 0 auto\">\n <img \n v-if=\"images && images[0]\"\n loading=\"lazy\" \n class=\"w-100 object-fit-cover pos-absolute h-100\" \n :src=\"(FILE_SERVER_URL || '') + images[0]\"\n >\n <PlaceholderImage\n v-else \n class=\"bg-light pos-absolute radius-small w-100 h-100\"\n />\n </div>\n \n <div class=\"w-100 pos-relative\">\n <p class=\"t-truncate t-medium\">{{ name }}</p>\n \n <div class=\"mn-t-thin\">\n <p v-if=\"price != null && quantity != null\">\n <span class=\"t-second mn-r-micro d-inline-block t-demi\">\n {{ returnCurrency() }}{{ totalPrice }}\n </span>\n <span v-if=\"isRental && rentDates.start && rentDates.end\" class=\"p-small t-transp\">\n {{ returnCurrency() }}{{ price }} \n <span v-if=\"quantity > 1\">× {{ quantity }} {{ unit || 'pcs' }}</span>\n × {{ rentalDays }} days\n </span>\n <span v-else class=\"p-small t-transp\">{{ returnCurrency() }}{{ price }} × {{ quantity || 0 }} {{ unit || 'pcs' }}</span>\n </p>\n \n <p v-else-if=\"price != null && quantity == null\" class=\"t-second mn-r-micro d-inline-block t-demi\">\n {{ returnCurrency() }}{{ price }}\n </p>\n \n <p v-else-if=\"price == null && quantity != null\" class=\"p-small t-transp\">\n {{ quantity }} {{ unit || 'pcs' }}\n </p>\n </div>\n \n <slot></slot>\n <div v-if=\"showControls\" class=\"mn-t-thin gap-thin flex-nojustify flex\">\n <div \n v-if=\"isRental && rentDates.start && rentDates.end\" \n class=\"flex gap-thin flex-v-center cursor-pointer pd-thin w-100 bg-light radius-small\"\n >\n <IconCalendar\n @click=\"openRentDatePopup\"\n class=\"cursor-pointer i-medium\"\n />\n <p \n @click=\"editable ? openRentDatePopup : null\" \n class=\"t-medium t-transp\"\n >\n {{ formatDate(rentDates.start, { dayMonth: true, language: locale }) }} - \n {{ formatDate(rentDates.end, { dayMonth: true, language: locale }) }}\n </p>\n </div>\n\n <template v-if=\"editable && !isRental\">\n <IconAdd\n @click=\"increase\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n <IconMinus\n @click=\"decrease\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n <IconDelete\n @click=\"remove\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-thin radius-small\"\n />\n </template>\n\n <IconEdit\n v-if=\"isRental && editable\"\n @click=\"openRentDatePopup\"\n class=\"hover-scale-1 cursor-pointer bg-light i-big pd-small radius-small\"\n />\n </div>\n </div>\n </div>\n \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, getCurrentInstance } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconMinus from '@martyrs/src/modules/icons/navigation/IconMinus.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\n\nconst router = useRouter()\nconst { locale } = useI18n()\nconst { proxy } = getCurrentInstance()\n\nconst emits = defineEmits(['increase', 'decrease', 'remove', 'updateRentDates'])\nconst props = defineProps({\n productId: String,\n variantId: String,\n images: Array,\n name: String,\n quantity: Number,\n unit: String,\n dates: Object,\n listing: String,\n price: Number,\n editable: Boolean,\n increase: Function,\n decrease: Function,\n remove: Function,\n})\n\nconst isRental = computed(() => props.listing === 'rent')\nconst showControls = computed(() => props.editable || isRental.value)\n\nconst rentDates = ref({\n start: props.dates?.start || null,\n end: props.dates?.end || null\n})\n\nconst rentalDays = computed(() => {\n if (!rentDates.value.start || !rentDates.value.end) return 0\n const start = new Date(rentDates.value.start)\n const end = new Date(rentDates.value.end)\n return Math.ceil(Math.abs(end - start) / (1000 * 60 * 60 * 24)) + 1\n})\n\nconst totalPrice = computed(() => {\n if (isRental.value) {\n return rentalDays.value * props.price * props.quantity\n }\n return props.quantity * props.price\n})\n\nconst isRentDatePopupOpen = ref(false)\n\nfunction increase() {\n props.increase?.()\n emits('increase')\n}\n\nfunction decrease() {\n props.decrease?.()\n emits('decrease')\n}\n\nfunction remove() {\n props.remove?.()\n emits('remove')\n}\n\nasync function openRentDatePopup() {\n try {\n const selectedDates = await proxy.$dateSelector(\n props.productId,\n props.variantId,\n props.quantity,\n props.price,\n { \n showCancelButton: props.editable,\n onCancel: props.editable ? () => props.remove?.() : null\n }\n );\n \n if (selectedDates) {\n updateRentDates(selectedDates)\n }\n } catch (error) {\n console.error('Error selecting dates:', error)\n }\n}\n\nfunction updateRentDates(dates) {\n rentDates.value = dates\n emits('updateRentDates', props.productId, props.variantId, dates)\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGe,cAAS;AACxB,UAAM,EAAE,OAAM,IAAK,QAAO;AAC1B,UAAM,EAAE,MAAK,IAAK,mBAAkB;AAEpC,UAAM,QAAQ;AACd,UAAM,QAAQ;AAgBd,UAAM,WAAW,SAAS,MAAM,MAAM,YAAY,MAAM;AACxD,UAAM,eAAe,SAAS,MAAM,MAAM,YAAY,SAAS,KAAK;AAEpE,UAAM,YAAY,IAAI;AAAA,MACpB,OAAO,MAAM,OAAO,SAAS;AAAA,MAC7B,KAAK,MAAM,OAAO,OAAO;AAAA,IAC3B,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,CAAC,UAAU,MAAM,SAAS,CAAC,UAAU,MAAM,IAAK,QAAO;AAC3D,YAAM,QAAQ,IAAI,KAAK,UAAU,MAAM,KAAK;AAC5C,YAAM,MAAM,IAAI,KAAK,UAAU,MAAM,GAAG;AACxC,aAAO,KAAK,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,MAAO,KAAK,KAAK,GAAG,IAAI;AAAA,IACpE,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,SAAS,OAAO;AAClB,eAAO,WAAW,QAAQ,MAAM,QAAQ,MAAM;AAAA,MAChD;AACA,aAAO,MAAM,WAAW,MAAM;AAAA,IAChC,CAAC;AAE2B,QAAI,KAAK;AAErC,aAAS,WAAW;AAClB,YAAM,WAAQ;AACd,YAAM,UAAU;AAAA,IAClB;AAEA,aAAS,WAAW;AAClB,YAAM,WAAQ;AACd,YAAM,UAAU;AAAA,IAClB;AAEA,aAAS,SAAS;AAChB,YAAM,SAAM;AACZ,YAAM,QAAQ;AAAA,IAChB;AAEA,mBAAe,oBAAoB;AACjC,UAAI;AACF,cAAM,gBAAgB,MAAM,MAAM;AAAA,UAChC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,UACN;AAAA,YACE,kBAAkB,MAAM;AAAA,YACxB,UAAU,MAAM,WAAW,MAAM,MAAM,SAAM,IAAO;AAAA,UAC5D;AAAA,QACA;AAEI,YAAI,eAAe;AACjB,0BAAgB,aAAa;AAAA,QAC/B;AAAA,MACF,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAAA,MAC/C;AAAA,IACF;AAEA,aAAS,gBAAgB,OAAO;AAC9B,gBAAU,QAAQ;AAClB,YAAM,mBAAmB,MAAM,WAAW,MAAM,WAAW,KAAK;AAAA,IAClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -12,7 +12,6 @@ const youtube = require("../../../icons/socials/youtube.vue.cjs");
12
12
  const linkedin = require("../../../icons/socials/linkedin.vue.cjs");
13
13
  const whatsapp = require("../../../icons/socials/whatsapp.vue.cjs");
14
14
  const globals = require("../../../globals/views/store/globals.cjs");
15
- require("../../store/applications.cjs");
16
15
  const _hoisted_1 = { class: "t-center" };
17
16
  const _hoisted_2 = { class: "mn-b-medium" };
18
17
  const _hoisted_3 = { class: "t-transp mn-b-medium" };
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSubscribeNewsletter.vue.cjs","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-medium\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-semi\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n globals.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n globals.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n globals.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useI18n","ref","IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email","globals.setError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAKA,gBAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQC,IAAAA,IAAI,EAAE;AAClB,QAAI,qBAAqBA,IAAAA,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUC,SAAAA;AAAAA,MACV,WAAWC,UAAAA;AAAAA,MACX,UAAUC,SAAAA;AAAAA,MACV,SAASC,QAAAA;AAAAA,MACT,SAASC,QAAAA;AAAAA,MACT,UAAUC,SAAAA;AAAAA,MACV,UAAUC,SAAAA;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvCC,gBAAAA,SAAiB,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACnF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtCA,gBAAAA,SAAiB,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACrF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjBA,gBAAAA,SAAiB,KAAK;AACtB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FieldSubscribeNewsletter.vue.cjs","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-medium\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-semi\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n globals.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n globals.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n globals.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useI18n","ref","IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email","globals.setError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAKA,gBAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQC,IAAAA,IAAI,EAAE;AAClB,QAAI,qBAAqBA,IAAAA,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUC,SAAAA;AAAAA,MACV,WAAWC,UAAAA;AAAAA,MACX,UAAUC,SAAAA;AAAAA,MACV,SAASC,QAAAA;AAAAA,MACT,SAASC,QAAAA;AAAAA,MACT,UAAUC,SAAAA;AAAAA,MACV,UAAUC,SAAAA;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvCC,gBAAAA,SAAiB,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACnF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtCA,gBAAAA,SAAiB,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACrF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjBA,gBAAAA,SAAiB,KAAK;AACtB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -10,7 +10,6 @@ import _sfc_main$5 from "../../../icons/socials/youtube.vue.js";
10
10
  import _sfc_main$4 from "../../../icons/socials/linkedin.vue.js";
11
11
  import _sfc_main$3 from "../../../icons/socials/whatsapp.vue.js";
12
12
  import { setError } from "../../../globals/views/store/globals.js";
13
- import "../../store/applications.js";
14
13
  const _hoisted_1 = { class: "t-center" };
15
14
  const _hoisted_2 = { class: "mn-b-medium" };
16
15
  const _hoisted_3 = { class: "t-transp mn-b-medium" };
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSubscribeNewsletter.vue.js","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-medium\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-semi\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n globals.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n globals.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n globals.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email","globals.setError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAK,QAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQ,IAAI,EAAE;AAClB,QAAI,qBAAqB,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUA;AAAAA,MACV,WAAWC;AAAAA,MACX,UAAUC;AAAAA,MACV,SAASC;AAAAA,MACT,SAASC;AAAAA,MACT,UAAUC;AAAAA,MACV,UAAUC;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvCC,iBAAiB,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACnF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtCA,iBAAiB,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACrF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjBA,iBAAiB,KAAK;AACtB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FieldSubscribeNewsletter.vue.js","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-medium\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-semi\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n globals.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n globals.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n globals.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email","globals.setError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAK,QAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQ,IAAI,EAAE;AAClB,QAAI,qBAAqB,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUA;AAAAA,MACV,WAAWC;AAAAA,MACX,UAAUC;AAAAA,MACV,SAASC;AAAAA,MACT,SAASC;AAAAA,MACT,UAAUC;AAAAA,MACV,UAAUC;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvCC,iBAAiB,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACnF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtCA,iBAAiB,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACrF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjBA,iBAAiB,KAAK;AACtB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const Block = require("../../../../components/Block/Block.vue.cjs");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
- const Select = require("../../../../components/Select/Select.vue2.cjs");
6
+ const Select = require("../../../../components/Select/Select.vue.cjs");
7
7
  const Button = require("../../../../components/Button/Button.vue.cjs");
8
8
  const _hoisted_1 = { class: "gap-thin flex mn-t-small" };
9
9
  const _sfc_main = {
@@ -1,7 +1,7 @@
1
1
  import { mergeModels, useModel, ref, watch, createBlock, openBlock, withCtx, createVNode, createElementVNode, unref, isRef, createTextVNode, toDisplayString } from "vue";
2
2
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
- import Select from "../../../../components/Select/Select.vue2.js";
4
+ import Select from "../../../../components/Select/Select.vue.js";
5
5
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
6
6
  const _hoisted_1 = { class: "gap-thin flex mn-t-small" };
7
7
  const _sfc_main = {
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const Block = require("../../../../components/Block/Block.vue.cjs");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
6
  const FieldPhone = require("../../../../components/FieldPhone/FieldPhone.vue.cjs");
7
- const Select = require("../../../../components/Select/Select.vue2.cjs");
7
+ const Select = require("../../../../components/Select/Select.vue.cjs");
8
8
  const Button = require("../../../../components/Button/Button.vue.cjs");
9
9
  const _hoisted_1 = { class: "gap-thin mn-b-thin flex-justify-between flex-nowrap flex" };
10
10
  const _hoisted_2 = {
@@ -2,7 +2,7 @@ import { mergeModels, useModel, ref, watch, createBlock, openBlock, withCtx, cre
2
2
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/FieldPhone/FieldPhone.vue.js";
5
- import Select from "../../../../components/Select/Select.vue2.js";
5
+ import Select from "../../../../components/Select/Select.vue.js";
6
6
  import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
7
7
  const _hoisted_1 = { class: "gap-thin mn-b-thin flex-justify-between flex-nowrap flex" };
8
8
  const _hoisted_2 = {
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Button = require("../../../../components/Button/Button.vue.cjs");
6
- const Select = require("../../../../components/Select/Select.vue2.cjs");
6
+ const Select = require("../../../../components/Select/Select.vue.cjs");
7
7
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
8
  const IconTime = require("../../../icons/entities/IconTime.vue.cjs");
9
9
  const CardOrderItem = require("../blocks/CardOrderItem.vue.cjs");
@@ -14,7 +14,6 @@ const PriceTotal = require("../elements/PriceTotal.vue.cjs");
14
14
  const globals = require("../../../globals/views/store/globals.cjs");
15
15
  const auth = require("../../../auth/views/store/auth.cjs");
16
16
  const orders = require("../../store/orders.cjs");
17
- require("../../../products/store/products.cjs");
18
17
  const organizations = require("../../../organizations/store/organizations.cjs");
19
18
  const vueI18n = require("vue-i18n");
20
19
  ;/* empty css */
@@ -1 +1 @@
1
- {"version":3,"file":"OrderBackoffice.vue.cjs","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 mobile:cols-1\">\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 mn-b-thin\">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":["useI18n","useRouter","useRoute","ref","globals.state","auth.state","onMounted","orders.actions","organizations.actions","computed","orders.state","orders.getters"],"mappings":"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"}
1
+ {"version":3,"file":"OrderBackoffice.vue.cjs","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 mobile:cols-1\">\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 mn-b-thin\">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":["useI18n","useRouter","useRoute","ref","globals.state","auth.state","onMounted","orders.actions","organizations.actions","computed","orders.state","orders.getters"],"mappings":"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"}
@@ -1,9 +1,9 @@
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
3
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
4
- import Select from "../../../../components/Select/Select.vue2.js";
4
+ import Select from "../../../../components/Select/Select.vue.js";
5
5
  import _sfc_main$1 from "../../../../components/Popup/Popup.vue.js";
6
- import IconClock from "../../../icons/entities/IconTime.vue.js";
6
+ import IconTime from "../../../icons/entities/IconTime.vue.js";
7
7
  import _sfc_main$3 from "../blocks/CardOrderItem.vue.js";
8
8
  import _sfc_main$5 from "../../../organizations/components/blocks/CardOrganization.vue.js";
9
9
  import _sfc_main$6 from "../../../chats/components/pages/ChatPage.vue.js";
@@ -12,7 +12,6 @@ import _sfc_main$4 from "../elements/PriceTotal.vue.js";
12
12
  import { state } from "../../../globals/views/store/globals.js";
13
13
  import { state as state$1 } from "../../../auth/views/store/auth.js";
14
14
  import { actions, state as state$2, getters, mutations } from "../../store/orders.js";
15
- import "../../../products/store/products.js";
16
15
  import { actions as actions$1 } from "../../../organizations/store/organizations.js";
17
16
  import { useI18n } from "vue-i18n";
18
17
  /* empty css */
@@ -337,7 +336,7 @@ const _sfc_main = {
337
336
  ]),
338
337
  unref(route).meta.context !== "user" && unref(route).meta.context !== "root" ? (openBlock(), createElementBlock("div", _hoisted_24, [
339
338
  createElementVNode("div", _hoisted_25, [
340
- createVNode(IconClock, {
339
+ createVNode(IconTime, {
341
340
  class: "i-semi t-transp",
342
341
  fill: "rgb(var(--black)"
343
342
  }),
@@ -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 \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 mobile:cols-1\">\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 mn-b-thin\">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","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 mobile:cols-1\">\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 mn-b-thin\">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","orders.state","orders.getters"],"mappings":"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"}
@@ -19,7 +19,6 @@ const orders = require("../../store/orders.cjs");
19
19
  const organizations = require("../../../organizations/store/organizations.cjs");
20
20
  const products = require("../../../products/store/products.cjs");
21
21
  const variants_store = require("../../../products/store/variants.store.cjs");
22
- require("../../store/customers.store.cjs");
23
22
  ;/* empty css */
24
23
  const _hoisted_1 = { class: "flex flex-column pd-thin" };
25
24
  const _hoisted_2 = { class: "flex-v-center flex-nowrap flex" };