@ozdao/martyrs 0.2.506 → 0.2.508

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 (555) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/auth.server.cjs +1 -1
  6. package/dist/auth.server.js +1 -1
  7. package/dist/builder.cjs +52 -60
  8. package/dist/builder.js +52 -60
  9. package/dist/chats.server.cjs +1 -1
  10. package/dist/chats.server.js +1 -1
  11. package/dist/events.server.cjs +1 -1
  12. package/dist/events.server.js +1 -1
  13. package/dist/{mailing-q7sR8gCV.cjs → mailing-Bs9ThyVZ.cjs} +1 -24
  14. package/dist/{mailing-C11EYWm-.js → mailing-DzlhsxCC.js} +1 -24
  15. package/dist/main-AWSb_d2P.cjs +11 -0
  16. package/dist/{main-DC__VS5b.js → main-Dq-UfO4G.js} +2562 -2477
  17. package/dist/martyrs/src/components/Button/Button.vue.cjs +1 -1
  18. package/dist/martyrs/src/components/Button/Button.vue.js +1 -1
  19. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs +3 -3
  20. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs.map +1 -1
  21. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +3 -3
  22. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  23. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -93
  24. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  25. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +1 -94
  26. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -1
  27. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +93 -0
  28. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  29. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +94 -1
  30. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
  31. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +1 -1
  32. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  33. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +15 -46
  34. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  35. package/dist/martyrs/src/components/Feed/Feed.vue.js +22 -53
  36. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  37. package/dist/martyrs/src/components/Field/Field.vue.cjs +14 -6
  38. package/dist/martyrs/src/components/Field/Field.vue.cjs.map +1 -1
  39. package/dist/martyrs/src/components/Field/Field.vue.js +14 -6
  40. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  41. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +58 -11
  42. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  43. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +60 -13
  44. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  45. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  46. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  47. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
  48. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
  49. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
  50. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
  51. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  52. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  53. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs +2 -2
  54. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs.map +1 -1
  55. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +2 -2
  56. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  57. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs → Spoiler.vue2.cjs} +2 -2
  58. package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.cjs.map +1 -0
  59. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.js → Spoiler.vue2.js} +2 -2
  60. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs.map → Spoiler.vue2.js.map} +1 -1
  61. package/dist/martyrs/src/components/Tab/{Tab.vue.cjs → Tab.vue2.cjs} +2 -2
  62. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -0
  63. package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
  64. package/dist/martyrs/src/components/Tab/{Tab.vue.cjs.map → Tab.vue2.js.map} +1 -1
  65. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  66. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  69. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  71. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  72. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  74. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  75. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  77. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +42 -10
  78. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  79. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +44 -12
  80. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  81. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +11 -15
  82. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs.map +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +21 -25
  84. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
  85. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +12 -16
  86. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +1 -1
  87. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +33 -37
  88. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js.map +1 -1
  89. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs +13 -9
  90. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs.map +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +13 -9
  92. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -1
  93. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  95. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  97. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  99. package/dist/martyrs/src/modules/auth/views/router/users.cjs +0 -4
  100. package/dist/martyrs/src/modules/auth/views/router/users.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/auth/views/router/users.js +0 -4
  102. package/dist/martyrs/src/modules/auth/views/router/users.js.map +1 -1
  103. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  105. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  107. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +431 -0
  108. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs.map +1 -0
  109. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +431 -0
  110. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -0
  111. package/dist/martyrs/src/modules/community/router/blogposts.cjs +17 -0
  112. package/dist/martyrs/src/modules/community/router/blogposts.cjs.map +1 -1
  113. package/dist/martyrs/src/modules/community/router/blogposts.js +17 -0
  114. package/dist/martyrs/src/modules/community/router/blogposts.js.map +1 -1
  115. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  116. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  117. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -4
  118. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  119. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -4
  120. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  121. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  123. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  125. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  127. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  129. package/dist/martyrs/src/modules/globals/globals.client.cjs +3 -0
  130. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/globals/globals.client.js +3 -0
  132. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  133. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  134. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  135. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs +4 -6
  136. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs.map +1 -1
  137. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js +4 -6
  138. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js.map +1 -1
  139. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js +1 -1
  141. package/dist/martyrs/src/modules/globals/views/components/blocks/Card.vue.cjs +5 -2
  142. package/dist/martyrs/src/modules/globals/views/components/blocks/Card.vue.cjs.map +1 -1
  143. package/dist/martyrs/src/modules/globals/views/components/blocks/Card.vue.js +6 -3
  144. package/dist/martyrs/src/modules/globals/views/components/blocks/Card.vue.js.map +1 -1
  145. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  147. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  149. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -3
  150. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  151. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -3
  152. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  153. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +321 -0
  154. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -0
  155. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +321 -0
  156. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -0
  157. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  159. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +324 -0
  160. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -0
  161. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +324 -0
  162. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -0
  163. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  164. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  165. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.cjs +32 -0
  166. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.cjs.map +1 -0
  167. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.js +32 -0
  168. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.js.map +1 -0
  169. package/dist/martyrs/src/modules/icons/icons.client.cjs +2 -0
  170. package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
  171. package/dist/martyrs/src/modules/icons/icons.client.js +116 -114
  172. package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
  173. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +5 -3
  174. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +117 -115
  176. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +1 -1
  179. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +11 -36
  180. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
  181. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +11 -36
  182. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  183. package/dist/martyrs/src/modules/landing/landing.client.cjs +3 -0
  184. package/dist/martyrs/src/modules/landing/landing.client.cjs.map +1 -1
  185. package/dist/martyrs/src/modules/landing/landing.client.js +3 -0
  186. package/dist/martyrs/src/modules/landing/landing.client.js.map +1 -1
  187. package/dist/martyrs/src/modules/landing/locales/en.cjs +12 -0
  188. package/dist/martyrs/src/modules/landing/locales/en.cjs.map +1 -0
  189. package/dist/martyrs/src/modules/landing/locales/en.js +12 -0
  190. package/dist/martyrs/src/modules/landing/locales/en.js.map +1 -0
  191. package/dist/martyrs/src/modules/landing/locales/index.cjs +10 -0
  192. package/dist/martyrs/src/modules/landing/locales/index.cjs.map +1 -0
  193. package/dist/martyrs/src/modules/landing/locales/index.js +10 -0
  194. package/dist/martyrs/src/modules/landing/locales/index.js.map +1 -0
  195. package/dist/martyrs/src/modules/landing/locales/ru.cjs +12 -0
  196. package/dist/martyrs/src/modules/landing/locales/ru.cjs.map +1 -0
  197. package/dist/martyrs/src/modules/landing/locales/ru.js +12 -0
  198. package/dist/martyrs/src/modules/landing/locales/ru.js.map +1 -0
  199. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  201. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  203. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
  204. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  206. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  208. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  209. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
  210. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  211. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
  212. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  213. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  215. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +2 -2
  216. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  218. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  220. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  221. package/dist/martyrs/src/modules/music/router/music.cjs +2 -4
  222. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  223. package/dist/martyrs/src/modules/music/router/music.js +2 -4
  224. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  225. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
  227. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.cjs +86 -0
  228. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.cjs.map +1 -0
  229. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +86 -0
  230. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js.map +1 -0
  231. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.cjs +103 -0
  232. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.cjs.map +1 -0
  233. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +103 -0
  234. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js.map +1 -0
  235. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +194 -0
  236. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -0
  237. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +194 -0
  238. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -0
  239. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +138 -0
  240. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs.map +1 -0
  241. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +138 -0
  242. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -0
  243. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +189 -0
  244. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs.map +1 -0
  245. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +189 -0
  246. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -0
  247. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +173 -0
  248. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs.map +1 -0
  249. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +173 -0
  250. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js.map +1 -0
  251. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +233 -0
  252. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs.map +1 -0
  253. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +233 -0
  254. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js.map +1 -0
  255. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +234 -0
  256. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs.map +1 -0
  257. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +234 -0
  258. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js.map +1 -0
  259. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +9 -8
  260. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  261. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +9 -8
  262. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +8 -82
  264. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  265. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +9 -83
  266. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  268. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  269. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +119 -0
  270. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs.map +1 -0
  271. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +119 -0
  272. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -0
  273. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +139 -0
  274. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs.map +1 -0
  275. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +139 -0
  276. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -0
  277. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -4
  278. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
  279. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -4
  280. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/orders/locales/en.cjs +38 -0
  282. package/dist/martyrs/src/modules/orders/locales/en.cjs.map +1 -0
  283. package/dist/martyrs/src/modules/orders/locales/en.js +38 -0
  284. package/dist/martyrs/src/modules/orders/locales/en.js.map +1 -0
  285. package/dist/martyrs/src/modules/orders/locales/index.cjs +10 -0
  286. package/dist/martyrs/src/modules/orders/locales/index.cjs.map +1 -0
  287. package/dist/martyrs/src/modules/orders/locales/index.js +10 -0
  288. package/dist/martyrs/src/modules/orders/locales/index.js.map +1 -0
  289. package/dist/martyrs/src/modules/orders/locales/ru.cjs +38 -0
  290. package/dist/martyrs/src/modules/orders/locales/ru.cjs.map +1 -0
  291. package/dist/martyrs/src/modules/orders/locales/ru.js +38 -0
  292. package/dist/martyrs/src/modules/orders/locales/ru.js.map +1 -0
  293. package/dist/martyrs/src/modules/orders/orders.client.cjs +78 -3
  294. package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
  295. package/dist/martyrs/src/modules/orders/orders.client.js +80 -5
  296. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  297. package/dist/martyrs/src/modules/orders/router/applications.router.cjs +17 -0
  298. package/dist/martyrs/src/modules/orders/router/applications.router.cjs.map +1 -0
  299. package/dist/martyrs/src/modules/orders/router/applications.router.js +17 -0
  300. package/dist/martyrs/src/modules/orders/router/applications.router.js.map +1 -0
  301. package/dist/martyrs/src/modules/orders/router/customers.router.cjs +18 -0
  302. package/dist/martyrs/src/modules/orders/router/customers.router.cjs.map +1 -0
  303. package/dist/martyrs/src/modules/orders/router/customers.router.js +18 -0
  304. package/dist/martyrs/src/modules/orders/router/customers.router.js.map +1 -0
  305. package/dist/martyrs/src/modules/orders/store/applications.cjs +4 -42
  306. package/dist/martyrs/src/modules/orders/store/applications.cjs.map +1 -1
  307. package/dist/martyrs/src/modules/orders/store/applications.js +3 -41
  308. package/dist/martyrs/src/modules/orders/store/applications.js.map +1 -1
  309. package/dist/martyrs/src/modules/orders/store/models/application.cjs +20 -0
  310. package/dist/martyrs/src/modules/orders/store/models/application.cjs.map +1 -0
  311. package/dist/martyrs/src/modules/orders/store/models/application.js +20 -0
  312. package/dist/martyrs/src/modules/orders/store/models/application.js.map +1 -0
  313. package/dist/martyrs/src/modules/orders/store/models/customer.cjs +13 -1
  314. package/dist/martyrs/src/modules/orders/store/models/customer.cjs.map +1 -1
  315. package/dist/martyrs/src/modules/orders/store/models/customer.js +13 -1
  316. package/dist/martyrs/src/modules/orders/store/models/customer.js.map +1 -1
  317. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
  318. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +1 -1
  319. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
  320. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +1 -1
  321. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  322. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  323. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  324. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  325. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +126 -192
  326. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  327. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +128 -194
  328. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  329. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  330. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  331. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  332. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  333. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  334. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  335. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  336. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  337. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +85 -89
  338. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  339. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +92 -96
  340. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  341. package/dist/martyrs/src/modules/organizations/organizations.client.cjs +0 -3
  342. package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
  343. package/dist/martyrs/src/modules/organizations/organizations.client.js +36 -39
  344. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  345. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +4 -0
  346. package/dist/martyrs/src/modules/organizations/router/organizations.cjs.map +1 -1
  347. package/dist/martyrs/src/modules/organizations/router/organizations.js +4 -0
  348. package/dist/martyrs/src/modules/organizations/router/organizations.js.map +1 -1
  349. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  350. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  351. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.cjs +3 -6
  352. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.cjs.map +1 -1
  353. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js +3 -6
  354. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js.map +1 -1
  355. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +1 -1
  356. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  357. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
  358. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  359. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +2 -2
  360. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs.map +1 -1
  361. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +2 -2
  362. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  363. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs +1 -1
  364. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  365. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +22 -19
  366. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
  367. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +22 -19
  368. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  369. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +28 -19
  370. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  371. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +28 -19
  372. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  373. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  374. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  375. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  376. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  377. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  378. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  379. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +361 -105
  380. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  381. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +379 -123
  382. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  383. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  384. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  385. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +1 -1
  386. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  387. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +32 -2
  388. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
  389. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +33 -3
  390. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  391. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  392. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  393. package/dist/martyrs/src/modules/products/router/products.router.cjs +15 -0
  394. package/dist/martyrs/src/modules/products/router/products.router.cjs.map +1 -1
  395. package/dist/martyrs/src/modules/products/router/products.router.js +15 -0
  396. package/dist/martyrs/src/modules/products/router/products.router.js.map +1 -1
  397. package/dist/martyrs/src/modules/products/store/categories.cjs +25 -7
  398. package/dist/martyrs/src/modules/products/store/categories.cjs.map +1 -1
  399. package/dist/martyrs/src/modules/products/store/categories.js +25 -7
  400. package/dist/martyrs/src/modules/products/store/categories.js.map +1 -1
  401. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  402. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  403. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  404. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  405. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  406. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  407. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +1 -1
  408. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +1 -1
  409. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  410. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  411. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +345 -0
  412. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs.map +1 -0
  413. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +345 -0
  414. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -0
  415. package/dist/martyrs/src/modules/spots/router/spots.cjs +17 -0
  416. package/dist/martyrs/src/modules/spots/router/spots.cjs.map +1 -1
  417. package/dist/martyrs/src/modules/spots/router/spots.js +17 -0
  418. package/dist/martyrs/src/modules/spots/router/spots.js.map +1 -1
  419. package/dist/martyrs.cjs.js +1 -1
  420. package/dist/martyrs.css +1 -1
  421. package/dist/martyrs.es.js +1 -1
  422. package/dist/notifications.server.cjs +1 -1
  423. package/dist/notifications.server.js +1 -1
  424. package/dist/orders.server.cjs +459 -201
  425. package/dist/orders.server.js +459 -201
  426. package/dist/organizations.server.cjs +1 -1
  427. package/dist/organizations.server.js +1 -1
  428. package/dist/products.server.cjs +428 -255
  429. package/dist/products.server.js +428 -255
  430. package/dist/style.css +129 -140
  431. package/dist/{tickets.controller-DQQcjyui.js → tickets.controller-C56OvH6v.js} +1 -1
  432. package/dist/{tickets.controller-D0V0gJCA.cjs → tickets.controller-DdnndM6c.cjs} +1 -1
  433. package/dist/wallet.server.cjs +1 -1
  434. package/dist/wallet.server.js +1 -1
  435. package/dist/{web-B1bEJ1W9.js → web-BXajFCU2.js} +1 -1
  436. package/dist/{web-D5i9k2Vv.cjs → web-DaBwwCQ5.cjs} +1 -1
  437. package/package.json +1 -1
  438. package/src/builder/modes/ssr.dev.js +10 -10
  439. package/src/builder/rspack/rspack.config.ssr.client.js +50 -50
  440. package/src/components/Checkbox/Checkbox.vue +3 -4
  441. package/src/components/Feed/Feed.old.vue +522 -0
  442. package/src/components/Feed/Feed.vue +4 -4
  443. package/src/components/Field/Field.vue +7 -1
  444. package/src/components/FieldBig/FieldBig.vue +62 -8
  445. package/src/components/PhotoViewer/PhotoViewer.vue +1 -1
  446. package/src/modules/STYLES.MD +198 -0
  447. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  448. package/src/modules/auth/views/components/pages/ProfileEdit.vue +42 -8
  449. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +9 -11
  450. package/src/modules/auth/views/components/pages/ProfileEditProfile.vue +9 -11
  451. package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +7 -4
  452. package/src/modules/auth/views/router/users.js +0 -4
  453. package/src/modules/community/components/pages/Posts.vue +444 -0
  454. package/src/modules/community/router/blogposts.js +15 -0
  455. package/src/modules/globals/globals.client.js +3 -0
  456. package/src/modules/globals/views/classes/globals.websocket.js +7 -8
  457. package/src/modules/globals/views/components/blocks/Card.vue +2 -1
  458. package/src/modules/globals/views/components/layouts/Client.vue +1 -2
  459. package/src/modules/globals/views/components/partials/Footer.vue +318 -164
  460. package/src/modules/globals/views/components/sections/Filters.vue +261 -121
  461. package/src/modules/globals/views/components/sections/filters/FilterCheckbox.vue +78 -0
  462. package/src/modules/globals/views/components/sections/filters/FilterDateRange.vue +177 -0
  463. package/src/modules/globals/views/components/sections/filters/FilterRange.vue +51 -50
  464. package/src/modules/icons/entities/IconLock.vue +14 -0
  465. package/src/modules/icons/icons.client.js +2 -1
  466. package/src/modules/icons/pages/IconsPage.vue +4 -2
  467. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +11 -61
  468. package/src/modules/landing/landing.client.js +6 -0
  469. package/src/modules/landing/locales/en.js +9 -0
  470. package/src/modules/landing/locales/index.js +7 -0
  471. package/src/modules/landing/locales/ru.js +9 -0
  472. package/src/modules/music/components/pages/Album.vue +1 -1
  473. package/src/modules/music/components/pages/Playlist.vue +1 -1
  474. package/src/modules/music/components/pages/Track.vue +1 -1
  475. package/src/modules/orders/components/blocks/CardApplication.vue +74 -0
  476. package/src/modules/orders/components/blocks/CardCustomer.vue +90 -0
  477. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +199 -0
  478. package/src/modules/orders/components/forms/FormApplicationDetails.vue +117 -0
  479. package/src/modules/orders/components/forms/FormCustomerDetails.vue +165 -0
  480. package/src/modules/orders/components/forms/FormSelectCustomer.vue +172 -0
  481. package/src/modules/orders/components/pages/Applications.vue +240 -0
  482. package/src/modules/orders/components/pages/Customers.vue +239 -0
  483. package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
  484. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +4 -75
  485. package/src/modules/orders/components/sections/ApplicationDetails.vue +91 -0
  486. package/src/modules/orders/components/sections/CustomerDetails.vue +107 -0
  487. package/src/modules/orders/locales/en.js +35 -0
  488. package/src/modules/orders/locales/index.js +7 -0
  489. package/src/modules/orders/locales/ru.js +35 -0
  490. package/src/modules/orders/middlewares/applications.verifier.js +189 -0
  491. package/src/modules/orders/middlewares/customers.verifier.js +251 -0
  492. package/src/modules/orders/models/application.model.js +21 -0
  493. package/src/modules/orders/models/customer.model.js +26 -0
  494. package/src/modules/orders/orders.client.js +86 -1
  495. package/src/modules/orders/orders.server.js +3 -1
  496. package/src/modules/orders/router/applications.router.js +15 -0
  497. package/src/modules/orders/router/customers.router.js +17 -0
  498. package/src/modules/orders/routes/applications.routes.js +124 -12
  499. package/src/modules/orders/routes/customers.routes.js +43 -0
  500. package/src/modules/orders/store/applications.js +3 -159
  501. package/src/modules/orders/store/models/application.js +18 -0
  502. package/src/modules/orders/store/models/customer.js +12 -0
  503. package/src/modules/organizations/components/pages/Organization.new.vue +593 -0
  504. package/src/modules/organizations/components/pages/Organization.vue +155 -206
  505. package/src/modules/organizations/configs/navigation.organization.config.js +69 -85
  506. package/src/modules/organizations/organizations.client.js +0 -3
  507. package/src/modules/organizations/router/organizations.js +5 -0
  508. package/src/modules/pages/views/components/pages/Page.vue +1 -1
  509. package/src/modules/products/TASKS.MD +157 -0
  510. package/src/modules/products/components/blocks/CardCategory.vue +1 -1
  511. package/src/modules/products/components/blocks/ProductImages.vue +1 -1
  512. package/src/modules/products/components/pages/Categories.vue +27 -22
  513. package/src/modules/products/components/pages/CategoryEdit.vue +24 -13
  514. package/src/modules/products/components/pages/Products.vue +418 -173
  515. package/src/modules/products/components/sections/ProductsRecommended.vue +46 -2
  516. package/src/modules/products/controllers/categories.controller.js +321 -282
  517. package/src/modules/products/controllers/configs/products.lookup.config.js +9 -0
  518. package/src/modules/products/controllers/products.controller.js +2 -1
  519. package/src/modules/products/controllers/queries/products.queries.js +183 -11
  520. package/src/modules/products/middlewares/categories.verifier.js +58 -15
  521. package/src/modules/products/migrations/categories-to-materialized-path.js +433 -0
  522. package/src/modules/products/migrations/path-to-url.js +27 -0
  523. package/src/modules/products/models/category.model.js +8 -23
  524. package/src/modules/products/router/products.router.js +12 -0
  525. package/src/modules/products/store/categories.js +26 -7
  526. package/src/modules/rents/TASK.MD +161 -0
  527. package/src/modules/spots/components/pages/Spots.vue +342 -0
  528. package/src/modules/spots/router/spots.js +15 -0
  529. package/src/styles/base/all.scss +2 -3
  530. package/src/styles/layout.scss +16 -0
  531. package/dist/main-w3rPUBVh.cjs +0 -11
  532. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.cjs +0 -96
  533. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.cjs.map +0 -1
  534. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +0 -96
  535. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +0 -1
  536. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  537. package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +0 -1
  538. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
  539. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +0 -155
  540. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs.map +0 -1
  541. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +0 -155
  542. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js.map +0 -1
  543. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +0 -81
  544. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs.map +0 -1
  545. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +0 -81
  546. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js.map +0 -1
  547. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +0 -146
  548. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs.map +0 -1
  549. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +0 -146
  550. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js.map +0 -1
  551. package/src/modules/globals/views/components/partials/FooterAlt.vue +0 -363
  552. package/src/modules/orders/components/sections/FormAddCustomer.vue +0 -152
  553. package/src/modules/orders/components/sections/FormCustomerDetails.vue +0 -67
  554. package/src/modules/orders/controllers/applications.controller.js +0 -122
  555. package/src/modules/organizations/components/sections/DetailsTabSection.vue +0 -190
@@ -15,97 +15,252 @@
15
15
  </button>
16
16
  </header>
17
17
 
18
- <Tab
19
- v-if="route.name !== 'Organization' && isAdmin"
20
- v-model:selected="tabProducts"
21
- :tabs="[
22
- { name: 'All', value: 'all' },
23
- { name: 'Published', value: 'published' },
24
- { name: 'Unpublished', value: 'unpublished' },
25
- { name: 'Archivied', value: 'archivied' }
26
- ]"
27
- style="flex: 0 0 auto"
28
- class="
29
-
30
- p-medium
31
- br-t br-solid br-light
32
- bg-white
33
- gap-micro pd-medium pd-t-thin pd-b-thin
34
- z-index-1
35
-
36
- "
37
- classTab="bg-light uppercase pd-small radius-small w-100"
38
- />
39
-
40
- <div class="cols-2-1_3 br-1px br-solid br-light z-index-3 pos-relative radius-medium">
41
-
42
- <div class="o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative">
43
- <BlockFilter
44
- v-model:filter="products.state.filter"
45
- :options="products.state.filter.options"
46
- class="h-100 w-100"
47
- />
48
- </div>
49
-
50
- <div class="w-100 pd-thin h-max pos-relative o-hidden">
51
- <slot></slot>
52
- <div class="pos-relative w-100 z-index-3 radius-tl-big radius-tr-big">
53
- <BlockSearch
54
- @search="debouncedSearch"
55
- placeholder="Enter product name"
56
- class="bg-light mn-b-thin h-4r"
57
- />
58
- </div>
59
- <Feed
60
- v-model:filter="products.state.filter"
61
- :showLoadMore="false"
62
- :states="{
63
- empty: {
64
- title: 'No Products Found',
65
- description: 'Currently, there are no products available.'
66
- }
67
- }"
68
- :store="{
69
- read: (options) => products.actions.read(options),
70
- state: products.state
71
- }"
72
- :options="{
73
- limit: 16,
74
- owner: route.params._id,
75
- categories: route.query.categories,
76
- filters: generateFilters(products.state.filter.selected),
77
- prices: route.query.prices,
78
- delivery: route.query.delivery,
79
- search: route.query.search,
80
- ...(tabProducts !== 'all' && { status: tabProducts }),
81
- lookup: ['variants']
82
- // user: user
83
- }"
84
- v-slot="{
85
- items
86
- }"
87
- class="cols-4 pos-relative w-100 rows-1 gap-thin"
88
-
89
- >
90
- <router-link
91
- v-for="product in items"
92
- :to="route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }"
93
- class="pos-relative h-100 w-100"
18
+ <div class="cols-2-1_3 br-1px br-solid br-light z-index-3 pos-relative">
19
+
20
+ <div class="o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative">
21
+ <div class="w-100 o-y-scroll h-100">
22
+ <!-- Категории -->
23
+ <div class="mn-b-medium" v-if="currentCategories.length > 0">
24
+ <h4 class="mn-b-small">
25
+ {{ route.params.categoryPath ? 'Subcategories' : 'Categories' }}
26
+ </h4>
27
+ <div class="gap-micro">
28
+ <div
29
+ v-for="category in currentCategories"
30
+ :key="category._id"
31
+ @click="selectCategory(category)"
32
+ class="pd-small radius-small cursor-pointer hover-bg-light transition-all"
33
+ >
34
+ {{ category.name }}
35
+ <br>
36
+ <span v-for="subcategory in category.children">{{subcategory.name}}</span>
37
+ </div>
38
+ </div>
39
+ </div>
40
+
41
+ <!-- Фильтры категории -->
42
+ <Spoiler
43
+ v-for="filter in categoryFilters"
44
+ :key="filter.name"
45
+ class="o-hidden mn-b-medium"
46
+ :status="true"
94
47
  >
95
- <CardProduct
96
- :key="product._id"
97
- :product="product"
98
- :user="auth.state.access"
99
- :organization="route.params._id"
100
- :access="hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)"
101
- class="pos-relative h-100 w-100 bg-light"
102
- />
103
- </router-link>
104
- </Feed>
48
+ <template #header="{ isOpen }">
49
+ <div class="cursor-pointer w-100 flex-v-center flex-nowrap flex">
50
+ <h4 class="w-100">{{ filter.name }}</h4>
51
+ <div class="h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra">
52
+ <IconChevronBottom :class="{ 'rotate-180 mn-t-micro-negative': isOpen }" fill="rgb(var(--black))" class="i-regular"/>
53
+ </div>
54
+ </div>
55
+ </template>
56
+
57
+ <template #content>
58
+ <div class="mn-t-small">
59
+ <Checkbox
60
+ v-for="option in filter.options"
61
+ :key="option.text || option"
62
+ v-model:radio="selectedFilters[filter.name]"
63
+ :label="option.text || option"
64
+ :value="option.text || option"
65
+ mode="checkbox"
66
+ class="mn-b-micro"
67
+ />
68
+ </div>
69
+ </template>
70
+ </Spoiler>
71
+
72
+
73
+ <!-- Цена за сутки -->
74
+ <Spoiler
75
+ class="o-hidden mn-b-medium"
76
+ :status="true"
77
+ >
78
+ <template #header="{ isOpen }">
79
+ <div class="cursor-pointer w-100 flex-v-center flex-nowrap flex">
80
+ <h4 class="w-100"> Price</h4>
81
+ <div class="h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra">
82
+ <IconChevronBottom :class="{ 'rotate-180 mn-t-micro-negative': isOpen }" fill="rgb(var(--black))" class="i-regular"/>
83
+ </div>
84
+ </div>
85
+ </template>
86
+
87
+ <template #content>
88
+ <div class="mn-t-small flex gap-thin">
89
+ <Field
90
+ v-model="priceRange.min"
91
+ placeholder="From"
92
+ type="number"
93
+ class="w-50 bg-light pd-small radius-small"
94
+ />
95
+ <Field
96
+ v-model="priceRange.max"
97
+ placeholder="To"
98
+ type="number"
99
+ class="w-50 bg-light pd-small radius-small"
100
+ />
101
+ </div>
102
+ </template>
103
+ </Spoiler>
104
+
105
+ <!-- Доступность -->
106
+ <Spoiler
107
+ class="o-hidden mn-b-medium"
108
+ :status="true"
109
+ >
110
+ <template #header="{ isOpen }">
111
+ <div class="cursor-pointer w-100 flex-v-center flex-nowrap flex">
112
+ <h4 class="w-100">Availability</h4>
113
+ <div class="h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra">
114
+ <IconChevronBottom :class="{ 'rotate-180 mn-t-micro-negative': isOpen }" fill="rgb(var(--black))" class="i-regular"/>
115
+ </div>
116
+ </div>
117
+ </template>
118
+
119
+ <template #content>
120
+ <div class="mn-t-small">
121
+ <div
122
+ v-for="option in availabilityOptions"
123
+ :key="option.value"
124
+ @click="selectAvailabilityOption(option.value)"
125
+ :class="{ 'bg-light': selectedAvailability === option.value }"
126
+ class="pd-small radius-small cursor-pointer hover-bg-light transition-all mn-b-micro"
127
+ >
128
+ {{ option.label }}
129
+ </div>
130
+
131
+ <div
132
+ @click="() => { tempSelectedDates = selectedDates; showDatePickerPopup = true; }"
133
+ :class="{ 'bg-light': selectedAvailability === 'custom' }"
134
+ class="pd-small radius-small cursor-pointer hover-bg-light transition-all mn-b-micro"
135
+ >
136
+ {{ selectedDates ? `${formatDate(selectedDates.start, { dayMonth: true, language: 'en' })} - ${formatDate(selectedDates.end, { dayMonth: true, language: 'en' })}` : 'Select dates'}}
137
+ </div>
138
+ </div>
139
+ </template>
140
+ </Spoiler>
141
+
142
+ <!-- Кнопка очистки фильтров -->
143
+ <button
144
+ class="bg-main w-100 button mn-t-medium"
145
+ >
146
+ Clear Filters
147
+ </button>
148
+ </div>
149
+ </div>
105
150
 
151
+ <div class="w-100 rows-1 pd-thin pos-relative o-hidden">
152
+ <Filters
153
+ v-model:filters="availableFilters"
154
+ v-model:selected="selectedFilters"
155
+ class="mn-b-thin mobile-only"
156
+ />
157
+ <slot></slot>
158
+ <!-- <div class="pos-relative w-100 z-index-3 radius-tl-big radius-tr-big">
159
+ <BlockSearch
160
+ @search="debouncedSearch"
161
+ placeholder="Enter product name"
162
+ class="bg-light mn-b-thin h-4r"
163
+ />
164
+ </div> -->
165
+
166
+ <div class="mn-b-thin mobile-only w-100 o-y-scroll scroll-hide scroll-snap-type-x-mandatory scroll-pd-regular">
167
+ <div class="gap-thin flex-nowrap flex">
168
+ <div
169
+ v-for="category in currentCategories"
170
+ :key="category._id"
171
+ @click="selectCategory(category)"
172
+ class=" flex-child-default bg-light flex t-nowrap pd-medium radius-medium cursor-pointer hover-bg-light transition-all"
173
+ >
174
+ {{ category.name }}
175
+ </div>
176
+ </div>
177
+ </div>
178
+
179
+
180
+ <Feed
181
+ :search="true"
182
+ v-model:filter="products.state.filter"
183
+ v-model:sort="products.state.sort"
184
+ :showLoadMore="false"
185
+ :states="{
186
+ empty: {
187
+ title: 'No Products Found',
188
+ description: 'Currently, there are no products available.'
189
+ }
190
+ }"
191
+ :store="{
192
+ read: (options) => products.actions.read(options),
193
+ state: products.state
194
+ }"
195
+ :options="{
196
+ limit: 16,
197
+ owner: route.name?.includes('Organization') ? route.params._id : null,
198
+ search: route.query.search,
199
+ lookup: ['variants','rents'],
200
+ categories: route.params.categoryPath ? `/${route.params.categoryPath}` : null,
201
+ filters: processedFilters,
202
+ prices: processedPrices,
203
+ dateStart: selectedDates?.start,
204
+ dateEnd: selectedDates?.end
205
+ }"
206
+ v-slot="{
207
+ items
208
+ }"
209
+ class="cols-4 pos-relative w-100 rows-1 gap-thin"
210
+
211
+ >
212
+ <router-link
213
+ v-for="product in items"
214
+ :to="route.params._id ? { name: 'Organization_Product', params: { _id: route.params._id, product: product._id } } : { name: 'Product', params: { product: product._id } }"
215
+ class="pos-relative h-100 w-100"
216
+ >
217
+ <CardProduct
218
+ :key="product._id"
219
+ :product="product"
220
+ :user="auth.state.access"
221
+ :organization="route.params._id"
222
+ :access="hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)"
223
+ class="pos-relative h-100 w-100 bg-light"
224
+ />
225
+ </router-link>
226
+ </Feed>
227
+
228
+ </div>
106
229
  </div>
107
- </div>
230
+
231
+ <!-- Date Picker Popup -->
232
+ <Popup
233
+ :isPopupOpen="showDatePickerPopup"
234
+ @close-popup="showDatePickerPopup = false"
235
+ class="pd-medium bg-white radius-medium"
236
+ style="min-width: 350px;"
237
+ >
238
+ <h3 class="mn-b-medium">Select Date Range</h3>
239
+
240
+ <Calendar
241
+ v-model:date="tempSelectedDates"
242
+ :allowRange="true"
243
+ :disablePastDates="true"
244
+ class="mn-b-medium"
245
+ />
246
+
247
+ <div class="flex gap-small">
248
+ <button
249
+ @click="applyDateFilter"
250
+ class="bg-main button flex-child-full"
251
+ >
252
+ Apply
253
+ </button>
254
+ <button
255
+ @click="showDatePickerPopup = false"
256
+ class="bg-light button flex-child-full"
257
+ >
258
+ Cancel
259
+ </button>
260
+ </div>
261
+ </Popup>
108
262
  </div>
263
+
109
264
  </template>
110
265
 
111
266
 
@@ -121,40 +276,202 @@
121
276
  import FilterProducts from '@martyrs/src/modules/products/components/sections/FilterProducts.vue'
122
277
  import BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue'
123
278
  import BlockFilter from '@martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue'
279
+ import Filters from '@martyrs/src/modules/globals/views/components/sections/Filters.vue'
280
+ import Spoiler from "@martyrs/src/components/Spoiler/Spoiler.vue"
281
+ import Field from "@martyrs/src/components/Field/Field.vue"
282
+ import Calendar from "@martyrs/src/components/Calendar/Calendar.vue"
283
+ import Popup from "@martyrs/src/components/Popup/Popup.vue"
284
+ import Checkbox from "@martyrs/src/components/Checkbox/Checkbox.vue"
124
285
 
125
286
  import CardProduct from '@martyrs/src/modules/products/components/blocks/CardProduct.vue'
126
287
 
127
288
  import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'
289
+ import IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'
128
290
 
129
291
  // Accessing router and store
130
292
  import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';
131
293
  import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';
132
294
  import * as products from '@martyrs/src/modules/products/store/products.js';
133
- import * as marketplace from '@martyrs/src/modules/marketplace/views/store/marketplace.js';
134
295
  import * as categories from '@martyrs/src/modules/products/store/categories.js';
296
+ import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';
135
297
 
136
298
  const route = useRoute()
137
299
  const router = useRouter()
300
+ const { generateFilters, formatDate } = useGlobalMixins()
301
+
302
+ // Категории и фильтры
303
+ const currentCategories = ref([]);
304
+ const currentCategory = ref(null);
305
+ const categoryFilters = ref([]);
306
+ // const selectedFilters = ref({});
307
+
308
+ const availableFilters = ref([
309
+ {
310
+ title: 'Price',
311
+ value: 'price',
312
+ type: 'range',
313
+ minPlaceholder: 'From',
314
+ maxPlaceholder: 'To'
315
+ },
316
+ {
317
+ title: 'Delivery',
318
+ value: 'delivery',
319
+ type: 'checkbox',
320
+ options: [
321
+ { label: 'Pickup', value: 'pickup' },
322
+ { label: 'Courier', value: 'courier' },
323
+ { label: 'Post', value: 'post' }
324
+ ]
325
+ },
326
+ {
327
+ title: 'Status',
328
+ value: 'status',
329
+ type: 'radio',
330
+ options: [
331
+ { label: 'Available', value: 'available' },
332
+ { label: 'Out of Stock', value: 'out_of_stock' },
333
+ { label: 'Coming Soon', value: 'coming_soon' }
334
+ ]
335
+ }
336
+ ])
138
337
 
139
- // Tab logic
140
- const tabProducts = ref(route.query.tabProducts ? route.query.tabProducts : 'all')
338
+ const selectedFilters = ref({
339
+ price: { min: '', max: '' },
340
+ delivery: [],
341
+ status: null
342
+ })
141
343
 
142
- if (route.name !== 'Organization') route.query.tabProducts = tabProducts.value
344
+
345
+ // Переменные фильтров
346
+ const availabilityOptions = ref([
347
+ { label: 'Available today', value: 'today' },
348
+ { label: 'This week', value: 'week' },
349
+ { label: 'This month', value: 'month' }
350
+ ]);
351
+
352
+ const selectedAvailability = ref('all');
353
+ const showDatePickerPopup = ref(false);
354
+ const selectedPeriod = ref(null);
355
+ const selectedDates = ref(null);
356
+ const tempSelectedDates = ref(null);
143
357
 
144
- if (route.query) {
145
- const query = route.query;
358
+ const priceRange = ref({
359
+ min: '',
360
+ max: ''
361
+ });
146
362
 
147
- products.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];
148
- products.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];
149
- products.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];
150
- products.state.filter.selected.brand = query.brand ? query.brand.split(',') : [];
151
- }
363
+ // Computed property for processed filters
364
+ const processedFilters = computed(() => {
365
+ return generateFilters(selectedFilters.value);
366
+ });
367
+
368
+ const processedPrices = computed(() => {
369
+ return priceRange.value.min || priceRange.value.max ? `${priceRange.value.min || 0}-${priceRange.value.max || 999999}` : null;
370
+ });
152
371
 
153
372
 
154
- watch(tabProducts, (newValue) => {
155
- if (route.name !== 'Organization') router.replace({ query: { ...route.query, tabProducts: newValue } });
373
+ const processedLookups = computed(() => {
374
+ const lookups = ['variants'];
375
+ if (processedDates.value) {
376
+ lookups.push('rents');
377
+ }
378
+ return lookups;
156
379
  });
157
380
 
381
+ const loadCategoryData = async () => {
382
+ const categoryPath = route.params.categoryPath;
383
+
384
+ try {
385
+ if (categoryPath) {
386
+ // Загружаем категорию и её прямых детей
387
+ const result = await categories.actions.read({
388
+ url: `/${categoryPath}`,
389
+ depth: 1,
390
+ tree: false
391
+ });
392
+
393
+ if (result.length > 0) {
394
+ currentCategory.value = result[0];
395
+ currentCategories.value = result[0].children || [];
396
+ categoryFilters.value = result[0].filters || [];
397
+
398
+ // Initialize selected filters object
399
+ const filtersObj = {};
400
+ (result[0].filters || []).forEach(filter => {
401
+ filtersObj[filter.name] = [];
402
+ });
403
+ selectedFilters.value = filtersObj;
404
+ }
405
+ } else {
406
+ // Загружаем только корневые категории
407
+ const result = await categories.actions.read({
408
+ root: true,
409
+ tree: false
410
+ });
411
+
412
+ currentCategories.value = result;
413
+ }
414
+ } catch (error) {
415
+ console.error('Error loading categories:', error);
416
+ currentCategories.value = [];
417
+ }
418
+ };
419
+
420
+ // Функция для выбора категории
421
+ const selectCategory = (category) => {
422
+ const categoryPath = category.url ? category.url.substring(1) : '';
423
+
424
+ if (!categoryPath) {
425
+ console.warn('No URL found for category:', category);
426
+ return;
427
+ }
428
+
429
+ // Переходим к странице категории используя wildcard роут
430
+ if (route.params._id) {
431
+ router.push(`/organizations/${route.params._id}/products/categories/${categoryPath}`);
432
+ } else {
433
+ router.push(`/products/categories/${categoryPath}`);
434
+ }
435
+ };
436
+
437
+ // Функция выбора опции доступности
438
+ const selectAvailabilityOption = (value) => {
439
+ selectedAvailability.value = value;
440
+ const today = new Date();
441
+
442
+ switch(value) {
443
+ case 'today':
444
+ selectedDates.value = {
445
+ start: today,
446
+ end: today
447
+ };
448
+ break;
449
+ case 'week':
450
+ const weekEnd = new Date(today);
451
+ weekEnd.setDate(today.getDate() + 7);
452
+ selectedDates.value = {
453
+ start: today,
454
+ end: weekEnd
455
+ };
456
+ break;
457
+ case 'month':
458
+ const monthEnd = new Date(today);
459
+ monthEnd.setMonth(today.getMonth() + 1);
460
+ selectedDates.value = {
461
+ start: today,
462
+ end: monthEnd
463
+ };
464
+ break;
465
+ }
466
+ };
467
+
468
+ // Функция применения фильтра дат
469
+ const applyDateFilter = () => {
470
+ selectedDates.value = tempSelectedDates.value;
471
+ selectedAvailability.value = 'custom';
472
+ showDatePickerPopup.value = false;
473
+ };
474
+
158
475
  globals.state.navigation_bar.actions = [{
159
476
  component: IconPlus,
160
477
  props: {
@@ -165,85 +482,13 @@
165
482
  }],
166
483
 
167
484
  onMounted(async () => {
168
- let categoriesFilter = await categories.actions.read({rootOnly:true});
169
-
170
- categoriesFilter = categoriesFilter.map(category => ({
171
- value: category._id,
172
- label: category.name
173
- }));
174
-
175
- const index = products.state.filter.options.findIndex(option => option.value === 'categories');
176
-
177
- const categoryOption = {
178
- title: 'Categories',
179
- value: 'categories',
180
- options: categoriesFilter
181
- };
182
-
183
- if (index !== -1) {
184
- products.state.filter.options[index] = categoryOption;
185
- } else {
186
- products.state.filter.options.unshift(categoryOption);
187
- }
485
+ await loadCategoryData();
188
486
  })
189
487
 
190
488
  onUnmounted(() => {
191
489
  globals.state.navigation_bar.actions = [];
192
490
  });
193
491
 
194
- watch(() => products.state.sort, (newSortValue, oldSortValue) => {
195
- let query = { ...route.query}
196
-
197
- query.sortParam = newSortValue.param
198
- query.sortOrder = newSortValue.order
199
-
200
- // replace the current route
201
- router.replace({ query });
202
- }, { deep: true });
203
-
204
-
205
- watch(() => products.state.filter.selected, (newFilterValue, oldFilterValue) => {
206
- // Переводим фильтр в формат query
207
- const query = { ...route.query };
208
-
209
- // Удаляем старые значения фильтра из query
210
- Object.keys(oldFilterValue).forEach(key => {
211
- if (query[key]) {
212
- delete query[key];
213
- }
214
- });
215
-
216
- // Добавляем новые значения фильтра в query
217
- const newQueryValues = Object.fromEntries(
218
- Object.entries(newFilterValue)
219
- .filter(([key, value]) => Array.isArray(value) && value.length > 0)
220
- .map(([key, value]) => [key, value.join(',')])
221
- );
222
-
223
- delete query.options;
224
- Object.assign(query, newQueryValues);
225
-
226
- // Обновляем маршрут с новым query
227
- router.replace({ query });
228
- }, { deep: true })
229
-
230
-
231
- function debounce(fn, delay) {
232
- let timeoutId = null;
233
- return (...args) => {
234
- clearTimeout(timeoutId);
235
- timeoutId = setTimeout(() => fn(...args), delay);
236
- };
237
- }
238
-
239
- const debouncedSearch = debounce((search) => {
240
- let query = { ...route.query}
241
-
242
- query.search = search
243
-
244
- router.replace({ query });
245
- }, 500);
246
-
247
492
  </script>
248
493
 
249
494
  <style lang="scss">