@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
package/dist/style.css
CHANGED
|
@@ -2751,21 +2751,21 @@ input[data-v-cca87f09] {
|
|
|
2751
2751
|
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
2752
2752
|
}
|
|
2753
2753
|
/* Progress Section */
|
|
2754
|
-
.progress-section[data-v-
|
|
2754
|
+
.progress-section[data-v-a338a0bc] {
|
|
2755
2755
|
display: flex;
|
|
2756
2756
|
align-items: center;
|
|
2757
2757
|
gap: 12px;
|
|
2758
2758
|
width: 100%;
|
|
2759
2759
|
}
|
|
2760
|
-
.time-current[data-v-
|
|
2761
|
-
.time-total[data-v-
|
|
2760
|
+
.time-current[data-v-a338a0bc],
|
|
2761
|
+
.time-total[data-v-a338a0bc] {
|
|
2762
2762
|
font-size: 11px;
|
|
2763
|
-
color: rgb(var(--
|
|
2763
|
+
color: rgb(var(--black));
|
|
2764
2764
|
font-weight: 400;
|
|
2765
2765
|
min-width: 32px;
|
|
2766
2766
|
text-align: center;
|
|
2767
2767
|
}
|
|
2768
|
-
.progress-bar[data-v-
|
|
2768
|
+
.progress-bar[data-v-a338a0bc] {
|
|
2769
2769
|
flex: 1;
|
|
2770
2770
|
height: 12px;
|
|
2771
2771
|
display: flex;
|
|
@@ -2773,46 +2773,47 @@ input[data-v-cca87f09] {
|
|
|
2773
2773
|
cursor: pointer;
|
|
2774
2774
|
padding: 4px 0;
|
|
2775
2775
|
}
|
|
2776
|
-
.progress-track[data-v-
|
|
2776
|
+
.progress-track[data-v-a338a0bc] {
|
|
2777
2777
|
position: relative;
|
|
2778
2778
|
width: 100%;
|
|
2779
2779
|
height: 4px;
|
|
2780
|
-
background:
|
|
2780
|
+
background: rgb(var(--grey));
|
|
2781
2781
|
border-radius: 2px;
|
|
2782
|
-
overflow: hidden
|
|
2782
|
+
/* overflow: hidden;*/
|
|
2783
2783
|
transition: height 0.2s ease;
|
|
2784
2784
|
}
|
|
2785
|
-
.progress-fill[data-v-
|
|
2785
|
+
.progress-fill[data-v-a338a0bc] {
|
|
2786
2786
|
height: 100%;
|
|
2787
|
-
background: rgb(var(--
|
|
2787
|
+
background: rgb(var(--second));
|
|
2788
2788
|
border-radius: 2px;
|
|
2789
2789
|
transition: width 0.1s ease;
|
|
2790
2790
|
}
|
|
2791
|
-
.progress-thumb[data-v-
|
|
2791
|
+
.progress-thumb[data-v-a338a0bc] {
|
|
2792
2792
|
position: absolute;
|
|
2793
2793
|
top: 50%;
|
|
2794
2794
|
width: 12px;
|
|
2795
2795
|
height: 12px;
|
|
2796
|
-
background: rgb(var(--
|
|
2796
|
+
background: rgb(var(--second));
|
|
2797
|
+
border: 1px solid rgba(var(--black),0.1);
|
|
2797
2798
|
border-radius: 50%;
|
|
2798
2799
|
transform: translate(-50%, -50%);
|
|
2799
2800
|
opacity: 0;
|
|
2800
2801
|
transition: opacity 0.2s ease;
|
|
2801
2802
|
}
|
|
2802
|
-
.progress-bar:hover .progress-thumb[data-v-
|
|
2803
|
+
.progress-bar:hover .progress-thumb[data-v-a338a0bc] {
|
|
2803
2804
|
opacity: 1;
|
|
2804
2805
|
}
|
|
2805
|
-
.progress-bar:hover .progress-track[data-v-
|
|
2806
|
+
.progress-bar:hover .progress-track[data-v-a338a0bc] {
|
|
2806
2807
|
height: 6px;
|
|
2807
2808
|
}
|
|
2808
|
-
.progress-bar:hover .progress-fill[data-v-
|
|
2809
|
-
background:
|
|
2809
|
+
.progress-bar:hover .progress-fill[data-v-a338a0bc] {
|
|
2810
|
+
background: rgba(var(--second),0.9);
|
|
2810
2811
|
}
|
|
2811
2812
|
|
|
2812
|
-
.volume-control[data-v-
|
|
2813
|
+
.volume-control[data-v-d29a4209] {
|
|
2813
2814
|
width: 100%;
|
|
2814
2815
|
}
|
|
2815
|
-
.volume-bar-container[data-v-
|
|
2816
|
+
.volume-bar-container[data-v-d29a4209] {
|
|
2816
2817
|
width: 100%;
|
|
2817
2818
|
height: 12px;
|
|
2818
2819
|
display: flex;
|
|
@@ -2820,46 +2821,47 @@ input[data-v-cca87f09] {
|
|
|
2820
2821
|
cursor: pointer;
|
|
2821
2822
|
padding: 4px 0;
|
|
2822
2823
|
}
|
|
2823
|
-
.volume-track[data-v-
|
|
2824
|
+
.volume-track[data-v-d29a4209] {
|
|
2824
2825
|
position: relative;
|
|
2825
2826
|
width: 100%;
|
|
2826
2827
|
height: 4px;
|
|
2827
2828
|
border-radius: 2px;
|
|
2828
2829
|
transition: height 0.2s ease;
|
|
2829
2830
|
}
|
|
2830
|
-
.volume-thumb[data-v-
|
|
2831
|
+
.volume-thumb[data-v-d29a4209] {
|
|
2831
2832
|
position: absolute;
|
|
2832
2833
|
top: 50%;
|
|
2833
2834
|
width: 12px;
|
|
2834
2835
|
height: 12px;
|
|
2835
|
-
|
|
2836
|
+
background: rgb(var(--black));
|
|
2837
|
+
border: 1px solid rgba(var(--white),0.1);
|
|
2836
2838
|
border-radius: 50%;
|
|
2837
2839
|
transform: translate(-50%, -50%);
|
|
2838
2840
|
transition: opacity 0.2s ease;
|
|
2839
2841
|
opacity: 0;
|
|
2840
2842
|
}
|
|
2841
|
-
.volume-bar-container:hover .volume-track[data-v-
|
|
2843
|
+
.volume-bar-container:hover .volume-track[data-v-d29a4209] {
|
|
2842
2844
|
height: 6px;
|
|
2843
2845
|
}
|
|
2844
|
-
.volume-bar-container:hover .volume-thumb[data-v-
|
|
2846
|
+
.volume-bar-container:hover .volume-thumb[data-v-d29a4209] {
|
|
2845
2847
|
opacity: 1 !important;
|
|
2846
2848
|
}
|
|
2847
2849
|
|
|
2848
2850
|
/* Muted state */
|
|
2849
|
-
.volume-track.muted[data-v-
|
|
2851
|
+
.volume-track.muted[data-v-d29a4209] {
|
|
2850
2852
|
opacity: 0.5;
|
|
2851
2853
|
}
|
|
2852
2854
|
|
|
2853
|
-
.player-container[data-v-
|
|
2855
|
+
.player-container[data-v-f4886dd7] {
|
|
2854
2856
|
bottom: 0;
|
|
2855
2857
|
left: 0;
|
|
2856
2858
|
right: 0;
|
|
2857
2859
|
z-index: 1000;
|
|
2858
|
-
background: linear-gradient(135deg, rgb(
|
|
2859
|
-
border-top: 1px solid rgb(
|
|
2860
|
+
background: linear-gradient(135deg, rgb(var(--white)) 0%, rgb(var(--light)));
|
|
2861
|
+
border-top: 1px solid rgb(var(--light));
|
|
2860
2862
|
backdrop-filter: blur(10px);
|
|
2861
2863
|
}
|
|
2862
|
-
.player[data-v-
|
|
2864
|
+
.player[data-v-f4886dd7] {
|
|
2863
2865
|
display: grid;
|
|
2864
2866
|
grid-template-columns: 1fr 2fr 1fr;
|
|
2865
2867
|
align-items: center;
|
|
@@ -2870,43 +2872,43 @@ input[data-v-cca87f09] {
|
|
|
2870
2872
|
}
|
|
2871
2873
|
|
|
2872
2874
|
/* Track Info Section */
|
|
2873
|
-
.track-info[data-v-
|
|
2875
|
+
.track-info[data-v-f4886dd7] {
|
|
2874
2876
|
display: flex;
|
|
2875
2877
|
align-items: center;
|
|
2876
2878
|
gap: 12px;
|
|
2877
2879
|
min-width: 0;
|
|
2878
2880
|
}
|
|
2879
|
-
.track-image[data-v-
|
|
2881
|
+
.track-image[data-v-f4886dd7] {
|
|
2880
2882
|
width: 56px;
|
|
2881
2883
|
height: 56px;
|
|
2882
2884
|
border-radius: 4px;
|
|
2883
2885
|
overflow: hidden;
|
|
2884
2886
|
flex-shrink: 0;
|
|
2885
2887
|
}
|
|
2886
|
-
.track-image-media[data-v-
|
|
2888
|
+
.track-image-media[data-v-f4886dd7] {
|
|
2887
2889
|
width: 100%;
|
|
2888
2890
|
height: 100%;
|
|
2889
2891
|
object-fit: cover;
|
|
2890
2892
|
transition: transform 0.3s ease;
|
|
2891
2893
|
}
|
|
2892
|
-
.track-image:hover .track-image-media[data-v-
|
|
2894
|
+
.track-image:hover .track-image-media[data-v-f4886dd7] {
|
|
2893
2895
|
transform: scale(1.05);
|
|
2894
2896
|
}
|
|
2895
|
-
.track-details[data-v-
|
|
2897
|
+
.track-details[data-v-f4886dd7] {
|
|
2896
2898
|
min-width: 0;
|
|
2897
2899
|
flex: 1;
|
|
2898
2900
|
}
|
|
2899
|
-
.track-title[data-v-
|
|
2901
|
+
.track-title[data-v-f4886dd7] {
|
|
2900
2902
|
font-size: 14px;
|
|
2901
2903
|
font-weight: 600;
|
|
2902
|
-
color: rgb(var(--
|
|
2904
|
+
color: rgb(var(--black));
|
|
2903
2905
|
margin: 0;
|
|
2904
2906
|
white-space: nowrap;
|
|
2905
2907
|
overflow: hidden;
|
|
2906
2908
|
text-overflow: ellipsis;
|
|
2907
2909
|
line-height: 1.2;
|
|
2908
2910
|
}
|
|
2909
|
-
.track-artist[data-v-
|
|
2911
|
+
.track-artist[data-v-f4886dd7] {
|
|
2910
2912
|
font-size: 12px;
|
|
2911
2913
|
color: rgb(var(--grey));
|
|
2912
2914
|
margin: 2px 0 0 0;
|
|
@@ -2914,7 +2916,7 @@ input[data-v-cca87f09] {
|
|
|
2914
2916
|
overflow: hidden;
|
|
2915
2917
|
text-overflow: ellipsis;
|
|
2916
2918
|
}
|
|
2917
|
-
.like-btn[data-v-
|
|
2919
|
+
.like-btn[data-v-f4886dd7] {
|
|
2918
2920
|
background: none;
|
|
2919
2921
|
border: none;
|
|
2920
2922
|
color: rgb(var(--grey));
|
|
@@ -2926,39 +2928,39 @@ input[data-v-cca87f09] {
|
|
|
2926
2928
|
align-items: center;
|
|
2927
2929
|
justify-content: center;
|
|
2928
2930
|
}
|
|
2929
|
-
.like-icon[data-v-
|
|
2931
|
+
.like-icon[data-v-f4886dd7] {
|
|
2930
2932
|
width: 16px;
|
|
2931
2933
|
height: 16px;
|
|
2932
2934
|
}
|
|
2933
|
-
.like-btn[data-v-
|
|
2934
|
-
color: rgb(var(--
|
|
2935
|
-
background: rgba(
|
|
2935
|
+
.like-btn[data-v-f4886dd7]:hover {
|
|
2936
|
+
color: rgb(var(--black));
|
|
2937
|
+
background: rgba(var(--black),0.1);
|
|
2936
2938
|
}
|
|
2937
|
-
.like-btn.liked[data-v-
|
|
2939
|
+
.like-btn.liked[data-v-f4886dd7] {
|
|
2938
2940
|
color: rgb(var(--main));
|
|
2939
2941
|
}
|
|
2940
|
-
.like-btn.liked .like-icon[data-v-
|
|
2942
|
+
.like-btn.liked .like-icon[data-v-f4886dd7] {
|
|
2941
2943
|
fill: rgb(var(--main));
|
|
2942
2944
|
}
|
|
2943
|
-
.like-btn.liked[data-v-
|
|
2945
|
+
.like-btn.liked[data-v-f4886dd7]:hover {
|
|
2944
2946
|
color: rgb(var(--main));
|
|
2945
2947
|
opacity: 0.8;
|
|
2946
2948
|
}
|
|
2947
2949
|
|
|
2948
2950
|
/* Controls Section */
|
|
2949
|
-
.controls[data-v-
|
|
2951
|
+
.controls[data-v-f4886dd7] {
|
|
2950
2952
|
display: flex;
|
|
2951
2953
|
flex-direction: column;
|
|
2952
2954
|
align-items: center;
|
|
2953
2955
|
gap: 8px;
|
|
2954
2956
|
width: 100%;
|
|
2955
2957
|
}
|
|
2956
|
-
.control-buttons[data-v-
|
|
2958
|
+
.control-buttons[data-v-f4886dd7] {
|
|
2957
2959
|
display: flex;
|
|
2958
2960
|
align-items: center;
|
|
2959
2961
|
gap: 16px;
|
|
2960
2962
|
}
|
|
2961
|
-
.control-btn[data-v-
|
|
2963
|
+
.control-btn[data-v-f4886dd7] {
|
|
2962
2964
|
background: none;
|
|
2963
2965
|
border: none;
|
|
2964
2966
|
color: rgb(var(--grey));
|
|
@@ -2970,57 +2972,59 @@ input[data-v-cca87f09] {
|
|
|
2970
2972
|
align-items: center;
|
|
2971
2973
|
justify-content: center;
|
|
2972
2974
|
}
|
|
2973
|
-
.control-icon[data-v-
|
|
2975
|
+
.control-icon[data-v-f4886dd7] {
|
|
2974
2976
|
width: 16px;
|
|
2975
2977
|
height: 16px;
|
|
2976
2978
|
}
|
|
2977
|
-
.control-btn.primary[data-v-
|
|
2978
|
-
background: rgb(var(--
|
|
2979
|
-
color: rgb(var(--
|
|
2979
|
+
.control-btn.primary[data-v-f4886dd7] {
|
|
2980
|
+
background: rgb(var(--second));
|
|
2981
|
+
color: rgb(var(--white));
|
|
2980
2982
|
width: 32px;
|
|
2981
2983
|
height: 32px;
|
|
2982
2984
|
}
|
|
2983
|
-
.play-icon[data-v-
|
|
2985
|
+
.play-icon[data-v-f4886dd7] {
|
|
2984
2986
|
width: 14px;
|
|
2985
2987
|
height: 14px;
|
|
2986
|
-
fill: rgb(var(--
|
|
2988
|
+
fill: rgb(var(--white));
|
|
2987
2989
|
}
|
|
2988
|
-
.control-btn.primary[data-v-
|
|
2989
|
-
background: rgb(
|
|
2990
|
+
.control-btn.primary[data-v-f4886dd7]:hover {
|
|
2991
|
+
background: rgb(var(--second));
|
|
2990
2992
|
transform: scale(1.06);
|
|
2991
2993
|
}
|
|
2992
|
-
.control-btn.secondary[data-v-
|
|
2994
|
+
.control-btn.secondary[data-v-f4886dd7]:hover {
|
|
2993
2995
|
color: rgb(var(--white));
|
|
2994
|
-
background: rgba(
|
|
2996
|
+
background: rgba(var(--black),0.1);
|
|
2995
2997
|
}
|
|
2996
|
-
.control-btn.secondary:hover .control-icon[data-v-
|
|
2998
|
+
.control-btn.secondary:hover .control-icon[data-v-f4886dd7] {
|
|
2997
2999
|
fill: rgb(var(--white));
|
|
2998
3000
|
}
|
|
2999
|
-
.control-btn.active[data-v-
|
|
3001
|
+
.control-btn.active[data-v-f4886dd7] {
|
|
3000
3002
|
color: rgb(var(--main));
|
|
3003
|
+
background: rgba(var(--second),0.1);
|
|
3001
3004
|
}
|
|
3002
|
-
.control-btn.active .control-icon[data-v-
|
|
3005
|
+
.control-btn.active .control-icon[data-v-f4886dd7] {
|
|
3003
3006
|
fill: rgb(var(--main));
|
|
3004
3007
|
}
|
|
3005
|
-
.control-btn.active[data-v-
|
|
3008
|
+
.control-btn.active[data-v-f4886dd7]:hover {
|
|
3006
3009
|
color: rgb(var(--main));
|
|
3007
3010
|
opacity: 0.8;
|
|
3011
|
+
background: rgba(var(--second),0.2);
|
|
3008
3012
|
}
|
|
3009
3013
|
|
|
3010
3014
|
/* Progress Section */
|
|
3011
|
-
.progress-section[data-v-
|
|
3015
|
+
.progress-section[data-v-f4886dd7] {
|
|
3012
3016
|
width: 100%;
|
|
3013
3017
|
max-width: 600px;
|
|
3014
3018
|
}
|
|
3015
3019
|
|
|
3016
3020
|
/* Volume Section */
|
|
3017
|
-
.volume-section[data-v-
|
|
3021
|
+
.volume-section[data-v-f4886dd7] {
|
|
3018
3022
|
display: flex;
|
|
3019
3023
|
align-items: center;
|
|
3020
3024
|
gap: 12px;
|
|
3021
3025
|
justify-content: flex-end;
|
|
3022
3026
|
}
|
|
3023
|
-
.volume-btn[data-v-
|
|
3027
|
+
.volume-btn[data-v-f4886dd7] {
|
|
3024
3028
|
background: none;
|
|
3025
3029
|
border: none;
|
|
3026
3030
|
color: rgb(var(--grey));
|
|
@@ -3032,50 +3036,50 @@ input[data-v-cca87f09] {
|
|
|
3032
3036
|
align-items: center;
|
|
3033
3037
|
justify-content: center;
|
|
3034
3038
|
}
|
|
3035
|
-
.volume-icon[data-v-
|
|
3039
|
+
.volume-icon[data-v-f4886dd7] {
|
|
3036
3040
|
width: 16px;
|
|
3037
3041
|
height: 16px;
|
|
3038
3042
|
}
|
|
3039
|
-
.volume-btn[data-v-
|
|
3043
|
+
.volume-btn[data-v-f4886dd7]:hover {
|
|
3040
3044
|
color: rgb(var(--white));
|
|
3041
|
-
background: rgba(
|
|
3045
|
+
background: rgba(var(--white),0.1);
|
|
3042
3046
|
}
|
|
3043
|
-
.volume-btn:hover .volume-icon[data-v-
|
|
3047
|
+
.volume-btn:hover .volume-icon[data-v-f4886dd7] {
|
|
3044
3048
|
fill: rgb(var(--white));
|
|
3045
3049
|
}
|
|
3046
|
-
.volume-slider[data-v-
|
|
3050
|
+
.volume-slider[data-v-f4886dd7] {
|
|
3047
3051
|
width: 100px;
|
|
3048
3052
|
}
|
|
3049
3053
|
|
|
3050
3054
|
/* Responsive Design */
|
|
3051
3055
|
@media (max-width: 768px) {
|
|
3052
|
-
.player[data-v-
|
|
3056
|
+
.player[data-v-f4886dd7] {
|
|
3053
3057
|
grid-template-columns: 1fr;
|
|
3054
3058
|
grid-template-rows: auto auto auto;
|
|
3055
3059
|
height: auto;
|
|
3056
3060
|
padding: 8px 12px 12px;
|
|
3057
3061
|
gap: 12px;
|
|
3058
3062
|
}
|
|
3059
|
-
.track-info[data-v-
|
|
3063
|
+
.track-info[data-v-f4886dd7] {
|
|
3060
3064
|
order: 1;
|
|
3061
3065
|
}
|
|
3062
|
-
.controls[data-v-
|
|
3066
|
+
.controls[data-v-f4886dd7] {
|
|
3063
3067
|
order: 2;
|
|
3064
3068
|
}
|
|
3065
|
-
.volume-section[data-v-
|
|
3069
|
+
.volume-section[data-v-f4886dd7] {
|
|
3066
3070
|
order: 3;
|
|
3067
3071
|
justify-content: center;
|
|
3068
3072
|
}
|
|
3069
|
-
.volume-slider[data-v-
|
|
3073
|
+
.volume-slider[data-v-f4886dd7] {
|
|
3070
3074
|
width: 120px;
|
|
3071
3075
|
}
|
|
3072
|
-
.progress-section[data-v-
|
|
3076
|
+
.progress-section[data-v-f4886dd7] {
|
|
3073
3077
|
max-width: 100%;
|
|
3074
3078
|
}
|
|
3075
3079
|
}
|
|
3076
3080
|
|
|
3077
3081
|
/* Animations */
|
|
3078
|
-
@keyframes fadeIn-
|
|
3082
|
+
@keyframes fadeIn-f4886dd7 {
|
|
3079
3083
|
from {
|
|
3080
3084
|
opacity: 0;
|
|
3081
3085
|
transform: translateY(20px);
|
|
@@ -3085,10 +3089,10 @@ to {
|
|
|
3085
3089
|
transform: translateY(0);
|
|
3086
3090
|
}
|
|
3087
3091
|
}
|
|
3088
|
-
.player-container[data-v-
|
|
3089
|
-
animation: fadeIn-
|
|
3092
|
+
.player-container[data-v-f4886dd7] {
|
|
3093
|
+
animation: fadeIn-f4886dd7 0.3s ease-out;
|
|
3090
3094
|
}
|
|
3091
|
-
@keyframes pulse-
|
|
3095
|
+
@keyframes pulse-f4886dd7 {
|
|
3092
3096
|
0% {
|
|
3093
3097
|
transform: scale(1);
|
|
3094
3098
|
}
|
|
@@ -3099,8 +3103,8 @@ to {
|
|
|
3099
3103
|
transform: scale(1);
|
|
3100
3104
|
}
|
|
3101
3105
|
}
|
|
3102
|
-
.control-btn.primary[data-v-
|
|
3103
|
-
animation: pulse-
|
|
3106
|
+
.control-btn.primary[data-v-f4886dd7]:active {
|
|
3107
|
+
animation: pulse-f4886dd7 0.3s ease;
|
|
3104
3108
|
}
|
|
3105
3109
|
|
|
3106
3110
|
.album-card[data-v-faf7f060] {
|
|
@@ -3125,6 +3129,19 @@ to {
|
|
|
3125
3129
|
transform: scale(1);
|
|
3126
3130
|
}
|
|
3127
3131
|
|
|
3132
|
+
.artist-card[data-v-7fd022f7] {
|
|
3133
|
+
transition: all 0.2s ease;
|
|
3134
|
+
}
|
|
3135
|
+
.artist-card[data-v-7fd022f7]:hover {
|
|
3136
|
+
transform: translateY(-5px);
|
|
3137
|
+
}
|
|
3138
|
+
.artist-avatar img[data-v-7fd022f7] {
|
|
3139
|
+
transition: transform 0.2s ease;
|
|
3140
|
+
}
|
|
3141
|
+
.artist-card:hover .artist-avatar img[data-v-7fd022f7] {
|
|
3142
|
+
transform: scale(1.05);
|
|
3143
|
+
}
|
|
3144
|
+
|
|
3128
3145
|
.playlist-card[data-v-be2a71af] {
|
|
3129
3146
|
transition: transform 0.3s ease;
|
|
3130
3147
|
}
|
package/package.json
CHANGED
|
@@ -67,47 +67,47 @@ export default (projectRoot) => {
|
|
|
67
67
|
}),
|
|
68
68
|
// PWA PWA PWA PWA PWA
|
|
69
69
|
// PWA: инжектим манифест в существующий sw.js
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
// //
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
70
|
+
new InjectManifest({
|
|
71
|
+
swSrc: path.resolve(projectRoot, '../public/sw.js'),
|
|
72
|
+
swDest: 'sw.js',
|
|
73
|
+
exclude: [/\.html$/, /\.map$/],
|
|
74
|
+
manifestTransforms: [
|
|
75
|
+
(manifestEntries) => {
|
|
76
|
+
const manifest = manifestEntries.filter(entry => {
|
|
77
|
+
return !entry.url.match(/\.(html|map)$/) && entry.size < 5 * 1024 * 1024;
|
|
78
|
+
});
|
|
79
|
+
return { manifest };
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}),
|
|
83
|
+
// // PWA Manifest
|
|
84
|
+
new RspackManifestPlugin({
|
|
85
|
+
fileName: 'manifest.json',
|
|
86
|
+
seed: {
|
|
87
|
+
name: process.env.APP_NAME || 'App by Martyrs Framework',
|
|
88
|
+
short_name: process.env.APP_SHORT_NAME || 'App',
|
|
89
|
+
description: process.env.APP_DESCRIPTION || 'Progressive Web App by Martyrs Framework',
|
|
90
|
+
theme_color: '#000000',
|
|
91
|
+
background_color: '#ffffff',
|
|
92
|
+
display: 'standalone',
|
|
93
|
+
orientation: 'portrait',
|
|
94
|
+
scope: '/',
|
|
95
|
+
start_url: '/',
|
|
96
|
+
icons: [
|
|
97
|
+
{
|
|
98
|
+
src: '/favicon/android-chrome-192x192.png',
|
|
99
|
+
sizes: '192x192',
|
|
100
|
+
type: 'image/png'
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
src: '/favicon/android-chrome-512x512.png',
|
|
104
|
+
sizes: '512x512',
|
|
105
|
+
type: 'image/png'
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
generate: (seed) => seed
|
|
110
|
+
}),
|
|
111
111
|
],
|
|
112
112
|
optimization: {
|
|
113
113
|
usedExports: true,
|
|
@@ -2,9 +2,18 @@ import * as cookie from 'cookie';
|
|
|
2
2
|
import jwt from 'jsonwebtoken';
|
|
3
3
|
import uWS from 'uWebSockets.js';
|
|
4
4
|
class WebSocketManager {
|
|
5
|
-
constructor() {
|
|
5
|
+
constructor(options = {}) {
|
|
6
6
|
// Создаем uWebSockets.js приложение внутри класса
|
|
7
|
-
|
|
7
|
+
if (options.ssl) {
|
|
8
|
+
this.app = uWS.SSLApp({
|
|
9
|
+
key_file_name: options.ssl.key, // путь к private key
|
|
10
|
+
cert_file_name: options.ssl.cert, // путь к certificate
|
|
11
|
+
passphrase: options.ssl.passphrase // если ключ защищен паролем
|
|
12
|
+
});
|
|
13
|
+
} else {
|
|
14
|
+
// Fallback на обычный HTTP для разработки
|
|
15
|
+
this.app = uWS.App();
|
|
16
|
+
};
|
|
8
17
|
this.modules = new Map();
|
|
9
18
|
this.userConnections = new Map();
|
|
10
19
|
// Добавляем контейнер для RPC методов
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Music Module
|
|
2
2
|
|
|
3
3
|
## Задачи
|
|
4
|
+
1. Отрефачить карточку ArtistCardSmall - декомпозировать пропс artist, заменить ArtistCard на ArtistCardSmall и оставить только ArtistCard.
|
|
5
|
+
2. Кнопка проигрывания должна показывать паузу на треке только если это текущий трек!
|
|
4
6
|
|
|
5
7
|
### Оптимизация подсчета воспроизведений
|
|
6
8
|
- [ ] Перенести увеличение playCount из HTTP stream controller в WebSocket handler
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<!-- components/cards/ArtistCard.vue -->
|
|
2
|
+
<template>
|
|
3
|
+
<div class="artist-card bg-light pd-medium radius-medium flex flex-center gap-big">
|
|
4
|
+
<router-link
|
|
5
|
+
:to="artist.url ? { name: 'artist', params: { url: artist.url } } : artist.to"
|
|
6
|
+
class="flex flex-v-center gap-thin flex-1 hover-opacity"
|
|
7
|
+
>
|
|
8
|
+
<div class="artist-avatar">
|
|
9
|
+
<Media
|
|
10
|
+
v-if="artist.photoUrl"
|
|
11
|
+
:url="artist.photoUrl"
|
|
12
|
+
:alt="artist.name"
|
|
13
|
+
class="w-4r h-4r radius-full object-fit-cover"
|
|
14
|
+
/>
|
|
15
|
+
<div v-else class="w-4r h-4r flex flex center radius-extra radius-full bg-main flex-center">
|
|
16
|
+
{{ artist.name.charAt(0) }}
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<div>
|
|
21
|
+
<div class="flex items-center gap-thin">
|
|
22
|
+
<span class="mn-b-thin">{{ artist.name }}</span>
|
|
23
|
+
<IconVerified v-if="artist.isVerified" class="w-1r h-1r t-primary" />
|
|
24
|
+
</div>
|
|
25
|
+
<span class="t-small t-transp">{{ artistType }}</span>
|
|
26
|
+
</div>
|
|
27
|
+
</router-link>
|
|
28
|
+
|
|
29
|
+
<Button
|
|
30
|
+
v-if="showFollowButton"
|
|
31
|
+
@click="handleFollowClick"
|
|
32
|
+
:color="isFollowing ? 'primary' : 'transp'"
|
|
33
|
+
size="small"
|
|
34
|
+
class="bg-main"
|
|
35
|
+
>
|
|
36
|
+
{{ isFollowing ? 'Following' : 'Follow' }}
|
|
37
|
+
</Button>
|
|
38
|
+
</div>
|
|
39
|
+
</template>
|
|
40
|
+
|
|
41
|
+
<script setup>
|
|
42
|
+
import { computed } from 'vue';
|
|
43
|
+
import Button from '@martyrs/src/components/Button/Button.vue';
|
|
44
|
+
import Media from '@martyrs/src/components/Media/Media.vue';
|
|
45
|
+
import IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue';
|
|
46
|
+
|
|
47
|
+
const props = defineProps({
|
|
48
|
+
artist: {
|
|
49
|
+
type: Object,
|
|
50
|
+
required: true,
|
|
51
|
+
validator: (value) => {
|
|
52
|
+
return value._id && value.name && value.url;
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
isFollowing: {
|
|
56
|
+
type: Boolean,
|
|
57
|
+
default: false
|
|
58
|
+
},
|
|
59
|
+
showFollowButton: {
|
|
60
|
+
type: Boolean,
|
|
61
|
+
default: true
|
|
62
|
+
},
|
|
63
|
+
artistType: {
|
|
64
|
+
type: String,
|
|
65
|
+
default: 'Artist'
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
const emit = defineEmits(['toggle-follow']);
|
|
70
|
+
|
|
71
|
+
const handleFollowClick = () => {
|
|
72
|
+
emit('toggle-follow', props.artist._id);
|
|
73
|
+
};
|
|
74
|
+
</script>
|
|
75
|
+
|
|
76
|
+
<style scoped>
|
|
77
|
+
.artist-card {
|
|
78
|
+
transition: all 0.2s ease;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.artist-card:hover {
|
|
82
|
+
transform: translateY(-5px);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.artist-avatar img {
|
|
86
|
+
transition: transform 0.2s ease;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.artist-card:hover .artist-avatar img {
|
|
90
|
+
transform: scale(1.05);
|
|
91
|
+
}
|
|
92
|
+
</style>
|