@ozdao/martyrs 0.2.522 → 0.2.523

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 (285) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/auth.server.cjs +1 -1
  6. package/dist/auth.server.js +1 -1
  7. package/dist/chats.server.cjs +22 -4
  8. package/dist/chats.server.js +22 -4
  9. package/dist/events.server.cjs +1 -1
  10. package/dist/events.server.js +1 -1
  11. package/dist/globals.server.cjs +40 -0
  12. package/dist/globals.server.js +40 -0
  13. package/dist/{mailing-Bs9ThyVZ.cjs → mailing-DCvDBHVh.cjs} +0 -3
  14. package/dist/{mailing-DzlhsxCC.js → mailing-DuEFRsa3.js} +0 -3
  15. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
  16. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  17. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
  18. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  19. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  20. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  21. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  22. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  23. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -93
  24. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  25. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +1 -94
  26. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -1
  27. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +93 -0
  28. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  29. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +94 -1
  30. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
  31. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  32. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  33. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  34. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  35. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  36. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  37. package/dist/martyrs/src/components/Select/{Select.vue.cjs → Select.vue2.cjs} +2 -2
  38. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +1 -0
  39. package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
  40. package/dist/martyrs/src/components/Select/{Select.vue.cjs.map → Select.vue2.js.map} +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  46. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  47. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  53. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  59. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +4 -2
  60. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  61. package/dist/martyrs/src/modules/auth/views/store/auth.js +4 -2
  62. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  63. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs +5 -1
  64. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +5 -1
  66. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/chats/store/chat.store.cjs +38 -11
  68. package/dist/martyrs/src/modules/chats/store/chat.store.cjs.map +1 -1
  69. package/dist/martyrs/src/modules/chats/store/chat.store.js +38 -11
  70. package/dist/martyrs/src/modules/chats/store/chat.store.js.map +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/BlogPost.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  75. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  76. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  77. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  79. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  81. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  82. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  83. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  85. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -2
  86. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
  87. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  88. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  89. package/dist/martyrs/src/modules/globals/globals.client.cjs +1 -1
  90. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  91. package/dist/martyrs/src/modules/globals/globals.client.js +1 -1
  92. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  93. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  94. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  95. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs +29 -4
  96. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js +29 -4
  98. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js.map +1 -1
  99. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  101. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  103. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  105. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  107. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  108. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  109. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  111. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  113. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.cjs → Filters.vue2.cjs} +2 -2
  114. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -0
  115. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
  116. package/dist/martyrs/src/modules/globals/views/components/sections/{Filters.vue.cjs.map → Filters.vue2.js.map} +1 -1
  117. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +2 -2
  118. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  119. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  121. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  123. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +2 -2
  124. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  125. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
  127. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
  128. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  129. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  131. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  133. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  135. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  137. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  138. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  139. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  140. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
  141. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  143. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  145. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  146. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  147. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
  148. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  149. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  151. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  153. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
  154. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
  155. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  157. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +2 -2
  158. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  159. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  161. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  162. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  163. package/dist/martyrs/src/modules/music/router/music.cjs +3 -3
  164. package/dist/martyrs/src/modules/music/router/music.js +3 -3
  165. package/dist/martyrs/src/modules/notifications/notifications.client.cjs +14 -3
  166. package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
  167. package/dist/martyrs/src/modules/notifications/notifications.client.js +14 -3
  168. package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
  169. package/dist/martyrs/src/modules/notifications/store/notifications.store.cjs +2 -0
  170. package/dist/martyrs/src/modules/notifications/store/notifications.store.cjs.map +1 -1
  171. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +2 -0
  172. package/dist/martyrs/src/modules/notifications/store/notifications.store.js.map +1 -1
  173. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
  174. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  175. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
  176. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  177. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  179. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  180. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  181. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  182. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  183. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  184. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  185. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
  186. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  187. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
  188. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  189. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
  190. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  191. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  192. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  193. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  195. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  196. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  197. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  199. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  201. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  203. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  204. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  205. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  206. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  207. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  208. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  209. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  210. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  211. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  212. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  213. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  215. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  217. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  218. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  219. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +4 -4
  220. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
  221. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  222. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  223. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +3 -3
  224. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
  225. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  227. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  228. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  229. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  230. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  231. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +3 -3
  232. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +3 -3
  233. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  235. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  237. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  238. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  239. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -2
  240. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  241. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  242. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  243. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  244. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  245. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  246. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  247. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  248. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  249. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  250. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  251. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  252. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  253. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  254. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  255. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
  256. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  257. package/dist/notifications.server.cjs +21 -33
  258. package/dist/notifications.server.js +21 -33
  259. package/dist/orders.server.cjs +1 -1
  260. package/dist/orders.server.js +1 -1
  261. package/dist/organizations.server.cjs +1 -1
  262. package/dist/organizations.server.js +1 -1
  263. package/dist/{tickets.controller-DdnndM6c.cjs → tickets.controller-9zoaVPcx.cjs} +1 -1
  264. package/dist/{tickets.controller-C56OvH6v.js → tickets.controller-C8sWVqbB.js} +1 -1
  265. package/dist/wallet.server.cjs +1 -1
  266. package/dist/wallet.server.js +1 -1
  267. package/package.json +1 -1
  268. package/src/modules/auth/views/store/auth.js +6 -10
  269. package/src/modules/chats/components/sections/ChatWindow.vue +10 -1
  270. package/src/modules/chats/models/chat.model.js +5 -1
  271. package/src/modules/chats/routes/chats.routes.js +17 -2
  272. package/src/modules/chats/store/chat.store.js +49 -11
  273. package/src/modules/globals/controllers/classes/globals.websocket.js +56 -2
  274. package/src/modules/globals/controllers/utils/mailing.js +0 -4
  275. package/src/modules/globals/globals.client.js +3 -4
  276. package/src/modules/globals/views/classes/globals.websocket.js +40 -4
  277. package/src/modules/notifications/controllers/notifications.controller.js +27 -36
  278. package/src/modules/notifications/notifications.client.js +17 -4
  279. package/src/modules/notifications/store/notifications.store.js +2 -0
  280. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  281. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  282. package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
  283. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue.js.map +0 -1
  284. package/src/modules/chats/CLAUDE.md +0 -137
  285. package/src/modules/globals/views/classes/globals.websocket.ws.js +0 -212
@@ -1 +1 @@
1
- {"version":3,"file":"chat.store.cjs","sources":["../../../../../../src/modules/chats/store/chat.store.js"],"sourcesContent":["import globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\nimport { reactive, readonly } from 'vue';\n\nconst state = reactive({\n messages: [],\n currentChatId: null,\n username: null,\n userId: null,\n});\n\nconst methods = {\n /**\n * Подключение к глобальному WebSocket и подписка на чат\n * @param {String} userId\n */\n async connectWebSocket(userId) {\n try {\n console.log('[Chat] Connecting to WebSocket with userId:', userId);\n state.userId = userId; // Сохраняем userId\n await globalWebSocket.connect(userId);\n await globalWebSocket.subscribeModule('chat'); // 👈 Подписка на модуль чата\n\n // Очистка старых листенеров\n globalWebSocket.removeModuleListeners('chat');\n\n // Добавляем обработчик входящих сообщений\n globalWebSocket.addEventListener(\n 'message',\n data => {\n if (data.chatId === state.currentChatId) {\n state.messages.push(data);\n }\n },\n { module: 'chat' }\n );\n \n // Обработчик подтверждения прочтения\n globalWebSocket.addEventListener(\n 'readReceipt',\n data => {\n console.log('[CHAT STORE] Received readReceipt:', data);\n \n // Обновляем статус прочтения для сообщений\n if (data.messageIds && data.userId) {\n data.messageIds.forEach(messageId => {\n const message = state.messages.find(m => m._id === messageId);\n if (message) {\n if (!message.readBy) {\n message.readBy = [];\n }\n // Добавляем запись о прочтении если её еще нет\n if (!message.readBy.some(r => r.userId === data.userId)) {\n message.readBy.push({\n userId: data.userId,\n readAt: data.readAt || new Date()\n });\n console.log('[CHAT STORE] Updated message read status:', messageId);\n }\n }\n });\n }\n },\n { module: 'chat' }\n );\n } catch (error) {\n console.error('[Chat] WebSocket connection failed:', error);\n throw error;\n }\n },\n\n /**\n * Установка текущего активного чата и загрузка сообщений\n * @param {String} chatId\n */\n async setCurrentChat(chatId) {\n state.currentChatId = chatId;\n state.messages = [];\n\n // Отправляем joinChat через WebSocket\n globalWebSocket.send({ type: 'joinChat', module: 'chat', chatId });\n\n // Загружаем историю сообщений\n try {\n const response = await fetch(`/messages/${chatId}`);\n const messages = await response.json();\n methods.setMessages(messages);\n } catch (err) {\n console.error('[Chat] Failed to fetch messages:', err);\n }\n },\n\n /**\n * Установка сообщений\n * @param {Array} messages\n */\n setMessages(messages) {\n state.messages = messages;\n },\n\n /**\n * Отправка сообщения через WebSocket\n * @param {Object} message\n */\n async addMessage(message) {\n await globalWebSocket.send({\n ...message,\n module: 'chat',\n type: 'message',\n chatId: state.currentChatId,\n chatType: 'order', // TODO: динамически определять тип чата\n userId: state.userId, // Добавляем userId отправителя\n });\n },\n\n /**\n * Отметить сообщения как прочитанные\n * @param {Array<String>} messageIds\n */\n async markMessagesAsRead(messageIds) {\n console.log('[CHAT STORE] markMessagesAsRead called with:', messageIds);\n console.log('[CHAT STORE] Current userId:', state.userId);\n \n // Обновляем локальное состояние сразу для текущего пользователя\n messageIds.forEach(messageId => {\n const message = state.messages.find(m => m._id === messageId);\n if (message) {\n if (!message.readBy) {\n message.readBy = [];\n }\n // Добавляем запись о прочтении если её еще нет\n if (!message.readBy.some(r => r.userId === state.userId)) {\n message.readBy.push({\n userId: state.userId,\n readAt: new Date()\n });\n console.log('[CHAT STORE] Locally updated message read status:', messageId);\n }\n }\n });\n \n await globalWebSocket.send({\n type: 'markAsRead',\n module: 'chat',\n messageIds: messageIds,\n chatId: state.currentChatId,\n });\n },\n\n /**\n * Установка имени пользователя\n * @param {String} username\n */\n setUsername(username) {\n state.username = username;\n },\n\n /**\n * Отключение от чата (очистка листенеров)\n */\n disconnectChat() {\n globalWebSocket.removeModuleListeners('chat');\n // globalWebSocket.disconnect(); // включить, если нужно полностью разорвать соединение\n },\n};\n\nexport default {\n state: readonly(state),\n methods,\n};\n"],"names":["reactive","globalWebSocket","readonly"],"mappings":"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"}
1
+ {"version":3,"file":"chat.store.cjs","sources":["../../../../../../src/modules/chats/store/chat.store.js"],"sourcesContent":["import globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\nimport { reactive, readonly } from 'vue';\n\nconst state = reactive({\n messages: [],\n currentChatId: null,\n username: null,\n userId: null,\n anonymousId: null,\n});\n\nconst methods = {\n /**\n * Подключение к глобальному WebSocket и подписка на чат\n * @param {String} userId - optional userId for authenticated users\n */\n async connectWebSocket(userId = null) {\n try {\n console.log('[Chat] Connecting to WebSocket with userId:', userId);\n state.userId = userId; // Сохраняем userId (может быть null для анонимных)\n \n // Generate anonymousId for anonymous users\n if (!userId) {\n // Try to get existing anonymousId from localStorage\n let anonymousId = localStorage.getItem('chat_anonymous_id');\n if (!anonymousId) {\n anonymousId = 'anon_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n localStorage.setItem('chat_anonymous_id', anonymousId);\n }\n state.anonymousId = anonymousId;\n console.log('[Chat] Using anonymousId:', anonymousId);\n }\n \n // WebSocket уже подключен в globals.client.js, просто подписываемся на модуль\n console.log('[Chat Store] Subscribing to chat module...');\n \n // Очистка старых листенеров ДО подписки, чтобы избежать дублирования\n globalWebSocket.removeModuleListeners('chat');\n \n await globalWebSocket.subscribeModule('chat'); // 👈 Подписка на модуль чата\n console.log('[Chat Store] Subscribed to chat module');\n\n // Добавляем обработчик входящих сообщений\n globalWebSocket.addEventListener(\n 'message',\n data => {\n console.log('[Chat Store] Received message:', data);\n console.log('[Chat Store] Current chatId:', state.currentChatId);\n console.log('[Chat Store] Message chatId:', data.chatId);\n \n if (data.chatId === state.currentChatId) {\n console.log('[Chat Store] Adding message to state');\n state.messages.push(data);\n } else {\n console.log('[Chat Store] Message is for different chat, ignoring');\n }\n },\n { module: 'chat' }\n );\n \n // Обработчик подтверждения прочтения\n globalWebSocket.addEventListener(\n 'readReceipt',\n data => {\n console.log('[CHAT STORE] Received readReceipt:', data);\n \n // Обновляем статус прочтения для сообщений\n if (data.messageIds && data.userId) {\n data.messageIds.forEach(messageId => {\n const message = state.messages.find(m => m._id === messageId);\n if (message) {\n if (!message.readBy) {\n message.readBy = [];\n }\n // Добавляем запись о прочтении если её еще нет\n if (!message.readBy.some(r => r.userId === data.userId)) {\n message.readBy.push({\n userId: data.userId,\n readAt: data.readAt || new Date()\n });\n console.log('[CHAT STORE] Updated message read status:', messageId);\n }\n }\n });\n }\n },\n { module: 'chat' }\n );\n } catch (error) {\n console.error('[Chat] WebSocket connection failed:', error);\n throw error;\n }\n },\n\n /**\n * Установка текущего активного чата и загрузка сообщений\n * @param {String} chatId\n */\n async setCurrentChat(chatId) {\n console.log('[Chat Store] Setting current chat to:', chatId);\n state.currentChatId = chatId;\n state.messages = [];\n\n // Отправляем joinChat через WebSocket\n const joinMessage = { type: 'joinChat', module: 'chat', chatId };\n console.log('[Chat Store] Sending joinChat:', joinMessage);\n await globalWebSocket.send(joinMessage);\n\n // Загружаем историю сообщений\n try {\n const response = await fetch(`/messages/${chatId}`);\n const messages = await response.json();\n console.log('[Chat Store] Loaded messages:', messages.length);\n methods.setMessages(messages);\n } catch (err) {\n console.error('[Chat] Failed to fetch messages:', err);\n }\n },\n\n /**\n * Установка сообщений\n * @param {Array} messages\n */\n setMessages(messages) {\n state.messages = messages;\n },\n\n /**\n * Отправка сообщения через WebSocket\n * @param {Object} message\n */\n async addMessage(message) {\n const messageData = {\n ...message,\n module: 'chat',\n type: 'message',\n chatId: state.currentChatId,\n chatType: 'order', // TODO: динамически определять тип чата\n };\n \n // Add userId or anonymousId\n if (state.userId) {\n messageData.userId = state.userId;\n } else if (state.anonymousId) {\n messageData.anonymousId = state.anonymousId;\n }\n \n console.log('[Chat Store] Sending message:', messageData);\n const sendResult = await globalWebSocket.send(messageData);\n console.log('[Chat Store] Send result:', sendResult);\n },\n\n /**\n * Отметить сообщения как прочитанные\n * @param {Array<String>} messageIds\n */\n async markMessagesAsRead(messageIds) {\n console.log('[CHAT STORE] markMessagesAsRead called with:', messageIds);\n console.log('[CHAT STORE] Current userId:', state.userId);\n \n // Обновляем локальное состояние сразу для текущего пользователя\n messageIds.forEach(messageId => {\n const message = state.messages.find(m => m._id === messageId);\n if (message) {\n if (!message.readBy) {\n message.readBy = [];\n }\n // Добавляем запись о прочтении если её еще нет\n if (!message.readBy.some(r => r.userId === state.userId)) {\n message.readBy.push({\n userId: state.userId,\n readAt: new Date()\n });\n console.log('[CHAT STORE] Locally updated message read status:', messageId);\n }\n }\n });\n \n await globalWebSocket.send({\n type: 'markAsRead',\n module: 'chat',\n messageIds: messageIds,\n chatId: state.currentChatId,\n });\n },\n\n /**\n * Установка имени пользователя\n * @param {String} username\n */\n setUsername(username) {\n state.username = username;\n },\n\n /**\n * Отключение от чата (очистка листенеров)\n */\n disconnectChat() {\n globalWebSocket.removeModuleListeners('chat');\n // globalWebSocket.disconnect(); // включить, если нужно полностью разорвать соединение\n },\n};\n\nexport default {\n state: readonly(state),\n methods,\n};\n"],"names":["reactive","globalWebSocket","readonly"],"mappings":"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"}
@@ -4,25 +4,42 @@ const state = reactive({
4
4
  messages: [],
5
5
  currentChatId: null,
6
6
  username: null,
7
- userId: null
7
+ userId: null,
8
+ anonymousId: null
8
9
  });
9
10
  const methods = {
10
11
  /**
11
12
  * Подключение к глобальному WebSocket и подписка на чат
12
- * @param {String} userId
13
+ * @param {String} userId - optional userId for authenticated users
13
14
  */
14
- async connectWebSocket(userId) {
15
+ async connectWebSocket(userId = null) {
15
16
  try {
16
17
  console.log("[Chat] Connecting to WebSocket with userId:", userId);
17
18
  state.userId = userId;
18
- await globalWebSocket.connect(userId);
19
- await globalWebSocket.subscribeModule("chat");
19
+ if (!userId) {
20
+ let anonymousId = localStorage.getItem("chat_anonymous_id");
21
+ if (!anonymousId) {
22
+ anonymousId = "anon_" + Date.now() + "_" + Math.random().toString(36).substr(2, 9);
23
+ localStorage.setItem("chat_anonymous_id", anonymousId);
24
+ }
25
+ state.anonymousId = anonymousId;
26
+ console.log("[Chat] Using anonymousId:", anonymousId);
27
+ }
28
+ console.log("[Chat Store] Subscribing to chat module...");
20
29
  globalWebSocket.removeModuleListeners("chat");
30
+ await globalWebSocket.subscribeModule("chat");
31
+ console.log("[Chat Store] Subscribed to chat module");
21
32
  globalWebSocket.addEventListener(
22
33
  "message",
23
34
  (data) => {
35
+ console.log("[Chat Store] Received message:", data);
36
+ console.log("[Chat Store] Current chatId:", state.currentChatId);
37
+ console.log("[Chat Store] Message chatId:", data.chatId);
24
38
  if (data.chatId === state.currentChatId) {
39
+ console.log("[Chat Store] Adding message to state");
25
40
  state.messages.push(data);
41
+ } else {
42
+ console.log("[Chat Store] Message is for different chat, ignoring");
26
43
  }
27
44
  },
28
45
  { module: "chat" }
@@ -61,12 +78,16 @@ const methods = {
61
78
  * @param {String} chatId
62
79
  */
63
80
  async setCurrentChat(chatId) {
81
+ console.log("[Chat Store] Setting current chat to:", chatId);
64
82
  state.currentChatId = chatId;
65
83
  state.messages = [];
66
- globalWebSocket.send({ type: "joinChat", module: "chat", chatId });
84
+ const joinMessage = { type: "joinChat", module: "chat", chatId };
85
+ console.log("[Chat Store] Sending joinChat:", joinMessage);
86
+ await globalWebSocket.send(joinMessage);
67
87
  try {
68
88
  const response = await fetch(`/messages/${chatId}`);
69
89
  const messages = await response.json();
90
+ console.log("[Chat Store] Loaded messages:", messages.length);
70
91
  methods.setMessages(messages);
71
92
  } catch (err) {
72
93
  console.error("[Chat] Failed to fetch messages:", err);
@@ -84,16 +105,22 @@ const methods = {
84
105
  * @param {Object} message
85
106
  */
86
107
  async addMessage(message) {
87
- await globalWebSocket.send({
108
+ const messageData = {
88
109
  ...message,
89
110
  module: "chat",
90
111
  type: "message",
91
112
  chatId: state.currentChatId,
92
- chatType: "order",
113
+ chatType: "order"
93
114
  // TODO: динамически определять тип чата
94
- userId: state.userId
95
- // Добавляем userId отправителя
96
- });
115
+ };
116
+ if (state.userId) {
117
+ messageData.userId = state.userId;
118
+ } else if (state.anonymousId) {
119
+ messageData.anonymousId = state.anonymousId;
120
+ }
121
+ console.log("[Chat Store] Sending message:", messageData);
122
+ const sendResult = await globalWebSocket.send(messageData);
123
+ console.log("[Chat Store] Send result:", sendResult);
97
124
  },
98
125
  /**
99
126
  * Отметить сообщения как прочитанные
@@ -1 +1 @@
1
- {"version":3,"file":"chat.store.js","sources":["../../../../../../src/modules/chats/store/chat.store.js"],"sourcesContent":["import globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\nimport { reactive, readonly } from 'vue';\n\nconst state = reactive({\n messages: [],\n currentChatId: null,\n username: null,\n userId: null,\n});\n\nconst methods = {\n /**\n * Подключение к глобальному WebSocket и подписка на чат\n * @param {String} userId\n */\n async connectWebSocket(userId) {\n try {\n console.log('[Chat] Connecting to WebSocket with userId:', userId);\n state.userId = userId; // Сохраняем userId\n await globalWebSocket.connect(userId);\n await globalWebSocket.subscribeModule('chat'); // 👈 Подписка на модуль чата\n\n // Очистка старых листенеров\n globalWebSocket.removeModuleListeners('chat');\n\n // Добавляем обработчик входящих сообщений\n globalWebSocket.addEventListener(\n 'message',\n data => {\n if (data.chatId === state.currentChatId) {\n state.messages.push(data);\n }\n },\n { module: 'chat' }\n );\n \n // Обработчик подтверждения прочтения\n globalWebSocket.addEventListener(\n 'readReceipt',\n data => {\n console.log('[CHAT STORE] Received readReceipt:', data);\n \n // Обновляем статус прочтения для сообщений\n if (data.messageIds && data.userId) {\n data.messageIds.forEach(messageId => {\n const message = state.messages.find(m => m._id === messageId);\n if (message) {\n if (!message.readBy) {\n message.readBy = [];\n }\n // Добавляем запись о прочтении если её еще нет\n if (!message.readBy.some(r => r.userId === data.userId)) {\n message.readBy.push({\n userId: data.userId,\n readAt: data.readAt || new Date()\n });\n console.log('[CHAT STORE] Updated message read status:', messageId);\n }\n }\n });\n }\n },\n { module: 'chat' }\n );\n } catch (error) {\n console.error('[Chat] WebSocket connection failed:', error);\n throw error;\n }\n },\n\n /**\n * Установка текущего активного чата и загрузка сообщений\n * @param {String} chatId\n */\n async setCurrentChat(chatId) {\n state.currentChatId = chatId;\n state.messages = [];\n\n // Отправляем joinChat через WebSocket\n globalWebSocket.send({ type: 'joinChat', module: 'chat', chatId });\n\n // Загружаем историю сообщений\n try {\n const response = await fetch(`/messages/${chatId}`);\n const messages = await response.json();\n methods.setMessages(messages);\n } catch (err) {\n console.error('[Chat] Failed to fetch messages:', err);\n }\n },\n\n /**\n * Установка сообщений\n * @param {Array} messages\n */\n setMessages(messages) {\n state.messages = messages;\n },\n\n /**\n * Отправка сообщения через WebSocket\n * @param {Object} message\n */\n async addMessage(message) {\n await globalWebSocket.send({\n ...message,\n module: 'chat',\n type: 'message',\n chatId: state.currentChatId,\n chatType: 'order', // TODO: динамически определять тип чата\n userId: state.userId, // Добавляем userId отправителя\n });\n },\n\n /**\n * Отметить сообщения как прочитанные\n * @param {Array<String>} messageIds\n */\n async markMessagesAsRead(messageIds) {\n console.log('[CHAT STORE] markMessagesAsRead called with:', messageIds);\n console.log('[CHAT STORE] Current userId:', state.userId);\n \n // Обновляем локальное состояние сразу для текущего пользователя\n messageIds.forEach(messageId => {\n const message = state.messages.find(m => m._id === messageId);\n if (message) {\n if (!message.readBy) {\n message.readBy = [];\n }\n // Добавляем запись о прочтении если её еще нет\n if (!message.readBy.some(r => r.userId === state.userId)) {\n message.readBy.push({\n userId: state.userId,\n readAt: new Date()\n });\n console.log('[CHAT STORE] Locally updated message read status:', messageId);\n }\n }\n });\n \n await globalWebSocket.send({\n type: 'markAsRead',\n module: 'chat',\n messageIds: messageIds,\n chatId: state.currentChatId,\n });\n },\n\n /**\n * Установка имени пользователя\n * @param {String} username\n */\n setUsername(username) {\n state.username = username;\n },\n\n /**\n * Отключение от чата (очистка листенеров)\n */\n disconnectChat() {\n globalWebSocket.removeModuleListeners('chat');\n // globalWebSocket.disconnect(); // включить, если нужно полностью разорвать соединение\n },\n};\n\nexport default {\n state: readonly(state),\n methods,\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.store.js","sources":["../../../../../../src/modules/chats/store/chat.store.js"],"sourcesContent":["import globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\nimport { reactive, readonly } from 'vue';\n\nconst state = reactive({\n messages: [],\n currentChatId: null,\n username: null,\n userId: null,\n anonymousId: null,\n});\n\nconst methods = {\n /**\n * Подключение к глобальному WebSocket и подписка на чат\n * @param {String} userId - optional userId for authenticated users\n */\n async connectWebSocket(userId = null) {\n try {\n console.log('[Chat] Connecting to WebSocket with userId:', userId);\n state.userId = userId; // Сохраняем userId (может быть null для анонимных)\n \n // Generate anonymousId for anonymous users\n if (!userId) {\n // Try to get existing anonymousId from localStorage\n let anonymousId = localStorage.getItem('chat_anonymous_id');\n if (!anonymousId) {\n anonymousId = 'anon_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n localStorage.setItem('chat_anonymous_id', anonymousId);\n }\n state.anonymousId = anonymousId;\n console.log('[Chat] Using anonymousId:', anonymousId);\n }\n \n // WebSocket уже подключен в globals.client.js, просто подписываемся на модуль\n console.log('[Chat Store] Subscribing to chat module...');\n \n // Очистка старых листенеров ДО подписки, чтобы избежать дублирования\n globalWebSocket.removeModuleListeners('chat');\n \n await globalWebSocket.subscribeModule('chat'); // 👈 Подписка на модуль чата\n console.log('[Chat Store] Subscribed to chat module');\n\n // Добавляем обработчик входящих сообщений\n globalWebSocket.addEventListener(\n 'message',\n data => {\n console.log('[Chat Store] Received message:', data);\n console.log('[Chat Store] Current chatId:', state.currentChatId);\n console.log('[Chat Store] Message chatId:', data.chatId);\n \n if (data.chatId === state.currentChatId) {\n console.log('[Chat Store] Adding message to state');\n state.messages.push(data);\n } else {\n console.log('[Chat Store] Message is for different chat, ignoring');\n }\n },\n { module: 'chat' }\n );\n \n // Обработчик подтверждения прочтения\n globalWebSocket.addEventListener(\n 'readReceipt',\n data => {\n console.log('[CHAT STORE] Received readReceipt:', data);\n \n // Обновляем статус прочтения для сообщений\n if (data.messageIds && data.userId) {\n data.messageIds.forEach(messageId => {\n const message = state.messages.find(m => m._id === messageId);\n if (message) {\n if (!message.readBy) {\n message.readBy = [];\n }\n // Добавляем запись о прочтении если её еще нет\n if (!message.readBy.some(r => r.userId === data.userId)) {\n message.readBy.push({\n userId: data.userId,\n readAt: data.readAt || new Date()\n });\n console.log('[CHAT STORE] Updated message read status:', messageId);\n }\n }\n });\n }\n },\n { module: 'chat' }\n );\n } catch (error) {\n console.error('[Chat] WebSocket connection failed:', error);\n throw error;\n }\n },\n\n /**\n * Установка текущего активного чата и загрузка сообщений\n * @param {String} chatId\n */\n async setCurrentChat(chatId) {\n console.log('[Chat Store] Setting current chat to:', chatId);\n state.currentChatId = chatId;\n state.messages = [];\n\n // Отправляем joinChat через WebSocket\n const joinMessage = { type: 'joinChat', module: 'chat', chatId };\n console.log('[Chat Store] Sending joinChat:', joinMessage);\n await globalWebSocket.send(joinMessage);\n\n // Загружаем историю сообщений\n try {\n const response = await fetch(`/messages/${chatId}`);\n const messages = await response.json();\n console.log('[Chat Store] Loaded messages:', messages.length);\n methods.setMessages(messages);\n } catch (err) {\n console.error('[Chat] Failed to fetch messages:', err);\n }\n },\n\n /**\n * Установка сообщений\n * @param {Array} messages\n */\n setMessages(messages) {\n state.messages = messages;\n },\n\n /**\n * Отправка сообщения через WebSocket\n * @param {Object} message\n */\n async addMessage(message) {\n const messageData = {\n ...message,\n module: 'chat',\n type: 'message',\n chatId: state.currentChatId,\n chatType: 'order', // TODO: динамически определять тип чата\n };\n \n // Add userId or anonymousId\n if (state.userId) {\n messageData.userId = state.userId;\n } else if (state.anonymousId) {\n messageData.anonymousId = state.anonymousId;\n }\n \n console.log('[Chat Store] Sending message:', messageData);\n const sendResult = await globalWebSocket.send(messageData);\n console.log('[Chat Store] Send result:', sendResult);\n },\n\n /**\n * Отметить сообщения как прочитанные\n * @param {Array<String>} messageIds\n */\n async markMessagesAsRead(messageIds) {\n console.log('[CHAT STORE] markMessagesAsRead called with:', messageIds);\n console.log('[CHAT STORE] Current userId:', state.userId);\n \n // Обновляем локальное состояние сразу для текущего пользователя\n messageIds.forEach(messageId => {\n const message = state.messages.find(m => m._id === messageId);\n if (message) {\n if (!message.readBy) {\n message.readBy = [];\n }\n // Добавляем запись о прочтении если её еще нет\n if (!message.readBy.some(r => r.userId === state.userId)) {\n message.readBy.push({\n userId: state.userId,\n readAt: new Date()\n });\n console.log('[CHAT STORE] Locally updated message read status:', messageId);\n }\n }\n });\n \n await globalWebSocket.send({\n type: 'markAsRead',\n module: 'chat',\n messageIds: messageIds,\n chatId: state.currentChatId,\n });\n },\n\n /**\n * Установка имени пользователя\n * @param {String} username\n */\n setUsername(username) {\n state.username = username;\n },\n\n /**\n * Отключение от чата (очистка листенеров)\n */\n disconnectChat() {\n globalWebSocket.removeModuleListeners('chat');\n // globalWebSocket.disconnect(); // включить, если нужно полностью разорвать соединение\n },\n};\n\nexport default {\n state: readonly(state),\n methods,\n};\n"],"names":[],"mappings":"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"}
@@ -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 Select = require("../../../../components/Select/Select.vue.cjs");
5
+ const Select = require("../../../../components/Select/Select.vue2.cjs");
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
7
  const CardOrganization = require("../../../organizations/components/blocks/CardOrganization.vue.cjs");
8
8
  const IconFeatured = require("../../../icons/entities/IconFeatured.vue.cjs");
@@ -1,6 +1,6 @@
1
1
  import { ref, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, unref, createBlock, normalizeClass, createTextVNode, withCtx, Transition, resolveDynamicComponent, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import Select from "../../../../components/Select/Select.vue.js";
3
+ import Select from "../../../../components/Select/Select.vue2.js";
4
4
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
5
5
  import _sfc_main$6 from "../../../organizations/components/blocks/CardOrganization.vue.js";
6
6
  import _sfc_main$1 from "../../../icons/entities/IconFeatured.vue.js";
@@ -10,7 +10,7 @@ const vueRouter = require("vue-router");
10
10
  require("vue-i18n");
11
11
  ;/* empty css */
12
12
  ;/* empty css */
13
- ;/* empty css */
13
+ ;/* empty css */
14
14
  const auth = require("../../../auth/views/store/auth.cjs");
15
15
  require("../../../organizations/store/memberships.store.cjs");
16
16
  require("../../../organizations/store/organizations.cjs");
@@ -8,7 +8,7 @@ import { useRoute } from "vue-router";
8
8
  import "vue-i18n";
9
9
  /* empty css */
10
10
  /* empty css */
11
- /* empty css */
11
+ /* empty css */
12
12
  import { state as state$1 } from "../../../auth/views/store/auth.js";
13
13
  import "../../../organizations/store/memberships.store.js";
14
14
  import "../../../organizations/store/organizations.js";
@@ -5,13 +5,13 @@ require("isomorphic-dompurify");
5
5
  ;/* empty css */
6
6
  const Constructor = require("../../../constructor/components/sections/Constructor.vue.cjs");
7
7
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
- require("../../../../../../_virtual/index.cjs");
8
+ require("../../../../../../_virtual/index2.cjs");
9
9
  ;/* empty css */
10
10
  ;/* empty css */
11
11
  const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
12
12
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
13
13
  const Field = require("../../../../components/Field/Field.vue.cjs");
14
- const Button = require("../../../../components/Button/Button.vue2.cjs");
14
+ const Button = require("../../../../components/Button/Button.vue.cjs");
15
15
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
16
16
  const Card = require("../../../globals/views/components/blocks/Card.vue.cjs");
17
17
  const vueRouter = require("vue-router");
@@ -3,13 +3,13 @@ import "isomorphic-dompurify";
3
3
  /* empty css */
4
4
  import _sfc_main$1 from "../../../constructor/components/sections/Constructor.vue.js";
5
5
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
6
- import "../../../../../../_virtual/index.js";
6
+ import "../../../../../../_virtual/index2.js";
7
7
  /* empty css */
8
8
  /* empty css */
9
9
  import _sfc_main$3 from "../../../../components/FieldTags/BlockTags.vue.js";
10
10
  import _sfc_main$6 from "../../../../components/Checkbox/Checkbox.vue.js";
11
11
  import Field from "../../../../components/Field/Field.vue.js";
12
- import _sfc_main$7 from "../../../../components/Button/Button.vue2.js";
12
+ import _sfc_main$7 from "../../../../components/Button/Button.vue.js";
13
13
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
14
14
  import _sfc_main$4 from "../../../globals/views/components/blocks/Card.vue.js";
15
15
  import { useRoute, useRouter } from "vue-router";
@@ -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 index = require("../../../../../../node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs");
5
- const Button = require("../../../../components/Button/Button.vue2.cjs");
5
+ const Button = require("../../../../components/Button/Button.vue.cjs");
6
6
  const tickets = require("../../store/tickets.cjs");
7
7
  ;/* empty css */
8
8
  const _hoisted_1 = {
@@ -1,6 +1,6 @@
1
1
  import { ref, onMounted, onUnmounted, createElementBlock, openBlock, createVNode, createBlock, createCommentVNode, withCtx, createTextVNode, Teleport, createElementVNode } from "vue";
2
2
  import { BarcodeScanner } from "../../../../../../node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.js";
3
- import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
3
+ import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
4
4
  import { actions } from "../../store/tickets.js";
5
5
  /* empty css */
6
6
  const _hoisted_1 = {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Button = require("../../../../components/Button/Button.vue2.cjs");
4
+ const Button = require("../../../../components/Button/Button.vue.cjs");
5
5
  require("../../../auth/views/store/auth.cjs");
6
6
  const tickets = require("../../store/tickets.cjs");
7
7
  ;/* empty css */
@@ -1,5 +1,5 @@
1
1
  import { createBlock, openBlock, withCtx, createTextVNode, toDisplayString } from "vue";
2
- import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
2
+ import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
3
3
  import "../../../auth/views/store/auth.js";
4
4
  import { actions } from "../../store/tickets.js";
5
5
  /* empty css */
@@ -18,9 +18,9 @@ require("axios");
18
18
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
19
19
  ;/* empty css */
20
20
  require("../../../globals/views/store/globals.cjs");
21
- require("../../../../components/EditImages/EditImages.vue2.cjs");
21
+ require("../../../../components/EditImages/EditImages.vue.cjs");
22
22
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
23
- const Button = require("../../../../components/Button/Button.vue2.cjs");
23
+ const Button = require("../../../../components/Button/Button.vue.cjs");
24
24
  const Card = require("../../../globals/views/components/blocks/Card.vue.cjs");
25
25
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
26
26
  const vueRouter = require("vue-router");
@@ -16,9 +16,9 @@ import "axios";
16
16
  import _sfc_main$1 from "../../../../components/UploadImage/UploadImage.vue.js";
17
17
  /* empty css */
18
18
  import "../../../globals/views/store/globals.js";
19
- import "../../../../components/EditImages/EditImages.vue2.js";
19
+ import "../../../../components/EditImages/EditImages.vue.js";
20
20
  import _sfc_main$8 from "../../../../components/Feed/Feed.vue.js";
21
- import _sfc_main$a from "../../../../components/Button/Button.vue2.js";
21
+ import _sfc_main$a from "../../../../components/Button/Button.vue.js";
22
22
  import _sfc_main$7 from "../../../globals/views/components/blocks/Card.vue.js";
23
23
  import _sfc_main$3 from "../../../icons/navigation/IconDelete.vue.js";
24
24
  import { useRoute, useRouter } from "vue-router";
@@ -5,7 +5,7 @@ const Feed = require("../../../../components/Feed/Feed.vue.cjs");
5
5
  const Block = require("../../../../components/Block/Block.vue.cjs");
6
6
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
7
7
  const Field = require("../../../../components/Field/Field.vue.cjs");
8
- const Button = require("../../../../components/Button/Button.vue2.cjs");
8
+ const Button = require("../../../../components/Button/Button.vue.cjs");
9
9
  const ButtonCheck = require("../elements/ButtonCheck.vue.cjs");
10
10
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
11
11
  const IconAdd = require("../../../icons/navigation/IconAdd.vue.cjs");
@@ -3,7 +3,7 @@ import _sfc_main$7 from "../../../../components/Feed/Feed.vue.js";
3
3
  import _sfc_main$3 from "../../../../components/Block/Block.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
5
5
  import Field from "../../../../components/Field/Field.vue.js";
6
- import _sfc_main$6 from "../../../../components/Button/Button.vue2.js";
6
+ import _sfc_main$6 from "../../../../components/Button/Button.vue.js";
7
7
  import _sfc_main$1 from "../elements/ButtonCheck.vue.js";
8
8
  import _sfc_main$5 from "../../../icons/navigation/IconDelete.vue.js";
9
9
  import _sfc_main$4 from "../../../icons/navigation/IconAdd.vue.js";
@@ -13,11 +13,11 @@ const vueRouter = require("vue-router");
13
13
  ;/* empty css */
14
14
  const SkeletonEvent = require("../../../icons/skeletons/SkeletonEvent.vue.cjs");
15
15
  ;/* empty css */
16
- ;/* empty css */
16
+ ;/* empty css */
17
17
  ;/* empty css */
18
18
  ;/* empty css */
19
19
  require("../../../globals/views/store/globals.cjs");
20
- ;/* empty css */
20
+ ;/* empty css */
21
21
  ;/* empty css */
22
22
  ;/* empty css */
23
23
  ;/* empty css */
@@ -11,11 +11,11 @@ import { useRoute } from "vue-router";
11
11
  /* empty css */
12
12
  import SkeletonEvent from "../../../icons/skeletons/SkeletonEvent.vue.js";
13
13
  /* empty css */
14
- /* empty css */
14
+ /* empty css */
15
15
  /* empty css */
16
16
  /* empty css */
17
17
  import "../../../globals/views/store/globals.js";
18
- /* empty css */
18
+ /* empty css */
19
19
  /* empty css */
20
20
  /* empty css */
21
21
  /* empty css */
@@ -3,8 +3,8 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  ;/* empty css */
6
- const Button = require("../../../../components/Button/Button.vue2.cjs");
7
- ;/* empty css */
6
+ const Button = require("../../../../components/Button/Button.vue.cjs");
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");
@@ -15,7 +15,7 @@ require("../../../organizations/store/organizations.cjs");
15
15
  const gallery = require("../../store/gallery.cjs");
16
16
  const CardHeader = require("../../../globals/views/components/blocks/CardHeader.vue.cjs");
17
17
  const SectionPageTitle = require("../../../globals/views/components/sections/SectionPageTitle.vue.cjs");
18
- const EditImages = require("../../../../components/EditImages/EditImages.vue.cjs");
18
+ const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
19
19
  const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
20
20
  const _hoisted_1 = { class: "cols-1 gap-thin pd-thin" };
21
21
  const _hoisted_2 = { class: "pos-relative" };
@@ -1,8 +1,8 @@
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
3
  /* empty css */
4
- import _sfc_main$8 from "../../../../components/Button/Button.vue2.js";
5
- /* empty css */
4
+ import _sfc_main$8 from "../../../../components/Button/Button.vue.js";
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";
@@ -13,7 +13,7 @@ import "../../../organizations/store/organizations.js";
13
13
  import gallery from "../../store/gallery.js";
14
14
  import _sfc_main$3 from "../../../globals/views/components/blocks/CardHeader.vue.js";
15
15
  import _sfc_main$1 from "../../../globals/views/components/sections/SectionPageTitle.vue.js";
16
- import _sfc_main$6 from "../../../../components/EditImages/EditImages.vue.js";
16
+ import _sfc_main$6 from "../../../../components/EditImages/EditImages.vue2.js";
17
17
  import _sfc_main$7 from "../../../../components/FieldTags/BlockTags.vue.js";
18
18
  const _hoisted_1 = { class: "cols-1 gap-thin pd-thin" };
19
19
  const _hoisted_2 = { class: "pos-relative" };
@@ -44,7 +44,7 @@ function initializeGlobals(app, store2, router, config, options = {}) {
44
44
  app.use(alert_plugin.default);
45
45
  app.use(popup_auth_plugin.default);
46
46
  app.use(datePicker_plugin.default);
47
- console.log("Connecting to websockets via globals");
47
+ console.log("Initializing websockets via globals");
48
48
  globals_websocket.default.initialize({
49
49
  wsUrl: process.env.WSS_URL,
50
50
  maxReconnectAttempts: 10,
@@ -1 +1 @@
1
- {"version":3,"file":"globals.client.cjs","sources":["../../../../../src/modules/globals/globals.client.js"],"sourcesContent":["// Components\n// import Client from \"./components/layouts/Client.vue\"\n\nimport getBrowserLocale from './views/localization/get-browser-locale.js';\nimport scrollBehavior from './views/router/scrollBehavior.js';\n\nimport layoutApp from './views/components/layouts/App.vue';\nimport layoutClient from './views/components/layouts/Client.vue';\n\nimport BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue';\n\nimport BottomNavigationBar from '@martyrs/src/modules/globals/views/components/partials/BottomNavigationBar.vue';\nimport Header from '@martyrs/src/modules/globals/views/components/partials/Header.vue';\nimport Navigation from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue';\nimport NavigationBar from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\nimport Sidebar from '@martyrs/src/modules/globals/views/components/partials/Sidebar.vue';\nimport Footer from '@martyrs/src/modules/globals/views/components/partials/Footer.vue';\n\nimport Walkthrough from '@martyrs/src/modules/globals/views/components/sections/Walkthrough.vue';\n\nimport * as mixins from './views/mixins/mixins.js';\nimport * as storeGlobals from './views/store/globals.js';\nimport * as appRenderer from './views/utils/vue-app-renderer.js';\n\nimport alertPlugin from './views/plugins/alert.plugin.js';\nimport popupAuthPlugin from './views/plugins/popup.auth.plugin.js';\nimport datePickerPlugin from './views/plugins/date-picker.plugin.js';\nimport storeDebuggerPlugin from './views/plugins/store-debugger/store-debugger.plugin.js';\n\nimport store from './views/classes/store.js';\nimport websockets from './views/classes/globals.websocket.js';\nimport { i18nManager } from '@martyrs/src/modules/globals/views/classes/globals.i18n.js';\n\nimport en from './locales/en.js';\nimport ru from './locales/ru.js';\n\n\n// Пример функции инициализации для модуля заказов\nfunction initializeGlobals(app, store, router, config, options = {}) {\n const route = options.route || 'Home';\n\n const locales = {\n en: en,\n ru: ru,\n es: {} // или es: undefined\n };\n\n i18nManager.register('globals', locales);\n\n const envVariables = ['NODE_ENV', 'PORT', 'APP_NAME', 'DOMAIN_URL', 'API_URL', 'WSS_URL', 'FILE_SERVER_URL', 'WDT_TOKEN', 'WDM_URL_PROD', 'GOOGLE_MAPS_API_KEY', 'MOBILE_APP'];\n\n app.config.globalProperties.DOMAIN_URL = process.env.DOMAIN_URL;\n app.config.globalProperties.API_URL = process.env.API_URL;\n app.config.globalProperties.WSS_URL = process.env.WSS_URL;\n app.config.globalProperties.MOBILE_APP = process.env.MOBILE_APP;\n app.config.globalProperties.FILE_SERVER_URL = process.env.FILE_SERVER_URL;\n app.config.globalProperties.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY;\n\n app.mixin(mixins.globalMixins);\n\n app.use(alertPlugin);\n app.use(popupAuthPlugin);\n app.use(datePickerPlugin);\n // app.use(storeDebuggerPlugin, store);\n\n\n \n // Connect WebSocket only for authenticated users\n \n // const userId = this.store.auth.state.user?._id;\n console.log('Connecting to websockets via globals');\n websockets.initialize({\n wsUrl: process.env.WSS_URL,\n maxReconnectAttempts: 10,\n reconnectDelay: 2000,\n });\n\n websockets.connect();\n\n // Change Locale to Route Locale if available\n router.beforeEach((to, from, next) => {\n const locale = to.params.locale;\n\n if (locale) {\n if (!app.config.globalProperties.$i18n.availableLocales.includes(locale)) {\n return next({ path: '/404' });\n } else {\n app.config.globalProperties.$i18n.locale = locale;\n return next();\n }\n }\n\n return next();\n });\n\n if (config && config.modules) storeGlobals.state.options = config.modules;\n\n store.addStore('globals', storeGlobals);\n\n router.addRoute(route, {\n path: '404',\n name: 'notfound',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/404.vue'),\n });\n router.addRoute(route, {\n path: '401',\n name: 'unauthorized',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/401.vue'),\n });\n router.addRoute(route, {\n path: ':pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'notfound' },\n });\n}\n\nconst ModuleGlobals = {\n initialize: initializeGlobals,\n views: {\n store: {\n storeGlobals,\n },\n router: {\n // routerOrders\n },\n components: {\n // Pages\n BlockSearch,\n layoutClient,\n layoutApp,\n Header,\n Navigation,\n Footer,\n Sidebar,\n BottomNavigationBar,\n NavigationBar,\n Walkthrough\n },\n },\n};\n\nexport {\n BlockSearch,\n Header,\n Footer,\n Navigation,\n NavigationBar,\n Sidebar,\n Walkthrough,\n appRenderer,\n getBrowserLocale,\n layoutApp,\n // Components\n layoutClient,\n // Client,\n mixins,\n scrollBehavior,\n store,\n i18nManager,\n // Store\n storeGlobals,\n websockets,\n};\n\nexport default ModuleGlobals;\n"],"names":["store","en","ru","i18nManager","mixins.globalMixins","alertPlugin","popupAuthPlugin","datePickerPlugin","websockets","storeGlobals.state","storeGlobals","BlockSearch","layoutClient","layoutApp","Header","Navigation","Footer","Sidebar","BottomNavigationBar","NavigationBar","Walkthrough"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAS,kBAAkB,KAAKA,QAAO,QAAQ,QAAQ,UAAU,IAAI;AACnE,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,UAAU;AAAA,IACd,IAAIC,GAAAA;AAAAA,IACJ,IAAIC,GAAAA;AAAAA,IACJ,IAAI,CAAA;AAAA;AAAA,EACR;AAEEC,2BAAY,SAAS,WAAW,OAAO;AAIvC,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,kBAAkB,QAAQ,IAAI;AAC1D,MAAI,OAAO,iBAAiB,sBAAsB,QAAQ,IAAI;AAE9D,MAAI,MAAMC,mBAAmB;AAE7B,MAAI,IAAIC,oBAAW;AACnB,MAAI,IAAIC,yBAAe;AACvB,MAAI,IAAIC,yBAAgB;AAQxB,UAAQ,IAAI,sCAAsC;AAClDC,oBAAAA,QAAW,WAAW;AAAA,IACpB,OAAO,QAAQ,IAAI;AAAA,IACnB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,EACpB,CAAG;AAEDA,oBAAAA,QAAW,QAAO;AAGlB,SAAO,WAAW,CAAC,IAAI,MAAM,SAAS;AACpC,UAAM,SAAS,GAAG,OAAO;AAEzB,QAAI,QAAQ;AACV,UAAI,CAAC,IAAI,OAAO,iBAAiB,MAAM,iBAAiB,SAAS,MAAM,GAAG;AACxE,eAAO,KAAK,EAAE,MAAM,QAAQ;AAAA,MAC9B,OAAO;AACL,YAAI,OAAO,iBAAiB,MAAM,SAAS;AAC3C,eAAO,KAAI;AAAA,MACb;AAAA,IACF;AAEA,WAAO,KAAI;AAAA,EACb,CAAC;AAED,MAAI,UAAU,OAAO,QAASC,SAAAA,MAAmB,UAAU,OAAO;AAElE,EAAAT,OAAM,SAAS,WAAWU,OAAY;AAEtC,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,sCAA6D,CAAA;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,sCAA6D,CAAA;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,EAAE,MAAM,WAAU;AAAA,EAChC,CAAG;AACH;AAEK,MAAC,gBAAgB;AAAA,EACpB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,cAAMA;AAAAA,IACN;AAAA,IACI,QAAQ;AAAA;AAAA,IAEZ;AAAA,IACI,YAAY;AAAA;AAAA,MAEhB,aAAMC,YAAAA;AAAAA,MACN,cAAMC,OAAAA;AAAAA,MACN,WAAMC,IAAAA;AAAAA,MACN,QAAMC,OAAAA;AAAAA,MACN,YAAMC,WAAAA;AAAAA,MACN,QAAMC,OAAAA;AAAAA,MACN,SAAMC,QAAAA;AAAAA,MACN,qBAAMC,oBAAAA;AAAAA,MACN,eAAMC,cAAAA;AAAAA,MACN,aAAMC,YAAAA;AAAAA,IACN;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"globals.client.cjs","sources":["../../../../../src/modules/globals/globals.client.js"],"sourcesContent":["// Components\n// import Client from \"./components/layouts/Client.vue\"\n\nimport getBrowserLocale from './views/localization/get-browser-locale.js';\nimport scrollBehavior from './views/router/scrollBehavior.js';\n\nimport layoutApp from './views/components/layouts/App.vue';\nimport layoutClient from './views/components/layouts/Client.vue';\n\nimport BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue';\n\nimport BottomNavigationBar from '@martyrs/src/modules/globals/views/components/partials/BottomNavigationBar.vue';\nimport Header from '@martyrs/src/modules/globals/views/components/partials/Header.vue';\nimport Navigation from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue';\nimport NavigationBar from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\nimport Sidebar from '@martyrs/src/modules/globals/views/components/partials/Sidebar.vue';\nimport Footer from '@martyrs/src/modules/globals/views/components/partials/Footer.vue';\n\nimport Walkthrough from '@martyrs/src/modules/globals/views/components/sections/Walkthrough.vue';\n\nimport * as mixins from './views/mixins/mixins.js';\nimport * as storeGlobals from './views/store/globals.js';\nimport * as appRenderer from './views/utils/vue-app-renderer.js';\n\nimport alertPlugin from './views/plugins/alert.plugin.js';\nimport popupAuthPlugin from './views/plugins/popup.auth.plugin.js';\nimport datePickerPlugin from './views/plugins/date-picker.plugin.js';\nimport storeDebuggerPlugin from './views/plugins/store-debugger/store-debugger.plugin.js';\n\nimport store from './views/classes/store.js';\nimport websockets from './views/classes/globals.websocket.js';\nimport { i18nManager } from '@martyrs/src/modules/globals/views/classes/globals.i18n.js';\n\nimport en from './locales/en.js';\nimport ru from './locales/ru.js';\n\n\n// Пример функции инициализации для модуля заказов\nfunction initializeGlobals(app, store, router, config, options = {}) {\n const route = options.route || 'Home';\n\n const locales = {\n en: en,\n ru: ru,\n es: {} // или es: undefined\n };\n\n i18nManager.register('globals', locales);\n\n const envVariables = ['NODE_ENV', 'PORT', 'APP_NAME', 'DOMAIN_URL', 'API_URL', 'WSS_URL', 'FILE_SERVER_URL', 'WDT_TOKEN', 'WDM_URL_PROD', 'GOOGLE_MAPS_API_KEY', 'MOBILE_APP'];\n\n app.config.globalProperties.DOMAIN_URL = process.env.DOMAIN_URL;\n app.config.globalProperties.API_URL = process.env.API_URL;\n app.config.globalProperties.WSS_URL = process.env.WSS_URL;\n app.config.globalProperties.MOBILE_APP = process.env.MOBILE_APP;\n app.config.globalProperties.FILE_SERVER_URL = process.env.FILE_SERVER_URL;\n app.config.globalProperties.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY;\n\n app.mixin(mixins.globalMixins);\n\n app.use(alertPlugin);\n app.use(popupAuthPlugin);\n app.use(datePickerPlugin);\n // app.use(storeDebuggerPlugin, store);\n\n\n \n // Initialize WebSocket for all users (authenticated and anonymous)\n console.log('Initializing websockets via globals');\n websockets.initialize({\n wsUrl: process.env.WSS_URL,\n maxReconnectAttempts: 10,\n reconnectDelay: 2000,\n });\n\n // Connect without userId - will work for both authenticated (via cookies) and anonymous users\n websockets.connect();\n\n // Change Locale to Route Locale if available\n router.beforeEach((to, from, next) => {\n const locale = to.params.locale;\n\n if (locale) {\n if (!app.config.globalProperties.$i18n.availableLocales.includes(locale)) {\n return next({ path: '/404' });\n } else {\n app.config.globalProperties.$i18n.locale = locale;\n return next();\n }\n }\n\n return next();\n });\n\n if (config && config.modules) storeGlobals.state.options = config.modules;\n\n store.addStore('globals', storeGlobals);\n\n router.addRoute(route, {\n path: '404',\n name: 'notfound',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/404.vue'),\n });\n router.addRoute(route, {\n path: '401',\n name: 'unauthorized',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/401.vue'),\n });\n router.addRoute(route, {\n path: ':pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'notfound' },\n });\n}\n\nconst ModuleGlobals = {\n initialize: initializeGlobals,\n views: {\n store: {\n storeGlobals,\n },\n router: {\n // routerOrders\n },\n components: {\n // Pages\n BlockSearch,\n layoutClient,\n layoutApp,\n Header,\n Navigation,\n Footer,\n Sidebar,\n BottomNavigationBar,\n NavigationBar,\n Walkthrough\n },\n },\n};\n\nexport {\n BlockSearch,\n Header,\n Footer,\n Navigation,\n NavigationBar,\n Sidebar,\n Walkthrough,\n appRenderer,\n getBrowserLocale,\n layoutApp,\n // Components\n layoutClient,\n // Client,\n mixins,\n scrollBehavior,\n store,\n i18nManager,\n // Store\n storeGlobals,\n websockets,\n};\n\nexport default ModuleGlobals;\n"],"names":["store","en","ru","i18nManager","mixins.globalMixins","alertPlugin","popupAuthPlugin","datePickerPlugin","websockets","storeGlobals.state","storeGlobals","BlockSearch","layoutClient","layoutApp","Header","Navigation","Footer","Sidebar","BottomNavigationBar","NavigationBar","Walkthrough"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAS,kBAAkB,KAAKA,QAAO,QAAQ,QAAQ,UAAU,IAAI;AACnE,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,UAAU;AAAA,IACd,IAAIC,GAAAA;AAAAA,IACJ,IAAIC,GAAAA;AAAAA,IACJ,IAAI,CAAA;AAAA;AAAA,EACR;AAEEC,2BAAY,SAAS,WAAW,OAAO;AAIvC,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,kBAAkB,QAAQ,IAAI;AAC1D,MAAI,OAAO,iBAAiB,sBAAsB,QAAQ,IAAI;AAE9D,MAAI,MAAMC,mBAAmB;AAE7B,MAAI,IAAIC,oBAAW;AACnB,MAAI,IAAIC,yBAAe;AACvB,MAAI,IAAIC,yBAAgB;AAMxB,UAAQ,IAAI,qCAAqC;AACjDC,oBAAAA,QAAW,WAAW;AAAA,IACpB,OAAO,QAAQ,IAAI;AAAA,IACnB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,EACpB,CAAG;AAGDA,oBAAAA,QAAW,QAAO;AAGlB,SAAO,WAAW,CAAC,IAAI,MAAM,SAAS;AACpC,UAAM,SAAS,GAAG,OAAO;AAEzB,QAAI,QAAQ;AACV,UAAI,CAAC,IAAI,OAAO,iBAAiB,MAAM,iBAAiB,SAAS,MAAM,GAAG;AACxE,eAAO,KAAK,EAAE,MAAM,QAAQ;AAAA,MAC9B,OAAO;AACL,YAAI,OAAO,iBAAiB,MAAM,SAAS;AAC3C,eAAO,KAAI;AAAA,MACb;AAAA,IACF;AAEA,WAAO,KAAI;AAAA,EACb,CAAC;AAED,MAAI,UAAU,OAAO,QAASC,SAAAA,MAAmB,UAAU,OAAO;AAElE,EAAAT,OAAM,SAAS,WAAWU,OAAY;AAEtC,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,sCAA6D,CAAA;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,sCAA6D,CAAA;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,EAAE,MAAM,WAAU;AAAA,EAChC,CAAG;AACH;AAEK,MAAC,gBAAgB;AAAA,EACpB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,cAAMA;AAAAA,IACN;AAAA,IACI,QAAQ;AAAA;AAAA,IAEZ;AAAA,IACI,YAAY;AAAA;AAAA,MAEhB,aAAMC,YAAAA;AAAAA,MACN,cAAMC,OAAAA;AAAAA,MACN,WAAMC,IAAAA;AAAAA,MACN,QAAMC,OAAAA;AAAAA,MACN,YAAMC,WAAAA;AAAAA,MACN,QAAMC,OAAAA;AAAAA,MACN,SAAMC,QAAAA;AAAAA,MACN,qBAAMC,oBAAAA;AAAAA,MACN,eAAMC,cAAAA;AAAAA,MACN,aAAMC,YAAAA;AAAAA,IACN;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
@@ -44,7 +44,7 @@ function initializeGlobals(app, store, router, config, options = {}) {
44
44
  app.use(alertPlugin);
45
45
  app.use(popupAuthPlugin);
46
46
  app.use(datePickerPlugin);
47
- console.log("Connecting to websockets via globals");
47
+ console.log("Initializing websockets via globals");
48
48
  globalWebSocket.initialize({
49
49
  wsUrl: process.env.WSS_URL,
50
50
  maxReconnectAttempts: 10,
@@ -1 +1 @@
1
- {"version":3,"file":"globals.client.js","sources":["../../../../../src/modules/globals/globals.client.js"],"sourcesContent":["// Components\n// import Client from \"./components/layouts/Client.vue\"\n\nimport getBrowserLocale from './views/localization/get-browser-locale.js';\nimport scrollBehavior from './views/router/scrollBehavior.js';\n\nimport layoutApp from './views/components/layouts/App.vue';\nimport layoutClient from './views/components/layouts/Client.vue';\n\nimport BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue';\n\nimport BottomNavigationBar from '@martyrs/src/modules/globals/views/components/partials/BottomNavigationBar.vue';\nimport Header from '@martyrs/src/modules/globals/views/components/partials/Header.vue';\nimport Navigation from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue';\nimport NavigationBar from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\nimport Sidebar from '@martyrs/src/modules/globals/views/components/partials/Sidebar.vue';\nimport Footer from '@martyrs/src/modules/globals/views/components/partials/Footer.vue';\n\nimport Walkthrough from '@martyrs/src/modules/globals/views/components/sections/Walkthrough.vue';\n\nimport * as mixins from './views/mixins/mixins.js';\nimport * as storeGlobals from './views/store/globals.js';\nimport * as appRenderer from './views/utils/vue-app-renderer.js';\n\nimport alertPlugin from './views/plugins/alert.plugin.js';\nimport popupAuthPlugin from './views/plugins/popup.auth.plugin.js';\nimport datePickerPlugin from './views/plugins/date-picker.plugin.js';\nimport storeDebuggerPlugin from './views/plugins/store-debugger/store-debugger.plugin.js';\n\nimport store from './views/classes/store.js';\nimport websockets from './views/classes/globals.websocket.js';\nimport { i18nManager } from '@martyrs/src/modules/globals/views/classes/globals.i18n.js';\n\nimport en from './locales/en.js';\nimport ru from './locales/ru.js';\n\n\n// Пример функции инициализации для модуля заказов\nfunction initializeGlobals(app, store, router, config, options = {}) {\n const route = options.route || 'Home';\n\n const locales = {\n en: en,\n ru: ru,\n es: {} // или es: undefined\n };\n\n i18nManager.register('globals', locales);\n\n const envVariables = ['NODE_ENV', 'PORT', 'APP_NAME', 'DOMAIN_URL', 'API_URL', 'WSS_URL', 'FILE_SERVER_URL', 'WDT_TOKEN', 'WDM_URL_PROD', 'GOOGLE_MAPS_API_KEY', 'MOBILE_APP'];\n\n app.config.globalProperties.DOMAIN_URL = process.env.DOMAIN_URL;\n app.config.globalProperties.API_URL = process.env.API_URL;\n app.config.globalProperties.WSS_URL = process.env.WSS_URL;\n app.config.globalProperties.MOBILE_APP = process.env.MOBILE_APP;\n app.config.globalProperties.FILE_SERVER_URL = process.env.FILE_SERVER_URL;\n app.config.globalProperties.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY;\n\n app.mixin(mixins.globalMixins);\n\n app.use(alertPlugin);\n app.use(popupAuthPlugin);\n app.use(datePickerPlugin);\n // app.use(storeDebuggerPlugin, store);\n\n\n \n // Connect WebSocket only for authenticated users\n \n // const userId = this.store.auth.state.user?._id;\n console.log('Connecting to websockets via globals');\n websockets.initialize({\n wsUrl: process.env.WSS_URL,\n maxReconnectAttempts: 10,\n reconnectDelay: 2000,\n });\n\n websockets.connect();\n\n // Change Locale to Route Locale if available\n router.beforeEach((to, from, next) => {\n const locale = to.params.locale;\n\n if (locale) {\n if (!app.config.globalProperties.$i18n.availableLocales.includes(locale)) {\n return next({ path: '/404' });\n } else {\n app.config.globalProperties.$i18n.locale = locale;\n return next();\n }\n }\n\n return next();\n });\n\n if (config && config.modules) storeGlobals.state.options = config.modules;\n\n store.addStore('globals', storeGlobals);\n\n router.addRoute(route, {\n path: '404',\n name: 'notfound',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/404.vue'),\n });\n router.addRoute(route, {\n path: '401',\n name: 'unauthorized',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/401.vue'),\n });\n router.addRoute(route, {\n path: ':pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'notfound' },\n });\n}\n\nconst ModuleGlobals = {\n initialize: initializeGlobals,\n views: {\n store: {\n storeGlobals,\n },\n router: {\n // routerOrders\n },\n components: {\n // Pages\n BlockSearch,\n layoutClient,\n layoutApp,\n Header,\n Navigation,\n Footer,\n Sidebar,\n BottomNavigationBar,\n NavigationBar,\n Walkthrough\n },\n },\n};\n\nexport {\n BlockSearch,\n Header,\n Footer,\n Navigation,\n NavigationBar,\n Sidebar,\n Walkthrough,\n appRenderer,\n getBrowserLocale,\n layoutApp,\n // Components\n layoutClient,\n // Client,\n mixins,\n scrollBehavior,\n store,\n i18nManager,\n // Store\n storeGlobals,\n websockets,\n};\n\nexport default ModuleGlobals;\n"],"names":["mixins.globalMixins","websockets","storeGlobals.state","storeGlobals","BlockSearch","layoutClient","layoutApp","Header","Footer","BottomNavigationBar","NavigationBar","Walkthrough"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAS,kBAAkB,KAAK,OAAO,QAAQ,QAAQ,UAAU,IAAI;AACnE,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,IAAI,CAAA;AAAA;AAAA,EACR;AAEE,cAAY,SAAS,WAAW,OAAO;AAIvC,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,kBAAkB,QAAQ,IAAI;AAC1D,MAAI,OAAO,iBAAiB,sBAAsB,QAAQ,IAAI;AAE9D,MAAI,MAAMA,YAAmB;AAE7B,MAAI,IAAI,WAAW;AACnB,MAAI,IAAI,eAAe;AACvB,MAAI,IAAI,gBAAgB;AAQxB,UAAQ,IAAI,sCAAsC;AAClDC,kBAAW,WAAW;AAAA,IACpB,OAAO,QAAQ,IAAI;AAAA,IACnB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,EACpB,CAAG;AAEDA,kBAAW,QAAO;AAGlB,SAAO,WAAW,CAAC,IAAI,MAAM,SAAS;AACpC,UAAM,SAAS,GAAG,OAAO;AAEzB,QAAI,QAAQ;AACV,UAAI,CAAC,IAAI,OAAO,iBAAiB,MAAM,iBAAiB,SAAS,MAAM,GAAG;AACxE,eAAO,KAAK,EAAE,MAAM,QAAQ;AAAA,MAC9B,OAAO;AACL,YAAI,OAAO,iBAAiB,MAAM,SAAS;AAC3C,eAAO,KAAI;AAAA,MACb;AAAA,IACF;AAEA,WAAO,KAAI;AAAA,EACb,CAAC;AAED,MAAI,UAAU,OAAO,QAASC,OAAmB,UAAU,OAAO;AAElE,QAAM,SAAS,WAAWC,OAAY;AAEtC,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,qCAA6D;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,qCAA6D;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,EAAE,MAAM,WAAU;AAAA,EAChC,CAAG;AACH;AAEK,MAAC,gBAAgB;AAAA,EACpB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,cAAMA;AAAAA,IACN;AAAA,IACI,QAAQ;AAAA;AAAA,IAEZ;AAAA,IACI,YAAY;AAAA;AAAA,MAEhB,aAAMC;AAAAA,MACN,cAAMC;AAAAA,MACN,WAAMC;AAAAA,MACN,QAAMC;AAAAA,MACA;AAAA,MACN,QAAMC;AAAAA,MACA;AAAA,MACN,qBAAMC;AAAAA,MACN,eAAMC;AAAAA,MACN,aAAMC;AAAAA,IACN;AAAA,EACA;AACA;"}
1
+ {"version":3,"file":"globals.client.js","sources":["../../../../../src/modules/globals/globals.client.js"],"sourcesContent":["// Components\n// import Client from \"./components/layouts/Client.vue\"\n\nimport getBrowserLocale from './views/localization/get-browser-locale.js';\nimport scrollBehavior from './views/router/scrollBehavior.js';\n\nimport layoutApp from './views/components/layouts/App.vue';\nimport layoutClient from './views/components/layouts/Client.vue';\n\nimport BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue';\n\nimport BottomNavigationBar from '@martyrs/src/modules/globals/views/components/partials/BottomNavigationBar.vue';\nimport Header from '@martyrs/src/modules/globals/views/components/partials/Header.vue';\nimport Navigation from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue';\nimport NavigationBar from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\nimport Sidebar from '@martyrs/src/modules/globals/views/components/partials/Sidebar.vue';\nimport Footer from '@martyrs/src/modules/globals/views/components/partials/Footer.vue';\n\nimport Walkthrough from '@martyrs/src/modules/globals/views/components/sections/Walkthrough.vue';\n\nimport * as mixins from './views/mixins/mixins.js';\nimport * as storeGlobals from './views/store/globals.js';\nimport * as appRenderer from './views/utils/vue-app-renderer.js';\n\nimport alertPlugin from './views/plugins/alert.plugin.js';\nimport popupAuthPlugin from './views/plugins/popup.auth.plugin.js';\nimport datePickerPlugin from './views/plugins/date-picker.plugin.js';\nimport storeDebuggerPlugin from './views/plugins/store-debugger/store-debugger.plugin.js';\n\nimport store from './views/classes/store.js';\nimport websockets from './views/classes/globals.websocket.js';\nimport { i18nManager } from '@martyrs/src/modules/globals/views/classes/globals.i18n.js';\n\nimport en from './locales/en.js';\nimport ru from './locales/ru.js';\n\n\n// Пример функции инициализации для модуля заказов\nfunction initializeGlobals(app, store, router, config, options = {}) {\n const route = options.route || 'Home';\n\n const locales = {\n en: en,\n ru: ru,\n es: {} // или es: undefined\n };\n\n i18nManager.register('globals', locales);\n\n const envVariables = ['NODE_ENV', 'PORT', 'APP_NAME', 'DOMAIN_URL', 'API_URL', 'WSS_URL', 'FILE_SERVER_URL', 'WDT_TOKEN', 'WDM_URL_PROD', 'GOOGLE_MAPS_API_KEY', 'MOBILE_APP'];\n\n app.config.globalProperties.DOMAIN_URL = process.env.DOMAIN_URL;\n app.config.globalProperties.API_URL = process.env.API_URL;\n app.config.globalProperties.WSS_URL = process.env.WSS_URL;\n app.config.globalProperties.MOBILE_APP = process.env.MOBILE_APP;\n app.config.globalProperties.FILE_SERVER_URL = process.env.FILE_SERVER_URL;\n app.config.globalProperties.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY;\n\n app.mixin(mixins.globalMixins);\n\n app.use(alertPlugin);\n app.use(popupAuthPlugin);\n app.use(datePickerPlugin);\n // app.use(storeDebuggerPlugin, store);\n\n\n \n // Initialize WebSocket for all users (authenticated and anonymous)\n console.log('Initializing websockets via globals');\n websockets.initialize({\n wsUrl: process.env.WSS_URL,\n maxReconnectAttempts: 10,\n reconnectDelay: 2000,\n });\n\n // Connect without userId - will work for both authenticated (via cookies) and anonymous users\n websockets.connect();\n\n // Change Locale to Route Locale if available\n router.beforeEach((to, from, next) => {\n const locale = to.params.locale;\n\n if (locale) {\n if (!app.config.globalProperties.$i18n.availableLocales.includes(locale)) {\n return next({ path: '/404' });\n } else {\n app.config.globalProperties.$i18n.locale = locale;\n return next();\n }\n }\n\n return next();\n });\n\n if (config && config.modules) storeGlobals.state.options = config.modules;\n\n store.addStore('globals', storeGlobals);\n\n router.addRoute(route, {\n path: '404',\n name: 'notfound',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/404.vue'),\n });\n router.addRoute(route, {\n path: '401',\n name: 'unauthorized',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/401.vue'),\n });\n router.addRoute(route, {\n path: ':pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'notfound' },\n });\n}\n\nconst ModuleGlobals = {\n initialize: initializeGlobals,\n views: {\n store: {\n storeGlobals,\n },\n router: {\n // routerOrders\n },\n components: {\n // Pages\n BlockSearch,\n layoutClient,\n layoutApp,\n Header,\n Navigation,\n Footer,\n Sidebar,\n BottomNavigationBar,\n NavigationBar,\n Walkthrough\n },\n },\n};\n\nexport {\n BlockSearch,\n Header,\n Footer,\n Navigation,\n NavigationBar,\n Sidebar,\n Walkthrough,\n appRenderer,\n getBrowserLocale,\n layoutApp,\n // Components\n layoutClient,\n // Client,\n mixins,\n scrollBehavior,\n store,\n i18nManager,\n // Store\n storeGlobals,\n websockets,\n};\n\nexport default ModuleGlobals;\n"],"names":["mixins.globalMixins","websockets","storeGlobals.state","storeGlobals","BlockSearch","layoutClient","layoutApp","Header","Footer","BottomNavigationBar","NavigationBar","Walkthrough"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAS,kBAAkB,KAAK,OAAO,QAAQ,QAAQ,UAAU,IAAI;AACnE,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,IAAI,CAAA;AAAA;AAAA,EACR;AAEE,cAAY,SAAS,WAAW,OAAO;AAIvC,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,kBAAkB,QAAQ,IAAI;AAC1D,MAAI,OAAO,iBAAiB,sBAAsB,QAAQ,IAAI;AAE9D,MAAI,MAAMA,YAAmB;AAE7B,MAAI,IAAI,WAAW;AACnB,MAAI,IAAI,eAAe;AACvB,MAAI,IAAI,gBAAgB;AAMxB,UAAQ,IAAI,qCAAqC;AACjDC,kBAAW,WAAW;AAAA,IACpB,OAAO,QAAQ,IAAI;AAAA,IACnB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,EACpB,CAAG;AAGDA,kBAAW,QAAO;AAGlB,SAAO,WAAW,CAAC,IAAI,MAAM,SAAS;AACpC,UAAM,SAAS,GAAG,OAAO;AAEzB,QAAI,QAAQ;AACV,UAAI,CAAC,IAAI,OAAO,iBAAiB,MAAM,iBAAiB,SAAS,MAAM,GAAG;AACxE,eAAO,KAAK,EAAE,MAAM,QAAQ;AAAA,MAC9B,OAAO;AACL,YAAI,OAAO,iBAAiB,MAAM,SAAS;AAC3C,eAAO,KAAI;AAAA,MACb;AAAA,IACF;AAEA,WAAO,KAAI;AAAA,EACb,CAAC;AAED,MAAI,UAAU,OAAO,QAASC,OAAmB,UAAU,OAAO;AAElE,QAAM,SAAS,WAAWC,OAAY;AAEtC,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,qCAA6D;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,qCAA6D;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,EAAE,MAAM,WAAU;AAAA,EAChC,CAAG;AACH;AAEK,MAAC,gBAAgB;AAAA,EACpB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,cAAMA;AAAAA,IACN;AAAA,IACI,QAAQ;AAAA;AAAA,IAEZ;AAAA,IACI,YAAY;AAAA;AAAA,MAEhB,aAAMC;AAAAA,MACN,cAAMC;AAAAA,MACN,WAAMC;AAAAA,MACN,QAAMC;AAAAA,MACA;AAAA,MACN,QAAMC;AAAAA,MACA;AAAA,MACN,qBAAMC;AAAAA,MACN,eAAMC;AAAAA,MACN,aAAMC;AAAAA,IACN;AAAA,EACA;AACA;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const index = require("../../../../../../_virtual/index2.cjs");
3
+ const index = require("../../../../../../_virtual/index.cjs");
4
4
  class I18nManager {
5
5
  constructor() {
6
6
  this.moduleLocales = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- import merge from "../../../../../../_virtual/index2.js";
1
+ import merge from "../../../../../../_virtual/index.js";
2
2
  class I18nManager {
3
3
  constructor() {
4
4
  this.moduleLocales = /* @__PURE__ */ new Map();