@ozdao/martyrs 0.2.583 → 0.2.585

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 (233) hide show
  1. package/dist/builder.js +2 -0
  2. package/dist/{main-vq1_XpmQ.js → main-xL-jtBkT.js} +12 -11
  3. package/dist/martyrs/dist/{main-vq1_XpmQ.js → main-xL-jtBkT.js} +3 -2
  4. package/dist/martyrs/dist/main-xL-jtBkT.js.map +1 -0
  5. package/dist/martyrs/dist/{web-BNJDRie_.js → web-BA6h6Z8P.js} +2 -2
  6. package/dist/martyrs/dist/{web-BNJDRie_.js.map → web-BA6h6Z8P.js.map} +1 -1
  7. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +3 -3
  8. package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
  9. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +5 -5
  10. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  11. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  12. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  13. package/dist/martyrs/src/components/Field/Field.vue.js +2 -2
  14. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  15. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  16. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  17. package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js +2 -2
  18. package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js.map +1 -1
  19. package/dist/martyrs/src/components/Loader/{Loader.vue2.js → Loader.vue.js} +2 -2
  20. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -0
  21. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  22. package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
  23. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  24. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  25. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  26. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  27. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +1 -1
  28. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  29. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  30. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  31. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +61 -42
  32. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  33. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  34. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  38. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  39. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  40. package/dist/martyrs/src/modules/backoffice/backoffice.client.js +3 -15
  41. package/dist/martyrs/src/modules/backoffice/backoffice.client.js.map +1 -1
  42. package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js +99 -0
  43. package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js.map +1 -0
  44. package/dist/martyrs/src/modules/backoffice/{backoffice.router.js → router/backoffice.router.js} +9 -7
  45. package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js.map +1 -0
  46. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
  47. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  48. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +8 -2
  49. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  50. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  51. package/dist/martyrs/src/modules/core/core.client.js.map +1 -1
  52. package/dist/martyrs/src/modules/core/views/classes/core.app.js +5 -1
  53. package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
  54. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +2 -2
  55. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
  56. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
  57. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +2 -2
  58. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +22 -28
  59. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
  60. package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js +76 -7
  61. package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js.map +1 -1
  62. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +3 -3
  63. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  64. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +1 -1
  65. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +2 -2
  66. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js +3 -3
  68. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -1
  69. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +1 -1
  70. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  71. package/dist/martyrs/src/modules/core/views/store/core.store.js +1 -0
  72. package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
  73. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +2 -1
  74. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
  75. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  76. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  77. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  78. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +3 -3
  79. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  80. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -1
  81. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  82. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +1 -1
  83. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  84. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  85. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  86. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  87. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  88. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  89. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  90. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  91. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +4 -4
  92. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  93. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +2 -2
  94. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  95. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  96. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +1 -1
  97. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  98. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  99. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  100. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  101. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  102. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
  103. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  104. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  105. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  106. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  107. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
  108. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  109. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +7 -7
  110. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
  112. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  113. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  114. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +1 -1
  115. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  116. package/dist/martyrs/src/modules/music/components/player/PlayerControls.vue.js +1 -1
  117. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +1 -1
  118. package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js +2 -2
  119. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  120. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  121. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
  122. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  123. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  124. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  125. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  126. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  127. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  128. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  129. package/dist/martyrs/src/modules/orders/router/orders.router.js +23 -0
  130. package/dist/martyrs/src/modules/orders/router/orders.router.js.map +1 -1
  131. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  132. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  134. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  135. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  136. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  137. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  138. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  139. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +4 -3
  140. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  141. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  142. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  143. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  144. package/dist/martyrs/src/modules/pages/pages.router.js +7 -5
  145. package/dist/martyrs/src/modules/pages/pages.router.js.map +1 -1
  146. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  147. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +3 -3
  148. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
  150. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  152. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  153. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  154. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  155. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  156. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  157. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  158. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  159. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
  160. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  162. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +2 -2
  163. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  164. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  165. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  166. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  167. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  168. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  169. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  170. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  171. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  172. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
  173. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  174. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  175. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  176. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  178. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  179. package/dist/martyrs.css +1 -1
  180. package/dist/martyrs.es.js +1 -1
  181. package/dist/style.css +38 -33
  182. package/dist/{web-BNJDRie_.js → web-BA6h6Z8P.js} +1 -1
  183. package/package.json +1 -1
  184. package/src/builder/modes/ssr.rspack.dev.js +2 -0
  185. package/src/components/Calendar/Calendar.vue +4 -4
  186. package/src/components/Completion/Completion.vue +3 -3
  187. package/src/components/Field/Field.vue +1 -1
  188. package/src/components/FieldBig/FieldBig.vue +1 -1
  189. package/src/components/FieldDate/FieldDate.vue +1 -1
  190. package/src/modules/auth/views/components/pages/Profile.vue +33 -5
  191. package/src/modules/backoffice/backoffice.client.js +1 -25
  192. package/src/modules/backoffice/configs/navigation.backoffice.config.js +99 -0
  193. package/src/modules/backoffice/router/backoffice.router.js +8 -7
  194. package/src/modules/community/components/layouts/Community.vue +2 -2
  195. package/src/modules/community/components/pages/BlogPost.vue +9 -1
  196. package/src/modules/core/core.client.js +1 -0
  197. package/src/modules/core/views/classes/core.app.js +8 -3
  198. package/src/modules/core/views/components/blocks/CardHeader.vue +1 -1
  199. package/src/modules/core/views/components/layouts/Client.vue +41 -42
  200. package/src/modules/core/views/components/pages/404.vue +55 -3
  201. package/src/modules/core/views/components/partials/Header.vue +1 -1
  202. package/src/modules/core/views/components/partials/Sidebar.vue +1 -1
  203. package/src/modules/core/views/components/sections/Filters.vue +2 -2
  204. package/src/modules/core/views/components/sections/SectionPageTitle.vue +1 -1
  205. package/src/modules/core/views/store/core.store.js +1 -0
  206. package/src/modules/core/views/utils/vue-app-renderer.js +9 -1
  207. package/src/modules/events/components/pages/EditEventTickets.vue +2 -2
  208. package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
  209. package/src/modules/inventory/components/pages/Inventory.vue +4 -4
  210. package/src/modules/inventory/components/pages/InventoryEdit.vue +1 -1
  211. package/src/modules/music/components/pages/Playlist.vue +5 -5
  212. package/src/modules/orders/router/orders.router.js +33 -0
  213. package/src/modules/organizations/components/blocks/CardOrganization.vue +1 -1
  214. package/src/modules/pages/pages.router.js +4 -2
  215. package/src/modules/pages/views/components/pages/PageEdit.vue +2 -2
  216. package/src/modules/pages/views/components/partials/SidebarPages.vue +1 -1
  217. package/src/modules/pages/views/router/pages.backoffice.router.js +4 -3
  218. package/src/modules/products/components/pages/Products.vue +1 -1
  219. package/src/modules/products/components/sections/EditDiscounts.vue +1 -1
  220. package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
  221. package/src/modules/spots/components/pages/Spots.vue +1 -1
  222. package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +1 -1
  223. package/src/modules/wallet/views/components/pages/Wallet.vue +1 -1
  224. package/dist/martyrs/dist/main-vq1_XpmQ.js.map +0 -1
  225. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  226. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +0 -1
  227. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  228. package/dist/martyrs/src/components/Select/Select.vue2.js.map +0 -1
  229. package/dist/martyrs/src/modules/backoffice/backoffice.router.js.map +0 -1
  230. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +0 -150
  231. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +0 -1
  232. package/src/modules/backoffice/backoffice.router.js +0 -69
  233. package/src/modules/backoffice/components/partials/Sidebar.vue +0 -165
package/dist/style.css CHANGED
@@ -1,4 +1,9 @@
1
1
  @charset "UTF-8";
2
+ input[data-v-4a88f18b] { border: none; outline: none;
3
+ }
4
+ input[data-v-4a88f18b]::placeholder { color: rgba(var(--dark), 0.4);
5
+ }
6
+
2
7
  .help-card[data-v-cdb417ab] {
3
8
  margin-top: auto;
4
9
  text-decoration: none;
@@ -72,22 +77,22 @@
72
77
  .background-div {
73
78
  flex-grow: 1;
74
79
  }
75
- input[data-v-36998019],
76
- textarea[data-v-36998019],
77
- span[data-v-36998019] {
80
+ input[data-v-ba38e654],
81
+ textarea[data-v-ba38e654],
82
+ span[data-v-ba38e654] {
78
83
  color: inherit;
79
84
  line-height: 1;
80
85
  }
81
- textarea[data-v-36998019] {
86
+ textarea[data-v-ba38e654] {
82
87
  resize: none;
83
88
  overflow: hidden;
84
89
  height: 1rem;
85
90
  }
86
- input[data-v-36998019] {
91
+ input[data-v-ba38e654] {
87
92
  height: 1rem;
88
93
  }
89
- input[type="date"][data-v-36998019]::-webkit-calendar-picker-indicator,
90
- input[type="time"][data-v-36998019]::-webkit-calendar-picker-indicator {
94
+ input[type="date"][data-v-ba38e654]::-webkit-calendar-picker-indicator,
95
+ input[type="time"][data-v-ba38e654]::-webkit-calendar-picker-indicator {
91
96
  filter: invert(1);
92
97
  opacity: 1;
93
98
  color: inherit;
@@ -741,75 +746,75 @@ ul li[data-v-af5048fc] {
741
746
  left: 100%;
742
747
  }
743
748
  }
744
- .calendar[aria-disabled=true][data-v-5feab7b5] {
749
+ .calendar[aria-disabled=true][data-v-7c705e8c] {
745
750
  cursor: not-allowed;
746
751
  }
747
- .calendar[aria-disabled=true][data-v-5feab7b5] * {
752
+ .calendar[aria-disabled=true][data-v-7c705e8c] * {
748
753
  pointer-events: none;
749
754
  }
750
- .calendar__week[data-v-5feab7b5] {
755
+ .calendar__week[data-v-7c705e8c] {
751
756
  display: grid;
752
757
  grid-template-columns: repeat(7, 1fr);
753
758
  gap: 5px;
754
759
  margin-bottom: 10px;
755
760
  }
756
- .calendar__weekday[data-v-5feab7b5] {
761
+ .calendar__weekday[data-v-7c705e8c] {
757
762
  text-align: center;
758
763
  }
759
- .calendar__dates[data-v-5feab7b5] {
764
+ .calendar__dates[data-v-7c705e8c] {
760
765
  display: grid;
761
766
  grid-template-columns: repeat(7, 1fr);
762
767
  grid-auto-rows: 1fr;
763
768
  }
764
- .calendar__dates[data-v-5feab7b5]::before {
769
+ .calendar__dates[data-v-7c705e8c]::before {
765
770
  content: "";
766
771
  width: 0;
767
772
  padding-bottom: 100%;
768
773
  grid-row: 1/1;
769
774
  grid-column: 1/1;
770
775
  }
771
- .calendar__dates[data-v-5feab7b5] > *:first-child {
776
+ .calendar__dates[data-v-7c705e8c] > *:first-child {
772
777
  grid-row: 1/1;
773
778
  grid-column: 1/1;
774
779
  }
775
- .calendar__date--today[data-v-5feab7b5] {
780
+ .calendar__date--today[data-v-7c705e8c] {
776
781
  background-color: rgb(var(--main)) !important;
777
782
  font-weight: bold;
778
783
  }
779
- .calendar__date--in-other-month[data-v-5feab7b5] {
784
+ .calendar__date--in-other-month[data-v-7c705e8c] {
780
785
  color: #aaaaaa; /* Grey text color for dates from adjacent months */
781
786
  }
782
- .calendar__date--selected[data-v-5feab7b5] {
787
+ .calendar__date--selected[data-v-7c705e8c] {
783
788
  background-color: #007bff !important;
784
789
  color: #fff;
785
790
  }
786
- .calendar__date--range[data-v-5feab7b5] {
791
+ .calendar__date--range[data-v-7c705e8c] {
787
792
  background-color: #1c6ab8 !important;
788
793
  }
789
- .calendar__date--disabled[data-v-5feab7b5], .calendar__date--unavailable[data-v-5feab7b5] {
794
+ .calendar__date--disabled[data-v-7c705e8c], .calendar__date--unavailable[data-v-7c705e8c] {
790
795
  color: #ccc;
791
796
  cursor: not-allowed;
792
797
  text-decoration: line-through;
793
798
  opacity: 0.5;
794
799
  }
795
- .calendar__date--low-availability[data-v-5feab7b5] {
800
+ .calendar__date--low-availability[data-v-7c705e8c] {
796
801
  position: relative;
797
802
  background-color: #f0f0f0;
798
803
  /* border: 1px solid #fff3cd;*/
799
804
  /* background-color: #fff3cd;*/
800
805
  }
801
- .availability-indicator[data-v-5feab7b5] {
806
+ .availability-indicator[data-v-7c705e8c] {
802
807
  position: absolute;
803
808
  bottom: 2px;
804
809
  right: 2px;
805
810
  font-size: 8px;
806
811
  color: #6c757d;
807
812
  }
808
- button[data-v-5feab7b5]:disabled {
813
+ button[data-v-7c705e8c]:disabled {
809
814
  opacity: 0.5;
810
815
  cursor: not-allowed;
811
816
  }
812
- .calendar-tooltip[data-v-5feab7b5] {
817
+ .calendar-tooltip[data-v-7c705e8c] {
813
818
  position: fixed;
814
819
  background-color: #333;
815
820
  color: white;
@@ -836,7 +841,7 @@ button[data-v-5feab7b5]:disabled {
836
841
  width: 100%;
837
842
  }
838
843
 
839
- .filters-content[data-v-2c930cac] {
844
+ .filters-content[data-v-026224ab] {
840
845
  max-height: 60vh;
841
846
  overflow-y: auto;
842
847
  }
@@ -1609,19 +1614,19 @@ to {
1609
1614
  transform: translateY(0);
1610
1615
  }
1611
1616
 
1612
- .hidden[data-v-499f10e6] {
1617
+ .hidden[data-v-0780c9a9] {
1613
1618
  opacity: 0;
1614
1619
  width: 0;
1615
1620
  display: none;
1616
1621
  }
1617
- .visible[data-v-499f10e6] {
1622
+ .visible[data-v-0780c9a9] {
1618
1623
  opacity: 1;
1619
1624
  display: block;
1620
1625
  }
1621
1626
 
1622
1627
  /* Mobile: ВСЕГДА скрываем, показываем ТОЛЬКО по клику меню */
1623
1628
  @media (max-width: 1024px) {
1624
- aside[data-sidebar][data-v-499f10e6] {
1629
+ aside[data-sidebar][data-v-0780c9a9] {
1625
1630
  position: absolute !important;
1626
1631
  left: 0 !important;
1627
1632
  transform: translateX(-100%) !important;
@@ -1630,24 +1635,24 @@ aside[data-sidebar][data-v-499f10e6] {
1630
1635
  }
1631
1636
 
1632
1637
  /* Показываем ТОЛЬКО когда manual клик (НЕ от SSR state) */
1633
- aside[data-sidebar].mobile-opened[data-v-499f10e6] {
1638
+ aside[data-sidebar].mobile-opened[data-v-0780c9a9] {
1634
1639
  transform: translateX(0) !important;
1635
1640
  visibility: visible !important;
1636
1641
  }
1637
1642
  }
1638
1643
 
1639
1644
  /* Scrollbar styles */
1640
- [data-v-499f10e6]::-webkit-scrollbar {
1645
+ [data-v-0780c9a9]::-webkit-scrollbar {
1641
1646
  width: 6px;
1642
1647
  }
1643
- [data-v-499f10e6]::-webkit-scrollbar-track {
1648
+ [data-v-0780c9a9]::-webkit-scrollbar-track {
1644
1649
  background: transparent;
1645
1650
  }
1646
- [data-v-499f10e6]::-webkit-scrollbar-thumb {
1651
+ [data-v-0780c9a9]::-webkit-scrollbar-thumb {
1647
1652
  background-color: var(--grey-micro);
1648
1653
  border-radius: 3px;
1649
1654
  }
1650
- [data-v-499f10e6]::-webkit-scrollbar-thumb:hover {
1655
+ [data-v-0780c9a9]::-webkit-scrollbar-thumb:hover {
1651
1656
  background-color: var(--grey-small);
1652
1657
  }
1653
1658
  .eye[data-v-4241147a] {
@@ -2204,7 +2209,7 @@ to {
2204
2209
  left: 0;
2205
2210
  top: 0;
2206
2211
  }
2207
- .field-date__dropdown[data-v-4076d2e3] {
2212
+ .field-date__dropdown[data-v-0840c48f] {
2208
2213
  top: calc(100% + 0.5rem);
2209
2214
  left: 0;
2210
2215
  z-index: 1000;
@@ -1,4 +1,4 @@
1
- import { W as p } from "./main-vq1_XpmQ.js";
1
+ import { W as p } from "./main-xL-jtBkT.js";
2
2
  class f extends p {
3
3
  constructor() {
4
4
  super(...arguments), this.group = "CapacitorStorage";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/martyrs",
3
- "version": "0.2.583",
3
+ "version": "0.2.585",
4
4
  "description": "Fullstack framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -160,6 +160,7 @@ export default function createSsrDevServer(projectRoot, configs, createServer) {
160
160
  const measure5 = performance.getEntriesByName('loading-5')[0];
161
161
  console.log(`[LOADING 5] HTML rendering and Beasties completed in ${measure5?.duration?.toFixed(2)}ms`);
162
162
 
163
+ console.log('[SSR-404] dev renderer returning statusCode:', statusCode);
163
164
  return { html: completeHtml, statusCode };
164
165
  };
165
166
  };
@@ -273,6 +274,7 @@ export default function createSsrDevServer(projectRoot, configs, createServer) {
273
274
  res.locals.webpack.devMiddleware // Update to rspack middleware context
274
275
  );
275
276
 
277
+ console.log('[SSR-404] sending response with statusCode:', result.statusCode);
276
278
  res.status(result.statusCode)
277
279
  .header("Content-Type", "text/html; charset=utf-8")
278
280
  .send(result.html);
@@ -528,10 +528,10 @@
528
528
  <template>
529
529
  <div class="t-noselect calendar" :aria-disabled="disabled">
530
530
  <div v-if="allowRange && !disablePastDates" class="br-b-1px br-grey-transp-25 gap-thin flex flex-nowrap pd-thin">
531
- <button @click="selectToday" class="font-second t-nowrap pd-thin bg-white radius-small">Today</button>
532
- <button @click="selectLastWeek" class="font-second t-nowrap pd-thin bg-white radius-small">Last Week</button>
533
- <button @click="selectLastMonth" class="font-second t-nowrap pd-thin bg-white radius-small">Last Month</button>
534
- <button @click="selectLastYear" class="font-second t-nowrap pd-thin bg-white radius-small">All time</button>
531
+ <button @click="selectToday" class="font-second ws-nowrap pd-thin bg-white radius-small">Today</button>
532
+ <button @click="selectLastWeek" class="font-second ws-nowrap pd-thin bg-white radius-small">Last Week</button>
533
+ <button @click="selectLastMonth" class="font-second ws-nowrap pd-thin bg-white radius-small">Last Month</button>
534
+ <button @click="selectLastYear" class="font-second ws-nowrap pd-thin bg-white radius-small">All time</button>
535
535
  </div>
536
536
  <div class="pd-thin flex flex-nowrap flex-v-center flex-justify-between">
537
537
  <button @click.stop="prevMonth" class="aspect-1x1 pd-thin bg-white radius-extra" :disabled="isPrevMonthDisabled">
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <section class="">
3
3
  <div class="mn-b-small gap-small flex-v-center flex-nowrap flex">
4
- <h4 class="t-nowrap ">
4
+ <h4 class="ws-nowrap ">
5
5
  {{ text }}
6
6
 
7
- <span class="uppercase radius-big t-nowrap fw-medium t-white bg-black w-max pd-micro pd-l-thin pd-r-small">
7
+ <span class="uppercase radius-big ws-nowrap fw-medium t-white bg-black w-max pd-micro pd-l-thin pd-r-small">
8
8
  {{ percentage || completionPercentage }}%
9
9
  </span>
10
10
 
@@ -19,7 +19,7 @@
19
19
  }"
20
20
  >
21
21
 
22
- <span class="uppercase radius-big t-nowrap fw-medium t-white bg-black w-max pd-micro pd-l-thin pd-r-small">
22
+ <span class="uppercase radius-big ws-nowrap fw-medium t-white bg-black w-max pd-micro pd-l-thin pd-r-small">
23
23
  {{ text_cta }}
24
24
  </span>
25
25
 
@@ -79,7 +79,7 @@ const text = ref(props.field);
79
79
  v-if="label"
80
80
  class="t-transp mn-r-small"
81
81
  >
82
- <span class="t-nowrap">
82
+ <span class="ws-nowrap">
83
83
  {{label}}
84
84
  </span>
85
85
  </div>
@@ -18,7 +18,7 @@
18
18
  :showLoader="showLoader"
19
19
  :callback="callback"
20
20
  :callbackDelay="callbackDelay"
21
- class="t-nowrap fw-medium radius-small uppercase cursor-pointer flex flex-v-center pd-thin w-max hover:bg-fifth fw-semi ease-linear t-black bg-main"
21
+ class="ws-nowrap fw-medium radius-small uppercase cursor-pointer flex flex-v-center pd-thin w-max hover:bg-fifth fw-semi ease-linear t-black bg-main"
22
22
  >
23
23
  <span v-if="action" class="desktop-only mn-r-thin">{{action}}</span>
24
24
  <IconArrow class="i-medium"/>
@@ -14,7 +14,7 @@
14
14
  v-if="label"
15
15
  class="t-transp mn-r-small"
16
16
  >
17
- <span class="t-nowrap">
17
+ <span class="ws-nowrap">
18
18
  {{ label }}
19
19
  </span>
20
20
  </div>
@@ -1,6 +1,5 @@
1
1
  <template>
2
2
  <div
3
- v-if="show"
4
3
  class="for-transition bg-white w-100"
5
4
  >
6
5
  <div
@@ -259,7 +258,7 @@ import IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'
259
258
 
260
259
  import PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'
261
260
  // Import libs
262
- import { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'
261
+ import { computed, watch, onMounted, onServerPrefetch, ref, onBeforeMount, inject } from 'vue'
263
262
  import { useRoute, useRouter } from 'vue-router'
264
263
 
265
264
  // Import state
@@ -267,13 +266,14 @@ import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'
267
266
  import * as users from '@martyrs/src/modules/auth/views/store/users.js'
268
267
  import membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'
269
268
  import { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js'
269
+ import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'
270
270
  // Accessing router
271
271
  const route = useRoute()
272
272
  const router = useRouter()
273
273
  // Get organization _id from cookie
274
274
  const show = ref(false)
275
275
 
276
- const store = inject('store')
276
+ const store = useStore()
277
277
  const { isModuleInstalled } = useGlobalMixins()
278
278
 
279
279
  const modules = {
@@ -310,9 +310,37 @@ const modules = {
310
310
  }
311
311
 
312
312
 
313
+ // Функция загрузки данных пользователя
314
+ async function fetchUser() {
315
+ try {
316
+ const result = await users.actions.read({ _id: route.params._id, user: auth.state.user?._id });
317
+ // Если пользователь не найден - устанавливаем 404
318
+ if (!result || result.length === 0 || !users.state.current?._id) {
319
+ store.core.state.notFound = true;
320
+ return false;
321
+ }
322
+ return true;
323
+ } catch (error) {
324
+ console.error('Error fetching user:', error);
325
+ store.core.state.notFound = true;
326
+ return false;
327
+ }
328
+ }
329
+
330
+ // SSR: загружаем данные на сервере для SEO
331
+ onServerPrefetch(async () => {
332
+ console.log('[SSR-404] Profile onServerPrefetch, route._id:', route.params._id);
333
+ await fetchUser();
334
+ console.log('[SSR-404] Profile fetchUser completed');
335
+ });
336
+
337
+ // Client: загружаем данные если еще не загружены (после гидратации)
313
338
  onMounted(async () => {
314
- await users.actions.read({ _id: route.params._id, user: auth.state.user._id });
315
- show.value = true
339
+ // Если данные уже загружены на сервере (SSR) - не загружаем повторно
340
+ if (!users.state.current?._id || users.state.current._id !== route.params._id) {
341
+ await fetchUser();
342
+ }
343
+ show.value = true;
316
344
  })
317
345
 
318
346
  const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
@@ -1,24 +1,11 @@
1
1
  // Router
2
2
  import addRoutes from '@martyrs/src/modules/core/views/router/addRoutes.js';
3
- import { getRoutes } from './backoffice.router.js';
3
+ import { getRoutes } from './router/backoffice.router.js';
4
4
 
5
5
  // Views
6
- // Layouts
7
-
8
6
  // Pages
9
7
  import Dashboard from './components/pages/Dashboard.vue';
10
8
 
11
- // Admin components
12
- // import AdminDashboard from './components/admin/Dashboard.vue';
13
- // import FastOrders from './components/admin/FastOrders.vue';
14
- // import UserEdit from './components/admin/UserEdit.vue';
15
- // import Users from './components/admin/Users.vue';
16
- // import ProductEdit from './components/admin/ProductEdit.vue';
17
- // import Backcalls from './components/admin/Backcalls.vue';
18
-
19
- // Partials
20
- import Sidebar from './components/partials/Sidebar.vue';
21
-
22
9
  // Пример функции инициализации для модуля бэкофиса
23
10
  function initializeBackoffice(app, store, router, options = {}) {
24
11
  const routes = getRoutes(options);
@@ -34,18 +21,7 @@ const ModuleBackoffice = {
34
21
  getRoutes,
35
22
  },
36
23
  components: {
37
- // Layouts
38
- // Pages
39
24
  Dashboard,
40
- // Admin components
41
- // AdminDashboard,
42
- // FastOrders,
43
- // UserEdit,
44
- // Users,
45
- // ProductEdit,
46
- // Backcalls,
47
- // Partials
48
- Sidebar,
49
25
  },
50
26
  },
51
27
  };
@@ -0,0 +1,99 @@
1
+ // Import icons
2
+ import IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'
3
+ import IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'
4
+ import IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'
5
+ import IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'
6
+ import IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'
7
+ import IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'
8
+ import IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'
9
+ import IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'
10
+
11
+ // Backoffice navigation configuration
12
+ export const navigationItems = [
13
+ {
14
+ category: 'Menu',
15
+ visible: () => true,
16
+ items: [
17
+ {
18
+ title: 'Organizations',
19
+ iconComponent: IconGroups,
20
+ route: () => '/backoffice/organizations',
21
+ visible: () => true
22
+ },
23
+ {
24
+ title: 'Community',
25
+ iconComponent: IconCommunity,
26
+ route: () => '/backoffice/community',
27
+ visible: () => true
28
+ },
29
+ {
30
+ title: 'Products',
31
+ iconComponent: IconProducts,
32
+ route: () => '/backoffice/products',
33
+ visible: () => true
34
+ },
35
+ {
36
+ title: 'Inventory',
37
+ iconComponent: IconLeftovers,
38
+ route: () => '/backoffice/inventory',
39
+ visible: () => true
40
+ },
41
+ {
42
+ title: 'Orders',
43
+ iconComponent: IconOrders,
44
+ route: () => '/backoffice/orders',
45
+ visible: () => true
46
+ },
47
+ {
48
+ title: 'Gallery',
49
+ iconComponent: IconGallery,
50
+ route: () => '/backoffice/gallery',
51
+ visible: () => true
52
+ },
53
+ {
54
+ title: 'Applications',
55
+ iconComponent: IconEvents,
56
+ route: () => '/backoffice/applications',
57
+ visible: () => true
58
+ },
59
+ {
60
+ title: 'Events',
61
+ iconComponent: IconEvents,
62
+ route: () => '/backoffice/events',
63
+ visible: () => true
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ category: 'General',
69
+ visible: () => true,
70
+ items: [
71
+ {
72
+ title: 'Payments',
73
+ iconComponent: IconPayments,
74
+ route: () => '/backoffice/payments',
75
+ visible: () => true
76
+ },
77
+ {
78
+ title: 'Users',
79
+ iconComponent: null,
80
+ route: () => '/backoffice/users',
81
+ visible: () => true
82
+ },
83
+ {
84
+ title: 'Pages',
85
+ iconComponent: null,
86
+ route: () => '/backoffice/pages',
87
+ visible: () => true
88
+ },
89
+ {
90
+ title: 'Reports',
91
+ iconComponent: null,
92
+ route: () => '/backoffice/reports',
93
+ visible: () => true
94
+ }
95
+ ]
96
+ }
97
+ ]
98
+
99
+ export default navigationItems
@@ -1,10 +1,10 @@
1
- // backoffice.meta.js
2
- import Sidebar from '../components/partials/Sidebar.vue';
1
+ import Navigation from '@martyrs/src/modules/core/views/components/partials/Navigation.vue'
2
+ import { navigationItems } from '../configs/navigation.backoffice.config.js'
3
3
 
4
4
  export function getRoutes(options = {}) {
5
5
  const route = options.route || 'Home';
6
6
  const routes = [];
7
-
7
+
8
8
  routes.push({
9
9
  parentName: route,
10
10
  config: {
@@ -14,8 +14,9 @@ export function getRoutes(options = {}) {
14
14
  path: '',
15
15
  name: 'Backoffice Root',
16
16
  meta: {
17
- sidebar_navigation: Sidebar,
18
- sidebar_width_hidden: 'w-0',
17
+ sidebar_navigation: Navigation,
18
+ sidebar_navigation_items: navigationItems,
19
+ sidebar_width_hidden: 'w-2r',
19
20
  },
20
21
  props: {
21
22
  newsletterPopup: 12344,
@@ -64,6 +65,6 @@ export function getRoutes(options = {}) {
64
65
  ],
65
66
  }
66
67
  });
67
-
68
+
68
69
  return routes;
69
- }
70
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  <div style="flex: 1 1 auto" class="w-100 h-100 pos-relative">
6
6
  <header v-if="!route.params.url && route.name !== 'Create BlogPost'" class="bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex">
7
- <h2 class="pos-relative t-nowrap flex-v-center flex-nowrap flex">
7
+ <h2 class="pos-relative ws-nowrap flex-v-center flex-nowrap flex">
8
8
  <span class="mn-r-thin">Posts for </span>
9
9
 
10
10
  <Select
@@ -29,7 +29,7 @@
29
29
  </header>
30
30
 
31
31
  <div v-if="!route.params.url && route.name !=='Create BlogPost'" class="w-100 pos-relative">
32
- <ul class="align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide">
32
+ <ul class="align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll ws-nowrap scroll-hide">
33
33
  <li
34
34
  :class="{'t-black bg-white': route.params.category === 'featured' }"
35
35
  @click="() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}"
@@ -74,10 +74,12 @@ import Comments from '@martyrs/src/modules/community/components/sections/Comment
74
74
  import Viewer from '@martyrs/src/modules/constructor/components/sections/Viewer.vue';
75
75
  import * as blog from '@martyrs/src/modules/community/store/blogposts.js';
76
76
  import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';
77
-
77
+ import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';
78
+
78
79
  import { useRoute } from 'vue-router';
79
80
 
80
81
  const route = useRoute();
82
+ const store = useStore();
81
83
  const blogpost = computed(() => blog.state.current);
82
84
  const isLoading = ref(false);
83
85
  const canShare = ref(false);
@@ -90,9 +92,15 @@ async function fetchBlogpost() {
90
92
  blogpost.value = data[0];
91
93
  // Обновляем состояние хранилища
92
94
  blog.state.current = data[0];
95
+
96
+ // Если пост не найден - устанавливаем 404
97
+ if (!data || data.length === 0 || !blog.state.current) {
98
+ store.core.state.notFound = true;
99
+ }
93
100
  } catch (err) {
94
101
  error.value = err;
95
102
  console.error('Error fetching blogpost:', err);
103
+ store.core.state.notFound = true;
96
104
  } finally {
97
105
  isLoading.value = false;
98
106
  }
@@ -123,6 +123,7 @@ export { default as Sidebar } from '@martyrs/src/modules/core/views/components/p
123
123
  export { default as Footer } from '@martyrs/src/modules/core/views/components/partials/Footer.vue';
124
124
  export { default as Walkthrough } from '@martyrs/src/modules/core/views/components/sections/Walkthrough.vue';
125
125
 
126
+
126
127
  // Functional exports
127
128
  export {
128
129
  appRenderer,
@@ -261,13 +261,14 @@ export function createUniversalApp({
261
261
  // FOR SSR / SERVER ENTRY
262
262
  async function renderApp({ url, cookies, headers, languages, ssrContext }) {
263
263
  const { app, router, store, i18n, meta, moduleManager } = await createApp();
264
-
264
+
265
265
  // Set SSR store for useStore calls
266
266
  if (typeof window === 'undefined') {
267
267
  const { setSSRStore } = await import('../store/core.store.js');
268
268
  await setSSRStore(store);
269
269
  }
270
-
270
+
271
+
271
272
  const context = {
272
273
  app,
273
274
  store,
@@ -278,10 +279,11 @@ export function createUniversalApp({
278
279
 
279
280
  // [LOADING 20] SSR renderApp starting and loading modules
280
281
  performance.mark('loading-20-start');
281
- console.log('[LOADING 20] SSR renderApp starting and loading modules...');
282
+ console.log('[SSR-404] renderApp starting, url:', url);
282
283
 
283
284
  // Для SSR загружаем модули для текущего маршрута
284
285
  const requiredModules = moduleManager.getModulesForRoute(url);
286
+ console.log('[SSR-404] required modules:', requiredModules.map(m => m.name));
285
287
 
286
288
  // Собираем имена модулей которые нужны для текущего роута
287
289
  const currentRouteModules = [];
@@ -299,8 +301,11 @@ export function createUniversalApp({
299
301
  console.log(`[LOADING 20] SSR modules loaded in ${measure20?.duration?.toFixed(2)}ms`);
300
302
 
301
303
  // После загрузки модулей и регистрации роутов, выполняем навигацию
304
+ console.log('[SSR-404] modules loaded, pushing url:', url);
305
+ console.log('[SSR-404] available routes:', router.getRoutes().map(r => r.path));
302
306
  await router.push(url);
303
307
  await router.isReady();
308
+ console.log('[SSR-404] router ready, currentRoute:', router.currentRoute.value.name, router.currentRoute.value.path);
304
309
 
305
310
  const result = await appRenderer.render({
306
311
  url,
@@ -8,7 +8,7 @@
8
8
  >
9
9
 
10
10
  <div
11
- class="w-100 gap-thin p-regular t-nowrap flex-nowrap flex-v-center flex"
11
+ class="w-100 gap-thin p-regular ws-nowrap flex-nowrap flex-v-center flex"
12
12
  >
13
13
  <img loading="lazy"
14
14
  v-if="owner.target?.profile?.photo?.length > 0 && type !== 'short'"