@ozdao/martyrs 0.2.571 → 0.2.572

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 (818) hide show
  1. package/dist/_virtual/dayjs.min.js +1 -1
  2. package/dist/_virtual/weekOfYear.js +1 -1
  3. package/dist/builder.js +1194 -45
  4. package/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +1173 -1191
  5. package/dist/martyrs/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +94 -112
  6. package/dist/martyrs/dist/main-BfEQkhXS.js.map +1 -0
  7. package/dist/martyrs/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +3 -3
  8. package/dist/martyrs/dist/{web-CH5wzMHy.js.map → web-BqTV9va1.js.map} +1 -1
  9. package/dist/martyrs/node_modules/.pnpm/{@capacitor_core@7.0.1 → @capacitor_core@7.4.4}/node_modules/@capacitor/core/dist/index.js +2 -1
  10. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.4.4/node_modules/@capacitor/core/dist/index.js.map +1 -0
  11. package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/index.js +1 -1
  12. package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/index.js.map +1 -1
  13. package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/web.js +1 -1
  14. package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/web.js.map +1 -1
  15. package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
  16. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  17. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  18. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/dayjs.min.js +1 -1
  19. package/dist/martyrs/node_modules/dayjs/dayjs.min.js.map +1 -0
  20. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
  21. package/dist/martyrs/node_modules/dayjs/plugin/weekOfYear.js.map +1 -0
  22. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  23. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  24. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
  25. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
  26. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
  27. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
  28. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
  29. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
  30. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  31. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  32. package/dist/martyrs/src/components/Block/Block.vue.js +2 -2
  33. package/dist/martyrs/src/components/Block/Block.vue.js.map +1 -1
  34. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +1 -1
  35. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +1 -1
  36. package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
  37. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +6 -6
  38. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  39. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +2 -2
  40. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  41. package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
  42. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +5 -5
  43. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  44. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +4 -4
  45. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  46. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  47. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.js.map +1 -0
  48. package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +3 -3
  49. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
  50. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  51. package/dist/martyrs/src/components/Feed/Feed.vue.js +4 -4
  52. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  53. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  54. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  55. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  56. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  57. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js +1 -1
  58. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +3 -3
  60. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -0
  61. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  62. package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
  63. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  64. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  65. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +2 -2
  66. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  67. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +2 -2
  68. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  69. package/dist/martyrs/src/components/Radio/Radio.vue.js +1 -1
  70. package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
  71. package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
  72. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
  73. package/dist/martyrs/src/components/Table/Table.vue.js +3 -3
  74. package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
  75. package/dist/martyrs/src/components/Text/Text.vue.js +1 -1
  76. package/dist/martyrs/src/components/Text/Text.vue.js.map +1 -1
  77. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
  78. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -0
  79. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +4 -4
  80. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
  81. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +4 -4
  82. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
  84. package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js +4 -4
  85. package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js.map +1 -1
  86. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  87. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
  88. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  89. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
  90. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +8 -8
  91. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  93. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js.map +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  95. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
  97. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
  100. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  102. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +3 -3
  104. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
  105. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  106. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +7 -7
  108. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +1 -1
  110. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -1
  112. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +4 -4
  113. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  114. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +5 -5
  115. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  116. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +1 -1
  117. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
  118. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +2 -2
  119. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  120. package/dist/martyrs/src/modules/community/components/blocks/Activity.vue.js +7 -7
  121. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  122. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +4 -4
  124. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
  125. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +10 -10
  126. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  127. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  128. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  129. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
  130. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +2 -2
  131. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
  132. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +3 -3
  133. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  134. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
  135. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js +1 -1
  136. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  138. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js +1 -1
  140. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js.map +1 -1
  141. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js +1 -1
  142. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  144. package/dist/martyrs/src/modules/core/views/classes/core.app.js +2 -1
  145. package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
  146. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js +2 -2
  147. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js.map +1 -1
  148. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +10 -10
  149. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
  150. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +2 -2
  151. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
  152. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
  153. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js.map +1 -1
  154. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +1 -1
  155. package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js +1 -1
  156. package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js.map +1 -1
  157. package/dist/martyrs/src/modules/core/views/components/elements/PhotoStack.vue.js +3 -3
  158. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js +25 -5
  159. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js.map +1 -1
  160. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +4 -4
  161. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
  162. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +11 -11
  163. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  164. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js +1 -1
  165. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js.map +1 -1
  166. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js +16 -16
  167. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js.map +1 -1
  168. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +7 -7
  169. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  170. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +1 -1
  171. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
  172. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +24 -24
  173. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  174. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +3 -3
  175. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js.map +1 -1
  176. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +7 -7
  177. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  178. package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
  179. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
  180. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
  181. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  182. package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +1 -1
  183. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js +2 -2
  184. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js.map +1 -1
  185. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js +3 -3
  186. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js.map +1 -1
  187. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js +2 -2
  188. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js.map +1 -1
  189. package/dist/martyrs/src/modules/core/views/store/core.store.js +29 -47
  190. package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
  191. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +21 -2
  192. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
  193. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +5 -5
  194. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js +3 -3
  196. package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js.map +1 -1
  197. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  198. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  199. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +19 -19
  200. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  201. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +8 -8
  202. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  203. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
  204. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  205. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +2 -2
  206. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +5 -5
  208. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +2 -2
  210. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  212. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +2 -2
  213. package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
  214. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +1 -1
  215. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  216. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  217. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js.map +1 -1
  218. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  219. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  220. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +4 -4
  221. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
  222. package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +4 -4
  223. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +7 -7
  224. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  225. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
  226. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +2 -2
  228. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
  229. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  230. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +11 -11
  232. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +6 -6
  234. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +5 -5
  236. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
  238. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  240. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  241. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +2 -2
  242. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
  243. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
  244. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  245. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js +2 -2
  246. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
  247. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +3 -3
  248. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +6 -6
  250. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js.map +1 -1
  251. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +4 -4
  252. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  253. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +3 -3
  254. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js.map +1 -1
  255. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +5 -5
  256. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  257. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +4 -4
  258. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +3 -3
  260. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -1
  261. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +5 -5
  262. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +5 -5
  264. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  265. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +8 -8
  266. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +5 -5
  268. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  269. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
  270. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +2 -2
  272. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
  273. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +13 -13
  274. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +24 -24
  276. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  277. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +8 -8
  278. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +10 -13
  280. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +9 -9
  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.js +27 -27
  284. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  285. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +17 -17
  286. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +27 -27
  288. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  289. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  290. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +8 -8
  291. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
  292. package/dist/martyrs/src/modules/music/music.client.js +6 -6
  293. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  294. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
  295. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  296. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
  297. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  298. package/dist/martyrs/src/modules/notifications/notifications.client.js +2 -2
  299. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +1 -1
  300. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +2 -2
  301. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +2 -2
  302. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +9 -9
  303. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  304. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +5 -5
  305. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  306. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +9 -9
  307. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  308. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +5 -5
  309. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  310. package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js +2 -2
  311. package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js.map +1 -1
  312. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
  313. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  314. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +3 -3
  315. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  316. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  317. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
  318. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +3 -3
  319. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
  320. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  321. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +17 -17
  322. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  323. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +2 -2
  324. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  325. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
  326. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  327. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +2 -2
  328. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  329. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +3 -3
  330. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
  331. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  332. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  333. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +3 -3
  334. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
  335. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
  336. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +3 -3
  337. package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -1
  338. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
  339. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  340. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  341. package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js +8 -8
  342. package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js.map +1 -1
  343. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
  344. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +3 -3
  345. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  346. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  347. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  348. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  349. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  350. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +2 -2
  351. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  352. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  353. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  354. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +7 -7
  355. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  356. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  357. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
  358. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  359. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +4 -4
  360. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js.map +1 -1
  361. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  362. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  364. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +3 -3
  365. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
  366. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js +5 -5
  367. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js.map +1 -1
  368. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  369. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
  370. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  371. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +4 -4
  372. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  373. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +3 -3
  374. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  375. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -5
  376. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  377. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +3 -3
  378. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  379. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +2 -2
  380. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  381. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +5 -5
  382. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js.map +1 -1
  383. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +2 -2
  384. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  385. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +3 -3
  386. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  387. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js +1 -1
  388. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
  389. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  390. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
  391. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  392. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +7 -7
  393. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  394. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +7 -7
  395. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  396. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +12 -12
  397. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  398. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +4 -4
  399. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  400. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +6 -6
  401. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  402. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
  403. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
  404. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +9 -9
  405. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  406. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
  407. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  408. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +2 -2
  409. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  410. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +2 -2
  411. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  412. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +6 -6
  413. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  414. package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js +1 -1
  415. package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js.map +1 -1
  416. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/DateLabel.vue.js +1 -1
  417. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +2 -2
  418. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
  419. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +8 -8
  420. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js +1 -1
  422. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +1 -1
  423. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  424. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  425. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
  426. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +6 -6
  427. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  428. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js +3 -3
  429. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js.map +1 -1
  430. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  431. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
  432. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +5 -5
  433. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  434. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
  435. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
  436. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +3 -3
  437. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
  438. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +6 -6
  439. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  440. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  441. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  442. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +3 -3
  443. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  444. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +5 -5
  445. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
  446. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js +5 -5
  447. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js.map +1 -1
  448. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +5 -5
  449. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js.map +1 -1
  450. package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js +2 -2
  451. package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js.map +1 -1
  452. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +4 -4
  453. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
  454. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js +12 -12
  455. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js.map +1 -1
  456. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +4 -4
  457. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
  458. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +24 -24
  459. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  460. package/dist/martyrs.css +1 -1
  461. package/dist/martyrs.es.js +1 -1
  462. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  463. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  464. package/dist/style.css +194 -202
  465. package/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +1 -1
  466. package/package.json +6 -8
  467. package/src/builder/modes/ssr.prod.js +1 -0
  468. package/src/builder/modes/ssr.rspack.dev.js +13 -6
  469. package/src/builder/rspack/rspack.config.base.js +7 -0
  470. package/src/builder/rspack/rspack.config.ssr.client.js +19 -44
  471. package/src/builder/templates/page.js +21 -0
  472. package/src/components/Block/Block.vue +1 -1
  473. package/src/components/BottomSheet/BottomSheet.vue +1 -1
  474. package/src/components/Calendar/Calendar.vue +5 -5
  475. package/src/components/Checkbox/Checkbox.vue +2 -2
  476. package/src/components/Chips/Chips.vue +2 -2
  477. package/src/components/Completion/Completion.vue +2 -2
  478. package/src/components/Countdown/Countdown.vue +5 -5
  479. package/src/components/DatePicker/DatePicker.vue +4 -4
  480. package/src/components/EditImages/EditImages.vue +1 -1
  481. package/src/components/Feed/Feed.old.vue +1 -1
  482. package/src/components/Feed/Feed.vue +1 -1
  483. package/src/components/FieldBig/FieldBig.vue +2 -2
  484. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  485. package/src/components/FieldTags/BlockTags.vue +1 -1
  486. package/src/components/Loader/Loader.vue +1 -1
  487. package/src/components/Menu/MenuItem.vue +2 -2
  488. package/src/components/PhotoViewer/PhotoViewer.vue +1 -1
  489. package/src/components/Radio/Radio.vue +1 -1
  490. package/src/components/Select/Select.vue +1 -1
  491. package/src/components/Table/Table.vue +2 -2
  492. package/src/components/Text/Text.vue +1 -1
  493. package/src/components/UploadImage/UploadImage.vue +2 -2
  494. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +3 -3
  495. package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
  496. package/src/configurator/components/pages/Styles.vue +2 -2
  497. package/src/jit/.claude/settings.local.json +10 -0
  498. package/src/jit/CLAUDE.md +387 -0
  499. package/src/jit/core.js +274 -0
  500. package/src/jit/extractor.js +140 -0
  501. package/src/jit/index.js +19 -0
  502. package/src/jit/loader.js +46 -0
  503. package/src/jit/plugin.js +209 -0
  504. package/src/jit/rules.js +474 -0
  505. package/src/jit/variants.js +128 -0
  506. package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
  507. package/src/modules/auth/views/components/blocks/ProfileCard.vue +4 -4
  508. package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
  509. package/src/modules/auth/views/components/pages/EnterPassword.vue +2 -2
  510. package/src/modules/auth/views/components/pages/Profile.vue +5 -5
  511. package/src/modules/auth/views/components/pages/ProfileBlogposts.vue +1 -1
  512. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +2 -2
  513. package/src/modules/auth/views/components/pages/ResetPassword.vue +1 -1
  514. package/src/modules/auth/views/components/pages/SignIn.vue +3 -3
  515. package/src/modules/auth/views/components/pages/SignUp.vue +1 -1
  516. package/src/modules/auth/views/components/pages/UserDashboard.vue +3 -3
  517. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  518. package/src/modules/auth/views/components/sections/ProfileCompletion.vue +2 -2
  519. package/src/modules/auth/views/components/sections/ProfileEditCredentials.vue +7 -7
  520. package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
  521. package/src/modules/backoffice/components/admin/Backcalls.vue +1 -1
  522. package/src/modules/backoffice/components/admin/FastOrders.vue +1 -1
  523. package/src/modules/backoffice/components/admin/ProductEdit.vue +2 -2
  524. package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
  525. package/src/modules/backoffice/components/admin/Users.vue +2 -2
  526. package/src/modules/backoffice/components/pages/Dashboard.vue +4 -4
  527. package/src/modules/backoffice/components/partials/Sidebar.vue +5 -5
  528. package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
  529. package/src/modules/chats/components/sections/ChatWindow.vue +2 -2
  530. package/src/modules/community/components/blocks/Activity.vue +7 -7
  531. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  532. package/src/modules/community/components/blocks/FooterBlogpost.vue +4 -4
  533. package/src/modules/community/components/layouts/Community.vue +10 -10
  534. package/src/modules/community/components/pages/CreateBlogPost.vue +1 -1
  535. package/src/modules/community/components/pages/Posts.vue +2 -2
  536. package/src/modules/community/components/sections/Comment.vue +2 -2
  537. package/src/modules/constructor/components/elements/Audio.vue +1 -1
  538. package/src/modules/constructor/components/elements/Caption.vue +1 -1
  539. package/src/modules/constructor/components/elements/Embed.vue +1 -1
  540. package/src/modules/constructor/components/elements/Textarea.vue +1 -1
  541. package/src/modules/constructor/components/elements/Video.vue +1 -1
  542. package/src/modules/core/views/classes/core.app.js +2 -1
  543. package/src/modules/core/views/components/blocks/BlockSorting.vue +2 -2
  544. package/src/modules/core/views/components/blocks/CardFooter.vue +4 -4
  545. package/src/modules/core/views/components/blocks/CardHeader.vue +7 -7
  546. package/src/modules/core/views/components/blocks/HelpCard.vue +1 -1
  547. package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
  548. package/src/modules/core/views/components/elements/ButtonDate.vue +1 -1
  549. package/src/modules/core/views/components/elements/PhotoStack.vue +3 -3
  550. package/src/modules/core/views/components/layouts/App.vue +28 -4
  551. package/src/modules/core/views/components/layouts/Client.vue +4 -4
  552. package/src/modules/core/views/components/partials/BottomNavigationBar.vue +15 -15
  553. package/src/modules/core/views/components/partials/CitySelection.vue +1 -1
  554. package/src/modules/core/views/components/partials/Footer.centered.vue +17 -17
  555. package/src/modules/core/views/components/partials/Footer.vue +18 -18
  556. package/src/modules/core/views/components/partials/Header.vue +10 -11
  557. package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
  558. package/src/modules/core/views/components/partials/Navigation.vue +20 -19
  559. package/src/modules/core/views/components/partials/NavigationBar.vue +3 -3
  560. package/src/modules/core/views/components/partials/Sidebar.vue +6 -6
  561. package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
  562. package/src/modules/core/views/components/sections/filters/FilterCheckbox.vue +1 -1
  563. package/src/modules/core/views/components/sections/filters/FilterDateRange.vue +2 -2
  564. package/src/modules/core/views/components/sections/filters/FilterPrice.vue +2 -2
  565. package/src/modules/core/views/components/sections/filters/FilterRange.vue +2 -2
  566. package/src/modules/core/views/store/core.store.js +36 -60
  567. package/src/modules/core/views/utils/vue-app-renderer.js +31 -1
  568. package/src/modules/events/components/blocks/CardEvent.vue +6 -6
  569. package/src/modules/events/components/blocks/CardEventShort.vue +3 -3
  570. package/src/modules/events/components/pages/EditEvent.vue +1 -1
  571. package/src/modules/events/components/pages/EditEventTickets.vue +18 -18
  572. package/src/modules/events/components/pages/Event.vue +5 -5
  573. package/src/modules/events/components/pages/Events.vue +2 -2
  574. package/src/modules/events/components/pages/EventsBackoffice.vue +2 -2
  575. package/src/modules/events/components/sections/EditTickets.vue +5 -5
  576. package/src/modules/events/components/sections/EventsHot.vue +2 -2
  577. package/src/modules/events/components/sections/List.vue +1 -1
  578. package/src/modules/events/components/sections/SelectDate.vue +1 -1
  579. package/src/modules/gallery/components/pages/Gallery.vue +1 -1
  580. package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
  581. package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +14 -14
  582. package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +13 -13
  583. package/src/modules/governance/reactcode/src/components/EmptyState.tsx +2 -2
  584. package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +1 -1
  585. package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +1 -1
  586. package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +2 -2
  587. package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +6 -6
  588. package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +18 -18
  589. package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +7 -7
  590. package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +9 -9
  591. package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +4 -4
  592. package/src/modules/governance/reactcode/src/components/TaskCard.tsx +1 -1
  593. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
  594. package/src/modules/governance/reactcode/src/components/VoteForm.tsx +6 -6
  595. package/src/modules/governance/reactcode/src/components/VotingCard.tsx +2 -2
  596. package/src/modules/governance/reactcode/src/components/VotingResults.tsx +15 -15
  597. package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +41 -41
  598. package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +8 -8
  599. package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +6 -6
  600. package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +9 -9
  601. package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +14 -14
  602. package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +44 -44
  603. package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +8 -8
  604. package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +3 -3
  605. package/src/modules/governance/reactcode-2/App.tsx +28 -0
  606. package/src/modules/governance/reactcode-2/README.md +20 -0
  607. package/src/modules/governance/reactcode-2/components/Charts.tsx +58 -0
  608. package/src/modules/governance/reactcode-2/components/Layout.tsx +457 -0
  609. package/src/modules/governance/reactcode-2/components/TaskPage.tsx +325 -0
  610. package/src/modules/governance/reactcode-2/components/VoteBadge.tsx +27 -0
  611. package/src/modules/governance/reactcode-2/components/VotingsFeedPage.tsx +328 -0
  612. package/src/modules/governance/reactcode-2/constants.ts +154 -0
  613. package/src/modules/governance/reactcode-2/index.html +70 -0
  614. package/src/modules/governance/reactcode-2/index.tsx +15 -0
  615. package/src/modules/governance/reactcode-2/metadata.json +5 -0
  616. package/src/modules/governance/reactcode-2/package.json +23 -0
  617. package/src/modules/governance/reactcode-2/pnpm-lock.yaml +1410 -0
  618. package/src/modules/governance/reactcode-2/tsconfig.json +29 -0
  619. package/src/modules/governance/reactcode-2/types.ts +48 -0
  620. package/src/modules/governance/reactcode-2/vite.config.ts +23 -0
  621. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +10 -10
  622. package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +15 -15
  623. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +9 -9
  624. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +11 -11
  625. package/src/modules/governance/views/components/layouts/Governance.vue +1 -1
  626. package/src/modules/governance/views/components/pages/Governance.vue +3 -3
  627. package/src/modules/governance/views/components/pages/Initiative.vue +112 -112
  628. package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +31 -31
  629. package/src/modules/governance/views/components/pages/Initiatives.vue +20 -22
  630. package/src/modules/governance/views/components/pages/Milestone.vue +25 -25
  631. package/src/modules/governance/views/components/pages/Roadmap.vue +47 -47
  632. package/src/modules/governance/views/components/pages/Task.vue +106 -106
  633. package/src/modules/governance/views/components/pages/Tasks.vue +16 -16
  634. package/src/modules/governance/views/components/pages/Voting.vue +23 -23
  635. package/src/modules/governance/views/components/pages/Votings.vue +7 -7
  636. package/src/modules/governance/views/components/partials/EmptyState.vue +3 -3
  637. package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +11 -11
  638. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +4 -4
  639. package/src/modules/governance/views/components/partials/VoteForm.vue +14 -14
  640. package/src/modules/governance/views/components/partials/VotingResults.vue +22 -22
  641. package/src/modules/icons/components/IconSearchPopup.vue +3 -3
  642. package/src/modules/icons/entities/IconCash.vue +23 -0
  643. package/src/modules/icons/navigation/IconSort.vue +4 -4
  644. package/src/modules/icons/pages/IconsPage.vue +7 -7
  645. package/src/modules/inventory/components/forms/AdjustmentForm.vue +3 -3
  646. package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
  647. package/src/modules/inventory/components/forms/StockAlertsForm.vue +1 -1
  648. package/src/modules/inventory/components/pages/Inventory.vue +10 -10
  649. package/src/modules/inventory/components/pages/InventoryEdit.vue +6 -6
  650. package/src/modules/landing/components/blocks/MapBlock.vue +2 -2
  651. package/src/modules/landing/components/sections/Examples.vue +1 -1
  652. package/src/modules/landing/components/sections/InstagramSection.vue +1 -1
  653. package/src/modules/landing/components/sections/SectionEarn.vue +4 -4
  654. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  655. package/src/modules/landing/components/sections/SectionFocus.vue +2 -2
  656. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  657. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  658. package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
  659. package/src/modules/landing/components/sections/SectionJoinUs.vue +2 -2
  660. package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
  661. package/src/modules/landing/components/sections/SectionOverview.vue +2 -2
  662. package/src/modules/landing/components/sections/SectionRoadmap.vue +2 -2
  663. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +8 -8
  664. package/src/modules/marketplace/views/components/pages/Marketplace.vue +5 -5
  665. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +2 -2
  666. package/src/modules/music/components/SidebarMusic.vue +11 -11
  667. package/src/modules/music/components/blocks/ActionButtons.vue +2 -2
  668. package/src/modules/music/components/cards/AlbumCard.vue +4 -4
  669. package/src/modules/music/components/cards/ArtistCard.vue +3 -8
  670. package/src/modules/music/components/cards/ArtistCardSmall.vue +2 -2
  671. package/src/modules/music/components/cards/PlaylistCard.vue +4 -4
  672. package/src/modules/music/components/cards/TrackListCard.vue +5 -5
  673. package/src/modules/music/components/forms/AlbumForm.vue +8 -8
  674. package/src/modules/music/components/forms/ArtistForm.vue +4 -4
  675. package/src/modules/music/components/forms/PlaylistForm.vue +7 -7
  676. package/src/modules/music/components/forms/SearchForm.vue +1 -1
  677. package/src/modules/music/components/forms/TrackForm.vue +13 -13
  678. package/src/modules/music/components/pages/Album.vue +22 -22
  679. package/src/modules/music/components/pages/Artist.vue +7 -7
  680. package/src/modules/music/components/pages/MusicHome.vue +13 -18
  681. package/src/modules/music/components/pages/MusicLibrary.vue +9 -9
  682. package/src/modules/music/components/pages/Playlist.vue +25 -25
  683. package/src/modules/music/components/pages/SearchResults.vue +15 -15
  684. package/src/modules/music/components/pages/Track.vue +25 -25
  685. package/src/modules/music/components/player/FullscreenPlayer.vue +5 -5
  686. package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
  687. package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
  688. package/src/modules/orders/components/blocks/CardApplication.vue +1 -1
  689. package/src/modules/orders/components/blocks/CardCustomer.vue +1 -1
  690. package/src/modules/orders/components/blocks/CardOrder.vue +9 -9
  691. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +5 -5
  692. package/src/modules/orders/components/blocks/CardOrderItem.vue +9 -9
  693. package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
  694. package/src/modules/orders/components/blocks/CardOrderVar1.vue +4 -4
  695. package/src/modules/orders/components/blocks/StatusHistory.vue +3 -3
  696. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
  697. package/src/modules/orders/components/elements/PriceTotal.vue +3 -3
  698. package/src/modules/orders/components/forms/FormApplicationDetails.vue +2 -2
  699. package/src/modules/orders/components/forms/FormCustomerDetails.vue +3 -3
  700. package/src/modules/orders/components/pages/Favorites.vue +1 -1
  701. package/src/modules/orders/components/pages/OrderBackoffice.vue +15 -15
  702. package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
  703. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +4 -4
  704. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  705. package/src/modules/orders/components/partials/ShopCart.vue +2 -2
  706. package/src/modules/orders/components/sections/ApplicationDetails.vue +2 -2
  707. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  708. package/src/modules/orders/components/sections/CustomerDetails.vue +2 -2
  709. package/src/modules/orders/components/sections/Succes.vue +4 -4
  710. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  711. package/src/modules/organizations/components/blocks/CardOrganization.vue +4 -4
  712. package/src/modules/organizations/components/blocks/Contacts.vue +8 -8
  713. package/src/modules/organizations/components/blocks/Rating.vue +1 -1
  714. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +3 -3
  715. package/src/modules/organizations/components/forms/DepartmentForm.vue +1 -1
  716. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  717. package/src/modules/organizations/components/pages/Department.vue +2 -2
  718. package/src/modules/organizations/components/pages/DepartmentEdit.vue +1 -1
  719. package/src/modules/organizations/components/pages/Members.vue +1 -1
  720. package/src/modules/organizations/components/pages/Organization.new.vue +8 -8
  721. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  722. package/src/modules/organizations/components/pages/OrganizationDocuments.vue +2 -2
  723. package/src/modules/organizations/components/pages/Organizations.vue +3 -3
  724. package/src/modules/organizations/components/sections/Documents.vue +2 -2
  725. package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
  726. package/src/modules/organizations/components/sections/Unit.vue +1 -1
  727. package/src/modules/pages/views/components/blocks/CardPage.vue +2 -2
  728. package/src/modules/pages/views/components/pages/Page.vue +5 -5
  729. package/src/modules/products/components/blocks/CardCategory.vue +1 -1
  730. package/src/modules/products/components/blocks/CardPosition.vue +4 -4
  731. package/src/modules/products/components/blocks/CardProduct.vue +3 -3
  732. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -3
  733. package/src/modules/products/components/blocks/ProductImages.vue +2 -2
  734. package/src/modules/products/components/blocks/ProductVariants.vue +2 -2
  735. package/src/modules/products/components/elements/Image360.vue +2 -2
  736. package/src/modules/products/components/elements/Price.vue +2 -2
  737. package/src/modules/products/components/elements/QuantitySelector.vue +3 -3
  738. package/src/modules/products/components/elements/THC.vue +1 -1
  739. package/src/modules/products/components/forms/ReorderSettingsForm.vue +1 -1
  740. package/src/modules/products/components/forms/StockAuditForm.vue +2 -2
  741. package/src/modules/products/components/forms/StockHistoryView.vue +1 -1
  742. package/src/modules/products/components/pages/Categories.vue +1 -1
  743. package/src/modules/products/components/pages/CategoryEdit.vue +2 -2
  744. package/src/modules/products/components/pages/Product.vue +6 -6
  745. package/src/modules/products/components/pages/ProductEdit.vue +6 -6
  746. package/src/modules/products/components/pages/Products.vue +11 -11
  747. package/src/modules/products/components/sections/EditAttributes.vue +4 -4
  748. package/src/modules/products/components/sections/EditCategories.vue +1 -1
  749. package/src/modules/products/components/sections/EditDiscounts.vue +6 -6
  750. package/src/modules/products/components/sections/EditRecommended.vue +1 -1
  751. package/src/modules/products/components/sections/EditVariants.vue +8 -8
  752. package/src/modules/products/components/sections/FilterProducts.vue +3 -3
  753. package/src/modules/products/components/sections/ProductConfigurator.vue +2 -2
  754. package/src/modules/products/components/sections/ProductInformationSection.vue +10 -10
  755. package/src/modules/products/components/sections/ProductsRecommended.vue +2 -2
  756. package/src/modules/products/components/sections/SectionProduct.vue +7 -7
  757. package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +3 -3
  758. package/src/modules/rents/views/components/blocks/CardRent.vue +1 -1
  759. package/src/modules/rents/views/components/pages/Gant/DateLabel.vue +1 -1
  760. package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +2 -2
  761. package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +8 -8
  762. package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +1 -1
  763. package/src/modules/rents/views/components/pages/Rents.vue +1 -1
  764. package/src/modules/rents/views/components/pages/RentsEdit.vue +6 -6
  765. package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
  766. package/src/modules/reports/components/sections/FormReport.vue +1 -1
  767. package/src/modules/spots/components/blocks/CardSpot.vue +4 -4
  768. package/src/modules/spots/components/blocks/SpotMemberModify.vue +1 -1
  769. package/src/modules/spots/components/layouts/Spots.vue +2 -2
  770. package/src/modules/spots/components/pages/Spot.vue +5 -5
  771. package/src/modules/spots/components/pages/SpotEdit.vue +2 -2
  772. package/src/modules/spots/components/pages/Spots.vue +3 -3
  773. package/src/modules/spots/components/sections/MapSection.vue +1 -1
  774. package/src/modules/spots/components/sections/WorktimeEdit.vue +4 -4
  775. package/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue +5 -5
  776. package/src/modules/wallet/views/components/blocks/CardDeposit.vue +5 -5
  777. package/src/modules/wallet/views/components/blocks/CashDeposit.vue +2 -2
  778. package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +4 -4
  779. package/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue +11 -11
  780. package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +4 -4
  781. package/src/modules/wallet/views/components/pages/Wallet.vue +22 -22
  782. package/src/styles/config.scss +193 -507
  783. package/src/styles/layout.scss +81 -1
  784. package/src/styles/reset.scss +2 -0
  785. package/src/styles/theme.scss +1 -8
  786. package/dist/martyrs/dist/main-BFvlam0J.js.map +0 -1
  787. package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.js.map +0 -1
  788. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  789. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
  790. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  791. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  792. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +0 -1
  793. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
  794. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
  795. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  796. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +0 -1
  797. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.js.map +0 -1
  798. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
  799. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  800. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  801. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  802. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
  803. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  804. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -20
  805. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  806. package/src/modules/LAYOUT.MD +0 -767
  807. package/src/modules/STYLES.MD +0 -298
  808. package/src/modules/inventory/inventory.router.js +0 -72
  809. package/src/modules/products/products.router.js +0 -299
  810. package/src/styles/base/all.scss +0 -233
  811. package/src/styles/base/backgrounds.scss +0 -70
  812. package/src/styles/base/borders.scss +0 -407
  813. package/src/styles/base/scrolling.scss +0 -137
  814. package/src/styles/base/shadow_transitions_hover_refactor.scss +0 -158
  815. package/src/styles/base/transitions.scss +0 -109
  816. package/src/styles/responsive.scss +0 -152
  817. package/src/styles/typography.scss +0 -161
  818. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
@@ -1,9 +1,9 @@
1
1
  import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createCommentVNode, createVNode, createElementVNode, toDisplayString, Fragment, renderList, createBlock, withCtx, createTextVNode } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import Loader from "../../../../components/Loader/Loader.vue.js";
3
+ import Loader from "../../../../components/Loader/Loader.vue2.js";
4
4
  /* empty css */
5
5
  import Media from "../../../../components/Media/Media.vue.js";
6
- /* empty css */
6
+ /* empty css */
7
7
  import _sfc_main$8 from "../../../../components/Feed/Feed.vue.js";
8
8
  import _sfc_main$1 from "../../../icons/navigation/IconPlay.vue.js";
9
9
  import _sfc_main$3 from "../../../icons/navigation/IconLike.vue.js";
@@ -33,37 +33,37 @@ const _hoisted_4 = {
33
33
  class: "album-content cols-2 mobile:cols-1 gap-big"
34
34
  };
35
35
  const _hoisted_5 = { class: "pos-sticky pos-t-0 mobile:pos-relative album-cover-section" };
36
- const _hoisted_6 = { class: "stats-grid grid cols-2 gap-small" };
36
+ const _hoisted_6 = { class: "stats-grid d-grid cols-2 mobile:cols-1 gap-small" };
37
37
  const _hoisted_7 = { class: "stat-card bg-light pd-medium radius-medium t-center" };
38
38
  const _hoisted_8 = { class: "mn-b-thin" };
39
39
  const _hoisted_9 = { class: "stat-card bg-light pd-medium radius-medium t-center" };
40
40
  const _hoisted_10 = { class: "mn-b-thin" };
41
41
  const _hoisted_11 = { class: "album-details-section" };
42
42
  const _hoisted_12 = { class: "flex items-center gap-small mn-b-small" };
43
- const _hoisted_13 = { class: "bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase" };
43
+ const _hoisted_13 = { class: "bg-light fw-medium pd-thin radius-thin uppercase t-small t-uppercase" };
44
44
  const _hoisted_14 = {
45
45
  key: 0,
46
- class: "bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase"
46
+ class: "bg-light fw-medium pd-thin radius-thin uppercase t-small t-uppercase"
47
47
  };
48
48
  const _hoisted_15 = { class: "h1 mn-b-medium" };
49
49
  const _hoisted_16 = { class: "artists-section mn-b-medium" };
50
50
  const _hoisted_17 = {
51
51
  key: 0,
52
- class: "t-medium mn-b-small"
52
+ class: "fw-medium mn-b-small"
53
53
  };
54
54
  const _hoisted_18 = { class: "flex flex-column gap-small" };
55
- const _hoisted_19 = { class: "metadata-grid grid cols-2 gap-small mn-b-medium" };
55
+ const _hoisted_19 = { class: "metadata-grid d-grid cols-2 mobile:cols-1 gap-small mn-b-medium" };
56
56
  const _hoisted_20 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-regular" };
57
- const _hoisted_21 = { class: "t-medium" };
57
+ const _hoisted_21 = { class: "fw-medium" };
58
58
  const _hoisted_22 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-regular" };
59
- const _hoisted_23 = { class: "t-medium" };
59
+ const _hoisted_23 = { class: "fw-medium" };
60
60
  const _hoisted_24 = {
61
61
  key: 0,
62
62
  class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-regular"
63
63
  };
64
- const _hoisted_25 = { class: "t-medium" };
64
+ const _hoisted_25 = { class: "fw-medium" };
65
65
  const _hoisted_26 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-regular" };
66
- const _hoisted_27 = { class: "t-medium" };
66
+ const _hoisted_27 = { class: "fw-medium" };
67
67
  const _hoisted_28 = {
68
68
  key: 0,
69
69
  class: "tags-section mn-b-medium"
@@ -79,7 +79,7 @@ const _hoisted_32 = {
79
79
  class: "more-albums-section mn-t-big"
80
80
  };
81
81
  const _hoisted_33 = { class: "flex justify-between items-center mn-b-medium" };
82
- const _hoisted_34 = { class: "flex flex-nowrap gap-small o-x-scroll overscroll-behavior-x-contain scroll-behavior-smooth scroll-snap-type-x-mandatory scroll-hide" };
82
+ const _hoisted_34 = { class: "flex flex-nowrap gap-small o-x-scroll overscroll-x-contain scroll-smooth scroll-snap-x-mandatory scroll-hide" };
83
83
  const _sfc_main = {
84
84
  __name: "Album",
85
85
  emits: ["page-loading", "page-loaded"],
@@ -251,7 +251,7 @@ const _sfc_main = {
251
251
  ])) : createCommentVNode("", true),
252
252
  hasLoaded.value && !album.value ? (openBlock(), createElementBlock("div", _hoisted_3, _cache[0] || (_cache[0] = [
253
253
  createElementVNode("h2", { class: "" }, "Album not found", -1),
254
- createElementVNode("p", { class: "t-transp t-medium" }, "The album you're looking for doesn't exist or has been removed.", -1)
254
+ createElementVNode("p", { class: "t-transp fw-medium" }, "The album you're looking for doesn't exist or has been removed.", -1)
255
255
  ]))) : createCommentVNode("", true),
256
256
  album.value ? (openBlock(), createElementBlock("div", _hoisted_4, [
257
257
  createElementVNode("div", _hoisted_5, [
@@ -292,31 +292,31 @@ const _sfc_main = {
292
292
  }), 128))
293
293
  ])
294
294
  ]),
295
- _cache[8] || (_cache[8] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "Metadata", -1)),
295
+ _cache[8] || (_cache[8] = createElementVNode("h3", { class: "fw-medium mn-b-small" }, "Metadata", -1)),
296
296
  createElementVNode("div", _hoisted_19, [
297
297
  createElementVNode("div", _hoisted_20, [
298
- createVNode(_sfc_main$5, { class: "i-medium t-primary" }),
298
+ createVNode(_sfc_main$5, { class: "i-medium t-main" }),
299
299
  createElementVNode("div", null, [
300
300
  _cache[3] || (_cache[3] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Released", -1)),
301
301
  createElementVNode("div", _hoisted_21, toDisplayString(formatDate(album.value.releaseDate)), 1)
302
302
  ])
303
303
  ]),
304
304
  createElementVNode("div", _hoisted_22, [
305
- createVNode(IconTime, { class: "i-medium t-primary" }),
305
+ createVNode(IconTime, { class: "i-medium t-main" }),
306
306
  createElementVNode("div", null, [
307
307
  _cache[4] || (_cache[4] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Duration", -1)),
308
308
  createElementVNode("div", _hoisted_23, toDisplayString(totalDuration.value), 1)
309
309
  ])
310
310
  ]),
311
311
  album.value.label ? (openBlock(), createElementBlock("div", _hoisted_24, [
312
- createVNode(_sfc_main$6, { class: "i-medium t-primary" }),
312
+ createVNode(_sfc_main$6, { class: "i-medium t-main" }),
313
313
  createElementVNode("div", null, [
314
314
  _cache[5] || (_cache[5] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Label", -1)),
315
315
  createElementVNode("div", _hoisted_25, toDisplayString(album.value.label), 1)
316
316
  ])
317
317
  ])) : createCommentVNode("", true),
318
318
  createElementVNode("div", _hoisted_26, [
319
- createVNode(_sfc_main$7, { class: "i-medium t-primary" }),
319
+ createVNode(_sfc_main$7, { class: "i-medium t-main" }),
320
320
  createElementVNode("div", null, [
321
321
  _cache[6] || (_cache[6] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Visibility", -1)),
322
322
  createElementVNode("div", _hoisted_27, toDisplayString(album.value.isPublic ? "Public" : "Private"), 1)
@@ -324,18 +324,18 @@ const _sfc_main = {
324
324
  ])
325
325
  ]),
326
326
  album.value.genres && album.value.genres.length || album.value.tags && album.value.tags.length ? (openBlock(), createElementBlock("div", _hoisted_28, [
327
- _cache[7] || (_cache[7] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "Genres & Tags", -1)),
327
+ _cache[7] || (_cache[7] = createElementVNode("h3", { class: "fw-medium mn-b-small" }, "Genres & Tags", -1)),
328
328
  createElementVNode("div", _hoisted_29, [
329
329
  (openBlock(true), createElementBlock(Fragment, null, renderList(album.value.genres, (genre) => {
330
330
  return openBlock(), createElementBlock("span", {
331
331
  key: genre,
332
- class: "tag bg-main t-medium pd-thin radius-thin t-small cursor-pointer"
332
+ class: "tag bg-main fw-medium pd-thin radius-thin t-small cursor-pointer"
333
333
  }, toDisplayString(genre), 1);
334
334
  }), 128)),
335
335
  (openBlock(true), createElementBlock(Fragment, null, renderList(album.value.tags, (tag) => {
336
336
  return openBlock(), createElementBlock("span", {
337
337
  key: tag,
338
- class: "tag bg-light t-transp pd-thin-big radius-small t-small hover-bg-light cursor-pointer"
338
+ class: "tag bg-light t-transp pd-thin-big radius-small t-small hover:bg-light cursor-pointer"
339
339
  }, " #" + toDisplayString(tag), 1);
340
340
  }), 128))
341
341
  ])
@@ -381,7 +381,7 @@ const _sfc_main = {
381
381
  album.value.artists && album.value.artists[0] ? (openBlock(), createBlock(_component_router_link, {
382
382
  key: 0,
383
383
  to: { name: "artist", params: { url: album.value.artists[0].url } },
384
- class: "t-primary hover-opacity"
384
+ class: "t-main hover:opacity-70"
385
385
  }, {
386
386
  default: withCtx(() => _cache[10] || (_cache[10] = [
387
387
  createTextVNode(" See all ")
@@ -393,11 +393,11 @@ const _sfc_main = {
393
393
  (openBlock(true), createElementBlock(Fragment, null, renderList(moreAlbums.value, (relatedAlbum) => {
394
394
  return openBlock(), createElementBlock("li", {
395
395
  key: album.value._id,
396
- class: "flex-none scroll-snap-align-start"
396
+ class: "flex-none scroll-snap-start"
397
397
  }, [
398
398
  createVNode(AlbumCard, {
399
399
  album: relatedAlbum,
400
- class: "w-15r transition-cubic-in-out"
400
+ class: "w-15r ease-cubic-in-out"
401
401
  }, null, 8, ["album"])
402
402
  ]);
403
403
  }), 128))
@@ -1 +1 @@
1
- {"version":3,"file":"Album.vue.js","sources":["../../../../../../../src/modules/music/components/pages/Album.vue"],"sourcesContent":["<!-- components/pages/Album.vue -->\n<template>\n <div class=\"album-page pd-small\">\n <!-- Loading -->\n <div v-if=\"isLoading\" class=\"w-100 h-25r flex-center flex\">\n <Loader />\n </div>\n \n <!-- Not Found -->\n <div v-if=\"hasLoaded && !album\" class=\"t-center pd-big\">\n <h2 class=\"\">Album not found</h2>\n <p class=\"t-transp t-medium\">The album you're looking for doesn't exist or has been removed.</p>\n </div>\n \n <!-- Album Content -->\n <div v-if=\"album\" class=\"album-content cols-2 mobile:cols-1 gap-big\">\n <!-- Left Column - Cover & Stats -->\n <div class=\"pos-sticky pos-t-0 mobile:pos-relative album-cover-section\">\n <!-- Cover -->\n <Media \n :url=\"album.coverArt || '/logo/logo-placeholder.jpg'\"\n :alt=\"album.title\"\n class=\"aspect-1x1 w-100 mn-b-small radius-medium o-hidden\"\n />\n <!-- Quick Stats -->\n <div class=\"stats-grid grid cols-2 gap-small\">\n <div class=\"stat-card bg-light pd-medium radius-medium t-center\">\n <div class=\" mn-b-thin\">{{ album.totalTracks || 0 }}</div>\n <div class=\"t-small t-transp t-uppercase\">Tracks</div>\n </div>\n <div class=\"stat-card bg-light pd-medium radius-medium t-center\">\n <div class=\" mn-b-thin\">{{ formatNumber(album.views) }}</div>\n <div class=\"t-small t-transp t-uppercase\">Views</div>\n </div>\n </div>\n </div>\n\n <!-- Right Column - Album Details -->\n <div class=\"album-details-section\">\n <!-- Album Type Badge -->\n <div class=\"flex items-center gap-small mn-b-small\">\n <span class=\"bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase\">\n {{ album.type }}\n </span>\n <span v-if=\"album.status === 'published'\" class=\"bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase\">\n Published\n </span>\n </div>\n\n <!-- Album Title -->\n <h1 class=\"h1 mn-b-medium\">{{ album.title }}</h1>\n\n <!-- Action Buttons -->\n <ActionButtons :buttons=\"actionButtons\" />\n\n <!-- Artists Cards -->\n <div class=\"artists-section mn-b-medium\">\n <h3 class=\"t-medium mn-b-small\" v-if=\"album.artists\">Artists</h3>\n <div class=\"flex flex-column gap-small\">\n <ArtistCardSmall \n v-for=\"artist in album.artists\" \n :key=\"artist._id\"\n :artist=\"artist\"\n :is-following=\"followedArtists.includes(artist._id)\"\n :show-follow-button=\"!isOwner\"\n @toggle-follow=\"toggleFollowArtist\"\n />\n </div>\n </div>\n\n <!-- Metadata Cards -->\n <h3 class=\"t-medium mn-b-small\">Metadata</h3>\n <div class=\"metadata-grid grid cols-2 gap-small mn-b-medium\">\n <!-- Release Date -->\n <div class=\"metadata-card bg-light pd-medium radius-medium flex items-center gap-regular\">\n <IconCalendar class=\"i-medium t-primary\" />\n <div>\n <div class=\"t-small t-transp t-uppercase\">Released</div>\n <div class=\"t-medium \">{{ formatDate(album.releaseDate) }}</div>\n </div>\n </div>\n\n <!-- Total Duration -->\n <div class=\"metadata-card bg-light pd-medium radius-medium flex items-center gap-regular\">\n <IconClock class=\"i-medium t-primary\" />\n <div>\n <div class=\"t-small t-transp t-uppercase\">Duration</div>\n <div class=\"t-medium \">{{ totalDuration }}</div>\n </div>\n </div>\n\n <!-- Label -->\n <div v-if=\"album.label\" class=\"metadata-card bg-light pd-medium radius-medium flex items-center gap-regular\">\n <IconDisc class=\"i-medium t-primary\" />\n <div>\n <div class=\"t-small t-transp t-uppercase\">Label</div>\n <div class=\"t-medium \">{{ album.label }}</div>\n </div>\n </div>\n\n <!-- Visibility -->\n <div class=\"metadata-card bg-light pd-medium radius-medium flex items-center gap-regular\">\n <IconEye class=\"i-medium t-primary\" />\n <div>\n <div class=\"t-small t-transp t-uppercase\">Visibility</div>\n <div class=\"t-medium \">{{ album.isPublic ? 'Public' : 'Private' }}</div>\n </div>\n </div>\n </div>\n\n <!-- Genres & Tags -->\n <div v-if=\"(album.genres && album.genres.length) || (album.tags && album.tags.length)\" class=\"tags-section mn-b-medium\">\n <h3 class=\"t-medium mn-b-small\">Genres & Tags</h3>\n <div class=\"flex gap-thin flex-wrap\">\n <span \n v-for=\"genre in album.genres\" \n :key=\"genre\"\n class=\"tag bg-main t-medium pd-thin radius-thin t-small cursor-pointer\"\n >\n {{ genre }}\n </span>\n <span \n v-for=\"tag in album.tags\" \n :key=\"tag\"\n class=\"tag bg-light t-transp pd-thin-big radius-small t-small hover-bg-light cursor-pointer\"\n >\n #{{ tag }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Album Tracks -->\n <section v-if=\"!isLoading && album && albumTracks.length\" class=\"tracks-section mn-t-big\">\n <h2 class=\"h2 mn-b-medium\">Tracklist</h2>\n <Feed\n :store=\"{\n read: () => Promise.resolve(albumTracks),\n state: { isLoading: false }\n }\"\n :external=\"true\"\n :items=\"albumTracks\"\n :states=\"{\n empty: {\n title: 'No tracks in album',\n description: 'This album appears to be empty',\n class: 'pd-medium t-center'\n }\n }\"\n >\n <template #default=\"{ items }\">\n <div class=\"bg-light radius-medium o-hidden\">\n <TrackListCard\n v-for=\"(track, index) in items\"\n :key=\"track._id\"\n :track=\"track\"\n :index=\"index + 1\"\n :showAlbum=\"false\"\n :showCover=\"false\"\n />\n </div>\n </template>\n </Feed>\n </section>\n\n <!-- More from Artists -->\n <section v-if=\"!isLoading && album && moreAlbums.length\" class=\"more-albums-section mn-t-big\">\n <div class=\"flex justify-between items-center mn-b-medium\">\n <h2 class=\"h2\">More Albums</h2>\n <router-link \n v-if=\"album.artists && album.artists[0]\"\n :to=\"{ name: 'artist', params: { url: album.artists[0].url } }\" \n class=\"t-primary hover-opacity\"\n >\n See all\n </router-link>\n </div>\n <div class=\"flex flex-nowrap gap-small o-x-scroll overscroll-behavior-x-contain scroll-behavior-smooth scroll-snap-type-x-mandatory scroll-hide\"\n >\n <li v-for=\"relatedAlbum in moreAlbums\" :key=\"album._id\" class=\"flex-none scroll-snap-align-start\">\n <AlbumCard :album=\"relatedAlbum\" class=\"w-15r transition-cubic-in-out\" />\n </li>\n </div>\n </section>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, watch } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport Media from '@martyrs/src/components/Media/Media.vue';\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\n\n// Icons\nimport IconPlay from '@martyrs/src/modules/icons/navigation/IconPlay.vue';\nimport IconLike from '@martyrs/src/modules/icons/navigation/IconLike.vue';\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue';\nimport IconShuffle from '@martyrs/src/modules/icons/navigation/IconShuffle.vue';\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue';\nimport IconClock from '@martyrs/src/modules/icons/entities/IconTime.vue';\nimport IconEye from '@martyrs/src/modules/icons/actions/IconShow.vue';\nimport IconDisc from '@martyrs/src/modules/icons/entities/IconMusic.vue';\nimport IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue';\n\n// Components\nimport ActionButtons from '../blocks/ActionButtons.vue';\nimport TrackListCard from '../cards/TrackListCard.vue';\nimport AlbumCard from '../cards/AlbumCard.vue';\nimport ArtistCardSmall from '../cards/ArtistCardSmall.vue';\n\n// Store\nimport { state as albumsState, actions as albumsActions } from '../../store/albums.js';\nimport { actions as playerActions } from '../../store/player.js';\nimport { state as authState } from '@martyrs/src/modules/auth/views/store/auth.js';\n\nconst route = useRoute();\nconst router = useRouter();\n\n// Emits\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n// State\nconst hasLoaded = ref(false);\nconst isFavorite = ref(false);\nconst followedArtists = ref([]);\nconst moreAlbums = ref([]);\n\n// Clear state\nalbumsState.currentAlbum = null;\nalbumsState.currentAlbumTracks = [];\n\n// Computed\nconst album = computed(() => albumsState.currentAlbum);\nconst albumTracks = computed(() => albumsState.currentAlbumTracks || []);\n\nconst isOwner = computed(() => {\n return album.value?.owner?.target === authState.user?._id;\n});\n\nconst totalDuration = computed(() => {\n if (!albumTracks.value.length) return '0:00';\n const totalSeconds = albumTracks.value.reduce((sum, track) => sum + (track.duration || 0), 0);\n return formatDuration(totalSeconds);\n});\n\nconst actionButtons = computed(() => {\n const buttons = [\n {\n type: 'button',\n class: 't-white bg-black',\n icon: IconPlay,\n iconFill: 'rgb(var(--white))',\n text: 'Play All',\n action: playAlbum\n },\n {\n type: 'button',\n class: 'bg-light',\n icon: IconShuffle,\n text: 'Shuffle',\n action: shufflePlay\n },\n {\n type: 'button',\n class: 'bg-light',\n icon: IconLike,\n iconFill: isFavorite.value ? 'rgb(var(--main))' : 'rgb(var(--black))',\n text: isFavorite.value ? 'Liked' : 'Like',\n action: toggleFavorite\n },\n {\n type: 'dropdown',\n items: [\n { text: 'Add to Queue', action: addToQueue },\n { text: 'Copy Link', action: copyLink },\n { text: 'Add to Playlist', action: addToPlaylist }\n ]\n }\n ];\n\n if (isOwner.value) {\n const items = buttons[3].items;\n items.push({ separator: true });\n items.push({ text: 'Edit Album', action: editAlbum });\n items.push({ text: 'Delete Album', action: deleteAlbum, color: 'danger' });\n }\n\n return buttons;\n});\n\n// Format helpers\nconst formatDate = (dateString) => {\n if (!dateString) return 'Unknown';\n return new Date(dateString).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n });\n};\n\nconst formatDuration = (seconds) => {\n if (!seconds) return '0:00';\n const h = Math.floor(seconds / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = Math.floor(seconds % 60);\n \n if (h > 0) {\n return `${h}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n }\n return `${m}:${s.toString().padStart(2, '0')}`;\n};\n\nconst formatNumber = (num) => {\n if (!num) return '0';\n if (num >= 1000000) {\n return (num / 1000000).toFixed(1) + 'M';\n } else if (num >= 1000) {\n return (num / 1000).toFixed(1) + 'K';\n }\n return num.toString();\n};\n\n// Actions\nconst playAlbum = () => {\n if (albumTracks.value && albumTracks.value.length > 0) {\n playerActions.setQueue(albumTracks.value);\n }\n};\n\nconst shufflePlay = () => {\n if (albumTracks.value && albumTracks.value.length > 0) {\n const shuffled = [...albumTracks.value].sort(() => Math.random() - 0.5);\n playerActions.setQueue(shuffled);\n }\n};\n\nconst toggleFavorite = () => {\n isFavorite.value = !isFavorite.value;\n // TODO: Implement actual saving\n};\n\nconst toggleFollowArtist = (artistId) => {\n const index = followedArtists.value.indexOf(artistId);\n if (index > -1) {\n followedArtists.value.splice(index, 1);\n } else {\n followedArtists.value.push(artistId);\n }\n // TODO: Implement actual following\n};\n\nconst addToQueue = () => {\n if (albumTracks.value.length > 0) {\n albumTracks.value.forEach(track => {\n playerActions.addToQueue(track);\n });\n }\n};\n\nconst addToPlaylist = () => {\n // TODO: Implement add to playlist\n console.log('Add album to playlist');\n};\n\nconst editAlbum = () => {\n router.push({ name: 'album-edit', params: { url: album.value.url } });\n};\n\nconst deleteAlbum = async () => {\n if (confirm('Are you sure you want to delete this album?')) {\n try {\n await albumsActions.deleteAlbum(album.value._id);\n router.push({ name: 'music-library' });\n } catch (error) {\n console.error('Failed to delete album:', error);\n }\n }\n};\n\nconst copyLink = () => {\n navigator.clipboard.writeText(window.location.href);\n};\n\n// Data fetching\nconst fetchAlbumData = async () => {\n try {\n await albumsActions.fetchAlbumByUrl(route.params.url);\n \n // Fetch more albums from the same artists\n if (album.value?.artists?.length) {\n const artistIds = album.value.artists.map(a => a._id);\n const albums = await albumsActions.fetchAlbums({\n artist: { $in: artistIds },\n status: 'published',\n isPublic: true,\n limit: 6\n });\n \n // Filter out current album\n moreAlbums.value = albums.filter(a => a._id !== album.value._id).slice(0, 5);\n }\n } catch (error) {\n console.error('Error fetching album data:', error);\n }\n};\n\n// Lifecycle\nonMounted(async () => {\n emits('page-loading');\n \n await fetchAlbumData();\n \n hasLoaded.value = true;\n emits('page-loaded');\n});\n</script>\n\n<style scoped>\n</style>"],"names":["albumsState","authState","IconPlay","IconShuffle","IconLike","playerActions","albumsActions"],"mappings":"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"}
1
+ {"version":3,"file":"Album.vue.js","sources":["../../../../../../../src/modules/music/components/pages/Album.vue"],"sourcesContent":["<!-- components/pages/Album.vue -->\n<template>\n <div class=\"album-page pd-small\">\n <!-- Loading -->\n <div v-if=\"isLoading\" class=\"w-100 h-25r flex-center flex\">\n <Loader />\n </div>\n \n <!-- Not Found -->\n <div v-if=\"hasLoaded && !album\" class=\"t-center pd-big\">\n <h2 class=\"\">Album not found</h2>\n <p class=\"t-transp fw-medium\">The album you're looking for doesn't exist or has been removed.</p>\n </div>\n \n <!-- Album Content -->\n <div v-if=\"album\" class=\"album-content cols-2 mobile:cols-1 gap-big\">\n <!-- Left Column - Cover & Stats -->\n <div class=\"pos-sticky pos-t-0 mobile:pos-relative album-cover-section\">\n <!-- Cover -->\n <Media \n :url=\"album.coverArt || '/logo/logo-placeholder.jpg'\"\n :alt=\"album.title\"\n class=\"aspect-1x1 w-100 mn-b-small radius-medium o-hidden\"\n />\n <!-- Quick Stats -->\n <div class=\"stats-grid d-grid cols-2 mobile:cols-1 gap-small\">\n <div class=\"stat-card bg-light pd-medium radius-medium t-center\">\n <div class=\" mn-b-thin\">{{ album.totalTracks || 0 }}</div>\n <div class=\"t-small t-transp t-uppercase\">Tracks</div>\n </div>\n <div class=\"stat-card bg-light pd-medium radius-medium t-center\">\n <div class=\" mn-b-thin\">{{ formatNumber(album.views) }}</div>\n <div class=\"t-small t-transp t-uppercase\">Views</div>\n </div>\n </div>\n </div>\n\n <!-- Right Column - Album Details -->\n <div class=\"album-details-section\">\n <!-- Album Type Badge -->\n <div class=\"flex items-center gap-small mn-b-small\">\n <span class=\"bg-light fw-medium pd-thin radius-thin uppercase t-small t-uppercase\">\n {{ album.type }}\n </span>\n <span v-if=\"album.status === 'published'\" class=\"bg-light fw-medium pd-thin radius-thin uppercase t-small t-uppercase\">\n Published\n </span>\n </div>\n\n <!-- Album Title -->\n <h1 class=\"h1 mn-b-medium\">{{ album.title }}</h1>\n\n <!-- Action Buttons -->\n <ActionButtons :buttons=\"actionButtons\" />\n\n <!-- Artists Cards -->\n <div class=\"artists-section mn-b-medium\">\n <h3 class=\"fw-medium mn-b-small\" v-if=\"album.artists\">Artists</h3>\n <div class=\"flex flex-column gap-small\">\n <ArtistCardSmall \n v-for=\"artist in album.artists\" \n :key=\"artist._id\"\n :artist=\"artist\"\n :is-following=\"followedArtists.includes(artist._id)\"\n :show-follow-button=\"!isOwner\"\n @toggle-follow=\"toggleFollowArtist\"\n />\n </div>\n </div>\n\n <!-- Metadata Cards -->\n <h3 class=\"fw-medium mn-b-small\">Metadata</h3>\n <div class=\"metadata-grid d-grid cols-2 mobile:cols-1 gap-small mn-b-medium\">\n <!-- Release Date -->\n <div class=\"metadata-card bg-light pd-medium radius-medium flex items-center gap-regular\">\n <IconCalendar class=\"i-medium t-main\" />\n <div>\n <div class=\"t-small t-transp t-uppercase\">Released</div>\n <div class=\"fw-medium \">{{ formatDate(album.releaseDate) }}</div>\n </div>\n </div>\n\n <!-- Total Duration -->\n <div class=\"metadata-card bg-light pd-medium radius-medium flex items-center gap-regular\">\n <IconClock class=\"i-medium t-main\" />\n <div>\n <div class=\"t-small t-transp t-uppercase\">Duration</div>\n <div class=\"fw-medium \">{{ totalDuration }}</div>\n </div>\n </div>\n\n <!-- Label -->\n <div v-if=\"album.label\" class=\"metadata-card bg-light pd-medium radius-medium flex items-center gap-regular\">\n <IconDisc class=\"i-medium t-main\" />\n <div>\n <div class=\"t-small t-transp t-uppercase\">Label</div>\n <div class=\"fw-medium \">{{ album.label }}</div>\n </div>\n </div>\n\n <!-- Visibility -->\n <div class=\"metadata-card bg-light pd-medium radius-medium flex items-center gap-regular\">\n <IconEye class=\"i-medium t-main\" />\n <div>\n <div class=\"t-small t-transp t-uppercase\">Visibility</div>\n <div class=\"fw-medium \">{{ album.isPublic ? 'Public' : 'Private' }}</div>\n </div>\n </div>\n </div>\n\n <!-- Genres & Tags -->\n <div v-if=\"(album.genres && album.genres.length) || (album.tags && album.tags.length)\" class=\"tags-section mn-b-medium\">\n <h3 class=\"fw-medium mn-b-small\">Genres & Tags</h3>\n <div class=\"flex gap-thin flex-wrap\">\n <span \n v-for=\"genre in album.genres\" \n :key=\"genre\"\n class=\"tag bg-main fw-medium pd-thin radius-thin t-small cursor-pointer\"\n >\n {{ genre }}\n </span>\n <span \n v-for=\"tag in album.tags\" \n :key=\"tag\"\n class=\"tag bg-light t-transp pd-thin-big radius-small t-small hover:bg-light cursor-pointer\"\n >\n #{{ tag }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Album Tracks -->\n <section v-if=\"!isLoading && album && albumTracks.length\" class=\"tracks-section mn-t-big\">\n <h2 class=\"h2 mn-b-medium\">Tracklist</h2>\n <Feed\n :store=\"{\n read: () => Promise.resolve(albumTracks),\n state: { isLoading: false }\n }\"\n :external=\"true\"\n :items=\"albumTracks\"\n :states=\"{\n empty: {\n title: 'No tracks in album',\n description: 'This album appears to be empty',\n class: 'pd-medium t-center'\n }\n }\"\n >\n <template #default=\"{ items }\">\n <div class=\"bg-light radius-medium o-hidden\">\n <TrackListCard\n v-for=\"(track, index) in items\"\n :key=\"track._id\"\n :track=\"track\"\n :index=\"index + 1\"\n :showAlbum=\"false\"\n :showCover=\"false\"\n />\n </div>\n </template>\n </Feed>\n </section>\n\n <!-- More from Artists -->\n <section v-if=\"!isLoading && album && moreAlbums.length\" class=\"more-albums-section mn-t-big\">\n <div class=\"flex justify-between items-center mn-b-medium\">\n <h2 class=\"h2\">More Albums</h2>\n <router-link \n v-if=\"album.artists && album.artists[0]\"\n :to=\"{ name: 'artist', params: { url: album.artists[0].url } }\" \n class=\"t-main hover:opacity-70\"\n >\n See all\n </router-link>\n </div>\n <div class=\"flex flex-nowrap gap-small o-x-scroll overscroll-x-contain scroll-smooth scroll-snap-x-mandatory scroll-hide\"\n >\n <li v-for=\"relatedAlbum in moreAlbums\" :key=\"album._id\" class=\"flex-none scroll-snap-start\">\n <AlbumCard :album=\"relatedAlbum\" class=\"w-15r ease-cubic-in-out\" />\n </li>\n </div>\n </section>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, watch } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport Media from '@martyrs/src/components/Media/Media.vue';\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\n\n// Icons\nimport IconPlay from '@martyrs/src/modules/icons/navigation/IconPlay.vue';\nimport IconLike from '@martyrs/src/modules/icons/navigation/IconLike.vue';\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue';\nimport IconShuffle from '@martyrs/src/modules/icons/navigation/IconShuffle.vue';\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue';\nimport IconClock from '@martyrs/src/modules/icons/entities/IconTime.vue';\nimport IconEye from '@martyrs/src/modules/icons/actions/IconShow.vue';\nimport IconDisc from '@martyrs/src/modules/icons/entities/IconMusic.vue';\nimport IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue';\n\n// Components\nimport ActionButtons from '../blocks/ActionButtons.vue';\nimport TrackListCard from '../cards/TrackListCard.vue';\nimport AlbumCard from '../cards/AlbumCard.vue';\nimport ArtistCardSmall from '../cards/ArtistCardSmall.vue';\n\n// Store\nimport { state as albumsState, actions as albumsActions } from '../../store/albums.js';\nimport { actions as playerActions } from '../../store/player.js';\nimport { state as authState } from '@martyrs/src/modules/auth/views/store/auth.js';\n\nconst route = useRoute();\nconst router = useRouter();\n\n// Emits\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n// State\nconst hasLoaded = ref(false);\nconst isFavorite = ref(false);\nconst followedArtists = ref([]);\nconst moreAlbums = ref([]);\n\n// Clear state\nalbumsState.currentAlbum = null;\nalbumsState.currentAlbumTracks = [];\n\n// Computed\nconst album = computed(() => albumsState.currentAlbum);\nconst albumTracks = computed(() => albumsState.currentAlbumTracks || []);\n\nconst isOwner = computed(() => {\n return album.value?.owner?.target === authState.user?._id;\n});\n\nconst totalDuration = computed(() => {\n if (!albumTracks.value.length) return '0:00';\n const totalSeconds = albumTracks.value.reduce((sum, track) => sum + (track.duration || 0), 0);\n return formatDuration(totalSeconds);\n});\n\nconst actionButtons = computed(() => {\n const buttons = [\n {\n type: 'button',\n class: 't-white bg-black',\n icon: IconPlay,\n iconFill: 'rgb(var(--white))',\n text: 'Play All',\n action: playAlbum\n },\n {\n type: 'button',\n class: 'bg-light',\n icon: IconShuffle,\n text: 'Shuffle',\n action: shufflePlay\n },\n {\n type: 'button',\n class: 'bg-light',\n icon: IconLike,\n iconFill: isFavorite.value ? 'rgb(var(--main))' : 'rgb(var(--black))',\n text: isFavorite.value ? 'Liked' : 'Like',\n action: toggleFavorite\n },\n {\n type: 'dropdown',\n items: [\n { text: 'Add to Queue', action: addToQueue },\n { text: 'Copy Link', action: copyLink },\n { text: 'Add to Playlist', action: addToPlaylist }\n ]\n }\n ];\n\n if (isOwner.value) {\n const items = buttons[3].items;\n items.push({ separator: true });\n items.push({ text: 'Edit Album', action: editAlbum });\n items.push({ text: 'Delete Album', action: deleteAlbum, color: 'danger' });\n }\n\n return buttons;\n});\n\n// Format helpers\nconst formatDate = (dateString) => {\n if (!dateString) return 'Unknown';\n return new Date(dateString).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n });\n};\n\nconst formatDuration = (seconds) => {\n if (!seconds) return '0:00';\n const h = Math.floor(seconds / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n const s = Math.floor(seconds % 60);\n \n if (h > 0) {\n return `${h}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n }\n return `${m}:${s.toString().padStart(2, '0')}`;\n};\n\nconst formatNumber = (num) => {\n if (!num) return '0';\n if (num >= 1000000) {\n return (num / 1000000).toFixed(1) + 'M';\n } else if (num >= 1000) {\n return (num / 1000).toFixed(1) + 'K';\n }\n return num.toString();\n};\n\n// Actions\nconst playAlbum = () => {\n if (albumTracks.value && albumTracks.value.length > 0) {\n playerActions.setQueue(albumTracks.value);\n }\n};\n\nconst shufflePlay = () => {\n if (albumTracks.value && albumTracks.value.length > 0) {\n const shuffled = [...albumTracks.value].sort(() => Math.random() - 0.5);\n playerActions.setQueue(shuffled);\n }\n};\n\nconst toggleFavorite = () => {\n isFavorite.value = !isFavorite.value;\n // TODO: Implement actual saving\n};\n\nconst toggleFollowArtist = (artistId) => {\n const index = followedArtists.value.indexOf(artistId);\n if (index > -1) {\n followedArtists.value.splice(index, 1);\n } else {\n followedArtists.value.push(artistId);\n }\n // TODO: Implement actual following\n};\n\nconst addToQueue = () => {\n if (albumTracks.value.length > 0) {\n albumTracks.value.forEach(track => {\n playerActions.addToQueue(track);\n });\n }\n};\n\nconst addToPlaylist = () => {\n // TODO: Implement add to playlist\n console.log('Add album to playlist');\n};\n\nconst editAlbum = () => {\n router.push({ name: 'album-edit', params: { url: album.value.url } });\n};\n\nconst deleteAlbum = async () => {\n if (confirm('Are you sure you want to delete this album?')) {\n try {\n await albumsActions.deleteAlbum(album.value._id);\n router.push({ name: 'music-library' });\n } catch (error) {\n console.error('Failed to delete album:', error);\n }\n }\n};\n\nconst copyLink = () => {\n navigator.clipboard.writeText(window.location.href);\n};\n\n// Data fetching\nconst fetchAlbumData = async () => {\n try {\n await albumsActions.fetchAlbumByUrl(route.params.url);\n \n // Fetch more albums from the same artists\n if (album.value?.artists?.length) {\n const artistIds = album.value.artists.map(a => a._id);\n const albums = await albumsActions.fetchAlbums({\n artist: { $in: artistIds },\n status: 'published',\n isPublic: true,\n limit: 6\n });\n \n // Filter out current album\n moreAlbums.value = albums.filter(a => a._id !== album.value._id).slice(0, 5);\n }\n } catch (error) {\n console.error('Error fetching album data:', error);\n }\n};\n\n// Lifecycle\nonMounted(async () => {\n emits('page-loading');\n \n await fetchAlbumData();\n \n hasLoaded.value = true;\n emits('page-loaded');\n});\n</script>\n\n<style scoped>\n</style>"],"names":["albumsState","authState","IconPlay","IconShuffle","IconLike","playerActions","albumsActions"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ref, computed, onMounted, createElementBlock, openBlock, createCommentVNode, createElementVNode, createVNode, unref, withCtx, createTextVNode, normalizeStyle, normalizeClass, toDisplayString, Fragment, renderList, createBlock } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
4
- /* empty css */
4
+ /* empty css */
5
5
  import _sfc_main$2 from "../cards/TrackListCard.vue.js";
6
6
  import { state, actions } from "../../store/artists.js";
7
7
  import { state as state$1 } from "../../../auth/views/store/auth.js";
@@ -15,7 +15,7 @@ const _hoisted_2 = {
15
15
  const _hoisted_3 = { key: 1 };
16
16
  const _hoisted_4 = {
17
17
  key: 0,
18
- class: "pos-absolute pos-t-medium pos-r-medium z-index-1"
18
+ class: "pos-absolute pos-t-small pos-r-small z-index-1"
19
19
  };
20
20
  const _hoisted_5 = { class: "flex-v-center t-white pos-absolute pos-b-0 pos-l-0 w-100 pd-medium z-index-1 flex mobile:flex-column mobile:flex-h-center" };
21
21
  const _hoisted_6 = { class: "w-15r h-15r radius-medium o-hidden mn-r-medium bs-black mobile:mn-r-0 mobile:mn-b-medium" };
@@ -43,7 +43,7 @@ const _hoisted_18 = ["href"];
43
43
  const _hoisted_19 = ["href"];
44
44
  const _hoisted_20 = ["href"];
45
45
  const _hoisted_21 = { class: "pd-medium" };
46
- const _hoisted_22 = { class: "cols-2-1_2 gap-regular mobile:cols-1" };
46
+ const _hoisted_22 = { class: "cols-[1fr_2fr] gap-regular mobile:cols-1" };
47
47
  const _hoisted_23 = { class: "bg-light pd-medium radius-medium mn-b-medium" };
48
48
  const _hoisted_24 = {
49
49
  key: 0,
@@ -71,7 +71,7 @@ const _hoisted_33 = {
71
71
  class: "w-100 h-100 bg-light flex-center flex"
72
72
  };
73
73
  const _hoisted_34 = { class: "w-100 o-hidden" };
74
- const _hoisted_35 = { class: "p-regular t-truncate" };
74
+ const _hoisted_35 = { class: "p-regular truncate" };
75
75
  const _hoisted_36 = { class: "p-small t-transp" };
76
76
  const _hoisted_37 = {
77
77
  key: 1,
@@ -86,7 +86,7 @@ const _hoisted_42 = {
86
86
  class: "w-100 h-100 bg-light flex-center flex"
87
87
  };
88
88
  const _hoisted_43 = { class: "w-100 o-hidden" };
89
- const _hoisted_44 = { class: "p-regular t-truncate" };
89
+ const _hoisted_44 = { class: "p-regular truncate" };
90
90
  const _hoisted_45 = { class: "p-small t-transp" };
91
91
  const _hoisted_46 = {
92
92
  key: 2,
@@ -109,7 +109,7 @@ const _hoisted_54 = {
109
109
  key: 1,
110
110
  class: "w-100 h-100 bg-light flex-center flex"
111
111
  };
112
- const _hoisted_55 = { class: "p-regular t-truncate" };
112
+ const _hoisted_55 = { class: "p-regular truncate" };
113
113
  const _sfc_main = {
114
114
  __name: "Artist",
115
115
  emits: ["page-loading", "page-loaded"],
@@ -301,7 +301,7 @@ const _sfc_main = {
301
301
  (openBlock(true), createElementBlock(Fragment, null, renderList(discography.value.albums, (album) => {
302
302
  return openBlock(), createElementBlock("div", {
303
303
  key: album._id,
304
- class: "bg-white pd-small radius-medium flex-v-center flex cursor-pointer hover-bg-white",
304
+ class: "bg-white pd-small radius-medium flex-v-center flex cursor-pointer hover:bg-white",
305
305
  onClick: ($event) => unref(router).push({ name: "album", params: { url: album.url } })
306
306
  }, [
307
307
  createElementVNode("div", _hoisted_31, [
@@ -340,7 +340,7 @@ const _sfc_main = {
340
340
  (openBlock(true), createElementBlock(Fragment, null, renderList(discography.value.singles, (single) => {
341
341
  return openBlock(), createElementBlock("div", {
342
342
  key: single._id,
343
- class: "bg-white pd-small radius-medium flex-v-center flex cursor-pointer hover-bg-white",
343
+ class: "bg-white pd-small radius-medium flex-v-center flex cursor-pointer hover:bg-white",
344
344
  onClick: ($event) => unref(router).push({ name: "track", params: { url: single.url } })
345
345
  }, [
346
346
  createElementVNode("div", _hoisted_40, [
@@ -1 +1 @@
1
- {"version":3,"file":"Artist.vue.js","sources":["../../../../../../../src/modules/music/components/pages/Artist.vue"],"sourcesContent":["<template>\n <div class=\"w-100 pos-relative\">\n \n <!-- Artist not found -->\n <div v-if=\"hasLoaded && !artist\" class=\"flex-center flex-column flex pd-extra\">\n <h2 class=\"h2 mn-b-medium\">Artist Not Found</h2>\n <p class=\"p-regular t-transp mn-b-medium\">The artist you are looking for doesn't exist or may have been removed.</p>\n <Button\n :submit=\"() => router.push({ name: 'music-home' })\"\n class=\"bg-main \"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Back to Music\n </Button>\n </div>\n \n <!-- Artist content -->\n <div v-if=\"artist\">\n <!-- Cover image -->\n <div \n class=\"w-100 t-white h-50vh pos-relative\"\n :style=\"artist.coverUrl ? `background-image: url(${FILE_SERVER_URL + artist.coverUrl}); background-size: cover; background-position: center;` : ''\"\n >\n <div class=\"pos-absolute pos-t-0 pos-l-0 w-100 h-100 bg-blur-small\" :class=\"artist.coverUrl ? 'bg-black-transp-50' : 'bg-dark'\"></div>\n \n <!-- Artist actions for edit/manage -->\n <div v-if=\"isOwner\" class=\"pos-absolute pos-t-medium pos-r-medium z-index-1\">\n <Button\n @click=\"router.push({ name: 'artist-edit', params: { url: artist.url } })\"\n class=\"bg-main mn-r-small\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Edit Artist\n </Button>\n \n <Button\n @click=\"router.push({ name: 'artist-manage-content', params: { artistId: artist._id } })\"\n class=\"bg-white t-black\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Manage Content\n </Button>\n </div>\n \n <!-- Artist profile info -->\n <div class=\"flex-v-center t-white pos-absolute pos-b-0 pos-l-0 w-100 pd-medium z-index-1 flex mobile:flex-column mobile:flex-h-center\">\n <div class=\"w-15r h-15r radius-medium o-hidden mn-r-medium bs-black mobile:mn-r-0 mobile:mn-b-medium\">\n <img\n v-if=\"artist.photoUrl\"\n :src=\"FILE_SERVER_URL + (artist.photoUrl || '/logo/logo-placeholder.jpg')\"\n alt=\"Artist photo\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <div v-else class=\"w-100 h-100 bg-black flex-center flex\">\n <span class=\"h1 t-white\">{{ artist?.name?.[0] || 'A' }}</span>\n </div>\n </div>\n \n <div class=\" mobile:t-center\">\n <div class=\"flex-v-center flex-nowrap flex mn-b-small mobile:flex-center\">\n <h1 class=\"h1 mn-r-small\">{{ artist.name }}</h1>\n <span v-if=\"artist.isVerified\" class=\"bg-main-nano pd-micro radius-small\">\n ✓ Verified\n </span>\n </div>\n \n <p v-if=\"artist.location\" class=\"p-regular mn-b-small\">{{ artist.location }}</p>\n \n <!-- Social media links -->\n <div class=\"flex flex-nowrap gap-small mobile:flex-center\">\n <a \n v-if=\"artist.socials.telegram\" \n :href=\"`https://t.me/${artist.socials.telegram}`\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>T</span>\n </a>\n \n <a \n v-if=\"artist.socials.twitter\" \n :href=\"`https://twitter.com/${artist.socials.twitter}`\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>𝕏</span>\n </a>\n \n <a \n v-if=\"artist.socials.instagram\" \n :href=\"`https://instagram.com/${artist.socials.instagram}`\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>I</span>\n </a>\n \n <a \n v-if=\"artist.socials.facebook\" \n :href=\"`https://facebook.com/${artist.socials.facebook}`\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>F</span>\n </a>\n \n <a \n v-if=\"artist.website\" \n :href=\"artist.website\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>W</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n \n <!-- Main content -->\n <div class=\"pd-medium\">\n <div class=\"cols-2-1_2 gap-regular mobile:cols-1\">\n <!-- Left column - Bio and details -->\n <div>\n <div class=\"bg-light pd-medium radius-medium mn-b-medium\">\n <h2 class=\"h3 mn-b-small\">Biography</h2>\n <p v-if=\"artist.bio\" class=\"p-regular\">{{ artist.bio }}</p>\n <p v-else class=\"p-regular t-transp\">No biography available for this artist.</p>\n </div>\n \n <!-- Genres -->\n <div v-if=\"genres.length > 0\" class=\"bg-light pd-medium radius-medium\">\n <h2 class=\"h3 mn-b-small\">Genres</h2>\n <div class=\"flex flex-wrap gap-small\">\n <span \n v-for=\"genre in genres\" \n :key=\"genre._id\"\n class=\"bg-white pd-thin radius-medium\"\n >\n {{ genre.name }}\n </span>\n </div>\n </div>\n </div>\n \n <!-- Right column - Discography -->\n <div>\n <!-- Albums section -->\n <div v-if=\"discography.albums.length > 0\" class=\"bg-light pd-medium radius-medium mn-b-medium\">\n <h2 class=\"h3 mn-b-medium\">Albums</h2>\n \n <div class=\"cols-2 gap-small mobile:cols-1\">\n <div\n v-for=\"album in discography.albums\"\n :key=\"album._id\"\n class=\"bg-white pd-small radius-medium flex-v-center flex cursor-pointer hover-bg-white\"\n @click=\"router.push({ name: 'album', params: { url: album.url } })\"\n >\n <div class=\"w-3r h-3r radius-small o-hidden mn-r-small\">\n <img\n v-if=\"album.coverUrl\"\n :src=\"FILE_SERVER_URL + album.coverUrl\"\n alt=\"Album cover\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <div v-else class=\"w-100 h-100 bg-light flex-center flex\">\n <span>A</span>\n </div>\n </div>\n \n <div class=\"w-100 o-hidden\">\n <p class=\"p-regular t-truncate\">{{ album.title }}</p>\n <p class=\"p-small t-transp\">{{ formatDate(album.releaseDate) }}</p>\n </div>\n </div>\n </div>\n \n <Button\n v-if=\"discography.albums.length > 4\"\n @click=\"router.push({ name: 'artist-albums', params: { artistId: artist._id } })\"\n class=\"mn-t-small w-100 bg-white t-black\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n View All Albums\n </Button>\n </div>\n \n <!-- Singles section -->\n <div v-if=\"discography.singles.length > 0\" class=\"bg-light pd-medium mn-b-medium radius-medium\">\n <h2 class=\"h3 mn-b-medium\">Singles & EPs</h2>\n \n <div class=\"cols-1 gap-small\">\n <div\n v-for=\"single in discography.singles\"\n :key=\"single._id\"\n class=\"bg-white pd-small radius-medium flex-v-center flex cursor-pointer hover-bg-white\"\n @click=\"router.push({ name: 'track', params: { url: single.url } })\"\n >\n <div class=\"w-3r h-3r radius-small o-hidden mn-r-small\">\n <img\n v-if=\"single.coverUrl\"\n :src=\"FILE_SERVER_URL + single.coverUrl\"\n alt=\"Single cover\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <div v-else class=\"w-100 h-100 bg-light flex-center flex\">\n <span>S</span>\n </div>\n </div>\n \n <div class=\"w-100 o-hidden\">\n <p class=\"p-regular t-truncate\">{{ single.title }}</p>\n <p class=\"p-small t-transp\">{{ formatDate(single.releaseDate) }}</p>\n </div>\n </div>\n </div>\n \n <Button\n v-if=\"discography.singles.length > 5\"\n @click=\"router.push({ name: 'artist-singles', params: { artistId: artist._id } })\"\n class=\"mn-t-small w-100 bg-white t-black\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n View All Singles & EPs\n </Button>\n </div>\n \n <!-- Popular Tracks Section -->\n <div v-if=\"artistTracks.length > 0\" class=\"bg-light pd-medium radius-medium mn-b-medium\">\n <h2 class=\"h3 mn-b-medium\">Popular Tracks</h2>\n \n <div class=\"bg-white radius-medium o-hidden\">\n <TrackListCard\n v-for=\"(track, index) in artistTracks\"\n :key=\"track._id\"\n :track=\"track\"\n :index=\"index\"\n :showAlbum=\"true\"\n :showCover=\"true\"\n />\n </div>\n </div>\n \n <!-- No discography yet -->\n <div \n v-if=\"discography.albums.length === 0 && discography.singles.length === 0\" \n class=\"bg-light pd-medium radius-medium t-center\"\n >\n <p class=\"p-regular mn-b-small\">No releases yet</p>\n <p class=\"p-small t-transp\">This artist hasn't released any albums or singles yet.</p>\n \n <Button\n v-if=\"isOwner\"\n @click=\"router.push({ name: 'release-create', query: { artistId: artist._id } })\"\n class=\"mn-t-medium bg-main \"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Add Release\n </Button>\n </div>\n </div>\n </div>\n \n <!-- Related Artists -->\n <div v-if=\"relatedArtists.length > 0\" class=\"mn-t-medium\">\n <h2 class=\"h3 mn-b-medium\">Fans Also Like</h2>\n \n <div class=\"cols-5 gap-regular mobile:cols-2\">\n <div\n v-for=\"relatedArtist in relatedArtists\"\n :key=\"relatedArtist._id\"\n class=\"t-center cursor-pointer\"\n @click=\"router.push({ name: 'artist', params: { url: relatedArtist.url } })\"\n >\n <div class=\"w-100 aspect-1x1 radius-medium o-hidden mn-b-small\">\n <img\n v-if=\"relatedArtist.photoUrl\"\n :src=\"FILE_SERVER_URL + relatedArtist.photoUrl\"\n alt=\"Artist photo\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <div v-else class=\"w-100 h-100 bg-light flex-center flex\">\n <span>{{ relatedArtist?.name?.[0] || 'A' }}</span>\n </div>\n </div>\n \n <p class=\"p-regular t-truncate\">{{ relatedArtist.name }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useRouter, useRoute } from 'vue-router';\n\n// Import Martyrs components\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport TrackListCard from '../cards/TrackListCard.vue';\n\n// Import store\nimport * as artistsStore from '../../store/artists';\n// import * as genreStore from '../../store/genres'; // Assuming you have a genre store\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n\nconst store = useStore();\n\n// Import mixins\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\nconst { formatDate } = useGlobalMixins();\n\n// Router and route\nconst router = useRouter();\nconst route = useRoute();\n\n// Emits\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n// State\nconst genres = ref([]);\nconst hasLoaded = ref(false);\n\n// Computed\nconst artist = computed(() => {\n return artistsStore.state.currentArtist;\n});\n\nconst discography = computed(() => {\n return artistsStore.state.discography;\n});\n\nconst relatedArtists = computed(() => {\n return artistsStore.state.relatedArtists;\n});\n\nconst artistTracks = computed(() => {\n return artistsStore.state.discography.tracks || [];\n});\n\nconst isOwner = computed(() => {\n if (!artist.value || !auth.state.user._id) return false;\n \n // Check if current user is the creator of the artist\n return artist.value.creator?.target?._id === auth.state.user._id;\n});\n\n// Clear current artist state\nartistsStore.state.currentArtist = null;\n// Clear discography state\nartistsStore.state.discography = {\n albums: [],\n singles: [],\n tracks: []\n};\nartistsStore.state.relatedArtists = [];\n\n// Methods\nconst fetchArtist = async () => {\n try {\n // Get URL from route params\n const url = route.params.url;\n if (!url) {\n throw new Error('Artist URL is required');\n }\n \n await artistsStore.actions.fetchArtistByUrl(url);\n } catch (error) {\n console.error('Error fetching artist:', error);\n store.core.actions.setError({\n message: 'Failed to load artist'\n });\n }\n};\n\n// Lifecycle hooks\nonMounted(async () => {\n emits('page-loading');\n \n await fetchArtist();\n \n hasLoaded.value = true;\n emits('page-loaded');\n});\n</script>\n"],"names":["artistsStore.state","auth.state","artistsStore.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4TA,UAAM,QAAQ,SAAQ;AAItB,UAAM,EAAE,WAAU,IAAK,gBAAe;AAGtC,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAGtB,UAAM,QAAQ;AAGd,UAAM,SAAS,IAAI,EAAE;AACrB,UAAM,YAAY,IAAI,KAAK;AAG3B,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAOA,MAAmB;AAAA,IAC5B,CAAC;AAED,UAAM,cAAc,SAAS,MAAM;AACjC,aAAOA,MAAmB;AAAA,IAC5B,CAAC;AAED,UAAM,iBAAiB,SAAS,MAAM;AACpC,aAAOA,MAAmB;AAAA,IAC5B,CAAC;AAED,UAAM,eAAe,SAAS,MAAM;AAClC,aAAOA,MAAmB,YAAY,UAAU,CAAA;AAAA,IAClD,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC7B,UAAI,CAAC,OAAO,SAAS,CAACC,QAAW,KAAK,IAAK,QAAO;AAGlD,aAAO,OAAO,MAAM,SAAS,QAAQ,QAAQA,QAAW,KAAK;AAAA,IAC/D,CAAC;AAGDD,UAAmB,gBAAgB;AAEnCA,UAAmB,cAAc;AAAA,MAC/B,QAAQ,CAAA;AAAA,MACR,SAAS,CAAA;AAAA,MACT,QAAQ,CAAA;AAAA,IACV;AACAA,UAAmB,iBAAiB,CAAA;AAGpC,UAAM,cAAc,YAAY;AAC9B,UAAI;AAEF,cAAM,MAAM,MAAM,OAAO;AACzB,YAAI,CAAC,KAAK;AACR,gBAAM,IAAI,MAAM,wBAAwB;AAAA,QAC1C;AAEA,cAAME,QAAqB,iBAAiB,GAAG;AAAA,MACjD,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAC7C,cAAM,KAAK,QAAQ,SAAS;AAAA,UAC1B,SAAS;AAAA,QACf,CAAK;AAAA,MACH;AAAA,IACF;AAGA,cAAU,YAAY;AACpB,YAAM,cAAc;AAEpB,YAAM,YAAW;AAEjB,gBAAU,QAAQ;AAClB,YAAM,aAAa;AAAA,IACrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Artist.vue.js","sources":["../../../../../../../src/modules/music/components/pages/Artist.vue"],"sourcesContent":["<template>\n <div class=\"w-100 pos-relative\">\n \n <!-- Artist not found -->\n <div v-if=\"hasLoaded && !artist\" class=\"flex-center flex-column flex pd-extra\">\n <h2 class=\"h2 mn-b-medium\">Artist Not Found</h2>\n <p class=\"p-regular t-transp mn-b-medium\">The artist you are looking for doesn't exist or may have been removed.</p>\n <Button\n :submit=\"() => router.push({ name: 'music-home' })\"\n class=\"bg-main \"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Back to Music\n </Button>\n </div>\n \n <!-- Artist content -->\n <div v-if=\"artist\">\n <!-- Cover image -->\n <div \n class=\"w-100 t-white h-50vh pos-relative\"\n :style=\"artist.coverUrl ? `background-image: url(${FILE_SERVER_URL + artist.coverUrl}); background-size: cover; background-position: center;` : ''\"\n >\n <div class=\"pos-absolute pos-t-0 pos-l-0 w-100 h-100 bg-blur-small\" :class=\"artist.coverUrl ? 'bg-black-transp-50' : 'bg-dark'\"></div>\n \n <!-- Artist actions for edit/manage -->\n <div v-if=\"isOwner\" class=\"pos-absolute pos-t-small pos-r-small z-index-1\">\n <Button\n @click=\"router.push({ name: 'artist-edit', params: { url: artist.url } })\"\n class=\"bg-main mn-r-small\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Edit Artist\n </Button>\n \n <Button\n @click=\"router.push({ name: 'artist-manage-content', params: { artistId: artist._id } })\"\n class=\"bg-white t-black\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Manage Content\n </Button>\n </div>\n \n <!-- Artist profile info -->\n <div class=\"flex-v-center t-white pos-absolute pos-b-0 pos-l-0 w-100 pd-medium z-index-1 flex mobile:flex-column mobile:flex-h-center\">\n <div class=\"w-15r h-15r radius-medium o-hidden mn-r-medium bs-black mobile:mn-r-0 mobile:mn-b-medium\">\n <img\n v-if=\"artist.photoUrl\"\n :src=\"FILE_SERVER_URL + (artist.photoUrl || '/logo/logo-placeholder.jpg')\"\n alt=\"Artist photo\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <div v-else class=\"w-100 h-100 bg-black flex-center flex\">\n <span class=\"h1 t-white\">{{ artist?.name?.[0] || 'A' }}</span>\n </div>\n </div>\n \n <div class=\" mobile:t-center\">\n <div class=\"flex-v-center flex-nowrap flex mn-b-small mobile:flex-center\">\n <h1 class=\"h1 mn-r-small\">{{ artist.name }}</h1>\n <span v-if=\"artist.isVerified\" class=\"bg-main-nano pd-micro radius-small\">\n ✓ Verified\n </span>\n </div>\n \n <p v-if=\"artist.location\" class=\"p-regular mn-b-small\">{{ artist.location }}</p>\n \n <!-- Social media links -->\n <div class=\"flex flex-nowrap gap-small mobile:flex-center\">\n <a \n v-if=\"artist.socials.telegram\" \n :href=\"`https://t.me/${artist.socials.telegram}`\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>T</span>\n </a>\n \n <a \n v-if=\"artist.socials.twitter\" \n :href=\"`https://twitter.com/${artist.socials.twitter}`\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>𝕏</span>\n </a>\n \n <a \n v-if=\"artist.socials.instagram\" \n :href=\"`https://instagram.com/${artist.socials.instagram}`\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>I</span>\n </a>\n \n <a \n v-if=\"artist.socials.facebook\" \n :href=\"`https://facebook.com/${artist.socials.facebook}`\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>F</span>\n </a>\n \n <a \n v-if=\"artist.website\" \n :href=\"artist.website\" \n target=\"_blank\"\n class=\"bg-white t-black flex-center flex w-2r h-2r radius-extra\"\n >\n <span>W</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n \n <!-- Main content -->\n <div class=\"pd-medium\">\n <div class=\"cols-[1fr_2fr] gap-regular mobile:cols-1\">\n <!-- Left column - Bio and details -->\n <div>\n <div class=\"bg-light pd-medium radius-medium mn-b-medium\">\n <h2 class=\"h3 mn-b-small\">Biography</h2>\n <p v-if=\"artist.bio\" class=\"p-regular\">{{ artist.bio }}</p>\n <p v-else class=\"p-regular t-transp\">No biography available for this artist.</p>\n </div>\n \n <!-- Genres -->\n <div v-if=\"genres.length > 0\" class=\"bg-light pd-medium radius-medium\">\n <h2 class=\"h3 mn-b-small\">Genres</h2>\n <div class=\"flex flex-wrap gap-small\">\n <span \n v-for=\"genre in genres\" \n :key=\"genre._id\"\n class=\"bg-white pd-thin radius-medium\"\n >\n {{ genre.name }}\n </span>\n </div>\n </div>\n </div>\n \n <!-- Right column - Discography -->\n <div>\n <!-- Albums section -->\n <div v-if=\"discography.albums.length > 0\" class=\"bg-light pd-medium radius-medium mn-b-medium\">\n <h2 class=\"h3 mn-b-medium\">Albums</h2>\n \n <div class=\"cols-2 gap-small mobile:cols-1\">\n <div\n v-for=\"album in discography.albums\"\n :key=\"album._id\"\n class=\"bg-white pd-small radius-medium flex-v-center flex cursor-pointer hover:bg-white\"\n @click=\"router.push({ name: 'album', params: { url: album.url } })\"\n >\n <div class=\"w-3r h-3r radius-small o-hidden mn-r-small\">\n <img\n v-if=\"album.coverUrl\"\n :src=\"FILE_SERVER_URL + album.coverUrl\"\n alt=\"Album cover\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <div v-else class=\"w-100 h-100 bg-light flex-center flex\">\n <span>A</span>\n </div>\n </div>\n \n <div class=\"w-100 o-hidden\">\n <p class=\"p-regular truncate\">{{ album.title }}</p>\n <p class=\"p-small t-transp\">{{ formatDate(album.releaseDate) }}</p>\n </div>\n </div>\n </div>\n \n <Button\n v-if=\"discography.albums.length > 4\"\n @click=\"router.push({ name: 'artist-albums', params: { artistId: artist._id } })\"\n class=\"mn-t-small w-100 bg-white t-black\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n View All Albums\n </Button>\n </div>\n \n <!-- Singles section -->\n <div v-if=\"discography.singles.length > 0\" class=\"bg-light pd-medium mn-b-medium radius-medium\">\n <h2 class=\"h3 mn-b-medium\">Singles & EPs</h2>\n \n <div class=\"cols-1 gap-small\">\n <div\n v-for=\"single in discography.singles\"\n :key=\"single._id\"\n class=\"bg-white pd-small radius-medium flex-v-center flex cursor-pointer hover:bg-white\"\n @click=\"router.push({ name: 'track', params: { url: single.url } })\"\n >\n <div class=\"w-3r h-3r radius-small o-hidden mn-r-small\">\n <img\n v-if=\"single.coverUrl\"\n :src=\"FILE_SERVER_URL + single.coverUrl\"\n alt=\"Single cover\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <div v-else class=\"w-100 h-100 bg-light flex-center flex\">\n <span>S</span>\n </div>\n </div>\n \n <div class=\"w-100 o-hidden\">\n <p class=\"p-regular truncate\">{{ single.title }}</p>\n <p class=\"p-small t-transp\">{{ formatDate(single.releaseDate) }}</p>\n </div>\n </div>\n </div>\n \n <Button\n v-if=\"discography.singles.length > 5\"\n @click=\"router.push({ name: 'artist-singles', params: { artistId: artist._id } })\"\n class=\"mn-t-small w-100 bg-white t-black\"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n View All Singles & EPs\n </Button>\n </div>\n \n <!-- Popular Tracks Section -->\n <div v-if=\"artistTracks.length > 0\" class=\"bg-light pd-medium radius-medium mn-b-medium\">\n <h2 class=\"h3 mn-b-medium\">Popular Tracks</h2>\n \n <div class=\"bg-white radius-medium o-hidden\">\n <TrackListCard\n v-for=\"(track, index) in artistTracks\"\n :key=\"track._id\"\n :track=\"track\"\n :index=\"index\"\n :showAlbum=\"true\"\n :showCover=\"true\"\n />\n </div>\n </div>\n \n <!-- No discography yet -->\n <div \n v-if=\"discography.albums.length === 0 && discography.singles.length === 0\" \n class=\"bg-light pd-medium radius-medium t-center\"\n >\n <p class=\"p-regular mn-b-small\">No releases yet</p>\n <p class=\"p-small t-transp\">This artist hasn't released any albums or singles yet.</p>\n \n <Button\n v-if=\"isOwner\"\n @click=\"router.push({ name: 'release-create', query: { artistId: artist._id } })\"\n class=\"mn-t-medium bg-main \"\n :showSucces=\"false\"\n :showLoader=\"false\"\n >\n Add Release\n </Button>\n </div>\n </div>\n </div>\n \n <!-- Related Artists -->\n <div v-if=\"relatedArtists.length > 0\" class=\"mn-t-medium\">\n <h2 class=\"h3 mn-b-medium\">Fans Also Like</h2>\n \n <div class=\"cols-5 gap-regular mobile:cols-2\">\n <div\n v-for=\"relatedArtist in relatedArtists\"\n :key=\"relatedArtist._id\"\n class=\"t-center cursor-pointer\"\n @click=\"router.push({ name: 'artist', params: { url: relatedArtist.url } })\"\n >\n <div class=\"w-100 aspect-1x1 radius-medium o-hidden mn-b-small\">\n <img\n v-if=\"relatedArtist.photoUrl\"\n :src=\"FILE_SERVER_URL + relatedArtist.photoUrl\"\n alt=\"Artist photo\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <div v-else class=\"w-100 h-100 bg-light flex-center flex\">\n <span>{{ relatedArtist?.name?.[0] || 'A' }}</span>\n </div>\n </div>\n \n <p class=\"p-regular truncate\">{{ relatedArtist.name }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useRouter, useRoute } from 'vue-router';\n\n// Import Martyrs components\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue';\nimport TrackListCard from '../cards/TrackListCard.vue';\n\n// Import store\nimport * as artistsStore from '../../store/artists';\n// import * as genreStore from '../../store/genres'; // Assuming you have a genre store\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n\nconst store = useStore();\n\n// Import mixins\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\nconst { formatDate } = useGlobalMixins();\n\n// Router and route\nconst router = useRouter();\nconst route = useRoute();\n\n// Emits\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n// State\nconst genres = ref([]);\nconst hasLoaded = ref(false);\n\n// Computed\nconst artist = computed(() => {\n return artistsStore.state.currentArtist;\n});\n\nconst discography = computed(() => {\n return artistsStore.state.discography;\n});\n\nconst relatedArtists = computed(() => {\n return artistsStore.state.relatedArtists;\n});\n\nconst artistTracks = computed(() => {\n return artistsStore.state.discography.tracks || [];\n});\n\nconst isOwner = computed(() => {\n if (!artist.value || !auth.state.user._id) return false;\n \n // Check if current user is the creator of the artist\n return artist.value.creator?.target?._id === auth.state.user._id;\n});\n\n// Clear current artist state\nartistsStore.state.currentArtist = null;\n// Clear discography state\nartistsStore.state.discography = {\n albums: [],\n singles: [],\n tracks: []\n};\nartistsStore.state.relatedArtists = [];\n\n// Methods\nconst fetchArtist = async () => {\n try {\n // Get URL from route params\n const url = route.params.url;\n if (!url) {\n throw new Error('Artist URL is required');\n }\n \n await artistsStore.actions.fetchArtistByUrl(url);\n } catch (error) {\n console.error('Error fetching artist:', error);\n store.core.actions.setError({\n message: 'Failed to load artist'\n });\n }\n};\n\n// Lifecycle hooks\nonMounted(async () => {\n emits('page-loading');\n \n await fetchArtist();\n \n hasLoaded.value = true;\n emits('page-loaded');\n});\n</script>\n"],"names":["artistsStore.state","auth.state","artistsStore.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4TA,UAAM,QAAQ,SAAQ;AAItB,UAAM,EAAE,WAAU,IAAK,gBAAe;AAGtC,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAGtB,UAAM,QAAQ;AAGd,UAAM,SAAS,IAAI,EAAE;AACrB,UAAM,YAAY,IAAI,KAAK;AAG3B,UAAM,SAAS,SAAS,MAAM;AAC5B,aAAOA,MAAmB;AAAA,IAC5B,CAAC;AAED,UAAM,cAAc,SAAS,MAAM;AACjC,aAAOA,MAAmB;AAAA,IAC5B,CAAC;AAED,UAAM,iBAAiB,SAAS,MAAM;AACpC,aAAOA,MAAmB;AAAA,IAC5B,CAAC;AAED,UAAM,eAAe,SAAS,MAAM;AAClC,aAAOA,MAAmB,YAAY,UAAU,CAAA;AAAA,IAClD,CAAC;AAED,UAAM,UAAU,SAAS,MAAM;AAC7B,UAAI,CAAC,OAAO,SAAS,CAACC,QAAW,KAAK,IAAK,QAAO;AAGlD,aAAO,OAAO,MAAM,SAAS,QAAQ,QAAQA,QAAW,KAAK;AAAA,IAC/D,CAAC;AAGDD,UAAmB,gBAAgB;AAEnCA,UAAmB,cAAc;AAAA,MAC/B,QAAQ,CAAA;AAAA,MACR,SAAS,CAAA;AAAA,MACT,QAAQ,CAAA;AAAA,IACV;AACAA,UAAmB,iBAAiB,CAAA;AAGpC,UAAM,cAAc,YAAY;AAC9B,UAAI;AAEF,cAAM,MAAM,MAAM,OAAO;AACzB,YAAI,CAAC,KAAK;AACR,gBAAM,IAAI,MAAM,wBAAwB;AAAA,QAC1C;AAEA,cAAME,QAAqB,iBAAiB,GAAG;AAAA,MACjD,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAC7C,cAAM,KAAK,QAAQ,SAAS;AAAA,UAC1B,SAAS;AAAA,QACf,CAAK;AAAA,MACH;AAAA,IACF;AAGA,cAAU,YAAY;AACpB,YAAM,cAAc;AAEpB,YAAM,YAAW;AAEjB,gBAAU,QAAQ;AAClB,YAAM,aAAa;AAAA,IACrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -8,8 +8,6 @@ import { state as state$2, actions as actions$2 } from "../../store/playlists.js
8
8
  import { state, actions } from "../../store/albums.js";
9
9
  import { state as state$1, actions as actions$1 } from "../../store/tracks.js";
10
10
  import { state as state$3, actions as actions$3 } from "../../store/artists.js";
11
- /* empty css */
12
- import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
13
11
  const _hoisted_1 = { class: "music-home-page pd-medium mobile:pd-thin" };
14
12
  const _hoisted_2 = { class: "mn-b-semi" };
15
13
  const _hoisted_3 = { class: "mn-b-medium" };
@@ -21,7 +19,7 @@ const _sfc_main = {
21
19
  return (_ctx, _cache) => {
22
20
  return openBlock(), createElementBlock("div", _hoisted_1, [
23
21
  createElementVNode("section", _hoisted_2, [
24
- _cache[0] || (_cache[0] = createElementVNode("div", { class: "flex-between flex mn-b-small" }, [
22
+ _cache[0] || (_cache[0] = createElementVNode("div", { class: "flex-justify-between flex mn-b-small" }, [
25
23
  createElementVNode("h3", { class: "" }, "New Releases")
26
24
  ], -1)),
27
25
  createVNode(_sfc_main$1, {
@@ -51,17 +49,17 @@ const _sfc_main = {
51
49
  horizontal: false,
52
50
  class: "h-max-15r"
53
51
  },
54
- class: "flex flex-nowrap gap-small o-x-scroll overscroll-behavior-x-contain scroll-behavior-smooth scroll-snap-type-x-mandatory scroll-hide"
52
+ class: "flex flex-nowrap gap-small o-x-scroll overscroll-x-contain scroll-smooth scroll-snap-x-mandatory scroll-hide"
55
53
  }, {
56
54
  default: withCtx(({ items }) => [
57
55
  (openBlock(true), createElementBlock(Fragment, null, renderList(items, (album) => {
58
56
  return openBlock(), createElementBlock("li", {
59
57
  key: album._id,
60
- class: "flex-none scroll-snap-align-start"
58
+ class: "flex-none scroll-snap-start"
61
59
  }, [
62
60
  createVNode(AlbumCard, {
63
61
  album,
64
- class: "w-15r transition-cubic-in-out"
62
+ class: "w-15r ease-cubic-in-out"
65
63
  }, null, 8, ["album"])
66
64
  ]);
67
65
  }), 128))
@@ -70,7 +68,7 @@ const _sfc_main = {
70
68
  }, 8, ["store"])
71
69
  ]),
72
70
  createElementVNode("section", _hoisted_3, [
73
- _cache[1] || (_cache[1] = createElementVNode("div", { class: "flex-between flex mn-b-small" }, [
71
+ _cache[1] || (_cache[1] = createElementVNode("div", { class: "flex-justify-between flex mn-b-small" }, [
74
72
  createElementVNode("h3", { class: "" }, "Popular Tracks")
75
73
  ], -1)),
76
74
  createVNode(_sfc_main$1, {
@@ -116,7 +114,7 @@ const _sfc_main = {
116
114
  }, 8, ["store"])
117
115
  ]),
118
116
  createElementVNode("section", _hoisted_5, [
119
- _cache[2] || (_cache[2] = createElementVNode("div", { class: "flex-between flex mn-b-small" }, [
117
+ _cache[2] || (_cache[2] = createElementVNode("div", { class: "flex-justify-between flex mn-b-small" }, [
120
118
  createElementVNode("h2", { class: "" }, "Featured Playlists")
121
119
  ], -1)),
122
120
  createVNode(_sfc_main$1, {
@@ -153,7 +151,7 @@ const _sfc_main = {
153
151
  }, [
154
152
  createVNode(PlaylistCard, {
155
153
  playlist,
156
- class: "hover-scale-1 transition-cubic-in-out"
154
+ class: "hover:scale-[1.05] ease-cubic-in-out"
157
155
  }, null, 8, ["playlist"])
158
156
  ]);
159
157
  }), 128))
@@ -162,7 +160,7 @@ const _sfc_main = {
162
160
  }, 8, ["store"])
163
161
  ]),
164
162
  createElementVNode("section", null, [
165
- _cache[3] || (_cache[3] = createElementVNode("div", { class: "flex-between flex mn-b-small" }, [
163
+ _cache[3] || (_cache[3] = createElementVNode("div", { class: "flex-justify-between flex mn-b-small" }, [
166
164
  createElementVNode("h2", { class: "" }, "Top Artists")
167
165
  ], -1)),
168
166
  createVNode(_sfc_main$1, {
@@ -196,7 +194,7 @@ const _sfc_main = {
196
194
  return openBlock(), createBlock(ArtistCard, {
197
195
  key: artist._id,
198
196
  artist,
199
- class: "hover-scale-1 transition-cubic-in-out"
197
+ class: "hover:scale-[1.05] ease-cubic-in-out"
200
198
  }, null, 8, ["artist"]);
201
199
  }), 128))
202
200
  ]),
@@ -207,8 +205,7 @@ const _sfc_main = {
207
205
  };
208
206
  }
209
207
  };
210
- const MusicHome = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f86a5570"]]);
211
208
  export {
212
- MusicHome as default
209
+ _sfc_main as default
213
210
  };
214
211
  //# sourceMappingURL=MusicHome.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MusicHome.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MusicHome.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -18,22 +18,22 @@ const _hoisted_4 = {
18
18
  key: 0,
19
19
  class: "playlists-tab"
20
20
  };
21
- const _hoisted_5 = { class: "flex-between flex mn-b-small" };
21
+ const _hoisted_5 = { class: "flex-justify-between flex mn-b-small" };
22
22
  const _hoisted_6 = {
23
23
  key: 1,
24
24
  class: "albums-tab"
25
25
  };
26
- const _hoisted_7 = { class: "flex-between flex mn-b-small" };
26
+ const _hoisted_7 = { class: "flex-justify-between flex mn-b-small" };
27
27
  const _hoisted_8 = {
28
28
  key: 2,
29
29
  class: "artists-tab"
30
30
  };
31
- const _hoisted_9 = { class: "flex-between flex mn-b-small" };
31
+ const _hoisted_9 = { class: "flex-justify-between flex mn-b-small" };
32
32
  const _hoisted_10 = {
33
33
  key: 3,
34
34
  class: "tracks-tab"
35
35
  };
36
- const _hoisted_11 = { class: "flex-between flex mn-b-small" };
36
+ const _hoisted_11 = { class: "flex-justify-between flex mn-b-small" };
37
37
  const _hoisted_12 = { class: "bg-light radius-medium o-hidden" };
38
38
  const _sfc_main = {
39
39
  __name: "MusicLibrary",
@@ -56,7 +56,7 @@ const _sfc_main = {
56
56
  key: tab.id,
57
57
  onClick: ($event) => activeTab.value = tab.id,
58
58
  class: normalizeClass([[
59
- activeTab.value === tab.id ? "bg-white t-black" : "bg-white-transp-50 hover-bg-white"
59
+ activeTab.value === tab.id ? "bg-white t-black" : "bg-white-transp-50 hover:bg-white"
60
60
  ], "radius-extra pd-small"]),
61
61
  showLoader: false,
62
62
  showSucces: false
@@ -74,7 +74,7 @@ const _sfc_main = {
74
74
  _cache[5] || (_cache[5] = createElementVNode("h2", { class: "" }, "Your Playlists", -1)),
75
75
  createVNode(_sfc_main$1, {
76
76
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$router.push({ name: "playlist-create" })),
77
- class: "bg-main radius-small pd-small hover-scale-1",
77
+ class: "bg-main radius-small pd-small hover:scale-[1.05]",
78
78
  showLoader: false,
79
79
  showSucces: false
80
80
  }, {
@@ -116,7 +116,7 @@ const _sfc_main = {
116
116
  _cache[7] || (_cache[7] = createElementVNode("h2", { class: "" }, "Your Albums", -1)),
117
117
  createVNode(_sfc_main$1, {
118
118
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$router.push({ name: "album-create" })),
119
- class: "bg-main radius-small pd-small hover-scale-1",
119
+ class: "bg-main radius-small pd-small hover:scale-[1.05]",
120
120
  showLoader: false,
121
121
  showSucces: false
122
122
  }, {
@@ -158,7 +158,7 @@ const _sfc_main = {
158
158
  _cache[9] || (_cache[9] = createElementVNode("h2", { class: "" }, "Your Artists", -1)),
159
159
  createVNode(_sfc_main$1, {
160
160
  onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$router.push({ name: "artist-create" })),
161
- class: "bg-main radius-small pd-small hover-scale-1",
161
+ class: "bg-main radius-small pd-small hover:scale-[1.05]",
162
162
  showLoader: false,
163
163
  showSucces: false
164
164
  }, {
@@ -200,7 +200,7 @@ const _sfc_main = {
200
200
  _cache[11] || (_cache[11] = createElementVNode("h2", { class: "" }, "Your Tracks", -1)),
201
201
  createVNode(_sfc_main$1, {
202
202
  onClick: _cache[3] || (_cache[3] = ($event) => _ctx.$router.push({ name: "track-create" })),
203
- class: "bg-main radius-small pd-small hover-scale-1",
203
+ class: "bg-main radius-small pd-small hover:scale-[1.05]",
204
204
  showLoader: false,
205
205
  showSucces: false
206
206
  }, {