@ozdao/martyrs 0.2.495 → 0.2.497
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/_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/builder.cjs +43 -42
- package/dist/builder.js +45 -44
- package/dist/globals.server.cjs +13 -2
- package/dist/globals.server.js +13 -2
- package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
- package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
- 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/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.cjs → Tooltip.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js.map → Tooltip.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
- 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 +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- 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/layouts/Community.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.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 +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- 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/components/blocks/CardHeader.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.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/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +95 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +95 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +87 -140
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +97 -150
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +86 -136
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +102 -152
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +147 -159
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +172 -184
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +14 -19
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +15 -20
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/router/music.cjs +4 -4
- package/dist/martyrs/src/modules/music/router/music.js +4 -4
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +3 -3
- 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 +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- 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/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 +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +2 -2
- 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 +3 -3
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +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 +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- 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/Gant/GanttToolbar.vue.cjs +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
- 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 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +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 +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.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 +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +5 -5
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +5 -5
- package/dist/martyrs.css +1 -1
- package/dist/style.css +98 -81
- package/package.json +1 -1
- package/src/builder/rspack/rspack.config.ssr.client.js +41 -41
- package/src/modules/globals/controllers/classes/globals.websocket.js +11 -2
- package/src/modules/music/README.md +2 -0
- package/src/modules/music/components/cards/ArtistCardSmall.vue +92 -0
- package/src/modules/music/components/pages/Album.vue +20 -56
- package/src/modules/music/components/pages/Artist.vue +1 -1
- package/src/modules/music/components/pages/Playlist.vue +26 -44
- package/src/modules/music/components/pages/Track.vue +51 -74
- package/src/modules/music/components/player/MusicPlayer.vue +24 -21
- package/src/modules/music/components/player/TrackProgress.vue +9 -8
- package/src/modules/music/components/player/VolumeControl.vue +3 -2
- package/src/styles/base/all.scss +1 -0
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +0 -1
|
@@ -17,14 +17,11 @@
|
|
|
17
17
|
<!-- Left Column - Cover & Stats -->
|
|
18
18
|
<div class="pos-sticky pos-t-0 mobile:pos-relative album-cover-section">
|
|
19
19
|
<!-- Cover -->
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
20
|
+
<Media
|
|
21
|
+
:url="album.coverArt || '/logo/logo-placeholder.jpg'"
|
|
22
|
+
:alt="album.title"
|
|
23
|
+
class="aspect-1x1 w-100 w-max-30r mn-b-small radius-medium o-hidden"
|
|
24
|
+
/>
|
|
28
25
|
<!-- Quick Stats -->
|
|
29
26
|
<div class="stats-grid grid cols-2 gap-small">
|
|
30
27
|
<div class="stat-card bg-light pd-medium radius-medium t-center">
|
|
@@ -42,10 +39,10 @@
|
|
|
42
39
|
<div class="album-details-section">
|
|
43
40
|
<!-- Album Type Badge -->
|
|
44
41
|
<div class="flex items-center gap-small mn-b-small">
|
|
45
|
-
<span class="
|
|
42
|
+
<span class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
|
|
46
43
|
{{ album.type }}
|
|
47
44
|
</span>
|
|
48
|
-
<span v-if="album.status === 'published'" class="
|
|
45
|
+
<span v-if="album.status === 'published'" class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
|
|
49
46
|
Published
|
|
50
47
|
</span>
|
|
51
48
|
</div>
|
|
@@ -81,7 +78,7 @@
|
|
|
81
78
|
size="medium"
|
|
82
79
|
class="flex-1 bg-light radius-thin flex-center gap-thin"
|
|
83
80
|
>
|
|
84
|
-
<IconLike class="i-medium" :fill="isFavorite" />
|
|
81
|
+
<IconLike class="i-medium" :fill="isFavorite ? 'rgb(var(--main)':'rgb(var(--black)'" />
|
|
85
82
|
{{isFavorite ? 'Liked' : 'Like'}}
|
|
86
83
|
</Button>
|
|
87
84
|
|
|
@@ -117,51 +114,23 @@
|
|
|
117
114
|
</div>
|
|
118
115
|
|
|
119
116
|
<!-- Artists Cards -->
|
|
120
|
-
<div class="artists-section mn-b-
|
|
121
|
-
<h3 class="t-medium mn-b-small" v-if="album.artists
|
|
117
|
+
<div class="artists-section mn-b-medium">
|
|
118
|
+
<h3 class="t-medium mn-b-small" v-if="album.artists">Artists</h3>
|
|
122
119
|
<div class="flex flex-col gap-small">
|
|
123
|
-
<
|
|
120
|
+
<ArtistCardSmall
|
|
124
121
|
v-for="artist in album.artists"
|
|
125
122
|
:key="artist._id"
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
>
|
|
132
|
-
<div class="artist-avatar">
|
|
133
|
-
<Media
|
|
134
|
-
v-if="artist.photoUrl"
|
|
135
|
-
:url="artist.photoUrl"
|
|
136
|
-
:alt="artist.name"
|
|
137
|
-
class="w-4r h-4r radius-full object-cover"
|
|
138
|
-
/>
|
|
139
|
-
<div v-else class="w-4r h-4r radius-full bg-primary flex-center ">
|
|
140
|
-
{{ artist.name.charAt(0) }}
|
|
141
|
-
</div>
|
|
142
|
-
</div>
|
|
143
|
-
<div>
|
|
144
|
-
<div class="flex items-center gap-thin">
|
|
145
|
-
<span class="t-large ">{{ artist.name }}</span>
|
|
146
|
-
<IconVerified v-if="artist.isVerified" class="w-1r h-1r t-primary" />
|
|
147
|
-
</div>
|
|
148
|
-
<span class="t-small t-transp">Artist</span>
|
|
149
|
-
</div>
|
|
150
|
-
</router-link>
|
|
151
|
-
<Button
|
|
152
|
-
v-if="!isOwner"
|
|
153
|
-
@click="() => toggleFollowArtist(artist._id)"
|
|
154
|
-
:color="followedArtists.includes(artist._id) ? 'primary' : 'transp'"
|
|
155
|
-
size="small"
|
|
156
|
-
>
|
|
157
|
-
{{ followedArtists.includes(artist._id) ? 'Following' : 'Follow' }}
|
|
158
|
-
</Button>
|
|
159
|
-
</div>
|
|
123
|
+
:artist="artist"
|
|
124
|
+
:is-following="followedArtists.includes(artist._id)"
|
|
125
|
+
:show-follow-button="!isOwner"
|
|
126
|
+
@toggle-follow="toggleFollowArtist"
|
|
127
|
+
/>
|
|
160
128
|
</div>
|
|
161
129
|
</div>
|
|
162
130
|
|
|
163
131
|
<!-- Metadata Cards -->
|
|
164
|
-
<
|
|
132
|
+
<h3 class="t-medium mn-b-small">Metadata</h3>
|
|
133
|
+
<div class="metadata-grid grid cols-2 gap-small mn-b-medium">
|
|
165
134
|
<!-- Release Date -->
|
|
166
135
|
<div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
|
|
167
136
|
<IconCalendar class="i-regular t-primary" />
|
|
@@ -206,7 +175,7 @@
|
|
|
206
175
|
<span
|
|
207
176
|
v-for="genre in album.genres"
|
|
208
177
|
:key="genre"
|
|
209
|
-
class="tag bg-
|
|
178
|
+
class="tag bg-main t-medium pd-thin radius-thin t-small cursor-pointer"
|
|
210
179
|
>
|
|
211
180
|
{{ genre }}
|
|
212
181
|
</span>
|
|
@@ -219,12 +188,6 @@
|
|
|
219
188
|
</span>
|
|
220
189
|
</div>
|
|
221
190
|
</div>
|
|
222
|
-
|
|
223
|
-
<!-- Description -->
|
|
224
|
-
<div v-if="album.description" class="description-section bg-light pd-medium radius-medium mn-b-medium">
|
|
225
|
-
<h3 class="t-medium mn-b-small">About</h3>
|
|
226
|
-
<p class="t-transp">{{ album.description }}</p>
|
|
227
|
-
</div>
|
|
228
191
|
</div>
|
|
229
192
|
</div>
|
|
230
193
|
|
|
@@ -306,6 +269,7 @@ import IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vu
|
|
|
306
269
|
// Components
|
|
307
270
|
import TrackListCard from '../cards/TrackListCard.vue';
|
|
308
271
|
import AlbumCard from '../cards/AlbumCard.vue';
|
|
272
|
+
import ArtistCardSmall from '../cards/ArtistCardSmall.vue';
|
|
309
273
|
|
|
310
274
|
// Store
|
|
311
275
|
import { state as albumsState, actions as albumsActions } from '../../store/albums.js';
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
</div>
|
|
191
191
|
|
|
192
192
|
<!-- Singles section -->
|
|
193
|
-
<div v-if="discography.singles.length > 0" class="bg-light pd-medium radius-medium">
|
|
193
|
+
<div v-if="discography.singles.length > 0" class="bg-light pd-medium mn-b-medium radius-medium">
|
|
194
194
|
<h2 class="h3 mn-b-medium">Singles & EPs</h2>
|
|
195
195
|
|
|
196
196
|
<div class="cols-1 gap-small">
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<!-- Playlist Content -->
|
|
10
10
|
<div v-if="playlist" class="playlist-content cols-2-fit-content mobile:cols-1 gap-big">
|
|
11
11
|
<!-- Left Column - Cover & Stats -->
|
|
12
|
-
<div class="pos-sticky pos-t-0 mobile:pos-relative playlist-cover-section">
|
|
12
|
+
<div class="pos-sticky w-max-30r pos-t-0 mobile:pos-relative playlist-cover-section">
|
|
13
13
|
<!-- Cover -->
|
|
14
14
|
<div class="cover-container relative mn-b-medium radius-big overflow-hidden shadow-big">
|
|
15
15
|
<Media
|
|
@@ -36,13 +36,13 @@
|
|
|
36
36
|
<div class="playlist-details-section">
|
|
37
37
|
<!-- Playlist Type Badge -->
|
|
38
38
|
<div class="flex items-center gap-small mn-b-small">
|
|
39
|
-
<span class="
|
|
39
|
+
<span class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
|
|
40
40
|
Playlist
|
|
41
41
|
</span>
|
|
42
|
-
<span v-if="playlist.isCollaborative" class="
|
|
42
|
+
<span v-if="playlist.isCollaborative" class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
|
|
43
43
|
Collaborative
|
|
44
44
|
</span>
|
|
45
|
-
<span v-if="playlist.status === 'published'" class="
|
|
45
|
+
<span v-if="playlist.status === 'published'" class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
|
|
46
46
|
Published
|
|
47
47
|
</span>
|
|
48
48
|
</div>
|
|
@@ -90,21 +90,21 @@
|
|
|
90
90
|
</template>
|
|
91
91
|
<template #default>
|
|
92
92
|
<div class="dropdown-menu bg-white pd-small radius-medium shadow-big mn-t-thin">
|
|
93
|
-
<Button @click="addToQueue" color="transp" size="small" class="w-100 justify-start">
|
|
93
|
+
<Button @click="addToQueue" color="transp" size="small" class="w-100 t-nowrap justify-start">
|
|
94
94
|
Add to Queue
|
|
95
95
|
</Button>
|
|
96
|
-
<Button @click="copyLink" color="transp" size="small" class="w-100 justify-start">
|
|
96
|
+
<Button @click="copyLink" color="transp" size="small" class="w-100 t-nowrap justify-start">
|
|
97
97
|
Copy Link
|
|
98
98
|
</Button>
|
|
99
99
|
<template v-if="isOwner || isCollaborator">
|
|
100
100
|
<hr class="mn-v-thin border-dark-transp-10" />
|
|
101
|
-
<Button @click="editPlaylist" color="transp" size="small" class="w-100 justify-start">
|
|
101
|
+
<Button @click="editPlaylist" color="transp" size="small" class="w-100 t-nowrap justify-start">
|
|
102
102
|
Edit Playlist
|
|
103
103
|
</Button>
|
|
104
|
-
<Button v-if="isOwner" @click="toggleCollaborative" color="transp" size="small" class="w-100 justify-start">
|
|
104
|
+
<Button v-if="isOwner" @click="toggleCollaborative" color="transp" size="small" class="t-nowrap w-100 justify-start">
|
|
105
105
|
{{ playlist.isCollaborative ? 'Make Private' : 'Make Collaborative' }}
|
|
106
106
|
</Button>
|
|
107
|
-
<Button v-if="isOwner" @click="deletePlaylist" color="danger" size="small" class="w-100 justify-start">
|
|
107
|
+
<Button v-if="isOwner" @click="deletePlaylist" color="danger" size="small" class="t-nowrap w-100 justify-start">
|
|
108
108
|
Delete Playlist
|
|
109
109
|
</Button>
|
|
110
110
|
</template>
|
|
@@ -113,41 +113,21 @@
|
|
|
113
113
|
</Dropdown>
|
|
114
114
|
</div>
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
<div class="owner-section mn-b-big">
|
|
116
|
+
<div class="artists-section mn-b-medium">
|
|
118
117
|
<h3 class="t-medium mn-b-small">Created by</h3>
|
|
119
|
-
<div class="
|
|
120
|
-
<
|
|
121
|
-
:
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
{{ getPlaylistOwnerName(playlist).charAt(0) }}
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
<div>
|
|
136
|
-
<div class="flex items-center gap-thin">
|
|
137
|
-
<span class="t-large ">{{ getPlaylistOwnerName(playlist) }}</span>
|
|
138
|
-
<IconVerified v-if="getOwnerData(playlist)?.isVerified" class="w-1r h-1r t-primary" />
|
|
139
|
-
</div>
|
|
140
|
-
<span class="t-small t-transp">{{ playlist.creator?.type || 'User' }}</span>
|
|
141
|
-
</div>
|
|
142
|
-
</router-link>
|
|
143
|
-
<Button
|
|
144
|
-
v-if="!isOwner && authState.user"
|
|
145
|
-
@click="() => toggleFollowUser(getOwnerId(playlist))"
|
|
146
|
-
:color="followedUsers.includes(getOwnerId(playlist)) ? 'primary' : 'transp'"
|
|
147
|
-
size="small"
|
|
148
|
-
>
|
|
149
|
-
{{ followedUsers.includes(getOwnerId(playlist)) ? 'Following' : 'Follow' }}
|
|
150
|
-
</Button>
|
|
118
|
+
<div class="flex flex-col gap-small">
|
|
119
|
+
<ArtistCardSmall
|
|
120
|
+
:artist="{
|
|
121
|
+
_id: playlist.creator.target,
|
|
122
|
+
to: { name: 'User Profile', params: { _id: playlist.creator.target } },
|
|
123
|
+
photoUrl: null,
|
|
124
|
+
name: playlist.creator.target,
|
|
125
|
+
isVerified: false
|
|
126
|
+
}"
|
|
127
|
+
:is-following="followedUsers.includes(playlist.creator.target)"
|
|
128
|
+
:show-follow-button="!isOwner"
|
|
129
|
+
@toggle-follow="toggleFollowUser(playlist.creator.target)"
|
|
130
|
+
/>
|
|
151
131
|
</div>
|
|
152
132
|
</div>
|
|
153
133
|
|
|
@@ -171,7 +151,8 @@
|
|
|
171
151
|
</div>
|
|
172
152
|
|
|
173
153
|
<!-- Metadata Cards -->
|
|
174
|
-
<
|
|
154
|
+
<h3 class="t-medium mn-b-small">Metadata</h3>
|
|
155
|
+
<div class="metadata-grid grid cols-2 gap-small mn-b-medium">
|
|
175
156
|
<!-- Created Date -->
|
|
176
157
|
<div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
|
|
177
158
|
<IconCalendar class="i-medium t-primary" />
|
|
@@ -371,6 +352,7 @@ import IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vu
|
|
|
371
352
|
import TrackListCard from '../cards/TrackListCard.vue';
|
|
372
353
|
import PlaylistCard from '../cards/PlaylistCard.vue';
|
|
373
354
|
import PlaylistForm from '../forms/PlaylistForm.vue';
|
|
355
|
+
import ArtistCardSmall from '../cards/ArtistCardSmall.vue';
|
|
374
356
|
|
|
375
357
|
// Store
|
|
376
358
|
import { state as playlistsState, actions as playlistsActions } from '../../store/playlists.js';
|
|
@@ -17,22 +17,23 @@
|
|
|
17
17
|
<!-- Left Column - Cover & Stats -->
|
|
18
18
|
<div class="pos-sticky pos-t-0 mobile:pos-relative track-cover-section">
|
|
19
19
|
<!-- Cover with Play Overlay -->
|
|
20
|
-
<div class="cover-container relative mn-b-medium radius-big
|
|
20
|
+
<div class="cover-container pos-relative mn-b-medium radius-big o-hidden">
|
|
21
21
|
<Media
|
|
22
22
|
:url="track.coverUrl || (track.album && track.album.coverUrl) || '/logo/logo-placeholder.jpg'"
|
|
23
23
|
:alt="track.title"
|
|
24
24
|
class="aspect-1x1 w-100 radius-medium o-hidden"
|
|
25
25
|
/>
|
|
26
|
-
|
|
26
|
+
<div class="cover-overlay w-100 h-100 pos-absolute pos-t-0 pos-r-0 bg-black-transp-40 flex flex-center">
|
|
27
27
|
<Button
|
|
28
28
|
@click="playTrack"
|
|
29
29
|
color="white"
|
|
30
30
|
size="big"
|
|
31
|
-
class="w-5r h-5r radius-
|
|
31
|
+
class="w-5r h-5r radius-big bg-main shadow-big hover-scale-110"
|
|
32
32
|
>
|
|
33
|
-
<IconPlay class="
|
|
33
|
+
<IconPlay v-if="!isPlaying" fill="rgb(var(--white))" class="i-medium" />
|
|
34
|
+
<IconPause v-else fill="rgb(var(--white))" class="i-medium" />
|
|
34
35
|
</Button>
|
|
35
|
-
</div>
|
|
36
|
+
</div>
|
|
36
37
|
</div>
|
|
37
38
|
|
|
38
39
|
|
|
@@ -54,8 +55,8 @@
|
|
|
54
55
|
<div class="track-details-section">
|
|
55
56
|
<!-- Track Type Badge -->
|
|
56
57
|
<div class="flex items-center gap-small mn-b-small">
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
<span class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">Single</span>
|
|
59
|
+
<span class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">Explicit</span>
|
|
59
60
|
</div>
|
|
60
61
|
|
|
61
62
|
<!-- Track Title -->
|
|
@@ -68,8 +69,9 @@
|
|
|
68
69
|
size="medium"
|
|
69
70
|
class="flex-1 t-white bg-black radius-thin flex-center gap-thin"
|
|
70
71
|
>
|
|
71
|
-
<IconPlay fill="rgb(var(--white))" class="i-medium" />
|
|
72
|
-
|
|
72
|
+
<IconPlay v-if="!isPlaying" fill="rgb(var(--white))" class="i-medium" />
|
|
73
|
+
<IconPause v-else fill="rgb(var(--white))" class="i-medium" />
|
|
74
|
+
{{ !isPlaying ? 'Play' : 'Pause'}}
|
|
73
75
|
</Button>
|
|
74
76
|
|
|
75
77
|
<Button
|
|
@@ -88,7 +90,7 @@
|
|
|
88
90
|
size="medium"
|
|
89
91
|
class="flex-1 bg-light radius-thin flex-center gap-thin"
|
|
90
92
|
>
|
|
91
|
-
<IconLike class="i-medium" :fill="isFavorite" />
|
|
93
|
+
<IconLike class="i-medium" :fill="isFavorite ? 'rgb(var(--main)':'rgb(var(--black)'" />
|
|
92
94
|
{{isFavorite ? 'Liked' : 'Like'}}
|
|
93
95
|
</Button>
|
|
94
96
|
|
|
@@ -121,82 +123,52 @@
|
|
|
121
123
|
</div>
|
|
122
124
|
|
|
123
125
|
<!-- Artist Card -->
|
|
124
|
-
<div class="
|
|
125
|
-
<
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
/>
|
|
136
|
-
<div v-else class="w-4r h-4r radius-full bg-primary flex-center ">
|
|
137
|
-
{{ track.artist.name.charAt(0) }}
|
|
138
|
-
</div>
|
|
139
|
-
</div>
|
|
140
|
-
<div>
|
|
141
|
-
<div class="flex items-center gap-thin">
|
|
142
|
-
<span class="t-large ">{{ track.artist.name }}</span>
|
|
143
|
-
<IconVerified v-if="track.artist.isVerified" class="w-1r h-1r t-primary" />
|
|
144
|
-
</div>
|
|
145
|
-
<span class="t-small t-transp">Artist</span>
|
|
146
|
-
</div>
|
|
147
|
-
</router-link>
|
|
148
|
-
<Button
|
|
149
|
-
v-if="!isOwner"
|
|
150
|
-
@click="toggleFollowArtist"
|
|
151
|
-
:color="isFollowingArtist ? 'primary' : 'transp'"
|
|
152
|
-
size="small"
|
|
153
|
-
>
|
|
154
|
-
{{ isFollowingArtist ? 'Following' : 'Follow' }}
|
|
155
|
-
</Button>
|
|
126
|
+
<div class="artists-section mn-b-medium">
|
|
127
|
+
<h3 class="t-medium mn-b-small" v-if="track.artist">Artist</h3>
|
|
128
|
+
<div class="flex flex-col gap-small">
|
|
129
|
+
<ArtistCardSmall
|
|
130
|
+
:key="track.artist._id"
|
|
131
|
+
:artist="track.artist"
|
|
132
|
+
:is-following="isFollowingArtist"
|
|
133
|
+
:show-follow-button="!isOwner"
|
|
134
|
+
@toggle-follow="toggleFollowArtist"
|
|
135
|
+
/>
|
|
136
|
+
</div>
|
|
156
137
|
</div>
|
|
157
138
|
|
|
158
|
-
|
|
159
|
-
|
|
160
139
|
<!-- Metadata Cards -->
|
|
161
|
-
<
|
|
162
|
-
|
|
140
|
+
<h3 class="t-medium mn-b-small">Metadata</h3>
|
|
141
|
+
<div class="metadata-grid grid cols-2 gap-small mn-b-medium">
|
|
142
|
+
<!-- Release Date -->
|
|
163
143
|
<div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
|
|
164
|
-
<
|
|
165
|
-
<IconClock class="i-regular t-primary" />
|
|
166
|
-
</div>
|
|
144
|
+
<IconCalendar class="i-regular t-primary" />
|
|
167
145
|
<div>
|
|
168
|
-
<div class="t-small t-transp t-uppercase">
|
|
169
|
-
<div class="t-medium ">{{
|
|
146
|
+
<div class="t-small t-transp t-uppercase">Released</div>
|
|
147
|
+
<div class="t-medium ">{{ formatDate(track.releaseDate) }}</div>
|
|
170
148
|
</div>
|
|
171
149
|
</div>
|
|
172
150
|
|
|
173
|
-
<!--
|
|
151
|
+
<!-- Total Duration -->
|
|
174
152
|
<div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
|
|
175
|
-
<
|
|
176
|
-
<IconCalendar class="i-regular t-primary" />
|
|
177
|
-
</div>
|
|
153
|
+
<IconClock class="i-regular t-primary" />
|
|
178
154
|
<div>
|
|
179
|
-
<div class="t-small t-transp t-uppercase">
|
|
180
|
-
<div class="t-medium ">{{
|
|
155
|
+
<div class="t-small t-transp t-uppercase">Duration</div>
|
|
156
|
+
<div class="t-medium ">{{ formatDuration(track.duration) }}</div>
|
|
181
157
|
</div>
|
|
182
158
|
</div>
|
|
183
159
|
|
|
184
|
-
<!--
|
|
160
|
+
<!-- Label -->
|
|
185
161
|
<div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
|
|
186
|
-
<
|
|
187
|
-
<IconCheck class="i-regular t-success" />
|
|
188
|
-
</div>
|
|
162
|
+
<IconCheck class="i-regular t-primary" />
|
|
189
163
|
<div>
|
|
190
164
|
<div class="t-small t-transp t-uppercase">Status</div>
|
|
191
|
-
<div class="t-medium
|
|
165
|
+
<div class="t-medium ">{{ track.status }}</div>
|
|
192
166
|
</div>
|
|
193
167
|
</div>
|
|
194
168
|
|
|
195
169
|
<!-- Visibility -->
|
|
196
170
|
<div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
|
|
197
|
-
<
|
|
198
|
-
<IconEye class="i-regular t-primary" />
|
|
199
|
-
</div>
|
|
171
|
+
<IconEye class="i-regular t-primary" />
|
|
200
172
|
<div>
|
|
201
173
|
<div class="t-small t-transp t-uppercase">Visibility</div>
|
|
202
174
|
<div class="t-medium ">{{ track.isPublic ? 'Public' : 'Private' }}</div>
|
|
@@ -204,18 +176,19 @@
|
|
|
204
176
|
</div>
|
|
205
177
|
</div>
|
|
206
178
|
|
|
179
|
+
|
|
207
180
|
<!-- Album Info -->
|
|
181
|
+
<h3 v-if="track.album" class="t-medium mn-b-small">From Album</h3>
|
|
208
182
|
<div v-if="track.album" class="album-card bg-light pd-medium radius-medium mn-b-medium">
|
|
209
|
-
|
|
183
|
+
|
|
210
184
|
<router-link
|
|
211
185
|
:to="`/album/${track.album.url}`"
|
|
212
|
-
class="flex
|
|
186
|
+
class="flex flex-v-center gap-thin hover-opacity"
|
|
213
187
|
>
|
|
214
188
|
<Media
|
|
215
|
-
|
|
216
|
-
:src="track.album.coverUrl"
|
|
189
|
+
:url="track.album.coverArt || '/logo/logo-placeholder.jpg'"
|
|
217
190
|
:alt="track.album.title"
|
|
218
|
-
class="w-3r h-3r radius-
|
|
191
|
+
class="w-3r h-3r radius-thin o-hidden object-cover"
|
|
219
192
|
/>
|
|
220
193
|
<span class="t-medium ">{{ track.album.title }}</span>
|
|
221
194
|
</router-link>
|
|
@@ -228,16 +201,16 @@
|
|
|
228
201
|
<span
|
|
229
202
|
v-for="genre in track.genre"
|
|
230
203
|
:key="genre"
|
|
231
|
-
class="tag bg-
|
|
204
|
+
class="tag bg-main t-medium pd-thin radius-thin t-small cursor-pointer"
|
|
232
205
|
>
|
|
233
|
-
{{ genre }}
|
|
206
|
+
{{ genre.name || genre }}
|
|
234
207
|
</span>
|
|
235
208
|
<span
|
|
236
209
|
v-for="tag in track.tags"
|
|
237
210
|
:key="tag"
|
|
238
211
|
class="tag bg-light t-transp pd-thin-big radius-small t-small hover-bg-light cursor-pointer"
|
|
239
212
|
>
|
|
240
|
-
#{{ tag }}
|
|
213
|
+
#{{ tag.name || tag }}
|
|
241
214
|
</span>
|
|
242
215
|
</div>
|
|
243
216
|
</div>
|
|
@@ -318,6 +291,7 @@ import Feed from '@martyrs/src/components/Feed/Feed.vue';
|
|
|
318
291
|
|
|
319
292
|
// Icons
|
|
320
293
|
import IconPlay from '@martyrs/src/modules/icons/navigation/IconPlay.vue';
|
|
294
|
+
import IconPause from '@martyrs/src/modules/icons/navigation/IconPause.vue';
|
|
321
295
|
import IconLike from '@martyrs/src/modules/icons/navigation/IconLike.vue';
|
|
322
296
|
import IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue';
|
|
323
297
|
import IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue';
|
|
@@ -329,13 +303,16 @@ import IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vu
|
|
|
329
303
|
|
|
330
304
|
// Components
|
|
331
305
|
import TrackListCard from '../cards/TrackListCard.vue';
|
|
306
|
+
import ArtistCardSmall from '../cards/ArtistCardSmall.vue';
|
|
332
307
|
// import PlaylistSelector from '../forms/PlaylistSelector.vue';
|
|
333
308
|
|
|
334
309
|
// Store
|
|
335
310
|
import { state as tracksState, actions as tracksActions } from '../../store/tracks.js';
|
|
336
|
-
import { actions as playerActions } from '../../store/player.js';
|
|
311
|
+
import { state as playerState, actions as playerActions } from '../../store/player.js';
|
|
337
312
|
import { state as authState } from '@martyrs/src/modules/auth/views/store/auth.js';
|
|
338
313
|
|
|
314
|
+
const isPlaying = computed(() => playerState.isPlaying);
|
|
315
|
+
|
|
339
316
|
const route = useRoute();
|
|
340
317
|
const router = useRouter();
|
|
341
318
|
|