@ozdao/martyrs 0.2.543 → 0.2.544

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 (396) hide show
  1. package/dist/builder.cjs +10 -2
  2. package/dist/builder.js +10 -2
  3. package/dist/{main-BNdv8Ji-.cjs → main-8f945Ngn.cjs} +6 -6
  4. package/dist/{main-DUwlesGq.js → main-d9n_ibdE.js} +1065 -1065
  5. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
  6. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  7. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
  8. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  9. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
  10. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
  11. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  12. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  13. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -93
  14. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  15. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +1 -94
  16. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -1
  17. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +93 -0
  18. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  19. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +94 -1
  20. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
  21. package/dist/martyrs/src/components/Feed/{Feed.vue.cjs → Feed.vue2.cjs} +4 -4
  22. package/dist/martyrs/src/components/Feed/Feed.vue2.cjs.map +1 -0
  23. package/dist/martyrs/src/components/Feed/{Feed.vue.js → Feed.vue2.js} +4 -4
  24. package/dist/martyrs/src/components/Feed/{Feed.vue.cjs.map → Feed.vue2.js.map} +1 -1
  25. package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +2 -2
  26. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
  27. package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +2 -2
  28. package/dist/martyrs/src/components/Field/{Field.vue.cjs.map → Field.vue2.js.map} +1 -1
  29. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +2 -2
  30. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  31. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs → BlockTags.vue2.cjs} +2 -2
  32. package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +1 -0
  33. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.js → BlockTags.vue2.js} +2 -2
  34. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs.map → BlockTags.vue2.js.map} +1 -1
  35. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  36. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  37. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  38. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  39. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs → Spoiler.vue2.cjs} +2 -2
  40. package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.cjs.map +1 -0
  41. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.js → Spoiler.vue2.js} +2 -2
  42. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs.map → Spoiler.vue2.js.map} +1 -1
  43. package/dist/martyrs/src/components/Tab/{Tab.vue.cjs → Tab.vue2.cjs} +2 -2
  44. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -0
  45. package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
  46. package/dist/martyrs/src/components/Tab/{Tab.vue.cjs.map → Tab.vue2.js.map} +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +3 -3
  50. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +3 -3
  51. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +3 -3
  52. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +3 -3
  53. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +4 -4
  54. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +4 -4
  55. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +2 -2
  56. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +2 -2
  57. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  59. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +2 -2
  60. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
  61. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +3 -3
  62. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +3 -3
  63. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +3 -3
  64. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
  65. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +3 -3
  66. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  67. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
  68. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
  69. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
  71. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  73. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
  75. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  77. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +4 -4
  78. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +4 -4
  79. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +1 -1
  81. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
  83. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  85. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  87. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  89. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +5 -5
  90. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +5 -5
  91. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +3 -3
  92. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +3 -3
  93. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +8 -6
  94. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  95. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +8 -6
  96. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  97. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  98. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  99. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +2 -2
  101. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +1 -1
  103. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  105. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +5 -5
  106. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +5 -5
  107. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +38 -30
  108. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +39 -31
  110. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
  111. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js +1 -1
  113. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  115. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  116. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  117. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  119. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +4 -2
  120. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +4 -2
  122. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  125. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  127. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +2 -2
  128. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +2 -2
  129. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  131. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.cjs → Filters.vue2.cjs} +9 -9
  132. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -0
  133. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.js → Filters.vue2.js} +10 -10
  134. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -0
  135. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  137. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +1 -1
  139. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +21 -1
  140. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +21 -1
  142. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  143. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +1 -1
  145. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +2 -2
  146. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  147. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  149. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  151. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +2 -2
  152. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  153. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +3 -3
  154. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -2
  155. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +4 -4
  156. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +4 -4
  157. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +3 -3
  158. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  159. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +3 -3
  160. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +2 -2
  162. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +2 -2
  163. package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -1
  164. package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +1 -1
  165. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  167. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  169. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  171. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  173. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  174. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  175. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  176. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
  177. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +2 -2
  178. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +2 -2
  179. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  180. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  181. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  182. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  183. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +3 -3
  184. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
  185. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  186. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  187. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +1 -1
  188. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +1 -1
  189. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +2 -2
  190. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +2 -2
  191. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +3 -3
  192. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -3
  193. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  195. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +3 -3
  196. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
  197. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  199. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  201. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
  203. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +7 -5
  204. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +8 -6
  206. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
  208. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  209. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
  210. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  211. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +2 -2
  212. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
  213. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +1 -1
  215. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +1 -1
  217. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +6 -4
  218. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  219. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +6 -4
  220. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  221. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  222. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  223. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +6 -6
  224. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  225. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +6 -6
  226. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +9 -7
  228. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs.map +1 -1
  229. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +9 -7
  230. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +3 -1
  232. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  233. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +3 -1
  234. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  237. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
  238. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  239. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +4 -4
  240. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +4 -4
  241. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +10 -10
  242. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +10 -10
  243. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  244. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  245. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +2 -2
  246. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +2 -2
  247. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +4 -4
  248. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +4 -4
  249. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +2 -2
  250. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +2 -2
  251. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +10 -10
  252. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +10 -10
  253. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +10 -10
  254. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +10 -10
  255. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +9 -9
  256. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +9 -9
  257. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  258. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  259. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +4 -4
  260. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -4
  261. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +2 -2
  262. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
  263. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  264. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  265. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +3 -3
  266. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
  267. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +3 -3
  268. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  269. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  270. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  271. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -2
  272. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
  273. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  274. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  275. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  276. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  277. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
  278. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +1 -1
  279. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +4 -2
  280. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  281. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -3
  282. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +4 -2
  284. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  285. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +5 -3
  286. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.cjs → THC.vue2.cjs} +2 -2
  288. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +1 -0
  289. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.js → THC.vue2.js} +2 -2
  290. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +1 -0
  291. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +2 -2
  292. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
  293. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +5 -5
  294. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +5 -5
  295. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  296. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  297. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +4 -4
  298. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
  299. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +8 -8
  300. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  301. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +8 -8
  302. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  303. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +2 -2
  304. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +2 -2
  305. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  306. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  307. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
  308. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
  309. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
  310. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
  311. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +7 -5
  312. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
  313. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +7 -5
  314. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  316. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  317. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  318. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  319. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  320. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  321. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
  322. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  323. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +3 -3
  324. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +3 -3
  325. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +2 -2
  326. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +2 -2
  327. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
  328. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
  329. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  330. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  331. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  332. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  333. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +3 -3
  334. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +3 -3
  335. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  336. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  337. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +1 -1
  338. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +1 -1
  339. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
  340. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  341. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +1 -1
  342. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
  343. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  344. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  345. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  346. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  347. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  348. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  349. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.cjs +1 -1
  350. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
  351. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  352. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  353. package/dist/martyrs.cjs.js +1 -1
  354. package/dist/martyrs.css +1 -1
  355. package/dist/martyrs.es.js +1 -1
  356. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  357. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  358. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  359. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  360. package/dist/style.css +6 -6
  361. package/dist/{web-C6njYH1C.js → web-BkaOiiSn.js} +1 -1
  362. package/dist/{web-CVdyxtLD.cjs → web-CROHFHoW.cjs} +1 -1
  363. package/package.json +1 -1
  364. package/src/builder/modes/ssr.prod.js +2 -0
  365. package/src/builder/modes/ssr.rspack.dev.js +2 -0
  366. package/src/builder/templates/page.js +4 -0
  367. package/src/builder/templates/screen.js +4 -0
  368. package/src/modules/events/components/pages/Event.vue +2 -0
  369. package/src/modules/globals/views/classes/globals.app.js +76 -48
  370. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +2 -0
  371. package/src/modules/globals/views/components/sections/Filters.vue +1 -1
  372. package/src/modules/globals/views/utils/vue-app-renderer.js +25 -1
  373. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  374. package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -0
  375. package/src/modules/orders/components/blocks/CardOrderVar1.vue +12 -1
  376. package/src/modules/orders/components/pages/OrderBackoffice.vue +2 -0
  377. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +1 -1
  378. package/src/modules/orders/components/pages/Orders.vue +2 -0
  379. package/src/modules/orders/components/partials/ShopCart.vue +2 -0
  380. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -0
  381. package/src/modules/products/components/elements/Price.vue +3 -0
  382. package/src/modules/products/components/pages/Products.vue +1 -1
  383. package/src/modules/products/components/sections/EditVariants.vue +2 -0
  384. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  385. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
  386. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +0 -1
  387. package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
  388. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +0 -1
  389. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  390. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  391. package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +0 -1
  392. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
  393. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue.cjs.map +0 -1
  394. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue.js.map +0 -1
  395. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
  396. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +0 -1
@@ -9,13 +9,14 @@ import _sfc_main$3 from "../../../globals/views/components/elements/PhotoStack.v
9
9
  import _sfc_main$1 from "../../../icons/entities/IconDate.vue.js";
10
10
  import { useRoute } from "vue-router";
11
11
  /* empty css */
12
+ import { useGlobalMixins } from "../../../globals/views/mixins/mixins.js";
12
13
  import SkeletonEvent from "../../../icons/skeletons/SkeletonEvent.vue.js";
13
14
  /* empty css */
15
+ /* empty css */
14
16
  /* empty css */
15
- /* empty css */
16
- /* empty css */
17
- /* empty css */
18
- /* empty css */
17
+ /* empty css */
18
+ /* empty css */
19
+ /* empty css */
19
20
  /* empty css */
20
21
  /* empty css */
21
22
  /* empty css */
@@ -58,6 +59,7 @@ const _sfc_main = {
58
59
  __name: "Event",
59
60
  setup(__props) {
60
61
  const route = useRoute();
62
+ const { returnCurrency, formatDate } = useGlobalMixins();
61
63
  const qrcode = ref(null);
62
64
  const handleTicketUpdate = ({ ticket, hasTicket, targetId }) => {
63
65
  mutations.handleTicketUpdate(event.value, ticket, hasTicket, targetId);
@@ -108,7 +110,7 @@ const _sfc_main = {
108
110
  fill: "rgb(var(--black))",
109
111
  class: "w-1r h-auto"
110
112
  }),
111
- createTextVNode(" " + toDisplayString(_ctx.formatDate(event.value.date.start)), 1)
113
+ createTextVNode(" " + toDisplayString(unref(formatDate)(event.value.date.start)), 1)
112
114
  ])) : createCommentVNode("", true),
113
115
  (openBlock(true), createElementBlock(Fragment, null, renderList(event.value.tags, (chip, index) => {
114
116
  return openBlock(), createElementBlock("span", {
@@ -138,7 +140,7 @@ const _sfc_main = {
138
140
  return openBlock(), createElementBlock("div", _hoisted_12, [
139
141
  createElementVNode("div", _hoisted_13, [
140
142
  createElementVNode("span", _hoisted_14, toDisplayString(ticketType.name), 1),
141
- createElementVNode("span", _hoisted_15, toDisplayString(ticketType.price) + " " + toDisplayString(_ctx.returnCurrency()), 1)
143
+ createElementVNode("span", _hoisted_15, toDisplayString(ticketType.price) + " " + toDisplayString(unref(returnCurrency)()), 1)
142
144
  ]),
143
145
  createElementVNode("a", {
144
146
  href: ticketType.link,
@@ -1 +1 @@
1
- {"version":3,"file":"Event.vue.js","sources":["../../../../../../../src/modules/events/components/pages/Event.vue"],"sourcesContent":["<template>\n <section id=\"eventPage\">\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"bg-light\">\n <SkeletonEvent\n v-if=\"isLoading\"\n v-for=\"i in 3\" :key=\"i\"\n />\n\n <HeroEvent\n v-if=\"!isLoading && event &&event.cover\"\n :content=\"{\n title: event.name,\n ticketLinkStripe: event.ticketLinkStripe,\n cover: event.cover,\n subtitle: event.subtitle,\n }\"\n :options=\"{\n date: event.date.start,\n }\"\n class=\"o-hidden\"\n />\n\n <div class=\"cols-2-2_1 gap-small bg-white t-black pd-t-zero mobile:pd-small pd-extra\" v-if=\"!isLoading && event\"> \n \n <div class=\"bg-light mobile:pd-medium pd-big radius-big\">\n\n <h1 class=\"z-index-1 mn-b-semi\">\n {{event?.name}}\n </h1>\n\n <div class=\"flex flex-wrap gap-micro t-medium p-semi mn-b-semi justify-start align-center\">\n <span v-if=\"event.date?.start\" class=\"mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white\">\n <IconDate :fill=\"'rgb(var(--black))'\" class=\"w-1r h-auto\"/>\n {{formatDate(event.date.start)}}\n </span>\n\n\n <span\n v-for=\"(chip, index) in event.tags\"\n :key=\"index\"\n class=\"d-inline-flex pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small bg-main\"\n >\n {{ chip }}\n </span>\n </div>\n\n <p class=\"z-index-1 p-semi mn-b-semi\">\n {{event?.description}}\n </p>\n\n <hr v-if=\"event?.content?.length > 0\" class=\"bg-black-transp-10 mn-b-semi mn-t-semi d-block\">\n\n <Viewer\n v-if=\"event && event.content\"\n :content=\"event.content\"\n :notitle=\"true\"\n />\n\n </div>\n\n <div class=\"\">\n \n <div class=\"radius-semi pd-medium bg-light mn-b-thin\">\n\n <div class=\"mn-b-small flex-nowrap flex-v-center flex pos-relative\">\n <h4 class=\"mn-r-auto\">Tickets</h4>\n <PhotoStack\n :number=\"event.numberOfTickets\"\n :photos=\"event.participantsPhotos\" \n />\n </div>\n <div v-if=\"event?.ticketsTypes?.length > 0\" v-for=\"ticketType in event.ticketsTypes\" class=\"pd-medium w-100 radius-medium bg-white mn-b-small\">\n <div class=\"flex-nowrap mn-b-small p-semi flex\">\n <span class=\"mn-r-auto\">{{ticketType.name}}</span>\n <span class=\"t-medium\">{{ticketType.price}} {{returnCurrency()}}</span>\n </div>\n <a :href=\"ticketType.link\" class=\"d-block t-center pd-l-medium pd-r-medium pd-t-small pd-b-small radius-extra uppercase t-medium t-white w-100 bg-second \">\n Buy Now\n </a>\n </div>\n\n <ButtonJoin \n v-if=\"auth.state.user._id && !event?.ticketsTypes?.length > 0\"\n :type=\"'event'\" \n :hasTicket=\"event.hasTicket\" \n :targetId=\"event._id\" \n :userId=\"auth.state.user._id\"\n class=\" w-100 pd-medium mn-auto\"\n @updateTicket=\"handleTicketUpdate\"\n />\n\n <p v-if=\"event?.ticketsTypes.length > 0\" class=\"z-index-1 t-transp p-small mn-t-small \">Buy ticket online with special price:</p>\n <Countdown \n v-if=\"event?.date?.start && event?.ticketsTypes?.length > 0\"\n class=\"mn-t-thin radius-medium bg-white w-100\"\n :date=\"event?.date?.start\"\n />\n </div>\n\n\n </div>\n\n <Comments \n v-if=\"!isLoading && event\" \n :type=\"'event'\" \n :target=\"event._id\" \n :owner=\"auth.state.user._id\"\n class=\"bg-light radius-medium mobile:radius-zero pd-medium\"\n />\n\n </div>\n \n </TransitionGroup> \n\n </section>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue';\n\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport Chips from '@martyrs/src/components/Chips/Chips.vue';\nimport EmptyState from '@martyrs/src/components/EmptyState/EmptyState.vue';\n\nimport Viewer from '@martyrs/src/modules/constructor/components/sections/Viewer.vue';\n\nimport Countdown from \"@martyrs/src/components/Countdown/Countdown.vue\";\n\nimport HeroEvent from '@martyrs/src/modules/events/components/sections/HeroEvent.vue';\n\nimport PhotoStack from \"@martyrs/src/modules/globals/views/components/elements/PhotoStack.vue\";\n\nimport { SkeletonEvent, IconDate } from '@martyrs/src/modules/icons/icons.client.js';\n\nimport ButtonJoin from '@martyrs/src/modules/events/components/elements/ButtonJoin.vue';\nimport Comments from '@martyrs/src/modules/community/components/sections/Comments.vue';\n\nimport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\nimport User from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\n\nimport * as events from '@martyrs/src/modules/events/store/events.js';\nimport * as tickets from '@martyrs/src/modules/events/store/tickets.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n\nimport { useRoute } from 'vue-router';\n\nconst route = useRoute();\nconst qrcode = ref(null);\n\nconst handleTicketUpdate = ({ ticket, hasTicket, targetId }) => {\n tickets.mutations.handleTicketUpdate(event.value, ticket, hasTicket, targetId);\n console.log('HANDLE TICKET UPDATE', ticket, event.value);\n qrcode.value = ticket.qrcode;\n};\n\nfunction clickBuyTicket() {\n gtag('event', 'buy_ticket', {\n 'event_category': 'conversion',\n 'event_label': 'Buy Ticket'\n });\n}\n\nconst event = ref(null);\nconst isLoading = ref(true);\n\nonMounted(async () => {\n isLoading.value = true;\n\n const data = await events.read({\n user: auth.state.user._id,\n url: route.params.url\n });\n\n event.value = data[0];\n isLoading.value = false;\n});\n</script>\n\n\n<style>\n #eventPage {\n display: block;\n }\n</style>"],"names":["tickets.mutations","events.read","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkJA,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,IAAI,IAAI;AAEvB,UAAM,qBAAqB,CAAC,EAAE,QAAQ,WAAW,SAAQ,MAAO;AAC9DA,gBAAkB,mBAAmB,MAAM,OAAO,QAAQ,WAAW,QAAQ;AAC7E,cAAQ,IAAI,wBAAwB,QAAQ,MAAM,KAAK;AACvD,aAAO,QAAQ,OAAO;AAAA,IACxB;AASA,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,YAAY,IAAI,IAAI;AAE1B,cAAU,YAAY;AACnB,gBAAU,QAAQ;AAElB,YAAM,OAAO,MAAMC,KAAY;AAAA,QAC5B,MAAMC,MAAW,KAAK;AAAA,QACtB,KAAK,MAAM,OAAO;AAAA,MACxB,CAAI;AAED,YAAM,QAAQ,KAAK,CAAC;AACpB,gBAAU,QAAQ;AAAA,IACrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Event.vue.js","sources":["../../../../../../../src/modules/events/components/pages/Event.vue"],"sourcesContent":["<template>\n <section id=\"eventPage\">\n <TransitionGroup tag=\"ul\" name=\"fade\" class=\"bg-light\">\n <SkeletonEvent\n v-if=\"isLoading\"\n v-for=\"i in 3\" :key=\"i\"\n />\n\n <HeroEvent\n v-if=\"!isLoading && event &&event.cover\"\n :content=\"{\n title: event.name,\n ticketLinkStripe: event.ticketLinkStripe,\n cover: event.cover,\n subtitle: event.subtitle,\n }\"\n :options=\"{\n date: event.date.start,\n }\"\n class=\"o-hidden\"\n />\n\n <div class=\"cols-2-2_1 gap-small bg-white t-black pd-t-zero mobile:pd-small pd-extra\" v-if=\"!isLoading && event\"> \n \n <div class=\"bg-light mobile:pd-medium pd-big radius-big\">\n\n <h1 class=\"z-index-1 mn-b-semi\">\n {{event?.name}}\n </h1>\n\n <div class=\"flex flex-wrap gap-micro t-medium p-semi mn-b-semi justify-start align-center\">\n <span v-if=\"event.date?.start\" class=\"mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white\">\n <IconDate :fill=\"'rgb(var(--black))'\" class=\"w-1r h-auto\"/>\n {{formatDate(event.date.start)}}\n </span>\n\n\n <span\n v-for=\"(chip, index) in event.tags\"\n :key=\"index\"\n class=\"d-inline-flex pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small bg-main\"\n >\n {{ chip }}\n </span>\n </div>\n\n <p class=\"z-index-1 p-semi mn-b-semi\">\n {{event?.description}}\n </p>\n\n <hr v-if=\"event?.content?.length > 0\" class=\"bg-black-transp-10 mn-b-semi mn-t-semi d-block\">\n\n <Viewer\n v-if=\"event && event.content\"\n :content=\"event.content\"\n :notitle=\"true\"\n />\n\n </div>\n\n <div class=\"\">\n \n <div class=\"radius-semi pd-medium bg-light mn-b-thin\">\n\n <div class=\"mn-b-small flex-nowrap flex-v-center flex pos-relative\">\n <h4 class=\"mn-r-auto\">Tickets</h4>\n <PhotoStack\n :number=\"event.numberOfTickets\"\n :photos=\"event.participantsPhotos\" \n />\n </div>\n <div v-if=\"event?.ticketsTypes?.length > 0\" v-for=\"ticketType in event.ticketsTypes\" class=\"pd-medium w-100 radius-medium bg-white mn-b-small\">\n <div class=\"flex-nowrap mn-b-small p-semi flex\">\n <span class=\"mn-r-auto\">{{ticketType.name}}</span>\n <span class=\"t-medium\">{{ticketType.price}} {{returnCurrency()}}</span>\n </div>\n <a :href=\"ticketType.link\" class=\"d-block t-center pd-l-medium pd-r-medium pd-t-small pd-b-small radius-extra uppercase t-medium t-white w-100 bg-second \">\n Buy Now\n </a>\n </div>\n\n <ButtonJoin \n v-if=\"auth.state.user._id && !event?.ticketsTypes?.length > 0\"\n :type=\"'event'\" \n :hasTicket=\"event.hasTicket\" \n :targetId=\"event._id\" \n :userId=\"auth.state.user._id\"\n class=\" w-100 pd-medium mn-auto\"\n @updateTicket=\"handleTicketUpdate\"\n />\n\n <p v-if=\"event?.ticketsTypes.length > 0\" class=\"z-index-1 t-transp p-small mn-t-small \">Buy ticket online with special price:</p>\n <Countdown \n v-if=\"event?.date?.start && event?.ticketsTypes?.length > 0\"\n class=\"mn-t-thin radius-medium bg-white w-100\"\n :date=\"event?.date?.start\"\n />\n </div>\n\n\n </div>\n\n <Comments \n v-if=\"!isLoading && event\" \n :type=\"'event'\" \n :target=\"event._id\" \n :owner=\"auth.state.user._id\"\n class=\"bg-light radius-medium mobile:radius-zero pd-medium\"\n />\n\n </div>\n \n </TransitionGroup> \n\n </section>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue';\n\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport Chips from '@martyrs/src/components/Chips/Chips.vue';\nimport EmptyState from '@martyrs/src/components/EmptyState/EmptyState.vue';\n\nimport Viewer from '@martyrs/src/modules/constructor/components/sections/Viewer.vue';\n\nimport Countdown from \"@martyrs/src/components/Countdown/Countdown.vue\";\n\nimport HeroEvent from '@martyrs/src/modules/events/components/sections/HeroEvent.vue';\n\nimport PhotoStack from \"@martyrs/src/modules/globals/views/components/elements/PhotoStack.vue\";\n\nimport { SkeletonEvent, IconDate } from '@martyrs/src/modules/icons/icons.client.js';\n\nimport ButtonJoin from '@martyrs/src/modules/events/components/elements/ButtonJoin.vue';\nimport Comments from '@martyrs/src/modules/community/components/sections/Comments.vue';\n\nimport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\nimport User from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\n\nimport * as events from '@martyrs/src/modules/events/store/events.js';\nimport * as tickets from '@martyrs/src/modules/events/store/tickets.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n\nimport { useRoute } from 'vue-router';\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\nconst route = useRoute();\nconst { returnCurrency, formatDate } = useGlobalMixins();\nconst qrcode = ref(null);\n\nconst handleTicketUpdate = ({ ticket, hasTicket, targetId }) => {\n tickets.mutations.handleTicketUpdate(event.value, ticket, hasTicket, targetId);\n console.log('HANDLE TICKET UPDATE', ticket, event.value);\n qrcode.value = ticket.qrcode;\n};\n\nfunction clickBuyTicket() {\n gtag('event', 'buy_ticket', {\n 'event_category': 'conversion',\n 'event_label': 'Buy Ticket'\n });\n}\n\nconst event = ref(null);\nconst isLoading = ref(true);\n\nonMounted(async () => {\n isLoading.value = true;\n\n const data = await events.read({\n user: auth.state.user._id,\n url: route.params.url\n });\n\n event.value = data[0];\n isLoading.value = false;\n});\n</script>\n\n\n<style>\n #eventPage {\n display: block;\n }\n</style>"],"names":["tickets.mutations","events.read","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmJA,UAAM,QAAQ,SAAQ;AACtB,UAAM,EAAE,gBAAgB,WAAU,IAAK,gBAAe;AACtD,UAAM,SAAS,IAAI,IAAI;AAEvB,UAAM,qBAAqB,CAAC,EAAE,QAAQ,WAAW,SAAQ,MAAO;AAC9DA,gBAAkB,mBAAmB,MAAM,OAAO,QAAQ,WAAW,QAAQ;AAC7E,cAAQ,IAAI,wBAAwB,QAAQ,MAAM,KAAK;AACvD,aAAO,QAAQ,OAAO;AAAA,IACxB;AASA,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,YAAY,IAAI,IAAI;AAE1B,cAAU,YAAY;AACnB,gBAAU,QAAQ;AAElB,YAAM,OAAO,MAAMC,KAAY;AAAA,QAC5B,MAAMC,MAAW,KAAK;AAAA,QACtB,KAAK,MAAM,OAAO;AAAA,MACxB,CAAI;AAED,YAAM,QAAQ,KAAK,CAAC;AACpB,gBAAU,QAAQ;AAAA,IACrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  require("vue-i18n");
6
6
  ;/* empty css */
7
- const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
+ const Feed = require("../../../../components/Feed/Feed.vue2.cjs");
8
8
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
9
9
  const DatePicker = require("../../../../components/DatePicker/DatePicker.vue.cjs");
10
10
  const CitySelection = require("../../../globals/views/components/partials/CitySelection.vue.cjs");
@@ -2,7 +2,7 @@ import { ref, createElementBlock, openBlock, createElementVNode, createVNode, cr
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import "vue-i18n";
4
4
  /* empty css */
5
- import _sfc_main$6 from "../../../../components/Feed/Feed.vue.js";
5
+ import _sfc_main$6 from "../../../../components/Feed/Feed.vue2.js";
6
6
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
7
7
  import _sfc_main$1 from "../../../../components/DatePicker/DatePicker.vue.js";
8
8
  import _sfc_main$3 from "../../../globals/views/components/partials/CitySelection.vue.js";
@@ -2,8 +2,8 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
- const Feed = require("../../../../components/Feed/Feed.vue.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
6
+ const Feed = require("../../../../components/Feed/Feed.vue2.cjs");
7
7
  ;/* empty css */
8
8
  const CardEvent = require("../blocks/CardEvent.vue.cjs");
9
9
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -1,7 +1,7 @@
1
1
  import { ref, watch, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, createBlock, createVNode, isRef, withCtx, Fragment, renderList, withModifiers } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$1 from "../../../../components/Tab/Tab.vue.js";
4
- import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
3
+ import _sfc_main$1 from "../../../../components/Tab/Tab.vue2.js";
4
+ import _sfc_main$2 from "../../../../components/Feed/Feed.vue2.js";
5
5
  /* empty css */
6
6
  import _sfc_main$3 from "../blocks/CardEvent.vue.js";
7
7
  import { state } from "../../../auth/views/store/auth.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Feed = require("../../../../components/Feed/Feed.vue.cjs");
5
+ const Feed = require("../../../../components/Feed/Feed.vue2.cjs");
6
6
  const CardEvent = require("../blocks/CardEvent.vue.cjs");
7
7
  const auth = require("../../../auth/views/store/auth.cjs");
8
8
  const events = require("../../store/events.cjs");
@@ -1,6 +1,6 @@
1
1
  import { computed, createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, withCtx, Fragment, renderList, createBlock } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$1 from "../../../../components/Feed/Feed.vue.js";
3
+ import _sfc_main$1 from "../../../../components/Feed/Feed.vue2.js";
4
4
  import _sfc_main$2 from "../blocks/CardEvent.vue.js";
5
5
  import { state } from "../../../auth/views/store/auth.js";
6
6
  import { state as state$1, read } from "../../store/events.js";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Feed = require("../../../../components/Feed/Feed.vue.cjs");
4
+ const Feed = require("../../../../components/Feed/Feed.vue2.cjs");
5
5
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
6
6
  const PhotoViewer = require("../../../../components/PhotoViewer/PhotoViewer.vue.cjs");
7
7
  const SectionPageTitle = require("../../../globals/views/components/sections/SectionPageTitle.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { ref, createElementBlock, openBlock, createVNode, withCtx, unref, isRef, Fragment, renderList, createElementVNode } from "vue";
2
- import _sfc_main$3 from "../../../../components/Feed/Feed.vue.js";
2
+ import _sfc_main$3 from "../../../../components/Feed/Feed.vue2.js";
3
3
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
4
4
  import PhotoViewer from "../../../../components/PhotoViewer/PhotoViewer.vue.js";
5
5
  import _sfc_main$1 from "../../../globals/views/components/sections/SectionPageTitle.vue.js";
@@ -2,20 +2,20 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- ;/* empty css */
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
5
+ ;/* empty css */
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
7
7
  ;/* empty css */
8
8
  const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
9
9
  ;/* empty css */
10
10
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
11
- const Feed = require("../../../../components/Feed/Feed.vue.cjs");
11
+ const Feed = require("../../../../components/Feed/Feed.vue2.cjs");
12
12
  const PhotoViewer = require("../../../../components/PhotoViewer/PhotoViewer.vue.cjs");
13
13
  const auth = require("../../../auth/views/store/auth.cjs");
14
14
  const gallery = require("../../store/gallery.cjs");
15
15
  const CardHeader = require("../../../globals/views/components/blocks/CardHeader.vue.cjs");
16
16
  const SectionPageTitle = require("../../../globals/views/components/sections/SectionPageTitle.vue.cjs");
17
- const EditImages = require("../../../../components/EditImages/EditImages.vue.cjs");
18
- const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
17
+ const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
18
+ const BlockTags = require("../../../../components/FieldTags/BlockTags.vue2.cjs");
19
19
  const _hoisted_1 = { class: "cols-1 gap-thin pd-thin" };
20
20
  const _hoisted_2 = { class: "pos-relative" };
21
21
  const _hoisted_3 = ["src", "onClick"];
@@ -1,19 +1,19 @@
1
1
  import { ref, createElementBlock, openBlock, createVNode, unref, isRef, withCtx, Fragment, renderList, createElementVNode, toDisplayString, createBlock, createCommentVNode, createTextVNode } from "vue";
2
2
  import { useRoute } from "vue-router";
3
- /* empty css */
4
- import _sfc_main$8 from "../../../../components/Button/Button.vue2.js";
3
+ /* empty css */
4
+ import _sfc_main$8 from "../../../../components/Button/Button.vue.js";
5
5
  /* empty css */
6
6
  import _sfc_main$4 from "../../../../components/Chips/Chips.vue2.js";
7
7
  /* empty css */
8
8
  import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
9
- import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
9
+ import _sfc_main$2 from "../../../../components/Feed/Feed.vue2.js";
10
10
  import PhotoViewer from "../../../../components/PhotoViewer/PhotoViewer.vue.js";
11
11
  import { state } from "../../../auth/views/store/auth.js";
12
12
  import gallery from "../../store/gallery.js";
13
13
  import _sfc_main$3 from "../../../globals/views/components/blocks/CardHeader.vue.js";
14
14
  import _sfc_main$1 from "../../../globals/views/components/sections/SectionPageTitle.vue.js";
15
- import _sfc_main$6 from "../../../../components/EditImages/EditImages.vue.js";
16
- import _sfc_main$7 from "../../../../components/FieldTags/BlockTags.vue.js";
15
+ import _sfc_main$6 from "../../../../components/EditImages/EditImages.vue2.js";
16
+ import _sfc_main$7 from "../../../../components/FieldTags/BlockTags.vue2.js";
17
17
  const _hoisted_1 = { class: "cols-1 gap-thin pd-thin" };
18
18
  const _hoisted_2 = { class: "pos-relative" };
19
19
  const _hoisted_3 = ["src", "onClick"];
@@ -53,6 +53,10 @@ function createUniversalApp({
53
53
  const router = getRouter(context);
54
54
  context.router = router;
55
55
  const initCriticalModules = async () => {
56
+ const isSSRHydration = typeof window !== "undefined" && !process.env.MOBILE_APP;
57
+ if (isSSRHydration) {
58
+ return;
59
+ }
56
60
  const criticalModules = ["globals", "auth", "organizations", "backoffice"];
57
61
  for (const moduleName of criticalModules) {
58
62
  try {
@@ -64,12 +68,29 @@ function createUniversalApp({
64
68
  }
65
69
  };
66
70
  if (typeof window !== "undefined") {
71
+ const originalPush = router.push.bind(router);
72
+ router.replace.bind(router);
73
+ async function paintNow() {
74
+ await vue.nextTick();
75
+ await new Promise(requestAnimationFrame);
76
+ await new Promise(requestAnimationFrame);
77
+ await new Promise((r) => setTimeout(r, 0));
78
+ }
79
+ router.push = async (...args) => {
80
+ store.globals.state.loading = true;
81
+ await paintNow();
82
+ setTimeout(() => {
83
+ originalPush(...args);
84
+ }, 0);
85
+ return Promise.resolve();
86
+ };
67
87
  router.beforeEach(async (to, from) => {
68
- const requiredModules = moduleRegistry.getModulesForRoute(to.path);
88
+ const target = to.redirectedFrom || to;
89
+ const requiredModules = moduleRegistry.getModulesForRoute(target.path);
69
90
  const modulesToLoad = requiredModules.filter((m) => !moduleRegistry.initialized.has(m.name));
70
91
  if (modulesToLoad.length > 0) {
71
- if (store.globals && store.globals.state) {
72
- store.globals.state.loading = true;
92
+ if (to.redirectedFrom) {
93
+ console.log("[Router] Loading modules for redirected path:", target.path, "modules:", modulesToLoad.map((m) => m.name));
73
94
  }
74
95
  for (const module2 of modulesToLoad) {
75
96
  try {
@@ -79,10 +100,13 @@ function createUniversalApp({
79
100
  console.error(`Failed to load module ${module2.name}:`, error);
80
101
  }
81
102
  }
82
- return to.fullPath;
103
+ return { path: target.fullPath, replace: true };
83
104
  }
84
105
  });
85
106
  }
107
+ router.beforeResolve(async (to, from) => {
108
+ store.globals.state.loading = false;
109
+ });
86
110
  if (typeof window !== "undefined") {
87
111
  window.addEventListener("error", (e) => {
88
112
  if (e.message && e.message.includes("Loading chunk")) {
@@ -121,7 +145,8 @@ function createUniversalApp({
121
145
  store,
122
146
  i18n,
123
147
  meta,
124
- moduleRegistry
148
+ moduleRegistry,
149
+ config
125
150
  };
126
151
  };
127
152
  if (!process.env.MOBILE_APP) {
@@ -135,6 +160,11 @@ function createUniversalApp({
135
160
  const { setSSRStore } = await Promise.resolve().then(() => require("./store.cjs"));
136
161
  setSSRStore(store);
137
162
  }
163
+ if (typeof window === "undefined") {
164
+ moduleRegistry2.initialized.clear();
165
+ moduleRegistry2.modules.clear();
166
+ moduleRegistry2.loadingPromises.clear();
167
+ }
138
168
  const context = {
139
169
  app,
140
170
  store,
@@ -173,31 +203,9 @@ function createUniversalApp({
173
203
  if (hooks.afterHydration) {
174
204
  hooks.afterHydration({ app, router, store, moduleRegistry: moduleRegistry2 });
175
205
  }
176
- const context = { app, store, router, config };
177
- moduleRegistry2.load("auth", context).then(() => {
178
- setTimeout(async () => {
179
- try {
180
- await Promise.all([
181
- moduleRegistry2.load("organizations", context),
182
- moduleRegistry2.load("backoffice", context)
183
- ]);
184
- } catch (error) {
185
- console.error("Error loading core modules:", error);
186
- }
187
- }, 0);
188
- requestIdleCallback(async () => {
189
- try {
190
- await moduleRegistry2.load("notifications", context);
191
- if (typeof window !== "undefined") {
192
- window.performance.mark("client-ready");
193
- }
194
- } catch (error) {
195
- console.error("Error loading non-critical modules:", error);
196
- }
197
- });
198
- }).catch((error) => {
199
- console.error("Error loading auth module:", error);
200
- });
206
+ if (typeof window !== "undefined") {
207
+ window.performance.mark("client-ready");
208
+ }
201
209
  }).catch((error) => {
202
210
  console.error("Hydration failed:", error);
203
211
  });
@@ -1 +1 @@
1
- {"version":3,"file":"globals.app.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.app.js"],"sourcesContent":["// client-factory.js - фабрика для создания клиентского приложения\nimport { createApp as createVueApp, createSSRApp as createVueSSRApp } from 'vue';\nimport { createHead } from '@unhead/vue';\n\nexport function createUniversalApp({\n getConfig,\n getRouter,\n getLocales,\n getStore,\n getHooks = {}\n}) {\n // Lazy imports to avoid circular dependencies\n const getLayoutApp = () => import('../components/layouts/App.vue').then(m => m.default);\n const getModuleRegistry = () => import('./module-registry.js').then(m => m.moduleRegistry);\n const getWebsockets = () => import('./globals.websocket.js').then(m => m.default);\n const getAppRenderer = () => import('../utils/vue-app-renderer.js');\n \n // Асинхронная инициализация для избежания циклических зависимостей\n async function initializeApp() {\n // Создаем конфигурацию\n const config = await getConfig();\n const hooks = getHooks;\n \n const [layoutApp, moduleRegistry, globalWebSocket, appRenderer] = await Promise.all([\n getLayoutApp(),\n getModuleRegistry(),\n getWebsockets(),\n getAppRenderer()\n ]);\n \n // Регистрация модуля globals первым\n moduleRegistry.register('globals', {\n loader: () => import('../../globals.client.js'),\n critical: true,\n priority: 'critical'\n });\n \n // Регистрация модулей из config\n Object.entries(config.modules).forEach(([name, module]) => {\n if (module.loader) {\n moduleRegistry.register(name, {\n loader: module.loader,\n routes: module.routes || [],\n priority: module.priority || 'normal',\n critical: module.critical || false,\n dependencies: module.dependencies || [],\n preload: module.preload || false\n });\n }\n });\n \n // Основная функция создания приложения\n function createApp() {\n const store = getStore();\n const app = process.env.MOBILE_APP \n ? createVueApp(layoutApp, config) \n : createVueSSRApp(layoutApp, config);\n \n const meta = createHead();\n const i18n = getLocales();\n \n const context = {\n app,\n store,\n router: null,\n config,\n };\n \n // Создаем роутер с контекстом\n const router = getRouter(context);\n context.router = router;\n \n // Загружаем только критические модули синхронно\n const initCriticalModules = async () => {\n // Критические модули одинаковые для всех проектов\n const criticalModules = ['globals', 'auth', 'organizations', 'backoffice'];\n \n for (const moduleName of criticalModules) {\n try {\n await moduleRegistry.load(moduleName, context);\n await moduleRegistry.initialize(moduleName, context);\n } catch (error) {\n console.error(`Failed to load critical module ${moduleName}:`, error);\n }\n }\n };\n \n // Router guard для загрузки модулей ДО навигации (только на клиенте)\n if (typeof window !== 'undefined') {\n router.beforeEach(async (to, from) => {\n // Получаем модули для маршрута\n const requiredModules = moduleRegistry.getModulesForRoute(to.path);\n \n // Проверяем, какие модули еще не загружены\n const modulesToLoad = requiredModules.filter(m => !moduleRegistry.initialized.has(m.name));\n \n if (modulesToLoad.length > 0) {\n // Показываем глобальный лоадер\n if (store.globals && store.globals.state) {\n store.globals.state.loading = true;\n }\n \n // Загружаем и инициализируем модули\n for (const module of modulesToLoad) {\n try {\n await moduleRegistry.load(module.name, context);\n await moduleRegistry.initialize(module.name, context);\n } catch (error) {\n console.error(`Failed to load module ${module.name}:`, error);\n }\n }\n \n // Лоадер остается включенным - страница сама выключит через globals.state.loading = false\n \n // После загрузки модулей и регистрации их роутов,\n // возвращаем тот же путь для повторной навигации с новыми роутами\n return to.fullPath;\n }\n });\n }\n \n // Error handler для lazy loaded chunks\n if (typeof window !== 'undefined') {\n window.addEventListener('error', (e) => {\n if (e.message && e.message.includes('Loading chunk')) {\n console.error('Chunk loading failed:', e);\n // Можно показать уведомление пользователю\n // или попытаться перезагрузить\n }\n });\n }\n \n // Инициализация в правильном порядке\n const initialize = async () => {\n // Хук ДО инициализации\n if (hooks.beforeInitialize) {\n await hooks.beforeInitialize(context);\n }\n \n // 1. Критические модули\n await initCriticalModules();\n \n // 2. WebSocket (отложим после гидратации)\n if (typeof window !== 'undefined') {\n // Откладываем инициализацию WebSocket после гидратации\n requestIdleCallback(() => {\n globalWebSocket.initialize({\n wsUrl: process.env.WSS_URL || undefined,\n maxReconnectAttempts: 5,\n reconnectDelay: 3000,\n pingInterval: 30000,\n });\n });\n \n // 3. Предзагрузка важных модулей в фоне\n requestIdleCallback(() => {\n moduleRegistry.preloadModules(context);\n });\n }\n \n // 5. Подключаем Vue плагины\n app.use(router).use(i18n).use(meta);\n \n // 6. Монтируем приложение\n if (process.env.MOBILE_APP) {\n app.mount('#app');\n }\n\n // Хук ПОСЛЕ инициализации\n if (hooks.afterInitialize) {\n await hooks.afterInitialize(context);\n }\n \n return {\n app,\n router,\n store,\n i18n,\n meta,\n moduleRegistry,\n };\n };\n \n // Возвращаем промис для SSR\n if (!process.env.MOBILE_APP) {\n return initialize();\n }\n \n // Для SPA инициализируем сразу\n initialize();\n }\n \n // FOR SSR / SERVER ENTRY\n async function renderApp({ url, cookies, languages, ssrContext }) {\n const { app, router, store, i18n, meta, moduleRegistry } = await createApp();\n \n // Set SSR store for useStore calls\n if (typeof window === 'undefined') {\n const { setSSRStore } = await import('./store.js');\n setSSRStore(store);\n }\n \n \n // if (typeof window === 'undefined') {\n // moduleRegistry.initialized.clear();\n // moduleRegistry.modules.clear();\n // moduleRegistry.loadingPromises.clear();\n \n // // На сервере загружаем auth для SSR рендеринга (vue-app-renderer требует его)\n // const context = { app, store, router, config };\n // await moduleRegistry.load('globals', context);\n // await moduleRegistry.initialize('globals', context);\n // await moduleRegistry.load('auth', context);\n // await moduleRegistry.initialize('auth', context);\n // }\n \n const context = {\n app,\n store,\n router,\n config,\n ssr: true,\n };\n \n // Для SSR загружаем модули для текущего маршрута\n const requiredModules = moduleRegistry.getModulesForRoute(url);\n \n // Собираем имена модулей которые нужны для текущего роута\n const currentRouteModules = [];\n \n // Загружаем необходимые модули для SSR\n for (const module of requiredModules) {\n await moduleRegistry.load(module.name, context);\n await moduleRegistry.initialize(module.name, context);\n currentRouteModules.push(module.name);\n }\n \n // После загрузки модулей и регистрации роутов, выполняем навигацию\n await router.push(url);\n await router.isReady();\n \n const result = await appRenderer.render({\n url,\n cookies,\n createApp: () => ({ app, router, store, i18n, meta }),\n ssrContext\n });\n \n if (ssrContext?.modules) {\n result.usedModules = Array.from(ssrContext.modules);\n }\n \n // Передаем только модули текущего роута + критические модули\n // Это не реальные модули а метаданные для дегидратации\n const criticalModules = ['globals', 'auth', 'organizations', 'backoffice'];\n const allModulesForRoute = [...new Set([...criticalModules, ...currentRouteModules])];\n \n result.loadedModules = allModulesForRoute;\n \n return result;\n }\n \n // FOR SPA\n if (typeof window !== 'undefined' && process.env.MOBILE_APP) {\n createApp();\n }\n \n // FOR SSR / CLIENT ENTRY\n if (typeof window !== 'undefined' && !process.env.MOBILE_APP) {\n // Используем renderAndMountApp для правильной гидратации со state\n appRenderer.renderAndMountApp({ createApp, hooks }).then(({ app, router, store, moduleRegistry }) => {\n // Хук ПОСЛЕ гидратации\n if (hooks.afterHydration) {\n hooks.afterHydration({ app, router, store, moduleRegistry });\n }\n \n // Создаем context для загрузки модулей\n const context = { app, store, router, config };\n \n // Загружаем auth модуль сразу - он критичен\n moduleRegistry.load('auth', context).then(() => {\n // Загружаем важные модули в следующем тике\n setTimeout(async () => {\n try {\n await Promise.all([\n moduleRegistry.load('organizations', context),\n moduleRegistry.load('backoffice', context),\n ]);\n } catch (error) {\n console.error('Error loading core modules:', error);\n }\n }, 0);\n \n // Загружаем некритичные модули когда браузер idle\n requestIdleCallback(async () => {\n try {\n await moduleRegistry.load('notifications', context);\n // Маркер для тестов\n if (typeof window !== 'undefined') {\n window.performance.mark('client-ready');\n }\n } catch (error) {\n console.error('Error loading non-critical modules:', error);\n }\n });\n }).catch(error => {\n console.error('Error loading auth module:', error);\n });\n }).catch(error => {\n console.error('Hydration failed:', error);\n });\n }\n \n return { createApp, renderApp };\n }\n \n // Возвращаем промис, который резолвится с функциями\n return initializeApp();\n}"],"names":["module","createVueApp","createVueSSRApp","createHead","moduleRegistry"],"mappings":";;;;AAIO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,CAAA;AACb,GAAG;AAED,QAAM,eAAe,MAAM,qCAAO,mCAA+B,CAAA,EAAE,KAAK,OAAK,EAAE,OAAO;AACtF,QAAM,oBAAoB,MAAM,qCAAO,uBAAsB,CAAA,EAAE,KAAK,OAAK,EAAE,cAAc;AACzF,QAAM,gBAAgB,MAAM,qCAAO,yBAAwB,CAAA,EAAE,KAAK,OAAK,EAAE,OAAO;AAChF,QAAM,iBAAiB,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,+BAA8B,CAAA;AAGlE,iBAAe,gBAAgB;AAE7B,UAAM,SAAS,MAAM,UAAS;AAC9B,UAAM,QAAQ;AAEd,UAAM,CAAC,WAAW,gBAAgB,iBAAiB,WAAW,IAAI,MAAM,QAAQ,IAAI;AAAA,MAClF,aAAY;AAAA,MACZ,kBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,eAAc;AAAA,IACpB,CAAK;AAGD,mBAAe,SAAS,WAAW;AAAA,MACjC,QAAQ,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,0BAAyB,CAAA;AAAA,MAC9C,UAAU;AAAA,MACV,UAAU;AAAA,IAChB,CAAK;AAGD,WAAO,QAAQ,OAAO,OAAO,EAAE,QAAQ,CAAC,CAAC,MAAMA,OAAM,MAAM;AACzD,UAAIA,QAAO,QAAQ;AACjB,uBAAe,SAAS,MAAM;AAAA,UAC5B,QAAQA,QAAO;AAAA,UACf,QAAQA,QAAO,UAAU,CAAA;AAAA,UACzB,UAAUA,QAAO,YAAY;AAAA,UAC7B,UAAUA,QAAO,YAAY;AAAA,UAC7B,cAAcA,QAAO,gBAAgB,CAAA;AAAA,UACrC,SAASA,QAAO,WAAW;AAAA,QACrC,CAAS;AAAA,MACH;AAAA,IACF,CAAC;AAGD,aAAS,YAAY;AACnB,YAAM,QAAQ,SAAQ;AACtB,YAAM,MAAM,QAAQ,IAAI,aACpBC,IAAAA,UAAa,WAAW,MAAM,IAC9BC,IAAAA,aAAgB,WAAW,MAAM;AAErC,YAAM,OAAOC,aAAAA,EAAU;AACvB,YAAM,OAAO,WAAU;AAEvB,YAAM,UAAU;AAAA,QACd;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,MACR;AAGM,YAAM,SAAS,UAAU,OAAO;AAChC,cAAQ,SAAS;AAGjB,YAAM,sBAAsB,YAAY;AAEtC,cAAM,kBAAkB,CAAC,WAAW,QAAQ,iBAAiB,YAAY;AAEzE,mBAAW,cAAc,iBAAiB;AACxC,cAAI;AACF,kBAAM,eAAe,KAAK,YAAY,OAAO;AAC7C,kBAAM,eAAe,WAAW,YAAY,OAAO;AAAA,UACrD,SAAS,OAAO;AACd,oBAAQ,MAAM,kCAAkC,UAAU,KAAK,KAAK;AAAA,UACtE;AAAA,QACF;AAAA,MACF;AAGA,UAAI,OAAO,WAAW,aAAa;AACjC,eAAO,WAAW,OAAO,IAAI,SAAS;AAEpC,gBAAM,kBAAkB,eAAe,mBAAmB,GAAG,IAAI;AAGjE,gBAAM,gBAAgB,gBAAgB,OAAO,OAAK,CAAC,eAAe,YAAY,IAAI,EAAE,IAAI,CAAC;AAEzF,cAAI,cAAc,SAAS,GAAG;AAE5B,gBAAI,MAAM,WAAW,MAAM,QAAQ,OAAO;AACxC,oBAAM,QAAQ,MAAM,UAAU;AAAA,YAChC;AAGA,uBAAWH,WAAU,eAAe;AAClC,kBAAI;AACF,sBAAM,eAAe,KAAKA,QAAO,MAAM,OAAO;AAC9C,sBAAM,eAAe,WAAWA,QAAO,MAAM,OAAO;AAAA,cACtD,SAAS,OAAO;AACd,wBAAQ,MAAM,yBAAyBA,QAAO,IAAI,KAAK,KAAK;AAAA,cAC9D;AAAA,YACF;AAMA,mBAAO,GAAG;AAAA,UACZ;AAAA,QACF,CAAC;AAAA,MACH;AAGA,UAAI,OAAO,WAAW,aAAa;AACjC,eAAO,iBAAiB,SAAS,CAAC,MAAM;AACtC,cAAI,EAAE,WAAW,EAAE,QAAQ,SAAS,eAAe,GAAG;AACpD,oBAAQ,MAAM,yBAAyB,CAAC;AAAA,UAG1C;AAAA,QACF,CAAC;AAAA,MACH;AAGA,YAAM,aAAa,YAAY;AAE7B,YAAI,MAAM,kBAAkB;AAC1B,gBAAM,MAAM,iBAAiB,OAAO;AAAA,QACtC;AAGA,cAAM,oBAAmB;AAGzB,YAAI,OAAO,WAAW,aAAa;AAEjC,8BAAoB,MAAM;AACxB,4BAAgB,WAAW;AAAA,cACzB,OAAO,QAAQ,IAAI,WAAW;AAAA,cAC9B,sBAAsB;AAAA,cACtB,gBAAgB;AAAA,cAChB,cAAc;AAAA,YAC5B,CAAa;AAAA,UACH,CAAC;AAGD,8BAAoB,MAAM;AACxB,2BAAe,eAAe,OAAO;AAAA,UACvC,CAAC;AAAA,QACH;AAGA,YAAI,IAAI,MAAM,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI;AAGlC,YAAI,QAAQ,IAAI,YAAY;AAC1B,cAAI,MAAM,MAAM;AAAA,QAClB;AAGA,YAAI,MAAM,iBAAiB;AACzB,gBAAM,MAAM,gBAAgB,OAAO;AAAA,QACrC;AAEA,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACV;AAAA,MACM;AAGA,UAAI,CAAC,QAAQ,IAAI,YAAY;AAC3B,eAAO,WAAU;AAAA,MACnB;AAGA,iBAAU;AAAA,IACZ;AAGA,mBAAe,UAAU,EAAE,KAAK,SAAS,WAAW,WAAU,GAAI;AAChE,YAAM,EAAE,KAAK,QAAQ,OAAO,MAAM,MAAM,gBAAAI,oBAAmB,MAAM,UAAS;AAG1E,UAAI,OAAO,WAAW,aAAa;AACjC,cAAM,EAAE,YAAW,IAAK,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,aAAY,CAAA;AACjD,oBAAY,KAAK;AAAA,MACnB;AAgBA,YAAM,UAAU;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK;AAAA,MACb;AAGM,YAAM,kBAAkBA,gBAAe,mBAAmB,GAAG;AAG7D,YAAM,sBAAsB,CAAA;AAG5B,iBAAWJ,WAAU,iBAAiB;AACpC,cAAMI,gBAAe,KAAKJ,QAAO,MAAM,OAAO;AAC9C,cAAMI,gBAAe,WAAWJ,QAAO,MAAM,OAAO;AACpD,4BAAoB,KAAKA,QAAO,IAAI;AAAA,MACtC;AAGA,YAAM,OAAO,KAAK,GAAG;AACrB,YAAM,OAAO,QAAO;AAEpB,YAAM,SAAS,MAAM,YAAY,OAAO;AAAA,QACtC;AAAA,QACA;AAAA,QACA,WAAW,OAAO,EAAE,KAAK,QAAQ,OAAO,MAAM;QAC9C;AAAA,MACR,CAAO;AAED,UAAI,YAAY,SAAS;AACvB,eAAO,cAAc,MAAM,KAAK,WAAW,OAAO;AAAA,MACpD;AAIA,YAAM,kBAAkB,CAAC,WAAW,QAAQ,iBAAiB,YAAY;AACzE,YAAM,qBAAqB,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,iBAAiB,GAAG,mBAAmB,CAAC,CAAC;AAEpF,aAAO,gBAAgB;AAEvB,aAAO;AAAA,IACT;AAGA,QAAI,OAAO,WAAW,eAAe,QAAQ,IAAI,YAAY;AAC3D,gBAAS;AAAA,IACX;AAGA,QAAI,OAAO,WAAW,eAAe,CAAC,QAAQ,IAAI,YAAY;AAE5D,kBAAY,kBAAkB,EAAE,WAAW,MAAK,CAAE,EAAE,KAAK,CAAC,EAAE,KAAK,QAAQ,OAAO,gBAAAI,gBAAc,MAAO;AAEnG,YAAI,MAAM,gBAAgB;AACxB,gBAAM,eAAe,EAAE,KAAK,QAAQ,OAAO,gBAAAA,iBAAgB;AAAA,QAC7D;AAGA,cAAM,UAAU,EAAE,KAAK,OAAO,QAAQ,OAAM;AAG5C,QAAAA,gBAAe,KAAK,QAAQ,OAAO,EAAE,KAAK,MAAM;AAE5C,qBAAW,YAAY;AACrB,gBAAI;AACF,oBAAM,QAAQ,IAAI;AAAA,gBAChBA,gBAAe,KAAK,iBAAiB,OAAO;AAAA,gBAC5CA,gBAAe,KAAK,cAAc,OAAO;AAAA,cAC3D,CAAiB;AAAA,YACH,SAAS,OAAO;AACd,sBAAQ,MAAM,+BAA+B,KAAK;AAAA,YACpD;AAAA,UACF,GAAG,CAAC;AAGJ,8BAAoB,YAAY;AAC9B,gBAAI;AACF,oBAAMA,gBAAe,KAAK,iBAAiB,OAAO;AAElD,kBAAI,OAAO,WAAW,aAAa;AACjC,uBAAO,YAAY,KAAK,cAAc;AAAA,cACxC;AAAA,YACF,SAAS,OAAO;AACd,sBAAQ,MAAM,uCAAuC,KAAK;AAAA,YAC5D;AAAA,UACF,CAAC;AAAA,QACL,CAAC,EAAE,MAAM,WAAS;AAChB,kBAAQ,MAAM,8BAA8B,KAAK;AAAA,QACnD,CAAC;AAAA,MACH,CAAC,EAAE,MAAM,WAAS;AAChB,gBAAQ,MAAM,qBAAqB,KAAK;AAAA,MAC1C,CAAC;AAAA,IACH;AAEA,WAAO,EAAE,WAAW,UAAS;AAAA,EAC/B;AAGA,SAAO,cAAa;AACtB;;"}
1
+ {"version":3,"file":"globals.app.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.app.js"],"sourcesContent":["// client-factory.js - фабрика для создания клиентского приложения\nimport { nextTick, createApp as createVueApp, createSSRApp as createVueSSRApp } from 'vue';\nimport { createHead } from '@unhead/vue';\n\nexport function createUniversalApp({\n getConfig,\n getRouter,\n getLocales,\n getStore,\n getHooks = {}\n}) {\n // Lazy imports to avoid circular dependencies\n const getLayoutApp = () => import('../components/layouts/App.vue').then(m => m.default);\n const getModuleRegistry = () => import('./module-registry.js').then(m => m.moduleRegistry);\n const getWebsockets = () => import('./globals.websocket.js').then(m => m.default);\n const getAppRenderer = () => import('../utils/vue-app-renderer.js');\n \n // Асинхронная инициализация для избежания циклических зависимостей\n async function initializeApp() {\n // Создаем конфигурацию\n const config = await getConfig();\n const hooks = getHooks;\n \n const [layoutApp, moduleRegistry, globalWebSocket, appRenderer] = await Promise.all([\n getLayoutApp(),\n getModuleRegistry(),\n getWebsockets(),\n getAppRenderer()\n ]);\n \n // Регистрация модуля globals первым\n moduleRegistry.register('globals', {\n loader: () => import('../../globals.client.js'),\n critical: true,\n priority: 'critical'\n });\n \n // Регистрация модулей из config\n Object.entries(config.modules).forEach(([name, module]) => {\n if (module.loader) {\n moduleRegistry.register(name, {\n loader: module.loader,\n routes: module.routes || [],\n priority: module.priority || 'normal',\n critical: module.critical || false,\n dependencies: module.dependencies || [],\n preload: module.preload || false\n });\n }\n });\n \n // Основная функция создания приложения\n function createApp() {\n const store = getStore();\n const app = process.env.MOBILE_APP \n ? createVueApp(layoutApp, config) \n : createVueSSRApp(layoutApp, config);\n \n const meta = createHead();\n const i18n = getLocales();\n \n const context = {\n app,\n store,\n router: null,\n config,\n };\n \n // Создаем роутер с контекстом\n const router = getRouter(context);\n context.router = router;\n \n // Загружаем только критические модули синхронно\n const initCriticalModules = async () => {\n // Если это SSR гидратация - модули загрузятся в renderAndMountApp\n const isSSRHydration = typeof window !== 'undefined' && !process.env.MOBILE_APP;\n if (isSSRHydration) {\n return;\n }\n \n // Для SPA и сервера загружаем как обычно\n const criticalModules = ['globals', 'auth', 'organizations', 'backoffice'];\n \n for (const moduleName of criticalModules) {\n try {\n await moduleRegistry.load(moduleName, context);\n await moduleRegistry.initialize(moduleName, context);\n } catch (error) {\n console.error(`Failed to load critical module ${moduleName}:`, error);\n }\n }\n };\n \n // Router guard для загрузки модулей ДО навигации (только на клиенте)\n if (typeof window !== 'undefined') {\n const originalPush = router.push.bind(router);\n const originalReplace = router.replace.bind(router);\n\n async function paintNow() {\n await nextTick(); // flush реактивки в DOM\n await new Promise(requestAnimationFrame); // кадр layout/style\n await new Promise(requestAnimationFrame); // кадр отрисовки\n // иногда в WebView помогает ещё макротаск\n await new Promise(r => setTimeout(r, 0));\n }\n\n router.push = async (...args) => {\n // Включаем лоадер\n store.globals.state.loading = true;\n \n // Даем браузеру отрисовать лоадер\n await paintNow();\n \n // Запускаем навигацию асинхронно, чтобы не блокировать UI\n setTimeout(() => {\n originalPush(...args);\n }, 0);\n \n // Возвращаем промис для совместимости\n return Promise.resolve();\n };\n\n // router.replace = async (...args) => {\n // // Включаем лоадер\n // store.globals.state.loading = true;\n \n // // Даем браузеру отрисовать лоадер\n // await paintNow();\n \n // // Запускаем навигацию асинхронно\n // setTimeout(() => {\n // originalReplace(...args);\n // }, 0);\n \n // return Promise.resolve();\n // };\n\n router.beforeEach(async (to, from) => {\n // Получаем оригинальный путь ДО fallback редиректа на 404\n // Это критически важно для SSR гидратации вложенных роутов!\n const target = to.redirectedFrom || to;\n \n // Используем оригинальный путь для определения нужных модулей\n const requiredModules = moduleRegistry.getModulesForRoute(target.path);\n \n // Проверяем, какие модули еще не загружены\n const modulesToLoad = requiredModules.filter(m => !moduleRegistry.initialized.has(m.name));\n \n if (modulesToLoad.length > 0) {\n // Логируем если это редирект с 404 (для отладки)\n if (to.redirectedFrom) {\n console.log('[Router] Loading modules for redirected path:', target.path, 'modules:', modulesToLoad.map(m => m.name));\n }\n \n // Загружаем и инициализируем модули\n for (const module of modulesToLoad) {\n try {\n await moduleRegistry.load(module.name, context);\n await moduleRegistry.initialize(module.name, context);\n } catch (error) {\n console.error(`Failed to load module ${module.name}:`, error);\n }\n }\n \n // После загрузки модулей и регистрации их роутов,\n // возвращаем объект с оригинальным путем и replace: true\n // Это заставит роутер заново резолвить маршрут с новыми роутами\n return { path: target.fullPath, replace: true };\n }\n });\n }\n\n router.beforeResolve(async (to, from) => {\n store.globals.state.loading = false;\n })\n \n // Error handler для lazy loaded chunks\n if (typeof window !== 'undefined') {\n window.addEventListener('error', (e) => {\n if (e.message && e.message.includes('Loading chunk')) {\n console.error('Chunk loading failed:', e);\n // Можно показать уведомление пользователю\n // или попытаться перезагрузить\n }\n });\n }\n \n // Инициализация в правильном порядке\n const initialize = async () => {\n // Хук ДО инициализации\n if (hooks.beforeInitialize) {\n await hooks.beforeInitialize(context);\n }\n \n // 1. Критические модули\n await initCriticalModules();\n \n // 2. WebSocket (отложим после гидратации)\n if (typeof window !== 'undefined') {\n // Откладываем инициализацию WebSocket после гидратации\n requestIdleCallback(() => {\n globalWebSocket.initialize({\n wsUrl: process.env.WSS_URL || undefined,\n maxReconnectAttempts: 5,\n reconnectDelay: 3000,\n pingInterval: 30000,\n });\n });\n \n // 3. Предзагрузка важных модулей в фоне\n requestIdleCallback(() => {\n moduleRegistry.preloadModules(context);\n });\n }\n \n // 5. Подключаем Vue плагины\n app.use(router).use(i18n).use(meta);\n \n // 6. Монтируем приложение\n if (process.env.MOBILE_APP) {\n app.mount('#app');\n }\n\n // Хук ПОСЛЕ инициализации\n if (hooks.afterInitialize) {\n await hooks.afterInitialize(context);\n }\n \n return {\n app,\n router,\n store,\n i18n,\n meta,\n moduleRegistry,\n config,\n };\n };\n \n // Возвращаем промис для SSR\n if (!process.env.MOBILE_APP) {\n return initialize();\n }\n \n // Для SPA инициализируем сразу\n initialize();\n }\n \n // FOR SSR / SERVER ENTRY\n async function renderApp({ url, cookies, languages, ssrContext }) {\n const { app, router, store, i18n, meta, moduleRegistry } = await createApp();\n \n // Set SSR store for useStore calls\n if (typeof window === 'undefined') {\n const { setSSRStore } = await import('./store.js');\n setSSRStore(store);\n }\n \n \n if (typeof window === 'undefined') {\n moduleRegistry.initialized.clear();\n moduleRegistry.modules.clear();\n moduleRegistry.loadingPromises.clear();\n }\n // // На сервере загружаем auth для SSR рендеринга (vue-app-renderer требует его)\n // const context = { app, store, router, config };\n // await moduleRegistry.load('globals', context);\n // await moduleRegistry.initialize('globals', context);\n // await moduleRegistry.load('auth', context);\n // await moduleRegistry.initialize('auth', context);\n // }\n \n const context = {\n app,\n store,\n router,\n config,\n ssr: true,\n };\n \n // Для SSR загружаем модули для текущего маршрута\n const requiredModules = moduleRegistry.getModulesForRoute(url);\n \n // Собираем имена модулей которые нужны для текущего роута\n const currentRouteModules = [];\n \n // Загружаем необходимые модули для SSR\n for (const module of requiredModules) {\n await moduleRegistry.load(module.name, context);\n await moduleRegistry.initialize(module.name, context);\n currentRouteModules.push(module.name);\n }\n \n // После загрузки модулей и регистрации роутов, выполняем навигацию\n await router.push(url);\n await router.isReady();\n \n const result = await appRenderer.render({\n url,\n cookies,\n createApp: () => ({ app, router, store, i18n, meta }),\n ssrContext\n });\n \n if (ssrContext?.modules) {\n result.usedModules = Array.from(ssrContext.modules);\n }\n \n // Передаем только модули текущего роута + критические модули\n // Это не реальные модули а метаданные для дегидратации\n const criticalModules = ['globals', 'auth', 'organizations', 'backoffice'];\n const allModulesForRoute = [...new Set([...criticalModules, ...currentRouteModules])];\n \n result.loadedModules = allModulesForRoute;\n \n return result;\n }\n \n // FOR SPA\n if (typeof window !== 'undefined' && process.env.MOBILE_APP) {\n createApp();\n }\n \n // FOR SSR / CLIENT ENTRY\n if (typeof window !== 'undefined' && !process.env.MOBILE_APP) {\n // Используем renderAndMountApp для правильной гидратации со state\n appRenderer.renderAndMountApp({ createApp, hooks }).then(({ app, router, store, moduleRegistry }) => {\n // Хук ПОСЛЕ гидратации\n if (hooks.afterHydration) {\n hooks.afterHydration({ app, router, store, moduleRegistry });\n }\n \n // Модули уже загружены в renderAndMountApp, просто ставим маркер\n if (typeof window !== 'undefined') {\n window.performance.mark('client-ready');\n }\n }).catch(error => {\n console.error('Hydration failed:', error);\n });\n }\n \n return { createApp, renderApp };\n }\n \n // Возвращаем промис, который резолвится с функциями\n return initializeApp();\n}"],"names":["module","createVueApp","createVueSSRApp","createHead","nextTick","moduleRegistry"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createApp, createSSRApp } from "vue";
1
+ import { createApp, createSSRApp, nextTick } from "vue";
2
2
  import { c as createHead } from "../../../../../../node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js";
3
3
  function createUniversalApp({
4
4
  getConfig,
@@ -51,6 +51,10 @@ function createUniversalApp({
51
51
  const router = getRouter(context);
52
52
  context.router = router;
53
53
  const initCriticalModules = async () => {
54
+ const isSSRHydration = typeof window !== "undefined" && !process.env.MOBILE_APP;
55
+ if (isSSRHydration) {
56
+ return;
57
+ }
54
58
  const criticalModules = ["globals", "auth", "organizations", "backoffice"];
55
59
  for (const moduleName of criticalModules) {
56
60
  try {
@@ -62,12 +66,29 @@ function createUniversalApp({
62
66
  }
63
67
  };
64
68
  if (typeof window !== "undefined") {
69
+ const originalPush = router.push.bind(router);
70
+ router.replace.bind(router);
71
+ async function paintNow() {
72
+ await nextTick();
73
+ await new Promise(requestAnimationFrame);
74
+ await new Promise(requestAnimationFrame);
75
+ await new Promise((r) => setTimeout(r, 0));
76
+ }
77
+ router.push = async (...args) => {
78
+ store.globals.state.loading = true;
79
+ await paintNow();
80
+ setTimeout(() => {
81
+ originalPush(...args);
82
+ }, 0);
83
+ return Promise.resolve();
84
+ };
65
85
  router.beforeEach(async (to, from) => {
66
- const requiredModules = moduleRegistry.getModulesForRoute(to.path);
86
+ const target = to.redirectedFrom || to;
87
+ const requiredModules = moduleRegistry.getModulesForRoute(target.path);
67
88
  const modulesToLoad = requiredModules.filter((m) => !moduleRegistry.initialized.has(m.name));
68
89
  if (modulesToLoad.length > 0) {
69
- if (store.globals && store.globals.state) {
70
- store.globals.state.loading = true;
90
+ if (to.redirectedFrom) {
91
+ console.log("[Router] Loading modules for redirected path:", target.path, "modules:", modulesToLoad.map((m) => m.name));
71
92
  }
72
93
  for (const module of modulesToLoad) {
73
94
  try {
@@ -77,10 +98,13 @@ function createUniversalApp({
77
98
  console.error(`Failed to load module ${module.name}:`, error);
78
99
  }
79
100
  }
80
- return to.fullPath;
101
+ return { path: target.fullPath, replace: true };
81
102
  }
82
103
  });
83
104
  }
105
+ router.beforeResolve(async (to, from) => {
106
+ store.globals.state.loading = false;
107
+ });
84
108
  if (typeof window !== "undefined") {
85
109
  window.addEventListener("error", (e) => {
86
110
  if (e.message && e.message.includes("Loading chunk")) {
@@ -119,7 +143,8 @@ function createUniversalApp({
119
143
  store,
120
144
  i18n,
121
145
  meta,
122
- moduleRegistry
146
+ moduleRegistry,
147
+ config
123
148
  };
124
149
  };
125
150
  if (!process.env.MOBILE_APP) {
@@ -133,6 +158,11 @@ function createUniversalApp({
133
158
  const { setSSRStore } = await import("./store.js");
134
159
  setSSRStore(store);
135
160
  }
161
+ if (typeof window === "undefined") {
162
+ moduleRegistry2.initialized.clear();
163
+ moduleRegistry2.modules.clear();
164
+ moduleRegistry2.loadingPromises.clear();
165
+ }
136
166
  const context = {
137
167
  app,
138
168
  store,
@@ -171,31 +201,9 @@ function createUniversalApp({
171
201
  if (hooks.afterHydration) {
172
202
  hooks.afterHydration({ app, router, store, moduleRegistry: moduleRegistry2 });
173
203
  }
174
- const context = { app, store, router, config };
175
- moduleRegistry2.load("auth", context).then(() => {
176
- setTimeout(async () => {
177
- try {
178
- await Promise.all([
179
- moduleRegistry2.load("organizations", context),
180
- moduleRegistry2.load("backoffice", context)
181
- ]);
182
- } catch (error) {
183
- console.error("Error loading core modules:", error);
184
- }
185
- }, 0);
186
- requestIdleCallback(async () => {
187
- try {
188
- await moduleRegistry2.load("notifications", context);
189
- if (typeof window !== "undefined") {
190
- window.performance.mark("client-ready");
191
- }
192
- } catch (error) {
193
- console.error("Error loading non-critical modules:", error);
194
- }
195
- });
196
- }).catch((error) => {
197
- console.error("Error loading auth module:", error);
198
- });
204
+ if (typeof window !== "undefined") {
205
+ window.performance.mark("client-ready");
206
+ }
199
207
  }).catch((error) => {
200
208
  console.error("Hydration failed:", error);
201
209
  });