@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.
- package/dist/Media-B2jWzwLB.cjs +1 -0
- package/dist/{Media-CXQSPHt2.js → Media-DZ5_ItXQ.js} +3 -3
- package/dist/auth.server.cjs +1 -1
- package/dist/auth.server.js +1 -1
- package/dist/{authJwt-DBB51Iql.cjs → authJwt-D35KyJlE.cjs} +31 -2
- package/dist/{authJwt-DcYNNwcr.js → authJwt-DqxhUym0.js} +31 -2
- package/dist/chats.server.cjs +1 -1
- package/dist/chats.server.js +1 -1
- package/dist/community.server.cjs +1 -1
- package/dist/community.server.js +1 -1
- package/dist/crud-BDIArc5A.cjs +1096 -0
- package/dist/crud-DJvpe0aZ.js +1097 -0
- package/dist/events.server.cjs +1 -1
- package/dist/events.server.js +1 -1
- package/dist/files.server.cjs +1 -1
- package/dist/files.server.js +1 -1
- package/dist/gallery.server.cjs +1 -1
- package/dist/gallery.server.js +1 -1
- package/dist/{index-CsJwdsBW.js → index-CVuQC4k1.js} +1 -1
- package/dist/{index-YNOkL1mu.cjs → index-DiSKVCaA.cjs} +1 -1
- package/dist/main-C6_DPWGX.cjs +11 -0
- package/dist/{main-Cfh5138F.js → main-nQmkbWsW.js} +825 -826
- package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +5 -6
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +5 -6
- package/dist/martyrs/src/components/Field/Field.vue2.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +10 -9
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +13 -12
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.cjs +2 -2
- package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +2 -2
- package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.cjs +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +5 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +5 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +10 -10
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +5 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +23 -23
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +11 -11
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +3 -3
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +25 -25
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +15 -15
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +9 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +9 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +24 -58
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +24 -58
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +1 -0
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +1 -0
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs +6 -0
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.js +6 -0
- package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs +100 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js +100 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js.map +1 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +224 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +224 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs +40 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js +40 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.cjs +6 -6
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.js +6 -6
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs +10 -12
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +11 -13
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/icons.client.cjs +48 -4
- package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/icons.client.js +172 -128
- package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs +5 -7
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js +5 -7
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +62 -6
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +189 -133
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs +25 -17
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.js +25 -17
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/line.vue.cjs +23 -14
- package/dist/martyrs/src/modules/icons/socials/line.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/line.vue.js +23 -14
- package/dist/martyrs/src/modules/icons/socials/line.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs +26 -17
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js +26 -17
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs +29 -20
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +29 -20
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/vk.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/vk.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +162 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +162 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +437 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +437 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/{pages → forms}/ArtistForm.vue.cjs +140 -106
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/{pages → forms}/ArtistForm.vue.js +162 -128
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +11 -11
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +23 -23
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +554 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +554 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +57 -68
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +58 -69
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/{AlbumDetail.vue.cjs → Album.vue.cjs} +47 -23
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/{AlbumDetail.vue.js → Album.vue.js} +47 -23
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/{ArtistDetail.vue.cjs → Artist.vue.cjs} +11 -11
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/{ArtistDetail.vue.js → Artist.vue.js} +11 -11
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +94 -59
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +95 -60
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +168 -120
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +170 -122
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/{PlaylistDetail.vue.cjs → Playlist.vue.cjs} +60 -36
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/{PlaylistDetail.vue.js → Playlist.vue.js} +73 -49
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +52 -28
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +52 -28
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/{TrackDetail.vue.cjs → Track.vue.cjs} +37 -13
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/{TrackDetail.vue.js → Track.vue.js} +38 -14
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +28 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +28 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/music.client.cjs +31 -31
- package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/music.client.js +31 -31
- package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
- package/dist/martyrs/src/modules/music/router/albums.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/albums.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/albums.js +34 -0
- package/dist/martyrs/src/modules/music/router/albums.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/artists.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/artists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/artists.js +34 -0
- package/dist/martyrs/src/modules/music/router/artists.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/music.cjs +12 -64
- package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/router/music.js +12 -64
- package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
- package/dist/martyrs/src/modules/music/router/playlists.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/playlists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/playlists.js +34 -0
- package/dist/martyrs/src/modules/music/router/playlists.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/tracks.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/tracks.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/tracks.js +34 -0
- package/dist/martyrs/src/modules/music/router/tracks.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/artists.cjs +12 -6
- package/dist/martyrs/src/modules/music/store/artists.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/store/artists.js +12 -6
- package/dist/martyrs/src/modules/music/store/artists.js.map +1 -1
- package/dist/martyrs/src/modules/music/store/genres.cjs +123 -0
- package/dist/martyrs/src/modules/music/store/genres.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/genres.js +123 -0
- package/dist/martyrs/src/modules/music/store/genres.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/playlists.cjs +14 -6
- package/dist/martyrs/src/modules/music/store/playlists.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/store/playlists.js +14 -6
- package/dist/martyrs/src/modules/music/store/playlists.js.map +1 -1
- package/dist/martyrs/src/modules/music/store/tracks.cjs +6 -2
- package/dist/martyrs/src/modules/music/store/tracks.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/store/tracks.js +6 -2
- package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -0
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -0
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -0
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -0
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +5 -5
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +16 -16
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +15 -15
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +16 -16
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +8 -8
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -0
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -0
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -0
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -0
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -0
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -0
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js +8 -8
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js +12 -12
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +11 -11
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +10 -10
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +17 -17
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +6 -6
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +12 -12
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +16 -16
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -0
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -0
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -0
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -0
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +12 -12
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +7 -7
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/music.server.cjs +1165 -551
- package/dist/music.server.js +1161 -547
- package/dist/orders.server.cjs +89 -4
- package/dist/orders.server.js +88 -3
- package/dist/organizations.server.cjs +1 -1
- package/dist/organizations.server.js +1 -1
- package/dist/products.server.cjs +3 -1093
- package/dist/products.server.js +2 -1092
- package/dist/rents.server.cjs +1 -1
- package/dist/rents.server.js +1 -1
- package/dist/style.css +121 -77
- package/dist/wallet.server.cjs +1 -1
- package/dist/wallet.server.js +1 -1
- package/package.json +1 -1
- package/src/components/Field/Field.vue +13 -8
- package/src/components/FieldBig/FieldBig.vue +3 -5
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/Media/Media.vue +1 -1
- package/src/components/Select/Select.vue +1 -1
- package/src/components/Status/Snack.vue +83 -0
- package/src/modules/auth/controllers/middlewares/authJwt.js +59 -6
- package/src/modules/globals/views/classes/globals.store.js +31 -66
- package/src/modules/globals/views/components/partials/FooterAlt.vue +363 -0
- package/src/modules/globals/views/store/globals.js +42 -0
- package/src/modules/globals/views/utils/query-serializer.js +182 -0
- package/src/modules/icons/components/IconSearchPopup.vue +254 -0
- package/src/modules/icons/entities/IconAddress.vue +17 -0
- package/src/modules/icons/entities/IconDate.vue +3 -3
- package/src/modules/icons/entities/IconEmail.vue +14 -0
- package/src/modules/icons/entities/IconMusic.vue +3 -3
- package/src/modules/icons/entities/IconPhone.vue +14 -0
- package/src/modules/icons/icons.client.js +85 -31
- package/src/modules/icons/icons.server.js +292 -0
- package/src/modules/icons/navigation/IconCross.vue +4 -16
- package/src/modules/icons/navigation/IconPause.vue +9 -24
- package/src/modules/icons/navigation/IconRefresh.vue +9 -24
- package/src/modules/icons/pages/IconsPage.vue +78 -2
- package/src/modules/icons/routes/icons.routes.js +81 -0
- package/src/modules/icons/socials/dribbble.vue +11 -2
- package/src/modules/icons/socials/facebook.vue +11 -2
- package/src/modules/icons/socials/instagram.vue +11 -4
- package/src/modules/icons/socials/line.vue +11 -2
- package/src/modules/icons/socials/linkedin.vue +11 -2
- package/src/modules/icons/socials/reddit.vue +10 -1
- package/src/modules/icons/socials/telegram.vue +11 -2
- package/src/modules/icons/socials/twitter.vue +11 -2
- package/src/modules/icons/socials/vk.vue +11 -2
- package/src/modules/icons/socials/whatsapp.vue +12 -0
- package/src/modules/icons/socials/youtube.vue +11 -2
- package/src/modules/music/.claude/settings.local.json +8 -0
- package/src/modules/music/CLAUDE.md +312 -0
- package/src/modules/music/components/SidebarMusic.vue +8 -8
- package/src/modules/music/components/cards/AlbumCard.vue +2 -2
- package/src/modules/music/components/cards/ArtistCard.vue +2 -2
- package/src/modules/music/components/cards/PlaylistCard.vue +2 -2
- package/src/modules/music/components/cards/TrackCard.vue +1 -1
- package/src/modules/music/components/cards/TrackListCard.vue +135 -0
- package/src/modules/music/components/forms/AlbumForm.vue +463 -0
- package/src/modules/music/components/{pages → forms}/ArtistForm.vue +127 -96
- package/src/modules/music/components/forms/PlaylistForm.vue +10 -10
- package/src/modules/music/components/forms/SearchForm.vue +1 -1
- package/src/modules/music/components/forms/TrackForm.vue +577 -0
- package/src/modules/music/components/layouts/MusicLayout.vue +35 -41
- package/src/modules/music/components/pages/{AlbumDetail.vue → Album.vue} +42 -20
- package/src/modules/music/components/pages/AlbumCreate.vue +7 -0
- package/src/modules/music/components/pages/AlbumEdit.vue +14 -0
- package/src/modules/music/components/pages/{ArtistDetail.vue → Artist.vue} +9 -9
- package/src/modules/music/components/pages/ArtistCreate.vue +7 -0
- package/src/modules/music/components/pages/ArtistEdit.vue +14 -0
- package/src/modules/music/components/pages/MusicHome.vue +86 -67
- package/src/modules/music/components/pages/MusicLibrary.vue +136 -105
- package/src/modules/music/components/pages/{PlaylistDetail.vue → Playlist.vue} +56 -34
- package/src/modules/music/components/pages/PlaylistCreate.vue +7 -0
- package/src/modules/music/components/pages/PlaylistEdit.vue +14 -0
- package/src/modules/music/components/pages/SearchResults.vue +49 -27
- package/src/modules/music/components/pages/{TrackDetail.vue → Track.vue} +36 -14
- package/src/modules/music/components/pages/TrackCreate.vue +23 -0
- package/src/modules/music/components/pages/TrackEdit.vue +14 -0
- package/src/modules/music/components/player/MusicPlayer.vue +2 -2
- package/src/modules/music/middlewares/albums.verifier.js +234 -0
- package/src/modules/music/middlewares/artists.verifier.js +213 -0
- package/src/modules/music/middlewares/genres.verifier.js +148 -0
- package/src/modules/music/middlewares/playlists.verifier.js +219 -0
- package/src/modules/music/middlewares/tracks.verifier.js +263 -0
- package/src/modules/music/music.client.js +31 -33
- package/src/modules/music/music.server.js +33 -26
- package/src/modules/music/router/albums.js +31 -0
- package/src/modules/music/router/artists.js +31 -0
- package/src/modules/music/router/music.js +14 -65
- package/src/modules/music/router/playlists.js +31 -0
- package/src/modules/music/router/tracks.js +31 -0
- package/src/modules/music/routes/albums.routes.js +126 -0
- package/src/modules/music/routes/artists.routes.js +171 -0
- package/src/modules/music/routes/genres.routes.js +118 -0
- package/src/modules/music/routes/playlists.routes.js +239 -0
- package/src/modules/music/routes/tracks.routes.js +149 -0
- package/src/modules/music/store/artists.js +17 -7
- package/src/modules/music/store/genres.js +150 -0
- package/src/modules/music/store/playlists.js +19 -6
- package/src/modules/music/store/tracks.js +9 -2
- package/dist/Media-DhpD64nT.cjs +0 -1
- package/dist/globals.crud-BQG1Lm0A.js +0 -90
- package/dist/globals.crud-Dv7UXbRM.cjs +0 -89
- package/dist/main-DKJqboZy.cjs +0 -11
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/forms/UploadForm.vue.cjs +0 -328
- package/dist/martyrs/src/modules/music/components/forms/UploadForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/forms/UploadForm.vue.js +0 -328
- package/dist/martyrs/src/modules/music/components/forms/UploadForm.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/lists/AlbumList.vue.cjs +0 -44
- package/dist/martyrs/src/modules/music/components/lists/AlbumList.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/lists/AlbumList.vue.js +0 -44
- package/dist/martyrs/src/modules/music/components/lists/AlbumList.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/lists/ArtistList.vue.cjs +0 -305
- package/dist/martyrs/src/modules/music/components/lists/ArtistList.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/lists/ArtistList.vue.js +0 -305
- package/dist/martyrs/src/modules/music/components/lists/ArtistList.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/lists/PlaylistList.vue.cjs +0 -44
- package/dist/martyrs/src/modules/music/components/lists/PlaylistList.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/lists/PlaylistList.vue.js +0 -44
- package/dist/martyrs/src/modules/music/components/lists/PlaylistList.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/lists/TrackList.vue.cjs +0 -199
- package/dist/martyrs/src/modules/music/components/lists/TrackList.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/lists/TrackList.vue.js +0 -199
- package/dist/martyrs/src/modules/music/components/lists/TrackList.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/AlbumDetail.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/AlbumDetail.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/ArtistDetail.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/ArtistDetail.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/ArtistForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/ArtistForm.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/ArtistManager.vue.cjs +0 -303
- package/dist/martyrs/src/modules/music/components/pages/ArtistManager.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/ArtistManager.vue.js +0 -303
- package/dist/martyrs/src/modules/music/components/pages/ArtistManager.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicUpload.vue.cjs +0 -50
- package/dist/martyrs/src/modules/music/components/pages/MusicUpload.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicUpload.vue.js +0 -50
- package/dist/martyrs/src/modules/music/components/pages/MusicUpload.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/PlaylistDetail.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/PlaylistDetail.vue.js.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackDetail.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackDetail.vue.js.map +0 -1
- package/src/modules/music/components/forms/UploadForm.vue +0 -313
- package/src/modules/music/components/lists/AlbumList.vue +0 -25
- package/src/modules/music/components/lists/ArtistList.vue +0 -280
- package/src/modules/music/components/lists/PlaylistList.vue +0 -25
- package/src/modules/music/components/lists/TrackList.vue +0 -175
- package/src/modules/music/components/pages/ArtistManager.vue +0 -277
- package/src/modules/music/components/pages/MusicUpload.vue +0 -44
- package/src/modules/music/controllers/album.controller.js +0 -82
- package/src/modules/music/controllers/artist.controller.js +0 -99
- package/src/modules/music/controllers/genre.controller.js +0 -63
- package/src/modules/music/controllers/music.controller.js +0 -145
- package/src/modules/music/controllers/playlist.controller.js +0 -146
- package/src/modules/music/routes/album.routes.js +0 -28
- package/src/modules/music/routes/artist.routes.js +0 -30
- package/src/modules/music/routes/genre.routes.js +0 -28
- package/src/modules/music/routes/music.routes.js +0 -106
- 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
|
|
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: "
|
|
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-
|
|
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-
|
|
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-
|
|
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: "
|
|
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
|
|
151
|
+
router.push({ name: "album", params: { url: item.url } });
|
|
151
152
|
break;
|
|
152
153
|
case "playlist":
|
|
153
|
-
router.push({ name: "playlist
|
|
154
|
+
router.push({ name: "playlist", params: { url: item.url } });
|
|
154
155
|
break;
|
|
155
156
|
case "artist":
|
|
156
|
-
router.push({ name: "artist
|
|
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: "
|
|
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
|
|
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: "
|
|
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: "
|
|
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
|
|
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
|
|
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
|
|
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: "
|
|
319
|
-
vue.createVNode(
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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-
|
|
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
|
|
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: "
|
|
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-
|
|
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-
|
|
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-
|
|
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: "
|
|
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
|
|
149
|
+
router.push({ name: "album", params: { url: item.url } });
|
|
149
150
|
break;
|
|
150
151
|
case "playlist":
|
|
151
|
-
router.push({ name: "playlist
|
|
152
|
+
router.push({ name: "playlist", params: { url: item.url } });
|
|
152
153
|
break;
|
|
153
154
|
case "artist":
|
|
154
|
-
router.push({ name: "artist
|
|
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: "
|
|
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
|
|
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: "
|
|
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: "
|
|
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
|
|
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
|
|
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
|
|
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: "
|
|
317
|
-
createVNode(
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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-
|
|
469
|
+
const SearchResults = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d2f0de62"]]);
|
|
446
470
|
export {
|
|
447
471
|
SearchResults as default
|
|
448
472
|
};
|