@ozdao/martyrs 0.2.546 → 0.2.548

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 (763) hide show
  1. package/dist/auth.server.cjs +9 -9
  2. package/dist/auth.server.js +9 -9
  3. package/dist/builder.cjs +12 -751
  4. package/dist/builder.js +21 -721
  5. package/dist/chats.server.cjs +61 -59
  6. package/dist/chats.server.js +61 -59
  7. package/dist/{common.schema-BzFEVNn3.cjs → common.schema-BtXLULba.cjs} +2 -2
  8. package/dist/{common.schema-Bw1O5_2Q.js → common.schema-GFSlNJo7.js} +2 -2
  9. package/dist/community.server.cjs +10 -10
  10. package/dist/community.server.js +10 -10
  11. package/dist/{credentials.schema-C9FB2EyY.js → credentials.schema--2vvcu8c.js} +2 -2
  12. package/dist/{credentials.schema-DwhGdrwC.cjs → credentials.schema-DVXaFnXl.cjs} +2 -2
  13. package/dist/{crud-Ed3dcRsC.js → crud-D_snnl2K.js} +78 -2
  14. package/dist/{crud-DGM6Xa1R.cjs → crud-pedHI2by.cjs} +78 -2
  15. package/dist/{engagement.schema-JADHu8pj.cjs → engagement.schema-DHw4iY_W.cjs} +2 -2
  16. package/dist/{engagement.schema-Dh1adRsn.js → engagement.schema-fh6W1fb_.js} +2 -2
  17. package/dist/events.server.cjs +452 -11
  18. package/dist/events.server.js +433 -9
  19. package/dist/files.server.cjs +2 -2
  20. package/dist/files.server.js +2 -2
  21. package/dist/gallery.server.cjs +5 -5
  22. package/dist/gallery.server.js +5 -5
  23. package/dist/globals.server.cjs +11 -373
  24. package/dist/globals.server.js +11 -356
  25. package/dist/globals.websocket-C2FxNmZ1.js +357 -0
  26. package/dist/globals.websocket-Cm72lPCs.cjs +374 -0
  27. package/dist/inventory.server.cjs +4 -5
  28. package/dist/inventory.server.js +2 -3
  29. package/dist/main-DvjCsGb1.cjs +11 -0
  30. package/dist/{main-d9n_ibdE.js → main-q-y0Lhcy.js} +28 -28
  31. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs +8 -8
  32. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs.map +1 -1
  33. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js +8 -8
  34. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js.map +1 -1
  35. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs +2 -2
  36. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs.map +1 -1
  37. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js +2 -2
  38. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -1
  39. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs +2 -2
  40. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +1 -1
  41. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js +2 -2
  42. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -1
  43. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs +8 -8
  44. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs.map +1 -1
  45. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js +8 -8
  46. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js.map +1 -1
  47. package/dist/martyrs/src/components/Button/Button.vue.cjs.map +1 -1
  48. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -1
  49. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs +3 -3
  50. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs.map +1 -1
  51. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +3 -3
  52. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  53. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs +1 -1
  54. package/dist/martyrs/src/components/Chips/Chips.vue2.js +1 -1
  55. package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs +4 -4
  56. package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +4 -4
  58. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +1 -1
  60. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
  61. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs +1 -1
  62. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
  63. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  64. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  66. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  67. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
  68. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
  69. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  70. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  71. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs +2 -2
  72. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +2 -2
  74. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -1
  75. package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs +1 -1
  76. package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs.map +1 -1
  77. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +1 -1
  78. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  79. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs → Spoiler.vue2.cjs} +2 -2
  80. package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.cjs.map +1 -0
  81. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.js → Spoiler.vue2.js} +2 -2
  82. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs.map → Spoiler.vue2.js.map} +1 -1
  83. package/dist/martyrs/src/components/Status/Snack.vue.cjs +1 -1
  84. package/dist/martyrs/src/components/Status/Snack.vue.cjs.map +1 -1
  85. package/dist/martyrs/src/components/Status/Snack.vue.js +1 -1
  86. package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -1
  87. package/dist/martyrs/src/components/Status/Status.vue.cjs +1 -1
  88. package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/components/Status/Status.vue.js +1 -1
  90. package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
  91. package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.cjs → UploadImage.vue2.cjs} +5 -5
  92. package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.cjs.map +1 -0
  93. package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.js → UploadImage.vue2.js} +5 -5
  94. package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.js.map +1 -0
  95. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +4 -4
  100. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +4 -4
  102. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  105. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  106. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +1 -1
  111. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  112. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  113. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +3 -3
  114. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
  115. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +3 -3
  116. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  117. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +2 -2
  118. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
  119. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +2 -2
  120. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  121. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
  122. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
  125. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  126. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  127. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +2 -2
  128. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
  129. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +2 -2
  130. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  131. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +2 -2
  132. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +1 -1
  133. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +2 -2
  134. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  135. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
  137. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
  138. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +2 -2
  140. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
  142. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +2 -2
  144. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs.map +1 -1
  145. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +2 -2
  146. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js.map +1 -1
  147. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js +1 -1
  150. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +4 -4
  152. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  153. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +4 -4
  154. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  156. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  157. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
  158. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  159. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
  160. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +4 -4
  162. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  163. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +4 -4
  164. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  165. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +2 -2
  166. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -1
  167. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +2 -2
  168. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  169. package/dist/martyrs/src/modules/globals/globals.client.cjs +0 -6
  170. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  171. package/dist/martyrs/src/modules/globals/globals.client.js +0 -6
  172. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  173. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +4 -1
  174. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +4 -1
  176. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
  177. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +4 -4
  178. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +4 -4
  180. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  181. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  182. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  183. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  184. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  185. package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.cjs +4 -4
  186. package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.js +4 -4
  187. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs +2 -2
  188. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -1
  189. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js +2 -2
  190. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -1
  191. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +31 -123
  192. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -1
  193. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +31 -123
  194. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +3 -3
  196. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  197. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +3 -3
  198. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  199. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs.map +1 -1
  201. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +1 -1
  202. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js.map +1 -1
  203. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +3 -3
  204. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +3 -3
  206. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +2 -2
  208. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs.map +1 -1
  209. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +2 -2
  210. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +10 -10
  212. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +10 -10
  214. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  218. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +3 -3
  220. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
  221. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +3 -3
  222. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +2 -2
  224. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -1
  225. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +2 -2
  226. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +3 -3
  228. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  229. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +3 -3
  230. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +1 -1
  232. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -1
  233. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  234. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +1 -1
  237. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +1 -1
  238. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +3 -3
  240. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
  241. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
  242. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  243. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
  244. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
  245. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
  246. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  247. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +4 -4
  248. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
  249. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +4 -4
  250. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
  251. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  252. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs.map +1 -1
  253. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  254. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  255. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +3 -3
  256. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -1
  257. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +3 -3
  258. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +5 -5
  260. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -1
  261. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +5 -5
  262. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +7 -7
  264. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
  265. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
  266. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +5 -5
  268. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -1
  269. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +5 -5
  270. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +8 -8
  272. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  273. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +8 -8
  274. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +10 -10
  276. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
  277. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +10 -10
  278. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +4 -4
  280. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
  281. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +4 -4
  282. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +5 -5
  284. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  285. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +5 -5
  286. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +9 -9
  288. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  289. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +9 -9
  290. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +2 -2
  292. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
  293. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
  294. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +2 -2
  296. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
  297. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +2 -2
  298. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  299. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs +8 -8
  300. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs.map +1 -1
  301. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +8 -8
  302. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  303. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +1 -1
  304. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -1
  305. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +1 -1
  306. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  307. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +4 -4
  308. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
  309. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +4 -4
  310. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +2 -2
  312. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -1
  313. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +2 -2
  314. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +1 -1
  316. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +1 -1
  317. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +1 -1
  318. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  319. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +8 -8
  320. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  321. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +8 -8
  322. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  323. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +1 -1
  324. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  325. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +1 -1
  326. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  327. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs +1 -1
  328. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs.map +1 -1
  329. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  330. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  331. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs +1 -1
  332. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +1 -1
  333. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +3 -3
  334. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +3 -3
  335. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +3 -3
  336. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map +1 -1
  337. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  338. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  339. package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.cjs +1 -1
  340. package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.js +1 -1
  341. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.cjs +2 -2
  342. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +2 -2
  343. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  344. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -1
  345. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  346. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  347. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +4 -4
  348. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -1
  349. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +4 -4
  350. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  351. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
  352. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -1
  353. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  354. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  355. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +5 -5
  356. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  357. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +5 -5
  358. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  359. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +3 -3
  360. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +3 -3
  361. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +7 -7
  362. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +7 -7
  364. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  365. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +8 -8
  366. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
  367. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +8 -8
  368. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
  369. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  370. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  371. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  372. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs.map +1 -1
  373. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  374. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  375. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +2 -2
  376. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  377. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +2 -2
  378. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  379. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  380. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs.map +1 -1
  381. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  382. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  383. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +4 -4
  384. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  385. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +4 -4
  386. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  387. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +3 -3
  388. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  389. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +3 -3
  390. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  391. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +4 -4
  392. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  393. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +4 -4
  394. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  395. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +2 -2
  396. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
  397. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +2 -2
  398. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  399. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.cjs → THC.vue2.cjs} +2 -2
  400. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +1 -0
  401. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.js → THC.vue2.js} +2 -2
  402. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +1 -0
  403. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  404. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  405. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  406. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  407. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  408. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  409. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +5 -5
  410. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  411. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -5
  412. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  413. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +3 -3
  414. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs.map +1 -1
  415. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +3 -3
  416. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  417. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +3 -3
  418. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs.map +1 -1
  419. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
  420. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +5 -5
  422. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
  423. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +5 -5
  424. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  425. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +4 -4
  426. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
  427. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +4 -4
  428. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  429. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +2 -2
  430. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
  431. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +2 -2
  432. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
  433. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  434. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
  435. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  436. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  437. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  438. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
  439. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  440. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  441. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
  442. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  443. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  444. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  445. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  446. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs.map +1 -1
  447. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  448. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
  449. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +6 -6
  450. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
  451. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +6 -6
  452. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  453. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  454. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  455. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +4 -4
  456. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs.map +1 -1
  457. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +4 -4
  458. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  459. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +4 -4
  460. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs.map +1 -1
  461. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +4 -4
  462. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  463. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  464. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +1 -1
  465. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  466. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  467. package/dist/martyrs.cjs.js +1 -1
  468. package/dist/martyrs.css +1 -1
  469. package/dist/martyrs.es.js +1 -1
  470. package/dist/{metadata.schema-RlxNv46L.cjs → metadata.schema-BGykn-_r.cjs} +2 -2
  471. package/dist/{metadata.schema-CWmcDJN7.js → metadata.schema-CIRR_WQ-.js} +2 -2
  472. package/dist/music.server.cjs +30 -33
  473. package/dist/music.server.js +30 -33
  474. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +2 -2
  475. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -1
  476. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js +2 -2
  477. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -1
  478. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs +13 -13
  479. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs.map +1 -1
  480. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js +13 -13
  481. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js.map +1 -1
  482. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs +3 -3
  483. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs.map +1 -1
  484. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js +3 -3
  485. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
  486. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs +10 -10
  487. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs.map +1 -1
  488. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js +10 -10
  489. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js.map +1 -1
  490. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs +2 -2
  491. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +1 -1
  492. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +2 -2
  493. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -1
  494. package/dist/notifications.server.cjs +22 -18
  495. package/dist/notifications.server.js +22 -18
  496. package/dist/orders.server.cjs +10 -10
  497. package/dist/orders.server.js +10 -10
  498. package/dist/organizations.server.cjs +13 -13
  499. package/dist/organizations.server.js +13 -13
  500. package/dist/{ownership.schema-D1p5XSpt.cjs → ownership.schema-CRYdbemm.cjs} +2 -2
  501. package/dist/{ownership.schema-BqH4v5vH.js → ownership.schema-fwwDf_e5.js} +2 -2
  502. package/dist/pages.server.cjs +2 -2
  503. package/dist/pages.server.js +2 -2
  504. package/dist/products.server.cjs +13 -13
  505. package/dist/products.server.js +13 -13
  506. package/dist/{profile.schema-BGAe5VN5.js → profile.schema-CjLOfG7b.js} +2 -2
  507. package/dist/{profile.schema-pidHrksV.cjs → profile.schema-l0Dk4Ptu.cjs} +2 -2
  508. package/dist/rents.server.cjs +2 -2
  509. package/dist/rents.server.js +2 -2
  510. package/dist/reports.server.cjs +2 -2
  511. package/dist/reports.server.js +2 -2
  512. package/dist/{socials.schema-CtpSF9dE.cjs → socials.schema-CqEHax2w.cjs} +2 -2
  513. package/dist/{socials.schema-BOZV82Mp.js → socials.schema-DxnnaBgO.js} +2 -2
  514. package/dist/spots.server.cjs +4 -4
  515. package/dist/spots.server.js +4 -4
  516. package/dist/style.css +75 -76
  517. package/dist/{web-BkaOiiSn.js → web-8cpb2Zat.js} +1 -1
  518. package/dist/{web-CROHFHoW.cjs → web-B0k809Uc.cjs} +1 -1
  519. package/package.json +8 -12
  520. package/src/builder/builder.js +0 -6
  521. package/src/components/Button/Button.vue +0 -1
  522. package/src/components/Calendar/Calendar.vue +2 -2
  523. package/src/components/Chips/Chips.vue +1 -1
  524. package/src/components/Countdown/Countdown.vue +4 -4
  525. package/src/components/EmptyState/EmptyState.vue +1 -1
  526. package/src/components/FieldBig/FieldBig.vue +1 -1
  527. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  528. package/src/components/LocationMarker/LocationMarker.vue +2 -2
  529. package/src/components/Menu/MenuItem.vue +1 -1
  530. package/src/components/Status/Snack.vue +1 -1
  531. package/src/components/Status/Status.vue +1 -1
  532. package/src/components/UploadImage/UploadImage.vue +2 -2
  533. package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
  534. package/src/modules/STYLES.MD +59 -77
  535. package/src/modules/TASK-CORE-TRANSFER.MD +62 -0
  536. package/src/modules/auth/views/components/pages/EnterPassword.vue +1 -1
  537. package/src/modules/auth/views/components/pages/Profile.vue +3 -3
  538. package/src/modules/auth/views/components/pages/ProfileEdit.vue +1 -1
  539. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  540. package/src/modules/backoffice/components/admin/Users.vue +1 -1
  541. package/src/modules/backoffice/components/pages/Dashboard.vue +3 -3
  542. package/src/modules/backoffice/components/partials/Sidebar.vue +2 -2
  543. package/src/modules/chats/components/sections/ChatWindow.vue +1 -1
  544. package/src/modules/chats/routes/chats.routes.js +6 -4
  545. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  546. package/src/modules/community/components/layouts/Community.vue +2 -2
  547. package/src/modules/community/components/sections/Comment.vue +1 -1
  548. package/src/modules/community/components/sections/Comments.vue +1 -1
  549. package/src/modules/constructor/components/elements/Card.vue +1 -1
  550. package/src/modules/constructor/components/sections/Constructor.vue +2 -2
  551. package/src/modules/constructor/components/sections/Viewer.vue +1 -1
  552. package/src/modules/events/TASKS.MD +0 -0
  553. package/src/modules/events/components/blocks/CardEvent.vue +4 -4
  554. package/src/modules/events/components/pages/Event.vue +3 -3
  555. package/src/modules/events/components/pages/Events.vue +4 -4
  556. package/src/modules/events/components/sections/SelectDate.vue +2 -2
  557. package/src/modules/globals/TASK.MD +9 -102
  558. package/src/modules/globals/globals.client.js +0 -7
  559. package/src/modules/globals/globals.server.js +14 -1
  560. package/src/modules/globals/views/classes/globals.app.js +8 -4
  561. package/src/modules/globals/views/components/blocks/CardHeader.vue +4 -4
  562. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
  563. package/src/modules/globals/views/components/elements/PhotoStack.vue +4 -4
  564. package/src/modules/globals/views/components/partials/CitySelection.vue +2 -2
  565. package/src/modules/globals/views/components/partials/Footer.centered.vue +6 -6
  566. package/src/modules/globals/views/components/partials/Footer.vue +31 -131
  567. package/src/modules/globals/views/components/partials/Header.vue +3 -3
  568. package/src/modules/globals/views/components/partials/LocationSelection.vue +1 -1
  569. package/src/modules/globals/views/components/partials/Navigation.vue +1 -1
  570. package/src/modules/globals/views/components/sections/SectionPageTitle.vue +2 -2
  571. package/src/modules/globals/views/components/sections/Walkthrough.vue +10 -10
  572. package/src/modules/governance/TASK-TRACKER.MD +192 -0
  573. package/src/modules/governance/controllers/routes/initiatives.routes.js +106 -11
  574. package/src/modules/governance/controllers/routes/milestones.routes.js +111 -0
  575. package/src/modules/governance/controllers/routes/tasks.routes.js +164 -11
  576. package/src/modules/governance/controllers/routes/votes.routes.js +50 -9
  577. package/src/modules/governance/controllers/routes/votings.routes.js +209 -12
  578. package/src/modules/governance/data/mockData.js +654 -0
  579. package/src/modules/governance/governance.server.js +6 -11
  580. package/src/modules/governance/middlewares/initiatives.verifier.js +197 -0
  581. package/src/modules/governance/middlewares/milestones.verifier.js +243 -0
  582. package/src/modules/governance/middlewares/tasks.verifier.js +224 -0
  583. package/src/modules/governance/middlewares/votes.verifier.js +115 -0
  584. package/src/modules/governance/middlewares/votings.verifier.js +237 -0
  585. package/src/modules/governance/models/initiative.model.js +14 -8
  586. package/src/modules/governance/models/task.model.js +13 -1
  587. package/src/modules/governance/models/voting.model.js +68 -2
  588. package/src/modules/governance/reactcode/.bolt/config.json +3 -0
  589. package/src/modules/governance/reactcode/.bolt/prompt +5 -0
  590. package/src/modules/governance/reactcode/eslint.config.js +28 -0
  591. package/src/modules/governance/reactcode/index.html +13 -0
  592. package/src/modules/governance/reactcode/package-lock.json +4229 -0
  593. package/src/modules/governance/reactcode/package.json +36 -0
  594. package/src/modules/governance/reactcode/postcss.config.js +6 -0
  595. package/src/modules/governance/reactcode/src/App.tsx +29 -0
  596. package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +258 -0
  597. package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +257 -0
  598. package/src/modules/governance/reactcode/src/components/EmptyState.tsx +29 -0
  599. package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +59 -0
  600. package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +58 -0
  601. package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +82 -0
  602. package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +70 -0
  603. package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +183 -0
  604. package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +100 -0
  605. package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +184 -0
  606. package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +74 -0
  607. package/src/modules/governance/reactcode/src/components/TaskCard.tsx +88 -0
  608. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +27 -0
  609. package/src/modules/governance/reactcode/src/components/VoteForm.tsx +96 -0
  610. package/src/modules/governance/reactcode/src/components/VotingCard.tsx +78 -0
  611. package/src/modules/governance/reactcode/src/components/VotingResults.tsx +155 -0
  612. package/src/modules/governance/reactcode/src/data/mockData.ts +1465 -0
  613. package/src/modules/governance/reactcode/src/index.css +3 -0
  614. package/src/modules/governance/reactcode/src/main.tsx +10 -0
  615. package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +569 -0
  616. package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +171 -0
  617. package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +182 -0
  618. package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +178 -0
  619. package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +256 -0
  620. package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +529 -0
  621. package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +191 -0
  622. package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +86 -0
  623. package/src/modules/governance/reactcode/src/vite-env.d.ts +1 -0
  624. package/src/modules/governance/reactcode/tailwind.config.js +8 -0
  625. package/src/modules/governance/reactcode/tsconfig.app.json +24 -0
  626. package/src/modules/governance/reactcode/tsconfig.json +7 -0
  627. package/src/modules/governance/reactcode/tsconfig.node.json +22 -0
  628. package/src/modules/governance/reactcode/vite.config.ts +10 -0
  629. package/src/modules/governance/seed-governance.js +348 -0
  630. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +58 -7
  631. package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +70 -0
  632. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +58 -7
  633. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +65 -7
  634. package/src/modules/governance/views/components/layouts/Governance.vue +23 -0
  635. package/src/modules/governance/views/components/pages/Governance.vue +44 -0
  636. package/src/modules/governance/views/components/pages/Initiative.vue +413 -8
  637. package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +159 -0
  638. package/src/modules/governance/views/components/pages/Initiatives.vue +164 -6
  639. package/src/modules/governance/views/components/pages/Milestone.vue +170 -0
  640. package/src/modules/governance/views/components/pages/Roadmap.vue +238 -0
  641. package/src/modules/governance/views/components/pages/Task.vue +393 -14
  642. package/src/modules/governance/views/components/pages/Tasks.vue +164 -10
  643. package/src/modules/governance/views/components/pages/Voting.vue +167 -20
  644. package/src/modules/governance/views/components/pages/Votings.vue +86 -9
  645. package/src/modules/governance/views/components/partials/EmptyState.vue +41 -0
  646. package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +73 -0
  647. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +35 -0
  648. package/src/modules/governance/views/components/partials/VoteForm.vue +100 -0
  649. package/src/modules/governance/views/components/partials/VotingResults.vue +127 -0
  650. package/src/modules/governance/views/router/goverance.router.js +52 -1
  651. package/src/modules/governance/views/store/initiatives.js +10 -7
  652. package/src/modules/governance/views/store/tasks.js +10 -7
  653. package/src/modules/governance/views/store/votes.js +10 -7
  654. package/src/modules/governance/views/store/votings.js +9 -6
  655. package/src/modules/inventory/components/forms/AdjustmentForm.vue +1 -1
  656. package/src/modules/landing/components/sections/Examples.vue +1 -1
  657. package/src/modules/landing/components/sections/SectionEarn.vue +2 -2
  658. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  659. package/src/modules/landing/components/sections/SectionFeaturesImages.vue +1 -1
  660. package/src/modules/landing/components/sections/SectionFocus.vue +1 -1
  661. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  662. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  663. package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
  664. package/src/modules/landing/components/sections/SectionJoinUs.vue +1 -1
  665. package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
  666. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
  667. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +3 -3
  668. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +1 -1
  669. package/src/modules/music/components/forms/AlbumForm.vue +2 -2
  670. package/src/modules/music/components/forms/ArtistForm.vue +4 -4
  671. package/src/modules/music/components/forms/PlaylistForm.vue +6 -6
  672. package/src/modules/music/components/forms/TrackForm.vue +4 -4
  673. package/src/modules/music/components/pages/Album.vue +8 -8
  674. package/src/modules/music/components/pages/Artist.vue +10 -10
  675. package/src/modules/music/components/pages/MusicLibrary.vue +4 -4
  676. package/src/modules/music/components/pages/Playlist.vue +5 -5
  677. package/src/modules/music/components/pages/Track.vue +9 -9
  678. package/src/modules/music/music.server.js +0 -1
  679. package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
  680. package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
  681. package/src/modules/notifications/notifications.server.js +26 -20
  682. package/src/modules/orders/components/blocks/CardOrder.vue +7 -7
  683. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +1 -1
  684. package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
  685. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +2 -2
  686. package/src/modules/orders/components/elements/PriceTotal.vue +1 -1
  687. package/src/modules/orders/components/pages/Favorites.vue +1 -1
  688. package/src/modules/orders/components/pages/OrderBackoffice.vue +7 -7
  689. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  690. package/src/modules/orders/components/partials/ShopCart.vue +1 -1
  691. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  692. package/src/modules/orders/components/sections/Succes.vue +1 -1
  693. package/src/modules/organizations/components/blocks/CardOrganization.vue +3 -3
  694. package/src/modules/organizations/components/blocks/EmptyState.vue +1 -1
  695. package/src/modules/organizations/components/blocks/Rating.vue +2 -2
  696. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +1 -1
  697. package/src/modules/organizations/components/forms/DepartmentForm.vue +2 -2
  698. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  699. package/src/modules/organizations/components/pages/Department.vue +2 -2
  700. package/src/modules/organizations/components/pages/DepartmentEdit.vue +2 -2
  701. package/src/modules/organizations/components/pages/Organization.new.vue +7 -7
  702. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  703. package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +8 -8
  704. package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
  705. package/src/modules/products/components/blocks/CardCategory.vue +2 -2
  706. package/src/modules/products/components/blocks/CardPosition.vue +1 -1
  707. package/src/modules/products/components/blocks/CardProduct.vue +3 -3
  708. package/src/modules/products/components/blocks/ProductDiscounts.vue +2 -2
  709. package/src/modules/products/components/elements/Price.vue +4 -4
  710. package/src/modules/products/components/elements/QuantitySelector.vue +2 -2
  711. package/src/modules/products/components/forms/StockAuditForm.vue +1 -1
  712. package/src/modules/products/components/pages/Product.vue +2 -2
  713. package/src/modules/products/components/pages/Products.vue +4 -4
  714. package/src/modules/products/components/sections/EditAttributes.vue +3 -3
  715. package/src/modules/products/components/sections/EditDiscounts.vue +3 -3
  716. package/src/modules/products/components/sections/EditVariants.vue +5 -5
  717. package/src/modules/products/components/sections/FilterProducts.vue +3 -3
  718. package/src/modules/products/components/sections/HeroRecommendation.vue +2 -2
  719. package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
  720. package/src/modules/products/components/sections/ProductsRecommended.vue +1 -1
  721. package/src/modules/products/components/sections/SectionProduct.vue +2 -2
  722. package/src/modules/reports/components/sections/FormReport.vue +2 -2
  723. package/src/modules/spots/components/blocks/CardSpot.vue +5 -5
  724. package/src/modules/spots/components/pages/Spot.vue +2 -2
  725. package/src/modules/spots/components/pages/SpotEdit.vue +3 -3
  726. package/src/modules/wallet/views/components/pages/Wallet.vue +4 -4
  727. package/src/styles/base/all.scss +20 -0
  728. package/src/styles/config.scss +10 -9
  729. package/src/styles/typography.scss +13 -13
  730. package/dist/globals.observer-C_FYclgV.cjs +0 -78
  731. package/dist/globals.observer-MZsqaE6F.js +0 -79
  732. package/dist/main-8f945Ngn.cjs +0 -11
  733. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -2
  734. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +0 -1
  735. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +0 -2
  736. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
  737. package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +0 -1
  738. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs.map +0 -1
  739. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +0 -1
  740. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs +0 -2
  741. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs.map +0 -1
  742. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js +0 -2
  743. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js.map +0 -1
  744. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
  745. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +0 -1
  746. package/dist/tickets.controller-9zoaVPcx.cjs +0 -444
  747. package/dist/tickets.controller-C8sWVqbB.js +0 -428
  748. package/dist/wallet.server.cjs +0 -528
  749. package/dist/wallet.server.js +0 -511
  750. package/src/builder/modes/ssr.vite.dev.js +0 -180
  751. package/src/builder/ssr/ssr-render-html.vite.js +0 -35
  752. package/src/builder/vite/index.js +0 -13
  753. package/src/builder/vite/vite.config.api.js +0 -52
  754. package/src/builder/vite/vite.config.base.js +0 -110
  755. package/src/builder/vite/vite.config.spa.client.js +0 -81
  756. package/src/builder/vite/vite.config.ssr.client.js +0 -244
  757. package/src/builder/vite/vite.config.ssr.server.js +0 -74
  758. package/src/modules/governance/controllers/factories/initiatives.controller.js +0 -90
  759. package/src/modules/governance/controllers/factories/tasks.controller.js +0 -88
  760. package/src/modules/governance/controllers/factories/votes.controller.js +0 -64
  761. package/src/modules/governance/controllers/factories/votings.controller.js +0 -105
  762. package/src/modules/governance/views/store/projects.js +0 -148
  763. /package/src/modules/governance/{DESCRIPTION.MD → IGNORE-ITS FOR FUTURE-DESCRIPTION.MD} +0 -0
@@ -4,7 +4,7 @@ import _sfc_main$1 from "../../../orders/components/elements/FieldSubscribeNewsl
4
4
  const _hoisted_1 = { class: "pos-relative flex-nowrap flex flex-column flex-center z-index-1" };
5
5
  const _hoisted_2 = { class: "d-inline-block z-index-1 mn-b-big" };
6
6
  const _hoisted_3 = { class: "mn-b-semi" };
7
- const _hoisted_4 = { class: "t-transp p-semi" };
7
+ const _hoisted_4 = { class: "t-transp p-medium" };
8
8
  const _sfc_main = {
9
9
  __name: "SubscribeNewsletter",
10
10
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"SubscribeNewsletter.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SubscribeNewsletter.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative flex-nowrap flex flex-column flex-center z-index-1\">\n <header class=\"d-inline-block z-index-1 mn-b-big\">\n <h2 class=\"mn-b-semi\">{{ t('title') }}</h2>\n <p class=\"t-transp p-semi\">{{ t('subtitle') }}</p>\n </header>\n\n <FieldSubscribeNewsletter\n :placeholder=\"te('placeholder') ? t('placeholder') : null\"\n :action=\"te('action') ? t('action') : null\"\n :successTitle=\"te('success.title') ? t('success.title') : null\"\n :successSubtitle=\"te('success.subtitle') ? t('success.subtitle') : null\"\n :socials=\"te('socials') ? tm('socials') : null\"\n fieldName=\"newsletter-subscribe\"\n fieldId=\"newsletter-subscribe-main\"\n class=\"d-inline-flex bg-white t-black w-100 w-max-40r\"\n />\n </div>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\n\nimport FieldSubscribeNewsletter from '@martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue'\n\n// import * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\n\nconst props = defineProps({\n content: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n })\n }\n})\n\n// Локализация\nconst { t, tm, te } = useI18n({\n messages: props.content\n})\n</script>\n\n<style lang=\"scss\" >\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,QAAQ;AAad,UAAM,EAAE,GAAG,IAAI,GAAE,IAAK,QAAQ;AAAA,MAC5B,UAAU,MAAM;AAAA,IAClB,CAAC;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SubscribeNewsletter.vue.js","sources":["../../../../../../../src/modules/landing/components/sections/SubscribeNewsletter.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative flex-nowrap flex flex-column flex-center z-index-1\">\n <header class=\"d-inline-block z-index-1 mn-b-big\">\n <h2 class=\"mn-b-semi\">{{ t('title') }}</h2>\n <p class=\"t-transp p-medium\">{{ t('subtitle') }}</p>\n </header>\n\n <FieldSubscribeNewsletter\n :placeholder=\"te('placeholder') ? t('placeholder') : null\"\n :action=\"te('action') ? t('action') : null\"\n :successTitle=\"te('success.title') ? t('success.title') : null\"\n :successSubtitle=\"te('success.subtitle') ? t('success.subtitle') : null\"\n :socials=\"te('socials') ? tm('socials') : null\"\n fieldName=\"newsletter-subscribe\"\n fieldId=\"newsletter-subscribe-main\"\n class=\"d-inline-flex bg-white t-black w-100 w-max-40r\"\n />\n </div>\n</template>\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\n\nimport FieldSubscribeNewsletter from '@martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue'\n\n// import * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\n\nconst props = defineProps({\n content: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: () => ({\n })\n }\n})\n\n// Локализация\nconst { t, tm, te } = useI18n({\n messages: props.content\n})\n</script>\n\n<style lang=\"scss\" >\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,QAAQ;AAad,UAAM,EAAE,GAAG,IAAI,GAAE,IAAK,QAAQ;AAAA,MAC5B,UAAU,MAAM;AAAA,IAClB,CAAC;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const vueI18n = require("vue-i18n");
6
- const Spoiler = require("../../../../../components/Spoiler/Spoiler.vue.cjs");
6
+ const Spoiler = require("../../../../../components/Spoiler/Spoiler.vue2.cjs");
7
7
  const Field = require("../../../../../components/Field/Field.vue2.cjs");
8
8
  const Checkbox = require("../../../../../components/Checkbox/Checkbox.vue.cjs");
9
9
  const IconChevronBottom = require("../../../../icons/navigation/IconChevronBottom.vue.cjs");
@@ -175,7 +175,7 @@ const _sfc_main = {
175
175
  _cache[6] || (_cache[6] = vue.createElementVNode("h4", { class: "w-100" }, "Location", -1)),
176
176
  vue.createElementVNode("div", _hoisted_9, [
177
177
  vue.createVNode(IconChevronBottom.default, {
178
- class: vue.normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-regular"]),
178
+ class: vue.normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-medium"]),
179
179
  fill: "rgb(var(--black))"
180
180
  }, null, 8, ["class"])
181
181
  ])
@@ -214,7 +214,7 @@ const _sfc_main = {
214
214
  _cache[7] || (_cache[7] = vue.createElementVNode("h4", { class: "w-100" }, "Delivery Options", -1)),
215
215
  vue.createElementVNode("div", _hoisted_12, [
216
216
  vue.createVNode(IconChevronBottom.default, {
217
- class: vue.normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-regular"]),
217
+ class: vue.normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-medium"]),
218
218
  fill: "rgb(var(--black))"
219
219
  }, null, 8, ["class"])
220
220
  ])
@@ -246,7 +246,7 @@ const _sfc_main = {
246
246
  _cache[8] || (_cache[8] = vue.createElementVNode("h4", { class: "w-100" }, "Payment Options", -1)),
247
247
  vue.createElementVNode("div", _hoisted_15, [
248
248
  vue.createVNode(IconChevronBottom.default, {
249
- class: vue.normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-regular"]),
249
+ class: vue.normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-medium"]),
250
250
  fill: "rgb(var(--black))"
251
251
  }, null, 8, ["class"])
252
252
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"Marketplace.vue.cjs","sources":["../../../../../../../../src/modules/marketplace/views/components/layouts/Marketplace.vue"],"sourcesContent":["<template>\n\t <div class=\"cols-2-1_3 z-index-3 pos-relative radius-big\">\n\n\t\t<div class=\"o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative\">\n\t\t\t<div class=\"w-100 o-y-scroll h-100\">\n\t\t\t\t<!-- Categories -->\n\t\t\t\t<div class=\"mn-b-medium\" v-if=\"currentCategories.length > 0\">\n\t\t\t\t\t<h4 class=\"mn-b-small\">\n\t\t\t\t\t\t{{ route.params.categoryPath ? 'Subcategories' : 'Categories' }}\n\t\t\t\t\t</h4>\n\t\t\t\t\t<div class=\"gap-micro\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"category in currentCategories\"\n\t\t\t\t\t\t\t:key=\"category._id\"\n\t\t\t\t\t\t\t@click=\"selectCategory(category)\"\n\t\t\t\t\t\t\tclass=\"pd-small radius-small cursor-pointer hover-bg-light transition-all\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ category.name }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Location Filter -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Location</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-regular\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Field\n\t\t\t\t\t\t\t\tv-model=\"searchLocation\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search location...\"\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tclass=\"w-100 bg-light pd-small radius-small mn-b-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"location in locationOptions\"\n\t\t\t\t\t\t\t\t:key=\"location\"\n\t\t\t\t\t\t\t\tv-model:radio=\"selectedLocation\"\n\t\t\t\t\t\t\t\t:label=\"location\"\n\t\t\t\t\t\t\t\t:value=\"location\"\n\t\t\t\t\t\t\t\tmode=\"radio\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Delivery Options -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Delivery Options</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-regular\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"option in deliveryOptions\"\n\t\t\t\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t\t\t\tv-model:checkbox=\"selectedDeliveryOptions\"\n\t\t\t\t\t\t\t\t:label=\"option.label\"\n\t\t\t\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\t\t\t\tmode=\"checkbox\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Payment Options -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Payment Options</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-regular\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"option in paymentOptions\"\n\t\t\t\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t\t\t\tv-model:checkbox=\"selectedPaymentOptions\"\n\t\t\t\t\t\t\t\t:label=\"option.label\"\n\t\t\t\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\t\t\t\tmode=\"checkbox\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Clear Filters Button -->\n\t\t\t\t<button \n\t\t\t\t\t@click=\"clearFilters\"\n\t\t\t\t\tclass=\"bg-main w-100 button mn-t-medium\"\n\t\t\t\t>\n\t\t\t\t\tClear Filters\n\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"pd-thin\">\n\t\t\t<header class=\"pd-medium radius-medium bg-light mn-b-thin\">\n\t \t<h2 class=\"\">\n\t \t\t<span class=\"\">Weed Deliveries in </span>\n\n\t \t\t<span \n\t \t\t\tv-if=\"localPosition.city || localPosition.state || localPosition.country\"\n\t \t\t\t@click=\"a => { globals.state.isOpenLocationPopup = true }\" \n\t \t\t\tclass=\"t-main t-semi cursor-pointer \"\n\t \t\t>\n\t \t\t\t\t<template v-if=\"localPosition.city\">{{localPosition.city}}, </template>\n\t \t\t\t\t<template v-if=\"localPosition.state\">{{localPosition.state}}, </template>\n\t \t\t\t\t<template v-if=\"localPosition.country\">{{localPosition.country}}</template>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"t-main t-semi cursor-pointer\">The World</span>\n\t \t</h2>\n\t\t\t</header>\n\n\t\t\t<div class=\"rows-1\">\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<component ref=\"page\" :key=\"route\" :localPosition=\"localPosition\" :is=\"Component\" />\n\t\t\t\t</router-view>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport Spoiler from \"@martyrs/src/components/Spoiler/Spoiler.vue\"\n\timport Field from \"@martyrs/src/components/Field/Field.vue\"\n\timport Checkbox from \"@martyrs/src/components/Checkbox/Checkbox.vue\"\n\timport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n\n\timport * as marketplace from '../../store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\tconst desktopFilters = ref(null)\n\n\t// Categories\n\tconst currentCategories = ref([]);\n\tconst searchLocation = ref('');\n\tconst selectedLocation = ref('All');\n\tconst locationOptions = ref(['All', 'Phuket', 'Bangkok', 'Chiang Mai', 'Pattaya']);\n\n\t// Delivery options\n\tconst deliveryOptions = ref([\n\t\t{ label: 'Pickup', value: 'pickup' },\n\t\t{ label: 'Delivery', value: 'delivery' },\n\t\t{ label: 'Dine-in', value: 'dinein' }\n\t]);\n\tconst selectedDeliveryOptions = ref([]);\n\n\t// Payment options\n\tconst paymentOptions = ref([\n\t\t{ label: 'Cash', value: 'cash' },\n\t\t{ label: 'Card', value: 'card' },\n\t\t{ label: 'Crypto', value: 'crypto' },\n\t\t{ label: 'Bank Transfer', value: 'transfer' }\n\t]);\n\tconst selectedPaymentOptions = ref([]);\n\n\tconst selectCategory = (category) => {\n\t\t// Implementation for category selection\n\t\tconsole.log('Category selected:', category);\n\t};\n\n\tconst clearFilters = () => {\n\t\tselectedLocation.value = 'All';\n\t\tselectedDeliveryOptions.value = [];\n\t\tselectedPaymentOptions.value = [];\n\t\tsearchLocation.value = '';\n\t};\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase()\n\t .replace(/ /g, '-')\n\t .replace(/[^a-z0-9-]/g, '');\n\t}\n\n\tif (route.params) {\n // Загружаем новые значения из параметров маршрута в состояние\n let newState = {\n country: denormalizeUrlParam(route.params.country),\n state: denormalizeUrlParam(route.params.state),\n city: denormalizeUrlParam(route.params.city),\n };\n\n\t // Обновляем глобальное состояние\n\t localPosition.value = newState;\n\t}\n\n\tif (route.query) {\n\t \tconst query = route.query;\n\n\t\tmarketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n\t\tmarketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n\t\tmarketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n\t}\n\n\tif (route.query.sortParam) marketplace.state.sort.param = route.query.sortParam\n\tif (route.query.sortOrder) marketplace.state.sort.order = route.query.sortOrder\n\n\tonMounted(async () => {\n\t let options = {\n status: 'published',\n rootOnly: true\n }\n\n let categoriesFilter = await categories.actions.read(options);\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category._id,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n\t})\n\n\twatch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n\t\tlet query = { ...route.query}\n\t\t\n\t\tquery.sortParam = newSortValue.param\n\t\tquery.sortOrder = newSortValue.order\n\t \n\t // replace the current route\n\t router.replace({ query });\n\t}, { deep: true });\n\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\n\t delete query.options;\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.replace({ query });\n\t}, { deep: true })\n\n\t// watch(() => globals.state.position, (newPosition) => {\n\t// // get the current route\n\t// const currentRoute = { ...router.currentRoute.value };\n\t \n\t// // create new parameters based on globals state position\n\t// let newParams = {\n\t// country: normalizeUrlParam(newPosition.country),\n\t// state: normalizeUrlParam(newPosition.state),\n\t// city: normalizeUrlParam(newPosition.city),\n\t// };\n\t \n\t// // update route params\n\t// currentRoute.params = newParams;\n\t \n\t// // replace the current route\n\t// router.replace(currentRoute);\n\t// }, { deep: true });\n\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n }\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n }\n }\n }\n }\n\n \tconst { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","onMounted","categories.actions","watch","useI18n"],"mappings":"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"}
1
+ {"version":3,"file":"Marketplace.vue.cjs","sources":["../../../../../../../../src/modules/marketplace/views/components/layouts/Marketplace.vue"],"sourcesContent":["<template>\n\t <div class=\"cols-2-1_3 z-index-3 pos-relative radius-big\">\n\n\t\t<div class=\"o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative\">\n\t\t\t<div class=\"w-100 o-y-scroll h-100\">\n\t\t\t\t<!-- Categories -->\n\t\t\t\t<div class=\"mn-b-medium\" v-if=\"currentCategories.length > 0\">\n\t\t\t\t\t<h4 class=\"mn-b-small\">\n\t\t\t\t\t\t{{ route.params.categoryPath ? 'Subcategories' : 'Categories' }}\n\t\t\t\t\t</h4>\n\t\t\t\t\t<div class=\"gap-micro\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"category in currentCategories\"\n\t\t\t\t\t\t\t:key=\"category._id\"\n\t\t\t\t\t\t\t@click=\"selectCategory(category)\"\n\t\t\t\t\t\t\tclass=\"pd-small radius-small cursor-pointer hover-bg-light transition-all\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ category.name }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Location Filter -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Location</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-medium\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Field\n\t\t\t\t\t\t\t\tv-model=\"searchLocation\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search location...\"\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tclass=\"w-100 bg-light pd-small radius-small mn-b-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"location in locationOptions\"\n\t\t\t\t\t\t\t\t:key=\"location\"\n\t\t\t\t\t\t\t\tv-model:radio=\"selectedLocation\"\n\t\t\t\t\t\t\t\t:label=\"location\"\n\t\t\t\t\t\t\t\t:value=\"location\"\n\t\t\t\t\t\t\t\tmode=\"radio\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Delivery Options -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Delivery Options</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-medium\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"option in deliveryOptions\"\n\t\t\t\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t\t\t\tv-model:checkbox=\"selectedDeliveryOptions\"\n\t\t\t\t\t\t\t\t:label=\"option.label\"\n\t\t\t\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\t\t\t\tmode=\"checkbox\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Payment Options -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Payment Options</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-medium\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"option in paymentOptions\"\n\t\t\t\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t\t\t\tv-model:checkbox=\"selectedPaymentOptions\"\n\t\t\t\t\t\t\t\t:label=\"option.label\"\n\t\t\t\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\t\t\t\tmode=\"checkbox\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Clear Filters Button -->\n\t\t\t\t<button \n\t\t\t\t\t@click=\"clearFilters\"\n\t\t\t\t\tclass=\"bg-main w-100 button mn-t-medium\"\n\t\t\t\t>\n\t\t\t\t\tClear Filters\n\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"pd-thin\">\n\t\t\t<header class=\"pd-medium radius-medium bg-light mn-b-thin\">\n\t \t<h2 class=\"\">\n\t \t\t<span class=\"\">Weed Deliveries in </span>\n\n\t \t\t<span \n\t \t\t\tv-if=\"localPosition.city || localPosition.state || localPosition.country\"\n\t \t\t\t@click=\"a => { globals.state.isOpenLocationPopup = true }\" \n\t \t\t\tclass=\"t-main t-semi cursor-pointer \"\n\t \t\t>\n\t \t\t\t\t<template v-if=\"localPosition.city\">{{localPosition.city}}, </template>\n\t \t\t\t\t<template v-if=\"localPosition.state\">{{localPosition.state}}, </template>\n\t \t\t\t\t<template v-if=\"localPosition.country\">{{localPosition.country}}</template>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"t-main t-semi cursor-pointer\">The World</span>\n\t \t</h2>\n\t\t\t</header>\n\n\t\t\t<div class=\"rows-1\">\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<component ref=\"page\" :key=\"route\" :localPosition=\"localPosition\" :is=\"Component\" />\n\t\t\t\t</router-view>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport Spoiler from \"@martyrs/src/components/Spoiler/Spoiler.vue\"\n\timport Field from \"@martyrs/src/components/Field/Field.vue\"\n\timport Checkbox from \"@martyrs/src/components/Checkbox/Checkbox.vue\"\n\timport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n\n\timport * as marketplace from '../../store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\tconst desktopFilters = ref(null)\n\n\t// Categories\n\tconst currentCategories = ref([]);\n\tconst searchLocation = ref('');\n\tconst selectedLocation = ref('All');\n\tconst locationOptions = ref(['All', 'Phuket', 'Bangkok', 'Chiang Mai', 'Pattaya']);\n\n\t// Delivery options\n\tconst deliveryOptions = ref([\n\t\t{ label: 'Pickup', value: 'pickup' },\n\t\t{ label: 'Delivery', value: 'delivery' },\n\t\t{ label: 'Dine-in', value: 'dinein' }\n\t]);\n\tconst selectedDeliveryOptions = ref([]);\n\n\t// Payment options\n\tconst paymentOptions = ref([\n\t\t{ label: 'Cash', value: 'cash' },\n\t\t{ label: 'Card', value: 'card' },\n\t\t{ label: 'Crypto', value: 'crypto' },\n\t\t{ label: 'Bank Transfer', value: 'transfer' }\n\t]);\n\tconst selectedPaymentOptions = ref([]);\n\n\tconst selectCategory = (category) => {\n\t\t// Implementation for category selection\n\t\tconsole.log('Category selected:', category);\n\t};\n\n\tconst clearFilters = () => {\n\t\tselectedLocation.value = 'All';\n\t\tselectedDeliveryOptions.value = [];\n\t\tselectedPaymentOptions.value = [];\n\t\tsearchLocation.value = '';\n\t};\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase()\n\t .replace(/ /g, '-')\n\t .replace(/[^a-z0-9-]/g, '');\n\t}\n\n\tif (route.params) {\n // Загружаем новые значения из параметров маршрута в состояние\n let newState = {\n country: denormalizeUrlParam(route.params.country),\n state: denormalizeUrlParam(route.params.state),\n city: denormalizeUrlParam(route.params.city),\n };\n\n\t // Обновляем глобальное состояние\n\t localPosition.value = newState;\n\t}\n\n\tif (route.query) {\n\t \tconst query = route.query;\n\n\t\tmarketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n\t\tmarketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n\t\tmarketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n\t}\n\n\tif (route.query.sortParam) marketplace.state.sort.param = route.query.sortParam\n\tif (route.query.sortOrder) marketplace.state.sort.order = route.query.sortOrder\n\n\tonMounted(async () => {\n\t let options = {\n status: 'published',\n rootOnly: true\n }\n\n let categoriesFilter = await categories.actions.read(options);\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category._id,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n\t})\n\n\twatch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n\t\tlet query = { ...route.query}\n\t\t\n\t\tquery.sortParam = newSortValue.param\n\t\tquery.sortOrder = newSortValue.order\n\t \n\t // replace the current route\n\t router.replace({ query });\n\t}, { deep: true });\n\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\n\t delete query.options;\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.replace({ query });\n\t}, { deep: true })\n\n\t// watch(() => globals.state.position, (newPosition) => {\n\t// // get the current route\n\t// const currentRoute = { ...router.currentRoute.value };\n\t \n\t// // create new parameters based on globals state position\n\t// let newParams = {\n\t// country: normalizeUrlParam(newPosition.country),\n\t// state: normalizeUrlParam(newPosition.state),\n\t// city: normalizeUrlParam(newPosition.city),\n\t// };\n\t \n\t// // update route params\n\t// currentRoute.params = newParams;\n\t \n\t// // replace the current route\n\t// router.replace(currentRoute);\n\t// }, { deep: true });\n\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n }\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n }\n }\n }\n }\n\n \tconst { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["useRoute","useRouter","ref","marketplace.state","onMounted","categories.actions","watch","useI18n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ref, onMounted, watch, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Fragment, renderList, withCtx, createBlock, normalizeClass, createTextVNode, resolveDynamicComponent } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import { useI18n } from "vue-i18n";
4
- import _sfc_main$1 from "../../../../../components/Spoiler/Spoiler.vue.js";
4
+ import _sfc_main$1 from "../../../../../components/Spoiler/Spoiler.vue2.js";
5
5
  import Field from "../../../../../components/Field/Field.vue2.js";
6
6
  import _sfc_main$2 from "../../../../../components/Checkbox/Checkbox.vue.js";
7
7
  import IconChevronBottom from "../../../../icons/navigation/IconChevronBottom.vue.js";
@@ -173,7 +173,7 @@ const _sfc_main = {
173
173
  _cache[6] || (_cache[6] = createElementVNode("h4", { class: "w-100" }, "Location", -1)),
174
174
  createElementVNode("div", _hoisted_9, [
175
175
  createVNode(IconChevronBottom, {
176
- class: normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-regular"]),
176
+ class: normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-medium"]),
177
177
  fill: "rgb(var(--black))"
178
178
  }, null, 8, ["class"])
179
179
  ])
@@ -212,7 +212,7 @@ const _sfc_main = {
212
212
  _cache[7] || (_cache[7] = createElementVNode("h4", { class: "w-100" }, "Delivery Options", -1)),
213
213
  createElementVNode("div", _hoisted_12, [
214
214
  createVNode(IconChevronBottom, {
215
- class: normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-regular"]),
215
+ class: normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-medium"]),
216
216
  fill: "rgb(var(--black))"
217
217
  }, null, 8, ["class"])
218
218
  ])
@@ -244,7 +244,7 @@ const _sfc_main = {
244
244
  _cache[8] || (_cache[8] = createElementVNode("h4", { class: "w-100" }, "Payment Options", -1)),
245
245
  createElementVNode("div", _hoisted_15, [
246
246
  createVNode(IconChevronBottom, {
247
- class: normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-regular"]),
247
+ class: normalizeClass([{ "rotate-180 mn-t-micro-negative": isOpen }, "i-medium"]),
248
248
  fill: "rgb(var(--black))"
249
249
  }, null, 8, ["class"])
250
250
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"Marketplace.vue.js","sources":["../../../../../../../../src/modules/marketplace/views/components/layouts/Marketplace.vue"],"sourcesContent":["<template>\n\t <div class=\"cols-2-1_3 z-index-3 pos-relative radius-big\">\n\n\t\t<div class=\"o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative\">\n\t\t\t<div class=\"w-100 o-y-scroll h-100\">\n\t\t\t\t<!-- Categories -->\n\t\t\t\t<div class=\"mn-b-medium\" v-if=\"currentCategories.length > 0\">\n\t\t\t\t\t<h4 class=\"mn-b-small\">\n\t\t\t\t\t\t{{ route.params.categoryPath ? 'Subcategories' : 'Categories' }}\n\t\t\t\t\t</h4>\n\t\t\t\t\t<div class=\"gap-micro\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"category in currentCategories\"\n\t\t\t\t\t\t\t:key=\"category._id\"\n\t\t\t\t\t\t\t@click=\"selectCategory(category)\"\n\t\t\t\t\t\t\tclass=\"pd-small radius-small cursor-pointer hover-bg-light transition-all\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ category.name }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Location Filter -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Location</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-regular\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Field\n\t\t\t\t\t\t\t\tv-model=\"searchLocation\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search location...\"\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tclass=\"w-100 bg-light pd-small radius-small mn-b-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"location in locationOptions\"\n\t\t\t\t\t\t\t\t:key=\"location\"\n\t\t\t\t\t\t\t\tv-model:radio=\"selectedLocation\"\n\t\t\t\t\t\t\t\t:label=\"location\"\n\t\t\t\t\t\t\t\t:value=\"location\"\n\t\t\t\t\t\t\t\tmode=\"radio\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Delivery Options -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Delivery Options</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-regular\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"option in deliveryOptions\"\n\t\t\t\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t\t\t\tv-model:checkbox=\"selectedDeliveryOptions\"\n\t\t\t\t\t\t\t\t:label=\"option.label\"\n\t\t\t\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\t\t\t\tmode=\"checkbox\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Payment Options -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Payment Options</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-regular\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"option in paymentOptions\"\n\t\t\t\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t\t\t\tv-model:checkbox=\"selectedPaymentOptions\"\n\t\t\t\t\t\t\t\t:label=\"option.label\"\n\t\t\t\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\t\t\t\tmode=\"checkbox\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Clear Filters Button -->\n\t\t\t\t<button \n\t\t\t\t\t@click=\"clearFilters\"\n\t\t\t\t\tclass=\"bg-main w-100 button mn-t-medium\"\n\t\t\t\t>\n\t\t\t\t\tClear Filters\n\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"pd-thin\">\n\t\t\t<header class=\"pd-medium radius-medium bg-light mn-b-thin\">\n\t \t<h2 class=\"\">\n\t \t\t<span class=\"\">Weed Deliveries in </span>\n\n\t \t\t<span \n\t \t\t\tv-if=\"localPosition.city || localPosition.state || localPosition.country\"\n\t \t\t\t@click=\"a => { globals.state.isOpenLocationPopup = true }\" \n\t \t\t\tclass=\"t-main t-semi cursor-pointer \"\n\t \t\t>\n\t \t\t\t\t<template v-if=\"localPosition.city\">{{localPosition.city}}, </template>\n\t \t\t\t\t<template v-if=\"localPosition.state\">{{localPosition.state}}, </template>\n\t \t\t\t\t<template v-if=\"localPosition.country\">{{localPosition.country}}</template>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"t-main t-semi cursor-pointer\">The World</span>\n\t \t</h2>\n\t\t\t</header>\n\n\t\t\t<div class=\"rows-1\">\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<component ref=\"page\" :key=\"route\" :localPosition=\"localPosition\" :is=\"Component\" />\n\t\t\t\t</router-view>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport Spoiler from \"@martyrs/src/components/Spoiler/Spoiler.vue\"\n\timport Field from \"@martyrs/src/components/Field/Field.vue\"\n\timport Checkbox from \"@martyrs/src/components/Checkbox/Checkbox.vue\"\n\timport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n\n\timport * as marketplace from '../../store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\tconst desktopFilters = ref(null)\n\n\t// Categories\n\tconst currentCategories = ref([]);\n\tconst searchLocation = ref('');\n\tconst selectedLocation = ref('All');\n\tconst locationOptions = ref(['All', 'Phuket', 'Bangkok', 'Chiang Mai', 'Pattaya']);\n\n\t// Delivery options\n\tconst deliveryOptions = ref([\n\t\t{ label: 'Pickup', value: 'pickup' },\n\t\t{ label: 'Delivery', value: 'delivery' },\n\t\t{ label: 'Dine-in', value: 'dinein' }\n\t]);\n\tconst selectedDeliveryOptions = ref([]);\n\n\t// Payment options\n\tconst paymentOptions = ref([\n\t\t{ label: 'Cash', value: 'cash' },\n\t\t{ label: 'Card', value: 'card' },\n\t\t{ label: 'Crypto', value: 'crypto' },\n\t\t{ label: 'Bank Transfer', value: 'transfer' }\n\t]);\n\tconst selectedPaymentOptions = ref([]);\n\n\tconst selectCategory = (category) => {\n\t\t// Implementation for category selection\n\t\tconsole.log('Category selected:', category);\n\t};\n\n\tconst clearFilters = () => {\n\t\tselectedLocation.value = 'All';\n\t\tselectedDeliveryOptions.value = [];\n\t\tselectedPaymentOptions.value = [];\n\t\tsearchLocation.value = '';\n\t};\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase()\n\t .replace(/ /g, '-')\n\t .replace(/[^a-z0-9-]/g, '');\n\t}\n\n\tif (route.params) {\n // Загружаем новые значения из параметров маршрута в состояние\n let newState = {\n country: denormalizeUrlParam(route.params.country),\n state: denormalizeUrlParam(route.params.state),\n city: denormalizeUrlParam(route.params.city),\n };\n\n\t // Обновляем глобальное состояние\n\t localPosition.value = newState;\n\t}\n\n\tif (route.query) {\n\t \tconst query = route.query;\n\n\t\tmarketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n\t\tmarketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n\t\tmarketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n\t}\n\n\tif (route.query.sortParam) marketplace.state.sort.param = route.query.sortParam\n\tif (route.query.sortOrder) marketplace.state.sort.order = route.query.sortOrder\n\n\tonMounted(async () => {\n\t let options = {\n status: 'published',\n rootOnly: true\n }\n\n let categoriesFilter = await categories.actions.read(options);\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category._id,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n\t})\n\n\twatch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n\t\tlet query = { ...route.query}\n\t\t\n\t\tquery.sortParam = newSortValue.param\n\t\tquery.sortOrder = newSortValue.order\n\t \n\t // replace the current route\n\t router.replace({ query });\n\t}, { deep: true });\n\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\n\t delete query.options;\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.replace({ query });\n\t}, { deep: true })\n\n\t// watch(() => globals.state.position, (newPosition) => {\n\t// // get the current route\n\t// const currentRoute = { ...router.currentRoute.value };\n\t \n\t// // create new parameters based on globals state position\n\t// let newParams = {\n\t// country: normalizeUrlParam(newPosition.country),\n\t// state: normalizeUrlParam(newPosition.state),\n\t// city: normalizeUrlParam(newPosition.city),\n\t// };\n\t \n\t// // update route params\n\t// currentRoute.params = newParams;\n\t \n\t// // replace the current route\n\t// router.replace(currentRoute);\n\t// }, { deep: true });\n\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n }\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n }\n }\n }\n }\n\n \tconst { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","categories.actions"],"mappings":"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"}
1
+ {"version":3,"file":"Marketplace.vue.js","sources":["../../../../../../../../src/modules/marketplace/views/components/layouts/Marketplace.vue"],"sourcesContent":["<template>\n\t <div class=\"cols-2-1_3 z-index-3 pos-relative radius-big\">\n\n\t\t<div class=\"o-y-scroll br-r br-solid br-light pd-medium z-index-2 desktop-only h-100 pos-relative\">\n\t\t\t<div class=\"w-100 o-y-scroll h-100\">\n\t\t\t\t<!-- Categories -->\n\t\t\t\t<div class=\"mn-b-medium\" v-if=\"currentCategories.length > 0\">\n\t\t\t\t\t<h4 class=\"mn-b-small\">\n\t\t\t\t\t\t{{ route.params.categoryPath ? 'Subcategories' : 'Categories' }}\n\t\t\t\t\t</h4>\n\t\t\t\t\t<div class=\"gap-micro\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"category in currentCategories\"\n\t\t\t\t\t\t\t:key=\"category._id\"\n\t\t\t\t\t\t\t@click=\"selectCategory(category)\"\n\t\t\t\t\t\t\tclass=\"pd-small radius-small cursor-pointer hover-bg-light transition-all\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ category.name }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Location Filter -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Location</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-medium\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Field\n\t\t\t\t\t\t\t\tv-model=\"searchLocation\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search location...\"\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tclass=\"w-100 bg-light pd-small radius-small mn-b-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"location in locationOptions\"\n\t\t\t\t\t\t\t\t:key=\"location\"\n\t\t\t\t\t\t\t\tv-model:radio=\"selectedLocation\"\n\t\t\t\t\t\t\t\t:label=\"location\"\n\t\t\t\t\t\t\t\t:value=\"location\"\n\t\t\t\t\t\t\t\tmode=\"radio\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Delivery Options -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Delivery Options</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-medium\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"option in deliveryOptions\"\n\t\t\t\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t\t\t\tv-model:checkbox=\"selectedDeliveryOptions\"\n\t\t\t\t\t\t\t\t:label=\"option.label\"\n\t\t\t\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\t\t\t\tmode=\"checkbox\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Payment Options -->\n\t\t\t\t<Spoiler \n\t\t\t\t\tclass=\"o-hidden mn-b-medium\"\n\t\t\t\t\t:status=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<template #header=\"{ isOpen }\">\n\t\t\t\t\t\t<div class=\"cursor-pointer w-100 flex-v-center flex-nowrap flex\">\n\t\t\t\t\t\t\t<h4 class=\"w-100\">Payment Options</h4>\n\t\t\t\t\t\t\t<div class=\"h-2r w-2r flex-child-auto aspect-1x1 flex-center flex bg-light radius-extra\">\n\t\t\t\t\t\t\t\t<IconChevronBottom :class=\"{ 'rotate-180 mn-t-micro-negative': isOpen }\" fill=\"rgb(var(--black))\" class=\"i-medium\"/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div class=\"mn-t-small\">\n\t\t\t\t\t\t\t<Checkbox \n\t\t\t\t\t\t\t\tv-for=\"option in paymentOptions\"\n\t\t\t\t\t\t\t\t:key=\"option.value\"\n\t\t\t\t\t\t\t\tv-model:checkbox=\"selectedPaymentOptions\"\n\t\t\t\t\t\t\t\t:label=\"option.label\"\n\t\t\t\t\t\t\t\t:value=\"option.value\"\n\t\t\t\t\t\t\t\tmode=\"checkbox\"\n\t\t\t\t\t\t\t\tclass=\"mn-b-micro\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</Spoiler>\n\n\t\t\t\t<!-- Clear Filters Button -->\n\t\t\t\t<button \n\t\t\t\t\t@click=\"clearFilters\"\n\t\t\t\t\tclass=\"bg-main w-100 button mn-t-medium\"\n\t\t\t\t>\n\t\t\t\t\tClear Filters\n\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"pd-thin\">\n\t\t\t<header class=\"pd-medium radius-medium bg-light mn-b-thin\">\n\t \t<h2 class=\"\">\n\t \t\t<span class=\"\">Weed Deliveries in </span>\n\n\t \t\t<span \n\t \t\t\tv-if=\"localPosition.city || localPosition.state || localPosition.country\"\n\t \t\t\t@click=\"a => { globals.state.isOpenLocationPopup = true }\" \n\t \t\t\tclass=\"t-main t-semi cursor-pointer \"\n\t \t\t>\n\t \t\t\t\t<template v-if=\"localPosition.city\">{{localPosition.city}}, </template>\n\t \t\t\t\t<template v-if=\"localPosition.state\">{{localPosition.state}}, </template>\n\t \t\t\t\t<template v-if=\"localPosition.country\">{{localPosition.country}}</template>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { globals.state.isOpenLocationPopup = true }\" class=\"t-main t-semi cursor-pointer\">The World</span>\n\t \t</h2>\n\t\t\t</header>\n\n\t\t\t<div class=\"rows-1\">\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<component ref=\"page\" :key=\"route\" :localPosition=\"localPosition\" :is=\"Component\" />\n\t\t\t\t</router-view>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\n\timport Spoiler from \"@martyrs/src/components/Spoiler/Spoiler.vue\"\n\timport Field from \"@martyrs/src/components/Field/Field.vue\"\n\timport Checkbox from \"@martyrs/src/components/Checkbox/Checkbox.vue\"\n\timport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n\n\timport * as marketplace from '../../store/marketplace';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\tconst desktopFilters = ref(null)\n\n\t// Categories\n\tconst currentCategories = ref([]);\n\tconst searchLocation = ref('');\n\tconst selectedLocation = ref('All');\n\tconst locationOptions = ref(['All', 'Phuket', 'Bangkok', 'Chiang Mai', 'Pattaya']);\n\n\t// Delivery options\n\tconst deliveryOptions = ref([\n\t\t{ label: 'Pickup', value: 'pickup' },\n\t\t{ label: 'Delivery', value: 'delivery' },\n\t\t{ label: 'Dine-in', value: 'dinein' }\n\t]);\n\tconst selectedDeliveryOptions = ref([]);\n\n\t// Payment options\n\tconst paymentOptions = ref([\n\t\t{ label: 'Cash', value: 'cash' },\n\t\t{ label: 'Card', value: 'card' },\n\t\t{ label: 'Crypto', value: 'crypto' },\n\t\t{ label: 'Bank Transfer', value: 'transfer' }\n\t]);\n\tconst selectedPaymentOptions = ref([]);\n\n\tconst selectCategory = (category) => {\n\t\t// Implementation for category selection\n\t\tconsole.log('Category selected:', category);\n\t};\n\n\tconst clearFilters = () => {\n\t\tselectedLocation.value = 'All';\n\t\tselectedDeliveryOptions.value = [];\n\t\tselectedPaymentOptions.value = [];\n\t\tsearchLocation.value = '';\n\t};\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase()\n\t .replace(/ /g, '-')\n\t .replace(/[^a-z0-9-]/g, '');\n\t}\n\n\tif (route.params) {\n // Загружаем новые значения из параметров маршрута в состояние\n let newState = {\n country: denormalizeUrlParam(route.params.country),\n state: denormalizeUrlParam(route.params.state),\n city: denormalizeUrlParam(route.params.city),\n };\n\n\t // Обновляем глобальное состояние\n\t localPosition.value = newState;\n\t}\n\n\tif (route.query) {\n\t \tconst query = route.query;\n\n\t\tmarketplace.state.filter.selected.categories = query.categories ? query.categories.split(',') : [];\n\t\tmarketplace.state.filter.selected.prices = query.prices ? query.prices.split(',') : [];\n\t\tmarketplace.state.filter.selected.delivery = query.delivery ? query.delivery.split(',') : [];\n\t}\n\n\tif (route.query.sortParam) marketplace.state.sort.param = route.query.sortParam\n\tif (route.query.sortOrder) marketplace.state.sort.order = route.query.sortOrder\n\n\tonMounted(async () => {\n\t let options = {\n status: 'published',\n rootOnly: true\n }\n\n let categoriesFilter = await categories.actions.read(options);\n\n categoriesFilter = categoriesFilter.map(category => ({\n value: category._id,\n label: category.name\n }));\n\n const index = marketplace.state.filter.options.findIndex(option => option.value === 'categories');\n\n const categoryOption = {\n title: 'Categories',\n value: 'categories',\n options: categoriesFilter\n };\n\n if (index !== -1) {\n marketplace.state.filter.options[index] = categoryOption;\n } else {\n marketplace.state.filter.options.unshift(categoryOption);\n }\n\t})\n\n\twatch(() => marketplace.state.sort, (newSortValue, oldSortValue) => {\n\t\tlet query = { ...route.query}\n\t\t\n\t\tquery.sortParam = newSortValue.param\n\t\tquery.sortOrder = newSortValue.order\n\t \n\t // replace the current route\n\t router.replace({ query });\n\t}, { deep: true });\n\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\n\t delete query.options;\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.replace({ query });\n\t}, { deep: true })\n\n\t// watch(() => globals.state.position, (newPosition) => {\n\t// // get the current route\n\t// const currentRoute = { ...router.currentRoute.value };\n\t \n\t// // create new parameters based on globals state position\n\t// let newParams = {\n\t// country: normalizeUrlParam(newPosition.country),\n\t// state: normalizeUrlParam(newPosition.state),\n\t// city: normalizeUrlParam(newPosition.city),\n\t// };\n\t \n\t// // update route params\n\t// currentRoute.params = newParams;\n\t \n\t// // replace the current route\n\t// router.replace(currentRoute);\n\t// }, { deep: true });\n\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n }\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n }\n }\n }\n }\n\n \tconst { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","categories.actions"],"mappings":"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"}
@@ -23,7 +23,7 @@ const _hoisted_4 = ["src"];
23
23
  const _hoisted_5 = { class: "t-black capitalize h3" };
24
24
  const _hoisted_6 = {
25
25
  key: 0,
26
- class: "mn-t-thin mn-b-thin t-transp t-black p-medium"
26
+ class: "mn-t-thin mn-b-thin t-transp t-black p-regular"
27
27
  };
28
28
  const _hoisted_7 = {
29
29
  key: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"SectionMenu.vue.cjs","sources":["../../../../../../../../src/modules/marketplace/views/components/sections/SectionMenu.vue"],"sourcesContent":["<template>\n\t<section id=\"main-menu\" class=\"pos-relative\">\n\t\t<h2 class=\"w-m-60r mn-auto pd-t-big pd-b-big t-center\">\n\t\t\tWeed and Accessories to <br><b>Enhance Your Smoking Experience</b> \n\t\t</h2>\n\n\t\t<transition name=\"fade\" mode=\"out-in\" appear>\n\t\t\t<div v-if=\"!menu\" class=\"w-100 h-15r radius-medium flex-center bg-light\">\n\t\t\t\t<Loader class=\"pos-relative\"/>\n\t\t\t</div>\n\n\t\t\t<ul v-else class=\"gap-thin grid-container\">\n\t\t\t\t<router-link :to=\"getMarketplaceLink([category.url])\"\n\t\t\t\t\tv-for=\"(category,index) in categoriesRoot.slice(0,5)\" \n\t\t\t\t\t:key=\"category\" \n\t\t\t\t\tclass=\"cursor-pointer hover-scale-0 flex-v-center flex-h-center flex-nowrap flex-row flex bg-light radius-medium pd-medium grid-item\"\n\t\t\t\t>\n\t\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\t\tv-if=\"category.photo\"\n\t\t\t\t\t\t:src=\"category.photo\"\n\t\t\t\t\t\tclass=\"h-100 aspect-1x1 t-transp mn-r-thin\"\n\t\t\t\t\t>\n\n\t\t\t\t\t<div class=\"w-100\" :class=\"{'mn-r-auto':category.url === 'buds'}\">\n\t\t\t\t\t\t<h3 class=\"t-black capitalize h3\">\n\t\t\t\t\t\t\t{{category.name}}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\n\t\t\t\t\t\t<p v-if=\"category.url === 'buds'\" class=\"mn-t-thin mn-b-thin t-transp t-black p-medium\">\n\t\t\t\t\t\t\tUnveiling the Exceptional User Curated Best Buds\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<button \n\t\t\t\t\t\t\tv-if=\"category.url === 'buds'\"\n\t\t\t class=\"mn-t-small radius-extra hover-bg-black t-medium t-black bg-main hover-t-white button-small button\"\n\t\t\t >\n\t\t\t <span>Check {{countProduct.count}} products →</span>\n\t\t\t </button>\n\t\t\t\t\t</div>\n\t\t\t\t</router-link>\n\n\t\t\t</ul>\n\t\t</transition>\n\t</section>\n</template>\n\n\n<script setup>\n\timport { ref, onMounted,computed } from 'vue'\n\n\timport Loader from '@martyrs/src/components/Loader/Loader.vue'\n\n\timport { useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\t\n\timport * as categories from '@martyrs/src/modules/products/store/categories.js';\n\timport * as products from '@martyrs/src/modules/products/store/products.js';\n\n\tconst router = useRouter()\n\n\tconst categoriesRoot = ref(null)\n\t\n \tconst text = {\n en: {\n \tcategories: []\n },\n ru: {\n \tcategories: []\n }\n }\n\n\n\tconst { t } = useI18n({\n messages: text\n })\n\n\tconst countProduct = ref(0)\n\tconst menu = ref(false)\n\n\tonMounted( async () => {\n\t\tcountProduct.value = await products.actions.read({count: true})\n\t\tcategoriesRoot.value = await categories.actions.read({rootOnly: true})\n\t\tmenu.value = true\n\t})\n</script>\n\n<style lang=\"scss\">\n\t.grid-container {\n\t display: grid;\n\t grid-template-columns: repeat(4, 1fr);\n\t grid-template-rows: repeat(2, 1fr);\n\t}\n\n\t.grid-item {\n\t &:first-of-type {\n\t \tgrid-column: span 2;\n\t \tgrid-row: span 2;\n\t }\n\t}\n\n\t@media screen and (max-width: 1025px) {\n .grid-container { grid-template-columns: repeat(2, 1fr); }\n }\n</style>\n"],"names":["useRouter","ref","useI18n","onMounted","products.actions","categories.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DgBA,cAAAA,UAAS;AAExB,UAAM,iBAAiBC,IAAAA,IAAI,IAAI;AAE9B,UAAM,OAAO;AAAA,MACX,IAAI;AAAA,QACH,YAAY,CAAA;AAAA,MACjB;AAAA,MACI,IAAI;AAAA,QACH,YAAY,CAAA;AAAA,MACjB;AAAA,IACA;AAGC,UAAM,EAAE,EAAC,IAAMC,gBAAQ;AAAA,MACpB,UAAU;AAAA,IACd,CAAG;AAEF,UAAM,eAAeD,IAAAA,IAAI,CAAC;AAC1B,UAAM,OAAOA,IAAAA,IAAI,KAAK;AAEtBE,QAAAA,UAAW,YAAY;AACtB,mBAAa,QAAQ,MAAMC,SAAAA,QAAiB,KAAK,EAAC,OAAO,KAAI,CAAC;AAC9D,qBAAe,QAAQ,MAAMC,WAAAA,QAAmB,KAAK,EAAC,UAAU,KAAI,CAAC;AACrE,WAAK,QAAQ;AAAA,IACd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SectionMenu.vue.cjs","sources":["../../../../../../../../src/modules/marketplace/views/components/sections/SectionMenu.vue"],"sourcesContent":["<template>\n\t<section id=\"main-menu\" class=\"pos-relative\">\n\t\t<h2 class=\"w-m-60r mn-auto pd-t-big pd-b-big t-center\">\n\t\t\tWeed and Accessories to <br><b>Enhance Your Smoking Experience</b> \n\t\t</h2>\n\n\t\t<transition name=\"fade\" mode=\"out-in\" appear>\n\t\t\t<div v-if=\"!menu\" class=\"w-100 h-15r radius-medium flex-center bg-light\">\n\t\t\t\t<Loader class=\"pos-relative\"/>\n\t\t\t</div>\n\n\t\t\t<ul v-else class=\"gap-thin grid-container\">\n\t\t\t\t<router-link :to=\"getMarketplaceLink([category.url])\"\n\t\t\t\t\tv-for=\"(category,index) in categoriesRoot.slice(0,5)\" \n\t\t\t\t\t:key=\"category\" \n\t\t\t\t\tclass=\"cursor-pointer hover-scale-0 flex-v-center flex-h-center flex-nowrap flex-row flex bg-light radius-medium pd-medium grid-item\"\n\t\t\t\t>\n\t\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\t\tv-if=\"category.photo\"\n\t\t\t\t\t\t:src=\"category.photo\"\n\t\t\t\t\t\tclass=\"h-100 aspect-1x1 t-transp mn-r-thin\"\n\t\t\t\t\t>\n\n\t\t\t\t\t<div class=\"w-100\" :class=\"{'mn-r-auto':category.url === 'buds'}\">\n\t\t\t\t\t\t<h3 class=\"t-black capitalize h3\">\n\t\t\t\t\t\t\t{{category.name}}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\n\t\t\t\t\t\t<p v-if=\"category.url === 'buds'\" class=\"mn-t-thin mn-b-thin t-transp t-black p-regular\">\n\t\t\t\t\t\t\tUnveiling the Exceptional User Curated Best Buds\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<button \n\t\t\t\t\t\t\tv-if=\"category.url === 'buds'\"\n\t\t\t class=\"mn-t-small radius-extra hover-bg-black t-medium t-black bg-main hover-t-white button-small button\"\n\t\t\t >\n\t\t\t <span>Check {{countProduct.count}} products →</span>\n\t\t\t </button>\n\t\t\t\t\t</div>\n\t\t\t\t</router-link>\n\n\t\t\t</ul>\n\t\t</transition>\n\t</section>\n</template>\n\n\n<script setup>\n\timport { ref, onMounted,computed } from 'vue'\n\n\timport Loader from '@martyrs/src/components/Loader/Loader.vue'\n\n\timport { useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\t\n\timport * as categories from '@martyrs/src/modules/products/store/categories.js';\n\timport * as products from '@martyrs/src/modules/products/store/products.js';\n\n\tconst router = useRouter()\n\n\tconst categoriesRoot = ref(null)\n\t\n \tconst text = {\n en: {\n \tcategories: []\n },\n ru: {\n \tcategories: []\n }\n }\n\n\n\tconst { t } = useI18n({\n messages: text\n })\n\n\tconst countProduct = ref(0)\n\tconst menu = ref(false)\n\n\tonMounted( async () => {\n\t\tcountProduct.value = await products.actions.read({count: true})\n\t\tcategoriesRoot.value = await categories.actions.read({rootOnly: true})\n\t\tmenu.value = true\n\t})\n</script>\n\n<style lang=\"scss\">\n\t.grid-container {\n\t display: grid;\n\t grid-template-columns: repeat(4, 1fr);\n\t grid-template-rows: repeat(2, 1fr);\n\t}\n\n\t.grid-item {\n\t &:first-of-type {\n\t \tgrid-column: span 2;\n\t \tgrid-row: span 2;\n\t }\n\t}\n\n\t@media screen and (max-width: 1025px) {\n .grid-container { grid-template-columns: repeat(2, 1fr); }\n }\n</style>\n"],"names":["useRouter","ref","useI18n","onMounted","products.actions","categories.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DgBA,cAAAA,UAAS;AAExB,UAAM,iBAAiBC,IAAAA,IAAI,IAAI;AAE9B,UAAM,OAAO;AAAA,MACX,IAAI;AAAA,QACH,YAAY,CAAA;AAAA,MACjB;AAAA,MACI,IAAI;AAAA,QACH,YAAY,CAAA;AAAA,MACjB;AAAA,IACA;AAGC,UAAM,EAAE,EAAC,IAAMC,gBAAQ;AAAA,MACpB,UAAU;AAAA,IACd,CAAG;AAEF,UAAM,eAAeD,IAAAA,IAAI,CAAC;AAC1B,UAAM,OAAOA,IAAAA,IAAI,KAAK;AAEtBE,QAAAA,UAAW,YAAY;AACtB,mBAAa,QAAQ,MAAMC,SAAAA,QAAiB,KAAK,EAAC,OAAO,KAAI,CAAC;AAC9D,qBAAe,QAAQ,MAAMC,WAAAA,QAAmB,KAAK,EAAC,UAAU,KAAI,CAAC;AACrE,WAAK,QAAQ;AAAA,IACd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -21,7 +21,7 @@ const _hoisted_4 = ["src"];
21
21
  const _hoisted_5 = { class: "t-black capitalize h3" };
22
22
  const _hoisted_6 = {
23
23
  key: 0,
24
- class: "mn-t-thin mn-b-thin t-transp t-black p-medium"
24
+ class: "mn-t-thin mn-b-thin t-transp t-black p-regular"
25
25
  };
26
26
  const _hoisted_7 = {
27
27
  key: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"SectionMenu.vue.js","sources":["../../../../../../../../src/modules/marketplace/views/components/sections/SectionMenu.vue"],"sourcesContent":["<template>\n\t<section id=\"main-menu\" class=\"pos-relative\">\n\t\t<h2 class=\"w-m-60r mn-auto pd-t-big pd-b-big t-center\">\n\t\t\tWeed and Accessories to <br><b>Enhance Your Smoking Experience</b> \n\t\t</h2>\n\n\t\t<transition name=\"fade\" mode=\"out-in\" appear>\n\t\t\t<div v-if=\"!menu\" class=\"w-100 h-15r radius-medium flex-center bg-light\">\n\t\t\t\t<Loader class=\"pos-relative\"/>\n\t\t\t</div>\n\n\t\t\t<ul v-else class=\"gap-thin grid-container\">\n\t\t\t\t<router-link :to=\"getMarketplaceLink([category.url])\"\n\t\t\t\t\tv-for=\"(category,index) in categoriesRoot.slice(0,5)\" \n\t\t\t\t\t:key=\"category\" \n\t\t\t\t\tclass=\"cursor-pointer hover-scale-0 flex-v-center flex-h-center flex-nowrap flex-row flex bg-light radius-medium pd-medium grid-item\"\n\t\t\t\t>\n\t\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\t\tv-if=\"category.photo\"\n\t\t\t\t\t\t:src=\"category.photo\"\n\t\t\t\t\t\tclass=\"h-100 aspect-1x1 t-transp mn-r-thin\"\n\t\t\t\t\t>\n\n\t\t\t\t\t<div class=\"w-100\" :class=\"{'mn-r-auto':category.url === 'buds'}\">\n\t\t\t\t\t\t<h3 class=\"t-black capitalize h3\">\n\t\t\t\t\t\t\t{{category.name}}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\n\t\t\t\t\t\t<p v-if=\"category.url === 'buds'\" class=\"mn-t-thin mn-b-thin t-transp t-black p-medium\">\n\t\t\t\t\t\t\tUnveiling the Exceptional User Curated Best Buds\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<button \n\t\t\t\t\t\t\tv-if=\"category.url === 'buds'\"\n\t\t\t class=\"mn-t-small radius-extra hover-bg-black t-medium t-black bg-main hover-t-white button-small button\"\n\t\t\t >\n\t\t\t <span>Check {{countProduct.count}} products →</span>\n\t\t\t </button>\n\t\t\t\t\t</div>\n\t\t\t\t</router-link>\n\n\t\t\t</ul>\n\t\t</transition>\n\t</section>\n</template>\n\n\n<script setup>\n\timport { ref, onMounted,computed } from 'vue'\n\n\timport Loader from '@martyrs/src/components/Loader/Loader.vue'\n\n\timport { useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\t\n\timport * as categories from '@martyrs/src/modules/products/store/categories.js';\n\timport * as products from '@martyrs/src/modules/products/store/products.js';\n\n\tconst router = useRouter()\n\n\tconst categoriesRoot = ref(null)\n\t\n \tconst text = {\n en: {\n \tcategories: []\n },\n ru: {\n \tcategories: []\n }\n }\n\n\n\tconst { t } = useI18n({\n messages: text\n })\n\n\tconst countProduct = ref(0)\n\tconst menu = ref(false)\n\n\tonMounted( async () => {\n\t\tcountProduct.value = await products.actions.read({count: true})\n\t\tcategoriesRoot.value = await categories.actions.read({rootOnly: true})\n\t\tmenu.value = true\n\t})\n</script>\n\n<style lang=\"scss\">\n\t.grid-container {\n\t display: grid;\n\t grid-template-columns: repeat(4, 1fr);\n\t grid-template-rows: repeat(2, 1fr);\n\t}\n\n\t.grid-item {\n\t &:first-of-type {\n\t \tgrid-column: span 2;\n\t \tgrid-row: span 2;\n\t }\n\t}\n\n\t@media screen and (max-width: 1025px) {\n .grid-container { grid-template-columns: repeat(2, 1fr); }\n }\n</style>\n"],"names":["products.actions","categories.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DgB,cAAS;AAExB,UAAM,iBAAiB,IAAI,IAAI;AAE9B,UAAM,OAAO;AAAA,MACX,IAAI;AAAA,QACH,YAAY,CAAA;AAAA,MACjB;AAAA,MACI,IAAI;AAAA,QACH,YAAY,CAAA;AAAA,MACjB;AAAA,IACA;AAGC,UAAM,EAAE,EAAC,IAAM,QAAQ;AAAA,MACpB,UAAU;AAAA,IACd,CAAG;AAEF,UAAM,eAAe,IAAI,CAAC;AAC1B,UAAM,OAAO,IAAI,KAAK;AAEtB,cAAW,YAAY;AACtB,mBAAa,QAAQ,MAAMA,QAAiB,KAAK,EAAC,OAAO,KAAI,CAAC;AAC9D,qBAAe,QAAQ,MAAMC,UAAmB,KAAK,EAAC,UAAU,KAAI,CAAC;AACrE,WAAK,QAAQ;AAAA,IACd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SectionMenu.vue.js","sources":["../../../../../../../../src/modules/marketplace/views/components/sections/SectionMenu.vue"],"sourcesContent":["<template>\n\t<section id=\"main-menu\" class=\"pos-relative\">\n\t\t<h2 class=\"w-m-60r mn-auto pd-t-big pd-b-big t-center\">\n\t\t\tWeed and Accessories to <br><b>Enhance Your Smoking Experience</b> \n\t\t</h2>\n\n\t\t<transition name=\"fade\" mode=\"out-in\" appear>\n\t\t\t<div v-if=\"!menu\" class=\"w-100 h-15r radius-medium flex-center bg-light\">\n\t\t\t\t<Loader class=\"pos-relative\"/>\n\t\t\t</div>\n\n\t\t\t<ul v-else class=\"gap-thin grid-container\">\n\t\t\t\t<router-link :to=\"getMarketplaceLink([category.url])\"\n\t\t\t\t\tv-for=\"(category,index) in categoriesRoot.slice(0,5)\" \n\t\t\t\t\t:key=\"category\" \n\t\t\t\t\tclass=\"cursor-pointer hover-scale-0 flex-v-center flex-h-center flex-nowrap flex-row flex bg-light radius-medium pd-medium grid-item\"\n\t\t\t\t>\n\t\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\t\tv-if=\"category.photo\"\n\t\t\t\t\t\t:src=\"category.photo\"\n\t\t\t\t\t\tclass=\"h-100 aspect-1x1 t-transp mn-r-thin\"\n\t\t\t\t\t>\n\n\t\t\t\t\t<div class=\"w-100\" :class=\"{'mn-r-auto':category.url === 'buds'}\">\n\t\t\t\t\t\t<h3 class=\"t-black capitalize h3\">\n\t\t\t\t\t\t\t{{category.name}}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\n\t\t\t\t\t\t<p v-if=\"category.url === 'buds'\" class=\"mn-t-thin mn-b-thin t-transp t-black p-regular\">\n\t\t\t\t\t\t\tUnveiling the Exceptional User Curated Best Buds\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<button \n\t\t\t\t\t\t\tv-if=\"category.url === 'buds'\"\n\t\t\t class=\"mn-t-small radius-extra hover-bg-black t-medium t-black bg-main hover-t-white button-small button\"\n\t\t\t >\n\t\t\t <span>Check {{countProduct.count}} products →</span>\n\t\t\t </button>\n\t\t\t\t\t</div>\n\t\t\t\t</router-link>\n\n\t\t\t</ul>\n\t\t</transition>\n\t</section>\n</template>\n\n\n<script setup>\n\timport { ref, onMounted,computed } from 'vue'\n\n\timport Loader from '@martyrs/src/components/Loader/Loader.vue'\n\n\timport { useRouter } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n\t\t\n\timport * as categories from '@martyrs/src/modules/products/store/categories.js';\n\timport * as products from '@martyrs/src/modules/products/store/products.js';\n\n\tconst router = useRouter()\n\n\tconst categoriesRoot = ref(null)\n\t\n \tconst text = {\n en: {\n \tcategories: []\n },\n ru: {\n \tcategories: []\n }\n }\n\n\n\tconst { t } = useI18n({\n messages: text\n })\n\n\tconst countProduct = ref(0)\n\tconst menu = ref(false)\n\n\tonMounted( async () => {\n\t\tcountProduct.value = await products.actions.read({count: true})\n\t\tcategoriesRoot.value = await categories.actions.read({rootOnly: true})\n\t\tmenu.value = true\n\t})\n</script>\n\n<style lang=\"scss\">\n\t.grid-container {\n\t display: grid;\n\t grid-template-columns: repeat(4, 1fr);\n\t grid-template-rows: repeat(2, 1fr);\n\t}\n\n\t.grid-item {\n\t &:first-of-type {\n\t \tgrid-column: span 2;\n\t \tgrid-row: span 2;\n\t }\n\t}\n\n\t@media screen and (max-width: 1025px) {\n .grid-container { grid-template-columns: repeat(2, 1fr); }\n }\n</style>\n"],"names":["products.actions","categories.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DgB,cAAS;AAExB,UAAM,iBAAiB,IAAI,IAAI;AAE9B,UAAM,OAAO;AAAA,MACX,IAAI;AAAA,QACH,YAAY,CAAA;AAAA,MACjB;AAAA,MACI,IAAI;AAAA,QACH,YAAY,CAAA;AAAA,MACjB;AAAA,IACA;AAGC,UAAM,EAAE,EAAC,IAAM,QAAQ;AAAA,MACpB,UAAU;AAAA,IACd,CAAG;AAEF,UAAM,eAAe,IAAI,CAAC;AAC1B,UAAM,OAAO,IAAI,KAAK;AAEtB,cAAW,YAAY;AACtB,mBAAa,QAAQ,MAAMA,QAAiB,KAAK,EAAC,OAAO,KAAI,CAAC;AAC9D,qBAAe,QAAQ,MAAMC,UAAmB,KAAK,EAAC,UAAU,KAAI,CAAC;AACrE,WAAK,QAAQ;AAAA,IACd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,7 +6,7 @@ const Field = require("../../../../components/Field/Field.vue2.cjs");
6
6
  const Block = require("../../../../components/Block/Block.vue.cjs");
7
7
  const Button = require("../../../../components/Button/Button.vue.cjs");
8
8
  const Select = require("../../../../components/Select/Select.vue.cjs");
9
- const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
9
+ const UploadImage = require("../../../../components/UploadImage/UploadImage.vue2.cjs");
10
10
  const IconCross = require("../../../icons/navigation/IconCross.vue.cjs");
11
11
  const BlockMultiselect = require("../../../globals/views/components/blocks/BlockMultiselect.vue.cjs");
12
12
  const albums = require("../../store/albums.cjs");
@@ -209,12 +209,12 @@ const _sfc_main = {
209
209
  vue.createElementVNode("h2", _hoisted_2, vue.toDisplayString(__props.editMode ? "Edit Album" : "Create Album"), 1),
210
210
  vue.createElementVNode("form", {
211
211
  onSubmit: vue.withModifiers(submitForm, ["prevent"]),
212
- class: "cols-1 gap-medium"
212
+ class: "cols-1 gap-regular"
213
213
  }, [
214
214
  vue.createElementVNode("div", _hoisted_3, [
215
215
  _cache[11] || (_cache[11] = vue.createElementVNode("h3", { class: "h3 mn-b-medium" }, "Basic Information", -1)),
216
216
  vue.createElementVNode("div", _hoisted_4, [
217
- _cache[10] || (_cache[10] = vue.createElementVNode("p", { class: "p-semi mn-b-small" }, "Album Cover", -1)),
217
+ _cache[10] || (_cache[10] = vue.createElementVNode("p", { class: "p-medium mn-b-small" }, "Album Cover", -1)),
218
218
  vue.createVNode(UploadImage.default, {
219
219
  photo: album.coverArt,
220
220
  "onUpdate:photo": _cache[0] || (_cache[0] = ($event) => album.coverArt = $event),
@@ -1 +1 @@
1
- {"version":3,"file":"AlbumForm.vue.cjs","sources":["../../../../../../../src/modules/music/components/forms/AlbumForm.vue"],"sourcesContent":["<template>\n <div class=\"pd-medium\">\n <h2 class=\"h2 mn-b-medium\">{{ editMode ? 'Edit Album' : 'Create Album' }}</h2>\n \n <form @submit.prevent=\"submitForm\" class=\"cols-1 gap-medium\">\n <!-- Basic Info Section -->\n <div class=\"bg-light pd-medium radius-medium\">\n <h3 class=\"h3 mn-b-medium\">Basic Information</h3>\n \n <!-- Album Cover -->\n <div class=\"mn-b-medium\">\n <p class=\"p-semi mn-b-small\">Album Cover</p>\n <UploadImage\n v-model:photo=\"album.coverArt\"\n uploadPath=\"albums/covers\"\n class=\"w-100 h-15r radius-small o-hidden mn-b-small\"\n @error=\"handleUploadError\"\n />\n </div>\n \n <!-- Title -->\n <Field\n v-model:field=\"album.title\"\n label=\"Title\"\n placeholder=\"Enter album title\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n :validation=\"validation.title\"\n />\n \n <!-- URL -->\n <Field\n v-model:field=\"album.url\"\n label=\"URL\"\n placeholder=\"Leave blank for auto-generation based on the album title\"\n class=\"bg-white radius-small pd-small mn-b-small\"\n />\n \n <!-- Description -->\n <Field\n v-model:field=\"album.description\"\n label=\"Description\"\n type=\"textarea\"\n placeholder=\"Enter album description\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n :validation=\"validation.description\"\n />\n \n <!-- Release Date -->\n <Field\n v-model:field=\"album.releaseDate\"\n label=\"Release Date\"\n type=\"date\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n :validation=\"validation.releaseDate\"\n />\n \n <!-- Album Type -->\n <Select\n v-model:select=\"album.type\"\n :options=\"albumTypeOptions\"\n label=\"Album Type\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n />\n </div>\n \n <!-- Artists Section -->\n <Block title=\"Artists\">\n <BlockMultiselect\n v-model=\"album.artists\"\n placeholder=\"Search artists...\"\n :multiple=\"true\"\n :transform=\"(item) => ({ _id: item._id, name: item.name })\"\n :store=\"{\n read: (options) => artistsStore.actions.fetchArtists(options),\n state: artistsStore.state\n }\"\n :options=\"{\n rootOnly: false,\n excludeChildren: false,\n limit: 50\n }\"\n :skeleton=\"{\n hide: false,\n horizontal: true,\n class: 'radius-small',\n structure: [{ \n block: 'text', size: 'large'\n }]\n }\"\n :states=\"{\n empty: {\n title: 'No artists found',\n description: 'Try different search terms or create a new artist',\n class: 'radius-small'\n }\n }\"\n key=\"_id\"\n :label=\"item => item.name\"\n classSearch=\"bg-white radius-small\"\n classSelected=\"bg-white pd-small radius-small\"\n classDropdown=\"bg-white pd-small radius-medium bs-small\"\n classItem=\"pd-small radius-small hover-bg-light cursor-pointer\"\n classFeed=\"h-max-30r gap-thin flex-column flex o-scroll\"\n >\n <!-- Слот для выбранных артистов -->\n <template #selected=\"{ item, clear }\">\n <div class=\"flex-nowrap flex-v-center flex gap-thin\">\n <span class=\"t-medium\">{{ item?.name || item }}</span>\n <button \n @click.stop=\"clear\"\n class=\"i-small pd-micro bg-red radius-extra flex-center flex aspect-1x1 hover-scale-1\"\n >\n <IconCross class=\"i-micro fill-white\" />\n </button>\n </div>\n </template>\n \n <!-- Слот для элементов в списке -->\n <template #item=\"{ item }\">\n <div class=\"flex-nowrap flex-v-center flex\">\n <div class=\"w-100\">\n <p class=\"t-medium\">{{ item.name }}</p>\n <p v-if=\"item.bio\" class=\"t-small t-transp\">{{ item.bio }}</p>\n </div>\n </div>\n </template>\n </BlockMultiselect>\n </Block>\n \n <!-- Genres Section -->\n <Block title=\"Genres\">\n <BlockMultiselect\n v-model=\"album.genres\"\n placeholder=\"Search genres...\"\n :multiple=\"true\"\n :transform=\"(item) => ({ _id: item._id, name: item.name })\"\n :store=\"{\n read: (options) => genresStore.actions.fetchGenres(options),\n state: genresStore.state\n }\"\n :options=\"{\n rootOnly: false,\n excludeChildren: false,\n limit: 50\n }\"\n :skeleton=\"{\n hide: false,\n horizontal: true,\n class: 'radius-small',\n structure: [{ \n block: 'text', size: 'large'\n }]\n }\"\n :states=\"{\n empty: {\n title: 'No genres found',\n description: 'Try different search terms or create a new genre',\n class: 'radius-small'\n }\n }\"\n key=\"_id\"\n :label=\"item => item.name\"\n classSearch=\"bg-white radius-small\"\n classSelected=\"bg-white pd-small radius-small\"\n classDropdown=\"bg-white pd-small radius-medium bs-small\"\n classItem=\"pd-small radius-small hover-bg-light cursor-pointer\"\n classFeed=\"h-max-30r gap-thin flex-column flex o-scroll\"\n >\n <!-- Слот для выбранных жанров -->\n <template #selected=\"{ item, clear }\">\n <div class=\"flex-nowrap flex-v-center flex gap-thin\">\n <span class=\"t-medium\">{{ item?.name || item }}</span>\n <button \n @click.stop=\"clear\"\n class=\"i-small pd-micro bg-red radius-extra flex-center flex aspect-1x1 hover-scale-1\"\n >\n <IconCross class=\"i-micro fill-white\" />\n </button>\n </div>\n </template>\n \n <!-- Слот для элементов в списке -->\n <template #item=\"{ item }\">\n <div class=\"flex-nowrap flex-v-center flex\">\n <div class=\"w-100\">\n <p class=\"t-medium\">{{ item.name }}</p>\n <p v-if=\"item.description\" class=\"t-small t-transp\">{{ item.description }}</p>\n </div>\n </div>\n </template>\n </BlockMultiselect>\n </Block>\n \n <!-- Status Section -->\n <div class=\"bg-light pd-medium radius-medium\">\n <h3 class=\"h3 mn-b-medium\">Publishing Status</h3>\n \n <Select\n v-model:select=\"album.status\"\n :options=\"statusOptions\"\n label=\"Status\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n />\n </div>\n \n <!-- Submit Button -->\n <div class=\"flex flex-justify-between\">\n <Button\n @click=\"$router.go(-1)\"\n class=\"bg-grey-nano t-black\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"submitForm\"\n class=\"bg-main t-black\"\n :text=\"{\n success: editMode ? 'Updated!' : 'Created!'\n }\"\n >\n {{ editMode ? 'Update Album' : 'Create Album' }}\n </Button>\n </div>\n </form>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive, onMounted, watch } from 'vue';\nimport { useRouter, useRoute } from 'vue-router';\n\n// Import Martyrs components\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Select from '@martyrs/src/components/Select/Select.vue';\nimport UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\nimport BlockMultiselect from '@martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue';\n\n// Import stores\nimport * as albumsStore from '../../store/albums';\nimport * as artistsStore from '../../store/artists';\nimport * as genresStore from '../../store/genres';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n\n// Props\nconst props = defineProps({\n editMode: {\n type: Boolean,\n default: false\n },\n url: {\n type: String,\n default: ''\n }\n});\n\n// Router and route\nconst router = useRouter();\nconst route = useRoute();\n\n// State\nconst album = reactive({\n title: '',\n description: '',\n releaseDate: new Date().toISOString().split('T')[0],\n coverArt: '',\n artists: [],\n type: 'album',\n genres: [],\n totalTracks: 0,\n url: '',\n status: 'draft'\n});\n\nconst validation = reactive({\n title: false,\n description: false,\n releaseDate: false\n});\n\n// Track if URL was manually entered\nconst urlManuallySet = ref(false);\n\n// Function to generate URL-friendly slug from text\nconst generateSlug = (text) => {\n if (!text) return '';\n return text\n .toLowerCase()\n .replace(/[^a-z0-9\\s-]/g, '') // Remove special characters\n .replace(/\\s+/g, '-') // Replace spaces with hyphens\n .replace(/-+/g, '-') // Replace multiple hyphens with single\n .trim('-'); // Remove leading/trailing hyphens\n};\n\n// Watch for changes in album title to auto-generate URL\nwatch(() => album.title, (newTitle) => {\n // Only auto-generate if URL hasn't been manually set and we're not in edit mode\n if (!urlManuallySet.value && !props.editMode) {\n album.url = generateSlug(newTitle);\n }\n});\n\n// Watch for manual changes to URL field\nwatch(() => album.url, (newUrl, oldUrl) => {\n // If user manually changes URL, mark as manually set\n if (newUrl !== generateSlug(album.title)) {\n urlManuallySet.value = true;\n }\n});\n\n// Options\nconst statusOptions = [\n 'draft',\n 'published',\n 'archived'\n];\n\nconst albumTypeOptions = [\n 'album',\n 'single',\n 'EP',\n 'compilation'\n];\n\nconst fetchAlbum = async () => {\n if (!props.url) return;\n \n try {\n const fetchedAlbum = await albumsStore.actions.fetchAlbumByUrl(props.url);\n \n if (!fetchedAlbum) {\n globals.actions.setError({\n message: 'Album not found'\n });\n return;\n }\n \n // Update local album data\n Object.assign(album, {\n title: fetchedAlbum.title || '',\n description: fetchedAlbum.description || '',\n releaseDate: fetchedAlbum.releaseDate ? new Date(fetchedAlbum.releaseDate).toISOString().split('T')[0] : '',\n coverArt: fetchedAlbum.coverArt || '',\n artists: fetchedAlbum.artists || [],\n type: fetchedAlbum.type || 'album',\n genres: fetchedAlbum.genres || [],\n totalTracks: fetchedAlbum.totalTracks || 0,\n url: fetchedAlbum.url || '',\n status: fetchedAlbum.status || 'draft',\n _id: fetchedAlbum._id\n });\n \n } catch (error) {\n console.error('Error fetching album:', error);\n globals.actions.setError({\n message: 'Failed to load album details'\n });\n }\n};\n\nconst validateForm = () => {\n let isValid = true;\n \n // Validate title\n if (!album.title.trim()) {\n validation.title = {\n message: 'Album title is required'\n };\n isValid = false;\n } else {\n validation.title = false;\n }\n \n // Validate release date\n if (!album.releaseDate) {\n validation.releaseDate = {\n message: 'Release date is required'\n };\n isValid = false;\n } else {\n validation.releaseDate = false;\n }\n \n // Validate description\n if (album.description && album.description.length > 2000) {\n validation.description = {\n message: 'Description is too long (max 2000 characters)'\n };\n isValid = false;\n } else {\n validation.description = false;\n }\n \n return isValid;\n};\n\nconst submitForm = async () => {\n if (!validateForm()) {\n return;\n }\n \n try {\n // Prepare data for submission\n const formData = {\n ...album,\n artists: album.artists.map(artist => artist._id || artist),\n genres: album.genres.map(genre => genre._id || genre)\n };\n \n // Add ownership data if creating new album\n if (!props.editMode) {\n formData.owner = {\n type: 'user',\n target: auth.state.user._id\n };\n }\n \n let result;\n if (props.editMode) {\n result = await albumsStore.actions.updateAlbum(formData);\n } else {\n result = await albumsStore.actions.createAlbum(formData);\n }\n \n // Navigate to album detail page\n setTimeout(() => {\n router.push({\n name: 'album',\n params: { url: result.url }\n });\n }, 1000);\n \n } catch (error) {\n console.error('Error saving album:', error);\n globals.actions.setError({\n message: 'Failed to save album'\n });\n }\n};\n\nconst handleUploadError = (error) => {\n console.error('Upload error:', error);\n globals.actions.setError({\n message: 'Error uploading image'\n });\n};\n\n// Lifecycle hooks\nonMounted(async () => {\n if (props.editMode) {\n await fetchAlbum();\n // Mark URL as manually set in edit mode to prevent auto-generation\n urlManuallySet.value = true;\n }\n});\n</script>"],"names":["useRouter","useRoute","reactive","ref","watch","albumsStore.actions","globals.actions","auth.state","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"AlbumForm.vue.cjs","sources":["../../../../../../../src/modules/music/components/forms/AlbumForm.vue"],"sourcesContent":["<template>\n <div class=\"pd-medium\">\n <h2 class=\"h2 mn-b-medium\">{{ editMode ? 'Edit Album' : 'Create Album' }}</h2>\n \n <form @submit.prevent=\"submitForm\" class=\"cols-1 gap-regular\">\n <!-- Basic Info Section -->\n <div class=\"bg-light pd-medium radius-medium\">\n <h3 class=\"h3 mn-b-medium\">Basic Information</h3>\n \n <!-- Album Cover -->\n <div class=\"mn-b-medium\">\n <p class=\"p-medium mn-b-small\">Album Cover</p>\n <UploadImage\n v-model:photo=\"album.coverArt\"\n uploadPath=\"albums/covers\"\n class=\"w-100 h-15r radius-small o-hidden mn-b-small\"\n @error=\"handleUploadError\"\n />\n </div>\n \n <!-- Title -->\n <Field\n v-model:field=\"album.title\"\n label=\"Title\"\n placeholder=\"Enter album title\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n :validation=\"validation.title\"\n />\n \n <!-- URL -->\n <Field\n v-model:field=\"album.url\"\n label=\"URL\"\n placeholder=\"Leave blank for auto-generation based on the album title\"\n class=\"bg-white radius-small pd-small mn-b-small\"\n />\n \n <!-- Description -->\n <Field\n v-model:field=\"album.description\"\n label=\"Description\"\n type=\"textarea\"\n placeholder=\"Enter album description\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n :validation=\"validation.description\"\n />\n \n <!-- Release Date -->\n <Field\n v-model:field=\"album.releaseDate\"\n label=\"Release Date\"\n type=\"date\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n :validation=\"validation.releaseDate\"\n />\n \n <!-- Album Type -->\n <Select\n v-model:select=\"album.type\"\n :options=\"albumTypeOptions\"\n label=\"Album Type\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n />\n </div>\n \n <!-- Artists Section -->\n <Block title=\"Artists\">\n <BlockMultiselect\n v-model=\"album.artists\"\n placeholder=\"Search artists...\"\n :multiple=\"true\"\n :transform=\"(item) => ({ _id: item._id, name: item.name })\"\n :store=\"{\n read: (options) => artistsStore.actions.fetchArtists(options),\n state: artistsStore.state\n }\"\n :options=\"{\n rootOnly: false,\n excludeChildren: false,\n limit: 50\n }\"\n :skeleton=\"{\n hide: false,\n horizontal: true,\n class: 'radius-small',\n structure: [{ \n block: 'text', size: 'large'\n }]\n }\"\n :states=\"{\n empty: {\n title: 'No artists found',\n description: 'Try different search terms or create a new artist',\n class: 'radius-small'\n }\n }\"\n key=\"_id\"\n :label=\"item => item.name\"\n classSearch=\"bg-white radius-small\"\n classSelected=\"bg-white pd-small radius-small\"\n classDropdown=\"bg-white pd-small radius-medium bs-small\"\n classItem=\"pd-small radius-small hover-bg-light cursor-pointer\"\n classFeed=\"h-max-30r gap-thin flex-column flex o-scroll\"\n >\n <!-- Слот для выбранных артистов -->\n <template #selected=\"{ item, clear }\">\n <div class=\"flex-nowrap flex-v-center flex gap-thin\">\n <span class=\"t-medium\">{{ item?.name || item }}</span>\n <button \n @click.stop=\"clear\"\n class=\"i-small pd-micro bg-red radius-extra flex-center flex aspect-1x1 hover-scale-1\"\n >\n <IconCross class=\"i-micro fill-white\" />\n </button>\n </div>\n </template>\n \n <!-- Слот для элементов в списке -->\n <template #item=\"{ item }\">\n <div class=\"flex-nowrap flex-v-center flex\">\n <div class=\"w-100\">\n <p class=\"t-medium\">{{ item.name }}</p>\n <p v-if=\"item.bio\" class=\"t-small t-transp\">{{ item.bio }}</p>\n </div>\n </div>\n </template>\n </BlockMultiselect>\n </Block>\n \n <!-- Genres Section -->\n <Block title=\"Genres\">\n <BlockMultiselect\n v-model=\"album.genres\"\n placeholder=\"Search genres...\"\n :multiple=\"true\"\n :transform=\"(item) => ({ _id: item._id, name: item.name })\"\n :store=\"{\n read: (options) => genresStore.actions.fetchGenres(options),\n state: genresStore.state\n }\"\n :options=\"{\n rootOnly: false,\n excludeChildren: false,\n limit: 50\n }\"\n :skeleton=\"{\n hide: false,\n horizontal: true,\n class: 'radius-small',\n structure: [{ \n block: 'text', size: 'large'\n }]\n }\"\n :states=\"{\n empty: {\n title: 'No genres found',\n description: 'Try different search terms or create a new genre',\n class: 'radius-small'\n }\n }\"\n key=\"_id\"\n :label=\"item => item.name\"\n classSearch=\"bg-white radius-small\"\n classSelected=\"bg-white pd-small radius-small\"\n classDropdown=\"bg-white pd-small radius-medium bs-small\"\n classItem=\"pd-small radius-small hover-bg-light cursor-pointer\"\n classFeed=\"h-max-30r gap-thin flex-column flex o-scroll\"\n >\n <!-- Слот для выбранных жанров -->\n <template #selected=\"{ item, clear }\">\n <div class=\"flex-nowrap flex-v-center flex gap-thin\">\n <span class=\"t-medium\">{{ item?.name || item }}</span>\n <button \n @click.stop=\"clear\"\n class=\"i-small pd-micro bg-red radius-extra flex-center flex aspect-1x1 hover-scale-1\"\n >\n <IconCross class=\"i-micro fill-white\" />\n </button>\n </div>\n </template>\n \n <!-- Слот для элементов в списке -->\n <template #item=\"{ item }\">\n <div class=\"flex-nowrap flex-v-center flex\">\n <div class=\"w-100\">\n <p class=\"t-medium\">{{ item.name }}</p>\n <p v-if=\"item.description\" class=\"t-small t-transp\">{{ item.description }}</p>\n </div>\n </div>\n </template>\n </BlockMultiselect>\n </Block>\n \n <!-- Status Section -->\n <div class=\"bg-light pd-medium radius-medium\">\n <h3 class=\"h3 mn-b-medium\">Publishing Status</h3>\n \n <Select\n v-model:select=\"album.status\"\n :options=\"statusOptions\"\n label=\"Status\"\n class=\"bg-white radius-small pd-small mn-b-thin\"\n />\n </div>\n \n <!-- Submit Button -->\n <div class=\"flex flex-justify-between\">\n <Button\n @click=\"$router.go(-1)\"\n class=\"bg-grey-nano t-black\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"submitForm\"\n class=\"bg-main t-black\"\n :text=\"{\n success: editMode ? 'Updated!' : 'Created!'\n }\"\n >\n {{ editMode ? 'Update Album' : 'Create Album' }}\n </Button>\n </div>\n </form>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive, onMounted, watch } from 'vue';\nimport { useRouter, useRoute } from 'vue-router';\n\n// Import Martyrs components\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Select from '@martyrs/src/components/Select/Select.vue';\nimport UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\nimport BlockMultiselect from '@martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue';\n\n// Import stores\nimport * as albumsStore from '../../store/albums';\nimport * as artistsStore from '../../store/artists';\nimport * as genresStore from '../../store/genres';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n\n// Props\nconst props = defineProps({\n editMode: {\n type: Boolean,\n default: false\n },\n url: {\n type: String,\n default: ''\n }\n});\n\n// Router and route\nconst router = useRouter();\nconst route = useRoute();\n\n// State\nconst album = reactive({\n title: '',\n description: '',\n releaseDate: new Date().toISOString().split('T')[0],\n coverArt: '',\n artists: [],\n type: 'album',\n genres: [],\n totalTracks: 0,\n url: '',\n status: 'draft'\n});\n\nconst validation = reactive({\n title: false,\n description: false,\n releaseDate: false\n});\n\n// Track if URL was manually entered\nconst urlManuallySet = ref(false);\n\n// Function to generate URL-friendly slug from text\nconst generateSlug = (text) => {\n if (!text) return '';\n return text\n .toLowerCase()\n .replace(/[^a-z0-9\\s-]/g, '') // Remove special characters\n .replace(/\\s+/g, '-') // Replace spaces with hyphens\n .replace(/-+/g, '-') // Replace multiple hyphens with single\n .trim('-'); // Remove leading/trailing hyphens\n};\n\n// Watch for changes in album title to auto-generate URL\nwatch(() => album.title, (newTitle) => {\n // Only auto-generate if URL hasn't been manually set and we're not in edit mode\n if (!urlManuallySet.value && !props.editMode) {\n album.url = generateSlug(newTitle);\n }\n});\n\n// Watch for manual changes to URL field\nwatch(() => album.url, (newUrl, oldUrl) => {\n // If user manually changes URL, mark as manually set\n if (newUrl !== generateSlug(album.title)) {\n urlManuallySet.value = true;\n }\n});\n\n// Options\nconst statusOptions = [\n 'draft',\n 'published',\n 'archived'\n];\n\nconst albumTypeOptions = [\n 'album',\n 'single',\n 'EP',\n 'compilation'\n];\n\nconst fetchAlbum = async () => {\n if (!props.url) return;\n \n try {\n const fetchedAlbum = await albumsStore.actions.fetchAlbumByUrl(props.url);\n \n if (!fetchedAlbum) {\n globals.actions.setError({\n message: 'Album not found'\n });\n return;\n }\n \n // Update local album data\n Object.assign(album, {\n title: fetchedAlbum.title || '',\n description: fetchedAlbum.description || '',\n releaseDate: fetchedAlbum.releaseDate ? new Date(fetchedAlbum.releaseDate).toISOString().split('T')[0] : '',\n coverArt: fetchedAlbum.coverArt || '',\n artists: fetchedAlbum.artists || [],\n type: fetchedAlbum.type || 'album',\n genres: fetchedAlbum.genres || [],\n totalTracks: fetchedAlbum.totalTracks || 0,\n url: fetchedAlbum.url || '',\n status: fetchedAlbum.status || 'draft',\n _id: fetchedAlbum._id\n });\n \n } catch (error) {\n console.error('Error fetching album:', error);\n globals.actions.setError({\n message: 'Failed to load album details'\n });\n }\n};\n\nconst validateForm = () => {\n let isValid = true;\n \n // Validate title\n if (!album.title.trim()) {\n validation.title = {\n message: 'Album title is required'\n };\n isValid = false;\n } else {\n validation.title = false;\n }\n \n // Validate release date\n if (!album.releaseDate) {\n validation.releaseDate = {\n message: 'Release date is required'\n };\n isValid = false;\n } else {\n validation.releaseDate = false;\n }\n \n // Validate description\n if (album.description && album.description.length > 2000) {\n validation.description = {\n message: 'Description is too long (max 2000 characters)'\n };\n isValid = false;\n } else {\n validation.description = false;\n }\n \n return isValid;\n};\n\nconst submitForm = async () => {\n if (!validateForm()) {\n return;\n }\n \n try {\n // Prepare data for submission\n const formData = {\n ...album,\n artists: album.artists.map(artist => artist._id || artist),\n genres: album.genres.map(genre => genre._id || genre)\n };\n \n // Add ownership data if creating new album\n if (!props.editMode) {\n formData.owner = {\n type: 'user',\n target: auth.state.user._id\n };\n }\n \n let result;\n if (props.editMode) {\n result = await albumsStore.actions.updateAlbum(formData);\n } else {\n result = await albumsStore.actions.createAlbum(formData);\n }\n \n // Navigate to album detail page\n setTimeout(() => {\n router.push({\n name: 'album',\n params: { url: result.url }\n });\n }, 1000);\n \n } catch (error) {\n console.error('Error saving album:', error);\n globals.actions.setError({\n message: 'Failed to save album'\n });\n }\n};\n\nconst handleUploadError = (error) => {\n console.error('Upload error:', error);\n globals.actions.setError({\n message: 'Error uploading image'\n });\n};\n\n// Lifecycle hooks\nonMounted(async () => {\n if (props.editMode) {\n await fetchAlbum();\n // Mark URL as manually set in edit mode to prevent auto-generation\n urlManuallySet.value = true;\n }\n});\n</script>"],"names":["useRouter","useRoute","reactive","ref","watch","albumsStore.actions","globals.actions","auth.state","onMounted"],"mappings":"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"}
@@ -4,7 +4,7 @@ import Field from "../../../../components/Field/Field.vue2.js";
4
4
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
5
5
  import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
6
6
  import Select from "../../../../components/Select/Select.vue.js";
7
- import UploadImage from "../../../../components/UploadImage/UploadImage.vue.js";
7
+ import UploadImage from "../../../../components/UploadImage/UploadImage.vue2.js";
8
8
  import _sfc_main$2 from "../../../icons/navigation/IconCross.vue.js";
9
9
  import BlockMultiselect from "../../../globals/views/components/blocks/BlockMultiselect.vue.js";
10
10
  import { actions as actions$2 } from "../../store/albums.js";
@@ -207,12 +207,12 @@ const _sfc_main = {
207
207
  createElementVNode("h2", _hoisted_2, toDisplayString(__props.editMode ? "Edit Album" : "Create Album"), 1),
208
208
  createElementVNode("form", {
209
209
  onSubmit: withModifiers(submitForm, ["prevent"]),
210
- class: "cols-1 gap-medium"
210
+ class: "cols-1 gap-regular"
211
211
  }, [
212
212
  createElementVNode("div", _hoisted_3, [
213
213
  _cache[11] || (_cache[11] = createElementVNode("h3", { class: "h3 mn-b-medium" }, "Basic Information", -1)),
214
214
  createElementVNode("div", _hoisted_4, [
215
- _cache[10] || (_cache[10] = createElementVNode("p", { class: "p-semi mn-b-small" }, "Album Cover", -1)),
215
+ _cache[10] || (_cache[10] = createElementVNode("p", { class: "p-medium mn-b-small" }, "Album Cover", -1)),
216
216
  createVNode(UploadImage, {
217
217
  photo: album.coverArt,
218
218
  "onUpdate:photo": _cache[0] || (_cache[0] = ($event) => album.coverArt = $event),