@ozdao/martyrs 0.2.604 → 0.2.605

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 (833) hide show
  1. package/README.md +2 -2
  2. package/dist/_virtual/dayjs.min.js +1 -1
  3. package/dist/_virtual/weekOfYear.js +1 -1
  4. package/dist/{abac-Blt8bUTL.js → abac-kz5xI99l.js} +1 -0
  5. package/dist/auth.server.js +52 -12
  6. package/dist/builder.js +67 -2
  7. package/dist/chats.server.js +2 -2
  8. package/dist/community.server.js +3 -3
  9. package/dist/core.server.js +2 -2
  10. package/dist/{core.websocket-Cl76z2wT.js → core.websocket-B2FA8gGl.js} +0 -2
  11. package/dist/{crud-BT5FIvQC.js → crud-Cwn0frBP.js} +8 -2
  12. package/dist/events.server.js +4 -4
  13. package/dist/files.server.js +1 -1
  14. package/dist/gallery.server.js +2 -2
  15. package/dist/governance.server.js +10 -10
  16. package/dist/{index-kvBwwb0w.js → index-CPACC651.js} +1 -1
  17. package/dist/inventory.server.js +4 -4
  18. package/dist/{mailing-DT7nbNjZ.js → mailing-BBCidXGr.js} +38 -2
  19. package/dist/marketplace.server.js +2 -2
  20. package/dist/martyrs/dist/martyrs.es3.js +1 -1
  21. package/dist/martyrs/dist/martyrs.es3.js.map +1 -1
  22. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/dayjs.min.js +1 -1
  23. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/dayjs.min.js.map +1 -1
  24. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
  25. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
  26. package/dist/{node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_ → martyrs/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.7_vue@3.5.13}/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +305 -268
  27. package/dist/martyrs/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.7_vue@3.5.13/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -0
  28. package/dist/martyrs/src/components/Address/Address.vue2.js +13 -13
  29. package/dist/martyrs/src/components/Address/Address.vue2.js.map +1 -1
  30. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  31. package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
  32. package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -1
  33. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +150 -143
  34. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  35. package/dist/martyrs/src/components/Chart/Chart.vue.js +296 -0
  36. package/dist/martyrs/src/components/Chart/Chart.vue.js.map +1 -0
  37. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +1 -1
  38. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  39. package/dist/martyrs/src/components/Chips/Chips.vue.js +5 -6
  40. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -1
  41. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +5 -5
  42. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  43. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +2 -2
  44. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  45. package/dist/martyrs/src/components/EditImages/{EditImages.vue2.js → EditImages.vue.js} +6 -6
  46. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -0
  47. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
  48. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  49. package/dist/martyrs/src/components/Field/Field.vue.js +4 -4
  50. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  51. package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js +3 -3
  52. package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js.map +1 -1
  53. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +27 -21
  54. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js.map +1 -1
  55. package/dist/martyrs/src/components/Map/Map.vue.js +20 -16
  56. package/dist/martyrs/src/components/Map/Map.vue.js.map +1 -1
  57. package/dist/martyrs/src/components/Popup/Popup.vue.js +3 -4
  58. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/Radio/Radio.vue.js +12 -10
  60. package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
  61. package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
  62. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
  63. package/dist/martyrs/src/components/Status/Snack.vue.js +1 -1
  64. package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -1
  65. package/dist/martyrs/src/components/Status/Status.vue.js +1 -1
  66. package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
  67. package/dist/martyrs/src/components/Table/Table.vue.js +21 -4
  68. package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
  69. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
  70. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
  71. package/dist/martyrs/src/components/Tree/Tree.vue.js +1 -1
  72. package/dist/martyrs/src/components/Upload/Upload.vue2.js +2 -2
  73. package/dist/martyrs/src/components/Upload/Upload.vue2.js.map +1 -1
  74. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +2 -2
  75. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
  76. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  77. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
  78. package/dist/martyrs/src/modules/auth/auth.client.js +14 -2
  79. package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
  80. package/dist/martyrs/src/modules/auth/views/components/blocks/OtpDialog.vue.js +4 -4
  81. package/dist/martyrs/src/modules/auth/views/components/blocks/OtpDialog.vue.js.map +1 -1
  82. package/dist/martyrs/src/modules/auth/views/components/blocks/PopupAuth.vue.js +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/blocks/PopupAuth.vue.js.map +1 -1
  84. package/dist/martyrs/src/modules/auth/views/components/blocks/SidebarUserCard.vue.js +96 -0
  85. package/dist/martyrs/src/modules/auth/views/components/blocks/SidebarUserCard.vue.js.map +1 -0
  86. package/dist/martyrs/src/modules/auth/views/components/pages/BackofficeUsers.vue.js +337 -0
  87. package/dist/martyrs/src/modules/auth/views/components/pages/BackofficeUsers.vue.js.map +1 -0
  88. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  89. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js.map +1 -1
  90. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +32 -18
  93. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +76 -40
  95. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +6 -5
  97. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +4 -4
  99. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  100. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -1
  101. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  102. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  103. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  104. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +28 -16
  105. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
  106. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  108. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  110. package/dist/martyrs/src/modules/auth/views/middlewares/auth.validation.js +6 -2
  111. package/dist/martyrs/src/modules/auth/views/middlewares/auth.validation.js.map +1 -1
  112. package/dist/martyrs/src/modules/auth/views/router/users.backoffice.router.js +53 -0
  113. package/dist/martyrs/src/modules/auth/views/router/users.backoffice.router.js.map +1 -0
  114. package/dist/martyrs/src/modules/auth/views/store/auth.js +2 -2
  115. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  116. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +179 -253
  117. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  118. package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js +105 -44
  119. package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js.map +1 -1
  120. package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js +11 -5
  121. package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js.map +1 -1
  122. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +1 -1
  123. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
  124. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  125. package/dist/martyrs/src/modules/community/community.client.js +4 -4
  126. package/dist/martyrs/src/modules/community/community.client.js.map +1 -1
  127. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  128. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  129. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +4 -4
  130. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  131. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +2 -2
  132. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/constructor/components/elements/ImageUpload.vue.js +1 -1
  134. package/dist/martyrs/src/modules/constructor/components/elements/ImageUpload.vue.js.map +1 -1
  135. package/dist/martyrs/src/modules/core/core.client.js +18 -16
  136. package/dist/martyrs/src/modules/core/core.client.js.map +1 -1
  137. package/dist/martyrs/src/modules/core/views/classes/core.app.js +25 -6
  138. package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
  139. package/dist/martyrs/src/modules/core/views/classes/module.manager.js +4 -2
  140. package/dist/martyrs/src/modules/core/views/classes/module.manager.js.map +1 -1
  141. package/dist/martyrs/src/modules/core/views/components/blocks/AlertDialog.vue.js +1 -1
  142. package/dist/martyrs/src/modules/core/views/components/blocks/AlertDialog.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js +1 -1
  144. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js.map +1 -1
  145. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSlider.vue.js +132 -0
  146. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSlider.vue.js.map +1 -0
  147. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +3 -3
  148. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/core/views/components/blocks/CardStat.vue.js +6 -28
  150. package/dist/martyrs/src/modules/core/views/components/blocks/CardStat.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/{auth → core}/views/components/blocks/CardUser.vue.js +29 -11
  152. package/dist/martyrs/src/modules/{auth → core}/views/components/blocks/CardUser.vue.js.map +1 -1
  153. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +2 -2
  154. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +41 -26
  156. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  157. package/dist/martyrs/src/modules/core/views/components/elements/OnlineIndicator.vue.js +1 -1
  158. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +2 -1
  159. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
  160. package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js +2 -2
  161. package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js.map +1 -1
  162. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +5 -5
  163. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  164. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js +2 -2
  165. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js.map +1 -1
  166. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js +2 -2
  167. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js.map +1 -1
  168. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +4 -4
  169. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  170. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +1 -1
  171. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
  172. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +2 -2
  173. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  174. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js +3 -3
  175. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -1
  176. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
  177. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  178. package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +6 -6
  179. package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js.map +1 -1
  180. package/dist/martyrs/src/modules/core/views/mixins/mixins.js +14 -1
  181. package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
  182. package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.js +8 -5
  183. package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.js.map +1 -1
  184. package/dist/martyrs/src/modules/core/views/store/core.store.js +4 -0
  185. package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
  186. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +3 -0
  187. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
  188. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  189. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +9 -9
  190. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  191. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  192. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  193. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +1 -1
  194. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +1 -1
  196. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  197. package/dist/martyrs/src/modules/events/events.client.js +4 -4
  198. package/dist/martyrs/src/modules/events/events.client.js.map +1 -1
  199. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  200. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  201. package/dist/martyrs/src/modules/gallery/router/gallery.router.js +3 -3
  202. package/dist/martyrs/src/modules/gallery/router/gallery.router.js.map +1 -1
  203. package/dist/martyrs/src/modules/governance/views/components/blocks/CardInitiativeItem.vue.js +3 -3
  204. package/dist/martyrs/src/modules/governance/views/components/blocks/CardInitiativeItem.vue.js.map +1 -1
  205. package/dist/martyrs/src/modules/governance/views/components/blocks/CardSprintItem.vue.js +4 -4
  206. package/dist/martyrs/src/modules/governance/views/components/blocks/CardSprintItem.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/governance/views/components/blocks/CardTaskItem.vue.js +2 -2
  208. package/dist/martyrs/src/modules/governance/views/components/blocks/CardTaskItem.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/governance/views/components/blocks/CardVotingItem.vue.js +3 -3
  210. package/dist/martyrs/src/modules/governance/views/components/blocks/CardVotingItem.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/governance/views/components/pages/Initiatives.vue.js +3 -3
  212. package/dist/martyrs/src/modules/governance/views/components/pages/Initiatives.vue.js.map +1 -1
  213. package/dist/martyrs/src/modules/governance/views/components/partials/TaskStatusBadge.vue.js +1 -1
  214. package/dist/martyrs/src/modules/governance/views/components/partials/TaskStatusBadge.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/governance/views/components/sections/FormSprintDetails.vue.js +1 -1
  216. package/dist/martyrs/src/modules/governance/views/components/sections/FormSprintDetails.vue.js.map +1 -1
  217. package/dist/martyrs/src/modules/governance/views/components/sections/FormTaskDetails.vue.js +1 -1
  218. package/dist/martyrs/src/modules/governance/views/components/sections/FormTaskDetails.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/governance/views/router/governance.router.js +3 -3
  220. package/dist/martyrs/src/modules/governance/views/router/governance.router.js.map +1 -1
  221. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +2 -2
  222. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/icons/entities/IconApplications.vue.js +32 -0
  224. package/dist/martyrs/src/modules/icons/entities/IconApplications.vue.js.map +1 -0
  225. package/dist/martyrs/src/modules/icons/entities/IconCustomers.vue.js +32 -0
  226. package/dist/martyrs/src/modules/icons/entities/IconCustomers.vue.js.map +1 -0
  227. package/dist/martyrs/src/modules/icons/entities/IconUsers.vue.js +32 -0
  228. package/dist/martyrs/src/modules/icons/entities/IconUsers.vue.js.map +1 -0
  229. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  230. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +2 -2
  232. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  234. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +3 -3
  236. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +290 -173
  238. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  240. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  241. package/dist/martyrs/src/modules/inventory/inventory.client.js +4 -4
  242. package/dist/martyrs/src/modules/inventory/inventory.client.js.map +1 -1
  243. package/dist/martyrs/src/modules/inventory/router/inventory.router.js +15 -0
  244. package/dist/martyrs/src/modules/inventory/router/inventory.router.js.map +1 -1
  245. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +4 -4
  246. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  247. package/dist/martyrs/src/modules/landing/components/sections/SectionFeatures.vue.js +1 -1
  248. package/dist/martyrs/src/modules/landing/components/sections/SectionFeatures.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +3 -3
  250. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
  251. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
  252. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  253. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  254. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  255. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +2 -2
  256. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  257. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js +1 -1
  258. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +2 -2
  260. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
  261. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
  262. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +3 -3
  264. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  265. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +2 -2
  266. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +2 -2
  268. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  269. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +2 -2
  270. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +2 -2
  272. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  273. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +6 -6
  274. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  276. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  277. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  278. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +5 -5
  280. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +3 -3
  282. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +8 -8
  284. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  285. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +5 -5
  286. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +11 -11
  288. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  289. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +3 -3
  290. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +11 -11
  292. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  293. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +4 -4
  294. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +2 -2
  296. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -1
  297. package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js +162 -68
  298. package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js.map +1 -1
  299. package/dist/martyrs/src/modules/notifications/notifications.client.js +181 -17
  300. package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
  301. package/dist/martyrs/src/modules/notifications/router/notifications.backoffice.router.js +21 -0
  302. package/dist/martyrs/src/modules/notifications/router/notifications.backoffice.router.js.map +1 -0
  303. package/dist/martyrs/src/modules/notifications/router/notifications.router.js +13 -42
  304. package/dist/martyrs/src/modules/notifications/router/notifications.router.js.map +1 -1
  305. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +66 -1
  306. package/dist/martyrs/src/modules/notifications/store/notifications.store.js.map +1 -1
  307. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +9 -7
  308. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js.map +1 -1
  309. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +11 -9
  310. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +9 -9
  312. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  313. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +66 -19
  314. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +29 -27
  316. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  317. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +7 -12
  318. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  319. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
  320. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  321. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +4 -4
  322. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  323. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  324. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
  325. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +46 -25
  326. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js.map +1 -1
  327. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +2 -2
  328. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js.map +1 -1
  329. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +54 -38
  330. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js.map +1 -1
  331. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +454 -139
  332. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  333. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +2 -1
  334. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  335. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +141 -68
  336. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  337. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +38 -32
  338. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
  339. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +1 -1
  340. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  341. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +4 -4
  342. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
  343. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  344. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  345. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +167 -95
  346. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
  347. package/dist/martyrs/src/modules/orders/orders.client.js +22 -20
  348. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  349. package/dist/martyrs/src/modules/orders/store/orders.js +3 -5
  350. package/dist/martyrs/src/modules/orders/store/orders.js.map +1 -1
  351. package/dist/martyrs/src/modules/orders/store/shopcart.js +5 -5
  352. package/dist/martyrs/src/modules/orders/store/shopcart.js.map +1 -1
  353. package/dist/martyrs/src/modules/orders/utils/rent-price.js +60 -0
  354. package/dist/martyrs/src/modules/orders/utils/rent-price.js.map +1 -0
  355. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
  356. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +45 -55
  357. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  358. package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.js +1 -1
  359. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
  360. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +2 -2
  361. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js.map +1 -1
  362. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +1 -1
  364. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +3 -3
  365. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  366. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  367. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  368. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  369. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  370. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +2 -2
  371. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  372. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +8 -8
  373. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  374. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +216 -83
  375. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  376. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +35 -25
  377. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  378. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +3 -2
  379. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  380. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  381. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js.map +1 -1
  382. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  383. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  384. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +20 -18
  385. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  386. package/dist/martyrs/src/modules/organizations/organizations.client.js +39 -33
  387. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  388. package/dist/martyrs/src/modules/organizations/router/organizations.backoffice.router.js +81 -0
  389. package/dist/martyrs/src/modules/organizations/router/organizations.backoffice.router.js.map +1 -1
  390. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  391. package/dist/martyrs/src/modules/pages/views/components/pages/Pages.vue.js +1 -1
  392. package/dist/martyrs/src/modules/pages/views/components/pages/Pages.vue.js.map +1 -1
  393. package/dist/martyrs/src/modules/pages/views/router/pages.router.js +2 -2
  394. package/dist/martyrs/src/modules/pages/views/router/pages.router.js.map +1 -1
  395. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  396. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  397. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +2 -2
  398. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  399. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +3 -3
  400. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  401. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +2 -2
  402. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  403. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +3 -3
  404. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  405. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +2 -2
  406. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  407. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +9 -25
  408. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  409. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +34 -17
  410. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  411. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +96 -96
  412. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  413. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  414. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  415. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  416. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  417. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +22 -9
  418. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  419. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  420. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  422. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  423. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  424. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  425. package/dist/martyrs/src/modules/products/router/categories.router.js +2 -2
  426. package/dist/martyrs/src/modules/products/router/categories.router.js.map +1 -1
  427. package/dist/martyrs/src/modules/products/router/products.router.js +17 -3
  428. package/dist/martyrs/src/modules/products/router/products.router.js.map +1 -1
  429. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +11 -10
  430. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
  431. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +197 -81
  432. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
  433. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js +2 -2
  434. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +1 -1
  435. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  436. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js.map +1 -1
  437. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +685 -80
  438. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
  439. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +68 -18
  440. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  441. package/dist/martyrs/src/modules/rents/views/router/rents.router.js +3 -3
  442. package/dist/martyrs/src/modules/rents/views/router/rents.router.js.map +1 -1
  443. package/dist/martyrs/src/modules/rents/views/store/rents.store.js +1 -1
  444. package/dist/martyrs/src/modules/rents/views/store/rents.store.js.map +1 -1
  445. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js +3 -3
  446. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js.map +1 -1
  447. package/dist/martyrs/src/modules/reports/router/reports.router.js +1 -1
  448. package/dist/martyrs/src/modules/reports/router/reports.router.js.map +1 -1
  449. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +5 -5
  450. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  451. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  452. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +3 -3
  453. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  454. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +9 -7
  455. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  456. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +29 -37
  457. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  458. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +8 -8
  459. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
  460. package/dist/martyrs/src/modules/spots/router/spots.router.js +3 -3
  461. package/dist/martyrs/src/modules/spots/router/spots.router.js.map +1 -1
  462. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +3 -3
  463. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
  464. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
  465. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js.map +1 -1
  466. package/dist/martyrs/src/modules/wallet/views/router/wallet.router.js +1 -1
  467. package/dist/martyrs/src/modules/wallet/views/router/wallet.router.js.map +1 -1
  468. package/dist/martyrs.es10.js +59 -57
  469. package/dist/martyrs.es106.js +2 -2
  470. package/dist/martyrs.es11.js +31 -30
  471. package/dist/martyrs.es113.js +22 -166
  472. package/dist/martyrs.es114.js +4 -457
  473. package/dist/martyrs.es115.js +8 -40
  474. package/dist/martyrs.es116.js +166 -9
  475. package/dist/martyrs.es117.js +451 -43
  476. package/dist/martyrs.es118.js +38 -10
  477. package/dist/martyrs.es119.js +9 -44
  478. package/dist/martyrs.es12.js +8 -9
  479. package/dist/martyrs.es120.js +49 -4
  480. package/dist/martyrs.es121.js +10 -127
  481. package/dist/martyrs.es122.js +42 -98
  482. package/dist/martyrs.es123.js +4 -86
  483. package/dist/martyrs.es124.js +120 -29
  484. package/dist/martyrs.es125.js +99 -10
  485. package/dist/martyrs.es126.js +71 -24
  486. package/dist/martyrs.es127.js +37 -8
  487. package/dist/martyrs.es128.js +11 -22
  488. package/dist/martyrs.es129.js +39 -4
  489. package/dist/martyrs.es13.js +22 -19
  490. package/dist/martyrs.es130.js +9 -8
  491. package/dist/martyrs.es131.js +7 -7
  492. package/dist/martyrs.es132.js +2 -2
  493. package/dist/martyrs.es133.js +1 -1
  494. package/dist/martyrs.es135.js +1 -1
  495. package/dist/martyrs.es137.js +1 -1
  496. package/dist/martyrs.es138.js +7 -8
  497. package/dist/martyrs.es139.js +8 -7
  498. package/dist/martyrs.es14.js +2 -2
  499. package/dist/martyrs.es140.js +2 -2
  500. package/dist/martyrs.es144.js +10 -29
  501. package/dist/martyrs.es145.js +29 -10
  502. package/dist/martyrs.es146.js +2 -2
  503. package/dist/martyrs.es147.js +2 -2
  504. package/dist/martyrs.es149.js +1 -1
  505. package/dist/martyrs.es2.js +31 -30
  506. package/dist/martyrs.es22.js +16 -16
  507. package/dist/martyrs.es23.js +8 -8
  508. package/dist/martyrs.es24.js +9 -9
  509. package/dist/martyrs.es26.js +9 -11
  510. package/dist/martyrs.es27.js +9 -9
  511. package/dist/martyrs.es28.js +1 -1
  512. package/dist/martyrs.es29.js +5 -5
  513. package/dist/martyrs.es3.js +1 -1
  514. package/dist/martyrs.es38.js +1 -1
  515. package/dist/martyrs.es4.js +12 -12
  516. package/dist/martyrs.es41.js +34 -224
  517. package/dist/martyrs.es5.js +251 -238
  518. package/dist/martyrs.es61.js +33 -26
  519. package/dist/martyrs.es74.js +7 -7
  520. package/dist/martyrs.es76.js +12 -12
  521. package/dist/martyrs.es8.js +31 -31
  522. package/dist/music.server.js +3 -3
  523. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@2.0.2/node_modules/@googlemaps/js-api-loader/dist/index.js +90 -0
  524. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@2.0.2/node_modules/@googlemaps/js-api-loader/dist/index.js.map +1 -0
  525. package/dist/notifications.server.js +255 -23
  526. package/dist/orders.server.js +674 -136
  527. package/dist/organizations.server.js +11 -6
  528. package/dist/products.server.js +68 -7
  529. package/dist/{queryProcessor-C_5Iipam.js → queryProcessor-B2FCngFP.js} +3 -2
  530. package/dist/rents.server.js +183 -7
  531. package/dist/{socials.schema-DxnnaBgO.js → socials.schema-C3RjkqJv.js} +4 -0
  532. package/dist/spots.server.js +1 -1
  533. package/dist/style.css +292 -204
  534. package/dist/{tickets.controller-DdF85W-i.js → tickets.controller-Dpzf4kQx.js} +1 -1
  535. package/dist/wallet.server.js +2 -2
  536. package/package.json +5 -3
  537. package/src/builder/modes/ssr.rspack.dev.js +2 -0
  538. package/src/builder/rspack/rspack.config.ssr.client.js +58 -1
  539. package/src/builder/ssr/asset-resolver.js +1 -1
  540. package/src/builder/templates/page.js +2 -0
  541. package/src/components/Address/Address.vue +16 -16
  542. package/src/components/Button/Button.vue +0 -1
  543. package/src/components/ButtonSegmented/ButtonSegmented.vue +1 -1
  544. package/src/components/Calendar/Calendar.vue +141 -118
  545. package/src/components/Chart/Chart.vue +216 -0
  546. package/src/components/Checkbox/Checkbox.vue +1 -1
  547. package/src/components/Chips/Chips.vue +4 -5
  548. package/src/components/Countdown/Countdown.vue +5 -5
  549. package/src/components/DatePicker/DatePicker.vue +2 -2
  550. package/src/components/EditImages/EditImages.vue +3 -3
  551. package/src/components/EmptyState/EmptyState.vue +1 -1
  552. package/src/components/Feed/Feed.vue +5 -0
  553. package/src/components/Field/Field.vue +3 -3
  554. package/src/components/FieldDate/FieldDate.vue +2 -2
  555. package/src/components/LocationMarker/LocationMarker.vue +28 -21
  556. package/src/components/Map/Map.vue +20 -15
  557. package/src/components/Popup/Popup.vue +3 -3
  558. package/src/components/Radio/Radio.vue +2 -2
  559. package/src/components/Select/Select.vue +1 -1
  560. package/src/components/Status/Snack.vue +1 -1
  561. package/src/components/Status/Status.vue +1 -1
  562. package/src/components/Table/Table.vue +16 -1
  563. package/src/components/Upload/Upload.vue +1 -1
  564. package/src/components/UploadImage/UploadImage.vue +1 -1
  565. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +1 -1
  566. package/src/jit/rules.js +4 -0
  567. package/src/modules/TASKS.MD +16 -3
  568. package/src/modules/auth/auth.client.js +18 -3
  569. package/src/modules/auth/controllers/routes/users.routes.js +18 -0
  570. package/src/modules/auth/controllers/services/auth.service.js +3 -3
  571. package/src/modules/auth/controllers/services/users.service.js +34 -5
  572. package/src/modules/auth/views/components/blocks/OtpDialog.vue +4 -4
  573. package/src/modules/auth/views/components/blocks/PopupAuth.vue +1 -1
  574. package/src/modules/auth/views/components/blocks/SidebarUserCard.vue +95 -0
  575. package/src/modules/auth/views/components/pages/BackofficeUsers.vue +337 -0
  576. package/src/modules/auth/views/components/pages/Invite.vue +1 -1
  577. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  578. package/src/modules/auth/views/components/pages/ProfileEdit.vue +23 -14
  579. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +45 -26
  580. package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +8 -7
  581. package/src/modules/auth/views/components/pages/ResetPassword.vue +4 -4
  582. package/src/modules/auth/views/components/pages/SignUp.vue +3 -3
  583. package/src/modules/auth/views/components/pages/UserDashboard.vue +8 -5
  584. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  585. package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
  586. package/src/modules/auth/views/middlewares/auth.validation.js +7 -2
  587. package/src/modules/auth/views/router/users.backoffice.router.js +39 -0
  588. package/src/modules/auth/views/store/auth.js +2 -2
  589. package/src/modules/backoffice/components/admin/Backcalls.vue +2 -2
  590. package/src/modules/backoffice/components/admin/Dashboard.sublime-workspace +1 -1
  591. package/src/modules/backoffice/components/admin/FastOrders.vue +3 -3
  592. package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
  593. package/src/modules/backoffice/components/pages/Dashboard.vue +102 -139
  594. package/src/modules/backoffice/configs/navigation.backoffice.config.js +91 -29
  595. package/src/modules/backoffice/router/backoffice.router.js +7 -1
  596. package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
  597. package/src/modules/chats/components/sections/ChatWindow.vue +1 -1
  598. package/src/modules/community/community.client.js +4 -4
  599. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  600. package/src/modules/community/components/layouts/Community.vue +4 -4
  601. package/src/modules/community/components/sections/Comment.vue +1 -1
  602. package/src/modules/constructor/components/elements/ImageUpload.vue +1 -1
  603. package/src/modules/core/TASK.MD +2 -2
  604. package/src/modules/core/controllers/classes/abac/abac.core.js +1 -0
  605. package/src/modules/core/controllers/classes/core.websocket.js +0 -2
  606. package/src/modules/core/controllers/classes/crud/crud.core.js +6 -0
  607. package/src/modules/core/controllers/classes/crud/crud.service.js +6 -0
  608. package/src/modules/core/controllers/utils/mailing.js +35 -26
  609. package/src/modules/core/controllers/utils/queryProcessor.js +4 -2
  610. package/src/modules/core/core.client.js +1 -0
  611. package/src/modules/core/models/schemas/embedding.schema.js +8 -0
  612. package/src/modules/core/models/schemas/socials.schema.js +4 -0
  613. package/src/modules/core/sw.js +448 -0
  614. package/src/modules/core/views/classes/core.app.js +37 -13
  615. package/src/modules/core/views/classes/module.manager.js +3 -1
  616. package/src/modules/core/views/components/blocks/AlertDialog.vue +1 -1
  617. package/src/modules/core/views/components/blocks/BlockSearch.vue +1 -1
  618. package/src/modules/core/views/components/blocks/BlockSlider.vue +96 -0
  619. package/src/modules/core/views/components/blocks/CardHeader.vue +2 -2
  620. package/src/modules/core/views/components/blocks/CardStat.vue +4 -18
  621. package/src/modules/{auth → core}/views/components/blocks/CardUser.vue +45 -20
  622. package/src/modules/core/views/components/blocks/HelpCard.vue +1 -1
  623. package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
  624. package/src/modules/core/views/components/blocks/PopupDateSelector.vue +41 -24
  625. package/src/modules/core/views/components/layouts/Client.vue +1 -1
  626. package/src/modules/core/views/components/pages/404.vue +5 -5
  627. package/src/modules/core/views/components/partials/BottomNavigationBar.vue +5 -5
  628. package/src/modules/core/views/components/partials/CitySelection.vue +2 -2
  629. package/src/modules/core/views/components/partials/Footer.centered.vue +2 -2
  630. package/src/modules/core/views/components/partials/Footer.vue +2 -2
  631. package/src/modules/core/views/components/partials/Header.vue +3 -3
  632. package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
  633. package/src/modules/core/views/components/partials/Navigation.vue +1 -1
  634. package/src/modules/core/views/components/sections/Filters.vue +2 -2
  635. package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
  636. package/src/modules/core/views/components/sections/Walkthrough.vue +6 -6
  637. package/src/modules/core/views/mixins/mixins.js +17 -0
  638. package/src/modules/core/views/plugins/date-picker.plugin.js +8 -5
  639. package/src/modules/core/views/store/core.store.js +5 -0
  640. package/src/modules/core/views/utils/vue-app-renderer.js +5 -0
  641. package/src/modules/events/components/pages/EditEventTickets.vue +9 -9
  642. package/src/modules/events/components/pages/Event.vue +2 -2
  643. package/src/modules/events/components/sections/EditTickets.vue +1 -1
  644. package/src/modules/events/components/sections/SelectDate.vue +1 -1
  645. package/src/modules/events/events.client.js +4 -4
  646. package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
  647. package/src/modules/gallery/router/gallery.router.js +3 -3
  648. package/src/modules/governance/middlewares/sprints.verifier.js +3 -3
  649. package/src/modules/governance/middlewares/tasks.verifier.js +3 -3
  650. package/src/modules/governance/models/sprint.model.js +1 -1
  651. package/src/modules/governance/models/task.model.js +1 -1
  652. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
  653. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +3 -3
  654. package/src/modules/governance/views/components/blocks/CardSprintItem.vue +4 -4
  655. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +2 -2
  656. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +3 -3
  657. package/src/modules/governance/views/components/pages/Initiatives.vue +3 -3
  658. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +1 -1
  659. package/src/modules/governance/views/components/sections/FormSprintDetails.vue +1 -1
  660. package/src/modules/governance/views/components/sections/FormTaskDetails.vue +1 -1
  661. package/src/modules/governance/views/router/governance.router.js +3 -3
  662. package/src/modules/icons/components/IconSearchPopup.vue +1 -1
  663. package/src/modules/icons/entities/IconApplications.vue +14 -0
  664. package/src/modules/icons/entities/IconCustomers.vue +14 -0
  665. package/src/modules/icons/entities/IconUsers.vue +14 -0
  666. package/src/modules/inventory/components/forms/AdjustmentForm.vue +2 -2
  667. package/src/modules/inventory/components/forms/ColumnSettingsMenu.vue +2 -2
  668. package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
  669. package/src/modules/inventory/components/forms/StockAlertsForm.vue +3 -3
  670. package/src/modules/inventory/components/pages/Inventory.vue +278 -159
  671. package/src/modules/inventory/components/pages/InventoryEdit.vue +2 -2
  672. package/src/modules/inventory/inventory.client.js +4 -4
  673. package/src/modules/inventory/models/stock.audit.model.js +1 -1
  674. package/src/modules/inventory/router/inventory.router.js +12 -0
  675. package/src/modules/landing/components/sections/SectionEarn.vue +3 -3
  676. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  677. package/src/modules/landing/components/sections/SectionFeatures.vue +1 -1
  678. package/src/modules/landing/components/sections/SectionFeaturesImages.vue +2 -2
  679. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  680. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  681. package/src/modules/landing/components/sections/SectionHeroVideo.vue +1 -1
  682. package/src/modules/landing/components/sections/SectionMobileApp.vue +2 -2
  683. package/src/modules/landing/components/sections/SectionOverview.vue +1 -1
  684. package/src/modules/landing/components/sections/SectionRoadmap.vue +1 -1
  685. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
  686. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +2 -2
  687. package/src/modules/music/components/SidebarMusic.vue +1 -1
  688. package/src/modules/music/components/cards/AlbumCard.vue +1 -1
  689. package/src/modules/music/components/cards/ArtistCard.vue +1 -1
  690. package/src/modules/music/components/cards/ArtistCardSmall.vue +1 -1
  691. package/src/modules/music/components/cards/PlaylistCard.vue +1 -1
  692. package/src/modules/music/components/cards/TrackListCard.vue +6 -6
  693. package/src/modules/music/components/forms/AlbumForm.vue +2 -2
  694. package/src/modules/music/components/forms/ArtistForm.vue +1 -1
  695. package/src/modules/music/components/forms/PlaylistForm.vue +5 -5
  696. package/src/modules/music/components/forms/TrackForm.vue +3 -3
  697. package/src/modules/music/components/pages/Album.vue +8 -8
  698. package/src/modules/music/components/pages/Artist.vue +5 -5
  699. package/src/modules/music/components/pages/Playlist.vue +11 -11
  700. package/src/modules/music/components/pages/SearchResults.vue +2 -2
  701. package/src/modules/music/components/pages/Track.vue +11 -11
  702. package/src/modules/music/components/player/FullscreenPlayer.vue +3 -3
  703. package/src/modules/music/components/player/TrackProgress.vue +1 -1
  704. package/src/modules/notifications/components/sections/NotificationPreferences.vue +182 -52
  705. package/src/modules/notifications/controllers/notifications.controller.js +242 -17
  706. package/src/modules/notifications/models/notification-preference.model.js +4 -0
  707. package/src/modules/notifications/notifications.client.js +213 -20
  708. package/src/modules/notifications/router/notifications.backoffice.router.js +16 -0
  709. package/src/modules/notifications/router/notifications.router.js +13 -45
  710. package/src/modules/notifications/routes/notifications.routes.js +9 -0
  711. package/src/modules/notifications/services/notification.service.js +33 -9
  712. package/src/modules/notifications/services/telegram.service.js +2 -2
  713. package/src/modules/notifications/services/web-push.service.js +6 -2
  714. package/src/modules/notifications/store/notifications.store.js +69 -0
  715. package/src/modules/orders/components/blocks/CardApplication.vue +9 -6
  716. package/src/modules/orders/components/blocks/CardCustomer.vue +10 -7
  717. package/src/modules/orders/components/blocks/CardOrder.vue +8 -8
  718. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +58 -12
  719. package/src/modules/orders/components/blocks/CardOrderItem.vue +31 -28
  720. package/src/modules/orders/components/blocks/CardOrderUser.vue +7 -12
  721. package/src/modules/orders/components/blocks/CardOrderVar1.vue +3 -3
  722. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
  723. package/src/modules/orders/components/elements/PriceTotal.vue +4 -4
  724. package/src/modules/orders/components/forms/FormApplicationDetails.vue +1 -1
  725. package/src/modules/orders/components/forms/FormSelectCustomer.vue +48 -25
  726. package/src/modules/orders/components/pages/Applications.vue +2 -2
  727. package/src/modules/orders/components/pages/Customers.vue +35 -23
  728. package/src/modules/orders/components/pages/OrderBackoffice.vue +780 -393
  729. package/src/modules/orders/components/pages/OrderCreate.vue +5 -4
  730. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +112 -42
  731. package/src/modules/orders/components/pages/Orders.vue +20 -19
  732. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  733. package/src/modules/orders/components/partials/ShopCart.vue +1 -1
  734. package/src/modules/orders/components/sections/ApplicationDetails.vue +2 -2
  735. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  736. package/src/modules/orders/components/sections/CustomerDetails.vue +130 -64
  737. package/src/modules/orders/controllers/orders.controller.js +463 -134
  738. package/src/modules/orders/middlewares/applications.verifier.js +3 -3
  739. package/src/modules/orders/middlewares/customers.verifier.js +4 -0
  740. package/src/modules/orders/middlewares/orders.verifier.js +187 -0
  741. package/src/modules/orders/models/customer.model.js +2 -0
  742. package/src/modules/orders/models/order.model.js +20 -2
  743. package/src/modules/orders/orders.client.js +21 -19
  744. package/src/modules/orders/routes/applications.routes.js +13 -3
  745. package/src/modules/orders/routes/customers.routes.js +2 -0
  746. package/src/modules/orders/routes/orders.routes.js +46 -4
  747. package/src/modules/orders/store/orders.js +4 -7
  748. package/src/modules/orders/store/shopcart.js +6 -7
  749. package/src/modules/orders/utils/rent-price.js +90 -0
  750. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  751. package/src/modules/organizations/components/blocks/CardOrganization.vue +30 -33
  752. package/src/modules/organizations/components/blocks/EmptyState.vue +1 -1
  753. package/src/modules/organizations/components/blocks/Rating.vue +1 -1
  754. package/src/modules/organizations/components/blocks/Socials.vue +2 -2
  755. package/src/modules/organizations/components/elements/ButtonToggleMembership.vue +1 -1
  756. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +3 -3
  757. package/src/modules/organizations/components/forms/DepartmentForm.vue +1 -1
  758. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  759. package/src/modules/organizations/components/pages/Department.vue +2 -2
  760. package/src/modules/organizations/components/pages/DepartmentEdit.vue +1 -1
  761. package/src/modules/organizations/components/pages/Members.vue +8 -8
  762. package/src/modules/organizations/components/pages/Organization.vue +232 -124
  763. package/src/modules/organizations/components/pages/OrganizationCreate.vue +3 -3
  764. package/src/modules/organizations/components/pages/OrganizationDocuments.vue +1 -1
  765. package/src/modules/organizations/components/pages/OrganizationEdit.vue +15 -6
  766. package/src/modules/organizations/components/pages/Organizations.vue +3 -2
  767. package/src/modules/organizations/components/sections/Documents.vue +1 -1
  768. package/src/modules/organizations/components/sections/MembersAdd.vue +2 -2
  769. package/src/modules/organizations/configs/navigation.organization.config.js +34 -26
  770. package/src/modules/organizations/controllers/organizations.controller.js +8 -3
  771. package/src/modules/organizations/models/organization.model.js +1 -0
  772. package/src/modules/organizations/organizations.client.js +39 -33
  773. package/src/modules/organizations/router/organizations.backoffice.router.js +67 -0
  774. package/src/modules/pages/views/components/pages/Pages.vue +1 -1
  775. package/src/modules/pages/views/router/pages.router.js +2 -2
  776. package/src/modules/products/components/blocks/CardPosition.vue +2 -2
  777. package/src/modules/products/components/blocks/CardProduct.vue +2 -2
  778. package/src/modules/products/components/blocks/ProductDiscounts.vue +1 -1
  779. package/src/modules/products/components/blocks/ProductImages.vue +1 -1
  780. package/src/modules/products/components/blocks/ProductVariants.vue +3 -3
  781. package/src/modules/products/components/elements/Price.vue +2 -2
  782. package/src/modules/products/components/forms/ColumnSettingsMenu.vue +2 -2
  783. package/src/modules/products/components/forms/ReorderSettingsForm.vue +3 -3
  784. package/src/modules/products/components/forms/StockAuditForm.vue +2 -2
  785. package/src/modules/products/components/forms/StockHistoryView.vue +1 -1
  786. package/src/modules/products/components/pages/Categories.vue +9 -20
  787. package/src/modules/products/components/pages/ProductEdit.vue +19 -3
  788. package/src/modules/products/components/pages/Products.vue +20 -19
  789. package/src/modules/products/components/sections/EditAttributes.vue +1 -1
  790. package/src/modules/products/components/sections/EditCategories.vue +1 -1
  791. package/src/modules/products/components/sections/EditDiscounts.vue +2 -2
  792. package/src/modules/products/components/sections/EditVariants.vue +14 -2
  793. package/src/modules/products/components/sections/FilterProducts.vue +1 -1
  794. package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
  795. package/src/modules/products/components/sections/SectionProduct.vue +3 -3
  796. package/src/modules/products/controllers/products.controller.js +50 -5
  797. package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +2 -2
  798. package/src/modules/products/models/product.model.js +7 -0
  799. package/src/modules/products/models/variant.model.js +4 -0
  800. package/src/modules/products/router/categories.router.js +2 -2
  801. package/src/modules/products/router/products.router.js +14 -3
  802. package/src/modules/rents/controllers/routes/rents.routes.js +11 -0
  803. package/src/modules/rents/controllers/services/rents.services.js +193 -2
  804. package/src/modules/rents/models/rent.model.js +9 -0
  805. package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +28 -11
  806. package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +200 -40
  807. package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +2 -2
  808. package/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue +2 -2
  809. package/src/modules/rents/views/components/pages/Rents.vue +641 -142
  810. package/src/modules/rents/views/components/pages/RentsEdit.vue +44 -4
  811. package/src/modules/rents/views/router/rents.router.js +3 -3
  812. package/src/modules/rents/views/store/rents.store.js +1 -1
  813. package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
  814. package/src/modules/reports/router/reports.router.js +1 -1
  815. package/src/modules/spots/components/blocks/CardSpot.vue +6 -6
  816. package/src/modules/spots/components/pages/Spot.vue +2 -2
  817. package/src/modules/spots/components/pages/SpotEdit.vue +8 -6
  818. package/src/modules/spots/components/pages/Spots.vue +18 -24
  819. package/src/modules/spots/components/sections/WorktimeEdit.vue +7 -7
  820. package/src/modules/spots/router/spots.router.js +3 -3
  821. package/src/modules/wallet/views/components/blocks/CashDeposit.vue +1 -1
  822. package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +3 -3
  823. package/src/modules/wallet/views/components/pages/Payments.vue +1 -1
  824. package/src/modules/wallet/views/components/pages/Wallet.vue +4 -4
  825. package/src/modules/wallet/views/router/wallet.router.js +1 -1
  826. package/src/styles/layout.scss +1 -1
  827. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +0 -1
  828. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +0 -1
  829. package/dist/martyrs/src/modules/icons/entities/IconCash.vue.js +0 -70
  830. package/dist/martyrs/src/modules/icons/entities/IconCash.vue.js.map +0 -1
  831. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js +0 -336
  832. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js.map +0 -1
  833. 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
@@ -1,4 +1,4 @@
1
- import { ref, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createVNode, withCtx, toDisplayString, unref, normalizeClass, Fragment, renderList, createBlock } from "vue";
1
+ import { ref, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createBlock, unref, withCtx, createVNode, toDisplayString, normalizeClass, Fragment, renderList } from "vue";
2
2
  import _sfc_main$4 from "../../../../../components/Block/Block.vue.js";
3
3
  import _sfc_main$5 from "../../../../../components/Feed/Feed.vue.js";
4
4
  import Table from "../../../../../components/Table/Table.vue.js";
@@ -21,14 +21,17 @@ const _hoisted_8 = { class: "h2 fw-semi" };
21
21
  const _hoisted_9 = { class: "flex flex-v-center gap-small mn-b-small" };
22
22
  const _hoisted_10 = { class: "radius-small bg-main flex flex-center" };
23
23
  const _hoisted_11 = { class: "h2 fw-semi" };
24
- const _hoisted_12 = { class: "cols-2 mobile:cols-1 gap-small" };
24
+ const _hoisted_12 = {
25
+ key: 0,
26
+ class: "cols-2 mobile:cols-1 gap-small"
27
+ };
25
28
  const _hoisted_13 = { class: "t-dark fw-medium" };
26
29
  const _hoisted_14 = { class: "t-dark" };
27
30
  const _hoisted_15 = { class: "t-dark t-small" };
28
31
  const _sfc_main = {
29
32
  __name: "UserDashboard",
30
33
  setup(__props) {
31
- const { formatDate } = useGlobalMixins();
34
+ const { formatDate, isModuleInstalled } = useGlobalMixins();
32
35
  const stats = ref({
33
36
  organizations: 0,
34
37
  orders: 0,
@@ -46,7 +49,7 @@ const _sfc_main = {
46
49
  pending: "bg-second-transp t-second",
47
50
  processing: "bg-main-transp t-main",
48
51
  completed: "bg-green-transp t-green",
49
- cancelled: "bg-red-transp t-red"
52
+ canceled: "bg-red-transp t-red"
50
53
  };
51
54
  return classes[status] || "bg-light t-dark";
52
55
  };
@@ -83,7 +86,8 @@ const _sfc_main = {
83
86
  return openBlock(), createElementBlock("div", _hoisted_1, [
84
87
  _cache[3] || (_cache[3] = createElementVNode("h2", { class: "mn-b-medium" }, "Overview", -1)),
85
88
  createElementVNode("div", _hoisted_2, [
86
- createVNode(_component_router_link, {
89
+ unref(isModuleInstalled)("organizations") ? (openBlock(), createBlock(_component_router_link, {
90
+ key: 0,
87
91
  to: `/users/${state.user._id}/organizations`,
88
92
  class: "d-block bg-light pd-medium radius-medium hover-scale-1 transition-default"
89
93
  }, {
@@ -100,8 +104,9 @@ const _sfc_main = {
100
104
  createElementVNode("p", _hoisted_5, toDisplayString(stats.value.organizations || 0), 1)
101
105
  ]),
102
106
  _: 1
103
- }, 8, ["to"]),
104
- createVNode(_component_router_link, {
107
+ }, 8, ["to"])) : createCommentVNode("", true),
108
+ unref(isModuleInstalled)("orders") ? (openBlock(), createBlock(_component_router_link, {
109
+ key: 1,
105
110
  to: `/users/${state.user._id}/orders`,
106
111
  class: "d-block bg-light pd-medium radius-medium hover-scale-1 transition-default"
107
112
  }, {
@@ -118,8 +123,9 @@ const _sfc_main = {
118
123
  createElementVNode("p", _hoisted_8, toDisplayString(stats.value.orders || 0), 1)
119
124
  ]),
120
125
  _: 1
121
- }, 8, ["to"]),
122
- createVNode(_component_router_link, {
126
+ }, 8, ["to"])) : createCommentVNode("", true),
127
+ unref(isModuleInstalled)("events") ? (openBlock(), createBlock(_component_router_link, {
128
+ key: 2,
123
129
  to: `/users/${state.user._id}/events`,
124
130
  class: "d-block bg-light pd-medium radius-medium hover-scale-1 transition-default"
125
131
  }, {
@@ -136,10 +142,13 @@ const _sfc_main = {
136
142
  createElementVNode("p", _hoisted_11, toDisplayString(stats.value.events || 0), 1)
137
143
  ]),
138
144
  _: 1
139
- }, 8, ["to"])
145
+ }, 8, ["to"])) : createCommentVNode("", true)
140
146
  ]),
141
- createElementVNode("div", _hoisted_12, [
142
- createVNode(_sfc_main$4, { title: "Recent Orders" }, {
147
+ unref(isModuleInstalled)("orders") || unref(isModuleInstalled)("events") ? (openBlock(), createElementBlock("div", _hoisted_12, [
148
+ unref(isModuleInstalled)("orders") ? (openBlock(), createBlock(_sfc_main$4, {
149
+ key: 0,
150
+ title: "Recent Orders"
151
+ }, {
143
152
  default: withCtx(() => [
144
153
  createVNode(_sfc_main$5, {
145
154
  showLoadMore: false,
@@ -186,8 +195,11 @@ const _sfc_main = {
186
195
  }, 8, ["store", "options"])
187
196
  ]),
188
197
  _: 1
189
- }),
190
- createVNode(_sfc_main$4, { title: "Upcoming Events" }, {
198
+ })) : createCommentVNode("", true),
199
+ unref(isModuleInstalled)("events") ? (openBlock(), createBlock(_sfc_main$4, {
200
+ key: 1,
201
+ title: "Upcoming Events"
202
+ }, {
191
203
  default: withCtx(() => [
192
204
  createVNode(_sfc_main$5, {
193
205
  showLoadMore: false,
@@ -235,8 +247,8 @@ const _sfc_main = {
235
247
  }, 8, ["store", "options"])
236
248
  ]),
237
249
  _: 1
238
- })
239
- ])
250
+ })) : createCommentVNode("", true)
251
+ ])) : createCommentVNode("", true)
240
252
  ]);
241
253
  };
242
254
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UserDashboard.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/UserDashboard.vue"],"sourcesContent":["<template>\n\t<div class=\"pd-medium\">\n\t\t<h2 class=\"mn-b-medium\">Overview</h2>\n\n\t\t<!-- Stats Cards -->\n\t\t<div class=\"mn-b-medium cols-3 mobile:cols-1 gap-small\">\n\t\t\t<router-link\n\t\t\t\t:to=\"`/users/${auth.state.user._id}/organizations`\"\n\t\t\t\tclass=\"d-block bg-light pd-medium radius-medium hover-scale-1 transition-default\"\n\t\t\t>\n\t\t\t\t<div class=\"flex flex-v-center gap-small mn-b-small\">\n\t\t\t\t\t<div class=\"radius-small bg-main flex flex-center\">\n\t\t\t\t\t\t<IconGroups class=\"i-medium mn-small\" :fill=\"'rgb(var(--white))'\"/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"t-dark t-small\">My Groups</span>\n\t\t\t\t</div>\n\t\t\t\t<p class=\"h2 fw-semi\">{{ stats.organizations || 0 }}</p>\n\t\t\t</router-link>\n\n\t\t\t<router-link\n\t\t\t\t:to=\"`/users/${auth.state.user._id}/orders`\"\n\t\t\t\tclass=\"d-block bg-light pd-medium radius-medium hover-scale-1 transition-default\"\n\t\t\t>\n\t\t\t\t<div class=\"flex flex-v-center gap-small mn-b-small\">\n\t\t\t\t\t<div class=\"radius-small bg-main flex flex-center\">\n\t\t\t\t\t\t<IconOrders class=\"i-medium mn-small\" :fill=\"'rgb(var(--white))'\"/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"t-dark t-small\">My Orders</span>\n\t\t\t\t</div>\n\t\t\t\t<p class=\"h2 fw-semi\">{{ stats.orders || 0 }}</p>\n\t\t\t</router-link>\n\n\t\t\t<router-link\n\t\t\t\t:to=\"`/users/${auth.state.user._id}/events`\"\n\t\t\t\tclass=\"d-block bg-light pd-medium radius-medium hover-scale-1 transition-default\"\n\t\t\t>\n\t\t\t\t<div class=\"flex flex-v-center gap-small mn-b-small\">\n\t\t\t\t\t<div class=\"radius-small bg-main flex flex-center\">\n\t\t\t\t\t\t<IconEvents class=\"i-medium mn-small\" :fill=\"'rgb(var(--white))'\"/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"t-dark t-small\">My Events</span>\n\t\t\t\t</div>\n\t\t\t\t<p class=\"h2 fw-semi\">{{ stats.events || 0 }}</p>\n\t\t\t</router-link>\n\t\t</div>\n\n\t\t<!-- Content Grid -->\n\t\t<div class=\"cols-2 mobile:cols-1 gap-small\">\n\t\t\t<!-- Recent Orders -->\n\t\t\t<Block title=\"Recent Orders\">\n\t\t\t\t<Feed\n\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t:states=\"{\n\t\t\t\t\t\tempty: {\n\t\t\t\t\t\t\ttitle: 'No Orders',\n\t\t\t\t\t\t\tdescription: 'You have no orders yet.'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t:store=\"{\n\t\t\t\t\t\tread: (options) => orders.actions.read(options),\n\t\t\t\t\t\tstate: orders.state\n\t\t\t\t\t}\"\n\t\t\t\t\t:options=\"{\n\t\t\t\t\t\tcustomer: auth.state.user._id,\n\t\t\t\t\t\tlimit: 5,\n\t\t\t\t\t\tpage: 1\n\t\t\t\t\t}\"\n\t\t\t\t\tv-slot=\"{ items }\"\n\t\t\t\t>\n\t\t\t\t\t<Table\n\t\t\t\t\t\tclass=\"radius-small bg-white\"\n\t\t\t\t\t\t:items=\"items\"\n\t\t\t\t\t\t:columns=\"orderColumns\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template #cell-_id=\"{ value }\">\n\t\t\t\t\t\t\t<span class=\"t-dark fw-medium\">#{{ formatId(value) }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #cell-positions=\"{ value }\">\n\t\t\t\t\t\t\t<span class=\"t-dark\">{{ value?.length || 0 }} items</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #cell-status=\"{ value }\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclass=\"pd-thin pd-l-small pd-r-small radius-small t-small fw-medium\"\n\t\t\t\t\t\t\t\t:class=\"getStatusClass(value)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ value }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #cell-createdAt=\"{ value }\">\n\t\t\t\t\t\t\t<span class=\"t-dark t-small\">{{ formatDate(value, { dateOnly: true }) }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</Table>\n\t\t\t\t</Feed>\n\t\t\t</Block>\n\n\t\t\t<!-- Upcoming Events -->\n\t\t\t<Block title=\"Upcoming Events\">\n\t\t\t\t<Feed\n\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t:states=\"{\n\t\t\t\t\t\tempty: {\n\t\t\t\t\t\t\ttitle: 'No Events',\n\t\t\t\t\t\t\tdescription: 'You have no upcoming events.'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t:store=\"{\n\t\t\t\t\t\tread: (options) => events.read(options)\n\t\t\t\t\t}\"\n\t\t\t\t\t:options=\"{\n\t\t\t\t\t\tcreator: auth.state.user._id,\n\t\t\t\t\t\tsortParam: 'date.start',\n\t\t\t\t\t\tsortOrder: 'asc',\n\t\t\t\t\t\tlimit: 5,\n\t\t\t\t\t\tpage: 1\n\t\t\t\t\t}\"\n\t\t\t\t\tv-slot=\"{ items }\"\n\t\t\t\t\tclass=\"flex flex-column gap-thin\"\n\t\t\t\t>\n\t\t\t\t\t<Card\n\t\t\t\t\t\tv-for=\"event in items\"\n\t\t\t\t\t\t:key=\"event._id\"\n\t\t\t\t\t\t:to=\"`/events/${event.url || event._id}`\"\n\t\t\t\t\t\t:photo=\"event.cover\"\n\t\t\t\t\t\t:placeholder=\"IconEvents\"\n\t\t\t\t\t\t:title=\"event.name\"\n\t\t\t\t\t\t:subtitle=\"formatDate(event.date?.start, { dateOnly: true })\"\n\t\t\t\t\t\tclassImage=\"flex-none w-3r h-3r radius-small bg-main-transp flex flex-center o-hidden\"\n\t\t\t\t\t\tclassContent=\"flex-child o-hidden\"\n\t\t\t\t\t\tclass=\"bg-white pd-small radius-small hover-scale-1 transition-default flex flex-v-center gap-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template #actions>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclass=\"flex-none pd-thin pd-l-small pd-r-small radius-small t-small fw-medium\"\n\t\t\t\t\t\t\t\t:class=\"getEventStatusClass(event.date)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ getEventStatus(event.date) }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</Card>\n\t\t\t\t</Feed>\n\t\t\t</Block>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue'\n\nimport Block from '@martyrs/src/components/Block/Block.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport Table from '@martyrs/src/components/Table/Table.vue'\nimport Card from '@martyrs/src/modules/core/views/components/blocks/Card.vue'\n\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\n\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as orders from '@martyrs/src/modules/orders/store/orders.js'\nimport * as events from '@martyrs/src/modules/events/store/events.js'\n\nconst { formatDate } = useGlobalMixins()\n\nconst stats = ref({\n\torganizations: 0,\n\torders: 0,\n\tevents: 0\n})\n\nconst orderColumns = [\n\t{ key: '_id', label: 'Order' },\n\t{ key: 'positions', label: 'Items' },\n\t{ key: 'status', label: 'Status' },\n\t{ key: 'createdAt', label: 'Date' }\n]\n\nconst formatId = (id) => id ? `${id.slice(0, 4)}...${id.slice(-4)}` : ''\n\nconst getStatusClass = (status) => {\n\tconst classes = {\n\t\tpending: 'bg-second-transp t-second',\n\t\tprocessing: 'bg-main-transp t-main',\n\t\tcompleted: 'bg-green-transp t-green',\n\t\tcancelled: 'bg-red-transp t-red'\n\t}\n\treturn classes[status] || 'bg-light t-dark'\n}\n\nconst getEventStatus = (date) => {\n\tif (!date?.start) return 'No date'\n\tconst now = new Date()\n\tconst start = new Date(date.start)\n\tconst end = date.end ? new Date(date.end) : start\n\tif (now > end) return 'Finished'\n\tif (now >= start && now <= end) return 'Live'\n\tconst diffDays = Math.ceil((start - now) / (1000 * 60 * 60 * 24))\n\tif (diffDays <= 1) return 'Tomorrow'\n\tif (diffDays <= 7) return `In ${diffDays} days`\n\treturn 'Upcoming'\n}\n\nconst getEventStatusClass = (date) => {\n\tconst status = getEventStatus(date)\n\tif (status === 'Finished') return 'bg-light t-dark'\n\tif (status === 'Live') return 'bg-green-transp t-green'\n\tif (status === 'Tomorrow') return 'bg-second-transp t-second'\n\treturn 'bg-main-transp t-main'\n}\n\nonMounted(async () => {\n\t// Load stats\n\ttry {\n\t\tconst [orgsData, ordersData, eventsData] = await Promise.all([\n\t\t\t// Load counts if needed\n\t\t])\n\t} catch (e) {\n\t\tconsole.error('Failed to load dashboard stats:', e)\n\t}\n})\n</script>\n\n<style lang=\"scss\">\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkKA,UAAM,EAAE,WAAU,IAAK,gBAAe;AAEtC,UAAM,QAAQ,IAAI;AAAA,MACjB,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,QAAQ;AAAA,IACT,CAAC;AAED,UAAM,eAAe;AAAA,MACpB,EAAE,KAAK,OAAO,OAAO,QAAO;AAAA,MAC5B,EAAE,KAAK,aAAa,OAAO,QAAO;AAAA,MAClC,EAAE,KAAK,UAAU,OAAO,SAAQ;AAAA,MAChC,EAAE,KAAK,aAAa,OAAO,OAAM;AAAA,IAClC;AAEA,UAAM,WAAW,CAAC,OAAO,KAAK,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK;AAEtE,UAAM,iBAAiB,CAAC,WAAW;AAClC,YAAM,UAAU;AAAA,QACf,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AACC,aAAO,QAAQ,MAAM,KAAK;AAAA,IAC3B;AAEA,UAAM,iBAAiB,CAAC,SAAS;AAChC,UAAI,CAAC,MAAM,MAAO,QAAO;AACzB,YAAM,MAAM,oBAAI,KAAI;AACpB,YAAM,QAAQ,IAAI,KAAK,KAAK,KAAK;AACjC,YAAM,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI;AAC5C,UAAI,MAAM,IAAK,QAAO;AACtB,UAAI,OAAO,SAAS,OAAO,IAAK,QAAO;AACvC,YAAM,WAAW,KAAK,MAAM,QAAQ,QAAQ,MAAO,KAAK,KAAK,GAAG;AAChE,UAAI,YAAY,EAAG,QAAO;AAC1B,UAAI,YAAY,EAAG,QAAO,MAAM,QAAQ;AACxC,aAAO;AAAA,IACR;AAEA,UAAM,sBAAsB,CAAC,SAAS;AACrC,YAAM,SAAS,eAAe,IAAI;AAClC,UAAI,WAAW,WAAY,QAAO;AAClC,UAAI,WAAW,OAAQ,QAAO;AAC9B,UAAI,WAAW,WAAY,QAAO;AAClC,aAAO;AAAA,IACR;AAEA,cAAU,YAAY;AAErB,UAAI;AACH,cAAM,CAAC,UAAU,YAAY,UAAU,IAAI,MAAM,QAAQ,IAAI;AAAA;AAAA,QAE/D,CAAG;AAAA,MACF,SAAS,GAAG;AACX,gBAAQ,MAAM,mCAAmC,CAAC;AAAA,MACnD;AAAA,IACD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"UserDashboard.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/UserDashboard.vue"],"sourcesContent":["<template>\n\t<div class=\"pd-medium\">\n\t\t<h2 class=\"mn-b-medium\">Overview</h2>\n\n\t\t<!-- Stats Cards -->\n\t\t<div class=\"mn-b-medium cols-3 mobile:cols-1 gap-small\">\n\t\t\t<router-link\n\t\t\t\tv-if=\"isModuleInstalled('organizations')\"\n\t\t\t\t:to=\"`/users/${auth.state.user._id}/organizations`\"\n\t\t\t\tclass=\"d-block bg-light pd-medium radius-medium hover-scale-1 transition-default\"\n\t\t\t>\n\t\t\t\t<div class=\"flex flex-v-center gap-small mn-b-small\">\n\t\t\t\t\t<div class=\"radius-small bg-main flex flex-center\">\n\t\t\t\t\t\t<IconGroups class=\"i-medium mn-small\" :fill=\"'rgb(var(--white))'\"/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"t-dark t-small\">My Groups</span>\n\t\t\t\t</div>\n\t\t\t\t<p class=\"h2 fw-semi\">{{ stats.organizations || 0 }}</p>\n\t\t\t</router-link>\n\n\t\t\t<router-link\n\t\t\t\tv-if=\"isModuleInstalled('orders')\"\n\t\t\t\t:to=\"`/users/${auth.state.user._id}/orders`\"\n\t\t\t\tclass=\"d-block bg-light pd-medium radius-medium hover-scale-1 transition-default\"\n\t\t\t>\n\t\t\t\t<div class=\"flex flex-v-center gap-small mn-b-small\">\n\t\t\t\t\t<div class=\"radius-small bg-main flex flex-center\">\n\t\t\t\t\t\t<IconOrders class=\"i-medium mn-small\" :fill=\"'rgb(var(--white))'\"/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"t-dark t-small\">My Orders</span>\n\t\t\t\t</div>\n\t\t\t\t<p class=\"h2 fw-semi\">{{ stats.orders || 0 }}</p>\n\t\t\t</router-link>\n\n\t\t\t<router-link\n\t\t\t\tv-if=\"isModuleInstalled('events')\"\n\t\t\t\t:to=\"`/users/${auth.state.user._id}/events`\"\n\t\t\t\tclass=\"d-block bg-light pd-medium radius-medium hover-scale-1 transition-default\"\n\t\t\t>\n\t\t\t\t<div class=\"flex flex-v-center gap-small mn-b-small\">\n\t\t\t\t\t<div class=\"radius-small bg-main flex flex-center\">\n\t\t\t\t\t\t<IconEvents class=\"i-medium mn-small\" :fill=\"'rgb(var(--white))'\"/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<span class=\"t-dark t-small\">My Events</span>\n\t\t\t\t</div>\n\t\t\t\t<p class=\"h2 fw-semi\">{{ stats.events || 0 }}</p>\n\t\t\t</router-link>\n\t\t</div>\n\n\t\t<!-- Content Grid -->\n\t\t<div v-if=\"isModuleInstalled('orders') || isModuleInstalled('events')\" class=\"cols-2 mobile:cols-1 gap-small\">\n\t\t\t<!-- Recent Orders -->\n\t\t\t<Block v-if=\"isModuleInstalled('orders')\" title=\"Recent Orders\">\n\t\t\t\t<Feed\n\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t:states=\"{\n\t\t\t\t\t\tempty: {\n\t\t\t\t\t\t\ttitle: 'No Orders',\n\t\t\t\t\t\t\tdescription: 'You have no orders yet.'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t:store=\"{\n\t\t\t\t\t\tread: (options) => orders.actions.read(options),\n\t\t\t\t\t\tstate: orders.state\n\t\t\t\t\t}\"\n\t\t\t\t\t:options=\"{\n\t\t\t\t\t\tcustomer: auth.state.user._id,\n\t\t\t\t\t\tlimit: 5,\n\t\t\t\t\t\tpage: 1\n\t\t\t\t\t}\"\n\t\t\t\t\tv-slot=\"{ items }\"\n\t\t\t\t>\n\t\t\t\t\t<Table\n\t\t\t\t\t\tclass=\"radius-small bg-white\"\n\t\t\t\t\t\t:items=\"items\"\n\t\t\t\t\t\t:columns=\"orderColumns\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template #cell-_id=\"{ value }\">\n\t\t\t\t\t\t\t<span class=\"t-dark fw-medium\">#{{ formatId(value) }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #cell-positions=\"{ value }\">\n\t\t\t\t\t\t\t<span class=\"t-dark\">{{ value?.length || 0 }} items</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #cell-status=\"{ value }\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclass=\"pd-thin pd-l-small pd-r-small radius-small t-small fw-medium\"\n\t\t\t\t\t\t\t\t:class=\"getStatusClass(value)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ value }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #cell-createdAt=\"{ value }\">\n\t\t\t\t\t\t\t<span class=\"t-dark t-small\">{{ formatDate(value, { dateOnly: true }) }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</Table>\n\t\t\t\t</Feed>\n\t\t\t</Block>\n\n\t\t\t<!-- Upcoming Events -->\n\t\t\t<Block v-if=\"isModuleInstalled('events')\" title=\"Upcoming Events\">\n\t\t\t\t<Feed\n\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t:states=\"{\n\t\t\t\t\t\tempty: {\n\t\t\t\t\t\t\ttitle: 'No Events',\n\t\t\t\t\t\t\tdescription: 'You have no upcoming events.'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\"\n\t\t\t\t\t:store=\"{\n\t\t\t\t\t\tread: (options) => events.read(options)\n\t\t\t\t\t}\"\n\t\t\t\t\t:options=\"{\n\t\t\t\t\t\tcreator: auth.state.user._id,\n\t\t\t\t\t\tsortParam: 'date.start',\n\t\t\t\t\t\tsortOrder: 'asc',\n\t\t\t\t\t\tlimit: 5,\n\t\t\t\t\t\tpage: 1\n\t\t\t\t\t}\"\n\t\t\t\t\tv-slot=\"{ items }\"\n\t\t\t\t\tclass=\"flex flex-column gap-thin\"\n\t\t\t\t>\n\t\t\t\t\t<Card\n\t\t\t\t\t\tv-for=\"event in items\"\n\t\t\t\t\t\t:key=\"event._id\"\n\t\t\t\t\t\t:to=\"`/events/${event.url || event._id}`\"\n\t\t\t\t\t\t:photo=\"event.cover\"\n\t\t\t\t\t\t:placeholder=\"IconEvents\"\n\t\t\t\t\t\t:title=\"event.name\"\n\t\t\t\t\t\t:subtitle=\"formatDate(event.date?.start, { dateOnly: true })\"\n\t\t\t\t\t\tclassImage=\"flex-none w-3r h-3r radius-small bg-main-transp flex flex-center o-hidden\"\n\t\t\t\t\t\tclassContent=\"flex-child o-hidden\"\n\t\t\t\t\t\tclass=\"bg-white pd-small radius-small hover-scale-1 transition-default flex flex-v-center gap-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template #actions>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclass=\"flex-none pd-thin pd-l-small pd-r-small radius-small t-small fw-medium\"\n\t\t\t\t\t\t\t\t:class=\"getEventStatusClass(event.date)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ getEventStatus(event.date) }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</Card>\n\t\t\t\t</Feed>\n\t\t\t</Block>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue'\n\nimport Block from '@martyrs/src/components/Block/Block.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport Table from '@martyrs/src/components/Table/Table.vue'\nimport Card from '@martyrs/src/modules/core/views/components/blocks/Card.vue'\n\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\n\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as orders from '@martyrs/src/modules/orders/store/orders.js'\nimport * as events from '@martyrs/src/modules/events/store/events.js'\n\nconst { formatDate, isModuleInstalled } = useGlobalMixins()\n\nconst stats = ref({\n\torganizations: 0,\n\torders: 0,\n\tevents: 0\n})\n\nconst orderColumns = [\n\t{ key: '_id', label: 'Order' },\n\t{ key: 'positions', label: 'Items' },\n\t{ key: 'status', label: 'Status' },\n\t{ key: 'createdAt', label: 'Date' }\n]\n\nconst formatId = (id) => id ? `${id.slice(0, 4)}...${id.slice(-4)}` : ''\n\nconst getStatusClass = (status) => {\n\tconst classes = {\n\t\tpending: 'bg-second-transp t-second',\n\t\tprocessing: 'bg-main-transp t-main',\n\t\tcompleted: 'bg-green-transp t-green',\n\t\tcanceled: 'bg-red-transp t-red'\n\t}\n\treturn classes[status] || 'bg-light t-dark'\n}\n\nconst getEventStatus = (date) => {\n\tif (!date?.start) return 'No date'\n\tconst now = new Date()\n\tconst start = new Date(date.start)\n\tconst end = date.end ? new Date(date.end) : start\n\tif (now > end) return 'Finished'\n\tif (now >= start && now <= end) return 'Live'\n\tconst diffDays = Math.ceil((start - now) / (1000 * 60 * 60 * 24))\n\tif (diffDays <= 1) return 'Tomorrow'\n\tif (diffDays <= 7) return `In ${diffDays} days`\n\treturn 'Upcoming'\n}\n\nconst getEventStatusClass = (date) => {\n\tconst status = getEventStatus(date)\n\tif (status === 'Finished') return 'bg-light t-dark'\n\tif (status === 'Live') return 'bg-green-transp t-green'\n\tif (status === 'Tomorrow') return 'bg-second-transp t-second'\n\treturn 'bg-main-transp t-main'\n}\n\nonMounted(async () => {\n\t// Load stats\n\ttry {\n\t\tconst [orgsData, ordersData, eventsData] = await Promise.all([\n\t\t\t// Load counts if needed\n\t\t])\n\t} catch (e) {\n\t\tconsole.error('Failed to load dashboard stats:', e)\n\t}\n})\n</script>\n\n<style lang=\"scss\">\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqKA,UAAM,EAAE,YAAY,kBAAiB,IAAK,gBAAe;AAEzD,UAAM,QAAQ,IAAI;AAAA,MACjB,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,QAAQ;AAAA,IACT,CAAC;AAED,UAAM,eAAe;AAAA,MACpB,EAAE,KAAK,OAAO,OAAO,QAAO;AAAA,MAC5B,EAAE,KAAK,aAAa,OAAO,QAAO;AAAA,MAClC,EAAE,KAAK,UAAU,OAAO,SAAQ;AAAA,MAChC,EAAE,KAAK,aAAa,OAAO,OAAM;AAAA,IAClC;AAEA,UAAM,WAAW,CAAC,OAAO,KAAK,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK;AAEtE,UAAM,iBAAiB,CAAC,WAAW;AAClC,YAAM,UAAU;AAAA,QACf,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,UAAU;AAAA,MACZ;AACC,aAAO,QAAQ,MAAM,KAAK;AAAA,IAC3B;AAEA,UAAM,iBAAiB,CAAC,SAAS;AAChC,UAAI,CAAC,MAAM,MAAO,QAAO;AACzB,YAAM,MAAM,oBAAI,KAAI;AACpB,YAAM,QAAQ,IAAI,KAAK,KAAK,KAAK;AACjC,YAAM,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI;AAC5C,UAAI,MAAM,IAAK,QAAO;AACtB,UAAI,OAAO,SAAS,OAAO,IAAK,QAAO;AACvC,YAAM,WAAW,KAAK,MAAM,QAAQ,QAAQ,MAAO,KAAK,KAAK,GAAG;AAChE,UAAI,YAAY,EAAG,QAAO;AAC1B,UAAI,YAAY,EAAG,QAAO,MAAM,QAAQ;AACxC,aAAO;AAAA,IACR;AAEA,UAAM,sBAAsB,CAAC,SAAS;AACrC,YAAM,SAAS,eAAe,IAAI;AAClC,UAAI,WAAW,WAAY,QAAO;AAClC,UAAI,WAAW,OAAQ,QAAO;AAC9B,UAAI,WAAW,WAAY,QAAO;AAClC,aAAO;AAAA,IACR;AAEA,cAAU,YAAY;AAErB,UAAI;AACH,cAAM,CAAC,UAAU,YAAY,UAAU,IAAI,MAAM,QAAQ,IAAI;AAAA;AAAA,QAE/D,CAAG;AAAA,MACF,SAAS,GAAG;AACX,gBAAQ,MAAM,mCAAmC,CAAC;AAAA,MACnD;AAAA,IACD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { ref, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createVNode, withCtx, Fragment, renderList, createBlock, createTextVNode } from "vue";
2
2
  import { actions } from "../../store/users.js";
3
3
  import _sfc_main$1 from "../../../../../components/Marquee/Marquee.vue.js";
4
- import _sfc_main$2 from "../blocks/CardUser.vue.js";
4
+ import _sfc_main$2 from "../../../../core/views/components/blocks/CardUser.vue.js";
5
5
  /* empty css */
6
6
  const _hoisted_1 = { class: "o-hidden w-100" };
7
7
  const _hoisted_2 = { class: "flex flex-nowrap" };
@@ -1 +1 @@
1
- {"version":3,"file":"FeaturedUsers.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/sections/FeaturedUsers.vue"],"sourcesContent":["<template>\n <div class=\"o-hidden w-100\">\n <div class=\"flex-center flex w-100\">\n <h2 class=\"t-center h2 w-max-50r mn-b-big\">\n Ask the hundreds shaping your entertainment for decades\n </h2>\n </div>\n <Marquee\n class=\"mn-b-thin\"\n :gradient=\"true\"\n :gradientColor=\"'var(--white)'\"\n :gradientLength=\"'10%'\"\n :direction=\"'normal'\"\n :pauseOnHover=\"false\"\n :clone=\"true\"\n >\n <div class=\"flex flex-nowrap\">\n <CardUser \n v-for=\"user in usersList.slice(0,6)\" \n class=\"mn-r-thin h4 h-8r flex-child-grow-0 flex-child bg-light pd-small radius-medium\"\n :user=\"user\" \n :photo=\"user.profile.photo\"\n :name=\"user.profile.name || user.phone || user.username\"\n :phone=\"'DJ'\"\n /> \n </div>\n </Marquee>\n\n <Marquee\n class=\"mn-b-thin\"\n :gradient=\"true\"\n :gradientColor=\"'var(--white)'\"\n :gradientLength=\"'10%'\"\n :direction=\"'reverse'\"\n :pauseOnHover=\"false\"\n :clone=\"true\"\n >\n <div class=\"flex flex-nowrap\">\n <CardUser \n v-for=\"user in usersList.slice(7,14)\" \n class=\"mn-r-thin h4 h-8r flex-child-grow-0 flex-child bg-light pd-small radius-medium\"\n :user=\"user\" \n :photo=\"user.profile.photo\"\n :name=\"user.profile.name || user.phone || user.username\"\n :phone=\"'DJ'\"\n /> \n </div>\n </Marquee>\n\n <Marquee\n class=\"mn-b-big\"\n :gradient=\"true\"\n :gradientColor=\"'var(--white)'\"\n :gradientLength=\"'10%'\"\n :direction=\"'normal'\"\n :pauseOnHover=\"false\"\n :clone=\"true\"\n >\n <div class=\"flex flex-nowrap\">\n <CardUser \n v-for=\"user in usersList.slice(15,22)\" \n class=\"mn-r-thin h4 h-8r flex-child-grow-0 flex-child bg-light pd-small radius-medium\"\n :user=\"user\" \n :photo=\"user.profile.photo\"\n :name=\"user.profile.name || user.phone || user.username\"\n :phone=\"'DJ'\"\n /> \n </div>\n </Marquee>\n\n <p class=\"w-m-33r mn-r-auto mn-l-auto t-center mn-b-small p-medium\">\n Together, we're shaping the future of the globals music community.\n </p>\n <router-link :to=\"{ name: 'Sign In' }\" class=\"bg-black w-max mn-r-auto mn-l-auto fw-medium t-white button\">\n Join Now\n </router-link>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue';\n\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\n\nimport Marquee from '@martyrs/src/components/Marquee/Marquee.vue'\n\nimport CardUser from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue'\n\nconst usersList = ref([])\n\nonMounted(async() => {\n usersList.value = await users.actions.read({\n limit: 25\n })\n});\n</script>\n\n<style lang=\"scss\">\n .selector {\n flex-grow: 1;\n flex-basis: 0;\n min-width: 0;\n }\n</style>\n"],"names":["users.actions"],"mappings":";;;;;;;;;;;;AAwFA,UAAM,YAAY,IAAI,CAAA,CAAE;AAExB,cAAU,YAAW;AACnB,gBAAU,QAAQ,MAAMA,QAAc,KAAK;AAAA,QACzC,OAAO;AAAA,MACX,CAAG;AAAA,IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FeaturedUsers.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/sections/FeaturedUsers.vue"],"sourcesContent":["<template>\n <div class=\"o-hidden w-100\">\n <div class=\"flex-center flex w-100\">\n <h2 class=\"t-center h2 w-max-50r mn-b-big\">\n Ask the hundreds shaping your entertainment for decades\n </h2>\n </div>\n <Marquee\n class=\"mn-b-thin\"\n :gradient=\"true\"\n :gradientColor=\"'var(--white)'\"\n :gradientLength=\"'10%'\"\n :direction=\"'normal'\"\n :pauseOnHover=\"false\"\n :clone=\"true\"\n >\n <div class=\"flex flex-nowrap\">\n <CardUser \n v-for=\"user in usersList.slice(0,6)\" \n class=\"mn-r-thin h4 h-8r flex-child-grow-0 flex-child bg-light pd-small radius-medium\"\n :user=\"user\" \n :photo=\"user.profile.photo\"\n :name=\"user.profile.name || user.phone || user.username\"\n :phone=\"'DJ'\"\n /> \n </div>\n </Marquee>\n\n <Marquee\n class=\"mn-b-thin\"\n :gradient=\"true\"\n :gradientColor=\"'var(--white)'\"\n :gradientLength=\"'10%'\"\n :direction=\"'reverse'\"\n :pauseOnHover=\"false\"\n :clone=\"true\"\n >\n <div class=\"flex flex-nowrap\">\n <CardUser \n v-for=\"user in usersList.slice(7,14)\" \n class=\"mn-r-thin h4 h-8r flex-child-grow-0 flex-child bg-light pd-small radius-medium\"\n :user=\"user\" \n :photo=\"user.profile.photo\"\n :name=\"user.profile.name || user.phone || user.username\"\n :phone=\"'DJ'\"\n /> \n </div>\n </Marquee>\n\n <Marquee\n class=\"mn-b-big\"\n :gradient=\"true\"\n :gradientColor=\"'var(--white)'\"\n :gradientLength=\"'10%'\"\n :direction=\"'normal'\"\n :pauseOnHover=\"false\"\n :clone=\"true\"\n >\n <div class=\"flex flex-nowrap\">\n <CardUser \n v-for=\"user in usersList.slice(15,22)\" \n class=\"mn-r-thin h4 h-8r flex-child-grow-0 flex-child bg-light pd-small radius-medium\"\n :user=\"user\" \n :photo=\"user.profile.photo\"\n :name=\"user.profile.name || user.phone || user.username\"\n :phone=\"'DJ'\"\n /> \n </div>\n </Marquee>\n\n <p class=\"w-m-33r mn-r-auto mn-l-auto t-center mn-b-small p-medium\">\n Together, we're shaping the future of the globals music community.\n </p>\n <router-link :to=\"{ name: 'Sign In' }\" class=\"bg-black w-max mn-r-auto mn-l-auto fw-medium t-white button\">\n Join Now\n </router-link>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue';\n\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\n\nimport Marquee from '@martyrs/src/components/Marquee/Marquee.vue'\n\nimport CardUser from '@martyrs/src/modules/core/views/components/blocks/CardUser.vue'\n\nconst usersList = ref([])\n\nonMounted(async() => {\n usersList.value = await users.actions.read({\n limit: 25\n })\n});\n</script>\n\n<style lang=\"scss\">\n .selector {\n flex-grow: 1;\n flex-basis: 0;\n min-width: 0;\n }\n</style>\n"],"names":["users.actions"],"mappings":";;;;;;;;;;;;AAwFA,UAAM,YAAY,IAAI,CAAA,CAAE;AAExB,cAAU,YAAW;AACnB,gBAAU,QAAQ,MAAMA,QAAc,KAAK;AAAA,QACzC,OAAO;AAAA,MACX,CAAG;AAAA,IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ import _sfc_main$1 from "../../../../../components/Slider/Slider.vue.js";
4
4
  /* empty css */
5
5
  const _hoisted_1 = { class: "h-100 pd-big" };
6
6
  const _hoisted_2 = { class: "t-center w-100 mn-b-regular" };
7
- const _hoisted_3 = { class: "t-center t-transp w-100" };
7
+ const _hoisted_3 = { class: "t-center opacity-50 w-100" };
8
8
  const _sfc_main = {
9
9
  __name: "SliderFeatures",
10
10
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"SliderFeatures.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/sections/SliderFeatures.vue"],"sourcesContent":["<script setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport Slider from '@martyrs/src/components/Slider/Slider.vue'\n\nconst { tm } = useI18n({\n useScope: 'global'\n})\nconst features = computed(() => tm('auth.features'))\n</script>\n\n<template>\n <Slider :showDots=\"true\" :slideCount=\"features.length\" class=\"auth_slider h-100\">\n <div class=\"d-grid o-hidden h-100 carousel__slide\" style=\" grid-template-rows: 1fr auto;\" v-for=\"(feature, index) in features\" :key=\"index\">\n <div class=\"h-100 background-div\" :style=\"`background-image: url(/features/${index}.png);`\"></div>\n <div class=\"h-100 pd-big\">\n <h5 class=\"t-center w-100 mn-b-regular\">{{ feature.title }}</h5>\n <p class='t-center t-transp w-100'>{{ feature.description }}</p>\n </div>\n </div>\n </Slider>\n</template>\n\n<style lang=\"scss\">\n.auth_slider .carousel {\n height: 100%;\n}\n\n.auth_slider .carousel__container {\n height: 100%;\n}\n\n.parent-div {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n object-fit: contain;\n}\n\n.background-div {\n background-size:cover; \n background-position: center center; \n background-repeat: no-repeat;\n}\n\n.background-div {\n flex-grow: 1; // Занимает все оставшееся пространство\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;AAMA,UAAM,EAAE,GAAE,IAAK,QAAQ;AAAA,MACrB,UAAU;AAAA,IACZ,CAAC;AACD,UAAM,WAAW,SAAS,MAAM,GAAG,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SliderFeatures.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/sections/SliderFeatures.vue"],"sourcesContent":["<script setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport Slider from '@martyrs/src/components/Slider/Slider.vue'\n\nconst { tm } = useI18n({\n useScope: 'global'\n})\nconst features = computed(() => tm('auth.features'))\n</script>\n\n<template>\n <Slider :showDots=\"true\" :slideCount=\"features.length\" class=\"auth_slider h-100\">\n <div class=\"d-grid o-hidden h-100 carousel__slide\" style=\" grid-template-rows: 1fr auto;\" v-for=\"(feature, index) in features\" :key=\"index\">\n <div class=\"h-100 background-div\" :style=\"`background-image: url(/features/${index}.png);`\"></div>\n <div class=\"h-100 pd-big\">\n <h5 class=\"t-center w-100 mn-b-regular\">{{ feature.title }}</h5>\n <p class='t-center opacity-50 w-100'>{{ feature.description }}</p>\n </div>\n </div>\n </Slider>\n</template>\n\n<style lang=\"scss\">\n.auth_slider .carousel {\n height: 100%;\n}\n\n.auth_slider .carousel__container {\n height: 100%;\n}\n\n.parent-div {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n object-fit: contain;\n}\n\n.background-div {\n background-size:cover; \n background-position: center center; \n background-repeat: no-repeat;\n}\n\n.background-div {\n flex-grow: 1; // Занимает все оставшееся пространство\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;AAMA,UAAM,EAAE,GAAE,IAAK,QAAQ;AAAA,MACrB,UAAU;AAAA,IACZ,CAAC;AACD,UAAM,WAAW,SAAS,MAAM,GAAG,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -33,13 +33,17 @@ function requiresNoAuth(to, from, next) {
33
33
  function requiresAuth(to, from, next) {
34
34
  const isLogin = state.access.status;
35
35
  if (isLogin !== true) {
36
- return next("/auth/signin");
36
+ return next({ path: "/auth/signin", query: { returnUrl: to.fullPath } });
37
37
  }
38
38
  next();
39
39
  }
40
40
  async function requiresAdmin(to, from, next) {
41
+ const isLoggedIn = state.access.status;
41
42
  const isAdmin = state.access.roles?.includes("ROLE_ADMIN") ? state.access.roles.includes("ROLE_ADMIN") : false;
42
- if (isAdmin !== true) {
43
+ if (!isLoggedIn) {
44
+ return next({ path: "/auth/signin", query: { returnUrl: to.fullPath } });
45
+ }
46
+ if (!isAdmin) {
43
47
  return next("/401");
44
48
  }
45
49
  next();
@@ -1 +1 @@
1
- {"version":3,"file":"auth.validation.js","sources":["../../../../../../../src/modules/auth/views/middlewares/auth.validation.js"],"sourcesContent":["import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n\nfunction resetUser(to, from, next) {\n next();\n auth.state.user.phone = '';\n auth.state.user.email = '';\n auth.state.user.avatar = '';\n auth.state.user.password = '';\n auth.state.user.passwordRepeat = '';\n}\n\nasync function initUser(to, from, next) {\n await auth.actions.initialize();\n next();\n}\n\n// Check state before open\nfunction checkUser(to, from, next) {\n if (auth.state.user.phone === '' && auth.state.user.email === '') {\n next('/auth/signin');\n } else {\n next();\n }\n}\n\nfunction requiresNoAuth(to, from, next) {\n const isLogin = auth.state.access.status;\n\n console.log(isLogin);\n console.log(auth.state.access);\n\n console.log('');\n\n if (isLogin) {\n console.log('havee login');\n return next('/profile/' + auth.state.user._id);\n }\n\n console.log('not have login');\n\n next();\n}\n\nfunction requiresAuth(to, from, next) {\n const isLogin = auth.state.access.status;\n\n if (isLogin !== true) {\n return next('/auth/signin');\n }\n\n next();\n}\n\nasync function requiresAdmin(to, from, next) {\n const isAdmin = auth.state.access.roles?.includes('ROLE_ADMIN') ? auth.state.access.roles.includes('ROLE_ADMIN') : false;\n\n if (isAdmin !== true) {\n return next('/401');\n }\n\n next();\n}\n\nexport { checkUser, initUser, requiresAdmin, requiresAuth, requiresNoAuth, resetUser };\n"],"names":["auth.state","auth.actions"],"mappings":";AAEA,SAAS,UAAU,IAAI,MAAM,MAAM;AACjC,OAAI;AACJA,QAAW,KAAK,QAAQ;AACxBA,QAAW,KAAK,QAAQ;AACxBA,QAAW,KAAK,SAAS;AACzBA,QAAW,KAAK,WAAW;AAC3BA,QAAW,KAAK,iBAAiB;AACnC;AAEA,eAAe,SAAS,IAAI,MAAM,MAAM;AACtC,QAAMC,QAAa,WAAU;AAC7B,OAAI;AACN;AAGA,SAAS,UAAU,IAAI,MAAM,MAAM;AACjC,MAAID,MAAW,KAAK,UAAU,MAAMA,MAAW,KAAK,UAAU,IAAI;AAChE,SAAK,cAAc;AAAA,EACrB,OAAO;AACL,SAAI;AAAA,EACN;AACF;AAEA,SAAS,eAAe,IAAI,MAAM,MAAM;AACtC,QAAM,UAAUA,MAAW,OAAO;AAElC,UAAQ,IAAI,OAAO;AACnB,UAAQ,IAAIA,MAAW,MAAM;AAE7B,UAAQ,IAAI,EAAE;AAEd,MAAI,SAAS;AACX,YAAQ,IAAI,aAAa;AACzB,WAAO,KAAK,cAAcA,MAAW,KAAK,GAAG;AAAA,EAC/C;AAEA,UAAQ,IAAI,gBAAgB;AAE5B,OAAI;AACN;AAEA,SAAS,aAAa,IAAI,MAAM,MAAM;AACpC,QAAM,UAAUA,MAAW,OAAO;AAElC,MAAI,YAAY,MAAM;AACpB,WAAO,KAAK,cAAc;AAAA,EAC5B;AAEA,OAAI;AACN;AAEA,eAAe,cAAc,IAAI,MAAM,MAAM;AAC3C,QAAM,UAAUA,MAAW,OAAO,OAAO,SAAS,YAAY,IAAIA,MAAW,OAAO,MAAM,SAAS,YAAY,IAAI;AAEnH,MAAI,YAAY,MAAM;AACpB,WAAO,KAAK,MAAM;AAAA,EACpB;AAEA,OAAI;AACN;"}
1
+ {"version":3,"file":"auth.validation.js","sources":["../../../../../../../src/modules/auth/views/middlewares/auth.validation.js"],"sourcesContent":["import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n\nfunction resetUser(to, from, next) {\n next();\n auth.state.user.phone = '';\n auth.state.user.email = '';\n auth.state.user.avatar = '';\n auth.state.user.password = '';\n auth.state.user.passwordRepeat = '';\n}\n\nasync function initUser(to, from, next) {\n await auth.actions.initialize();\n next();\n}\n\n// Check state before open\nfunction checkUser(to, from, next) {\n if (auth.state.user.phone === '' && auth.state.user.email === '') {\n next('/auth/signin');\n } else {\n next();\n }\n}\n\nfunction requiresNoAuth(to, from, next) {\n const isLogin = auth.state.access.status;\n\n console.log(isLogin);\n console.log(auth.state.access);\n\n console.log('');\n\n if (isLogin) {\n console.log('havee login');\n return next('/profile/' + auth.state.user._id);\n }\n\n console.log('not have login');\n\n next();\n}\n\nfunction requiresAuth(to, from, next) {\n const isLogin = auth.state.access.status;\n\n if (isLogin !== true) {\n return next({ path: '/auth/signin', query: { returnUrl: to.fullPath } });\n }\n\n next();\n}\n\nasync function requiresAdmin(to, from, next) {\n const isLoggedIn = auth.state.access.status;\n const isAdmin = auth.state.access.roles?.includes('ROLE_ADMIN') ? auth.state.access.roles.includes('ROLE_ADMIN') : false;\n\n if (!isLoggedIn) {\n return next({ path: '/auth/signin', query: { returnUrl: to.fullPath } });\n }\n\n if (!isAdmin) {\n return next('/401');\n }\n\n next();\n}\n\nexport { checkUser, initUser, requiresAdmin, requiresAuth, requiresNoAuth, resetUser };\n"],"names":["auth.state","auth.actions"],"mappings":";AAEA,SAAS,UAAU,IAAI,MAAM,MAAM;AACjC,OAAI;AACJA,QAAW,KAAK,QAAQ;AACxBA,QAAW,KAAK,QAAQ;AACxBA,QAAW,KAAK,SAAS;AACzBA,QAAW,KAAK,WAAW;AAC3BA,QAAW,KAAK,iBAAiB;AACnC;AAEA,eAAe,SAAS,IAAI,MAAM,MAAM;AACtC,QAAMC,QAAa,WAAU;AAC7B,OAAI;AACN;AAGA,SAAS,UAAU,IAAI,MAAM,MAAM;AACjC,MAAID,MAAW,KAAK,UAAU,MAAMA,MAAW,KAAK,UAAU,IAAI;AAChE,SAAK,cAAc;AAAA,EACrB,OAAO;AACL,SAAI;AAAA,EACN;AACF;AAEA,SAAS,eAAe,IAAI,MAAM,MAAM;AACtC,QAAM,UAAUA,MAAW,OAAO;AAElC,UAAQ,IAAI,OAAO;AACnB,UAAQ,IAAIA,MAAW,MAAM;AAE7B,UAAQ,IAAI,EAAE;AAEd,MAAI,SAAS;AACX,YAAQ,IAAI,aAAa;AACzB,WAAO,KAAK,cAAcA,MAAW,KAAK,GAAG;AAAA,EAC/C;AAEA,UAAQ,IAAI,gBAAgB;AAE5B,OAAI;AACN;AAEA,SAAS,aAAa,IAAI,MAAM,MAAM;AACpC,QAAM,UAAUA,MAAW,OAAO;AAElC,MAAI,YAAY,MAAM;AACpB,WAAO,KAAK,EAAE,MAAM,gBAAgB,OAAO,EAAE,WAAW,GAAG,SAAQ,GAAI;AAAA,EACzE;AAEA,OAAI;AACN;AAEA,eAAe,cAAc,IAAI,MAAM,MAAM;AAC3C,QAAM,aAAaA,MAAW,OAAO;AACrC,QAAM,UAAUA,MAAW,OAAO,OAAO,SAAS,YAAY,IAAIA,MAAW,OAAO,MAAM,SAAS,YAAY,IAAI;AAEnH,MAAI,CAAC,YAAY;AACf,WAAO,KAAK,EAAE,MAAM,gBAAgB,OAAO,EAAE,WAAW,GAAG,SAAQ,GAAI;AAAA,EACzE;AAEA,MAAI,CAAC,SAAS;AACZ,WAAO,KAAK,MAAM;AAAA,EACpB;AAEA,OAAI;AACN;"}
@@ -0,0 +1,53 @@
1
+ const usersBackofficeRoutes = [
2
+ {
3
+ path: "",
4
+ name: "Users",
5
+ meta: {
6
+ title: {
7
+ en: "Users",
8
+ ru: "Пользователи"
9
+ },
10
+ authorize: []
11
+ },
12
+ component: () => import(
13
+ /* webpackChunkName: 'BackofficeUsers' */
14
+ "../components/pages/BackofficeUsers.vue.js"
15
+ )
16
+ },
17
+ {
18
+ path: ":_id",
19
+ name: "User Profile",
20
+ meta: {
21
+ title: {
22
+ en: "Profile Settings",
23
+ ru: "Настройки профиля"
24
+ }
25
+ },
26
+ component: () => import(
27
+ /* webpackChunkName: 'BackofficeUserProfileEdit' */
28
+ "../components/pages/ProfileEdit.vue.js"
29
+ ),
30
+ children: [
31
+ {
32
+ path: "",
33
+ name: "Profile Edit Profile",
34
+ component: () => import(
35
+ /* webpackChunkName: 'BackofficeUserProfileEditProfile' */
36
+ "../components/pages/ProfileEditProfile.vue.js"
37
+ )
38
+ },
39
+ {
40
+ path: "account",
41
+ name: "Profile Edit Account",
42
+ component: () => import(
43
+ /* webpackChunkName: 'BackofficeUserProfileEditAccount' */
44
+ "../components/pages/ProfileEditAccount.vue.js"
45
+ )
46
+ }
47
+ ]
48
+ }
49
+ ];
50
+ export {
51
+ usersBackofficeRoutes as default
52
+ };
53
+ //# sourceMappingURL=users.backoffice.router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.backoffice.router.js","sources":["../../../../../../../src/modules/auth/views/router/users.backoffice.router.js"],"sourcesContent":["const usersBackofficeRoutes = [\n {\n path: '',\n name: 'Users',\n meta: {\n title: {\n en: 'Users',\n ru: 'Пользователи',\n },\n authorize: [],\n },\n component: () => import(/* webpackChunkName: 'BackofficeUsers' */ '../components/pages/BackofficeUsers.vue'),\n },\n {\n path: ':_id',\n name: 'User Profile',\n meta: {\n title: {\n en: 'Profile Settings',\n ru: 'Настройки профиля',\n },\n },\n component: () => import(/* webpackChunkName: 'BackofficeUserProfileEdit' */ '../components/pages/ProfileEdit.vue'),\n children: [\n {\n path: '',\n name: 'Profile Edit Profile',\n component: () => import(/* webpackChunkName: 'BackofficeUserProfileEditProfile' */ '../components/pages/ProfileEditProfile.vue'),\n },\n {\n path: 'account',\n name: 'Profile Edit Account',\n component: () => import(/* webpackChunkName: 'BackofficeUserProfileEditAccount' */ '../components/pages/ProfileEditAccount.vue'),\n },\n ],\n },\n];\n\nexport default usersBackofficeRoutes;\n"],"names":[],"mappings":"AAAK,MAAC,wBAAwB;AAAA,EAC5B;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACZ;AAAA,MACM,WAAW,CAAA;AAAA,IACjB;AAAA,IACI,WAAW,MAAM;AAAA;AAAA,MAAiD;AAAA,IAAyC;AAAA,EAC/G;AAAA,EACE;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACZ;AAAA,IACA;AAAA,IACI,WAAW,MAAM;AAAA;AAAA,MAA2D;AAAA,IAAqC;AAAA,IACjH,UAAU;AAAA,MACR;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW,MAAM;AAAA;AAAA,UAAkE;AAAA,QAA4C;AAAA,MACvI;AAAA,MACM;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW,MAAM;AAAA;AAAA,UAAkE;AAAA,QAA4C;AAAA,MACvI;AAAA,IACA;AAAA,EACA;AACA;"}
@@ -164,9 +164,9 @@ const actions = {
164
164
  }
165
165
  };
166
166
  const optionsDefault = {
167
- development: { path: "/", domain: process.env.DOMAIN_URL, secure: false, expires: 7, sameSite: "Lax" },
167
+ development: { path: "/", domain: process.env.DOMAIN_URL, secure: false, expires: 30, sameSite: "Lax" },
168
168
  production: {
169
- expires: 7,
169
+ expires: 30,
170
170
  path: "/",
171
171
  domain: process.env.DOMAIN_URL,
172
172
  sameSite: "strict",
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../../../../../../src/modules/auth/views/store/auth.js"],"sourcesContent":["// Dependencies\nimport $axios, { setAuthToken } from '@martyrs/src/modules/core/views/utils/axios-instance.js';\nimport Cookies from 'js-cookie';\n// Capacitor\nimport { Preferences } from '@capacitor/preferences';\n// Vue modules\nimport { reactive, watch } from 'vue';\n// Globals\nimport { useSession, setError } from '@martyrs/src/modules/core/views/store/core.store.js';\nimport wsManager from '@martyrs/src/modules/core/views/classes/ws.manager.js';\n\n// State\nconst state = reactive({\n user: {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: '',\n },\n access: {\n roles: null,\n token: null,\n status: false,\n },\n accesses: [],\n});\n\n// Session manager\nconst session = useSession();\n\nconst actions = {\n async initialize(cookie) {\n try {\n const userCookie = cookie ? cookie : await getCookie('user');\n\n if (userCookie) {\n const { _id, email, phone, avatar, roles, accessToken } = userCookie;\n\n setAuthToken(accessToken);\n\n // Валидация токена (обязательно)\n await $axios.get('/api/auth/check-token');\n\n // Загрузка accesses (опционально, если модуль organizations подключен)\n let userAccesses = [];\n try {\n const response = await $axios.get('/api/organizations/check-accesses');\n userAccesses = response.data;\n } catch (error) {\n if (error.response?.status !== 404) {\n throw error;\n }\n }\n\n // ТОЛЬКО ПОСЛЕ УСПЕШНОЙ ПРОВЕРКИ устанавливаем состояние\n state.accesses = userAccesses;\n Object.assign(state.user, { _id, email, phone, avatar });\n Object.assign(state.access, { token: accessToken, roles, status: !!accessToken });\n\n // Update Session with full user data\n session.set({ ...userCookie, accesses: userAccesses });\n\n // Переподключаем WebSocket если пользователь аутентифицирован\n if (_id && accessToken) {\n console.log('[AUTH] Reconnecting WebSocket for authenticated user:', _id);\n await wsManager.reconnectWithAuth(_id);\n }\n } else {\n console.log('no cookies');\n setAuthToken(null);\n session.clear();\n this.resetState();\n }\n } catch (error) {\n console.error('Error initializing auth:', error);\n // Make sure we remove the cookie when there's an error\n await removeCookie('user');\n setAuthToken(null);\n session.clear();\n this.resetState();\n setError(error);\n throw error;\n }\n },\n\n // Helper method to reset state\n resetState() {\n state.accesses = [];\n state.user = {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: '',\n };\n state.access = {\n roles: null,\n token: null,\n status: false,\n };\n session.clear();\n },\n\n async login(user, type) {\n try {\n const response = await $axios.post('/api/auth/signin', {\n ...user,\n type,\n });\n\n setCookie('user', response.data);\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles,\n });\n\n session.set(response.data);\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on login error\n await removeCookie('user');\n\n Object.assign(state.access, {\n token: null,\n status: false,\n roles: null,\n });\n\n session.clear();\n\n console.log(error);\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async signup(user, type, invite) {\n const { password, passwordRepeat } = state.user;\n\n console.log(password);\n console.log(passwordRepeat);\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: 'PASSWORDS_DO_NOT_MATCH' },\n },\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/signup', {\n ...user,\n type,\n inviteCode: invite,\n });\n\n console.log(response);\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles,\n });\n\n session.set(response.data);\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on signup error\n await removeCookie('user');\n setError(error);\n console.log('Sign up failed');\n throw error;\n }\n },\n\n async logout() {\n await removeCookie('user');\n setAuthToken(null);\n session.clear();\n this.resetState();\n\n // Отключаем WebSocket при выходе\n console.log('[AUTH] Disconnecting WebSocket on logout');\n wsManager.disconnect();\n },\n};\n\n// Cookies\nconst optionsDefault = {\n development: { path: '/', domain: process.env.DOMAIN_URL, secure: false, expires: 7, sameSite: 'Lax' },\n production: {\n expires: 7,\n path: '/',\n domain: process.env.DOMAIN_URL,\n sameSite: 'strict',\n secure: true,\n },\n};\n\nasync function getCookie(name) {\n if (process.env.MOBILE_APP) {\n const { value } = await Preferences.get({ key: name });\n return value ? JSON.parse(value) : null;\n } else {\n const cookie = Cookies.get(name);\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n\nasync function setCookie(name, data, mode = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.set({\n key: name,\n value: JSON.stringify(data),\n });\n } else {\n // Для веб-версии\n const options = optionsDefault[mode];\n console.log('[AUTH COOKIE DEBUG] setCookie', { name, mode, options, domain: process.env.DOMAIN_URL });\n Cookies.set(name, JSON.stringify(data), options);\n }\n}\n\nasync function removeCookie(name, mode = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.remove({ key: name });\n } else {\n // Для веб-версии\n const options = optionsDefault[mode];\n const allCookiesBefore = typeof document !== 'undefined' ? document.cookie : 'SSR - no document';\n console.log('[AUTH COOKIE DEBUG] removeCookie BEFORE', { name, mode, options, domain: process.env.DOMAIN_URL, allCookies: allCookiesBefore });\n Cookies.remove(name, options);\n const allCookiesAfter = typeof document !== 'undefined' ? document.cookie : 'SSR - no document';\n console.log('[AUTH COOKIE DEBUG] removeCookie AFTER', { allCookies: allCookiesAfter });\n }\n}\n\n// History\nconst history = [];\nhistory.push(state);\n\n// Watch\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n// Module Export\nexport { actions, removeCookie, state };\n"],"names":["Cookies"],"mappings":";;;;;;AAYK,MAAC,QAAQ,SAAS;AAAA,EACrB,MAAM;AAAA,IACJ,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,IACV,gBAAgB;AAAA,EACpB;AAAA,EACE,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,EACZ;AAAA,EACE,UAAU,CAAA;AACZ,CAAC;AAGD,MAAM,UAAU,WAAU;AAErB,MAAC,UAAU;AAAA,EACd,MAAM,WAAW,QAAQ;AACvB,QAAI;AACF,YAAM,aAAa,SAAS,SAAS,MAAM,UAAU,MAAM;AAE3D,UAAI,YAAY;AACd,cAAM,EAAE,KAAK,OAAO,OAAO,QAAQ,OAAO,YAAW,IAAK;AAE1D,qBAAa,WAAW;AAGxB,cAAM,OAAO,IAAI,uBAAuB;AAGxC,YAAI,eAAe,CAAA;AACnB,YAAI;AACF,gBAAM,WAAW,MAAM,OAAO,IAAI,mCAAmC;AACrE,yBAAe,SAAS;AAAA,QAC1B,SAAS,OAAO;AACd,cAAI,MAAM,UAAU,WAAW,KAAK;AAClC,kBAAM;AAAA,UACR;AAAA,QACF;AAGA,cAAM,WAAW;AACjB,eAAO,OAAO,MAAM,MAAM,EAAE,KAAK,OAAO,OAAO,QAAQ;AACvD,eAAO,OAAO,MAAM,QAAQ,EAAE,OAAO,aAAa,OAAO,QAAQ,CAAC,CAAC,YAAW,CAAE;AAGhF,gBAAQ,IAAI,EAAE,GAAG,YAAY,UAAU,aAAY,CAAE;AAGrD,YAAI,OAAO,aAAa;AACtB,kBAAQ,IAAI,yDAAyD,GAAG;AACxE,gBAAM,UAAU,kBAAkB,GAAG;AAAA,QACvC;AAAA,MACF,OAAO;AACL,gBAAQ,IAAI,YAAY;AACxB,qBAAa,IAAI;AACjB,gBAAQ,MAAK;AACb,aAAK,WAAU;AAAA,MACjB;AAAA,IACF,SAAS,OAAO;AACd,cAAQ,MAAM,4BAA4B,KAAK;AAE/C,YAAM,aAAa,MAAM;AACzB,mBAAa,IAAI;AACjB,cAAQ,MAAK;AACb,WAAK,WAAU;AACf,eAAS,KAAK;AACd,YAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA,EAGA,aAAa;AACX,UAAM,WAAW,CAAA;AACjB,UAAM,OAAO;AAAA,MACX,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,gBAAgB;AAAA,IACtB;AACI,UAAM,SAAS;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,IACd;AACI,YAAQ,MAAK;AAAA,EACf;AAAA,EAEA,MAAM,MAAM,MAAM,MAAM;AACtB,QAAI;AACF,YAAM,WAAW,MAAM,OAAO,KAAK,oBAAoB;AAAA,QACrD,GAAG;AAAA,QACH;AAAA,MACR,CAAO;AAED,gBAAU,QAAQ,SAAS,IAAI;AAE/B,aAAO,OAAO,MAAM,MAAM;AAAA,QACxB,GAAG,SAAS;AAAA,MACpB,CAAO;AAED,aAAO,OAAO,MAAM,QAAQ;AAAA,QAC1B,OAAO,SAAS,KAAK;AAAA,QACrB,QAAQ;AAAA,QACR,OAAO,SAAS,KAAK;AAAA,MAC7B,CAAO;AAED,cAAQ,IAAI,SAAS,IAAI;AAEzB,YAAM,KAAK,WAAU;AAErB,aAAO,SAAS;AAAA,IAClB,SAAS,OAAO;AAEd,YAAM,aAAa,MAAM;AAEzB,aAAO,OAAO,MAAM,QAAQ;AAAA,QAC1B,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,MACf,CAAO;AAED,cAAQ,MAAK;AAEb,cAAQ,IAAI,KAAK;AACjB,eAAS,KAAK;AACd,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAAA,EAEA,MAAM,OAAO,MAAM,MAAM,QAAQ;AAC/B,UAAM,EAAE,UAAU,eAAc,IAAK,MAAM;AAE3C,YAAQ,IAAI,QAAQ;AACpB,YAAQ,IAAI,cAAc;AAE1B,QAAI,aAAa,gBAAgB;AAC/B,YAAM,QAAQ;AAAA,QACZ,UAAU;AAAA,UACR,MAAM,EAAE,WAAW,yBAAwB;AAAA,QACrD;AAAA,MACA;AACM,eAAS,KAAK;AACd,YAAM,IAAI,MAAM,MAAM,SAAS,MAAM;AAAA,IACvC;AAEA,QAAI;AACF,YAAM,WAAW,MAAM,OAAO,KAAK,oBAAoB;AAAA,QACrD,GAAG;AAAA,QACH;AAAA,QACA,YAAY;AAAA,MACpB,CAAO;AAED,cAAQ,IAAI,QAAQ;AAEpB,UAAI,SAAS,KAAK,aAAa;AAC7B,kBAAU,QAAQ,SAAS,IAAI;AAAA,MACjC;AAEA,aAAO,OAAO,MAAM,MAAM;AAAA,QACxB,GAAG,SAAS;AAAA,MACpB,CAAO;AAED,aAAO,OAAO,MAAM,QAAQ;AAAA,QAC1B,OAAO,SAAS,KAAK;AAAA,QACrB,QAAQ;AAAA,QACR,OAAO,SAAS,KAAK;AAAA,MAC7B,CAAO;AAED,cAAQ,IAAI,SAAS,IAAI;AAEzB,YAAM,KAAK,WAAU;AAErB,aAAO,SAAS;AAAA,IAClB,SAAS,OAAO;AAEd,YAAM,aAAa,MAAM;AACzB,eAAS,KAAK;AACd,cAAQ,IAAI,gBAAgB;AAC5B,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,SAAS;AACb,UAAM,aAAa,MAAM;AACzB,iBAAa,IAAI;AACjB,YAAQ,MAAK;AACb,SAAK,WAAU;AAGf,YAAQ,IAAI,0CAA0C;AACtD,cAAU,WAAU;AAAA,EACtB;AACF;AAGA,MAAM,iBAAiB;AAAA,EACrB,aAAa,EAAE,MAAM,KAAK,QAAQ,QAAQ,IAAI,YAAY,QAAQ,OAAO,SAAS,GAAG,UAAU,MAAK;AAAA,EACpG,YAAY;AAAA,IACV,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ,QAAQ,IAAI;AAAA,IACpB,UAAU;AAAA,IACV,QAAQ;AAAA,EACZ;AACA;AAEA,eAAe,UAAU,MAAM;AAC7B,MAAI,QAAQ,IAAI,YAAY;AAC1B,UAAM,EAAE,MAAK,IAAK,MAAM,YAAY,IAAI,EAAE,KAAK,MAAM;AACrD,WAAO,QAAQ,KAAK,MAAM,KAAK,IAAI;AAAA,EACrC,OAAO;AACL,UAAM,SAASA,IAAQ,IAAI,IAAI;AAC/B,WAAO,SAAS,KAAK,MAAM,MAAM,IAAI;AAAA,EACvC;AACF;AAEA,eAAe,UAAU,MAAM,MAAM,OAAO,QAAQ,IAAI,UAAU;AAChE,MAAI,QAAQ,IAAI,YAAY;AAE1B,UAAM,YAAY,IAAI;AAAA,MACpB,KAAK;AAAA,MACL,OAAO,KAAK,UAAU,IAAI;AAAA,IAChC,CAAK;AAAA,EACH,OAAO;AAEL,UAAM,UAAU,eAAe,IAAI;AACnC,YAAQ,IAAI,iCAAiC,EAAE,MAAM,MAAM,SAAS,QAAQ,QAAQ,IAAI,WAAU,CAAE;AACpGA,QAAQ,IAAI,MAAM,KAAK,UAAU,IAAI,GAAG,OAAO;AAAA,EACjD;AACF;AAEA,eAAe,aAAa,MAAM,OAAO,QAAQ,IAAI,UAAU;AAC7D,MAAI,QAAQ,IAAI,YAAY;AAE1B,UAAM,YAAY,OAAO,EAAE,KAAK,KAAI,CAAE;AAAA,EACxC,OAAO;AAEL,UAAM,UAAU,eAAe,IAAI;AACnC,UAAM,mBAAmB,OAAO,aAAa,cAAc,SAAS,SAAS;AAC7E,YAAQ,IAAI,2CAA2C,EAAE,MAAM,MAAM,SAAS,QAAQ,QAAQ,IAAI,YAAY,YAAY,iBAAgB,CAAE;AAC5IA,QAAQ,OAAO,MAAM,OAAO;AAC5B,UAAM,kBAAkB,OAAO,aAAa,cAAc,SAAS,SAAS;AAC5E,YAAQ,IAAI,0CAA0C,EAAE,YAAY,gBAAe,CAAE;AAAA,EACvF;AACF;AAOA,MAAM,OAAO,CAAC,UAAU,aAAa;AAErC,CAAC;"}
1
+ {"version":3,"file":"auth.js","sources":["../../../../../../../src/modules/auth/views/store/auth.js"],"sourcesContent":["// Dependencies\nimport $axios, { setAuthToken } from '@martyrs/src/modules/core/views/utils/axios-instance.js';\nimport Cookies from 'js-cookie';\n// Capacitor\nimport { Preferences } from '@capacitor/preferences';\n// Vue modules\nimport { reactive, watch } from 'vue';\n// Globals\nimport { useSession, setError } from '@martyrs/src/modules/core/views/store/core.store.js';\nimport wsManager from '@martyrs/src/modules/core/views/classes/ws.manager.js';\n\n// State\nconst state = reactive({\n user: {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: '',\n },\n access: {\n roles: null,\n token: null,\n status: false,\n },\n accesses: [],\n});\n\n// Session manager\nconst session = useSession();\n\nconst actions = {\n async initialize(cookie) {\n try {\n const userCookie = cookie ? cookie : await getCookie('user');\n\n if (userCookie) {\n const { _id, email, phone, avatar, roles, accessToken } = userCookie;\n\n setAuthToken(accessToken);\n\n // Валидация токена (обязательно)\n await $axios.get('/api/auth/check-token');\n\n // Загрузка accesses (опционально, если модуль organizations подключен)\n let userAccesses = [];\n try {\n const response = await $axios.get('/api/organizations/check-accesses');\n userAccesses = response.data;\n } catch (error) {\n if (error.response?.status !== 404) {\n throw error;\n }\n }\n\n // ТОЛЬКО ПОСЛЕ УСПЕШНОЙ ПРОВЕРКИ устанавливаем состояние\n state.accesses = userAccesses;\n Object.assign(state.user, { _id, email, phone, avatar });\n Object.assign(state.access, { token: accessToken, roles, status: !!accessToken });\n\n // Update Session with full user data\n session.set({ ...userCookie, accesses: userAccesses });\n\n // Переподключаем WebSocket если пользователь аутентифицирован\n if (_id && accessToken) {\n console.log('[AUTH] Reconnecting WebSocket for authenticated user:', _id);\n await wsManager.reconnectWithAuth(_id);\n }\n } else {\n console.log('no cookies');\n setAuthToken(null);\n session.clear();\n this.resetState();\n }\n } catch (error) {\n console.error('Error initializing auth:', error);\n // Make sure we remove the cookie when there's an error\n await removeCookie('user');\n setAuthToken(null);\n session.clear();\n this.resetState();\n setError(error);\n throw error;\n }\n },\n\n // Helper method to reset state\n resetState() {\n state.accesses = [];\n state.user = {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: '',\n };\n state.access = {\n roles: null,\n token: null,\n status: false,\n };\n session.clear();\n },\n\n async login(user, type) {\n try {\n const response = await $axios.post('/api/auth/signin', {\n ...user,\n type,\n });\n\n setCookie('user', response.data);\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles,\n });\n\n session.set(response.data);\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on login error\n await removeCookie('user');\n\n Object.assign(state.access, {\n token: null,\n status: false,\n roles: null,\n });\n\n session.clear();\n\n console.log(error);\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async signup(user, type, invite) {\n const { password, passwordRepeat } = state.user;\n\n console.log(password);\n console.log(passwordRepeat);\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: 'PASSWORDS_DO_NOT_MATCH' },\n },\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/signup', {\n ...user,\n type,\n inviteCode: invite,\n });\n\n console.log(response);\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data,\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles,\n });\n\n session.set(response.data);\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on signup error\n await removeCookie('user');\n setError(error);\n console.log('Sign up failed');\n throw error;\n }\n },\n\n async logout() {\n await removeCookie('user');\n setAuthToken(null);\n session.clear();\n this.resetState();\n\n // Отключаем WebSocket при выходе\n console.log('[AUTH] Disconnecting WebSocket on logout');\n wsManager.disconnect();\n },\n};\n\n// Cookies\nconst optionsDefault = {\n development: { path: '/', domain: process.env.DOMAIN_URL, secure: false, expires: 30, sameSite: 'Lax' },\n production: {\n expires: 30,\n path: '/',\n domain: process.env.DOMAIN_URL,\n sameSite: 'strict',\n secure: true,\n },\n};\n\nasync function getCookie(name) {\n if (process.env.MOBILE_APP) {\n const { value } = await Preferences.get({ key: name });\n return value ? JSON.parse(value) : null;\n } else {\n const cookie = Cookies.get(name);\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n\nasync function setCookie(name, data, mode = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.set({\n key: name,\n value: JSON.stringify(data),\n });\n } else {\n // Для веб-версии\n const options = optionsDefault[mode];\n console.log('[AUTH COOKIE DEBUG] setCookie', { name, mode, options, domain: process.env.DOMAIN_URL });\n Cookies.set(name, JSON.stringify(data), options);\n }\n}\n\nasync function removeCookie(name, mode = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.remove({ key: name });\n } else {\n // Для веб-версии\n const options = optionsDefault[mode];\n const allCookiesBefore = typeof document !== 'undefined' ? document.cookie : 'SSR - no document';\n console.log('[AUTH COOKIE DEBUG] removeCookie BEFORE', { name, mode, options, domain: process.env.DOMAIN_URL, allCookies: allCookiesBefore });\n Cookies.remove(name, options);\n const allCookiesAfter = typeof document !== 'undefined' ? document.cookie : 'SSR - no document';\n console.log('[AUTH COOKIE DEBUG] removeCookie AFTER', { allCookies: allCookiesAfter });\n }\n}\n\n// History\nconst history = [];\nhistory.push(state);\n\n// Watch\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n// Module Export\nexport { actions, removeCookie, state };\n"],"names":["Cookies"],"mappings":"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"}