@ozdao/martyrs 0.2.486 → 0.2.487

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 (591) hide show
  1. package/dist/Media-B2jWzwLB.cjs +1 -0
  2. package/dist/{Media-CXQSPHt2.js → Media-DZ5_ItXQ.js} +3 -3
  3. package/dist/auth.server.cjs +1 -1
  4. package/dist/auth.server.js +1 -1
  5. package/dist/{authJwt-DBB51Iql.cjs → authJwt-D35KyJlE.cjs} +31 -2
  6. package/dist/{authJwt-DcYNNwcr.js → authJwt-DqxhUym0.js} +31 -2
  7. package/dist/chats.server.cjs +1 -1
  8. package/dist/chats.server.js +1 -1
  9. package/dist/community.server.cjs +1 -1
  10. package/dist/community.server.js +1 -1
  11. package/dist/crud-BDIArc5A.cjs +1096 -0
  12. package/dist/crud-DJvpe0aZ.js +1097 -0
  13. package/dist/events.server.cjs +1 -1
  14. package/dist/events.server.js +1 -1
  15. package/dist/files.server.cjs +1 -1
  16. package/dist/files.server.js +1 -1
  17. package/dist/gallery.server.cjs +1 -1
  18. package/dist/gallery.server.js +1 -1
  19. package/dist/{index-CsJwdsBW.js → index-CVuQC4k1.js} +1 -1
  20. package/dist/{index-YNOkL1mu.cjs → index-DiSKVCaA.cjs} +1 -1
  21. package/dist/main-C6_DPWGX.cjs +11 -0
  22. package/dist/{main-Cfh5138F.js → main-nQmkbWsW.js} +825 -826
  23. package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
  24. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
  25. package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
  26. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
  27. package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +5 -6
  28. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
  29. package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +5 -6
  30. package/dist/martyrs/src/components/Field/Field.vue2.js.map +1 -0
  31. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +10 -9
  32. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  33. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +13 -12
  34. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  35. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
  36. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
  37. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  38. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  39. package/dist/martyrs/src/components/Media/Media.vue.cjs +2 -2
  40. package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
  41. package/dist/martyrs/src/components/Media/Media.vue.js +2 -2
  42. package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
  43. package/dist/martyrs/src/components/Select/Select.vue.cjs +2 -2
  44. package/dist/martyrs/src/components/Select/Select.vue.cjs.map +1 -1
  45. package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
  46. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -0
  48. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs.map +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -0
  50. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js.map +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +5 -5
  53. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +5 -5
  55. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -0
  56. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -0
  58. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  59. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +10 -10
  61. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +4 -4
  63. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  64. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +5 -5
  65. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +4 -4
  67. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +23 -23
  69. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  71. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  73. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +11 -11
  75. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +3 -3
  77. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +2 -2
  79. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  81. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +25 -25
  83. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +15 -15
  85. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +9 -2
  86. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  87. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +9 -2
  88. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  89. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -1
  90. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +1 -1
  91. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -1
  92. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  93. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +24 -58
  94. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
  95. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +24 -58
  96. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
  97. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  98. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +2 -2
  99. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +1 -0
  100. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +1 -0
  102. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -1
  103. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js +2 -2
  105. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js +3 -3
  107. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +6 -0
  108. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/globals/views/store/globals.js +6 -0
  110. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  111. package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs +100 -0
  112. package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs.map +1 -0
  113. package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js +100 -0
  114. package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js.map +1 -0
  115. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +224 -0
  116. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs.map +1 -0
  117. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +224 -0
  118. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -0
  119. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs +40 -0
  120. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs.map +1 -0
  121. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js +40 -0
  122. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js.map +1 -0
  123. package/dist/martyrs/src/modules/icons/entities/IconDate.vue.cjs +6 -6
  124. package/dist/martyrs/src/modules/icons/entities/IconDate.vue.js +6 -6
  125. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs +32 -0
  126. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs.map +1 -0
  127. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js +32 -0
  128. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js.map +1 -0
  129. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs +10 -12
  130. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +11 -13
  132. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs +32 -0
  134. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs.map +1 -0
  135. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js +32 -0
  136. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js.map +1 -0
  137. package/dist/martyrs/src/modules/icons/icons.client.cjs +48 -4
  138. package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
  139. package/dist/martyrs/src/modules/icons/icons.client.js +172 -128
  140. package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
  141. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs +5 -7
  142. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs.map +1 -1
  143. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js +5 -7
  144. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js.map +1 -1
  145. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +6 -11
  146. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
  147. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +6 -11
  148. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +6 -11
  150. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
  151. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +6 -11
  152. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
  153. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +62 -6
  154. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
  155. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +189 -133
  156. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  157. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs +21 -12
  158. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs.map +1 -1
  159. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js +21 -12
  160. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs +21 -12
  162. package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs.map +1 -1
  163. package/dist/martyrs/src/modules/icons/socials/facebook.vue.js +21 -12
  164. package/dist/martyrs/src/modules/icons/socials/facebook.vue.js.map +1 -1
  165. package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs +25 -17
  166. package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs.map +1 -1
  167. package/dist/martyrs/src/modules/icons/socials/instagram.vue.js +25 -17
  168. package/dist/martyrs/src/modules/icons/socials/instagram.vue.js.map +1 -1
  169. package/dist/martyrs/src/modules/icons/socials/line.vue.cjs +23 -14
  170. package/dist/martyrs/src/modules/icons/socials/line.vue.cjs.map +1 -1
  171. package/dist/martyrs/src/modules/icons/socials/line.vue.js +23 -14
  172. package/dist/martyrs/src/modules/icons/socials/line.vue.js.map +1 -1
  173. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs +26 -17
  174. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js +26 -17
  176. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs +21 -12
  178. package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/icons/socials/reddit.vue.js +21 -12
  180. package/dist/martyrs/src/modules/icons/socials/reddit.vue.js.map +1 -1
  181. package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs +29 -20
  182. package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs.map +1 -1
  183. package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +29 -20
  184. package/dist/martyrs/src/modules/icons/socials/telegram.vue.js.map +1 -1
  185. package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs +21 -12
  186. package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs.map +1 -1
  187. package/dist/martyrs/src/modules/icons/socials/twitter.vue.js +21 -12
  188. package/dist/martyrs/src/modules/icons/socials/twitter.vue.js.map +1 -1
  189. package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs +21 -12
  190. package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs.map +1 -1
  191. package/dist/martyrs/src/modules/icons/socials/vk.vue.js +21 -12
  192. package/dist/martyrs/src/modules/icons/socials/vk.vue.js.map +1 -1
  193. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs +32 -0
  194. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs.map +1 -0
  195. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js +32 -0
  196. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js.map +1 -0
  197. package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs +21 -12
  198. package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs.map +1 -1
  199. package/dist/martyrs/src/modules/icons/socials/youtube.vue.js +21 -12
  200. package/dist/martyrs/src/modules/icons/socials/youtube.vue.js.map +1 -1
  201. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +3 -3
  202. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +1 -1
  203. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +3 -3
  204. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  205. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +3 -3
  206. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +1 -1
  207. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +3 -3
  208. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +3 -3
  210. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +1 -1
  211. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +3 -3
  212. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  213. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs +2 -2
  214. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs.map +1 -1
  215. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js +2 -2
  216. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js.map +1 -1
  217. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +162 -0
  218. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +1 -0
  219. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +162 -0
  220. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -0
  221. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +437 -0
  222. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -0
  223. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +437 -0
  224. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -0
  225. package/dist/martyrs/src/modules/music/components/{pages → forms}/ArtistForm.vue.cjs +140 -106
  226. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -0
  227. package/dist/martyrs/src/modules/music/components/{pages → forms}/ArtistForm.vue.js +162 -128
  228. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -0
  229. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +11 -11
  230. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
  231. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +23 -23
  232. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +2 -2
  234. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -1
  235. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +2 -2
  236. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +554 -0
  238. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -0
  239. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +554 -0
  240. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -0
  241. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +57 -68
  242. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs.map +1 -1
  243. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +58 -69
  244. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js.map +1 -1
  245. package/dist/martyrs/src/modules/music/components/pages/{AlbumDetail.vue.cjs → Album.vue.cjs} +47 -23
  246. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -0
  247. package/dist/martyrs/src/modules/music/components/pages/{AlbumDetail.vue.js → Album.vue.js} +47 -23
  248. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -0
  249. package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs +14 -0
  250. package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs.map +1 -0
  251. package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js +14 -0
  252. package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js.map +1 -0
  253. package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs +23 -0
  254. package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs.map +1 -0
  255. package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js +23 -0
  256. package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js.map +1 -0
  257. package/dist/martyrs/src/modules/music/components/pages/{ArtistDetail.vue.cjs → Artist.vue.cjs} +11 -11
  258. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -0
  259. package/dist/martyrs/src/modules/music/components/pages/{ArtistDetail.vue.js → Artist.vue.js} +11 -11
  260. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -0
  261. package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs +14 -0
  262. package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs.map +1 -0
  263. package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js +14 -0
  264. package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js.map +1 -0
  265. package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs +23 -0
  266. package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs.map +1 -0
  267. package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js +23 -0
  268. package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js.map +1 -0
  269. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +94 -59
  270. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +1 -1
  271. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +95 -60
  272. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
  273. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +168 -120
  274. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
  275. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +170 -122
  276. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  277. package/dist/martyrs/src/modules/music/components/pages/{PlaylistDetail.vue.cjs → Playlist.vue.cjs} +60 -36
  278. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -0
  279. package/dist/martyrs/src/modules/music/components/pages/{PlaylistDetail.vue.js → Playlist.vue.js} +73 -49
  280. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -0
  281. package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs +14 -0
  282. package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs.map +1 -0
  283. package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js +14 -0
  284. package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js.map +1 -0
  285. package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs +23 -0
  286. package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs.map +1 -0
  287. package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js +23 -0
  288. package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js.map +1 -0
  289. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +52 -28
  290. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -1
  291. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +52 -28
  292. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  293. package/dist/martyrs/src/modules/music/components/pages/{TrackDetail.vue.cjs → Track.vue.cjs} +37 -13
  294. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -0
  295. package/dist/martyrs/src/modules/music/components/pages/{TrackDetail.vue.js → Track.vue.js} +38 -14
  296. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -0
  297. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +28 -0
  298. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs.map +1 -0
  299. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +28 -0
  300. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js.map +1 -0
  301. package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs +23 -0
  302. package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs.map +1 -0
  303. package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js +23 -0
  304. package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js.map +1 -0
  305. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +3 -3
  306. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -1
  307. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +3 -3
  308. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -1
  309. package/dist/martyrs/src/modules/music/music.client.cjs +31 -31
  310. package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -1
  311. package/dist/martyrs/src/modules/music/music.client.js +31 -31
  312. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  313. package/dist/martyrs/src/modules/music/router/albums.cjs +34 -0
  314. package/dist/martyrs/src/modules/music/router/albums.cjs.map +1 -0
  315. package/dist/martyrs/src/modules/music/router/albums.js +34 -0
  316. package/dist/martyrs/src/modules/music/router/albums.js.map +1 -0
  317. package/dist/martyrs/src/modules/music/router/artists.cjs +34 -0
  318. package/dist/martyrs/src/modules/music/router/artists.cjs.map +1 -0
  319. package/dist/martyrs/src/modules/music/router/artists.js +34 -0
  320. package/dist/martyrs/src/modules/music/router/artists.js.map +1 -0
  321. package/dist/martyrs/src/modules/music/router/music.cjs +12 -64
  322. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  323. package/dist/martyrs/src/modules/music/router/music.js +12 -64
  324. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  325. package/dist/martyrs/src/modules/music/router/playlists.cjs +34 -0
  326. package/dist/martyrs/src/modules/music/router/playlists.cjs.map +1 -0
  327. package/dist/martyrs/src/modules/music/router/playlists.js +34 -0
  328. package/dist/martyrs/src/modules/music/router/playlists.js.map +1 -0
  329. package/dist/martyrs/src/modules/music/router/tracks.cjs +34 -0
  330. package/dist/martyrs/src/modules/music/router/tracks.cjs.map +1 -0
  331. package/dist/martyrs/src/modules/music/router/tracks.js +34 -0
  332. package/dist/martyrs/src/modules/music/router/tracks.js.map +1 -0
  333. package/dist/martyrs/src/modules/music/store/artists.cjs +12 -6
  334. package/dist/martyrs/src/modules/music/store/artists.cjs.map +1 -1
  335. package/dist/martyrs/src/modules/music/store/artists.js +12 -6
  336. package/dist/martyrs/src/modules/music/store/artists.js.map +1 -1
  337. package/dist/martyrs/src/modules/music/store/genres.cjs +123 -0
  338. package/dist/martyrs/src/modules/music/store/genres.cjs.map +1 -0
  339. package/dist/martyrs/src/modules/music/store/genres.js +123 -0
  340. package/dist/martyrs/src/modules/music/store/genres.js.map +1 -0
  341. package/dist/martyrs/src/modules/music/store/playlists.cjs +14 -6
  342. package/dist/martyrs/src/modules/music/store/playlists.cjs.map +1 -1
  343. package/dist/martyrs/src/modules/music/store/playlists.js +14 -6
  344. package/dist/martyrs/src/modules/music/store/playlists.js.map +1 -1
  345. package/dist/martyrs/src/modules/music/store/tracks.cjs +6 -2
  346. package/dist/martyrs/src/modules/music/store/tracks.cjs.map +1 -1
  347. package/dist/martyrs/src/modules/music/store/tracks.js +6 -2
  348. package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -1
  349. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -0
  350. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  351. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -0
  352. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  353. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -0
  354. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs.map +1 -1
  355. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -0
  356. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js.map +1 -1
  357. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  358. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +5 -5
  359. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  360. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  361. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  362. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +16 -16
  364. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  365. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +15 -15
  366. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  367. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +16 -16
  368. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
  369. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
  370. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  371. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  372. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  373. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +8 -8
  374. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -0
  375. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
  376. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -0
  377. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
  378. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -0
  379. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs.map +1 -1
  380. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -0
  381. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
  382. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -0
  383. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs.map +1 -1
  384. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -0
  385. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
  386. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
  387. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  388. package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.cjs +1 -1
  389. package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js +8 -8
  390. package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs +1 -1
  391. package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js +12 -12
  392. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  393. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +11 -11
  394. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +1 -1
  395. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +10 -10
  396. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  397. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +17 -17
  398. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  399. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +6 -6
  400. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  401. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +12 -12
  402. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  403. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +16 -16
  404. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
  405. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +4 -4
  406. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  407. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  408. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -0
  409. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs.map +1 -1
  410. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -0
  411. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
  412. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -0
  413. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs.map +1 -1
  414. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -0
  415. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
  416. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  417. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +12 -12
  418. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  419. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +7 -7
  420. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  421. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +2 -2
  422. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  423. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  424. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  425. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
  426. package/dist/martyrs.cjs.js +1 -1
  427. package/dist/martyrs.css +1 -1
  428. package/dist/martyrs.es.js +1 -1
  429. package/dist/music.server.cjs +1165 -551
  430. package/dist/music.server.js +1161 -547
  431. package/dist/orders.server.cjs +89 -4
  432. package/dist/orders.server.js +88 -3
  433. package/dist/organizations.server.cjs +1 -1
  434. package/dist/organizations.server.js +1 -1
  435. package/dist/products.server.cjs +3 -1093
  436. package/dist/products.server.js +2 -1092
  437. package/dist/rents.server.cjs +1 -1
  438. package/dist/rents.server.js +1 -1
  439. package/dist/style.css +121 -77
  440. package/dist/wallet.server.cjs +1 -1
  441. package/dist/wallet.server.js +1 -1
  442. package/package.json +1 -1
  443. package/src/components/Field/Field.vue +13 -8
  444. package/src/components/FieldBig/FieldBig.vue +3 -5
  445. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  446. package/src/components/Media/Media.vue +1 -1
  447. package/src/components/Select/Select.vue +1 -1
  448. package/src/components/Status/Snack.vue +83 -0
  449. package/src/modules/auth/controllers/middlewares/authJwt.js +59 -6
  450. package/src/modules/globals/views/classes/globals.store.js +31 -66
  451. package/src/modules/globals/views/components/partials/FooterAlt.vue +363 -0
  452. package/src/modules/globals/views/store/globals.js +42 -0
  453. package/src/modules/globals/views/utils/query-serializer.js +182 -0
  454. package/src/modules/icons/components/IconSearchPopup.vue +254 -0
  455. package/src/modules/icons/entities/IconAddress.vue +17 -0
  456. package/src/modules/icons/entities/IconDate.vue +3 -3
  457. package/src/modules/icons/entities/IconEmail.vue +14 -0
  458. package/src/modules/icons/entities/IconMusic.vue +3 -3
  459. package/src/modules/icons/entities/IconPhone.vue +14 -0
  460. package/src/modules/icons/icons.client.js +85 -31
  461. package/src/modules/icons/icons.server.js +292 -0
  462. package/src/modules/icons/navigation/IconCross.vue +4 -16
  463. package/src/modules/icons/navigation/IconPause.vue +9 -24
  464. package/src/modules/icons/navigation/IconRefresh.vue +9 -24
  465. package/src/modules/icons/pages/IconsPage.vue +78 -2
  466. package/src/modules/icons/routes/icons.routes.js +81 -0
  467. package/src/modules/icons/socials/dribbble.vue +11 -2
  468. package/src/modules/icons/socials/facebook.vue +11 -2
  469. package/src/modules/icons/socials/instagram.vue +11 -4
  470. package/src/modules/icons/socials/line.vue +11 -2
  471. package/src/modules/icons/socials/linkedin.vue +11 -2
  472. package/src/modules/icons/socials/reddit.vue +10 -1
  473. package/src/modules/icons/socials/telegram.vue +11 -2
  474. package/src/modules/icons/socials/twitter.vue +11 -2
  475. package/src/modules/icons/socials/vk.vue +11 -2
  476. package/src/modules/icons/socials/whatsapp.vue +12 -0
  477. package/src/modules/icons/socials/youtube.vue +11 -2
  478. package/src/modules/music/.claude/settings.local.json +8 -0
  479. package/src/modules/music/CLAUDE.md +312 -0
  480. package/src/modules/music/components/SidebarMusic.vue +8 -8
  481. package/src/modules/music/components/cards/AlbumCard.vue +2 -2
  482. package/src/modules/music/components/cards/ArtistCard.vue +2 -2
  483. package/src/modules/music/components/cards/PlaylistCard.vue +2 -2
  484. package/src/modules/music/components/cards/TrackCard.vue +1 -1
  485. package/src/modules/music/components/cards/TrackListCard.vue +135 -0
  486. package/src/modules/music/components/forms/AlbumForm.vue +463 -0
  487. package/src/modules/music/components/{pages → forms}/ArtistForm.vue +127 -96
  488. package/src/modules/music/components/forms/PlaylistForm.vue +10 -10
  489. package/src/modules/music/components/forms/SearchForm.vue +1 -1
  490. package/src/modules/music/components/forms/TrackForm.vue +577 -0
  491. package/src/modules/music/components/layouts/MusicLayout.vue +35 -41
  492. package/src/modules/music/components/pages/{AlbumDetail.vue → Album.vue} +42 -20
  493. package/src/modules/music/components/pages/AlbumCreate.vue +7 -0
  494. package/src/modules/music/components/pages/AlbumEdit.vue +14 -0
  495. package/src/modules/music/components/pages/{ArtistDetail.vue → Artist.vue} +9 -9
  496. package/src/modules/music/components/pages/ArtistCreate.vue +7 -0
  497. package/src/modules/music/components/pages/ArtistEdit.vue +14 -0
  498. package/src/modules/music/components/pages/MusicHome.vue +86 -67
  499. package/src/modules/music/components/pages/MusicLibrary.vue +136 -105
  500. package/src/modules/music/components/pages/{PlaylistDetail.vue → Playlist.vue} +56 -34
  501. package/src/modules/music/components/pages/PlaylistCreate.vue +7 -0
  502. package/src/modules/music/components/pages/PlaylistEdit.vue +14 -0
  503. package/src/modules/music/components/pages/SearchResults.vue +49 -27
  504. package/src/modules/music/components/pages/{TrackDetail.vue → Track.vue} +36 -14
  505. package/src/modules/music/components/pages/TrackCreate.vue +23 -0
  506. package/src/modules/music/components/pages/TrackEdit.vue +14 -0
  507. package/src/modules/music/components/player/MusicPlayer.vue +2 -2
  508. package/src/modules/music/middlewares/albums.verifier.js +234 -0
  509. package/src/modules/music/middlewares/artists.verifier.js +213 -0
  510. package/src/modules/music/middlewares/genres.verifier.js +148 -0
  511. package/src/modules/music/middlewares/playlists.verifier.js +219 -0
  512. package/src/modules/music/middlewares/tracks.verifier.js +263 -0
  513. package/src/modules/music/music.client.js +31 -33
  514. package/src/modules/music/music.server.js +33 -26
  515. package/src/modules/music/router/albums.js +31 -0
  516. package/src/modules/music/router/artists.js +31 -0
  517. package/src/modules/music/router/music.js +14 -65
  518. package/src/modules/music/router/playlists.js +31 -0
  519. package/src/modules/music/router/tracks.js +31 -0
  520. package/src/modules/music/routes/albums.routes.js +126 -0
  521. package/src/modules/music/routes/artists.routes.js +171 -0
  522. package/src/modules/music/routes/genres.routes.js +118 -0
  523. package/src/modules/music/routes/playlists.routes.js +239 -0
  524. package/src/modules/music/routes/tracks.routes.js +149 -0
  525. package/src/modules/music/store/artists.js +17 -7
  526. package/src/modules/music/store/genres.js +150 -0
  527. package/src/modules/music/store/playlists.js +19 -6
  528. package/src/modules/music/store/tracks.js +9 -2
  529. package/dist/Media-DhpD64nT.cjs +0 -1
  530. package/dist/globals.crud-BQG1Lm0A.js +0 -90
  531. package/dist/globals.crud-Dv7UXbRM.cjs +0 -89
  532. package/dist/main-DKJqboZy.cjs +0 -11
  533. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
  534. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
  535. package/dist/martyrs/src/components/Field/Field.vue.cjs.map +0 -1
  536. package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
  537. package/dist/martyrs/src/modules/music/components/forms/UploadForm.vue.cjs +0 -328
  538. package/dist/martyrs/src/modules/music/components/forms/UploadForm.vue.cjs.map +0 -1
  539. package/dist/martyrs/src/modules/music/components/forms/UploadForm.vue.js +0 -328
  540. package/dist/martyrs/src/modules/music/components/forms/UploadForm.vue.js.map +0 -1
  541. package/dist/martyrs/src/modules/music/components/lists/AlbumList.vue.cjs +0 -44
  542. package/dist/martyrs/src/modules/music/components/lists/AlbumList.vue.cjs.map +0 -1
  543. package/dist/martyrs/src/modules/music/components/lists/AlbumList.vue.js +0 -44
  544. package/dist/martyrs/src/modules/music/components/lists/AlbumList.vue.js.map +0 -1
  545. package/dist/martyrs/src/modules/music/components/lists/ArtistList.vue.cjs +0 -305
  546. package/dist/martyrs/src/modules/music/components/lists/ArtistList.vue.cjs.map +0 -1
  547. package/dist/martyrs/src/modules/music/components/lists/ArtistList.vue.js +0 -305
  548. package/dist/martyrs/src/modules/music/components/lists/ArtistList.vue.js.map +0 -1
  549. package/dist/martyrs/src/modules/music/components/lists/PlaylistList.vue.cjs +0 -44
  550. package/dist/martyrs/src/modules/music/components/lists/PlaylistList.vue.cjs.map +0 -1
  551. package/dist/martyrs/src/modules/music/components/lists/PlaylistList.vue.js +0 -44
  552. package/dist/martyrs/src/modules/music/components/lists/PlaylistList.vue.js.map +0 -1
  553. package/dist/martyrs/src/modules/music/components/lists/TrackList.vue.cjs +0 -199
  554. package/dist/martyrs/src/modules/music/components/lists/TrackList.vue.cjs.map +0 -1
  555. package/dist/martyrs/src/modules/music/components/lists/TrackList.vue.js +0 -199
  556. package/dist/martyrs/src/modules/music/components/lists/TrackList.vue.js.map +0 -1
  557. package/dist/martyrs/src/modules/music/components/pages/AlbumDetail.vue.cjs.map +0 -1
  558. package/dist/martyrs/src/modules/music/components/pages/AlbumDetail.vue.js.map +0 -1
  559. package/dist/martyrs/src/modules/music/components/pages/ArtistDetail.vue.cjs.map +0 -1
  560. package/dist/martyrs/src/modules/music/components/pages/ArtistDetail.vue.js.map +0 -1
  561. package/dist/martyrs/src/modules/music/components/pages/ArtistForm.vue.cjs.map +0 -1
  562. package/dist/martyrs/src/modules/music/components/pages/ArtistForm.vue.js.map +0 -1
  563. package/dist/martyrs/src/modules/music/components/pages/ArtistManager.vue.cjs +0 -303
  564. package/dist/martyrs/src/modules/music/components/pages/ArtistManager.vue.cjs.map +0 -1
  565. package/dist/martyrs/src/modules/music/components/pages/ArtistManager.vue.js +0 -303
  566. package/dist/martyrs/src/modules/music/components/pages/ArtistManager.vue.js.map +0 -1
  567. package/dist/martyrs/src/modules/music/components/pages/MusicUpload.vue.cjs +0 -50
  568. package/dist/martyrs/src/modules/music/components/pages/MusicUpload.vue.cjs.map +0 -1
  569. package/dist/martyrs/src/modules/music/components/pages/MusicUpload.vue.js +0 -50
  570. package/dist/martyrs/src/modules/music/components/pages/MusicUpload.vue.js.map +0 -1
  571. package/dist/martyrs/src/modules/music/components/pages/PlaylistDetail.vue.cjs.map +0 -1
  572. package/dist/martyrs/src/modules/music/components/pages/PlaylistDetail.vue.js.map +0 -1
  573. package/dist/martyrs/src/modules/music/components/pages/TrackDetail.vue.cjs.map +0 -1
  574. package/dist/martyrs/src/modules/music/components/pages/TrackDetail.vue.js.map +0 -1
  575. package/src/modules/music/components/forms/UploadForm.vue +0 -313
  576. package/src/modules/music/components/lists/AlbumList.vue +0 -25
  577. package/src/modules/music/components/lists/ArtistList.vue +0 -280
  578. package/src/modules/music/components/lists/PlaylistList.vue +0 -25
  579. package/src/modules/music/components/lists/TrackList.vue +0 -175
  580. package/src/modules/music/components/pages/ArtistManager.vue +0 -277
  581. package/src/modules/music/components/pages/MusicUpload.vue +0 -44
  582. package/src/modules/music/controllers/album.controller.js +0 -82
  583. package/src/modules/music/controllers/artist.controller.js +0 -99
  584. package/src/modules/music/controllers/genre.controller.js +0 -63
  585. package/src/modules/music/controllers/music.controller.js +0 -145
  586. package/src/modules/music/controllers/playlist.controller.js +0 -146
  587. package/src/modules/music/routes/album.routes.js +0 -28
  588. package/src/modules/music/routes/artist.routes.js +0 -30
  589. package/src/modules/music/routes/genre.routes.js +0 -28
  590. package/src/modules/music/routes/music.routes.js +0 -106
  591. package/src/modules/music/routes/playlist.routes.js +0 -47
@@ -3,7 +3,8 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const SearchForm = require("../forms/SearchForm.vue.cjs");
6
- const TrackList = require("../lists/TrackList.vue.cjs");
6
+ const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
+ const TrackCard = require("../cards/TrackCard.vue.cjs");
7
8
  const AlbumCard = require("../cards/AlbumCard.vue.cjs");
8
9
  const PlaylistCard = require("../cards/PlaylistCard.vue.cjs");
9
10
  const ArtistCard = require("../cards/ArtistCard.vue.cjs");
@@ -36,7 +37,7 @@ const _hoisted_8 = {
36
37
  key: 3,
37
38
  class: "search-no-results t-center pd-big"
38
39
  };
39
- const _hoisted_9 = { class: "t-white mn-b-small" };
40
+ const _hoisted_9 = { class: "mn-b-small" };
40
41
  const _hoisted_10 = {
41
42
  key: 4,
42
43
  class: "search-results"
@@ -51,20 +52,20 @@ const _hoisted_13 = {
51
52
  class: "top-result-artist pd-medium"
52
53
  };
53
54
  const _hoisted_14 = { class: "top-artist-photo mn-b-medium" };
54
- const _hoisted_15 = { class: "t-white t-semi" };
55
+ const _hoisted_15 = { class: "t-semi" };
55
56
  const _hoisted_16 = {
56
57
  key: 1,
57
58
  class: "top-result-album pd-medium"
58
59
  };
59
60
  const _hoisted_17 = { class: "top-album-cover mn-b-medium" };
60
- const _hoisted_18 = { class: "t-white t-semi" };
61
+ const _hoisted_18 = { class: "t-semi" };
61
62
  const _hoisted_19 = { class: "t-grey" };
62
63
  const _hoisted_20 = {
63
64
  key: 2,
64
65
  class: "top-result-playlist pd-medium"
65
66
  };
66
67
  const _hoisted_21 = { class: "top-playlist-cover mn-b-medium" };
67
- const _hoisted_22 = { class: "t-white t-semi" };
68
+ const _hoisted_22 = { class: "t-semi" };
68
69
  const _hoisted_23 = { class: "t-grey" };
69
70
  const _hoisted_24 = {
70
71
  key: 1,
@@ -90,7 +91,7 @@ const _hoisted_31 = {
90
91
  class: "search-section"
91
92
  };
92
93
  const _hoisted_32 = { class: "genres-grid cols-4 mobile:cols-2 gap-small" };
93
- const _hoisted_33 = { class: "t-white" };
94
+ const _hoisted_33 = { class: "" };
94
95
  const _sfc_main = {
95
96
  __name: "SearchResults",
96
97
  setup(__props) {
@@ -147,13 +148,13 @@ const _sfc_main = {
147
148
  player.actions.playTrack(item);
148
149
  break;
149
150
  case "album":
150
- router.push({ name: "album-detail", params: { url: item.url } });
151
+ router.push({ name: "album", params: { url: item.url } });
151
152
  break;
152
153
  case "playlist":
153
- router.push({ name: "playlist-detail", params: { url: item.url } });
154
+ router.push({ name: "playlist", params: { url: item.url } });
154
155
  break;
155
156
  case "artist":
156
- router.push({ name: "artist-detail", params: { url: item.url } });
157
+ router.push({ name: "artist", params: { url: item.url } });
157
158
  break;
158
159
  }
159
160
  };
@@ -211,7 +212,7 @@ const _sfc_main = {
211
212
  const _component_router_link = vue.resolveComponent("router-link");
212
213
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
213
214
  vue.createElementVNode("div", _hoisted_2, [
214
- _cache[5] || (_cache[5] = vue.createElementVNode("h1", { class: "t-white mn-b-small" }, "Search", -1)),
215
+ _cache[5] || (_cache[5] = vue.createElementVNode("h1", { class: "mn-b-small" }, "Search", -1)),
215
216
  vue.createVNode(SearchForm.default, {
216
217
  initialQuery: searchQuery.value,
217
218
  onSearch: handleSearch,
@@ -224,7 +225,7 @@ const _sfc_main = {
224
225
  key: filter.id,
225
226
  onClick: ($event) => setActiveFilter(filter.id),
226
227
  class: vue.normalizeClass([[
227
- filter.id === activeFilter.value ? "bg-white t-black" : "bg-dark-transp-50 t-white hover-bg-dark"
228
+ filter.id === activeFilter.value ? "bg-white t-black" : "bg-dark-transp-50 hover-bg-dark"
228
229
  ], "radius-extra pd-small"]),
229
230
  showLoader: false,
230
231
  showSucces: false
@@ -242,14 +243,14 @@ const _sfc_main = {
242
243
  ])) : searchError.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
243
244
  vue.createElementVNode("p", _hoisted_6, vue.toDisplayString(searchError.value), 1)
244
245
  ])) : !searchQuery.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, _cache[6] || (_cache[6] = [
245
- vue.createElementVNode("h2", { class: "t-white mn-b-small" }, "Search for music", -1),
246
+ vue.createElementVNode("h2", { class: "mn-b-small" }, "Search for music", -1),
246
247
  vue.createElementVNode("p", { class: "t-grey t-medium" }, "Find your favorite songs, artists, albums, and playlists", -1)
247
248
  ]))) : !hasResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, [
248
249
  vue.createElementVNode("h2", _hoisted_9, 'No results found for "' + vue.toDisplayString(searchQuery.value) + '"', 1),
249
250
  _cache[7] || (_cache[7] = vue.createElementVNode("p", { class: "t-grey t-medium" }, "Please try different keywords or check your spelling", -1))
250
251
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_10, [
251
252
  activeFilter.value === "all" ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_11, [
252
- _cache[12] || (_cache[12] = vue.createElementVNode("h2", { class: "t-white mn-b-small" }, "Top Result", -1)),
253
+ _cache[12] || (_cache[12] = vue.createElementVNode("h2", { class: "mn-b-small" }, "Top Result", -1)),
253
254
  vue.createElementVNode("div", _hoisted_12, [
254
255
  topResult.value.type === "artist" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13, [
255
256
  vue.createElementVNode("div", _hoisted_14, [
@@ -262,7 +263,7 @@ const _sfc_main = {
262
263
  _cache[9] || (_cache[9] = vue.createElementVNode("p", { class: "t-grey" }, "Artist", -1)),
263
264
  vue.createVNode(Button.default, {
264
265
  onClick: playTopResult,
265
- class: "bg-main radius-round pd-small t-white mn-t-medium hover-scale-1",
266
+ class: "bg-main radius-round pd-small mn-t-medium hover-scale-1",
266
267
  showLoader: false,
267
268
  showSucces: false
268
269
  }, {
@@ -282,7 +283,7 @@ const _sfc_main = {
282
283
  vue.createElementVNode("p", _hoisted_19, "Album • " + vue.toDisplayString(getArtistName(topResult.value.item)), 1),
283
284
  vue.createVNode(Button.default, {
284
285
  onClick: playTopResult,
285
- class: "bg-main radius-round pd-small t-white mn-t-medium hover-scale-1",
286
+ class: "bg-main radius-round pd-small mn-t-medium hover-scale-1",
286
287
  showLoader: false,
287
288
  showSucces: false
288
289
  }, {
@@ -302,7 +303,7 @@ const _sfc_main = {
302
303
  vue.createElementVNode("p", _hoisted_23, "Playlist • " + vue.toDisplayString(getPlaylistOwner(topResult.value.item)), 1),
303
304
  vue.createVNode(Button.default, {
304
305
  onClick: playTopResult,
305
- class: "bg-main radius-round pd-small t-white mn-t-medium hover-scale-1",
306
+ class: "bg-main radius-round pd-small mn-t-medium hover-scale-1",
306
307
  showLoader: false,
307
308
  showSucces: false
308
309
  }, {
@@ -315,13 +316,36 @@ const _sfc_main = {
315
316
  ])
316
317
  ])) : vue.createCommentVNode("", true),
317
318
  activeFilter.value === "all" || activeFilter.value === "tracks" ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_24, [
318
- _cache[14] || (_cache[14] = vue.createElementVNode("h2", { class: "t-white mn-b-small" }, "Songs", -1)),
319
- vue.createVNode(TrackList.default, {
320
- tracks: trackResults.value,
321
- showAlbum: true,
322
- showCover: true,
323
- class: "bg-dark-transp-10 radius-medium o-hidden"
324
- }, null, 8, ["tracks"]),
319
+ _cache[14] || (_cache[14] = vue.createElementVNode("h2", { class: "mn-b-small" }, "Songs", -1)),
320
+ vue.createVNode(Feed.default, {
321
+ store: {
322
+ read: () => _ctx.Promise.resolve(trackResults.value),
323
+ state: { isLoading: false }
324
+ },
325
+ external: true,
326
+ items: trackResults.value,
327
+ states: {
328
+ empty: {
329
+ title: "No tracks found",
330
+ description: "Try different search terms",
331
+ class: "pd-medium bg-dark-transp-10 radius-medium"
332
+ }
333
+ },
334
+ class: "gap-thin"
335
+ }, {
336
+ default: vue.withCtx(({ items }) => [
337
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (track) => {
338
+ return vue.openBlock(), vue.createBlock(TrackCard.default, {
339
+ key: track._id,
340
+ track,
341
+ showAlbum: true,
342
+ showCover: true,
343
+ class: "w-100 bg-dark-transp-10 radius-medium"
344
+ }, null, 8, ["track"]);
345
+ }), 128))
346
+ ]),
347
+ _: 1
348
+ }, 8, ["store", "items"]),
325
349
  trackResults.value.length > 4 && activeFilter.value === "all" ? (vue.openBlock(), vue.createBlock(Button.default, {
326
350
  key: 0,
327
351
  onClick: _cache[0] || (_cache[0] = ($event) => setActiveFilter("tracks")),
@@ -336,7 +360,7 @@ const _sfc_main = {
336
360
  })) : vue.createCommentVNode("", true)
337
361
  ])) : vue.createCommentVNode("", true),
338
362
  activeFilter.value === "all" || activeFilter.value === "artists" ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_25, [
339
- _cache[16] || (_cache[16] = vue.createElementVNode("h2", { class: "t-white mn-b-small" }, "Artists", -1)),
363
+ _cache[16] || (_cache[16] = vue.createElementVNode("h2", { class: "mn-b-small" }, "Artists", -1)),
340
364
  vue.createElementVNode("div", _hoisted_26, [
341
365
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(artistResults.value.slice(0, activeFilter.value === "all" ? 6 : artistResults.value.length), (artist) => {
342
366
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -360,7 +384,7 @@ const _sfc_main = {
360
384
  })) : vue.createCommentVNode("", true)
361
385
  ])) : vue.createCommentVNode("", true),
362
386
  activeFilter.value === "all" || activeFilter.value === "albums" ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_27, [
363
- _cache[18] || (_cache[18] = vue.createElementVNode("h2", { class: "t-white mn-b-small" }, "Albums", -1)),
387
+ _cache[18] || (_cache[18] = vue.createElementVNode("h2", { class: "mn-b-small" }, "Albums", -1)),
364
388
  vue.createElementVNode("div", _hoisted_28, [
365
389
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(albumResults.value.slice(0, activeFilter.value === "all" ? 5 : albumResults.value.length), (album) => {
366
390
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -384,7 +408,7 @@ const _sfc_main = {
384
408
  })) : vue.createCommentVNode("", true)
385
409
  ])) : vue.createCommentVNode("", true),
386
410
  activeFilter.value === "all" || activeFilter.value === "playlists" ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_29, [
387
- _cache[20] || (_cache[20] = vue.createElementVNode("h2", { class: "t-white mn-b-small" }, "Playlists", -1)),
411
+ _cache[20] || (_cache[20] = vue.createElementVNode("h2", { class: "mn-b-small" }, "Playlists", -1)),
388
412
  vue.createElementVNode("div", _hoisted_30, [
389
413
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(playlistResults.value.slice(0, activeFilter.value === "all" ? 5 : playlistResults.value.length), (playlist) => {
390
414
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -408,7 +432,7 @@ const _sfc_main = {
408
432
  })) : vue.createCommentVNode("", true)
409
433
  ])) : vue.createCommentVNode("", true),
410
434
  (activeFilter.value === "all" || activeFilter.value === "genres") && genreResults.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_31, [
411
- _cache[22] || (_cache[22] = vue.createElementVNode("h2", { class: "t-white mn-b-small" }, "Genres", -1)),
435
+ _cache[22] || (_cache[22] = vue.createElementVNode("h2", { class: "mn-b-small" }, "Genres", -1)),
412
436
  vue.createElementVNode("div", _hoisted_32, [
413
437
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(genreResults.value.slice(0, activeFilter.value === "all" ? 4 : genreResults.value.length), (genre) => {
414
438
  return vue.openBlock(), vue.createBlock(_component_router_link, {
@@ -444,6 +468,6 @@ const _sfc_main = {
444
468
  };
445
469
  }
446
470
  };
447
- const SearchResults = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-7cffa9b9"]]);
471
+ const SearchResults = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-d2f0de62"]]);
448
472
  exports.default = SearchResults;
449
473
  //# sourceMappingURL=SearchResults.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResults.vue.cjs","sources":["../../../../../../../src/modules/music/components/pages/SearchResults.vue"],"sourcesContent":["<!-- components/pages/SearchResults.vue -->\n<template>\n <div class=\"search-results-page\">\n <div class=\"search-header mn-b-medium\">\n <h1 class=\"t-white mn-b-small\">Search</h1>\n \n <SearchForm \n :initialQuery=\"searchQuery\"\n @search=\"handleSearch\"\n placeholder=\"What do you want to listen to?\"\n class=\"w-m-40r\"\n />\n \n <div v-if=\"searchQuery\" class=\"search-filters flex gap-small mn-t-medium\">\n <Button \n v-for=\"filter in searchFilters\"\n :key=\"filter.id\"\n @click=\"setActiveFilter(filter.id)\"\n :class=\"[\n filter.id === activeFilter ? 'bg-white t-black' : 'bg-dark-transp-50 t-white hover-bg-dark',\n ]\"\n class=\"radius-extra pd-small\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n {{ filter.label }}\n </Button>\n </div>\n </div>\n \n <div v-if=\"isLoading\" class=\"search-loading\">\n <Loader />\n </div>\n \n <div v-else-if=\"searchError\" class=\"search-error t-center pd-big\">\n <p class=\"t-fourth t-medium\">{{ searchError }}</p>\n </div>\n \n <div v-else-if=\"!searchQuery\" class=\"search-empty t-center pd-big\">\n <h2 class=\"t-white mn-b-small\">Search for music</h2>\n <p class=\"t-grey t-medium\">Find your favorite songs, artists, albums, and playlists</p>\n </div>\n \n <div v-else-if=\"!hasResults\" class=\"search-no-results t-center pd-big\">\n <h2 class=\"t-white mn-b-small\">No results found for \"{{ searchQuery }}\"</h2>\n <p class=\"t-grey t-medium\">Please try different keywords or check your spelling</p>\n </div>\n \n <div v-else class=\"search-results\">\n <!-- Top Results Section -->\n <section v-if=\"activeFilter === 'all'\" class=\"search-section mn-b-medium\">\n <h2 class=\"t-white mn-b-small\">Top Result</h2>\n \n <div class=\"search-top-result bg-dark-transp-20 radius-medium p-medium\">\n <div v-if=\"topResult.type === 'artist'\" class=\"top-result-artist pd-medium\">\n <div class=\"top-artist-photo mn-b-medium\">\n <Media \n :url=\"topResult.item.photoUrl || '/assets/placeholder-artist.jpg'\" \n class=\"w-10r h-10r object-fit-cover radius-round\"\n />\n </div>\n <h3 class=\"t-white t-semi\">{{ topResult.item.name }}</h3>\n <p class=\"t-grey\">Artist</p>\n <Button \n @click=\"playTopResult\"\n class=\"bg-main radius-round pd-small t-white mn-t-medium hover-scale-1\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n PLAY\n </Button>\n </div>\n \n <div v-else-if=\"topResult.type === 'album'\" class=\"top-result-album pd-medium\">\n <div class=\"top-album-cover mn-b-medium\">\n <Media \n :url=\"topResult.item.coverUrl || '/assets/placeholder-album.jpg'\" \n class=\"w-10r h-10r object-fit-cover radius-small\"\n />\n </div>\n <h3 class=\"t-white t-semi\">{{ topResult.item.title }}</h3>\n <p class=\"t-grey\">Album • {{ getArtistName(topResult.item) }}</p>\n <Button \n @click=\"playTopResult\"\n class=\"bg-main radius-round pd-small t-white mn-t-medium hover-scale-1\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n PLAY\n </Button>\n </div>\n \n <div v-else-if=\"topResult.type === 'playlist'\" class=\"top-result-playlist pd-medium\">\n <div class=\"top-playlist-cover mn-b-medium\">\n <Media \n :url=\"topResult.item.coverUrl || '/assets/placeholder-playlist.jpg'\" \n class=\"w-10r h-10r object-fit-cover radius-small\"\n />\n </div>\n <h3 class=\"t-white t-semi\">{{ topResult.item.title }}</h3>\n <p class=\"t-grey\">Playlist • {{ getPlaylistOwner(topResult.item) }}</p>\n <Button \n @click=\"playTopResult\"\n class=\"bg-main radius-round pd-small t-white mn-t-medium hover-scale-1\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n PLAY\n </Button>\n </div>\n </div>\n </section>\n \n <!-- Songs Results -->\n <section v-if=\"activeFilter === 'all' || activeFilter === 'tracks'\" class=\"search-section mn-b-medium\">\n <h2 class=\"t-white mn-b-small\">Songs</h2>\n <TrackList \n :tracks=\"trackResults\"\n :showAlbum=\"true\" \n :showCover=\"true\"\n class=\"bg-dark-transp-10 radius-medium o-hidden\"\n />\n \n <Button \n v-if=\"trackResults.length > 4 && activeFilter === 'all'\"\n @click=\"setActiveFilter('tracks')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all songs\n </Button>\n </section>\n \n <!-- Artists Results -->\n <section v-if=\"activeFilter === 'all' || activeFilter === 'artists'\" class=\"search-section mn-b-medium\">\n <h2 class=\"t-white mn-b-small\">Artists</h2>\n \n <div class=\"artists-grid cols-6 mobile:cols-3 gap-small\">\n <div v-for=\"artist in artistResults.slice(0, activeFilter === 'all' ? 6 : artistResults.length)\" :key=\"artist._id\">\n <ArtistCard :artist=\"artist\" />\n </div>\n </div>\n \n <Button \n v-if=\"artistResults.length > 6 && activeFilter === 'all'\"\n @click=\"setActiveFilter('artists')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all artists\n </Button>\n </section>\n \n <!-- Albums Results -->\n <section v-if=\"activeFilter === 'all' || activeFilter === 'albums'\" class=\"search-section mn-b-medium\">\n <h2 class=\"t-white mn-b-small\">Albums</h2>\n \n <div class=\"albums-grid cols-5 mobile:cols-2 gap-small\">\n <div v-for=\"album in albumResults.slice(0, activeFilter === 'all' ? 5 : albumResults.length)\" :key=\"album._id\">\n <AlbumCard :album=\"album\" />\n </div>\n </div>\n \n <Button \n v-if=\"albumResults.length > 5 && activeFilter === 'all'\"\n @click=\"setActiveFilter('albums')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all albums\n </Button>\n </section>\n \n <!-- Playlists Results -->\n <section v-if=\"activeFilter === 'all' || activeFilter === 'playlists'\" class=\"search-section mn-b-medium\">\n <h2 class=\"t-white mn-b-small\">Playlists</h2>\n \n <div class=\"playlists-grid cols-5 mobile:cols-2 gap-small\">\n <div v-for=\"playlist in playlistResults.slice(0, activeFilter === 'all' ? 5 : playlistResults.length)\" :key=\"playlist._id\">\n <PlaylistCard :playlist=\"playlist\" />\n </div>\n </div>\n \n <Button \n v-if=\"playlistResults.length > 5 && activeFilter === 'all'\"\n @click=\"setActiveFilter('playlists')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all playlists\n </Button>\n </section>\n \n <!-- Genres Results -->\n <section v-if=\"(activeFilter === 'all' || activeFilter === 'genres') && genreResults.length > 0\" class=\"search-section\">\n <h2 class=\"t-white mn-b-small\">Genres</h2>\n \n <div class=\"genres-grid cols-4 mobile:cols-2 gap-small\">\n <router-link \n v-for=\"genre in genreResults.slice(0, activeFilter === 'all' ? 4 : genreResults.length)\" \n :key=\"genre._id\"\n :to=\"{ name: 'genre-detail', params: { url: genre.url } }\"\n class=\"genre-card bg-gradient-color pd-medium radius-medium t-center hover-scale-1 transition-cubic-in-out\"\n :style=\"{ \n '--gradient-color': getRandomGradient() \n }\"\n >\n <h3 class=\"t-white\">{{ genre.name }}</h3>\n </router-link>\n </div>\n \n <Button \n v-if=\"genreResults.length > 4 && activeFilter === 'all'\"\n @click=\"setActiveFilter('genres')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all genres\n </Button>\n </section>\n </div>\n </div>\n </template>\n\n <script setup>\n import { ref, computed, onMounted, watch } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n import SearchForm from '../forms/SearchForm.vue';\n import TrackList from '../lists/TrackList.vue';\n import AlbumCard from '../cards/AlbumCard.vue';\n import PlaylistCard from '../cards/PlaylistCard.vue';\n import ArtistCard from '../cards/ArtistCard.vue';\n import Button from '@martyrs/src/components/Button/Button.vue';\n import Loader from '@martyrs/src/components/Loader/Loader.vue';\n import Media from '@martyrs/src/components/Media/Media.vue';\n\n // Import search store\n import { state as searchState, actions as searchActions, computed as searchComputed } from '../../store/search.js';\n import { actions as playerActions } from '../../store/player.js';\n\n const route = useRoute();\n const router = useRouter();\n\n // State\n const searchQuery = ref('');\n const activeFilter = ref('all');\n\n // Array of search filters\n const searchFilters = [\n { id: 'all', label: 'All' },\n { id: 'tracks', label: 'Songs' },\n { id: 'artists', label: 'Artists' },\n { id: 'albums', label: 'Albums' },\n { id: 'playlists', label: 'Playlists' },\n { id: 'genres', label: 'Genres' }\n ];\n\n // Computed properties\n const isLoading = computed(() => searchState.isLoading);\n const searchError = computed(() => searchState.error);\n const hasResults = computed(() => searchComputed.hasResults());\n\n const trackResults = computed(() => searchState.results.tracks || []);\n const artistResults = computed(() => searchState.results.artists || []);\n const albumResults = computed(() => searchState.results.albums || []);\n const playlistResults = computed(() => searchState.results.playlists || []);\n const genreResults = computed(() => searchState.results.genres || []);\n\n // Top result determination\n const topResult = computed(() => {\n // Determine which result to show as top result based on relevance\n if (artistResults.value.length > 0) {\n return { type: 'artist', item: artistResults.value[0] };\n } else if (albumResults.value.length > 0) {\n return { type: 'album', item: albumResults.value[0] };\n } else if (playlistResults.value.length > 0) {\n return { type: 'playlist', item: playlistResults.value[0] };\n } else if (trackResults.value.length > 0) {\n return { type: 'track', item: trackResults.value[0] };\n }\n return null;\n });\n\n // Methods\n const handleSearch = (query) => {\n searchQuery.value = query;\n \n // Update URL without reloading the page\n router.push({ \n name: 'music-search', \n query: { q: query },\n replace: true\n });\n \n // Perform search\n searchActions.search(query);\n };\n\n const setActiveFilter = (filter) => {\n activeFilter.value = filter;\n searchActions.setFilter(filter);\n };\n\n const playTopResult = () => {\n if (!topResult.value) return;\n \n const { type, item } = topResult.value;\n \n switch (type) {\n case 'track':\n playerActions.playTrack(item);\n break;\n case 'album':\n // Navigate to album page\n router.push({ name: 'album-detail', params: { url: item.url } });\n break;\n case 'playlist':\n // Navigate to playlist page\n router.push({ name: 'playlist-detail', params: { url: item.url } });\n break;\n case 'artist':\n // Navigate to artist page\n router.push({ name: 'artist-detail', params: { url: item.url } });\n break;\n }\n };\n\n const getArtistName = (item) => {\n if (!item) return 'Unknown Artist';\n \n if (item.artist) {\n if (typeof item.artist === 'object') {\n return item.artist.name || 'Unknown Artist';\n }\n return item.artist;\n }\n return 'Unknown Artist';\n };\n\n const getPlaylistOwner = (playlist) => {\n if (!playlist) return 'Unknown';\n \n if (playlist.owner?.target) {\n if (typeof playlist.owner.target === 'object') {\n if (playlist.owner.target.profile?.name) {\n return playlist.owner.target.profile.name;\n }\n return playlist.owner.target.name || 'Unknown';\n }\n }\n return 'Unknown';\n };\n\n // Generate random gradient for genre cards\n const getRandomGradient = () => {\n const colors = [\n 'linear-gradient(135deg, #1DB954, #1ED760)',\n 'linear-gradient(135deg, #FF6B6B, #FFE66D)',\n 'linear-gradient(135deg, #4776E6, #8E54E9)',\n 'linear-gradient(135deg, #FF8008, #FFC837)',\n 'linear-gradient(135deg, #7F00FF, #E100FF)',\n 'linear-gradient(135deg, #11998E, #38EF7D)'\n ];\n \n return colors[Math.floor(Math.random() * colors.length)];\n };\n\n // Watch for URL query parameter changes\n onMounted(() => {\n const query = route.query.q;\n if (query) {\n searchQuery.value = query;\n searchActions.search(query);\n }\n });\n\n watch(() => route.query.q, (newQuery) => {\n if (newQuery && newQuery !== searchQuery.value) {\n searchQuery.value = newQuery;\n searchActions.search(newQuery);\n } else if (!newQuery) {\n searchQuery.value = '';\n searchActions.clearSearch();\n }\n });\n </script>\n\n <style scoped>\n .bg-gradient-color {\n background: var(--gradient-color, linear-gradient(135deg, #1DB954, #1ED760));\n }\n </style>"],"names":["useRoute","useRouter","ref","computed","searchState","searchComputed","searchActions","playerActions","onMounted","watch"],"mappings":"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"}
1
+ {"version":3,"file":"SearchResults.vue.cjs","sources":["../../../../../../../src/modules/music/components/pages/SearchResults.vue"],"sourcesContent":["<!-- components/pages/SearchResults.vue -->\n<template>\n <div class=\"search-results-page\">\n <div class=\"search-header mn-b-medium\">\n <h1 class=\" mn-b-small\">Search</h1>\n \n <SearchForm \n :initialQuery=\"searchQuery\"\n @search=\"handleSearch\"\n placeholder=\"What do you want to listen to?\"\n class=\"w-m-40r\"\n />\n \n <div v-if=\"searchQuery\" class=\"search-filters flex gap-small mn-t-medium\">\n <Button \n v-for=\"filter in searchFilters\"\n :key=\"filter.id\"\n @click=\"setActiveFilter(filter.id)\"\n :class=\"[\n filter.id === activeFilter ? 'bg-white t-black' : 'bg-dark-transp-50 hover-bg-dark',\n ]\"\n class=\"radius-extra pd-small\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n {{ filter.label }}\n </Button>\n </div>\n </div>\n \n <div v-if=\"isLoading\" class=\"search-loading\">\n <Loader />\n </div>\n \n <div v-else-if=\"searchError\" class=\"search-error t-center pd-big\">\n <p class=\"t-fourth t-medium\">{{ searchError }}</p>\n </div>\n \n <div v-else-if=\"!searchQuery\" class=\"search-empty t-center pd-big\">\n <h2 class=\" mn-b-small\">Search for music</h2>\n <p class=\"t-grey t-medium\">Find your favorite songs, artists, albums, and playlists</p>\n </div>\n \n <div v-else-if=\"!hasResults\" class=\"search-no-results t-center pd-big\">\n <h2 class=\" mn-b-small\">No results found for \"{{ searchQuery }}\"</h2>\n <p class=\"t-grey t-medium\">Please try different keywords or check your spelling</p>\n </div>\n \n <div v-else class=\"search-results\">\n <!-- Top Results Section -->\n <section v-if=\"activeFilter === 'all'\" class=\"search-section mn-b-medium\">\n <h2 class=\" mn-b-small\">Top Result</h2>\n \n <div class=\"search-top-result bg-dark-transp-20 radius-medium p-medium\">\n <div v-if=\"topResult.type === 'artist'\" class=\"top-result-artist pd-medium\">\n <div class=\"top-artist-photo mn-b-medium\">\n <Media \n :url=\"topResult.item.photoUrl || '/assets/placeholder-artist.jpg'\" \n class=\"w-10r h-10r object-fit-cover radius-round\"\n />\n </div>\n <h3 class=\" t-semi\">{{ topResult.item.name }}</h3>\n <p class=\"t-grey\">Artist</p>\n <Button \n @click=\"playTopResult\"\n class=\"bg-main radius-round pd-small mn-t-medium hover-scale-1\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n PLAY\n </Button>\n </div>\n \n <div v-else-if=\"topResult.type === 'album'\" class=\"top-result-album pd-medium\">\n <div class=\"top-album-cover mn-b-medium\">\n <Media \n :url=\"topResult.item.coverUrl || '/assets/placeholder-album.jpg'\" \n class=\"w-10r h-10r object-fit-cover radius-small\"\n />\n </div>\n <h3 class=\" t-semi\">{{ topResult.item.title }}</h3>\n <p class=\"t-grey\">Album • {{ getArtistName(topResult.item) }}</p>\n <Button \n @click=\"playTopResult\"\n class=\"bg-main radius-round pd-small mn-t-medium hover-scale-1\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n PLAY\n </Button>\n </div>\n \n <div v-else-if=\"topResult.type === 'playlist'\" class=\"top-result-playlist pd-medium\">\n <div class=\"top-playlist-cover mn-b-medium\">\n <Media \n :url=\"topResult.item.coverUrl || '/assets/placeholder-playlist.jpg'\" \n class=\"w-10r h-10r object-fit-cover radius-small\"\n />\n </div>\n <h3 class=\" t-semi\">{{ topResult.item.title }}</h3>\n <p class=\"t-grey\">Playlist • {{ getPlaylistOwner(topResult.item) }}</p>\n <Button \n @click=\"playTopResult\"\n class=\"bg-main radius-round pd-small mn-t-medium hover-scale-1\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n PLAY\n </Button>\n </div>\n </div>\n </section>\n \n <!-- Songs Results -->\n <section v-if=\"activeFilter === 'all' || activeFilter === 'tracks'\" class=\"search-section mn-b-medium\">\n <h2 class=\" mn-b-small\">Songs</h2>\n <Feed\n :store=\"{\n read: () => Promise.resolve(trackResults),\n state: { isLoading: false }\n }\"\n :external=\"true\"\n :items=\"trackResults\"\n :states=\"{\n empty: {\n title: 'No tracks found',\n description: 'Try different search terms',\n class: 'pd-medium bg-dark-transp-10 radius-medium'\n }\n }\"\n class=\"gap-thin\"\n >\n <template #default=\"{ items }\">\n <TrackCard\n v-for=\"track in items\"\n :key=\"track._id\"\n :track=\"track\"\n :showAlbum=\"true\"\n :showCover=\"true\"\n class=\"w-100 bg-dark-transp-10 radius-medium\"\n />\n </template>\n </Feed>\n \n <Button \n v-if=\"trackResults.length > 4 && activeFilter === 'all'\"\n @click=\"setActiveFilter('tracks')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all songs\n </Button>\n </section>\n \n <!-- Artists Results -->\n <section v-if=\"activeFilter === 'all' || activeFilter === 'artists'\" class=\"search-section mn-b-medium\">\n <h2 class=\" mn-b-small\">Artists</h2>\n \n <div class=\"artists-grid cols-6 mobile:cols-3 gap-small\">\n <div v-for=\"artist in artistResults.slice(0, activeFilter === 'all' ? 6 : artistResults.length)\" :key=\"artist._id\">\n <ArtistCard :artist=\"artist\" />\n </div>\n </div>\n \n <Button \n v-if=\"artistResults.length > 6 && activeFilter === 'all'\"\n @click=\"setActiveFilter('artists')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all artists\n </Button>\n </section>\n \n <!-- Albums Results -->\n <section v-if=\"activeFilter === 'all' || activeFilter === 'albums'\" class=\"search-section mn-b-medium\">\n <h2 class=\" mn-b-small\">Albums</h2>\n \n <div class=\"albums-grid cols-5 mobile:cols-2 gap-small\">\n <div v-for=\"album in albumResults.slice(0, activeFilter === 'all' ? 5 : albumResults.length)\" :key=\"album._id\">\n <AlbumCard :album=\"album\" />\n </div>\n </div>\n \n <Button \n v-if=\"albumResults.length > 5 && activeFilter === 'all'\"\n @click=\"setActiveFilter('albums')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all albums\n </Button>\n </section>\n \n <!-- Playlists Results -->\n <section v-if=\"activeFilter === 'all' || activeFilter === 'playlists'\" class=\"search-section mn-b-medium\">\n <h2 class=\" mn-b-small\">Playlists</h2>\n \n <div class=\"playlists-grid cols-5 mobile:cols-2 gap-small\">\n <div v-for=\"playlist in playlistResults.slice(0, activeFilter === 'all' ? 5 : playlistResults.length)\" :key=\"playlist._id\">\n <PlaylistCard :playlist=\"playlist\" />\n </div>\n </div>\n \n <Button \n v-if=\"playlistResults.length > 5 && activeFilter === 'all'\"\n @click=\"setActiveFilter('playlists')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all playlists\n </Button>\n </section>\n \n <!-- Genres Results -->\n <section v-if=\"(activeFilter === 'all' || activeFilter === 'genres') && genreResults.length > 0\" class=\"search-section\">\n <h2 class=\" mn-b-small\">Genres</h2>\n \n <div class=\"genres-grid cols-4 mobile:cols-2 gap-small\">\n <router-link \n v-for=\"genre in genreResults.slice(0, activeFilter === 'all' ? 4 : genreResults.length)\" \n :key=\"genre._id\"\n :to=\"{ name: 'genre-detail', params: { url: genre.url } }\"\n class=\"genre-card bg-gradient-color pd-medium radius-medium t-center hover-scale-1 transition-cubic-in-out\"\n :style=\"{ \n '--gradient-color': getRandomGradient() \n }\"\n >\n <h3 class=\"\">{{ genre.name }}</h3>\n </router-link>\n </div>\n \n <Button \n v-if=\"genreResults.length > 4 && activeFilter === 'all'\"\n @click=\"setActiveFilter('genres')\"\n class=\"t-main bg-transparent border-none t-center w-100 mn-t-small hover-bg-dark-transp-10 pd-thin\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n See all genres\n </Button>\n </section>\n </div>\n </div>\n </template>\n\n <script setup>\n import { ref, computed, onMounted, watch } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n import SearchForm from '../forms/SearchForm.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue';\n import TrackCard from '../cards/TrackCard.vue';\n import AlbumCard from '../cards/AlbumCard.vue';\n import PlaylistCard from '../cards/PlaylistCard.vue';\n import ArtistCard from '../cards/ArtistCard.vue';\n import Button from '@martyrs/src/components/Button/Button.vue';\n import Loader from '@martyrs/src/components/Loader/Loader.vue';\n import Media from '@martyrs/src/components/Media/Media.vue';\n\n // Import search store\n import { state as searchState, actions as searchActions, computed as searchComputed } from '../../store/search.js';\n import { actions as playerActions } from '../../store/player.js';\n\n const route = useRoute();\n const router = useRouter();\n\n // State\n const searchQuery = ref('');\n const activeFilter = ref('all');\n\n // Array of search filters\n const searchFilters = [\n { id: 'all', label: 'All' },\n { id: 'tracks', label: 'Songs' },\n { id: 'artists', label: 'Artists' },\n { id: 'albums', label: 'Albums' },\n { id: 'playlists', label: 'Playlists' },\n { id: 'genres', label: 'Genres' }\n ];\n\n // Computed properties\n const isLoading = computed(() => searchState.isLoading);\n const searchError = computed(() => searchState.error);\n const hasResults = computed(() => searchComputed.hasResults());\n\n const trackResults = computed(() => searchState.results.tracks || []);\n const artistResults = computed(() => searchState.results.artists || []);\n const albumResults = computed(() => searchState.results.albums || []);\n const playlistResults = computed(() => searchState.results.playlists || []);\n const genreResults = computed(() => searchState.results.genres || []);\n\n // Top result determination\n const topResult = computed(() => {\n // Determine which result to show as top result based on relevance\n if (artistResults.value.length > 0) {\n return { type: 'artist', item: artistResults.value[0] };\n } else if (albumResults.value.length > 0) {\n return { type: 'album', item: albumResults.value[0] };\n } else if (playlistResults.value.length > 0) {\n return { type: 'playlist', item: playlistResults.value[0] };\n } else if (trackResults.value.length > 0) {\n return { type: 'track', item: trackResults.value[0] };\n }\n return null;\n });\n\n // Methods\n const handleSearch = (query) => {\n searchQuery.value = query;\n \n // Update URL without reloading the page\n router.push({ \n name: 'music-search', \n query: { q: query },\n replace: true\n });\n \n // Perform search\n searchActions.search(query);\n };\n\n const setActiveFilter = (filter) => {\n activeFilter.value = filter;\n searchActions.setFilter(filter);\n };\n\n const playTopResult = () => {\n if (!topResult.value) return;\n \n const { type, item } = topResult.value;\n \n switch (type) {\n case 'track':\n playerActions.playTrack(item);\n break;\n case 'album':\n // Navigate to album page\n router.push({ name: 'album', params: { url: item.url } });\n break;\n case 'playlist':\n // Navigate to playlist page\n router.push({ name: 'playlist', params: { url: item.url } });\n break;\n case 'artist':\n // Navigate to artist page\n router.push({ name: 'artist', params: { url: item.url } });\n break;\n }\n };\n\n const getArtistName = (item) => {\n if (!item) return 'Unknown Artist';\n \n if (item.artist) {\n if (typeof item.artist === 'object') {\n return item.artist.name || 'Unknown Artist';\n }\n return item.artist;\n }\n return 'Unknown Artist';\n };\n\n const getPlaylistOwner = (playlist) => {\n if (!playlist) return 'Unknown';\n \n if (playlist.owner?.target) {\n if (typeof playlist.owner.target === 'object') {\n if (playlist.owner.target.profile?.name) {\n return playlist.owner.target.profile.name;\n }\n return playlist.owner.target.name || 'Unknown';\n }\n }\n return 'Unknown';\n };\n\n // Generate random gradient for genre cards\n const getRandomGradient = () => {\n const colors = [\n 'linear-gradient(135deg, #1DB954, #1ED760)',\n 'linear-gradient(135deg, #FF6B6B, #FFE66D)',\n 'linear-gradient(135deg, #4776E6, #8E54E9)',\n 'linear-gradient(135deg, #FF8008, #FFC837)',\n 'linear-gradient(135deg, #7F00FF, #E100FF)',\n 'linear-gradient(135deg, #11998E, #38EF7D)'\n ];\n \n return colors[Math.floor(Math.random() * colors.length)];\n };\n\n // Watch for URL query parameter changes\n onMounted(() => {\n const query = route.query.q;\n if (query) {\n searchQuery.value = query;\n searchActions.search(query);\n }\n });\n\n watch(() => route.query.q, (newQuery) => {\n if (newQuery && newQuery !== searchQuery.value) {\n searchQuery.value = newQuery;\n searchActions.search(newQuery);\n } else if (!newQuery) {\n searchQuery.value = '';\n searchActions.clearSearch();\n }\n });\n </script>\n\n <style scoped>\n .bg-gradient-color {\n background: var(--gradient-color, linear-gradient(135deg, #1DB954, #1ED760));\n }\n </style>"],"names":["useRoute","useRouter","ref","computed","searchState","searchComputed","searchActions","playerActions","onMounted","watch"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { ref, computed, onMounted, watch, resolveComponent, createElementBlock, openBlock, createElementVNode, createVNode, createCommentVNode, Fragment, renderList, normalizeClass, withCtx, createTextVNode, toDisplayString, createBlock, normalizeStyle } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import SearchForm from "../forms/SearchForm.vue.js";
4
- import TrackList from "../lists/TrackList.vue.js";
4
+ import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
5
+ import TrackCard from "../cards/TrackCard.vue.js";
5
6
  import AlbumCard from "../cards/AlbumCard.vue.js";
6
7
  import PlaylistCard from "../cards/PlaylistCard.vue.js";
7
8
  import ArtistCard from "../cards/ArtistCard.vue.js";
@@ -34,7 +35,7 @@ const _hoisted_8 = {
34
35
  key: 3,
35
36
  class: "search-no-results t-center pd-big"
36
37
  };
37
- const _hoisted_9 = { class: "t-white mn-b-small" };
38
+ const _hoisted_9 = { class: "mn-b-small" };
38
39
  const _hoisted_10 = {
39
40
  key: 4,
40
41
  class: "search-results"
@@ -49,20 +50,20 @@ const _hoisted_13 = {
49
50
  class: "top-result-artist pd-medium"
50
51
  };
51
52
  const _hoisted_14 = { class: "top-artist-photo mn-b-medium" };
52
- const _hoisted_15 = { class: "t-white t-semi" };
53
+ const _hoisted_15 = { class: "t-semi" };
53
54
  const _hoisted_16 = {
54
55
  key: 1,
55
56
  class: "top-result-album pd-medium"
56
57
  };
57
58
  const _hoisted_17 = { class: "top-album-cover mn-b-medium" };
58
- const _hoisted_18 = { class: "t-white t-semi" };
59
+ const _hoisted_18 = { class: "t-semi" };
59
60
  const _hoisted_19 = { class: "t-grey" };
60
61
  const _hoisted_20 = {
61
62
  key: 2,
62
63
  class: "top-result-playlist pd-medium"
63
64
  };
64
65
  const _hoisted_21 = { class: "top-playlist-cover mn-b-medium" };
65
- const _hoisted_22 = { class: "t-white t-semi" };
66
+ const _hoisted_22 = { class: "t-semi" };
66
67
  const _hoisted_23 = { class: "t-grey" };
67
68
  const _hoisted_24 = {
68
69
  key: 1,
@@ -88,7 +89,7 @@ const _hoisted_31 = {
88
89
  class: "search-section"
89
90
  };
90
91
  const _hoisted_32 = { class: "genres-grid cols-4 mobile:cols-2 gap-small" };
91
- const _hoisted_33 = { class: "t-white" };
92
+ const _hoisted_33 = { class: "" };
92
93
  const _sfc_main = {
93
94
  __name: "SearchResults",
94
95
  setup(__props) {
@@ -145,13 +146,13 @@ const _sfc_main = {
145
146
  actions$1.playTrack(item);
146
147
  break;
147
148
  case "album":
148
- router.push({ name: "album-detail", params: { url: item.url } });
149
+ router.push({ name: "album", params: { url: item.url } });
149
150
  break;
150
151
  case "playlist":
151
- router.push({ name: "playlist-detail", params: { url: item.url } });
152
+ router.push({ name: "playlist", params: { url: item.url } });
152
153
  break;
153
154
  case "artist":
154
- router.push({ name: "artist-detail", params: { url: item.url } });
155
+ router.push({ name: "artist", params: { url: item.url } });
155
156
  break;
156
157
  }
157
158
  };
@@ -209,7 +210,7 @@ const _sfc_main = {
209
210
  const _component_router_link = resolveComponent("router-link");
210
211
  return openBlock(), createElementBlock("div", _hoisted_1, [
211
212
  createElementVNode("div", _hoisted_2, [
212
- _cache[5] || (_cache[5] = createElementVNode("h1", { class: "t-white mn-b-small" }, "Search", -1)),
213
+ _cache[5] || (_cache[5] = createElementVNode("h1", { class: "mn-b-small" }, "Search", -1)),
213
214
  createVNode(SearchForm, {
214
215
  initialQuery: searchQuery.value,
215
216
  onSearch: handleSearch,
@@ -222,7 +223,7 @@ const _sfc_main = {
222
223
  key: filter.id,
223
224
  onClick: ($event) => setActiveFilter(filter.id),
224
225
  class: normalizeClass([[
225
- filter.id === activeFilter.value ? "bg-white t-black" : "bg-dark-transp-50 t-white hover-bg-dark"
226
+ filter.id === activeFilter.value ? "bg-white t-black" : "bg-dark-transp-50 hover-bg-dark"
226
227
  ], "radius-extra pd-small"]),
227
228
  showLoader: false,
228
229
  showSucces: false
@@ -240,14 +241,14 @@ const _sfc_main = {
240
241
  ])) : searchError.value ? (openBlock(), createElementBlock("div", _hoisted_5, [
241
242
  createElementVNode("p", _hoisted_6, toDisplayString(searchError.value), 1)
242
243
  ])) : !searchQuery.value ? (openBlock(), createElementBlock("div", _hoisted_7, _cache[6] || (_cache[6] = [
243
- createElementVNode("h2", { class: "t-white mn-b-small" }, "Search for music", -1),
244
+ createElementVNode("h2", { class: "mn-b-small" }, "Search for music", -1),
244
245
  createElementVNode("p", { class: "t-grey t-medium" }, "Find your favorite songs, artists, albums, and playlists", -1)
245
246
  ]))) : !hasResults.value ? (openBlock(), createElementBlock("div", _hoisted_8, [
246
247
  createElementVNode("h2", _hoisted_9, 'No results found for "' + toDisplayString(searchQuery.value) + '"', 1),
247
248
  _cache[7] || (_cache[7] = createElementVNode("p", { class: "t-grey t-medium" }, "Please try different keywords or check your spelling", -1))
248
249
  ])) : (openBlock(), createElementBlock("div", _hoisted_10, [
249
250
  activeFilter.value === "all" ? (openBlock(), createElementBlock("section", _hoisted_11, [
250
- _cache[12] || (_cache[12] = createElementVNode("h2", { class: "t-white mn-b-small" }, "Top Result", -1)),
251
+ _cache[12] || (_cache[12] = createElementVNode("h2", { class: "mn-b-small" }, "Top Result", -1)),
251
252
  createElementVNode("div", _hoisted_12, [
252
253
  topResult.value.type === "artist" ? (openBlock(), createElementBlock("div", _hoisted_13, [
253
254
  createElementVNode("div", _hoisted_14, [
@@ -260,7 +261,7 @@ const _sfc_main = {
260
261
  _cache[9] || (_cache[9] = createElementVNode("p", { class: "t-grey" }, "Artist", -1)),
261
262
  createVNode(_sfc_main$1, {
262
263
  onClick: playTopResult,
263
- class: "bg-main radius-round pd-small t-white mn-t-medium hover-scale-1",
264
+ class: "bg-main radius-round pd-small mn-t-medium hover-scale-1",
264
265
  showLoader: false,
265
266
  showSucces: false
266
267
  }, {
@@ -280,7 +281,7 @@ const _sfc_main = {
280
281
  createElementVNode("p", _hoisted_19, "Album • " + toDisplayString(getArtistName(topResult.value.item)), 1),
281
282
  createVNode(_sfc_main$1, {
282
283
  onClick: playTopResult,
283
- class: "bg-main radius-round pd-small t-white mn-t-medium hover-scale-1",
284
+ class: "bg-main radius-round pd-small mn-t-medium hover-scale-1",
284
285
  showLoader: false,
285
286
  showSucces: false
286
287
  }, {
@@ -300,7 +301,7 @@ const _sfc_main = {
300
301
  createElementVNode("p", _hoisted_23, "Playlist • " + toDisplayString(getPlaylistOwner(topResult.value.item)), 1),
301
302
  createVNode(_sfc_main$1, {
302
303
  onClick: playTopResult,
303
- class: "bg-main radius-round pd-small t-white mn-t-medium hover-scale-1",
304
+ class: "bg-main radius-round pd-small mn-t-medium hover-scale-1",
304
305
  showLoader: false,
305
306
  showSucces: false
306
307
  }, {
@@ -313,13 +314,36 @@ const _sfc_main = {
313
314
  ])
314
315
  ])) : createCommentVNode("", true),
315
316
  activeFilter.value === "all" || activeFilter.value === "tracks" ? (openBlock(), createElementBlock("section", _hoisted_24, [
316
- _cache[14] || (_cache[14] = createElementVNode("h2", { class: "t-white mn-b-small" }, "Songs", -1)),
317
- createVNode(TrackList, {
318
- tracks: trackResults.value,
319
- showAlbum: true,
320
- showCover: true,
321
- class: "bg-dark-transp-10 radius-medium o-hidden"
322
- }, null, 8, ["tracks"]),
317
+ _cache[14] || (_cache[14] = createElementVNode("h2", { class: "mn-b-small" }, "Songs", -1)),
318
+ createVNode(_sfc_main$2, {
319
+ store: {
320
+ read: () => _ctx.Promise.resolve(trackResults.value),
321
+ state: { isLoading: false }
322
+ },
323
+ external: true,
324
+ items: trackResults.value,
325
+ states: {
326
+ empty: {
327
+ title: "No tracks found",
328
+ description: "Try different search terms",
329
+ class: "pd-medium bg-dark-transp-10 radius-medium"
330
+ }
331
+ },
332
+ class: "gap-thin"
333
+ }, {
334
+ default: withCtx(({ items }) => [
335
+ (openBlock(true), createElementBlock(Fragment, null, renderList(items, (track) => {
336
+ return openBlock(), createBlock(TrackCard, {
337
+ key: track._id,
338
+ track,
339
+ showAlbum: true,
340
+ showCover: true,
341
+ class: "w-100 bg-dark-transp-10 radius-medium"
342
+ }, null, 8, ["track"]);
343
+ }), 128))
344
+ ]),
345
+ _: 1
346
+ }, 8, ["store", "items"]),
323
347
  trackResults.value.length > 4 && activeFilter.value === "all" ? (openBlock(), createBlock(_sfc_main$1, {
324
348
  key: 0,
325
349
  onClick: _cache[0] || (_cache[0] = ($event) => setActiveFilter("tracks")),
@@ -334,7 +358,7 @@ const _sfc_main = {
334
358
  })) : createCommentVNode("", true)
335
359
  ])) : createCommentVNode("", true),
336
360
  activeFilter.value === "all" || activeFilter.value === "artists" ? (openBlock(), createElementBlock("section", _hoisted_25, [
337
- _cache[16] || (_cache[16] = createElementVNode("h2", { class: "t-white mn-b-small" }, "Artists", -1)),
361
+ _cache[16] || (_cache[16] = createElementVNode("h2", { class: "mn-b-small" }, "Artists", -1)),
338
362
  createElementVNode("div", _hoisted_26, [
339
363
  (openBlock(true), createElementBlock(Fragment, null, renderList(artistResults.value.slice(0, activeFilter.value === "all" ? 6 : artistResults.value.length), (artist) => {
340
364
  return openBlock(), createElementBlock("div", {
@@ -358,7 +382,7 @@ const _sfc_main = {
358
382
  })) : createCommentVNode("", true)
359
383
  ])) : createCommentVNode("", true),
360
384
  activeFilter.value === "all" || activeFilter.value === "albums" ? (openBlock(), createElementBlock("section", _hoisted_27, [
361
- _cache[18] || (_cache[18] = createElementVNode("h2", { class: "t-white mn-b-small" }, "Albums", -1)),
385
+ _cache[18] || (_cache[18] = createElementVNode("h2", { class: "mn-b-small" }, "Albums", -1)),
362
386
  createElementVNode("div", _hoisted_28, [
363
387
  (openBlock(true), createElementBlock(Fragment, null, renderList(albumResults.value.slice(0, activeFilter.value === "all" ? 5 : albumResults.value.length), (album) => {
364
388
  return openBlock(), createElementBlock("div", {
@@ -382,7 +406,7 @@ const _sfc_main = {
382
406
  })) : createCommentVNode("", true)
383
407
  ])) : createCommentVNode("", true),
384
408
  activeFilter.value === "all" || activeFilter.value === "playlists" ? (openBlock(), createElementBlock("section", _hoisted_29, [
385
- _cache[20] || (_cache[20] = createElementVNode("h2", { class: "t-white mn-b-small" }, "Playlists", -1)),
409
+ _cache[20] || (_cache[20] = createElementVNode("h2", { class: "mn-b-small" }, "Playlists", -1)),
386
410
  createElementVNode("div", _hoisted_30, [
387
411
  (openBlock(true), createElementBlock(Fragment, null, renderList(playlistResults.value.slice(0, activeFilter.value === "all" ? 5 : playlistResults.value.length), (playlist) => {
388
412
  return openBlock(), createElementBlock("div", {
@@ -406,7 +430,7 @@ const _sfc_main = {
406
430
  })) : createCommentVNode("", true)
407
431
  ])) : createCommentVNode("", true),
408
432
  (activeFilter.value === "all" || activeFilter.value === "genres") && genreResults.value.length > 0 ? (openBlock(), createElementBlock("section", _hoisted_31, [
409
- _cache[22] || (_cache[22] = createElementVNode("h2", { class: "t-white mn-b-small" }, "Genres", -1)),
433
+ _cache[22] || (_cache[22] = createElementVNode("h2", { class: "mn-b-small" }, "Genres", -1)),
410
434
  createElementVNode("div", _hoisted_32, [
411
435
  (openBlock(true), createElementBlock(Fragment, null, renderList(genreResults.value.slice(0, activeFilter.value === "all" ? 4 : genreResults.value.length), (genre) => {
412
436
  return openBlock(), createBlock(_component_router_link, {
@@ -442,7 +466,7 @@ const _sfc_main = {
442
466
  };
443
467
  }
444
468
  };
445
- const SearchResults = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7cffa9b9"]]);
469
+ const SearchResults = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d2f0de62"]]);
446
470
  export {
447
471
  SearchResults as default
448
472
  };