@ozdao/martyrs 0.2.485 → 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-DlUBwVWs.js → Media-DZ5_ItXQ.js} +3 -3
- package/dist/_virtual/index.cjs +4 -4
- package/dist/_virtual/index.js +4 -4
- package/dist/_virtual/index2.cjs +4 -4
- package/dist/_virtual/index2.js +4 -4
- package/dist/auth.server.cjs +3 -24
- package/dist/auth.server.js +2 -23
- 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/globals.server.cjs +3 -322
- package/dist/globals.server.js +1 -303
- package/dist/globals.websocket-DzvdIBf6.js +306 -0
- package/dist/globals.websocket-k6_B1T7k.cjs +322 -0
- 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-CK6rC5Sz.js → main-nQmkbWsW.js} +2291 -2224
- package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
- package/dist/martyrs/src/components/{DatePicker → Calendar}/Calendar.vue.cjs +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/{DatePicker → Calendar}/Calendar.vue.js +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue.js.map +1 -0
- 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/Feed/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- 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/FieldTags/FieldTags.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +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/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
- package/dist/martyrs/src/components/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
- 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 +2 -2
- 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 +2 -2
- 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 +3 -2
- 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 +3 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +3 -3
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +4 -4
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +13 -13
- 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/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +25 -25
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +16 -16
- 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/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -3
- 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 +4 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +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/AlertDialog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.js +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/blocks/CardHeader.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +2 -1
- 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 +2 -1
- 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/axios-instance.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/axios-instance.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 +87 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +87 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +83 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +83 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +83 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +83 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs +68 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js +68 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js.map +1 -0
- 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/forms/ArtistForm.vue.cjs +416 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +416 -0
- 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 +174 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +174 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +80 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +80 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -0
- 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 +104 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +104 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +314 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +314 -0
- 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/Artist.vue.cjs +467 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +467 -0
- 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 +256 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +256 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +248 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +248 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +580 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +580 -0
- 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 +473 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +473 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +111 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +111 -0
- 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 +227 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +227 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +85 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +85 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +71 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +71 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/music.client.cjs +137 -0
- package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/music.client.js +137 -0
- package/dist/martyrs/src/modules/music/music.client.js.map +1 -0
- 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 +47 -0
- package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/music.js +47 -0
- package/dist/martyrs/src/modules/music/router/music.js.map +1 -0
- 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/albums.cjs +167 -0
- package/dist/martyrs/src/modules/music/store/albums.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/albums.js +167 -0
- package/dist/martyrs/src/modules/music/store/albums.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/artists.cjs +160 -0
- package/dist/martyrs/src/modules/music/store/artists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/artists.js +160 -0
- package/dist/martyrs/src/modules/music/store/artists.js.map +1 -0
- 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/player.cjs +297 -0
- package/dist/martyrs/src/modules/music/store/player.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/player.js +297 -0
- package/dist/martyrs/src/modules/music/store/player.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/playlists.cjs +182 -0
- package/dist/martyrs/src/modules/music/store/playlists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/playlists.js +182 -0
- package/dist/martyrs/src/modules/music/store/playlists.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/search.cjs +109 -0
- package/dist/martyrs/src/modules/music/store/search.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/search.js +109 -0
- package/dist/martyrs/src/modules/music/store/search.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/tracks.cjs +184 -0
- package/dist/martyrs/src/modules/music/store/tracks.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/tracks.js +184 -0
- package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -0
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -2
- 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 +3 -2
- 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 +2 -1
- 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 +2 -1
- 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 +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
- 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/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +16 -16
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +17 -17
- 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 +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +8 -8
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -1
- 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 +2 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -1
- 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 +2 -1
- 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 +2 -1
- 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 +2 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- 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/blocks/ProductImages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.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/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +13 -13
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +11 -11
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +18 -18
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +7 -7
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +13 -13
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +17 -17
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- 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/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +14 -14
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +9 -9
- 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 +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +38 -36
- package/dist/music.server.cjs +2021 -0
- package/dist/music.server.js +2021 -0
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/orders.server.cjs +1 -1
- package/dist/orders.server.js +1 -1
- 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/socials.schema-BOZV82Mp.js +25 -0
- package/dist/socials.schema-CtpSF9dE.cjs +24 -0
- package/dist/style.css +230 -46
- package/dist/wallet.server.cjs +1 -1
- package/dist/wallet.server.js +1 -1
- package/package.json +1 -1
- package/src/.martyrs/filemap.json +2 -2
- package/src/components/Feed/Feed.vue +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/components/index.js +2 -0
- package/src/main.js +6 -0
- package/src/modules/auth/controllers/middlewares/authJwt.js +59 -6
- package/src/modules/events/components/pages/EditEvent.vue +1 -1
- package/src/modules/globals/views/classes/globals.store.js +31 -66
- package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
- 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/axios-instance.js +15 -1
- 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/src/modules/products/components/pages/Product.vue +1 -1
- package/dist/Media-ByPHBvAU.cjs +0 -1
- package/dist/main-137vO86w.cjs +0 -11
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
- 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/DatePicker/Calendar.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/DatePicker/Calendar.vue.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/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.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
- /package/src/components/{DatePicker → Calendar}/Calendar.vue +0 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { ref, computed, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, withCtx, createBlock } from "vue";
|
|
2
|
+
import Media from "../../../../components/Media/Media.vue.js";
|
|
3
|
+
import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
|
|
4
|
+
import TrackProgress from "./TrackProgress.vue.js";
|
|
5
|
+
import VolumeControl from "./VolumeControl.vue.js";
|
|
6
|
+
import _sfc_main$5 from "../../../icons/navigation/IconPlay.vue.js";
|
|
7
|
+
import _sfc_main$4 from "../../../icons/navigation/IconPause.vue.js";
|
|
8
|
+
import IconChevronRight from "../../../icons/navigation/IconChevronRight.vue.js";
|
|
9
|
+
import IconChevronLeft from "../../../icons/navigation/IconChevronLeft.vue.js";
|
|
10
|
+
import _sfc_main$3 from "../../../icons/navigation/IconShuffle.vue.js";
|
|
11
|
+
import _sfc_main$6 from "../../../icons/navigation/IconRefresh.vue.js";
|
|
12
|
+
import _sfc_main$2 from "../../../icons/navigation/IconLike.vue.js";
|
|
13
|
+
import _sfc_main$7 from "../../../icons/navigation/IconVolume.vue.js";
|
|
14
|
+
import _sfc_main$8 from "../../../icons/navigation/IconMute.vue.js";
|
|
15
|
+
import { state, actions } from "../../store/player.js";
|
|
16
|
+
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
17
|
+
const _hoisted_1 = { class: "music-player pd-small flex-between flex-v-center flex bg-dark br-t br-solid br-dark-transp-20" };
|
|
18
|
+
const _hoisted_2 = { class: "player-track-info flex-v-center flex w-25r" };
|
|
19
|
+
const _hoisted_3 = {
|
|
20
|
+
key: 0,
|
|
21
|
+
class: "player-track-cover mn-r-small"
|
|
22
|
+
};
|
|
23
|
+
const _hoisted_4 = { class: "player-track-details t-truncate" };
|
|
24
|
+
const _hoisted_5 = { class: "player-track-title t-medium t-truncate" };
|
|
25
|
+
const _hoisted_6 = { class: "player-track-artist t-grey t-small t-truncate" };
|
|
26
|
+
const _hoisted_7 = { class: "player-favorite mn-l-small" };
|
|
27
|
+
const _hoisted_8 = { class: "player-controls flex-1 flex flex-column items-center" };
|
|
28
|
+
const _hoisted_9 = { class: "player-buttons flex-v-center flex gap-small" };
|
|
29
|
+
const _hoisted_10 = { class: "player-volume flex-v-center flex w-15r" };
|
|
30
|
+
const _sfc_main = {
|
|
31
|
+
__name: "MusicPlayer",
|
|
32
|
+
setup(__props) {
|
|
33
|
+
const isFavorite = ref(false);
|
|
34
|
+
const currentTrack = computed(() => state.currentTrack);
|
|
35
|
+
const isPlaying = computed(() => state.isPlaying);
|
|
36
|
+
const volume = computed(() => state.volume);
|
|
37
|
+
const muted = computed(() => state.muted);
|
|
38
|
+
const shuffle = computed(() => state.shuffle);
|
|
39
|
+
const repeat = computed(() => state.repeat);
|
|
40
|
+
const repeatIcon = computed(() => {
|
|
41
|
+
switch (repeat.value) {
|
|
42
|
+
case "one":
|
|
43
|
+
return "rgb(var(--main))";
|
|
44
|
+
case "all":
|
|
45
|
+
return "rgb(var(--main))";
|
|
46
|
+
default:
|
|
47
|
+
return "rgb(var(--grey))";
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
const togglePlay = () => {
|
|
51
|
+
actions.togglePlay();
|
|
52
|
+
};
|
|
53
|
+
const playNext = () => {
|
|
54
|
+
actions.playNext();
|
|
55
|
+
};
|
|
56
|
+
const playPrevious = () => {
|
|
57
|
+
actions.playPrevious();
|
|
58
|
+
};
|
|
59
|
+
const toggleShuffle = () => {
|
|
60
|
+
actions.toggleShuffle();
|
|
61
|
+
};
|
|
62
|
+
const toggleRepeat = () => {
|
|
63
|
+
actions.toggleRepeat();
|
|
64
|
+
};
|
|
65
|
+
const toggleMute = () => {
|
|
66
|
+
actions.toggleMute();
|
|
67
|
+
};
|
|
68
|
+
const toggleFavorite = () => {
|
|
69
|
+
isFavorite.value = !isFavorite.value;
|
|
70
|
+
};
|
|
71
|
+
const getArtistName = (track) => {
|
|
72
|
+
if (!track) return "Unknown Artist";
|
|
73
|
+
if (track.artist) {
|
|
74
|
+
if (typeof track.artist === "object") {
|
|
75
|
+
return track.artist.name || "Unknown Artist";
|
|
76
|
+
}
|
|
77
|
+
return track.artist;
|
|
78
|
+
}
|
|
79
|
+
return "Unknown Artist";
|
|
80
|
+
};
|
|
81
|
+
return (_ctx, _cache) => {
|
|
82
|
+
var _a;
|
|
83
|
+
const _component_IconVolumeHalf = resolveComponent("IconVolumeHalf");
|
|
84
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
85
|
+
createElementVNode("div", _hoisted_2, [
|
|
86
|
+
currentTrack.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
87
|
+
createVNode(Media, {
|
|
88
|
+
url: currentTrack.value.coverUrl || currentTrack.value.album && currentTrack.value.album.coverUrl || "/assets/placeholder-track.jpg",
|
|
89
|
+
class: "w-3r h-3r object-fit-cover radius-small"
|
|
90
|
+
}, null, 8, ["url"])
|
|
91
|
+
])) : createCommentVNode("", true),
|
|
92
|
+
createElementVNode("div", _hoisted_4, [
|
|
93
|
+
createElementVNode("div", _hoisted_5, toDisplayString(((_a = currentTrack.value) == null ? void 0 : _a.title) || "No track playing"), 1),
|
|
94
|
+
createElementVNode("div", _hoisted_6, toDisplayString(getArtistName(currentTrack.value)), 1)
|
|
95
|
+
]),
|
|
96
|
+
createElementVNode("div", _hoisted_7, [
|
|
97
|
+
createVNode(_sfc_main$1, {
|
|
98
|
+
onClick: toggleFavorite,
|
|
99
|
+
class: "bg-transparent border-none pd-zero",
|
|
100
|
+
showLoader: false,
|
|
101
|
+
showSucces: false
|
|
102
|
+
}, {
|
|
103
|
+
default: withCtx(() => [
|
|
104
|
+
createVNode(_sfc_main$2, {
|
|
105
|
+
class: "i-small",
|
|
106
|
+
fill: isFavorite.value ? "rgb(var(--main))" : "rgb(var(--grey))"
|
|
107
|
+
}, null, 8, ["fill"])
|
|
108
|
+
]),
|
|
109
|
+
_: 1
|
|
110
|
+
})
|
|
111
|
+
])
|
|
112
|
+
]),
|
|
113
|
+
createElementVNode("div", _hoisted_8, [
|
|
114
|
+
createElementVNode("div", _hoisted_9, [
|
|
115
|
+
createVNode(_sfc_main$1, {
|
|
116
|
+
onClick: toggleShuffle,
|
|
117
|
+
class: "bg-transparent border-none pd-zero",
|
|
118
|
+
showLoader: false,
|
|
119
|
+
showSucces: false
|
|
120
|
+
}, {
|
|
121
|
+
default: withCtx(() => [
|
|
122
|
+
createVNode(_sfc_main$3, {
|
|
123
|
+
class: "i-small",
|
|
124
|
+
fill: shuffle.value ? "rgb(var(--main))" : "rgb(var(--grey))"
|
|
125
|
+
}, null, 8, ["fill"])
|
|
126
|
+
]),
|
|
127
|
+
_: 1
|
|
128
|
+
}),
|
|
129
|
+
createVNode(_sfc_main$1, {
|
|
130
|
+
onClick: playPrevious,
|
|
131
|
+
class: "bg-transparent border-none pd-zero",
|
|
132
|
+
showLoader: false,
|
|
133
|
+
showSucces: false
|
|
134
|
+
}, {
|
|
135
|
+
default: withCtx(() => [
|
|
136
|
+
createVNode(IconChevronLeft, {
|
|
137
|
+
class: "i-small",
|
|
138
|
+
fill: "rgb(var(--white))"
|
|
139
|
+
})
|
|
140
|
+
]),
|
|
141
|
+
_: 1
|
|
142
|
+
}),
|
|
143
|
+
createVNode(_sfc_main$1, {
|
|
144
|
+
onClick: togglePlay,
|
|
145
|
+
class: "play-pause-btn bg-white radius-round pd-micro flex-center flex",
|
|
146
|
+
showLoader: false,
|
|
147
|
+
showSucces: false
|
|
148
|
+
}, {
|
|
149
|
+
default: withCtx(() => [
|
|
150
|
+
isPlaying.value ? (openBlock(), createBlock(_sfc_main$4, {
|
|
151
|
+
key: 0,
|
|
152
|
+
class: "i-medium",
|
|
153
|
+
fill: "rgb(var(--black))"
|
|
154
|
+
})) : (openBlock(), createBlock(_sfc_main$5, {
|
|
155
|
+
key: 1,
|
|
156
|
+
class: "i-medium",
|
|
157
|
+
fill: "rgb(var(--black))"
|
|
158
|
+
}))
|
|
159
|
+
]),
|
|
160
|
+
_: 1
|
|
161
|
+
}),
|
|
162
|
+
createVNode(_sfc_main$1, {
|
|
163
|
+
onClick: playNext,
|
|
164
|
+
class: "bg-transparent border-none pd-zero",
|
|
165
|
+
showLoader: false,
|
|
166
|
+
showSucces: false
|
|
167
|
+
}, {
|
|
168
|
+
default: withCtx(() => [
|
|
169
|
+
createVNode(IconChevronRight, {
|
|
170
|
+
class: "i-small",
|
|
171
|
+
fill: "rgb(var(--white))"
|
|
172
|
+
})
|
|
173
|
+
]),
|
|
174
|
+
_: 1
|
|
175
|
+
}),
|
|
176
|
+
createVNode(_sfc_main$1, {
|
|
177
|
+
onClick: toggleRepeat,
|
|
178
|
+
class: "bg-transparent border-none pd-zero",
|
|
179
|
+
showLoader: false,
|
|
180
|
+
showSucces: false
|
|
181
|
+
}, {
|
|
182
|
+
default: withCtx(() => [
|
|
183
|
+
createVNode(_sfc_main$6, {
|
|
184
|
+
class: "i-small",
|
|
185
|
+
fill: repeatIcon.value
|
|
186
|
+
}, null, 8, ["fill"])
|
|
187
|
+
]),
|
|
188
|
+
_: 1
|
|
189
|
+
})
|
|
190
|
+
]),
|
|
191
|
+
createVNode(TrackProgress, { class: "w-100 mn-t-thin" })
|
|
192
|
+
]),
|
|
193
|
+
createElementVNode("div", _hoisted_10, [
|
|
194
|
+
createVNode(_sfc_main$1, {
|
|
195
|
+
onClick: toggleMute,
|
|
196
|
+
class: "bg-transparent border-none pd-zero mn-r-small",
|
|
197
|
+
showLoader: false,
|
|
198
|
+
showSucces: false
|
|
199
|
+
}, {
|
|
200
|
+
default: withCtx(() => [
|
|
201
|
+
!muted.value && volume.value > 0.5 ? (openBlock(), createBlock(_sfc_main$7, {
|
|
202
|
+
key: 0,
|
|
203
|
+
class: "i-small",
|
|
204
|
+
fill: "rgb(var(--white))"
|
|
205
|
+
})) : !muted.value && volume.value > 0 ? (openBlock(), createBlock(_component_IconVolumeHalf, {
|
|
206
|
+
key: 1,
|
|
207
|
+
class: "i-small",
|
|
208
|
+
fill: "rgb(var(--white))"
|
|
209
|
+
})) : (openBlock(), createBlock(_sfc_main$8, {
|
|
210
|
+
key: 2,
|
|
211
|
+
class: "i-small",
|
|
212
|
+
fill: "rgb(var(--white))"
|
|
213
|
+
}))
|
|
214
|
+
]),
|
|
215
|
+
_: 1
|
|
216
|
+
}),
|
|
217
|
+
createVNode(VolumeControl)
|
|
218
|
+
])
|
|
219
|
+
]);
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
const MusicPlayer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f19b93ab"]]);
|
|
224
|
+
export {
|
|
225
|
+
MusicPlayer as default
|
|
226
|
+
};
|
|
227
|
+
//# sourceMappingURL=MusicPlayer.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MusicPlayer.vue.js","sources":["../../../../../../../src/modules/music/components/player/MusicPlayer.vue"],"sourcesContent":["<!-- components/player/MusicPlayer.vue -->\n<template>\n <div class=\"music-player pd-small flex-between flex-v-center flex bg-dark br-t br-solid br-dark-transp-20 \">\n <!-- Current Track Info -->\n <div class=\"player-track-info flex-v-center flex w-25r\">\n <div v-if=\"currentTrack\" class=\"player-track-cover mn-r-small\">\n <Media \n :url=\"currentTrack.coverUrl || (currentTrack.album && currentTrack.album.coverUrl) || '/assets/placeholder-track.jpg'\" \n class=\"w-3r h-3r object-fit-cover radius-small\"\n />\n </div>\n \n <div class=\"player-track-details t-truncate\">\n <div class=\"player-track-title t-medium t-truncate\">\n {{ currentTrack?.title || 'No track playing' }}\n </div>\n <div class=\"player-track-artist t-grey t-small t-truncate\">\n {{ getArtistName(currentTrack) }}\n </div>\n </div>\n \n <div class=\"player-favorite mn-l-small\">\n <Button \n @click=\"toggleFavorite\" \n class=\"bg-transparent border-none pd-zero\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n <IconLike class=\"i-small\" :fill=\"isFavorite ? 'rgb(var(--main))' : 'rgb(var(--grey))'\"/>\n </Button>\n </div>\n </div>\n \n <!-- Player Controls -->\n <div class=\"player-controls flex-1 flex flex-column items-center\">\n <div class=\"player-buttons flex-v-center flex gap-small\">\n <Button \n @click=\"toggleShuffle\" \n class=\"bg-transparent border-none pd-zero\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n <IconShuffle class=\"i-small\" :fill=\"shuffle ? 'rgb(var(--main))' : 'rgb(var(--grey))'\"/>\n </Button>\n \n <Button \n @click=\"playPrevious\" \n class=\"bg-transparent border-none pd-zero\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n <IconPrevious class=\"i-small\" fill=\"rgb(var(--white))\"/>\n </Button>\n \n <Button \n @click=\"togglePlay\" \n class=\"play-pause-btn bg-white radius-round pd-micro flex-center flex\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n <IconPause v-if=\"isPlaying\" class=\"i-medium\" fill=\"rgb(var(--black))\"/>\n <IconPlay v-else class=\"i-medium\" fill=\"rgb(var(--black))\"/>\n </Button>\n \n <Button \n @click=\"playNext\" \n class=\"bg-transparent border-none pd-zero\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n <IconNext class=\"i-small\" fill=\"rgb(var(--white))\"/>\n </Button>\n \n <Button \n @click=\"toggleRepeat\" \n class=\"bg-transparent border-none pd-zero\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n <IconRepeat class=\"i-small\" :fill=\"repeatIcon\"/>\n </Button>\n </div>\n \n <TrackProgress class=\"w-100 mn-t-thin\" />\n </div>\n \n <!-- Volume Control -->\n <div class=\"player-volume flex-v-center flex w-15r\">\n <Button \n @click=\"toggleMute\" \n class=\"bg-transparent border-none pd-zero mn-r-small\"\n :showLoader=\"false\" \n :showSucces=\"false\"\n >\n <IconVolume v-if=\"!muted && volume > 0.5\" class=\"i-small\" fill=\"rgb(var(--white))\"/>\n <IconVolumeHalf v-else-if=\"!muted && volume > 0\" class=\"i-small\" fill=\"rgb(var(--white))\"/>\n <IconVolumeMute v-else class=\"i-small\" fill=\"rgb(var(--white))\"/>\n </Button>\n \n <VolumeControl />\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed, ref } from 'vue';\nimport Media from '@martyrs/src/components/Media/Media.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport TrackProgress from './TrackProgress.vue';\nimport VolumeControl from './VolumeControl.vue';\n\n// Import icons\nimport IconPlay from '@martyrs/src/modules/icons/navigation/IconPlay.vue';\nimport IconPause from '@martyrs/src/modules/icons/navigation/IconPause.vue';\nimport IconNext from '@martyrs/src/modules/icons/navigation/IconChevronRight.vue';\nimport IconPrevious from '@martyrs/src/modules/icons/navigation/IconChevronLeft.vue';\nimport IconShuffle from '@martyrs/src/modules/icons/navigation/IconShuffle.vue';\nimport IconRepeat from '@martyrs/src/modules/icons/navigation/IconRefresh.vue';\nimport IconLike from '@martyrs/src/modules/icons/navigation/IconLike.vue';\nimport IconVolume from '@martyrs/src/modules/icons/navigation/IconVolume.vue';\n// import IconVolumeHalf from '@martyrs/src/modules/icons/navigation/IconVolume.vue'; // Using same icon but we'd style it differently\nimport IconVolumeMute from '@martyrs/src/modules/icons/navigation/IconMute.vue';\n\n// Import player store\nimport { state as playerState, actions as playerActions } from '../../store/player.js';\n\n// State\nconst isFavorite = ref(false);\n\n// Computed properties\nconst currentTrack = computed(() => playerState.currentTrack);\nconst isPlaying = computed(() => playerState.isPlaying);\nconst volume = computed(() => playerState.volume);\nconst muted = computed(() => playerState.muted);\nconst shuffle = computed(() => playerState.shuffle);\nconst repeat = computed(() => playerState.repeat);\n\nconst repeatIcon = computed(() => {\n switch(repeat.value) {\n case 'one':\n return 'rgb(var(--main))';\n case 'all':\n return 'rgb(var(--main))';\n default:\n return 'rgb(var(--grey))';\n }\n});\n\n// Methods\nconst togglePlay = () => {\n playerActions.togglePlay();\n};\n\nconst playNext = () => {\n playerActions.playNext();\n};\n\nconst playPrevious = () => {\n playerActions.playPrevious();\n};\n\nconst toggleShuffle = () => {\n playerActions.toggleShuffle();\n};\n\nconst toggleRepeat = () => {\n playerActions.toggleRepeat();\n};\n\nconst toggleMute = () => {\n playerActions.toggleMute();\n};\n\nconst toggleFavorite = () => {\n isFavorite.value = !isFavorite.value;\n // Implement favorite track logic here\n};\n\nconst getArtistName = (track) => {\n if (!track) return 'Unknown Artist';\n \n if (track.artist) {\n if (typeof track.artist === 'object') {\n return track.artist.name || 'Unknown Artist';\n }\n return track.artist;\n }\n return 'Unknown Artist';\n};\n</script>\n\n<style scoped>\n.play-pause-btn {\n width: 32px;\n height: 32px;\n transition: transform 0.2s ease;\n}\n\n.play-pause-btn:hover {\n transform: scale(1.1);\n}\n</style>"],"names":["playerState","playerActions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+HA,UAAM,aAAa,IAAI,KAAK;AAG5B,UAAM,eAAe,SAAS,MAAMA,MAAY,YAAY;AAC5D,UAAM,YAAY,SAAS,MAAMA,MAAY,SAAS;AACtD,UAAM,SAAS,SAAS,MAAMA,MAAY,MAAM;AAChD,UAAM,QAAQ,SAAS,MAAMA,MAAY,KAAK;AAC9C,UAAM,UAAU,SAAS,MAAMA,MAAY,OAAO;AAClD,UAAM,SAAS,SAAS,MAAMA,MAAY,MAAM;AAEhD,UAAM,aAAa,SAAS,MAAM;AAChC,cAAO,OAAO,OAAK;AAAA,QACjB,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO;AAAA,MACb;AAAA,IACA,CAAC;AAGD,UAAM,aAAa,MAAM;AACvBC,cAAc,WAAY;AAAA,IAC5B;AAEA,UAAM,WAAW,MAAM;AACrBA,cAAc,SAAU;AAAA,IAC1B;AAEA,UAAM,eAAe,MAAM;AACzBA,cAAc,aAAc;AAAA,IAC9B;AAEA,UAAM,gBAAgB,MAAM;AAC1BA,cAAc,cAAe;AAAA,IAC/B;AAEA,UAAM,eAAe,MAAM;AACzBA,cAAc,aAAc;AAAA,IAC9B;AAEA,UAAM,aAAa,MAAM;AACvBA,cAAc,WAAY;AAAA,IAC5B;AAEA,UAAM,iBAAiB,MAAM;AAC3B,iBAAW,QAAQ,CAAC,WAAW;AAAA,IAEjC;AAEA,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAO,QAAO;AAEnB,UAAI,MAAM,QAAQ;AAChB,YAAI,OAAO,MAAM,WAAW,UAAU;AACpC,iBAAO,MAAM,OAAO,QAAQ;AAAA,QAClC;AACI,eAAO,MAAM;AAAA,MACjB;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const player = require("../../store/player.cjs");
|
|
5
|
+
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
6
|
+
const _hoisted_1 = { class: "track-progress flex flex-v-center gap-small" };
|
|
7
|
+
const _hoisted_2 = { class: "current-time t-grey t-small" };
|
|
8
|
+
const _hoisted_3 = { class: "total-time t-grey t-small" };
|
|
9
|
+
const _sfc_main = {
|
|
10
|
+
__name: "TrackProgress",
|
|
11
|
+
setup(__props) {
|
|
12
|
+
const progressBarContainer = vue.ref(null);
|
|
13
|
+
const isSeeking = vue.ref(false);
|
|
14
|
+
const seekPosition = vue.ref(0);
|
|
15
|
+
const currentTime = vue.computed(() => player.state.currentTime);
|
|
16
|
+
const duration = vue.computed(() => player.state.duration);
|
|
17
|
+
const progressPercentage = vue.computed(() => {
|
|
18
|
+
if (!duration.value) return 0;
|
|
19
|
+
return Math.min(100, currentTime.value / duration.value * 100);
|
|
20
|
+
});
|
|
21
|
+
const formatTime = (seconds) => {
|
|
22
|
+
if (!seconds) return "0:00";
|
|
23
|
+
const minutes = Math.floor(seconds / 60);
|
|
24
|
+
const remainingSeconds = Math.floor(seconds % 60);
|
|
25
|
+
return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`;
|
|
26
|
+
};
|
|
27
|
+
const calculateSeekTime = (event) => {
|
|
28
|
+
if (!progressBarContainer.value || !duration.value) return 0;
|
|
29
|
+
const rect = progressBarContainer.value.getBoundingClientRect();
|
|
30
|
+
const offsetX = event.clientX - rect.left;
|
|
31
|
+
const percentage = Math.max(0, Math.min(1, offsetX / rect.width));
|
|
32
|
+
return percentage * duration.value;
|
|
33
|
+
};
|
|
34
|
+
const seek = (event) => {
|
|
35
|
+
const seekTime = calculateSeekTime(event);
|
|
36
|
+
player.actions.seek(seekTime);
|
|
37
|
+
};
|
|
38
|
+
const startSeek = (event) => {
|
|
39
|
+
isSeeking.value = true;
|
|
40
|
+
seekPosition.value = calculateSeekTime(event);
|
|
41
|
+
};
|
|
42
|
+
const updateSeekPosition = (event) => {
|
|
43
|
+
if (isSeeking.value) {
|
|
44
|
+
seekPosition.value = calculateSeekTime(event);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const endSeek = () => {
|
|
48
|
+
if (isSeeking.value) {
|
|
49
|
+
isSeeking.value = false;
|
|
50
|
+
player.actions.seek(seekPosition.value);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
vue.onUnmounted(() => {
|
|
54
|
+
isSeeking.value = false;
|
|
55
|
+
});
|
|
56
|
+
return (_ctx, _cache) => {
|
|
57
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
58
|
+
vue.createElementVNode("div", _hoisted_2, vue.toDisplayString(formatTime(currentTime.value)), 1),
|
|
59
|
+
vue.createElementVNode("div", {
|
|
60
|
+
ref_key: "progressBarContainer",
|
|
61
|
+
ref: progressBarContainer,
|
|
62
|
+
class: "progress-bar-container flex-1 h-thin bg-grey radius-extra pos-relative cursor-pointer",
|
|
63
|
+
onClick: seek,
|
|
64
|
+
onMousedown: startSeek,
|
|
65
|
+
onMousemove: updateSeekPosition,
|
|
66
|
+
onMouseup: endSeek,
|
|
67
|
+
onMouseleave: endSeek
|
|
68
|
+
}, [
|
|
69
|
+
vue.createElementVNode("div", {
|
|
70
|
+
class: "progress-bar h-100 bg-white radius-extra",
|
|
71
|
+
style: vue.normalizeStyle({ width: progressPercentage.value + "%" })
|
|
72
|
+
}, null, 4),
|
|
73
|
+
vue.createElementVNode("div", {
|
|
74
|
+
class: "progress-handle w-thin h-thin bg-white radius-round pos-absolute pos-t-50 pos-l-0",
|
|
75
|
+
style: vue.normalizeStyle({ left: `calc(${progressPercentage.value}% - 4px)`, transform: "translateY(-50%)" })
|
|
76
|
+
}, null, 4)
|
|
77
|
+
], 544),
|
|
78
|
+
vue.createElementVNode("div", _hoisted_3, vue.toDisplayString(formatTime(duration.value)), 1)
|
|
79
|
+
]);
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
const TrackProgress = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-4326ac71"]]);
|
|
84
|
+
exports.default = TrackProgress;
|
|
85
|
+
//# sourceMappingURL=TrackProgress.vue.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrackProgress.vue.cjs","sources":["../../../../../../../src/modules/music/components/player/TrackProgress.vue"],"sourcesContent":["<!-- components/player/TrackProgress.vue -->\n<template>\n <div class=\"track-progress flex flex-v-center gap-small\">\n <div class=\"current-time t-grey t-small\">{{ formatTime(currentTime) }}</div>\n \n <div \n ref=\"progressBarContainer\"\n class=\"progress-bar-container flex-1 h-thin bg-grey radius-extra pos-relative cursor-pointer\"\n @click=\"seek\"\n @mousedown=\"startSeek\"\n @mousemove=\"updateSeekPosition\"\n @mouseup=\"endSeek\"\n @mouseleave=\"endSeek\"\n >\n <div \n class=\"progress-bar h-100 bg-white radius-extra\" \n :style=\"{ width: progressPercentage + '%' }\"\n ></div>\n <div \n class=\"progress-handle w-thin h-thin bg-white radius-round pos-absolute pos-t-50 pos-l-0\"\n :style=\"{ left: `calc(${progressPercentage}% - 4px)`, transform: 'translateY(-50%)' }\"\n ></div>\n </div>\n \n <div class=\"total-time t-grey t-small\">{{ formatTime(duration) }}</div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, onUnmounted } from 'vue';\n\n// Import player store\nimport { state as playerState, actions as playerActions } from '../../store/player.js';\n\n// Refs\nconst progressBarContainer = ref(null);\nconst isSeeking = ref(false);\nconst seekPosition = ref(0);\n\n// Computed properties\nconst currentTime = computed(() => playerState.currentTime);\nconst duration = computed(() => playerState.duration);\nconst progressPercentage = computed(() => {\n if (!duration.value) return 0;\n return Math.min(100, (currentTime.value / duration.value) * 100);\n});\n\n// Methods\nconst formatTime = (seconds) => {\n if (!seconds) return '0:00';\n \n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = Math.floor(seconds % 60);\n \n return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`;\n};\n\nconst calculateSeekTime = (event) => {\n if (!progressBarContainer.value || !duration.value) return 0;\n \n const rect = progressBarContainer.value.getBoundingClientRect();\n const offsetX = event.clientX - rect.left;\n const percentage = Math.max(0, Math.min(1, offsetX / rect.width));\n \n return percentage * duration.value;\n};\n\nconst seek = (event) => {\n const seekTime = calculateSeekTime(event);\n playerActions.seek(seekTime);\n};\n\nconst startSeek = (event) => {\n isSeeking.value = true;\n seekPosition.value = calculateSeekTime(event);\n};\n\nconst updateSeekPosition = (event) => {\n if (isSeeking.value) {\n seekPosition.value = calculateSeekTime(event);\n }\n};\n\nconst endSeek = () => {\n if (isSeeking.value) {\n isSeeking.value = false;\n playerActions.seek(seekPosition.value);\n }\n};\n\n// Clean up event listeners when component is unmounted\nonUnmounted(() => {\n isSeeking.value = false;\n});\n</script>\n\n<style scoped>\n.progress-bar-container:hover .progress-bar {\n background-color: rgb(var(--main));\n}\n\n.progress-handle {\n display: none;\n}\n\n.progress-bar-container:hover .progress-handle {\n display: block;\n transform: translateY(-50%) scale(1.3);\n}\n</style>"],"names":["ref","computed","playerState","playerActions","onUnmounted"],"mappings":";;;;;;;;;;;AAmCA,UAAM,uBAAuBA,IAAG,IAAC,IAAI;AACrC,UAAM,YAAYA,IAAG,IAAC,KAAK;AAC3B,UAAM,eAAeA,IAAG,IAAC,CAAC;AAG1B,UAAM,cAAcC,IAAQ,SAAC,MAAMC,OAAW,MAAC,WAAW;AAC1D,UAAM,WAAWD,IAAQ,SAAC,MAAMC,OAAW,MAAC,QAAQ;AACpD,UAAM,qBAAqBD,IAAQ,SAAC,MAAM;AACxC,UAAI,CAAC,SAAS,MAAO,QAAO;AAC5B,aAAO,KAAK,IAAI,KAAM,YAAY,QAAQ,SAAS,QAAS,GAAG;AAAA,IACjE,CAAC;AAGD,UAAM,aAAa,CAAC,YAAY;AAC9B,UAAI,CAAC,QAAS,QAAO;AAErB,YAAM,UAAU,KAAK,MAAM,UAAU,EAAE;AACvC,YAAM,mBAAmB,KAAK,MAAM,UAAU,EAAE;AAEhD,aAAO,GAAG,OAAO,IAAI,iBAAiB,SAAU,EAAC,SAAS,GAAG,GAAG,CAAC;AAAA,IACnE;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,UAAI,CAAC,qBAAqB,SAAS,CAAC,SAAS,MAAO,QAAO;AAE3D,YAAM,OAAO,qBAAqB,MAAM,sBAAuB;AAC/D,YAAM,UAAU,MAAM,UAAU,KAAK;AACrC,YAAM,aAAa,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,UAAU,KAAK,KAAK,CAAC;AAEhE,aAAO,aAAa,SAAS;AAAA,IAC/B;AAEA,UAAM,OAAO,CAAC,UAAU;AACtB,YAAM,WAAW,kBAAkB,KAAK;AACxCE,aAAa,QAAC,KAAK,QAAQ;AAAA,IAC7B;AAEA,UAAM,YAAY,CAAC,UAAU;AAC3B,gBAAU,QAAQ;AAClB,mBAAa,QAAQ,kBAAkB,KAAK;AAAA,IAC9C;AAEA,UAAM,qBAAqB,CAAC,UAAU;AACpC,UAAI,UAAU,OAAO;AACnB,qBAAa,QAAQ,kBAAkB,KAAK;AAAA,MAChD;AAAA,IACA;AAEA,UAAM,UAAU,MAAM;AACpB,UAAI,UAAU,OAAO;AACnB,kBAAU,QAAQ;AAClBA,uBAAc,KAAK,aAAa,KAAK;AAAA,MACzC;AAAA,IACA;AAGAC,QAAAA,YAAY,MAAM;AAChB,gBAAU,QAAQ;AAAA,IACpB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ref, computed, onUnmounted, createElementBlock, openBlock, createElementVNode, toDisplayString, normalizeStyle } from "vue";
|
|
2
|
+
import { state, actions } from "../../store/player.js";
|
|
3
|
+
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const _hoisted_1 = { class: "track-progress flex flex-v-center gap-small" };
|
|
5
|
+
const _hoisted_2 = { class: "current-time t-grey t-small" };
|
|
6
|
+
const _hoisted_3 = { class: "total-time t-grey t-small" };
|
|
7
|
+
const _sfc_main = {
|
|
8
|
+
__name: "TrackProgress",
|
|
9
|
+
setup(__props) {
|
|
10
|
+
const progressBarContainer = ref(null);
|
|
11
|
+
const isSeeking = ref(false);
|
|
12
|
+
const seekPosition = ref(0);
|
|
13
|
+
const currentTime = computed(() => state.currentTime);
|
|
14
|
+
const duration = computed(() => state.duration);
|
|
15
|
+
const progressPercentage = computed(() => {
|
|
16
|
+
if (!duration.value) return 0;
|
|
17
|
+
return Math.min(100, currentTime.value / duration.value * 100);
|
|
18
|
+
});
|
|
19
|
+
const formatTime = (seconds) => {
|
|
20
|
+
if (!seconds) return "0:00";
|
|
21
|
+
const minutes = Math.floor(seconds / 60);
|
|
22
|
+
const remainingSeconds = Math.floor(seconds % 60);
|
|
23
|
+
return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`;
|
|
24
|
+
};
|
|
25
|
+
const calculateSeekTime = (event) => {
|
|
26
|
+
if (!progressBarContainer.value || !duration.value) return 0;
|
|
27
|
+
const rect = progressBarContainer.value.getBoundingClientRect();
|
|
28
|
+
const offsetX = event.clientX - rect.left;
|
|
29
|
+
const percentage = Math.max(0, Math.min(1, offsetX / rect.width));
|
|
30
|
+
return percentage * duration.value;
|
|
31
|
+
};
|
|
32
|
+
const seek = (event) => {
|
|
33
|
+
const seekTime = calculateSeekTime(event);
|
|
34
|
+
actions.seek(seekTime);
|
|
35
|
+
};
|
|
36
|
+
const startSeek = (event) => {
|
|
37
|
+
isSeeking.value = true;
|
|
38
|
+
seekPosition.value = calculateSeekTime(event);
|
|
39
|
+
};
|
|
40
|
+
const updateSeekPosition = (event) => {
|
|
41
|
+
if (isSeeking.value) {
|
|
42
|
+
seekPosition.value = calculateSeekTime(event);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const endSeek = () => {
|
|
46
|
+
if (isSeeking.value) {
|
|
47
|
+
isSeeking.value = false;
|
|
48
|
+
actions.seek(seekPosition.value);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
onUnmounted(() => {
|
|
52
|
+
isSeeking.value = false;
|
|
53
|
+
});
|
|
54
|
+
return (_ctx, _cache) => {
|
|
55
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
56
|
+
createElementVNode("div", _hoisted_2, toDisplayString(formatTime(currentTime.value)), 1),
|
|
57
|
+
createElementVNode("div", {
|
|
58
|
+
ref_key: "progressBarContainer",
|
|
59
|
+
ref: progressBarContainer,
|
|
60
|
+
class: "progress-bar-container flex-1 h-thin bg-grey radius-extra pos-relative cursor-pointer",
|
|
61
|
+
onClick: seek,
|
|
62
|
+
onMousedown: startSeek,
|
|
63
|
+
onMousemove: updateSeekPosition,
|
|
64
|
+
onMouseup: endSeek,
|
|
65
|
+
onMouseleave: endSeek
|
|
66
|
+
}, [
|
|
67
|
+
createElementVNode("div", {
|
|
68
|
+
class: "progress-bar h-100 bg-white radius-extra",
|
|
69
|
+
style: normalizeStyle({ width: progressPercentage.value + "%" })
|
|
70
|
+
}, null, 4),
|
|
71
|
+
createElementVNode("div", {
|
|
72
|
+
class: "progress-handle w-thin h-thin bg-white radius-round pos-absolute pos-t-50 pos-l-0",
|
|
73
|
+
style: normalizeStyle({ left: `calc(${progressPercentage.value}% - 4px)`, transform: "translateY(-50%)" })
|
|
74
|
+
}, null, 4)
|
|
75
|
+
], 544),
|
|
76
|
+
createElementVNode("div", _hoisted_3, toDisplayString(formatTime(duration.value)), 1)
|
|
77
|
+
]);
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const TrackProgress = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4326ac71"]]);
|
|
82
|
+
export {
|
|
83
|
+
TrackProgress as default
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=TrackProgress.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrackProgress.vue.js","sources":["../../../../../../../src/modules/music/components/player/TrackProgress.vue"],"sourcesContent":["<!-- components/player/TrackProgress.vue -->\n<template>\n <div class=\"track-progress flex flex-v-center gap-small\">\n <div class=\"current-time t-grey t-small\">{{ formatTime(currentTime) }}</div>\n \n <div \n ref=\"progressBarContainer\"\n class=\"progress-bar-container flex-1 h-thin bg-grey radius-extra pos-relative cursor-pointer\"\n @click=\"seek\"\n @mousedown=\"startSeek\"\n @mousemove=\"updateSeekPosition\"\n @mouseup=\"endSeek\"\n @mouseleave=\"endSeek\"\n >\n <div \n class=\"progress-bar h-100 bg-white radius-extra\" \n :style=\"{ width: progressPercentage + '%' }\"\n ></div>\n <div \n class=\"progress-handle w-thin h-thin bg-white radius-round pos-absolute pos-t-50 pos-l-0\"\n :style=\"{ left: `calc(${progressPercentage}% - 4px)`, transform: 'translateY(-50%)' }\"\n ></div>\n </div>\n \n <div class=\"total-time t-grey t-small\">{{ formatTime(duration) }}</div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted, onUnmounted } from 'vue';\n\n// Import player store\nimport { state as playerState, actions as playerActions } from '../../store/player.js';\n\n// Refs\nconst progressBarContainer = ref(null);\nconst isSeeking = ref(false);\nconst seekPosition = ref(0);\n\n// Computed properties\nconst currentTime = computed(() => playerState.currentTime);\nconst duration = computed(() => playerState.duration);\nconst progressPercentage = computed(() => {\n if (!duration.value) return 0;\n return Math.min(100, (currentTime.value / duration.value) * 100);\n});\n\n// Methods\nconst formatTime = (seconds) => {\n if (!seconds) return '0:00';\n \n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = Math.floor(seconds % 60);\n \n return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`;\n};\n\nconst calculateSeekTime = (event) => {\n if (!progressBarContainer.value || !duration.value) return 0;\n \n const rect = progressBarContainer.value.getBoundingClientRect();\n const offsetX = event.clientX - rect.left;\n const percentage = Math.max(0, Math.min(1, offsetX / rect.width));\n \n return percentage * duration.value;\n};\n\nconst seek = (event) => {\n const seekTime = calculateSeekTime(event);\n playerActions.seek(seekTime);\n};\n\nconst startSeek = (event) => {\n isSeeking.value = true;\n seekPosition.value = calculateSeekTime(event);\n};\n\nconst updateSeekPosition = (event) => {\n if (isSeeking.value) {\n seekPosition.value = calculateSeekTime(event);\n }\n};\n\nconst endSeek = () => {\n if (isSeeking.value) {\n isSeeking.value = false;\n playerActions.seek(seekPosition.value);\n }\n};\n\n// Clean up event listeners when component is unmounted\nonUnmounted(() => {\n isSeeking.value = false;\n});\n</script>\n\n<style scoped>\n.progress-bar-container:hover .progress-bar {\n background-color: rgb(var(--main));\n}\n\n.progress-handle {\n display: none;\n}\n\n.progress-bar-container:hover .progress-handle {\n display: block;\n transform: translateY(-50%) scale(1.3);\n}\n</style>"],"names":["playerState","playerActions"],"mappings":";;;;;;;;;AAmCA,UAAM,uBAAuB,IAAI,IAAI;AACrC,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,eAAe,IAAI,CAAC;AAG1B,UAAM,cAAc,SAAS,MAAMA,MAAY,WAAW;AAC1D,UAAM,WAAW,SAAS,MAAMA,MAAY,QAAQ;AACpD,UAAM,qBAAqB,SAAS,MAAM;AACxC,UAAI,CAAC,SAAS,MAAO,QAAO;AAC5B,aAAO,KAAK,IAAI,KAAM,YAAY,QAAQ,SAAS,QAAS,GAAG;AAAA,IACjE,CAAC;AAGD,UAAM,aAAa,CAAC,YAAY;AAC9B,UAAI,CAAC,QAAS,QAAO;AAErB,YAAM,UAAU,KAAK,MAAM,UAAU,EAAE;AACvC,YAAM,mBAAmB,KAAK,MAAM,UAAU,EAAE;AAEhD,aAAO,GAAG,OAAO,IAAI,iBAAiB,SAAU,EAAC,SAAS,GAAG,GAAG,CAAC;AAAA,IACnE;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,UAAI,CAAC,qBAAqB,SAAS,CAAC,SAAS,MAAO,QAAO;AAE3D,YAAM,OAAO,qBAAqB,MAAM,sBAAuB;AAC/D,YAAM,UAAU,MAAM,UAAU,KAAK;AACrC,YAAM,aAAa,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,UAAU,KAAK,KAAK,CAAC;AAEhE,aAAO,aAAa,SAAS;AAAA,IAC/B;AAEA,UAAM,OAAO,CAAC,UAAU;AACtB,YAAM,WAAW,kBAAkB,KAAK;AACxCC,cAAc,KAAK,QAAQ;AAAA,IAC7B;AAEA,UAAM,YAAY,CAAC,UAAU;AAC3B,gBAAU,QAAQ;AAClB,mBAAa,QAAQ,kBAAkB,KAAK;AAAA,IAC9C;AAEA,UAAM,qBAAqB,CAAC,UAAU;AACpC,UAAI,UAAU,OAAO;AACnB,qBAAa,QAAQ,kBAAkB,KAAK;AAAA,MAChD;AAAA,IACA;AAEA,UAAM,UAAU,MAAM;AACpB,UAAI,UAAU,OAAO;AACnB,kBAAU,QAAQ;AAClBA,gBAAc,KAAK,aAAa,KAAK;AAAA,MACzC;AAAA,IACA;AAGA,gBAAY,MAAM;AAChB,gBAAU,QAAQ;AAAA,IACpB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const player = require("../../store/player.cjs");
|
|
5
|
+
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
6
|
+
const _sfc_main = {
|
|
7
|
+
__name: "VolumeControl",
|
|
8
|
+
setup(__props) {
|
|
9
|
+
const volumeBarContainer = vue.ref(null);
|
|
10
|
+
const isChangingVolume = vue.ref(false);
|
|
11
|
+
const volume = vue.computed(() => player.state.volume);
|
|
12
|
+
const muted = vue.computed(() => player.state.muted);
|
|
13
|
+
const volumePercentage = vue.computed(() => {
|
|
14
|
+
if (muted.value) return 0;
|
|
15
|
+
return volume.value * 100;
|
|
16
|
+
});
|
|
17
|
+
const calculateVolume = (event) => {
|
|
18
|
+
if (!volumeBarContainer.value) return 0;
|
|
19
|
+
const rect = volumeBarContainer.value.getBoundingClientRect();
|
|
20
|
+
const offsetX = event.clientX - rect.left;
|
|
21
|
+
return Math.max(0, Math.min(1, offsetX / rect.width));
|
|
22
|
+
};
|
|
23
|
+
const setVolume = (event) => {
|
|
24
|
+
const newVolume = calculateVolume(event);
|
|
25
|
+
player.actions.setVolume(newVolume);
|
|
26
|
+
if (muted.value && newVolume > 0) {
|
|
27
|
+
player.actions.toggleMute();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const startVolumeChange = (event) => {
|
|
31
|
+
isChangingVolume.value = true;
|
|
32
|
+
setVolume(event);
|
|
33
|
+
};
|
|
34
|
+
const updateVolumePosition = (event) => {
|
|
35
|
+
if (isChangingVolume.value) {
|
|
36
|
+
setVolume(event);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const endVolumeChange = () => {
|
|
40
|
+
isChangingVolume.value = false;
|
|
41
|
+
};
|
|
42
|
+
return (_ctx, _cache) => {
|
|
43
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
44
|
+
ref_key: "volumeBarContainer",
|
|
45
|
+
ref: volumeBarContainer,
|
|
46
|
+
class: "volume-bar-container w-100 h-thin bg-grey-transp-50 radius-extra pos-relative cursor-pointer",
|
|
47
|
+
onClick: setVolume,
|
|
48
|
+
onMousedown: startVolumeChange,
|
|
49
|
+
onMousemove: updateVolumePosition,
|
|
50
|
+
onMouseup: endVolumeChange,
|
|
51
|
+
onMouseleave: endVolumeChange
|
|
52
|
+
}, [
|
|
53
|
+
vue.createElementVNode("div", {
|
|
54
|
+
class: vue.normalizeClass(["volume-bar h-100 bg-white radius-extra", { "muted": muted.value }]),
|
|
55
|
+
style: vue.normalizeStyle({ width: volumePercentage.value + "%" })
|
|
56
|
+
}, null, 6),
|
|
57
|
+
vue.createElementVNode("div", {
|
|
58
|
+
class: "volume-handle w-thin h-thin bg-white radius-round pos-absolute pos-t-50 pos-l-0",
|
|
59
|
+
style: vue.normalizeStyle({
|
|
60
|
+
left: `calc(${volumePercentage.value}% - 4px)`,
|
|
61
|
+
transform: "translateY(-50%)",
|
|
62
|
+
opacity: muted.value ? 0 : 1
|
|
63
|
+
})
|
|
64
|
+
}, null, 4)
|
|
65
|
+
], 544);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const VolumeControl = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-08586594"]]);
|
|
70
|
+
exports.default = VolumeControl;
|
|
71
|
+
//# sourceMappingURL=VolumeControl.vue.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VolumeControl.vue.cjs","sources":["../../../../../../../src/modules/music/components/player/VolumeControl.vue"],"sourcesContent":["<!-- components/player/VolumeControl.vue -->\n<template>\n <div \n ref=\"volumeBarContainer\"\n class=\"volume-bar-container w-100 h-thin bg-grey-transp-50 radius-extra pos-relative cursor-pointer\"\n @click=\"setVolume\"\n @mousedown=\"startVolumeChange\"\n @mousemove=\"updateVolumePosition\"\n @mouseup=\"endVolumeChange\"\n @mouseleave=\"endVolumeChange\"\n >\n <div \n class=\"volume-bar h-100 bg-white radius-extra\" \n :style=\"{ width: volumePercentage + '%' }\"\n :class=\"{ 'muted': muted }\"\n ></div>\n <div \n class=\"volume-handle w-thin h-thin bg-white radius-round pos-absolute pos-t-50 pos-l-0\"\n :style=\"{ \n left: `calc(${volumePercentage}% - 4px)`, \n transform: 'translateY(-50%)',\n opacity: muted ? 0 : 1\n }\"\n ></div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\n\n// Import player store\nimport { state as playerState, actions as playerActions } from '../../store/player.js';\n\n// Refs\nconst volumeBarContainer = ref(null);\nconst isChangingVolume = ref(false);\n\n// Computed properties\nconst volume = computed(() => playerState.volume);\nconst muted = computed(() => playerState.muted);\nconst volumePercentage = computed(() => {\n if (muted.value) return 0;\n return volume.value * 100;\n});\n\n// Methods\nconst calculateVolume = (event) => {\n if (!volumeBarContainer.value) return 0;\n \n const rect = volumeBarContainer.value.getBoundingClientRect();\n const offsetX = event.clientX - rect.left;\n \n return Math.max(0, Math.min(1, offsetX / rect.width));\n};\n\nconst setVolume = (event) => {\n const newVolume = calculateVolume(event);\n playerActions.setVolume(newVolume);\n \n // Unmute if was muted\n if (muted.value && newVolume > 0) {\n playerActions.toggleMute();\n }\n};\n\nconst startVolumeChange = (event) => {\n isChangingVolume.value = true;\n setVolume(event);\n};\n\nconst updateVolumePosition = (event) => {\n if (isChangingVolume.value) {\n setVolume(event);\n }\n};\n\nconst endVolumeChange = () => {\n isChangingVolume.value = false;\n};\n</script>\n\n<style scoped>\n.volume-bar-container:hover .volume-bar:not(.muted) {\n background-color: rgb(var(--main));\n}\n\n.volume-handle {\n display: none;\n}\n\n.volume-bar-container:hover .volume-handle {\n display: block;\n}\n\n.muted {\n opacity: 0.5;\n}\n</style>"],"names":["ref","computed","playerState","playerActions"],"mappings":";;;;;;;;AAkCA,UAAM,qBAAqBA,IAAG,IAAC,IAAI;AACnC,UAAM,mBAAmBA,IAAG,IAAC,KAAK;AAGlC,UAAM,SAASC,IAAQ,SAAC,MAAMC,OAAW,MAAC,MAAM;AAChD,UAAM,QAAQD,IAAQ,SAAC,MAAMC,OAAW,MAAC,KAAK;AAC9C,UAAM,mBAAmBD,IAAQ,SAAC,MAAM;AACtC,UAAI,MAAM,MAAO,QAAO;AACxB,aAAO,OAAO,QAAQ;AAAA,IACxB,CAAC;AAGD,UAAM,kBAAkB,CAAC,UAAU;AACjC,UAAI,CAAC,mBAAmB,MAAO,QAAO;AAEtC,YAAM,OAAO,mBAAmB,MAAM,sBAAuB;AAC7D,YAAM,UAAU,MAAM,UAAU,KAAK;AAErC,aAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,UAAU,KAAK,KAAK,CAAC;AAAA,IACtD;AAEA,UAAM,YAAY,CAAC,UAAU;AAC3B,YAAM,YAAY,gBAAgB,KAAK;AACvCE,aAAa,QAAC,UAAU,SAAS;AAGjC,UAAI,MAAM,SAAS,YAAY,GAAG;AAChCA,eAAAA,QAAc,WAAY;AAAA,MAC9B;AAAA,IACA;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,uBAAiB,QAAQ;AACzB,gBAAU,KAAK;AAAA,IACjB;AAEA,UAAM,uBAAuB,CAAC,UAAU;AACtC,UAAI,iBAAiB,OAAO;AAC1B,kBAAU,KAAK;AAAA,MACnB;AAAA,IACA;AAEA,UAAM,kBAAkB,MAAM;AAC5B,uBAAiB,QAAQ;AAAA,IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ref, computed, createElementBlock, openBlock, createElementVNode, normalizeStyle, normalizeClass } from "vue";
|
|
2
|
+
import { state, actions } from "../../store/player.js";
|
|
3
|
+
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const _sfc_main = {
|
|
5
|
+
__name: "VolumeControl",
|
|
6
|
+
setup(__props) {
|
|
7
|
+
const volumeBarContainer = ref(null);
|
|
8
|
+
const isChangingVolume = ref(false);
|
|
9
|
+
const volume = computed(() => state.volume);
|
|
10
|
+
const muted = computed(() => state.muted);
|
|
11
|
+
const volumePercentage = computed(() => {
|
|
12
|
+
if (muted.value) return 0;
|
|
13
|
+
return volume.value * 100;
|
|
14
|
+
});
|
|
15
|
+
const calculateVolume = (event) => {
|
|
16
|
+
if (!volumeBarContainer.value) return 0;
|
|
17
|
+
const rect = volumeBarContainer.value.getBoundingClientRect();
|
|
18
|
+
const offsetX = event.clientX - rect.left;
|
|
19
|
+
return Math.max(0, Math.min(1, offsetX / rect.width));
|
|
20
|
+
};
|
|
21
|
+
const setVolume = (event) => {
|
|
22
|
+
const newVolume = calculateVolume(event);
|
|
23
|
+
actions.setVolume(newVolume);
|
|
24
|
+
if (muted.value && newVolume > 0) {
|
|
25
|
+
actions.toggleMute();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const startVolumeChange = (event) => {
|
|
29
|
+
isChangingVolume.value = true;
|
|
30
|
+
setVolume(event);
|
|
31
|
+
};
|
|
32
|
+
const updateVolumePosition = (event) => {
|
|
33
|
+
if (isChangingVolume.value) {
|
|
34
|
+
setVolume(event);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const endVolumeChange = () => {
|
|
38
|
+
isChangingVolume.value = false;
|
|
39
|
+
};
|
|
40
|
+
return (_ctx, _cache) => {
|
|
41
|
+
return openBlock(), createElementBlock("div", {
|
|
42
|
+
ref_key: "volumeBarContainer",
|
|
43
|
+
ref: volumeBarContainer,
|
|
44
|
+
class: "volume-bar-container w-100 h-thin bg-grey-transp-50 radius-extra pos-relative cursor-pointer",
|
|
45
|
+
onClick: setVolume,
|
|
46
|
+
onMousedown: startVolumeChange,
|
|
47
|
+
onMousemove: updateVolumePosition,
|
|
48
|
+
onMouseup: endVolumeChange,
|
|
49
|
+
onMouseleave: endVolumeChange
|
|
50
|
+
}, [
|
|
51
|
+
createElementVNode("div", {
|
|
52
|
+
class: normalizeClass(["volume-bar h-100 bg-white radius-extra", { "muted": muted.value }]),
|
|
53
|
+
style: normalizeStyle({ width: volumePercentage.value + "%" })
|
|
54
|
+
}, null, 6),
|
|
55
|
+
createElementVNode("div", {
|
|
56
|
+
class: "volume-handle w-thin h-thin bg-white radius-round pos-absolute pos-t-50 pos-l-0",
|
|
57
|
+
style: normalizeStyle({
|
|
58
|
+
left: `calc(${volumePercentage.value}% - 4px)`,
|
|
59
|
+
transform: "translateY(-50%)",
|
|
60
|
+
opacity: muted.value ? 0 : 1
|
|
61
|
+
})
|
|
62
|
+
}, null, 4)
|
|
63
|
+
], 544);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const VolumeControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-08586594"]]);
|
|
68
|
+
export {
|
|
69
|
+
VolumeControl as default
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=VolumeControl.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VolumeControl.vue.js","sources":["../../../../../../../src/modules/music/components/player/VolumeControl.vue"],"sourcesContent":["<!-- components/player/VolumeControl.vue -->\n<template>\n <div \n ref=\"volumeBarContainer\"\n class=\"volume-bar-container w-100 h-thin bg-grey-transp-50 radius-extra pos-relative cursor-pointer\"\n @click=\"setVolume\"\n @mousedown=\"startVolumeChange\"\n @mousemove=\"updateVolumePosition\"\n @mouseup=\"endVolumeChange\"\n @mouseleave=\"endVolumeChange\"\n >\n <div \n class=\"volume-bar h-100 bg-white radius-extra\" \n :style=\"{ width: volumePercentage + '%' }\"\n :class=\"{ 'muted': muted }\"\n ></div>\n <div \n class=\"volume-handle w-thin h-thin bg-white radius-round pos-absolute pos-t-50 pos-l-0\"\n :style=\"{ \n left: `calc(${volumePercentage}% - 4px)`, \n transform: 'translateY(-50%)',\n opacity: muted ? 0 : 1\n }\"\n ></div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\n\n// Import player store\nimport { state as playerState, actions as playerActions } from '../../store/player.js';\n\n// Refs\nconst volumeBarContainer = ref(null);\nconst isChangingVolume = ref(false);\n\n// Computed properties\nconst volume = computed(() => playerState.volume);\nconst muted = computed(() => playerState.muted);\nconst volumePercentage = computed(() => {\n if (muted.value) return 0;\n return volume.value * 100;\n});\n\n// Methods\nconst calculateVolume = (event) => {\n if (!volumeBarContainer.value) return 0;\n \n const rect = volumeBarContainer.value.getBoundingClientRect();\n const offsetX = event.clientX - rect.left;\n \n return Math.max(0, Math.min(1, offsetX / rect.width));\n};\n\nconst setVolume = (event) => {\n const newVolume = calculateVolume(event);\n playerActions.setVolume(newVolume);\n \n // Unmute if was muted\n if (muted.value && newVolume > 0) {\n playerActions.toggleMute();\n }\n};\n\nconst startVolumeChange = (event) => {\n isChangingVolume.value = true;\n setVolume(event);\n};\n\nconst updateVolumePosition = (event) => {\n if (isChangingVolume.value) {\n setVolume(event);\n }\n};\n\nconst endVolumeChange = () => {\n isChangingVolume.value = false;\n};\n</script>\n\n<style scoped>\n.volume-bar-container:hover .volume-bar:not(.muted) {\n background-color: rgb(var(--main));\n}\n\n.volume-handle {\n display: none;\n}\n\n.volume-bar-container:hover .volume-handle {\n display: block;\n}\n\n.muted {\n opacity: 0.5;\n}\n</style>"],"names":["playerState","playerActions"],"mappings":";;;;;;AAkCA,UAAM,qBAAqB,IAAI,IAAI;AACnC,UAAM,mBAAmB,IAAI,KAAK;AAGlC,UAAM,SAAS,SAAS,MAAMA,MAAY,MAAM;AAChD,UAAM,QAAQ,SAAS,MAAMA,MAAY,KAAK;AAC9C,UAAM,mBAAmB,SAAS,MAAM;AACtC,UAAI,MAAM,MAAO,QAAO;AACxB,aAAO,OAAO,QAAQ;AAAA,IACxB,CAAC;AAGD,UAAM,kBAAkB,CAAC,UAAU;AACjC,UAAI,CAAC,mBAAmB,MAAO,QAAO;AAEtC,YAAM,OAAO,mBAAmB,MAAM,sBAAuB;AAC7D,YAAM,UAAU,MAAM,UAAU,KAAK;AAErC,aAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,UAAU,KAAK,KAAK,CAAC;AAAA,IACtD;AAEA,UAAM,YAAY,CAAC,UAAU;AAC3B,YAAM,YAAY,gBAAgB,KAAK;AACvCC,cAAc,UAAU,SAAS;AAGjC,UAAI,MAAM,SAAS,YAAY,GAAG;AAChCA,gBAAc,WAAY;AAAA,MAC9B;AAAA,IACA;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,uBAAiB,QAAQ;AACzB,gBAAU,KAAK;AAAA,IACjB;AAEA,UAAM,uBAAuB,CAAC,UAAU;AACtC,UAAI,iBAAiB,OAAO;AAC1B,kBAAU,KAAK;AAAA,MACnB;AAAA,IACA;AAEA,UAAM,kBAAkB,MAAM;AAC5B,uBAAiB,QAAQ;AAAA,IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|