@ozdao/martyrs 0.2.469 → 0.2.471

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 (589) hide show
  1. package/dist/{Media-DwVcRIAX.mjs → Media-C4Ges_Sd.mjs} +1 -1
  2. package/dist/{Media-DCGbUujy.js → Media-CR0V1zvB.js} +1 -1
  3. package/dist/_virtual/index.cjs +1 -1
  4. package/dist/_virtual/index.js +1 -1
  5. package/dist/auth.server.js +1 -1
  6. package/dist/auth.server.mjs +1 -1
  7. package/dist/chats.server.js +15 -14
  8. package/dist/chats.server.mjs +15 -14
  9. package/dist/community.server.js +1 -1
  10. package/dist/community.server.mjs +1 -1
  11. package/dist/events.server.js +1 -1
  12. package/dist/events.server.mjs +1 -1
  13. package/dist/files.server.js +1 -1
  14. package/dist/files.server.mjs +1 -1
  15. package/dist/gallery.server.js +1 -1
  16. package/dist/gallery.server.mjs +1 -1
  17. package/dist/globals.server.js +20 -12
  18. package/dist/globals.server.mjs +20 -12
  19. package/dist/{index-DICZTQ-1.mjs → index-CgMJYdNI.mjs} +3 -0
  20. package/dist/{index-DQqZReAr.js → index-DxIIUtHr.js} +3 -0
  21. package/dist/{main-DEHjtgLs.mjs → main-CTcal9qN.mjs} +900 -884
  22. package/dist/{main-UVdexuMN.js → main-CsZAG5Wz.js} +5 -5
  23. package/dist/martyrs/node_modules/@capacitor/core/dist/index.cjs.map +1 -0
  24. package/dist/martyrs/node_modules/@capacitor/core/dist/index.js.map +1 -0
  25. package/dist/martyrs/node_modules/{.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor → @capacitor}/preferences/dist/esm/index.cjs +1 -1
  26. package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/index.cjs.map +1 -0
  27. package/dist/martyrs/node_modules/{.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor → @capacitor}/preferences/dist/esm/index.js +1 -1
  28. package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/index.js.map +1 -0
  29. package/dist/martyrs/node_modules/{.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor → @capacitor}/preferences/dist/esm/web.cjs +1 -1
  30. package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/web.cjs.map +1 -0
  31. package/dist/martyrs/node_modules/{.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor → @capacitor}/preferences/dist/esm/web.js +1 -1
  32. package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/web.js.map +1 -0
  33. package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +1 -1
  34. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
  35. package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
  36. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  37. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
  38. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  39. package/dist/martyrs/node_modules/libphonenumber-js/es6/ParseError.cjs.map +1 -0
  40. package/dist/martyrs/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -0
  41. package/dist/martyrs/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +1 -0
  42. package/dist/martyrs/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -0
  43. package/dist/martyrs/node_modules/libphonenumber-js/es6/constants.cjs.map +1 -0
  44. package/dist/martyrs/node_modules/libphonenumber-js/es6/constants.js.map +1 -0
  45. package/dist/martyrs/node_modules/libphonenumber-js/es6/format.cjs.map +1 -0
  46. package/dist/martyrs/node_modules/libphonenumber-js/es6/format.js.map +1 -0
  47. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/RFC3966.cjs.map +1 -0
  48. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/RFC3966.js.map +1 -0
  49. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.cjs.map +1 -0
  50. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js.map +1 -0
  51. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.cjs.map +1 -0
  52. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js.map +1 -0
  53. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.cjs.map +1 -0
  54. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js.map +1 -0
  55. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.cjs.map +1 -0
  56. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js.map +1 -0
  57. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.cjs.map +1 -0
  58. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js.map +1 -0
  59. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs.map +1 -0
  60. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map +1 -0
  61. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs.map +1 -0
  62. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map +1 -0
  63. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.cjs.map +1 -0
  64. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js.map +1 -0
  65. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs.map +1 -0
  66. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js.map +1 -0
  67. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.cjs.map +1 -0
  68. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js.map +1 -0
  69. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.cjs.map +1 -0
  70. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js.map +1 -0
  71. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.cjs.map +1 -0
  72. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js.map +1 -0
  73. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.cjs.map +1 -0
  74. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js.map +1 -0
  75. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.cjs.map +1 -0
  76. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js.map +1 -0
  77. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getNumberType.cjs.map +1 -0
  78. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getNumberType.js.map +1 -0
  79. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.cjs.map +1 -0
  80. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js.map +1 -0
  81. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isObject.cjs.map +1 -0
  82. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isObject.js.map +1 -0
  83. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.cjs.map +1 -0
  84. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js.map +1 -0
  85. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.cjs.map +1 -0
  86. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js.map +1 -0
  87. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/parseDigits.cjs.map +1 -0
  88. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/parseDigits.js.map +1 -0
  89. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.cjs.map +1 -0
  90. package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js.map +1 -0
  91. package/dist/martyrs/node_modules/libphonenumber-js/es6/isPossible.cjs.map +1 -0
  92. package/dist/martyrs/node_modules/libphonenumber-js/es6/isPossible.js.map +1 -0
  93. package/dist/martyrs/node_modules/libphonenumber-js/es6/isValid.cjs.map +1 -0
  94. package/dist/martyrs/node_modules/libphonenumber-js/es6/isValid.js.map +1 -0
  95. package/dist/martyrs/node_modules/libphonenumber-js/es6/metadata.cjs.map +1 -0
  96. package/dist/martyrs/node_modules/libphonenumber-js/es6/metadata.js.map +1 -0
  97. package/dist/martyrs/node_modules/libphonenumber-js/es6/normalizeArguments.cjs.map +1 -0
  98. package/dist/martyrs/node_modules/libphonenumber-js/es6/normalizeArguments.js.map +1 -0
  99. package/dist/martyrs/node_modules/libphonenumber-js/es6/parse.cjs.map +1 -0
  100. package/dist/martyrs/node_modules/libphonenumber-js/es6/parse.js.map +1 -0
  101. package/dist/martyrs/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.cjs.map +1 -0
  102. package/dist/martyrs/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js.map +1 -0
  103. package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber.cjs.map +1 -0
  104. package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber.js.map +1 -0
  105. package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.cjs.map +1 -0
  106. package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js.map +1 -0
  107. package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber_.cjs.map +1 -0
  108. package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js.map +1 -0
  109. package/dist/martyrs/node_modules/libphonenumber-js/es6/tools/semver-compare.cjs.map +1 -0
  110. package/dist/martyrs/node_modules/libphonenumber-js/es6/tools/semver-compare.js.map +1 -0
  111. package/dist/martyrs/node_modules/libphonenumber-js/metadata.min.json.cjs.map +1 -0
  112. package/dist/martyrs/node_modules/libphonenumber-js/metadata.min.json.js.map +1 -0
  113. package/dist/martyrs/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.cjs.map +1 -0
  114. package/dist/martyrs/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js.map +1 -0
  115. package/dist/martyrs/node_modules/libphonenumber-js/min/exports/withMetadataArgument.cjs.map +1 -0
  116. package/dist/martyrs/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js.map +1 -0
  117. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs +5 -0
  118. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs.map +1 -0
  119. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  120. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  121. package/dist/{node_modules/.pnpm/uuid@11.1.0 → martyrs}/node_modules/uuid/dist/esm-browser/rng.cjs +4 -4
  122. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.cjs.map +1 -0
  123. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
  124. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
  125. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs +17 -0
  126. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs.map +1 -0
  127. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
  128. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
  129. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs +13 -0
  130. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs.map +1 -0
  131. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
  132. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
  133. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs +8 -0
  134. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs.map +1 -0
  135. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  136. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  137. package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
  138. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  139. package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  140. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  141. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  142. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  143. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  144. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  145. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  146. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  147. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  148. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  149. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
  150. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  151. package/dist/martyrs/src/components/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
  152. package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
  153. package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
  154. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
  155. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.cjs → Tooltip.vue.cjs} +2 -2
  156. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js.map → Tooltip.vue.cjs.map} +1 -1
  157. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
  158. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
  159. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  161. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +1 -1
  162. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -1
  163. package/dist/martyrs/src/modules/chats/store/chat.store.cjs +47 -16
  164. package/dist/martyrs/src/modules/chats/store/chat.store.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/chats/store/chat.store.js +47 -16
  166. package/dist/martyrs/src/modules/chats/store/chat.store.js.map +1 -1
  167. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +2 -2
  168. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
  169. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +2 -2
  170. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  171. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs.map +1 -1
  173. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
  174. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js.map +1 -1
  175. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +6 -3
  176. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
  177. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +6 -3
  178. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  179. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +4 -4
  180. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs.map +1 -1
  181. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +4 -4
  182. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
  183. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
  184. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +1 -1
  185. package/dist/martyrs/src/modules/constructor/components/elements/VideoPlayer.vue.cjs +1 -1
  186. package/dist/martyrs/src/modules/constructor/components/elements/VideoPlayer.vue.cjs.map +1 -1
  187. package/dist/martyrs/src/modules/constructor/components/elements/VideoPlayer.vue.js +1 -1
  188. package/dist/martyrs/src/modules/constructor/components/elements/VideoPlayer.vue.js.map +1 -1
  189. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +10 -10
  190. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs.map +1 -1
  191. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +10 -10
  192. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js.map +1 -1
  193. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  195. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  196. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +1 -1
  197. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  198. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  199. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  201. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  203. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  204. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  205. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +1 -1
  206. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +1 -1
  207. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  208. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  209. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
  210. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  211. package/dist/martyrs/src/modules/globals/globals.client.cjs +0 -9
  212. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/globals/globals.client.js +0 -9
  214. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  215. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +107 -21
  216. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +107 -21
  218. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
  219. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs +40 -97
  220. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs.map +1 -1
  221. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js +40 -97
  222. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js.map +1 -1
  223. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  224. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  225. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  227. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs +1 -1
  228. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +1 -1
  229. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  230. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  231. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  232. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  233. package/dist/martyrs/src/modules/globals/views/plugins/AlertDialog.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/globals/views/plugins/AlertDialog.vue.js +1 -1
  235. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +1 -1
  236. package/dist/martyrs/src/modules/globals/views/store/globals.js +1 -1
  237. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +1 -1
  238. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +1 -1
  239. package/dist/martyrs/src/modules/icons/skeletons/SkeletonBlogpost.vue.cjs +1 -1
  240. package/dist/martyrs/src/modules/icons/skeletons/SkeletonBlogpost.vue.cjs.map +1 -1
  241. package/dist/martyrs/src/modules/icons/skeletons/SkeletonBlogpost.vue.js +1 -1
  242. package/dist/martyrs/src/modules/icons/skeletons/SkeletonBlogpost.vue.js.map +1 -1
  243. package/dist/martyrs/src/modules/notifications/notifications.client.cjs +36 -10
  244. package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
  245. package/dist/martyrs/src/modules/notifications/notifications.client.js +36 -10
  246. package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
  247. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +1 -1
  248. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
  249. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  250. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  251. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  252. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  253. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  254. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  255. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  256. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  257. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  258. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  259. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  260. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
  261. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  262. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  263. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
  264. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
  265. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  266. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  267. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  268. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  269. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  270. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  271. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  272. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  273. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  274. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  275. package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
  276. package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.js +1 -1
  277. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  278. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  279. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  280. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  282. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  283. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
  284. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  285. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  286. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  287. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  288. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  289. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  290. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  291. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  292. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  293. package/dist/martyrs.cjs.js +1 -1
  294. package/dist/martyrs.css +1 -1
  295. package/dist/martyrs.es.js +1 -1
  296. package/dist/notifications.server.js +69 -13
  297. package/dist/notifications.server.mjs +69 -13
  298. package/dist/orders.server.js +4 -3
  299. package/dist/orders.server.mjs +4 -3
  300. package/dist/organizations.server.js +1 -1
  301. package/dist/organizations.server.mjs +1 -1
  302. package/dist/rents.server.js +1 -1
  303. package/dist/rents.server.mjs +1 -1
  304. package/dist/wallet.server.js +1 -1
  305. package/dist/wallet.server.mjs +1 -1
  306. package/package.json +1 -1
  307. package/src/components/Shader/Shader.vue +44 -25
  308. package/src/modules/auth/controllers/middlewares/authJwt.js +4 -0
  309. package/src/modules/chats/routes/chats.routes.js +21 -17
  310. package/src/modules/chats/store/chat.store.js +55 -28
  311. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  312. package/src/modules/community/components/pages/Blog.vue +1 -1
  313. package/src/modules/community/components/pages/BlogPost.vue +1 -0
  314. package/src/modules/community/components/pages/CreateBlogPost.vue +3 -3
  315. package/src/modules/constructor/components/elements/VideoPlayer.vue +1 -1
  316. package/src/modules/constructor/components/sections/Constructor.vue +9 -9
  317. package/src/modules/events/components/pages/EditEvent.vue +1 -1
  318. package/src/modules/globals/controllers/classes/globals.crud.js +2 -2
  319. package/src/modules/globals/controllers/classes/globals.websocket.js +29 -21
  320. package/src/modules/globals/globals.client.js +0 -12
  321. package/src/modules/globals/views/classes/globals.store.js +119 -31
  322. package/src/modules/globals/views/classes/globals.websocket.js +46 -146
  323. package/src/modules/icons/entities/IconMusic.vue +14 -0
  324. package/src/modules/icons/navigation/IconCheck.vue +31 -0
  325. package/src/modules/icons/navigation/IconHeart.vue +26 -0
  326. package/src/modules/icons/navigation/IconPause.vue +31 -0
  327. package/src/modules/icons/navigation/IconPlay.vue +17 -0
  328. package/src/modules/icons/navigation/IconRefresh.vue +31 -0
  329. package/src/modules/icons/navigation/IconShuffle.vue +31 -0
  330. package/src/modules/icons/navigation/IconVolume.vue +31 -0
  331. package/src/modules/icons/skeletons/SkeletonBlogpost.vue +2 -2
  332. package/src/modules/music/components/SidebarMusic.vue +156 -0
  333. package/src/modules/music/components/cards/AlbumCard.vue +107 -0
  334. package/src/modules/music/components/cards/ArtistCard.vue +37 -0
  335. package/src/modules/music/components/cards/PlaylistCard.vue +100 -0
  336. package/src/modules/music/components/cards/TrackCard.vue +86 -0
  337. package/src/modules/music/components/forms/PlaylistForm.vue +156 -0
  338. package/src/modules/music/components/forms/SearchForm.vue +82 -0
  339. package/src/modules/music/components/forms/UploadForm.vue +313 -0
  340. package/src/modules/music/components/layouts/MusicLayout.vue +137 -0
  341. package/src/modules/music/components/lists/AlbumList.vue +25 -0
  342. package/src/modules/music/components/lists/ArtistList.vue +25 -0
  343. package/src/modules/music/components/lists/PlaylistList.vue +25 -0
  344. package/src/modules/music/components/lists/TrackList.vue +175 -0
  345. package/src/modules/music/components/pages/AlbumDetail.vue +265 -0
  346. package/src/modules/music/components/pages/ArtistDetail.vue +247 -0
  347. package/src/modules/music/components/pages/MusicHome.vue +177 -0
  348. package/src/modules/music/components/pages/MusicLibrary.vue +192 -0
  349. package/src/modules/music/components/pages/MusicUpload.vue +44 -0
  350. package/src/modules/music/components/pages/PlaylistDetail.vue +504 -0
  351. package/src/modules/music/components/pages/SearchResults.vue +397 -0
  352. package/src/modules/music/components/pages/TrackDetail.vue +143 -0
  353. package/src/modules/music/components/player/MusicPlayer.vue +202 -0
  354. package/src/modules/music/components/player/TrackProgress.vue +110 -0
  355. package/src/modules/music/components/player/VolumeControl.vue +98 -0
  356. package/src/modules/music/controllers/album.controller.js +98 -0
  357. package/src/modules/music/controllers/artist.controller.js +111 -0
  358. package/src/modules/music/controllers/genre.controller.js +71 -0
  359. package/src/modules/music/controllers/music.controller.js +174 -0
  360. package/src/modules/music/controllers/playlist.controller.js +182 -0
  361. package/src/modules/music/controllers/search.controller.js +103 -0
  362. package/src/modules/music/controllers/stream.controller.js +106 -0
  363. package/src/modules/music/models/album.model.js +61 -0
  364. package/src/modules/music/models/artist.model.js +67 -0
  365. package/src/modules/music/models/genre.model.js +42 -0
  366. package/src/modules/music/models/play-history.model.js +51 -0
  367. package/src/modules/music/models/playlist.model.js +69 -0
  368. package/src/modules/music/models/track.model.js +94 -0
  369. package/src/modules/music/music.client.js +186 -0
  370. package/src/modules/music/music.server.js +114 -0
  371. package/src/modules/music/policies/music.policies.js +84 -0
  372. package/src/modules/music/router/music.js +77 -0
  373. package/src/modules/music/routes/album.routes.js +62 -0
  374. package/src/modules/music/routes/artist.routes.js +67 -0
  375. package/src/modules/music/routes/genre.routes.js +60 -0
  376. package/src/modules/music/routes/music.routes.js +145 -0
  377. package/src/modules/music/routes/playlist.routes.js +99 -0
  378. package/src/modules/music/routes/search.routes.js +10 -0
  379. package/src/modules/music/routes/stream.routes.js +38 -0
  380. package/src/modules/music/store/albums.js +200 -0
  381. package/src/modules/music/store/artists.js +180 -0
  382. package/src/modules/music/store/player.js +397 -0
  383. package/src/modules/music/store/playlists.js +211 -0
  384. package/src/modules/music/store/search.js +126 -0
  385. package/src/modules/music/store/tracks.js +230 -0
  386. package/src/modules/music/websocket/streaming.handler.js +151 -0
  387. package/src/modules/notifications/controllers/notifications.controller.js +2 -2
  388. package/src/modules/notifications/notifications.client.js +57 -19
  389. package/src/modules/notifications/notifications.server.js +3 -1
  390. package/src/modules/notifications/routes/notifications.routes.js +2 -2
  391. package/src/modules/notifications/services/notification.service.js +34 -15
  392. package/src/modules/notifications/services/web-push.service.js +7 -6
  393. package/src/modules/orders/controllers/orders.controller.js +2 -0
  394. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.cjs.map +0 -1
  395. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.js.map +0 -1
  396. package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/index.cjs.map +0 -1
  397. package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/index.js.map +0 -1
  398. package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/web.cjs.map +0 -1
  399. package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/web.js.map +0 -1
  400. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs.map +0 -1
  401. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js.map +0 -1
  402. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +0 -1
  403. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +0 -1
  404. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/constants.cjs.map +0 -1
  405. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/constants.js.map +0 -1
  406. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/format.cjs.map +0 -1
  407. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/format.js.map +0 -1
  408. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/RFC3966.cjs.map +0 -1
  409. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/RFC3966.js.map +0 -1
  410. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.cjs.map +0 -1
  411. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js.map +0 -1
  412. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.cjs.map +0 -1
  413. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js.map +0 -1
  414. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.cjs.map +0 -1
  415. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js.map +0 -1
  416. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.cjs.map +0 -1
  417. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js.map +0 -1
  418. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.cjs.map +0 -1
  419. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js.map +0 -1
  420. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs.map +0 -1
  421. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map +0 -1
  422. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs.map +0 -1
  423. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map +0 -1
  424. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.cjs.map +0 -1
  425. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js.map +0 -1
  426. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs.map +0 -1
  427. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js.map +0 -1
  428. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.cjs.map +0 -1
  429. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js.map +0 -1
  430. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.cjs.map +0 -1
  431. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js.map +0 -1
  432. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.cjs.map +0 -1
  433. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js.map +0 -1
  434. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.cjs.map +0 -1
  435. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js.map +0 -1
  436. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.cjs.map +0 -1
  437. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js.map +0 -1
  438. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getNumberType.cjs.map +0 -1
  439. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getNumberType.js.map +0 -1
  440. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.cjs.map +0 -1
  441. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js.map +0 -1
  442. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isObject.cjs.map +0 -1
  443. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isObject.js.map +0 -1
  444. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.cjs.map +0 -1
  445. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js.map +0 -1
  446. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.cjs.map +0 -1
  447. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js.map +0 -1
  448. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/parseDigits.cjs.map +0 -1
  449. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/parseDigits.js.map +0 -1
  450. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.cjs.map +0 -1
  451. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js.map +0 -1
  452. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isPossible.cjs.map +0 -1
  453. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isPossible.js.map +0 -1
  454. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isValid.cjs.map +0 -1
  455. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isValid.js.map +0 -1
  456. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs.map +0 -1
  457. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js.map +0 -1
  458. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/normalizeArguments.cjs.map +0 -1
  459. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/normalizeArguments.js.map +0 -1
  460. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parse.cjs.map +0 -1
  461. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parse.js.map +0 -1
  462. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.cjs.map +0 -1
  463. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js.map +0 -1
  464. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber.cjs.map +0 -1
  465. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber.js.map +0 -1
  466. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.cjs.map +0 -1
  467. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js.map +0 -1
  468. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber_.cjs.map +0 -1
  469. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js.map +0 -1
  470. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/tools/semver-compare.cjs.map +0 -1
  471. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/tools/semver-compare.js.map +0 -1
  472. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/metadata.min.json.cjs.map +0 -1
  473. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/metadata.min.json.js.map +0 -1
  474. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.cjs.map +0 -1
  475. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js.map +0 -1
  476. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/withMetadataArgument.cjs.map +0 -1
  477. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js.map +0 -1
  478. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  479. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  480. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  481. package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
  482. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +0 -1
  483. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
  484. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
  485. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
  486. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  487. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs +0 -6
  488. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs.map +0 -1
  489. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
  490. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  491. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
  492. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  493. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  494. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -11
  495. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
  496. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
  497. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  498. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs +0 -21
  499. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
  500. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -21
  501. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  502. package/src/modules/notifications/notifications2.client.js +0 -256
  503. package/src/modules/notifications/services/websocket.service.js +0 -100
  504. /package/dist/martyrs/node_modules/{.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor → @capacitor}/core/dist/index.cjs +0 -0
  505. /package/dist/martyrs/node_modules/{.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor → @capacitor}/core/dist/index.js +0 -0
  506. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +0 -0
  507. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
  508. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs +0 -0
  509. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs.map +0 -0
  510. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js +0 -0
  511. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js.map +0 -0
  512. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/ParseError.cjs +0 -0
  513. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/ParseError.js +0 -0
  514. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/PhoneNumber.cjs +0 -0
  515. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/PhoneNumber.js +0 -0
  516. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/constants.cjs +0 -0
  517. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/constants.js +0 -0
  518. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/format.cjs +0 -0
  519. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/format.js +0 -0
  520. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/RFC3966.cjs +0 -0
  521. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/RFC3966.js +0 -0
  522. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/applyInternationalSeparatorStyle.cjs +0 -0
  523. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/applyInternationalSeparatorStyle.js +0 -0
  524. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/checkNumberLength.cjs +0 -0
  525. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/checkNumberLength.js +0 -0
  526. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extension/createExtensionPattern.cjs +0 -0
  527. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extension/createExtensionPattern.js +0 -0
  528. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extension/extractExtension.cjs +0 -0
  529. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extension/extractExtension.js +0 -0
  530. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractCountryCallingCode.cjs +0 -0
  531. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractCountryCallingCode.js +0 -0
  532. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs +0 -0
  533. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js +0 -0
  534. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs +0 -0
  535. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js +0 -0
  536. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractNationalNumber.cjs +0 -0
  537. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractNationalNumber.js +0 -0
  538. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs +0 -0
  539. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js +0 -0
  540. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractPhoneContext.cjs +0 -0
  541. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/extractPhoneContext.js +0 -0
  542. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/formatNationalNumberUsingFormat.cjs +0 -0
  543. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/formatNationalNumberUsingFormat.js +0 -0
  544. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getCountryByCallingCode.cjs +0 -0
  545. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getCountryByCallingCode.js +0 -0
  546. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getCountryByNationalNumber.cjs +0 -0
  547. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getCountryByNationalNumber.js +0 -0
  548. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getIddPrefix.cjs +0 -0
  549. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getIddPrefix.js +0 -0
  550. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getNumberType.cjs +0 -0
  551. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getNumberType.js +0 -0
  552. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getPossibleCountriesForNumber.cjs +0 -0
  553. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/getPossibleCountriesForNumber.js +0 -0
  554. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/isObject.cjs +0 -0
  555. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/isObject.js +0 -0
  556. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/isViablePhoneNumber.cjs +0 -0
  557. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/isViablePhoneNumber.js +0 -0
  558. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/matchesEntirely.cjs +0 -0
  559. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/matchesEntirely.js +0 -0
  560. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/parseDigits.cjs +0 -0
  561. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/parseDigits.js +0 -0
  562. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/stripIddPrefix.cjs +0 -0
  563. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/helpers/stripIddPrefix.js +0 -0
  564. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/isPossible.cjs +0 -0
  565. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/isPossible.js +0 -0
  566. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/isValid.cjs +0 -0
  567. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/isValid.js +0 -0
  568. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/metadata.cjs +0 -0
  569. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/metadata.js +0 -0
  570. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/normalizeArguments.cjs +0 -0
  571. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/normalizeArguments.js +0 -0
  572. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parse.cjs +0 -0
  573. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parse.js +0 -0
  574. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parseIncompletePhoneNumber.cjs +0 -0
  575. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parseIncompletePhoneNumber.js +0 -0
  576. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parsePhoneNumber.cjs +0 -0
  577. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parsePhoneNumber.js +0 -0
  578. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parsePhoneNumberWithError_.cjs +0 -0
  579. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parsePhoneNumberWithError_.js +0 -0
  580. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parsePhoneNumber_.cjs +0 -0
  581. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/parsePhoneNumber_.js +0 -0
  582. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/tools/semver-compare.cjs +0 -0
  583. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/es6/tools/semver-compare.js +0 -0
  584. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/metadata.min.json.cjs +0 -0
  585. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/metadata.min.json.js +0 -0
  586. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/min/exports/parsePhoneNumber.cjs +0 -0
  587. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/min/exports/parsePhoneNumber.js +0 -0
  588. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/min/exports/withMetadataArgument.cjs +0 -0
  589. /package/dist/martyrs/node_modules/{.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js → libphonenumber-js}/min/exports/withMetadataArgument.js +0 -0
@@ -13,43 +13,27 @@ class GlobalWebSocket {
13
13
  this.listeners = {};
14
14
  this.userId = null;
15
15
  this.connectPromise = null;
16
+ this.subscribedModules = /* @__PURE__ */ new Set();
16
17
  }
17
- /**
18
- * Initialize WebSocket with configuration options
19
- * @param {Object} options - Configuration options
20
- */
21
18
  initialize(options = {}) {
22
19
  this.maxReconnectAttempts = options.maxReconnectAttempts || this.maxReconnectAttempts;
23
20
  this.reconnectDelay = options.reconnectDelay || this.reconnectDelay;
24
21
  this.baseUrl = options.wsUrl || this._getDefaultWsUrl();
25
22
  this.pingIntervalTime = options.pingInterval || this.pingIntervalTime;
26
23
  }
27
- /**
28
- * Get default WebSocket URL based on current HTTP URL
29
- * @returns {String} WebSocket URL
30
- */
31
24
  _getDefaultWsUrl() {
32
- if (typeof window === "undefined") {
33
- return "/api/ws";
34
- }
25
+ if (typeof window === "undefined") return "/api/ws";
35
26
  const protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
36
27
  const host = window.location.host;
37
28
  return `${protocol}//${host}/api/ws`;
38
29
  }
39
- /**
40
- * Connect to WebSocket server
41
- * @param {String} userId - User ID for authentication
42
- * @returns {Promise} Promise that resolves when connection is established
43
- */
44
30
  connect(userId) {
45
- if (typeof window === "undefined") {
46
- return Promise.resolve(false);
47
- }
31
+ var _a;
32
+ if (typeof window === "undefined") return Promise.resolve(false);
48
33
  this.userId = userId;
49
- if (this.isConnected && this.socket && this.socket.readyState === WebSocket.OPEN) {
34
+ if (this.isConnected && ((_a = this.socket) == null ? void 0 : _a.readyState) === WebSocket.OPEN) {
50
35
  return Promise.resolve(this.socket);
51
36
  }
52
- this.connectPromise = null;
53
37
  this.connectPromise = new Promise((resolve, reject) => {
54
38
  this.disconnect();
55
39
  const wsUrl = userId ? `${this.baseUrl}?userId=${encodeURIComponent(userId)}` : this.baseUrl;
@@ -59,9 +43,9 @@ class GlobalWebSocket {
59
43
  resolve(this.socket);
60
44
  };
61
45
  this.socket.onmessage = this._handleMessage.bind(this);
62
- this.socket.onerror = (error) => {
63
- this._handleError(error);
64
- reject(error);
46
+ this.socket.onerror = (err) => {
47
+ this._handleError(err);
48
+ reject(err);
65
49
  };
66
50
  this.socket.onclose = this._handleClose.bind(this);
67
51
  setTimeout(() => {
@@ -74,13 +58,8 @@ class GlobalWebSocket {
74
58
  });
75
59
  return this.connectPromise;
76
60
  }
77
- /**
78
- * Disconnect from WebSocket server
79
- */
80
61
  disconnect() {
81
- if (typeof window === "undefined") {
82
- return;
83
- }
62
+ if (typeof window === "undefined") return;
84
63
  if (this.socket) {
85
64
  this.socket.onopen = null;
86
65
  this.socket.onmessage = null;
@@ -98,56 +77,33 @@ class GlobalWebSocket {
98
77
  this.isConnected = false;
99
78
  this.userId = null;
100
79
  }
101
- /**
102
- * Send data through WebSocket
103
- * @param {Object|String} data - Data to send
104
- * @returns {Boolean} Success status
105
- */
106
80
  async send(data) {
107
81
  if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {
108
82
  console.error("Cannot send message: WebSocket is not connected");
109
83
  return false;
110
84
  }
111
85
  try {
112
- const message = typeof data === "string" ? data : JSON.stringify(data);
113
- await this.socket.send(message);
86
+ const msg = typeof data === "string" ? data : JSON.stringify(data);
87
+ this.socket.send(msg);
114
88
  return true;
115
- } catch (error) {
116
- console.error("Error sending WebSocket message:", error);
89
+ } catch (err) {
90
+ console.error("Error sending message:", err);
117
91
  return false;
118
92
  }
119
93
  }
120
- /**
121
- * Register an event listener
122
- * @param {String} eventType - Event type to listen for
123
- * @param {Function} callback - Callback function
124
- * @param {Object} options - Additional options like module name for namespacing
125
- * @returns {String} Listener ID for unregistering
126
- */
127
94
  addEventListener(eventType, callback, options = {}) {
128
95
  const listenerId = `${options.module || "global"}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
129
- if (!this.listeners[eventType]) {
130
- this.listeners[eventType] = {};
131
- }
96
+ if (!this.listeners[eventType]) this.listeners[eventType] = {};
132
97
  this.listeners[eventType][listenerId] = callback;
133
98
  return listenerId;
134
99
  }
135
- /**
136
- * Remove an event listener
137
- * @param {String} eventType - Event type
138
- * @param {String} listenerId - Listener ID returned from addEventListener
139
- */
140
100
  removeEventListener(eventType, listenerId) {
141
- if (this.listeners[eventType] && this.listeners[eventType][listenerId]) {
101
+ var _a;
102
+ if ((_a = this.listeners[eventType]) == null ? void 0 : _a[listenerId]) {
142
103
  delete this.listeners[eventType][listenerId];
143
104
  }
144
105
  }
145
- /**
146
- * Remove all listeners for a module
147
- * @param {String} moduleName - Module name to remove listeners for
148
- */
149
106
  removeModuleListeners(moduleName) {
150
- if (!moduleName) return;
151
107
  Object.keys(this.listeners).forEach((eventType) => {
152
108
  Object.keys(this.listeners[eventType]).forEach((listenerId) => {
153
109
  if (listenerId.startsWith(`${moduleName}_`)) {
@@ -156,23 +112,30 @@ class GlobalWebSocket {
156
112
  });
157
113
  });
158
114
  }
159
- /**
160
- * Handle WebSocket open event
161
- */
115
+ async subscribeModule(moduleName) {
116
+ if (!moduleName || this.subscribedModules.has(moduleName)) return;
117
+ const success = await this.send({ type: "subscribe", module: moduleName });
118
+ if (success) {
119
+ this.subscribedModules.add(moduleName);
120
+ }
121
+ }
122
+ _resubscribeAllModules() {
123
+ for (const moduleName of this.subscribedModules) {
124
+ this.send({ type: "subscribe", module: moduleName });
125
+ }
126
+ }
162
127
  _handleOpen() {
163
128
  this.isConnected = true;
164
129
  this.reconnectAttempts = 0;
165
130
  this.pingInterval = setInterval(() => {
166
- if (this.socket && this.socket.readyState === WebSocket.OPEN) {
131
+ var _a;
132
+ if (((_a = this.socket) == null ? void 0 : _a.readyState) === WebSocket.OPEN) {
167
133
  this.socket.send(JSON.stringify({ type: "ping" }));
168
134
  }
169
135
  }, this.pingIntervalTime);
136
+ this._resubscribeAllModules();
170
137
  this._notifyListeners("open", { isConnected: true });
171
138
  }
172
- /**
173
- * Handle WebSocket message event
174
- * @param {Event} event - WebSocket message event
175
- */
176
139
  _handleMessage(event) {
177
140
  try {
178
141
  const data = JSON.parse(event.data);
@@ -180,22 +143,14 @@ class GlobalWebSocket {
180
143
  if (data.type) {
181
144
  this._notifyListeners(data.type, data);
182
145
  }
183
- } catch (error) {
184
- console.error("Error processing WebSocket message:", error);
146
+ } catch (err) {
147
+ console.error("WebSocket message error:", err);
185
148
  }
186
149
  }
187
- /**
188
- * Handle WebSocket error
189
- * @param {Error} error - WebSocket error
190
- */
191
150
  _handleError(error) {
192
151
  console.error("WebSocket error:", error);
193
152
  this._notifyListeners("error", { error });
194
153
  }
195
- /**
196
- * Handle WebSocket close event
197
- * @param {Event} event - WebSocket close event
198
- */
199
154
  _handleClose(event) {
200
155
  this.isConnected = false;
201
156
  if (this.pingInterval) {
@@ -207,33 +162,21 @@ class GlobalWebSocket {
207
162
  this.reconnectAttempts++;
208
163
  const delay = this.reconnectDelay * this.reconnectAttempts;
209
164
  setTimeout(() => {
210
- if (this.userId) {
211
- this.connect(this.userId).catch((error) => {
212
- console.error("Reconnection failed:", error);
213
- });
214
- }
165
+ this.connect(this.userId).catch((err) => {
166
+ console.error("Reconnection failed:", err);
167
+ });
215
168
  }, delay);
216
169
  }
217
170
  }
218
- /**
219
- * Notify event listeners
220
- * @param {String} eventType - Event type
221
- * @param {Object} data - Event data
222
- */
223
171
  _notifyListeners(eventType, data) {
224
- if (!this.listeners[eventType]) return;
225
- Object.values(this.listeners[eventType]).forEach((callback) => {
172
+ Object.values(this.listeners[eventType] || {}).forEach((fn) => {
226
173
  try {
227
- callback(data);
228
- } catch (error) {
229
- console.error(`Error in WebSocket ${eventType} listener:`, error);
174
+ fn(data);
175
+ } catch (err) {
176
+ console.error(`Listener for ${eventType} failed:`, err);
230
177
  }
231
178
  });
232
179
  }
233
- /**
234
- * Get connection status
235
- * @returns {Boolean} Connection status
236
- */
237
180
  isSocketConnected() {
238
181
  var _a;
239
182
  return this.isConnected && ((_a = this.socket) == null ? void 0 : _a.readyState) === WebSocket.OPEN;
@@ -1 +1 @@
1
- {"version":3,"file":"globals.websocket.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.websocket.js"],"sourcesContent":["/**\n * Global WebSocket handler for centralized WebSocket connections\n * @martyrs/src/modules/globals/views/classes/globals.websocket.js\n */\nclass GlobalWebSocket {\n constructor() {\n this.socket = null;\n this.isConnected = false;\n this.reconnectAttempts = 0;\n this.maxReconnectAttempts = 5;\n this.reconnectDelay = 3000;\n this.baseUrl = null;\n this.pingInterval = null;\n this.pingIntervalTime = 30000; // 30 seconds\n this.listeners = {};\n this.userId = null;\n this.connectPromise = null;\n }\n\n /**\n * Initialize WebSocket with configuration options\n * @param {Object} options - Configuration options\n */\n initialize(options = {}) {\n this.maxReconnectAttempts = options.maxReconnectAttempts || this.maxReconnectAttempts;\n this.reconnectDelay = options.reconnectDelay || this.reconnectDelay;\n this.baseUrl = options.wsUrl || this._getDefaultWsUrl();\n this.pingIntervalTime = options.pingInterval || this.pingIntervalTime;\n }\n\n /**\n * Get default WebSocket URL based on current HTTP URL\n * @returns {String} WebSocket URL\n */\n _getDefaultWsUrl() {\n // Check if window exists (for SSR compatibility)\n if (typeof window === 'undefined') {\n return '/api/ws'; // Default fallback for SSR\n }\n \n const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';\n const host = window.location.host;\n return `${protocol}//${host}/api/ws`;\n }\n\n /**\n * Connect to WebSocket server\n * @param {String} userId - User ID for authentication\n * @returns {Promise} Promise that resolves when connection is established\n */\n connect(userId) {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return Promise.resolve(false);\n }\n\n // Always update userId before any connection logic\n this.userId = userId;\n\n // If already connected with the same user and socket is valid, return the existing connection\n if (this.isConnected && this.socket && this.socket.readyState === WebSocket.OPEN) {\n return Promise.resolve(this.socket);\n }\n\n // Clear any existing connection promise to avoid conflicts\n this.connectPromise = null;\n\n // Create new connection promise\n this.connectPromise = new Promise((resolve, reject) => {\n // Close existing connection if any\n this.disconnect();\n\n // Create new WebSocket connection with user ID\n const wsUrl = userId ? `${this.baseUrl}?userId=${encodeURIComponent(userId)}` : this.baseUrl;\n this.socket = new WebSocket(wsUrl);\n\n // Setup event handlers\n this.socket.onopen = () => {\n this._handleOpen();\n resolve(this.socket);\n };\n \n this.socket.onmessage = this._handleMessage.bind(this);\n this.socket.onerror = (error) => {\n this._handleError(error);\n reject(error);\n };\n \n this.socket.onclose = this._handleClose.bind(this);\n\n // Timeout for connection\n setTimeout(() => {\n if (!this.isConnected) {\n reject(new Error('WebSocket connection timeout'));\n }\n }, 10000);\n }).finally(() => {\n this.connectPromise = null;\n });\n\n return this.connectPromise;\n }\n\n /**\n * Disconnect from WebSocket server\n */\n disconnect() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return;\n }\n\n if (this.socket) {\n // Remove event listeners\n this.socket.onopen = null;\n this.socket.onmessage = null;\n this.socket.onerror = null;\n this.socket.onclose = null;\n \n // Close connection\n if (this.socket.readyState === WebSocket.OPEN || \n this.socket.readyState === WebSocket.CONNECTING) {\n this.socket.close();\n }\n \n this.socket = null;\n }\n\n // Clear ping interval\n if (this.pingInterval) {\n clearInterval(this.pingInterval);\n this.pingInterval = null;\n }\n\n this.isConnected = false;\n this.userId = null;\n }\n\n /**\n * Send data through WebSocket\n * @param {Object|String} data - Data to send\n * @returns {Boolean} Success status\n */\n async send(data) {\n if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {\n console.error('Cannot send message: WebSocket is not connected');\n return false;\n }\n\n try {\n const message = typeof data === 'string' ? data : JSON.stringify(data);\n await this.socket.send(message);\n return true;\n } catch (error) {\n console.error('Error sending WebSocket message:', error);\n return false;\n }\n }\n\n /**\n * Register an event listener\n * @param {String} eventType - Event type to listen for\n * @param {Function} callback - Callback function\n * @param {Object} options - Additional options like module name for namespacing\n * @returns {String} Listener ID for unregistering\n */\n addEventListener(eventType, callback, options = {}) {\n const listenerId = `${options.module || 'global'}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n \n if (!this.listeners[eventType]) {\n this.listeners[eventType] = {};\n }\n \n this.listeners[eventType][listenerId] = callback;\n return listenerId;\n }\n\n /**\n * Remove an event listener\n * @param {String} eventType - Event type\n * @param {String} listenerId - Listener ID returned from addEventListener\n */\n removeEventListener(eventType, listenerId) {\n if (this.listeners[eventType] && this.listeners[eventType][listenerId]) {\n delete this.listeners[eventType][listenerId];\n }\n }\n\n /**\n * Remove all listeners for a module\n * @param {String} moduleName - Module name to remove listeners for\n */\n removeModuleListeners(moduleName) {\n if (!moduleName) return;\n \n Object.keys(this.listeners).forEach(eventType => {\n Object.keys(this.listeners[eventType]).forEach(listenerId => {\n if (listenerId.startsWith(`${moduleName}_`)) {\n delete this.listeners[eventType][listenerId];\n }\n });\n });\n }\n\n /**\n * Handle WebSocket open event\n */\n _handleOpen() {\n this.isConnected = true;\n this.reconnectAttempts = 0;\n \n // Setup ping interval to keep connection alive\n this.pingInterval = setInterval(() => {\n if (this.socket && this.socket.readyState === WebSocket.OPEN) {\n this.socket.send(JSON.stringify({ type: 'ping' }));\n }\n }, this.pingIntervalTime);\n\n // Notify listeners\n this._notifyListeners('open', { isConnected: true });\n }\n\n /**\n * Handle WebSocket message event\n * @param {Event} event - WebSocket message event\n */\n _handleMessage(event) {\n try {\n const data = JSON.parse(event.data);\n \n // Generic event notifications\n this._notifyListeners('message', data);\n \n // Specific event type notifications\n if (data.type) {\n this._notifyListeners(data.type, data);\n }\n \n } catch (error) {\n console.error('Error processing WebSocket message:', error);\n }\n }\n\n /**\n * Handle WebSocket error\n * @param {Error} error - WebSocket error\n */\n _handleError(error) {\n console.error('WebSocket error:', error);\n this._notifyListeners('error', { error });\n }\n\n /**\n * Handle WebSocket close event\n * @param {Event} event - WebSocket close event\n */\n _handleClose(event) {\n this.isConnected = false;\n \n // Clear ping interval\n if (this.pingInterval) {\n clearInterval(this.pingInterval);\n this.pingInterval = null;\n }\n \n this._notifyListeners('close', { code: event.code, reason: event.reason });\n \n // Attempt to reconnect if not a normal closure and we have a userId\n if (event.code !== 1000 && this.userId && this.reconnectAttempts < this.maxReconnectAttempts) {\n this.reconnectAttempts++;\n const delay = this.reconnectDelay * this.reconnectAttempts;\n \n setTimeout(() => {\n if (this.userId) {\n this.connect(this.userId).catch(error => {\n console.error('Reconnection failed:', error);\n });\n }\n }, delay);\n }\n }\n\n /**\n * Notify event listeners\n * @param {String} eventType - Event type\n * @param {Object} data - Event data\n */\n _notifyListeners(eventType, data) {\n if (!this.listeners[eventType]) return;\n \n Object.values(this.listeners[eventType]).forEach(callback => {\n try {\n callback(data);\n } catch (error) {\n console.error(`Error in WebSocket ${eventType} listener:`, error);\n }\n });\n }\n\n /**\n * Get connection status\n * @returns {Boolean} Connection status\n */\n isSocketConnected() {\n return this.isConnected && this.socket?.readyState === WebSocket.OPEN;\n }\n}\n\n// Create singleton instance\nconst globalWebSocket = new GlobalWebSocket();\n\nexport default globalWebSocket;"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globals.websocket.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.websocket.js"],"sourcesContent":["class GlobalWebSocket {\n constructor() {\n this.socket = null;\n this.isConnected = false;\n this.reconnectAttempts = 0;\n this.maxReconnectAttempts = 5;\n this.reconnectDelay = 3000;\n this.baseUrl = null;\n this.pingInterval = null;\n this.pingIntervalTime = 30000;\n this.listeners = {};\n this.userId = null;\n this.connectPromise = null;\n this.subscribedModules = new Set(); // <--- ключевое изменение\n }\n\n initialize(options = {}) {\n this.maxReconnectAttempts = options.maxReconnectAttempts || this.maxReconnectAttempts;\n this.reconnectDelay = options.reconnectDelay || this.reconnectDelay;\n this.baseUrl = options.wsUrl || this._getDefaultWsUrl();\n this.pingIntervalTime = options.pingInterval || this.pingIntervalTime;\n }\n\n _getDefaultWsUrl() {\n if (typeof window === 'undefined') return '/api/ws';\n const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';\n const host = window.location.host;\n return `${protocol}//${host}/api/ws`;\n }\n\n connect(userId) {\n if (typeof window === 'undefined') return Promise.resolve(false);\n this.userId = userId;\n\n if (this.isConnected && this.socket?.readyState === WebSocket.OPEN) {\n return Promise.resolve(this.socket);\n }\n\n this.connectPromise = new Promise((resolve, reject) => {\n this.disconnect();\n\n const wsUrl = userId ? `${this.baseUrl}?userId=${encodeURIComponent(userId)}` : this.baseUrl;\n this.socket = new WebSocket(wsUrl);\n\n this.socket.onopen = () => {\n this._handleOpen();\n resolve(this.socket);\n };\n\n this.socket.onmessage = this._handleMessage.bind(this);\n this.socket.onerror = (err) => {\n this._handleError(err);\n reject(err);\n };\n this.socket.onclose = this._handleClose.bind(this);\n\n setTimeout(() => {\n if (!this.isConnected) {\n reject(new Error('WebSocket connection timeout'));\n }\n }, 10000);\n }).finally(() => {\n this.connectPromise = null;\n });\n\n return this.connectPromise;\n }\n\n disconnect() {\n if (typeof window === 'undefined') return;\n\n if (this.socket) {\n this.socket.onopen = null;\n this.socket.onmessage = null;\n this.socket.onerror = null;\n this.socket.onclose = null;\n if (this.socket.readyState === WebSocket.OPEN || this.socket.readyState === WebSocket.CONNECTING) {\n this.socket.close();\n }\n this.socket = null;\n }\n\n if (this.pingInterval) {\n clearInterval(this.pingInterval);\n this.pingInterval = null;\n }\n\n this.isConnected = false;\n this.userId = null;\n }\n\n async send(data) {\n if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {\n console.error('Cannot send message: WebSocket is not connected');\n return false;\n }\n\n try {\n const msg = typeof data === 'string' ? data : JSON.stringify(data);\n this.socket.send(msg);\n return true;\n } catch (err) {\n console.error('Error sending message:', err);\n return false;\n }\n }\n\n addEventListener(eventType, callback, options = {}) {\n const listenerId = `${options.module || 'global'}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n if (!this.listeners[eventType]) this.listeners[eventType] = {};\n this.listeners[eventType][listenerId] = callback;\n return listenerId;\n }\n\n removeEventListener(eventType, listenerId) {\n if (this.listeners[eventType]?.[listenerId]) {\n delete this.listeners[eventType][listenerId];\n }\n }\n\n removeModuleListeners(moduleName) {\n Object.keys(this.listeners).forEach(eventType => {\n Object.keys(this.listeners[eventType]).forEach(listenerId => {\n if (listenerId.startsWith(`${moduleName}_`)) {\n delete this.listeners[eventType][listenerId];\n }\n });\n });\n }\n\n async subscribeModule(moduleName) {\n if (!moduleName || this.subscribedModules.has(moduleName)) return;\n const success = await this.send({ type: 'subscribe', module: moduleName });\n if (success) {\n this.subscribedModules.add(moduleName);\n }\n }\n\n _resubscribeAllModules() {\n for (const moduleName of this.subscribedModules) {\n this.send({ type: 'subscribe', module: moduleName });\n }\n }\n\n _handleOpen() {\n this.isConnected = true;\n this.reconnectAttempts = 0;\n\n this.pingInterval = setInterval(() => {\n if (this.socket?.readyState === WebSocket.OPEN) {\n this.socket.send(JSON.stringify({ type: 'ping' }));\n }\n }, this.pingIntervalTime);\n\n this._resubscribeAllModules(); // <--- ВАЖНО\n this._notifyListeners('open', { isConnected: true });\n }\n\n _handleMessage(event) {\n try {\n const data = JSON.parse(event.data);\n this._notifyListeners('message', data);\n if (data.type) {\n this._notifyListeners(data.type, data);\n }\n } catch (err) {\n console.error('WebSocket message error:', err);\n }\n }\n\n _handleError(error) {\n console.error('WebSocket error:', error);\n this._notifyListeners('error', { error });\n }\n\n _handleClose(event) {\n this.isConnected = false;\n if (this.pingInterval) {\n clearInterval(this.pingInterval);\n this.pingInterval = null;\n }\n\n this._notifyListeners('close', { code: event.code, reason: event.reason });\n\n if (event.code !== 1000 && this.userId && this.reconnectAttempts < this.maxReconnectAttempts) {\n this.reconnectAttempts++;\n const delay = this.reconnectDelay * this.reconnectAttempts;\n setTimeout(() => {\n this.connect(this.userId).catch(err => {\n console.error('Reconnection failed:', err);\n });\n }, delay);\n }\n }\n\n _notifyListeners(eventType, data) {\n Object.values(this.listeners[eventType] || {}).forEach(fn => {\n try {\n fn(data);\n } catch (err) {\n console.error(`Listener for ${eventType} failed:`, err);\n }\n });\n }\n\n isSocketConnected() {\n return this.isConnected && this.socket?.readyState === WebSocket.OPEN;\n }\n}\n\nconst globalWebSocket = new GlobalWebSocket();\nexport default globalWebSocket;\n"],"names":[],"mappings":"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"}
@@ -11,43 +11,27 @@ class GlobalWebSocket {
11
11
  this.listeners = {};
12
12
  this.userId = null;
13
13
  this.connectPromise = null;
14
+ this.subscribedModules = /* @__PURE__ */ new Set();
14
15
  }
15
- /**
16
- * Initialize WebSocket with configuration options
17
- * @param {Object} options - Configuration options
18
- */
19
16
  initialize(options = {}) {
20
17
  this.maxReconnectAttempts = options.maxReconnectAttempts || this.maxReconnectAttempts;
21
18
  this.reconnectDelay = options.reconnectDelay || this.reconnectDelay;
22
19
  this.baseUrl = options.wsUrl || this._getDefaultWsUrl();
23
20
  this.pingIntervalTime = options.pingInterval || this.pingIntervalTime;
24
21
  }
25
- /**
26
- * Get default WebSocket URL based on current HTTP URL
27
- * @returns {String} WebSocket URL
28
- */
29
22
  _getDefaultWsUrl() {
30
- if (typeof window === "undefined") {
31
- return "/api/ws";
32
- }
23
+ if (typeof window === "undefined") return "/api/ws";
33
24
  const protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
34
25
  const host = window.location.host;
35
26
  return `${protocol}//${host}/api/ws`;
36
27
  }
37
- /**
38
- * Connect to WebSocket server
39
- * @param {String} userId - User ID for authentication
40
- * @returns {Promise} Promise that resolves when connection is established
41
- */
42
28
  connect(userId) {
43
- if (typeof window === "undefined") {
44
- return Promise.resolve(false);
45
- }
29
+ var _a;
30
+ if (typeof window === "undefined") return Promise.resolve(false);
46
31
  this.userId = userId;
47
- if (this.isConnected && this.socket && this.socket.readyState === WebSocket.OPEN) {
32
+ if (this.isConnected && ((_a = this.socket) == null ? void 0 : _a.readyState) === WebSocket.OPEN) {
48
33
  return Promise.resolve(this.socket);
49
34
  }
50
- this.connectPromise = null;
51
35
  this.connectPromise = new Promise((resolve, reject) => {
52
36
  this.disconnect();
53
37
  const wsUrl = userId ? `${this.baseUrl}?userId=${encodeURIComponent(userId)}` : this.baseUrl;
@@ -57,9 +41,9 @@ class GlobalWebSocket {
57
41
  resolve(this.socket);
58
42
  };
59
43
  this.socket.onmessage = this._handleMessage.bind(this);
60
- this.socket.onerror = (error) => {
61
- this._handleError(error);
62
- reject(error);
44
+ this.socket.onerror = (err) => {
45
+ this._handleError(err);
46
+ reject(err);
63
47
  };
64
48
  this.socket.onclose = this._handleClose.bind(this);
65
49
  setTimeout(() => {
@@ -72,13 +56,8 @@ class GlobalWebSocket {
72
56
  });
73
57
  return this.connectPromise;
74
58
  }
75
- /**
76
- * Disconnect from WebSocket server
77
- */
78
59
  disconnect() {
79
- if (typeof window === "undefined") {
80
- return;
81
- }
60
+ if (typeof window === "undefined") return;
82
61
  if (this.socket) {
83
62
  this.socket.onopen = null;
84
63
  this.socket.onmessage = null;
@@ -96,56 +75,33 @@ class GlobalWebSocket {
96
75
  this.isConnected = false;
97
76
  this.userId = null;
98
77
  }
99
- /**
100
- * Send data through WebSocket
101
- * @param {Object|String} data - Data to send
102
- * @returns {Boolean} Success status
103
- */
104
78
  async send(data) {
105
79
  if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {
106
80
  console.error("Cannot send message: WebSocket is not connected");
107
81
  return false;
108
82
  }
109
83
  try {
110
- const message = typeof data === "string" ? data : JSON.stringify(data);
111
- await this.socket.send(message);
84
+ const msg = typeof data === "string" ? data : JSON.stringify(data);
85
+ this.socket.send(msg);
112
86
  return true;
113
- } catch (error) {
114
- console.error("Error sending WebSocket message:", error);
87
+ } catch (err) {
88
+ console.error("Error sending message:", err);
115
89
  return false;
116
90
  }
117
91
  }
118
- /**
119
- * Register an event listener
120
- * @param {String} eventType - Event type to listen for
121
- * @param {Function} callback - Callback function
122
- * @param {Object} options - Additional options like module name for namespacing
123
- * @returns {String} Listener ID for unregistering
124
- */
125
92
  addEventListener(eventType, callback, options = {}) {
126
93
  const listenerId = `${options.module || "global"}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
127
- if (!this.listeners[eventType]) {
128
- this.listeners[eventType] = {};
129
- }
94
+ if (!this.listeners[eventType]) this.listeners[eventType] = {};
130
95
  this.listeners[eventType][listenerId] = callback;
131
96
  return listenerId;
132
97
  }
133
- /**
134
- * Remove an event listener
135
- * @param {String} eventType - Event type
136
- * @param {String} listenerId - Listener ID returned from addEventListener
137
- */
138
98
  removeEventListener(eventType, listenerId) {
139
- if (this.listeners[eventType] && this.listeners[eventType][listenerId]) {
99
+ var _a;
100
+ if ((_a = this.listeners[eventType]) == null ? void 0 : _a[listenerId]) {
140
101
  delete this.listeners[eventType][listenerId];
141
102
  }
142
103
  }
143
- /**
144
- * Remove all listeners for a module
145
- * @param {String} moduleName - Module name to remove listeners for
146
- */
147
104
  removeModuleListeners(moduleName) {
148
- if (!moduleName) return;
149
105
  Object.keys(this.listeners).forEach((eventType) => {
150
106
  Object.keys(this.listeners[eventType]).forEach((listenerId) => {
151
107
  if (listenerId.startsWith(`${moduleName}_`)) {
@@ -154,23 +110,30 @@ class GlobalWebSocket {
154
110
  });
155
111
  });
156
112
  }
157
- /**
158
- * Handle WebSocket open event
159
- */
113
+ async subscribeModule(moduleName) {
114
+ if (!moduleName || this.subscribedModules.has(moduleName)) return;
115
+ const success = await this.send({ type: "subscribe", module: moduleName });
116
+ if (success) {
117
+ this.subscribedModules.add(moduleName);
118
+ }
119
+ }
120
+ _resubscribeAllModules() {
121
+ for (const moduleName of this.subscribedModules) {
122
+ this.send({ type: "subscribe", module: moduleName });
123
+ }
124
+ }
160
125
  _handleOpen() {
161
126
  this.isConnected = true;
162
127
  this.reconnectAttempts = 0;
163
128
  this.pingInterval = setInterval(() => {
164
- if (this.socket && this.socket.readyState === WebSocket.OPEN) {
129
+ var _a;
130
+ if (((_a = this.socket) == null ? void 0 : _a.readyState) === WebSocket.OPEN) {
165
131
  this.socket.send(JSON.stringify({ type: "ping" }));
166
132
  }
167
133
  }, this.pingIntervalTime);
134
+ this._resubscribeAllModules();
168
135
  this._notifyListeners("open", { isConnected: true });
169
136
  }
170
- /**
171
- * Handle WebSocket message event
172
- * @param {Event} event - WebSocket message event
173
- */
174
137
  _handleMessage(event) {
175
138
  try {
176
139
  const data = JSON.parse(event.data);
@@ -178,22 +141,14 @@ class GlobalWebSocket {
178
141
  if (data.type) {
179
142
  this._notifyListeners(data.type, data);
180
143
  }
181
- } catch (error) {
182
- console.error("Error processing WebSocket message:", error);
144
+ } catch (err) {
145
+ console.error("WebSocket message error:", err);
183
146
  }
184
147
  }
185
- /**
186
- * Handle WebSocket error
187
- * @param {Error} error - WebSocket error
188
- */
189
148
  _handleError(error) {
190
149
  console.error("WebSocket error:", error);
191
150
  this._notifyListeners("error", { error });
192
151
  }
193
- /**
194
- * Handle WebSocket close event
195
- * @param {Event} event - WebSocket close event
196
- */
197
152
  _handleClose(event) {
198
153
  this.isConnected = false;
199
154
  if (this.pingInterval) {
@@ -205,33 +160,21 @@ class GlobalWebSocket {
205
160
  this.reconnectAttempts++;
206
161
  const delay = this.reconnectDelay * this.reconnectAttempts;
207
162
  setTimeout(() => {
208
- if (this.userId) {
209
- this.connect(this.userId).catch((error) => {
210
- console.error("Reconnection failed:", error);
211
- });
212
- }
163
+ this.connect(this.userId).catch((err) => {
164
+ console.error("Reconnection failed:", err);
165
+ });
213
166
  }, delay);
214
167
  }
215
168
  }
216
- /**
217
- * Notify event listeners
218
- * @param {String} eventType - Event type
219
- * @param {Object} data - Event data
220
- */
221
169
  _notifyListeners(eventType, data) {
222
- if (!this.listeners[eventType]) return;
223
- Object.values(this.listeners[eventType]).forEach((callback) => {
170
+ Object.values(this.listeners[eventType] || {}).forEach((fn) => {
224
171
  try {
225
- callback(data);
226
- } catch (error) {
227
- console.error(`Error in WebSocket ${eventType} listener:`, error);
172
+ fn(data);
173
+ } catch (err) {
174
+ console.error(`Listener for ${eventType} failed:`, err);
228
175
  }
229
176
  });
230
177
  }
231
- /**
232
- * Get connection status
233
- * @returns {Boolean} Connection status
234
- */
235
178
  isSocketConnected() {
236
179
  var _a;
237
180
  return this.isConnected && ((_a = this.socket) == null ? void 0 : _a.readyState) === WebSocket.OPEN;
@@ -1 +1 @@
1
- {"version":3,"file":"globals.websocket.js","sources":["../../../../../../../src/modules/globals/views/classes/globals.websocket.js"],"sourcesContent":["/**\n * Global WebSocket handler for centralized WebSocket connections\n * @martyrs/src/modules/globals/views/classes/globals.websocket.js\n */\nclass GlobalWebSocket {\n constructor() {\n this.socket = null;\n this.isConnected = false;\n this.reconnectAttempts = 0;\n this.maxReconnectAttempts = 5;\n this.reconnectDelay = 3000;\n this.baseUrl = null;\n this.pingInterval = null;\n this.pingIntervalTime = 30000; // 30 seconds\n this.listeners = {};\n this.userId = null;\n this.connectPromise = null;\n }\n\n /**\n * Initialize WebSocket with configuration options\n * @param {Object} options - Configuration options\n */\n initialize(options = {}) {\n this.maxReconnectAttempts = options.maxReconnectAttempts || this.maxReconnectAttempts;\n this.reconnectDelay = options.reconnectDelay || this.reconnectDelay;\n this.baseUrl = options.wsUrl || this._getDefaultWsUrl();\n this.pingIntervalTime = options.pingInterval || this.pingIntervalTime;\n }\n\n /**\n * Get default WebSocket URL based on current HTTP URL\n * @returns {String} WebSocket URL\n */\n _getDefaultWsUrl() {\n // Check if window exists (for SSR compatibility)\n if (typeof window === 'undefined') {\n return '/api/ws'; // Default fallback for SSR\n }\n \n const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';\n const host = window.location.host;\n return `${protocol}//${host}/api/ws`;\n }\n\n /**\n * Connect to WebSocket server\n * @param {String} userId - User ID for authentication\n * @returns {Promise} Promise that resolves when connection is established\n */\n connect(userId) {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return Promise.resolve(false);\n }\n\n // Always update userId before any connection logic\n this.userId = userId;\n\n // If already connected with the same user and socket is valid, return the existing connection\n if (this.isConnected && this.socket && this.socket.readyState === WebSocket.OPEN) {\n return Promise.resolve(this.socket);\n }\n\n // Clear any existing connection promise to avoid conflicts\n this.connectPromise = null;\n\n // Create new connection promise\n this.connectPromise = new Promise((resolve, reject) => {\n // Close existing connection if any\n this.disconnect();\n\n // Create new WebSocket connection with user ID\n const wsUrl = userId ? `${this.baseUrl}?userId=${encodeURIComponent(userId)}` : this.baseUrl;\n this.socket = new WebSocket(wsUrl);\n\n // Setup event handlers\n this.socket.onopen = () => {\n this._handleOpen();\n resolve(this.socket);\n };\n \n this.socket.onmessage = this._handleMessage.bind(this);\n this.socket.onerror = (error) => {\n this._handleError(error);\n reject(error);\n };\n \n this.socket.onclose = this._handleClose.bind(this);\n\n // Timeout for connection\n setTimeout(() => {\n if (!this.isConnected) {\n reject(new Error('WebSocket connection timeout'));\n }\n }, 10000);\n }).finally(() => {\n this.connectPromise = null;\n });\n\n return this.connectPromise;\n }\n\n /**\n * Disconnect from WebSocket server\n */\n disconnect() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return;\n }\n\n if (this.socket) {\n // Remove event listeners\n this.socket.onopen = null;\n this.socket.onmessage = null;\n this.socket.onerror = null;\n this.socket.onclose = null;\n \n // Close connection\n if (this.socket.readyState === WebSocket.OPEN || \n this.socket.readyState === WebSocket.CONNECTING) {\n this.socket.close();\n }\n \n this.socket = null;\n }\n\n // Clear ping interval\n if (this.pingInterval) {\n clearInterval(this.pingInterval);\n this.pingInterval = null;\n }\n\n this.isConnected = false;\n this.userId = null;\n }\n\n /**\n * Send data through WebSocket\n * @param {Object|String} data - Data to send\n * @returns {Boolean} Success status\n */\n async send(data) {\n if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {\n console.error('Cannot send message: WebSocket is not connected');\n return false;\n }\n\n try {\n const message = typeof data === 'string' ? data : JSON.stringify(data);\n await this.socket.send(message);\n return true;\n } catch (error) {\n console.error('Error sending WebSocket message:', error);\n return false;\n }\n }\n\n /**\n * Register an event listener\n * @param {String} eventType - Event type to listen for\n * @param {Function} callback - Callback function\n * @param {Object} options - Additional options like module name for namespacing\n * @returns {String} Listener ID for unregistering\n */\n addEventListener(eventType, callback, options = {}) {\n const listenerId = `${options.module || 'global'}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n \n if (!this.listeners[eventType]) {\n this.listeners[eventType] = {};\n }\n \n this.listeners[eventType][listenerId] = callback;\n return listenerId;\n }\n\n /**\n * Remove an event listener\n * @param {String} eventType - Event type\n * @param {String} listenerId - Listener ID returned from addEventListener\n */\n removeEventListener(eventType, listenerId) {\n if (this.listeners[eventType] && this.listeners[eventType][listenerId]) {\n delete this.listeners[eventType][listenerId];\n }\n }\n\n /**\n * Remove all listeners for a module\n * @param {String} moduleName - Module name to remove listeners for\n */\n removeModuleListeners(moduleName) {\n if (!moduleName) return;\n \n Object.keys(this.listeners).forEach(eventType => {\n Object.keys(this.listeners[eventType]).forEach(listenerId => {\n if (listenerId.startsWith(`${moduleName}_`)) {\n delete this.listeners[eventType][listenerId];\n }\n });\n });\n }\n\n /**\n * Handle WebSocket open event\n */\n _handleOpen() {\n this.isConnected = true;\n this.reconnectAttempts = 0;\n \n // Setup ping interval to keep connection alive\n this.pingInterval = setInterval(() => {\n if (this.socket && this.socket.readyState === WebSocket.OPEN) {\n this.socket.send(JSON.stringify({ type: 'ping' }));\n }\n }, this.pingIntervalTime);\n\n // Notify listeners\n this._notifyListeners('open', { isConnected: true });\n }\n\n /**\n * Handle WebSocket message event\n * @param {Event} event - WebSocket message event\n */\n _handleMessage(event) {\n try {\n const data = JSON.parse(event.data);\n \n // Generic event notifications\n this._notifyListeners('message', data);\n \n // Specific event type notifications\n if (data.type) {\n this._notifyListeners(data.type, data);\n }\n \n } catch (error) {\n console.error('Error processing WebSocket message:', error);\n }\n }\n\n /**\n * Handle WebSocket error\n * @param {Error} error - WebSocket error\n */\n _handleError(error) {\n console.error('WebSocket error:', error);\n this._notifyListeners('error', { error });\n }\n\n /**\n * Handle WebSocket close event\n * @param {Event} event - WebSocket close event\n */\n _handleClose(event) {\n this.isConnected = false;\n \n // Clear ping interval\n if (this.pingInterval) {\n clearInterval(this.pingInterval);\n this.pingInterval = null;\n }\n \n this._notifyListeners('close', { code: event.code, reason: event.reason });\n \n // Attempt to reconnect if not a normal closure and we have a userId\n if (event.code !== 1000 && this.userId && this.reconnectAttempts < this.maxReconnectAttempts) {\n this.reconnectAttempts++;\n const delay = this.reconnectDelay * this.reconnectAttempts;\n \n setTimeout(() => {\n if (this.userId) {\n this.connect(this.userId).catch(error => {\n console.error('Reconnection failed:', error);\n });\n }\n }, delay);\n }\n }\n\n /**\n * Notify event listeners\n * @param {String} eventType - Event type\n * @param {Object} data - Event data\n */\n _notifyListeners(eventType, data) {\n if (!this.listeners[eventType]) return;\n \n Object.values(this.listeners[eventType]).forEach(callback => {\n try {\n callback(data);\n } catch (error) {\n console.error(`Error in WebSocket ${eventType} listener:`, error);\n }\n });\n }\n\n /**\n * Get connection status\n * @returns {Boolean} Connection status\n */\n isSocketConnected() {\n return this.isConnected && this.socket?.readyState === WebSocket.OPEN;\n }\n}\n\n// Create singleton instance\nconst globalWebSocket = new GlobalWebSocket();\n\nexport default globalWebSocket;"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globals.websocket.js","sources":["../../../../../../../src/modules/globals/views/classes/globals.websocket.js"],"sourcesContent":["class GlobalWebSocket {\n constructor() {\n this.socket = null;\n this.isConnected = false;\n this.reconnectAttempts = 0;\n this.maxReconnectAttempts = 5;\n this.reconnectDelay = 3000;\n this.baseUrl = null;\n this.pingInterval = null;\n this.pingIntervalTime = 30000;\n this.listeners = {};\n this.userId = null;\n this.connectPromise = null;\n this.subscribedModules = new Set(); // <--- ключевое изменение\n }\n\n initialize(options = {}) {\n this.maxReconnectAttempts = options.maxReconnectAttempts || this.maxReconnectAttempts;\n this.reconnectDelay = options.reconnectDelay || this.reconnectDelay;\n this.baseUrl = options.wsUrl || this._getDefaultWsUrl();\n this.pingIntervalTime = options.pingInterval || this.pingIntervalTime;\n }\n\n _getDefaultWsUrl() {\n if (typeof window === 'undefined') return '/api/ws';\n const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';\n const host = window.location.host;\n return `${protocol}//${host}/api/ws`;\n }\n\n connect(userId) {\n if (typeof window === 'undefined') return Promise.resolve(false);\n this.userId = userId;\n\n if (this.isConnected && this.socket?.readyState === WebSocket.OPEN) {\n return Promise.resolve(this.socket);\n }\n\n this.connectPromise = new Promise((resolve, reject) => {\n this.disconnect();\n\n const wsUrl = userId ? `${this.baseUrl}?userId=${encodeURIComponent(userId)}` : this.baseUrl;\n this.socket = new WebSocket(wsUrl);\n\n this.socket.onopen = () => {\n this._handleOpen();\n resolve(this.socket);\n };\n\n this.socket.onmessage = this._handleMessage.bind(this);\n this.socket.onerror = (err) => {\n this._handleError(err);\n reject(err);\n };\n this.socket.onclose = this._handleClose.bind(this);\n\n setTimeout(() => {\n if (!this.isConnected) {\n reject(new Error('WebSocket connection timeout'));\n }\n }, 10000);\n }).finally(() => {\n this.connectPromise = null;\n });\n\n return this.connectPromise;\n }\n\n disconnect() {\n if (typeof window === 'undefined') return;\n\n if (this.socket) {\n this.socket.onopen = null;\n this.socket.onmessage = null;\n this.socket.onerror = null;\n this.socket.onclose = null;\n if (this.socket.readyState === WebSocket.OPEN || this.socket.readyState === WebSocket.CONNECTING) {\n this.socket.close();\n }\n this.socket = null;\n }\n\n if (this.pingInterval) {\n clearInterval(this.pingInterval);\n this.pingInterval = null;\n }\n\n this.isConnected = false;\n this.userId = null;\n }\n\n async send(data) {\n if (!this.socket || this.socket.readyState !== WebSocket.OPEN) {\n console.error('Cannot send message: WebSocket is not connected');\n return false;\n }\n\n try {\n const msg = typeof data === 'string' ? data : JSON.stringify(data);\n this.socket.send(msg);\n return true;\n } catch (err) {\n console.error('Error sending message:', err);\n return false;\n }\n }\n\n addEventListener(eventType, callback, options = {}) {\n const listenerId = `${options.module || 'global'}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n if (!this.listeners[eventType]) this.listeners[eventType] = {};\n this.listeners[eventType][listenerId] = callback;\n return listenerId;\n }\n\n removeEventListener(eventType, listenerId) {\n if (this.listeners[eventType]?.[listenerId]) {\n delete this.listeners[eventType][listenerId];\n }\n }\n\n removeModuleListeners(moduleName) {\n Object.keys(this.listeners).forEach(eventType => {\n Object.keys(this.listeners[eventType]).forEach(listenerId => {\n if (listenerId.startsWith(`${moduleName}_`)) {\n delete this.listeners[eventType][listenerId];\n }\n });\n });\n }\n\n async subscribeModule(moduleName) {\n if (!moduleName || this.subscribedModules.has(moduleName)) return;\n const success = await this.send({ type: 'subscribe', module: moduleName });\n if (success) {\n this.subscribedModules.add(moduleName);\n }\n }\n\n _resubscribeAllModules() {\n for (const moduleName of this.subscribedModules) {\n this.send({ type: 'subscribe', module: moduleName });\n }\n }\n\n _handleOpen() {\n this.isConnected = true;\n this.reconnectAttempts = 0;\n\n this.pingInterval = setInterval(() => {\n if (this.socket?.readyState === WebSocket.OPEN) {\n this.socket.send(JSON.stringify({ type: 'ping' }));\n }\n }, this.pingIntervalTime);\n\n this._resubscribeAllModules(); // <--- ВАЖНО\n this._notifyListeners('open', { isConnected: true });\n }\n\n _handleMessage(event) {\n try {\n const data = JSON.parse(event.data);\n this._notifyListeners('message', data);\n if (data.type) {\n this._notifyListeners(data.type, data);\n }\n } catch (err) {\n console.error('WebSocket message error:', err);\n }\n }\n\n _handleError(error) {\n console.error('WebSocket error:', error);\n this._notifyListeners('error', { error });\n }\n\n _handleClose(event) {\n this.isConnected = false;\n if (this.pingInterval) {\n clearInterval(this.pingInterval);\n this.pingInterval = null;\n }\n\n this._notifyListeners('close', { code: event.code, reason: event.reason });\n\n if (event.code !== 1000 && this.userId && this.reconnectAttempts < this.maxReconnectAttempts) {\n this.reconnectAttempts++;\n const delay = this.reconnectDelay * this.reconnectAttempts;\n setTimeout(() => {\n this.connect(this.userId).catch(err => {\n console.error('Reconnection failed:', err);\n });\n }, delay);\n }\n }\n\n _notifyListeners(eventType, data) {\n Object.values(this.listeners[eventType] || {}).forEach(fn => {\n try {\n fn(data);\n } catch (err) {\n console.error(`Listener for ${eventType} failed:`, err);\n }\n });\n }\n\n isSocketConnected() {\n return this.isConnected && this.socket?.readyState === WebSocket.OPEN;\n }\n}\n\nconst globalWebSocket = new GlobalWebSocket();\nexport default globalWebSocket;\n"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Tooltip = require("../../../../../components/Tooltip/Tooltip.vue2.cjs");
6
- const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue.cjs");
5
+ const Tooltip = require("../../../../../components/Tooltip/Tooltip.vue.cjs");
6
+ const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue2.cjs");
7
7
  const PlaceholderUserpic = require("../../../../icons/placeholders/PlaceholderUserpic.vue.cjs");
8
8
  const PlaceholderOrganizationPic = require("../../../../icons/placeholders/PlaceholderOrganizationPic.vue.cjs");
9
9
  const IconEllipsis = require("../../../../icons/navigation/IconEllipsis.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createBlock, withModifiers, resolveDynamicComponent, toDisplayString, withCtx, createTextVNode, Fragment, renderList, normalizeClass } from "vue";
2
2
  import { useRouter } from "vue-router";
3
- import _sfc_main$1 from "../../../../../components/Tooltip/Tooltip.vue2.js";
4
- import _sfc_main$3 from "../../../../../components/Dropdown/Dropdown.vue.js";
3
+ import _sfc_main$1 from "../../../../../components/Tooltip/Tooltip.vue.js";
4
+ import _sfc_main$3 from "../../../../../components/Dropdown/Dropdown.vue2.js";
5
5
  import PlaceholderUserpic from "../../../../icons/placeholders/PlaceholderUserpic.vue.js";
6
6
  import PlaceholderOrganizationPic from "../../../../icons/placeholders/PlaceholderOrganizationPic.vue.js";
7
7
  import _sfc_main$4 from "../../../../icons/navigation/IconEllipsis.vue.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueI18n = require("vue-i18n");
5
- const Popup = require("../../../../../components/Popup/Popup.vue2.cjs");
5
+ const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
6
6
  const Loader = require("../../../../../components/Loader/Loader.vue2.cjs");
7
7
  const Calendar = require("../../../../../components/DatePicker/Calendar.vue.cjs");
8
8
  const Button = require("../../../../../components/Button/Button.vue.cjs");
@@ -1,6 +1,6 @@
1
1
  import { ref, computed, watch, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode, toDisplayString, unref } from "vue";
2
2
  import { useI18n } from "vue-i18n";
3
- import _sfc_main$1 from "../../../../../components/Popup/Popup.vue2.js";
3
+ import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
4
4
  import Loader from "../../../../../components/Loader/Loader.vue2.js";
5
5
  import Calendar from "../../../../../components/DatePicker/Calendar.vue.js";
6
6
  import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";