@ozdao/martyrs 0.2.550 → 0.2.552
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/__vite-browser-external-l0sNRNKZ.js +1 -0
- package/dist/_virtual/__vite-browser-external.js +2 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/builder.js +86 -4
- package/dist/{main-BkG7nL3U.js → main-Bywjlw2D.js} +1891 -1861
- 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/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +6 -4
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
- package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +2 -2
- package/dist/martyrs/src/components/EditImages/{EditImages.vue.cjs.map → EditImages.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/click-outside.js +3 -1
- package/dist/martyrs/src/components/FieldPhone/click-outside.js.map +1 -1
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.js → BlockTags.vue.js} +3 -3
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -0
- package/dist/martyrs/src/components/FieldTags/{FieldTags.vue2.js → FieldTags.vue.js} +2 -2
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js.map +1 -0
- package/dist/martyrs/src/components/Media/Media.vue.js +19 -6
- package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
- package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js → SelectMulti.vue.js} +2 -2
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +1 -0
- package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.js → Spoiler.vue2.js} +2 -2
- package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs.map → Spoiler.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tab/{Tab.vue.cjs.map → Tab.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/UploadImage/{UploadImage.vue2.js → UploadImage.vue.js} +2 -2
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -0
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +3 -2
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/auth.client.js +13 -1
- package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
- package/dist/martyrs/src/modules/auth/auth.router.js +4 -12
- package/dist/martyrs/src/modules/auth/auth.router.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +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/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +13 -11
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js +17 -10
- package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.js +9 -9
- package/dist/martyrs/src/modules/chats/store/chat.store.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +10 -9
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
- package/dist/martyrs/src/modules/core/core.client.js +29 -30
- package/dist/martyrs/src/modules/core/core.client.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.js +62 -22
- package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/classes/{core.i18n.js → i18n.manager.js} +1 -1
- package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/classes/{module-registry.js → module.manager.js} +47 -8
- package/dist/martyrs/src/modules/core/views/classes/module.manager.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/classes/{session.js → session.manager.js} +3 -3
- package/dist/martyrs/src/modules/core/views/classes/session.manager.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/classes/{core.store.js → store.manager.js} +3 -3
- package/dist/martyrs/src/modules/core/views/classes/store.manager.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/classes/{core.websocket.js → ws.manager.js} +5 -4
- package/dist/martyrs/src/modules/core/views/classes/ws.manager.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +4 -3
- package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js +3 -2
- package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +34 -25
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +11 -10
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +6 -5
- package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +12 -11
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +8 -7
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +28 -9
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.cjs.map → Filters.vue2.js.map} +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +1 -6
- package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/mixins/mixins.js +7 -6
- package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.js +6 -5
- package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/store/core.store.js +157 -140
- package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +59 -6
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +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.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +5 -5
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
- package/dist/martyrs/src/modules/gallery/store/gallery.js +2 -2
- package/dist/martyrs/src/modules/gallery/store/gallery.js.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +5 -3
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +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.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +8 -7
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/store/stock.alerts.store.js +2 -2
- package/dist/martyrs/src/modules/inventory/store/stock.alerts.store.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/landing.client.js +1 -1
- package/dist/martyrs/src/modules/landing/landing.client.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +5 -4
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +9 -8
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js.map +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.js +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.js +2 -2
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +8 -7
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +8 -7
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +8 -7
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +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.js +8 -7
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +4 -3
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +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.js +6 -5
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +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.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/music/music.client.js +4 -4
- package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
- package/dist/martyrs/src/modules/music/music.router.js +2 -4
- package/dist/martyrs/src/modules/music/music.router.js.map +1 -1
- package/dist/martyrs/src/modules/music/store/albums.js +2 -2
- package/dist/martyrs/src/modules/music/store/albums.js.map +1 -1
- package/dist/martyrs/src/modules/music/store/artists.js +2 -2
- package/dist/martyrs/src/modules/music/store/artists.js.map +1 -1
- package/dist/martyrs/src/modules/music/store/genres.js +2 -2
- package/dist/martyrs/src/modules/music/store/genres.js.map +1 -1
- package/dist/martyrs/src/modules/music/store/player.js +11 -11
- package/dist/martyrs/src/modules/music/store/player.js.map +1 -1
- package/dist/martyrs/src/modules/music/store/playlists.js +2 -2
- package/dist/martyrs/src/modules/music/store/playlists.js.map +1 -1
- package/dist/martyrs/src/modules/music/store/tracks.js +2 -2
- package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/layouts/NotificationsLayout.vue.js +7 -7
- package/dist/martyrs/src/modules/notifications/components/layouts/NotificationsLayout.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js +17 -8
- package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +5 -4
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +21 -19
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +37 -36
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +5 -4
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +8 -7
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +7 -6
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.js +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/applications.js +2 -2
- package/dist/martyrs/src/modules/orders/store/applications.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/customers.store.js +2 -2
- package/dist/martyrs/src/modules/orders/store/customers.store.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +3 -35
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +6 -5
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +10 -9
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +3 -34
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +10 -38
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +9 -32
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +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.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +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.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/organizations.client.js +12 -0
- package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/store/departments.store.js +2 -2
- package/dist/martyrs/src/modules/organizations/store/departments.store.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/store/invites.store.js +2 -2
- package/dist/martyrs/src/modules/organizations/store/invites.store.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/store/memberships.store.js +2 -2
- package/dist/martyrs/src/modules/organizations/store/memberships.store.js.map +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.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +13 -12
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +9 -8
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.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.js +6 -5
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +12 -11
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +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.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +7 -6
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +7 -6
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +2 -8
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +2 -2
- package/dist/martyrs/src/modules/products/store/variants.store.js +2 -2
- package/dist/martyrs/src/modules/products/store/variants.store.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +3 -3
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +10 -9
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +17 -16
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +10 -9
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/style.css +70 -41
- package/dist/{web-DvmEV7zh.js → web-i9sCtYxS.js} +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.prod.js +57 -3
- package/src/builder/modes/ssr.rspack.dev.js +63 -7
- package/src/builder/rspack/rspack.config.ssr.client.js +18 -5
- package/src/components/Dropdown/Dropdown.vue +4 -2
- package/src/components/FieldPhone/click-outside.js +3 -1
- package/src/components/Media/Media.vue +84 -56
- package/src/components/UploadImageMultiple/UploadImageMultiple.vue +2 -1
- package/src/modules/auth/auth.client.js +19 -1
- package/src/modules/auth/auth.router.js +5 -11
- package/src/modules/auth/views/components/pages/ProfileEdit.old.vue +3 -1
- package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +5 -3
- package/src/modules/auth/views/store/auth.js +22 -13
- package/src/modules/chats/store/chat.store.js +10 -10
- package/src/modules/community/components/pages/Posts.vue +2 -1
- package/src/modules/core/TASK.MD +3 -1
- package/src/modules/core/core.client.js +15 -10
- package/src/modules/core/views/classes/core.app.js +94 -82
- package/src/modules/core/views/classes/{module-registry.js → module.manager.js} +70 -13
- package/src/modules/core/views/classes/{session.js → session.manager.js} +2 -2
- package/src/modules/core/views/classes/{core.store.js → store.manager.js} +2 -2
- package/src/modules/core/views/classes/{core.websocket.js → ws.manager.js} +4 -3
- package/src/modules/core/views/components/blocks/HelpCard.vue +4 -2
- package/src/modules/core/views/components/layouts/App.vue +6 -4
- package/src/modules/core/views/components/layouts/Client.vue +52 -35
- package/src/modules/core/views/components/partials/Header.vue +9 -7
- package/src/modules/core/views/components/partials/LocationSelection.vue +7 -5
- package/src/modules/core/views/components/partials/Navigation.vue +5 -4
- package/src/modules/core/views/components/partials/NavigationBar.vue +5 -3
- package/src/modules/core/views/components/partials/Sidebar.vue +56 -9
- package/src/modules/core/views/mixins/mixins.js +3 -2
- package/src/modules/core/views/plugins/date-picker.plugin.js +6 -5
- package/src/modules/core/views/store/core.store.js +218 -186
- package/src/modules/core/views/utils/vue-app-renderer.js +87 -9
- package/src/modules/events/components/pages/EditEventTickets.vue +2 -2
- package/src/modules/gallery/store/gallery.js +2 -2
- package/src/modules/governance/views/components/pages/VotingCreate.vue +2 -2
- package/src/modules/icons/entities/IconMusic.vue +1 -1
- package/src/modules/inventory/components/pages/InventoryEdit.vue +3 -2
- package/src/modules/inventory/store/stock.alerts.store.js +2 -2
- package/src/modules/landing/landing.client.js +1 -1
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +2 -1
- package/src/modules/marketplace/views/components/pages/Catalog.vue +2 -1
- package/src/modules/music/components/cards/TrackListCard.vue +1 -1
- package/src/modules/music/components/forms/AlbumForm.vue +8 -6
- package/src/modules/music/components/forms/ArtistForm.vue +8 -6
- package/src/modules/music/components/forms/PlaylistForm.vue +8 -6
- package/src/modules/music/components/forms/TrackForm.vue +8 -6
- package/src/modules/music/components/pages/Artist.vue +5 -3
- package/src/modules/music/components/pages/Playlist.vue +6 -4
- package/src/modules/music/music.client.js +4 -4
- package/src/modules/music/music.router.js +4 -1
- package/src/modules/music/store/albums.js +2 -2
- package/src/modules/music/store/artists.js +2 -2
- package/src/modules/music/store/genres.js +2 -2
- package/src/modules/music/store/player.js +11 -11
- package/src/modules/music/store/playlists.js +2 -2
- package/src/modules/music/store/tracks.js +2 -2
- package/src/modules/notifications/components/layouts/NotificationsLayout.vue +7 -7
- package/src/modules/notifications/notifications.client.js +22 -8
- package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +6 -4
- package/src/modules/orders/components/pages/OrderBackoffice.vue +21 -19
- package/src/modules/orders/components/pages/OrderCreate.vue +13 -12
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +6 -4
- package/src/modules/orders/components/partials/ShopCart.vue +8 -7
- package/src/modules/orders/components/sections/FormDelivery.vue +8 -6
- package/src/modules/orders/orders.client.js +1 -1
- package/src/modules/orders/store/applications.js +2 -2
- package/src/modules/orders/store/customers.store.js +2 -2
- package/src/modules/organizations/CLAUDE.md +4 -4
- package/src/modules/organizations/components/blocks/CardOrganization.vue +2 -2
- package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +7 -5
- package/src/modules/organizations/components/forms/DepartmentForm.vue +7 -5
- package/src/modules/organizations/components/pages/Members.vue +4 -2
- package/src/modules/organizations/components/pages/Organization.vue +4 -2
- package/src/modules/organizations/organizations.client.js +18 -0
- package/src/modules/organizations/store/departments.store.js +2 -2
- package/src/modules/organizations/store/invites.store.js +2 -2
- package/src/modules/organizations/store/memberships.store.js +2 -2
- package/src/modules/pages/views/store/pages.store.js +2 -2
- package/src/modules/products/components/pages/Categories.vue +6 -5
- package/src/modules/products/components/pages/CategoryEdit.vue +6 -5
- package/src/modules/products/components/pages/Product.vue +1 -1
- package/src/modules/products/components/pages/ProductEdit.vue +2 -1
- package/src/modules/products/components/pages/Products.vue +8 -7
- package/src/modules/products/components/sections/EditIngredients.vue +7 -6
- package/src/modules/products/components/sections/EditRecommended.vue +4 -3
- package/src/modules/products/components/sections/ProductsPopular.vue +2 -2
- package/src/modules/products/components/sections/ProductsRecommended.vue +1 -7
- package/src/modules/products/products.router.js +0 -1
- package/src/modules/products/store/variants.store.js +2 -2
- package/src/modules/spots/components/layouts/Spots.vue +6 -4
- package/src/modules/spots/components/pages/Map.vue +9 -7
- package/src/modules/spots/components/pages/Spots.vue +6 -4
- package/dist/_virtual/_commonjsHelpers.cjs +0 -9
- package/dist/_virtual/_commonjsHelpers.cjs.map +0 -1
- package/dist/_virtual/_plugin-vue_export-helper.cjs +0 -11
- package/dist/_virtual/_plugin-vue_export-helper.cjs.map +0 -1
- package/dist/_virtual/alignment-pattern.cjs +0 -5
- package/dist/_virtual/alignment-pattern.cjs.map +0 -1
- package/dist/_virtual/browser.cjs +0 -8
- package/dist/_virtual/browser.cjs.map +0 -1
- package/dist/_virtual/browser2.cjs +0 -5
- package/dist/_virtual/browser2.cjs.map +0 -1
- package/dist/_virtual/canvas.cjs +0 -5
- package/dist/_virtual/canvas.cjs.map +0 -1
- package/dist/_virtual/dayjs.min.cjs +0 -8
- package/dist/_virtual/dayjs.min.cjs.map +0 -1
- package/dist/_virtual/dayjs.min2.cjs +0 -5
- package/dist/_virtual/dayjs.min2.cjs.map +0 -1
- package/dist/_virtual/dijkstra.cjs +0 -5
- package/dist/_virtual/dijkstra.cjs.map +0 -1
- package/dist/_virtual/error-correction-code.cjs +0 -5
- package/dist/_virtual/error-correction-code.cjs.map +0 -1
- package/dist/_virtual/error-correction-level.cjs +0 -5
- package/dist/_virtual/error-correction-level.cjs.map +0 -1
- package/dist/_virtual/finder-pattern.cjs +0 -5
- package/dist/_virtual/finder-pattern.cjs.map +0 -1
- package/dist/_virtual/format-info.cjs +0 -5
- package/dist/_virtual/format-info.cjs.map +0 -1
- package/dist/_virtual/galois-field.cjs +0 -5
- package/dist/_virtual/galois-field.cjs.map +0 -1
- package/dist/_virtual/index.cjs +0 -8
- package/dist/_virtual/index.cjs.map +0 -1
- package/dist/_virtual/index2.cjs +0 -5
- package/dist/_virtual/index2.cjs.map +0 -1
- package/dist/_virtual/mask-pattern.cjs +0 -5
- package/dist/_virtual/mask-pattern.cjs.map +0 -1
- package/dist/_virtual/mode.cjs +0 -5
- package/dist/_virtual/mode.cjs.map +0 -1
- package/dist/_virtual/polynomial.cjs +0 -5
- package/dist/_virtual/polynomial.cjs.map +0 -1
- package/dist/_virtual/qrcode.cjs +0 -5
- package/dist/_virtual/qrcode.cjs.map +0 -1
- package/dist/_virtual/regex.cjs +0 -5
- package/dist/_virtual/regex.cjs.map +0 -1
- package/dist/_virtual/segments.cjs +0 -5
- package/dist/_virtual/segments.cjs.map +0 -1
- package/dist/_virtual/svg-tag.cjs +0 -5
- package/dist/_virtual/svg-tag.cjs.map +0 -1
- package/dist/_virtual/utils.cjs +0 -5
- package/dist/_virtual/utils.cjs.map +0 -1
- package/dist/_virtual/utils2.cjs +0 -5
- package/dist/_virtual/utils2.cjs.map +0 -1
- package/dist/_virtual/version-check.cjs +0 -5
- package/dist/_virtual/version-check.cjs.map +0 -1
- package/dist/_virtual/version.cjs +0 -5
- package/dist/_virtual/version.cjs.map +0 -1
- package/dist/_virtual/weekOfYear.cjs +0 -8
- package/dist/_virtual/weekOfYear.cjs.map +0 -1
- package/dist/_virtual/weekOfYear2.cjs +0 -5
- package/dist/_virtual/weekOfYear2.cjs.map +0 -1
- package/dist/abac-gNSxNkX1.cjs +0 -1029
- package/dist/addUserStatusFields-7-66sf45.cjs +0 -86
- package/dist/auth.server.cjs +0 -529
- package/dist/authJwt-BIZ2GIfT.cjs +0 -75
- package/dist/builder.cjs +0 -1142
- package/dist/chats.server.cjs +0 -323
- package/dist/common.schema-BtXLULba.cjs +0 -12
- package/dist/community.server.cjs +0 -840
- package/dist/core.abac-DqDvtkHR.cjs +0 -297
- package/dist/core.logger-BuW7JHMY.cjs +0 -165
- package/dist/core.server.cjs +0 -135
- package/dist/core.verifier-Bi-XLEi9.cjs +0 -651
- package/dist/core.websocket-Cm72lPCs.cjs +0 -374
- package/dist/credentials.schema-DVXaFnXl.cjs +0 -9
- package/dist/crud-CQ3ICbm7.cjs +0 -1176
- package/dist/engagement.schema-DHw4iY_W.cjs +0 -23
- package/dist/events.server.cjs +0 -1410
- package/dist/files.server.cjs +0 -292
- package/dist/gallery.server.cjs +0 -270
- package/dist/index-BFxqqmgh.cjs +0 -186
- package/dist/inventory.server.cjs +0 -1069
- package/dist/mailing-DCvDBHVh.cjs +0 -75
- package/dist/main-CXqpC28l.cjs +0 -11
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.cjs +0 -485
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/preferences/dist/esm/index.cjs +0 -8
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/preferences/dist/esm/index.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/preferences/dist/esm/web.cjs +0 -73
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/preferences/dist/esm/web.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.1.2/node_modules/bignumber.js/bignumber.cjs +0 -1336
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.1.2/node_modules/bignumber.js/bignumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/ParseError.cjs +0 -131
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/ParseError.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/PhoneNumber.cjs +0 -209
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/constants.cjs +0 -22
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/constants.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/format.cjs +0 -166
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/format.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/RFC3966.cjs +0 -14
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/RFC3966.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.cjs +0 -8
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.cjs +0 -27
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.cjs +0 -30
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.cjs +0 -24
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.cjs +0 -55
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs +0 -27
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs +0 -38
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.cjs +0 -43
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs +0 -46
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.cjs +0 -49
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.cjs +0 -30
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.cjs +0 -19
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.cjs +0 -52
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.cjs +0 -16
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getNumberType.cjs +0 -76
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getNumberType.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.cjs +0 -23
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/isObject.cjs +0 -8
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/isObject.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.cjs +0 -25
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.cjs +0 -8
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/parseDigits.cjs +0 -80
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/parseDigits.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.cjs +0 -26
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/isPossible.cjs +0 -55
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/isPossible.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/isValid.cjs +0 -17
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/isValid.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/metadata.cjs +0 -539
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/metadata.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/normalizeArguments.cjs +0 -117
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/normalizeArguments.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parse.cjs +0 -178
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parse.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.cjs +0 -51
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parsePhoneNumber.cjs +0 -10
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parsePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.cjs +0 -39
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parsePhoneNumber_.cjs +0 -51
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/parsePhoneNumber_.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/tools/semver-compare.cjs +0 -22
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/es6/tools/semver-compare.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/metadata.min.json.cjs +0 -5
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/metadata.min.json.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.cjs +0 -9
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/min/exports/withMetadataArgument.cjs +0 -10
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.4/node_modules/libphonenumber-js/min/exports/withMetadataArgument.cjs.map +0 -1
- package/dist/martyrs/src/components/Address/Address.vue.cjs +0 -113
- package/dist/martyrs/src/components/Address/Address.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Block/Block.vue.cjs +0 -83
- package/dist/martyrs/src/components/Block/Block.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Button/Button.vue.cjs +0 -158
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs +0 -571
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs +0 -98
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs +0 -28
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs +0 -96
- package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs +0 -103
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Draggable/Draggable.vue.cjs +0 -106
- package/dist/martyrs/src/components/Draggable/Draggable.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs +0 -72
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.js.map +0 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -95
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
- package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs +0 -41
- package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +0 -99
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +0 -430
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.cjs +0 -161
- package/dist/martyrs/src/components/Field/Field.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +0 -202
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldDate/FieldDate.vue.cjs +0 -183
- package/dist/martyrs/src/components/FieldDate/FieldDate.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +0 -597
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldPhone/all-countries.cjs +0 -257
- package/dist/martyrs/src/components/FieldPhone/all-countries.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldPhone/click-outside.cjs +0 -25
- package/dist/martyrs/src/components/FieldPhone/click-outside.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs +0 -94
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.js.map +0 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue2.cjs +0 -235
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Loader/Loader.vue.cjs +0 -61
- package/dist/martyrs/src/components/Loader/Loader.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs +0 -166
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Map/Map.vue.cjs +0 -62
- package/dist/martyrs/src/components/Map/Map.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Marquee/Marquee.vue.cjs +0 -240
- package/dist/martyrs/src/components/Marquee/Marquee.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Media/Media.vue.cjs +0 -168
- package/dist/martyrs/src/components/Media/Media.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs +0 -17
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs +0 -66
- package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs +0 -240
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue.cjs +0 -107
- package/dist/martyrs/src/components/Popup/Popup.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Radio/Radio.vue.cjs +0 -55
- package/dist/martyrs/src/components/Radio/Radio.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue.cjs +0 -134
- package/dist/martyrs/src/components/Select/Select.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.cjs +0 -625
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Shader/Shader.vue.cjs +0 -2
- package/dist/martyrs/src/components/Shader/Shader.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue2.cjs +0 -97
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Slider/Slider.vue.cjs +0 -168
- package/dist/martyrs/src/components/Slider/Slider.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Spoiler/Spoiler.vue.cjs +0 -73
- package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +0 -1
- package/dist/martyrs/src/components/Status/Snack.vue.cjs +0 -60
- package/dist/martyrs/src/components/Status/Snack.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Status/Status.vue.cjs +0 -46
- package/dist/martyrs/src/components/Status/Status.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Tab/Tab.vue.cjs +0 -74
- package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
- package/dist/martyrs/src/components/Table/StatusBadge.vue.cjs +0 -25
- package/dist/martyrs/src/components/Table/StatusBadge.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Table/Table.vue.cjs +0 -67
- package/dist/martyrs/src/components/Table/Table.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Text/Text.vue.cjs +0 -40
- package/dist/martyrs/src/components/Text/Text.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs +0 -54
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Tree/Tree.vue.cjs +0 -78
- package/dist/martyrs/src/components/Tree/Tree.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Upload/Upload.vue2.cjs +0 -122
- package/dist/martyrs/src/components/Upload/Upload.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.cjs +0 -219
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.js.map +0 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +0 -142
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/auth.client.cjs +0 -67
- package/dist/martyrs/src/modules/auth/auth.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/auth.router.cjs +0 -350
- package/dist/martyrs/src/modules/auth/auth.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/locales/en.cjs +0 -79
- package/dist/martyrs/src/modules/auth/locales/en.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/locales/index.cjs +0 -10
- package/dist/martyrs/src/modules/auth/locales/index.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/locales/ru.cjs +0 -81
- package/dist/martyrs/src/modules/auth/locales/ru.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.cjs +0 -95
- package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.cjs +0 -44
- package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +0 -41
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +0 -166
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +0 -118
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +0 -89
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +0 -284
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +0 -85
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +0 -74
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +0 -73
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +0 -116
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs +0 -42
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +0 -145
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +0 -210
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +0 -154
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.cjs +0 -186
- package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +0 -114
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +0 -360
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs +0 -47
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/configs/navigation.user.config.cjs +0 -78
- package/dist/martyrs/src/modules/auth/views/configs/navigation.user.config.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/middlewares/auth.validation.cjs +0 -55
- package/dist/martyrs/src/modules/auth/views/middlewares/auth.validation.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.cjs +0 -17
- package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs +0 -255
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/store/twofa.cjs +0 -40
- package/dist/martyrs/src/modules/auth/views/store/twofa.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/store/users.cjs +0 -97
- package/dist/martyrs/src/modules/auth/views/store/users.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/validations/inputs.validation.cjs +0 -62
- package/dist/martyrs/src/modules/auth/views/validations/inputs.validation.cjs.map +0 -1
- package/dist/martyrs/src/modules/backoffice/backoffice.client.cjs +0 -36
- package/dist/martyrs/src/modules/backoffice/backoffice.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/backoffice/backoffice.router.cjs +0 -81
- package/dist/martyrs/src/modules/backoffice/backoffice.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +0 -145
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +0 -150
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/chats/chats.client.cjs +0 -31
- package/dist/martyrs/src/modules/chats/chats.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs +0 -49
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/chats/components/pages/ChatPage.vue.cjs +0 -42
- package/dist/martyrs/src/modules/chats/components/pages/ChatPage.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs +0 -176
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.cjs +0 -175
- package/dist/martyrs/src/modules/chats/store/chat.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/community.client.cjs +0 -64
- package/dist/martyrs/src/modules/community/community.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/community.router.cjs +0 -124
- package/dist/martyrs/src/modules/community/community.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/blocks/Activity.vue.cjs +0 -59
- package/dist/martyrs/src/modules/community/components/blocks/Activity.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +0 -124
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs +0 -92
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +0 -250
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +0 -83
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +0 -145
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +0 -300
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +0 -113
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +0 -157
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +0 -204
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +0 -72
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/store/blogposts.cjs +0 -171
- package/dist/martyrs/src/modules/community/store/blogposts.cjs.map +0 -1
- package/dist/martyrs/src/modules/community/store/reactions.cjs +0 -95
- package/dist/martyrs/src/modules/community/store/reactions.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.cjs +0 -63
- package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +0 -79
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +0 -82
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Image.vue.cjs +0 -39
- package/dist/martyrs/src/modules/constructor/components/elements/Image.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/elements/ImageUpload.vue.cjs +0 -90
- package/dist/martyrs/src/modules/constructor/components/elements/ImageUpload.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.cjs +0 -317
- package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.cjs +0 -63
- package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/elements/VideoPlayer.vue.cjs +0 -43
- package/dist/martyrs/src/modules/constructor/components/elements/VideoPlayer.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +0 -201
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs +0 -64
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/core.client.cjs +0 -113
- package/dist/martyrs/src/modules/core/core.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/locales/en.cjs +0 -32
- package/dist/martyrs/src/modules/core/locales/en.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/locales/ru.cjs +0 -24
- package/dist/martyrs/src/modules/core/locales/ru.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.cjs +0 -208
- package/dist/martyrs/src/modules/core/views/classes/core.app.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/core.i18n.cjs +0 -71
- package/dist/martyrs/src/modules/core/views/classes/core.i18n.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/core.i18n.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/core.store.cjs +0 -153
- package/dist/martyrs/src/modules/core/views/classes/core.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/core.store.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/core.websocket.cjs +0 -298
- package/dist/martyrs/src/modules/core/views/classes/core.websocket.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/core.websocket.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/module-registry.cjs +0 -165
- package/dist/martyrs/src/modules/core/views/classes/module-registry.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/module-registry.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/session.cjs +0 -50
- package/dist/martyrs/src/modules/core/views/classes/session.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/classes/session.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/AlertDialog.vue.cjs +0 -43
- package/dist/martyrs/src/modules/core/views/components/blocks/AlertDialog.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockMultiselect.vue.cjs +0 -308
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockMultiselect.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.cjs +0 -59
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.cjs +0 -84
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/Card.vue.cjs +0 -76
- package/dist/martyrs/src/modules/core/views/components/blocks/Card.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.cjs +0 -197
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.cjs +0 -38
- package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.cjs +0 -84
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.cjs +0 -184
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.cjs +0 -54
- package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/elements/ButtonSort.vue.cjs +0 -36
- package/dist/martyrs/src/modules/core/views/components/elements/ButtonSort.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/elements/PhotoStack.vue.cjs +0 -64
- package/dist/martyrs/src/modules/core/views/components/elements/PhotoStack.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.cjs +0 -106
- package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.cjs +0 -341
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/Empty.vue.cjs +0 -17
- package/dist/martyrs/src/modules/core/views/components/layouts/Empty.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/pages/401.vue.cjs +0 -12
- package/dist/martyrs/src/modules/core/views/components/pages/401.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/pages/404.vue.cjs +0 -12
- package/dist/martyrs/src/modules/core/views/components/pages/404.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.cjs +0 -116
- package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.cjs +0 -100
- package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.cjs +0 -243
- package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.cjs +0 -179
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.cjs +0 -106
- package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.cjs +0 -250
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.cjs +0 -158
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.cjs +0 -105
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.cjs +0 -385
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.cjs +0 -61
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.cjs +0 -307
- package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/localization/get-browser-locale.cjs +0 -14
- package/dist/martyrs/src/modules/core/views/localization/get-browser-locale.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/mixins/mixins.cjs +0 -262
- package/dist/martyrs/src/modules/core/views/mixins/mixins.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/plugins/alert.plugin.cjs +0 -56
- package/dist/martyrs/src/modules/core/views/plugins/alert.plugin.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.cjs +0 -83
- package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/plugins/popup.auth.plugin.cjs +0 -70
- package/dist/martyrs/src/modules/core/views/plugins/popup.auth.plugin.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/router/addRoutes.cjs +0 -106
- package/dist/martyrs/src/modules/core/views/router/addRoutes.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/router/scrollBehavior.cjs +0 -33
- package/dist/martyrs/src/modules/core/views/router/scrollBehavior.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/store/core.store.cjs +0 -285
- package/dist/martyrs/src/modules/core/views/store/core.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/utils/axios-instance.cjs +0 -17
- package/dist/martyrs/src/modules/core/views/utils/axios-instance.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/utils/polyfills.cjs +0 -26
- package/dist/martyrs/src/modules/core/views/utils/polyfills.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/utils/query-serializer.cjs +0 -100
- package/dist/martyrs/src/modules/core/views/utils/query-serializer.cjs.map +0 -1
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.cjs +0 -111
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +0 -133
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.cjs +0 -80
- package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +0 -174
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +0 -85
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/layouts/layoutEvents.vue.cjs +0 -36
- package/dist/martyrs/src/modules/events/components/layouts/layoutEvents.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +0 -422
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +0 -405
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +0 -187
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +0 -195
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +0 -141
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +0 -98
- package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.cjs +0 -281
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +0 -85
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs +0 -45
- package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +0 -168
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/sections/HeroEvent.vue.cjs +0 -91
- package/dist/martyrs/src/modules/events/components/sections/HeroEvent.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +0 -108
- package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +0 -190
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/events.client.cjs +0 -61
- package/dist/martyrs/src/modules/events/events.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/router/events.router.cjs +0 -369
- package/dist/martyrs/src/modules/events/router/events.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/store/events.cjs +0 -147
- package/dist/martyrs/src/modules/events/store/events.cjs.map +0 -1
- package/dist/martyrs/src/modules/events/store/tickets.cjs +0 -117
- package/dist/martyrs/src/modules/events/store/tickets.cjs.map +0 -1
- package/dist/martyrs/src/modules/files/files.client.cjs +0 -2
- package/dist/martyrs/src/modules/files/files.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +0 -122
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +0 -277
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/gallery/gallery.client.cjs +0 -33
- package/dist/martyrs/src/modules/gallery/gallery.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/gallery/router/gallery.router.cjs +0 -129
- package/dist/martyrs/src/modules/gallery/router/gallery.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/gallery/store/gallery.cjs +0 -6
- package/dist/martyrs/src/modules/gallery/store/gallery.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/actions/IconDuplicate.vue.cjs +0 -39
- package/dist/martyrs/src/modules/icons/actions/IconDuplicate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/actions/IconShopcartAdd.vue.cjs +0 -33
- package/dist/martyrs/src/modules/icons/actions/IconShopcartAdd.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/actions/IconShow.vue.cjs +0 -49
- package/dist/martyrs/src/modules/icons/actions/IconShow.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +0 -240
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs +0 -40
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconBell.vue.cjs +0 -36
- package/dist/martyrs/src/modules/icons/entities/IconBell.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconCalendar.vue.cjs +0 -38
- package/dist/martyrs/src/modules/icons/entities/IconCalendar.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconCatalog.vue.cjs +0 -36
- package/dist/martyrs/src/modules/icons/entities/IconCatalog.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconCommunity.vue.cjs +0 -34
- package/dist/martyrs/src/modules/icons/entities/IconCommunity.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconDiscount.vue.cjs +0 -57
- package/dist/martyrs/src/modules/icons/entities/IconDiscount.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconEarn.vue.cjs +0 -62
- package/dist/martyrs/src/modules/icons/entities/IconEarn.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconEvents.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/entities/IconEvents.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconFeatured.vue.cjs +0 -35
- package/dist/martyrs/src/modules/icons/entities/IconFeatured.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconFile.vue.cjs +0 -33
- package/dist/martyrs/src/modules/icons/entities/IconFile.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconFollowing.vue.cjs +0 -55
- package/dist/martyrs/src/modules/icons/entities/IconFollowing.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconGallery.vue.cjs +0 -45
- package/dist/martyrs/src/modules/icons/entities/IconGallery.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconGroups.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/entities/IconGroups.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconHome.vue.cjs +0 -36
- package/dist/martyrs/src/modules/icons/entities/IconHome.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.cjs +0 -45
- package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconLeftovers.vue.cjs +0 -35
- package/dist/martyrs/src/modules/icons/entities/IconLeftovers.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs +0 -35
- package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconLock.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/entities/IconLock.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs +0 -31
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconOrders.vue.cjs +0 -55
- package/dist/martyrs/src/modules/icons/entities/IconOrders.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconPayments.vue.cjs +0 -34
- package/dist/martyrs/src/modules/icons/entities/IconPayments.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconPopular.vue.cjs +0 -33
- package/dist/martyrs/src/modules/icons/entities/IconPopular.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconPrice.vue.cjs +0 -33
- package/dist/martyrs/src/modules/icons/entities/IconPrice.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconProducts.vue.cjs +0 -33
- package/dist/martyrs/src/modules/icons/entities/IconProducts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconProfile.vue.cjs +0 -29
- package/dist/martyrs/src/modules/icons/entities/IconProfile.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconRecent.vue.cjs +0 -53
- package/dist/martyrs/src/modules/icons/entities/IconRecent.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconSettings.vue.cjs +0 -40
- package/dist/martyrs/src/modules/icons/entities/IconSettings.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconShopcart.vue.cjs +0 -45
- package/dist/martyrs/src/modules/icons/entities/IconShopcart.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconTime.vue.cjs +0 -24
- package/dist/martyrs/src/modules/icons/entities/IconTime.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/icons.client.cjs +0 -202
- package/dist/martyrs/src/modules/icons/icons.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/icons.router.cjs +0 -31
- package/dist/martyrs/src/modules/icons/icons.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/labels/LabelAppStore.vue.cjs +0 -20
- package/dist/martyrs/src/modules/icons/labels/LabelAppStore.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/labels/LabelGooglePlay.vue.cjs +0 -20
- package/dist/martyrs/src/modules/icons/labels/LabelGooglePlay.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/logos/Logotype.vue.cjs +0 -26
- package/dist/martyrs/src/modules/icons/logos/Logotype.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconAdd.vue.cjs +0 -35
- package/dist/martyrs/src/modules/icons/navigation/IconAdd.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconArrow.vue.cjs +0 -37
- package/dist/martyrs/src/modules/icons/navigation/IconArrow.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconAttach.vue.cjs +0 -35
- package/dist/martyrs/src/modules/icons/navigation/IconAttach.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs +0 -37
- package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCheckmark.vue.cjs +0 -34
- package/dist/martyrs/src/modules/icons/navigation/IconCheckmark.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconChevronBottom.vue.cjs +0 -34
- package/dist/martyrs/src/modules/icons/navigation/IconChevronBottom.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconChevronLeft.vue.cjs +0 -31
- package/dist/martyrs/src/modules/icons/navigation/IconChevronLeft.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconChevronRight.vue.cjs +0 -31
- package/dist/martyrs/src/modules/icons/navigation/IconChevronRight.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconDelete.vue.cjs +0 -45
- package/dist/martyrs/src/modules/icons/navigation/IconDelete.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs +0 -37
- package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconEdit.vue.cjs +0 -37
- package/dist/martyrs/src/modules/icons/navigation/IconEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconEllipsis.vue.cjs +0 -51
- package/dist/martyrs/src/modules/icons/navigation/IconEllipsis.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconFilter.vue.cjs +0 -36
- package/dist/martyrs/src/modules/icons/navigation/IconFilter.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs +0 -34
- package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconInfo.vue.cjs +0 -44
- package/dist/martyrs/src/modules/icons/navigation/IconInfo.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs +0 -47
- package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconMinus.vue.cjs +0 -34
- package/dist/martyrs/src/modules/icons/navigation/IconMinus.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs +0 -37
- package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPlus.vue.cjs +0 -35
- package/dist/martyrs/src/modules/icons/navigation/IconPlus.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconSearch.vue.cjs +0 -47
- package/dist/martyrs/src/modules/icons/navigation/IconSearch.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconSend.vue.cjs +0 -31
- package/dist/martyrs/src/modules/icons/navigation/IconSend.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.cjs +0 -67
- package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconUpload.vue.cjs +0 -39
- package/dist/martyrs/src/modules/icons/navigation/IconUpload.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs +0 -37
- package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +0 -330
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/placeholders/PlaceholderChat.vue.cjs +0 -31
- package/dist/martyrs/src/modules/icons/placeholders/PlaceholderChat.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/placeholders/PlaceholderImage.vue.cjs +0 -23
- package/dist/martyrs/src/modules/icons/placeholders/PlaceholderImage.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue.cjs +0 -31
- package/dist/martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue.cjs +0 -31
- package/dist/martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonBlogpost.vue.cjs +0 -18
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonBlogpost.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonEvent.vue.cjs +0 -19
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonEvent.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.cjs +0 -18
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonOrganization.vue.cjs +0 -18
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonOrganization.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs +0 -31
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/line.vue.cjs +0 -34
- package/dist/martyrs/src/modules/icons/socials/line.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs +0 -44
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs +0 -32
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +0 -225
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +0 -88
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +0 -162
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +0 -184
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +0 -324
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +0 -382
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/inventory.client.cjs +0 -55
- package/dist/martyrs/src/modules/inventory/inventory.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/router/inventory.router.cjs +0 -36
- package/dist/martyrs/src/modules/inventory/router/inventory.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/store/inventory.store.cjs +0 -112
- package/dist/martyrs/src/modules/inventory/store/inventory.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/store/stock.alerts.store.cjs +0 -6
- package/dist/martyrs/src/modules/inventory/store/stock.alerts.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/elements/AnimatedGrid.vue.cjs +0 -15
- package/dist/martyrs/src/modules/landing/components/elements/AnimatedGrid.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/elements/FloatingImages.vue.cjs +0 -120
- package/dist/martyrs/src/modules/landing/components/elements/FloatingImages.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +0 -136
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeatures.vue.cjs +0 -47
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeatures.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +0 -103
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +0 -70
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +0 -85
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +0 -89
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +0 -111
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.cjs +0 -54
- package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.cjs +0 -98
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +0 -48
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/landing.client.cjs +0 -30
- package/dist/martyrs/src/modules/landing/landing.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/locales/en.cjs +0 -12
- package/dist/martyrs/src/modules/landing/locales/en.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/locales/index.cjs +0 -10
- package/dist/martyrs/src/modules/landing/locales/index.cjs.map +0 -1
- package/dist/martyrs/src/modules/landing/locales/ru.cjs +0 -12
- package/dist/martyrs/src/modules/landing/locales/ru.cjs.map +0 -1
- package/dist/martyrs/src/modules/marketplace/marketplace.client.cjs +0 -41
- package/dist/martyrs/src/modules/marketplace/marketplace.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/marketplace/marketplace.router.cjs +0 -63
- package/dist/martyrs/src/modules/marketplace/marketplace.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +0 -325
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +0 -73
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +0 -107
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/marketplace/views/store/marketplace.cjs +0 -54
- package/dist/martyrs/src/modules/marketplace/views/store/marketplace.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +0 -94
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +0 -84
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +0 -95
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +0 -100
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +0 -178
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +0 -437
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +0 -415
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +0 -434
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +0 -98
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +0 -566
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.cjs +0 -21
- package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +0 -498
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs +0 -14
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs +0 -23
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +0 -440
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs +0 -14
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs +0 -23
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +0 -218
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +0 -251
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +0 -658
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs +0 -14
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs +0 -23
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +0 -335
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +0 -502
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +0 -27
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs +0 -23
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +0 -212
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +0 -89
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +0 -77
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/music.client.cjs +0 -137
- package/dist/martyrs/src/modules/music/music.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/music.router.cjs +0 -228
- package/dist/martyrs/src/modules/music/music.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/store/albums.cjs +0 -167
- package/dist/martyrs/src/modules/music/store/albums.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/store/artists.cjs +0 -162
- package/dist/martyrs/src/modules/music/store/artists.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/store/genres.cjs +0 -123
- package/dist/martyrs/src/modules/music/store/genres.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/store/player.cjs +0 -301
- package/dist/martyrs/src/modules/music/store/player.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/store/playlists.cjs +0 -180
- package/dist/martyrs/src/modules/music/store/playlists.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/store/search.cjs +0 -109
- package/dist/martyrs/src/modules/music/store/search.cjs.map +0 -1
- package/dist/martyrs/src/modules/music/store/tracks.cjs +0 -206
- package/dist/martyrs/src/modules/music/store/tracks.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +0 -82
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +0 -142
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/components/layouts/NotificationsLayout.vue.cjs +0 -64
- package/dist/martyrs/src/modules/notifications/components/layouts/NotificationsLayout.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.cjs +0 -36
- package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.cjs +0 -168
- package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/components/sections/NotificationsList.vue.cjs +0 -143
- package/dist/martyrs/src/modules/notifications/components/sections/NotificationsList.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs +0 -388
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/notifications.router.cjs +0 -46
- package/dist/martyrs/src/modules/notifications/notifications.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/notifications/store/notifications.store.cjs +0 -310
- package/dist/martyrs/src/modules/notifications/store/notifications.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.cjs +0 -86
- package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.cjs +0 -103
- package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs +0 -154
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +0 -112
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +0 -194
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +0 -207
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.cjs +0 -69
- package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +0 -193
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +0 -132
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +0 -138
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +0 -262
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +0 -173
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusCanceled.vue.cjs +0 -32
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusCanceled.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusConfirmed.vue.cjs +0 -32
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusConfirmed.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusCreated.vue.cjs +0 -32
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusCreated.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusDelay.vue.cjs +0 -32
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusDelay.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusFinished.vue.cjs +0 -32
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusFinished.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusInUse.vue.cjs +0 -32
- package/dist/martyrs/src/modules/orders/components/icons/IconStatusInUse.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +0 -233
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +0 -234
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +0 -407
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +0 -357
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +0 -394
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +0 -155
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +0 -136
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +0 -119
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs +0 -27
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +0 -139
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/sections/EmptyState.vue.cjs +0 -17
- package/dist/martyrs/src/modules/orders/components/sections/EmptyState.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +0 -129
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +0 -42
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs +0 -34
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/locales/en.cjs +0 -38
- package/dist/martyrs/src/modules/orders/locales/en.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/locales/index.cjs +0 -10
- package/dist/martyrs/src/modules/orders/locales/index.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/locales/ru.cjs +0 -38
- package/dist/martyrs/src/modules/orders/locales/ru.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/orders.client.cjs +0 -202
- package/dist/martyrs/src/modules/orders/orders.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/router/applications.router.cjs +0 -17
- package/dist/martyrs/src/modules/orders/router/applications.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/router/customers.router.cjs +0 -18
- package/dist/martyrs/src/modules/orders/router/customers.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/router/orders.router.cjs +0 -80
- package/dist/martyrs/src/modules/orders/router/orders.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/store/applications.cjs +0 -6
- package/dist/martyrs/src/modules/orders/store/applications.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/store/customers.store.cjs +0 -6
- package/dist/martyrs/src/modules/orders/store/customers.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/store/models/application.cjs +0 -20
- package/dist/martyrs/src/modules/orders/store/models/application.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/store/models/customer.cjs +0 -50
- package/dist/martyrs/src/modules/orders/store/models/customer.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/store/models/order.cjs +0 -30
- package/dist/martyrs/src/modules/orders/store/models/order.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/store/orders.cjs +0 -166
- package/dist/martyrs/src/modules/orders/store/orders.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs +0 -175
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs.map +0 -1
- package/dist/martyrs/src/modules/orders/store/testimonials.cjs +0 -63
- package/dist/martyrs/src/modules/orders/store/testimonials.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +0 -80
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +0 -157
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.cjs +0 -72
- package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/DepartmentSub.vue.cjs +0 -32
- package/dist/martyrs/src/modules/organizations/components/blocks/DepartmentSub.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.cjs +0 -42
- package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.cjs +0 -46
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs +0 -101
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Unit.vue.cjs +0 -69
- package/dist/martyrs/src/modules/organizations/components/blocks/Unit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +0 -101
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +0 -195
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +0 -402
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +0 -86
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +0 -131
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +0 -376
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +0 -200
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +0 -200
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +0 -162
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +0 -104
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +0 -119
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +0 -148
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +0 -78
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs +0 -52
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Unit.vue.cjs +0 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Unit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +0 -171
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs +0 -79
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/organizations.router.cjs +0 -145
- package/dist/martyrs/src/modules/organizations/organizations.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/departments.store.cjs +0 -6
- package/dist/martyrs/src/modules/organizations/store/departments.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/invites.store.cjs +0 -6
- package/dist/martyrs/src/modules/organizations/store/invites.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs +0 -20
- package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/organizations.cjs +0 -131
- package/dist/martyrs/src/modules/organizations/store/organizations.cjs.map +0 -1
- package/dist/martyrs/src/modules/pages/pages.client.cjs +0 -34
- package/dist/martyrs/src/modules/pages/pages.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/pages/pages.router.cjs +0 -101
- package/dist/martyrs/src/modules/pages/pages.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +0 -105
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.cjs +0 -159
- package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +0 -113
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/Pages.vue.cjs +0 -57
- package/dist/martyrs/src/modules/pages/views/components/pages/Pages.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +0 -103
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/pages/views/store/pages.cjs +0 -65
- package/dist/martyrs/src/modules/pages/views/store/pages.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +0 -74
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +0 -99
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +0 -121
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +0 -129
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +0 -106
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs +0 -123
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs +0 -136
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +0 -45
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +0 -79
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs +0 -89
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +0 -197
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +0 -272
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +0 -251
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +0 -438
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +0 -106
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +0 -454
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +0 -168
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +0 -318
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +0 -147
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +0 -129
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +0 -500
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +0 -195
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +0 -120
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +0 -142
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +0 -49
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +0 -155
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +0 -240
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/products.client.cjs +0 -86
- package/dist/martyrs/src/modules/products/products.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/router/categories.router.cjs +0 -174
- package/dist/martyrs/src/modules/products/router/categories.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/router/products.router.cjs +0 -340
- package/dist/martyrs/src/modules/products/router/products.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/store/categories.cjs +0 -123
- package/dist/martyrs/src/modules/products/store/categories.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/store/products.cjs +0 -229
- package/dist/martyrs/src/modules/products/store/products.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/store/variants.store.cjs +0 -6
- package/dist/martyrs/src/modules/products/store/variants.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/rents.client.cjs +0 -45
- package/dist/martyrs/src/modules/rents/rents.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/rents.router.cjs +0 -110
- package/dist/martyrs/src/modules/rents/rents.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.cjs +0 -55
- package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/DateLabel.vue.cjs +0 -25
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/DateLabel.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.cjs +0 -44
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.cjs +0 -403
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.cjs +0 -52
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +0 -164
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +0 -156
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +0 -224
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/rents/views/store/rents.store.cjs +0 -143
- package/dist/martyrs/src/modules/rents/views/store/rents.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.cjs +0 -54
- package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +0 -104
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/reports/reports.client.cjs +0 -29
- package/dist/martyrs/src/modules/reports/reports.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/reports/reports.router.cjs +0 -34
- package/dist/martyrs/src/modules/reports/reports.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/reports/store/reports.cjs +0 -103
- package/dist/martyrs/src/modules/reports/store/reports.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +0 -119
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +0 -85
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotSub.vue.cjs +0 -32
- package/dist/martyrs/src/modules/spots/components/blocks/SpotSub.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +0 -198
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +0 -531
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +0 -157
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +0 -235
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +0 -135
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +0 -803
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/router/spots.router.cjs +0 -263
- package/dist/martyrs/src/modules/spots/router/spots.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/spots.client.cjs +0 -43
- package/dist/martyrs/src/modules/spots/spots.client.cjs.map +0 -1
- package/dist/martyrs/src/modules/spots/store/spots.cjs +0 -80
- package/dist/martyrs/src/modules/spots/store/spots.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.cjs +0 -43
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +0 -47
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.cjs +0 -29
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +0 -89
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.cjs +0 -136
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.cjs +0 -183
- package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +0 -238
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/localization/wallet.json.cjs +0 -9
- package/dist/martyrs/src/modules/wallet/views/localization/wallet.json.cjs.map +0 -1
- package/dist/martyrs/src/modules/wallet/views/store/wallet.store.cjs +0 -134
- package/dist/martyrs/src/modules/wallet/views/store/wallet.store.cjs.map +0 -1
- package/dist/martyrs.cjs.js +0 -1
- package/dist/metadata.schema-BGykn-_r.cjs +0 -267
- package/dist/music.server.cjs +0 -2114
- package/dist/node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.1.0_@capacitor_core@7.0.1/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.cjs +0 -83
- package/dist/node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.1.0_@capacitor_core@7.0.1/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.1.0_@capacitor_core@7.0.1/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs +0 -45
- package/dist/node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.1.0_@capacitor_core@7.0.1/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.1.0_@capacitor_core@7.0.1/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.cjs +0 -139
- package/dist/node_modules/.pnpm/@capacitor-mlkit_barcode-scanning@7.1.0_@capacitor_core@7.0.1/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.cjs +0 -485
- package/dist/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@capacitor_device@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/device/dist/esm/index.cjs +0 -8
- package/dist/node_modules/.pnpm/@capacitor_device@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/device/dist/esm/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@capacitor_device@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/device/dist/esm/web.cjs +0 -146
- package/dist/node_modules/.pnpm/@capacitor_device@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/device/dist/esm/web.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@capacitor_keyboard@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/keyboard/dist/esm/definitions.cjs +0 -16
- package/dist/node_modules/.pnpm/@capacitor_keyboard@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/keyboard/dist/esm/definitions.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@capacitor_keyboard@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/keyboard/dist/esm/index.cjs +0 -15
- package/dist/node_modules/.pnpm/@capacitor_keyboard@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/keyboard/dist/esm/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@capacitor_push-notifications@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/push-notifications/dist/esm/index.cjs +0 -6
- package/dist/node_modules/.pnpm/@capacitor_push-notifications@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/push-notifications/dist/esm/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.cjs +0 -335
- package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.cjs +0 -198
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs +0 -311
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@unhead_ssr@1.11.20/node_modules/@unhead/ssr/dist/index.cjs +0 -97
- package/dist/node_modules/.pnpm/@unhead_ssr@1.11.20/node_modules/@unhead/ssr/dist/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.cjs +0 -38
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs +0 -78
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +0 -755
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +0 -209
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
- package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.0.1/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs +0 -8
- package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.0.1/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.0.1/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.cjs +0 -13
- package/dist/node_modules/.pnpm/capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.0.1/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.cjs.map +0 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.cjs +0 -287
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.cjs.map +0 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.cjs +0 -34
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.cjs.map +0 -1
- package/dist/node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.cjs +0 -106
- package/dist/node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.cjs.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.5.2_embla-carousel@8.5.2/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.cjs +0 -43
- package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.5.2_embla-carousel@8.5.2/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.cjs.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel-vue@8.5.2_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs +0 -43
- package/dist/node_modules/.pnpm/embla-carousel-vue@8.5.2_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel@8.5.2/node_modules/embla-carousel/esm/embla-carousel.esm.cjs +0 -1631
- package/dist/node_modules/.pnpm/embla-carousel@8.5.2/node_modules/embla-carousel/esm/embla-carousel.esm.cjs.map +0 -1
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.cjs +0 -209
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-cookie/dist/js.cookie.cjs +0 -101
- package/dist/node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-cookie/dist/js.cookie.cjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs +0 -689
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/browser.cjs +0 -79
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/browser.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/can-promise.cjs +0 -14
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/can-promise.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alignment-pattern.cjs +0 -43
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alignment-pattern.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alphanumeric-data.cjs +0 -85
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alphanumeric-data.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-buffer.cjs +0 -40
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-buffer.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-matrix.cjs +0 -34
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-matrix.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/byte-data.cjs +0 -36
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/byte-data.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-code.cjs +0 -367
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-code.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-level.cjs +0 -52
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-level.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/finder-pattern.cjs +0 -25
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/finder-pattern.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/format-info.cjs +0 -24
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/format-info.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/galois-field.cjs +0 -38
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/galois-field.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/kanji-data.cjs +0 -46
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/kanji-data.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mask-pattern.cjs +0 -149
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mask-pattern.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mode.cjs +0 -90
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mode.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/numeric-data.cjs +0 -41
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/numeric-data.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/polynomial.cjs +0 -44
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/polynomial.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/qrcode.cjs +0 -279
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/qrcode.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/reed-solomon-encoder.cjs +0 -38
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/reed-solomon-encoder.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/regex.cjs +0 -33
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/regex.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/segments.cjs +0 -201
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/segments.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +0 -84
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version-check.cjs +0 -14
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version-check.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version.cjs +0 -107
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/canvas.cjs +0 -61
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/canvas.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/svg-tag.cjs +0 -64
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/svg-tag.cjs.map +0 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +0 -87
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs.map +0 -1
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.cjs +0 -423
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.cjs.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs +0 -6
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs +0 -15
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -11
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs +0 -20
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
- package/dist/node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs +0 -2484
- package/dist/node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +0 -1
- package/dist/notifications.server.cjs +0 -822
- package/dist/orders.server.cjs +0 -1284
- package/dist/organizations.server.cjs +0 -1590
- package/dist/ownership.schema-CRYdbemm.cjs +0 -42
- package/dist/pages.server.cjs +0 -142
- package/dist/products.server.cjs +0 -1677
- package/dist/profile.schema-l0Dk4Ptu.cjs +0 -91
- package/dist/queryProcessor-DJUTwCLN.cjs +0 -329
- package/dist/rents.server.cjs +0 -509
- package/dist/reports.server.cjs +0 -133
- package/dist/socials.schema-CqEHax2w.cjs +0 -24
- package/dist/spots.server.cjs +0 -331
- package/dist/web-pd1gb6DR.cjs +0 -1
- package/src/modules/music/router/library.router.js +0 -26
- package/src/modules/music/router/music.router.js +0 -176
- /package/src/modules/core/views/classes/{core.i18n.js → i18n.manager.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.js","sources":["../../../../../../src/modules/music/store/player.js"],"sourcesContent":["// store/player.js\nimport globalWebSocket from '@martyrs/src/modules/core/views/classes/core.websocket.js';\nimport { reactive } from 'vue';\n\n// State\nexport const state = reactive({\n currentTrack: null,\n queue: [],\n isPlaying: false,\n volume: 0.7,\n muted: false,\n currentTime: 0,\n duration: 0,\n repeat: 'none', // 'none', 'all', 'one'\n shuffle: false,\n initialQueue: [], // To keep original order when shuffle is toggled\n audioElement: null,\n audioContext: null,\n listeningPartyId: null,\n syncInProgress: false,\n});\n\n// Actions\nexport const actions = {\n initializeAudio() {\n if (typeof window !== 'undefined') {\n if (!state.audioElement) {\n state.audioElement = new Audio();\n state.audioElement.volume = state.volume;\n\n // Set up audio context if available\n try {\n const AudioContext = window.AudioContext || window.webkitAudioContext;\n if (AudioContext) {\n state.audioContext = new AudioContext();\n }\n } catch (e) {\n console.error('AudioContext not supported', e);\n }\n\n // Add event listeners\n state.audioElement.addEventListener('timeupdate', () => {\n state.currentTime = state.audioElement.currentTime;\n\n // Sync playback with listening party every 5 seconds\n if (state.listeningPartyId && !state.syncInProgress && state.isPlaying && state.currentTime % 5 < 0.1) {\n this.syncPartyPlayback();\n }\n });\n\n state.audioElement.addEventListener('loadedmetadata', () => {\n state.duration = state.audioElement.duration;\n });\n\n state.audioElement.addEventListener('ended', () => {\n this.playNext();\n });\n\n state.audioElement.addEventListener('play', () => {\n state.isPlaying = true;\n });\n\n state.audioElement.addEventListener('pause', () => {\n state.isPlaying = false;\n });\n }\n }\n },\n\n async playTrack(track) {\n if (!state.audioElement) {\n this.initializeAudio();\n }\n\n // If track is already playing, just toggle play/pause\n if (state.currentTrack && state.currentTrack._id === track._id) {\n return this.togglePlay();\n }\n\n // Set the current track\n state.currentTrack = track;\n\n // Generate stream URL\n const streamUrl = `${process.env.API_URL}/api/stream/${track._id}`;\n\n // Set up audio element\n state.audioElement.src = streamUrl;\n state.audioElement.load();\n const playPromise = state.audioElement.play();\n\n // Handle autoplay restrictions\n if (playPromise !== undefined) {\n playPromise.catch(error => {\n console.error('Autoplay prevented:', error);\n state.isPlaying = false;\n });\n }\n\n // Log play via WebSocket if connected\n console.log('Player: Attempting to log play event for track:', track._id);\n console.log('Player: WebSocket connected?', globalWebSocket.isSocketConnected());\n \n if (globalWebSocket.isSocketConnected()) {\n console.log('Player: Sending startPlaying event via WebSocket');\n globalWebSocket.send({\n module: 'music-streaming',\n action: 'startPlaying',\n data: {\n trackId: track._id,\n from: 'player',\n deviceInfo: navigator.userAgent,\n },\n });\n } else {\n console.log('Player: WebSocket not connected, play count will not be incremented');\n }\n },\n\n togglePlay() {\n if (!state.currentTrack || !state.audioElement) return;\n\n if (state.isPlaying) {\n state.audioElement.pause();\n } else {\n state.audioElement.play().catch(error => {\n console.error('Play failed:', error);\n });\n }\n\n state.isPlaying = !state.isPlaying;\n\n // Sync with listening party if active\n if (state.listeningPartyId) {\n this.syncPartyPlayback();\n }\n },\n\n setVolume(volume) {\n state.volume = volume;\n if (state.audioElement) {\n state.audioElement.volume = volume;\n }\n },\n\n toggleMute() {\n state.muted = !state.muted;\n if (state.audioElement) {\n state.audioElement.muted = state.muted;\n }\n },\n\n seek(time) {\n if (state.audioElement) {\n state.audioElement.currentTime = time;\n state.currentTime = time;\n\n // Sync with listening party if active\n if (state.listeningPartyId) {\n this.syncPartyPlayback();\n }\n }\n },\n\n // Queue management\n setQueue(tracks, startIndex = 0) {\n state.queue = [...tracks];\n state.initialQueue = [...tracks];\n\n if (startIndex > 0 && startIndex < tracks.length) {\n // Rearrange queue to start from the selected track\n const tracksToPlay = state.queue.splice(startIndex);\n state.queue = [...tracksToPlay, ...state.queue];\n }\n\n // If shuffle is on, randomize the queue except the first track\n if (state.shuffle && state.queue.length > 1) {\n const firstTrack = state.queue[0];\n const remainingTracks = state.queue.slice(1);\n this.shuffleArray(remainingTracks);\n state.queue = [firstTrack, ...remainingTracks];\n }\n\n // Start playing the first track in queue\n if (state.queue.length > 0) {\n this.playTrack(state.queue[0]);\n }\n },\n\n addToQueue(track) {\n state.queue.push(track);\n state.initialQueue.push(track);\n\n // If nothing is playing, start this track\n if (!state.currentTrack) {\n this.playTrack(track);\n }\n },\n\n removeFromQueue(index) {\n if (index >= 0 && index < state.queue.length) {\n state.queue.splice(index, 1);\n }\n },\n\n clearQueue() {\n state.queue = [];\n state.initialQueue = [];\n\n if (state.audioElement) {\n state.audioElement.pause();\n state.audioElement.src = '';\n }\n\n state.currentTrack = null;\n state.isPlaying = false;\n },\n\n playNext() {\n if (state.queue.length <= 1) {\n // Only one track or empty queue\n if (state.repeat === 'one' || state.repeat === 'all') {\n // Replay the current track\n this.seek(0);\n state.audioElement.play().catch(e => console.error(e));\n } else {\n // Stop playback\n state.isPlaying = false;\n }\n return;\n }\n\n if (state.repeat !== 'one') {\n // Move to next track\n state.queue.shift(); // Remove current track from queue\n\n // If queue is empty after removing current track and repeat is on\n if (state.queue.length === 0 && state.repeat === 'all') {\n state.queue = [...state.initialQueue];\n }\n\n // Play the next track if available\n if (state.queue.length > 0) {\n this.playTrack(state.queue[0]);\n } else {\n state.currentTrack = null;\n state.isPlaying = false;\n }\n } else {\n // Repeat one - just seek to beginning\n this.seek(0);\n state.audioElement.play().catch(e => console.error(e));\n }\n },\n\n playPrevious() {\n // If we're more than 3 seconds into the track, restart it\n if (state.currentTime > 3) {\n this.seek(0);\n return;\n }\n\n // Otherwise go to previous track if we have history\n // Implementation depends on how track history is managed\n // For simplicity, let's just go back to the beginning of the current track\n this.seek(0);\n },\n\n toggleRepeat() {\n // Cycle through repeat modes: none -> all -> one -> none...\n if (state.repeat === 'none') {\n state.repeat = 'all';\n } else if (state.repeat === 'all') {\n state.repeat = 'one';\n } else {\n state.repeat = 'none';\n }\n },\n\n toggleShuffle() {\n state.shuffle = !state.shuffle;\n\n if (state.shuffle) {\n // Save the current track\n const currentTrack = state.queue[0];\n\n // Shuffle the rest of the queue\n const remainingTracks = state.queue.slice(1);\n this.shuffleArray(remainingTracks);\n\n // Reconstruct queue with current track at the front\n state.queue = [currentTrack, ...remainingTracks];\n } else {\n // Restore original order but keep current track at front\n if (state.currentTrack) {\n const currentTrackIndex = state.initialQueue.findIndex(track => track._id === state.currentTrack._id);\n\n if (currentTrackIndex !== -1) {\n const tracksToPlay = state.initialQueue.slice(currentTrackIndex);\n const previousTracks = state.initialQueue.slice(0, currentTrackIndex);\n state.queue = [...tracksToPlay, ...previousTracks];\n } else {\n state.queue = [...state.initialQueue];\n }\n } else {\n state.queue = [...state.initialQueue];\n }\n }\n },\n\n shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n return array;\n },\n\n // Listening party features\n joinListeningParty(partyId) {\n state.listeningPartyId = partyId;\n\n if (globalWebSocket.isSocketConnected()) {\n globalWebSocket.send({\n module: 'music-streaming',\n action: 'joinListeningParty',\n data: { partyId },\n });\n\n // Set up event listener for party playback sync\n globalWebSocket.addEventListener('partyPlaybackSync', this.handlePartySync.bind(this), {\n module: 'music-streaming',\n });\n }\n },\n\n leaveListeningParty() {\n state.listeningPartyId = null;\n\n // Remove event listener for party sync\n if (globalWebSocket.isSocketConnected()) {\n globalWebSocket.removeEventListener('partyPlaybackSync');\n }\n },\n\n syncPartyPlayback() {\n if (!state.listeningPartyId || !state.currentTrack || !globalWebSocket.isSocketConnected()) {\n return;\n }\n\n globalWebSocket.send({\n module: 'music-streaming',\n action: 'syncPartyPlayback',\n data: {\n trackId: state.currentTrack._id,\n position: state.currentTime,\n isPlaying: state.isPlaying,\n },\n });\n },\n\n handlePartySync(data) {\n if (!state.listeningPartyId) return;\n\n state.syncInProgress = true;\n\n // If different track is playing in the party\n if (data.trackId !== state.currentTrack?._id) {\n // Find track in queue or load it\n const trackInQueue = state.queue.find(track => track._id === data.trackId);\n\n if (trackInQueue) {\n this.playTrack(trackInQueue);\n } else {\n // Need to fetch the track from the API\n fetch(`${process.env.API_URL}/api/tracks/${data.trackId}`)\n .then(response => response.json())\n .then(track => {\n this.playTrack(track);\n })\n .catch(error => {\n console.error('Error fetching party track:', error);\n });\n }\n }\n\n // Sync playback position with some tolerance (2 seconds)\n if (Math.abs(state.currentTime - data.position) > 2) {\n this.seek(data.position);\n }\n\n // Sync play/pause state\n if (state.isPlaying !== data.isPlaying) {\n this.togglePlay();\n }\n\n // Reset sync flag after a short delay\n setTimeout(() => {\n state.syncInProgress = false;\n }, 1000);\n },\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"player.js","sources":["../../../../../../src/modules/music/store/player.js"],"sourcesContent":["// store/player.js\nimport wsManager from '@martyrs/src/modules/core/views/classes/ws.manager.js';\nimport { reactive } from 'vue';\n\n// State\nexport const state = reactive({\n currentTrack: null,\n queue: [],\n isPlaying: false,\n volume: 0.7,\n muted: false,\n currentTime: 0,\n duration: 0,\n repeat: 'none', // 'none', 'all', 'one'\n shuffle: false,\n initialQueue: [], // To keep original order when shuffle is toggled\n audioElement: null,\n audioContext: null,\n listeningPartyId: null,\n syncInProgress: false,\n});\n\n// Actions\nexport const actions = {\n initializeAudio() {\n if (typeof window !== 'undefined') {\n if (!state.audioElement) {\n state.audioElement = new Audio();\n state.audioElement.volume = state.volume;\n\n // Set up audio context if available\n try {\n const AudioContext = window.AudioContext || window.webkitAudioContext;\n if (AudioContext) {\n state.audioContext = new AudioContext();\n }\n } catch (e) {\n console.error('AudioContext not supported', e);\n }\n\n // Add event listeners\n state.audioElement.addEventListener('timeupdate', () => {\n state.currentTime = state.audioElement.currentTime;\n\n // Sync playback with listening party every 5 seconds\n if (state.listeningPartyId && !state.syncInProgress && state.isPlaying && state.currentTime % 5 < 0.1) {\n this.syncPartyPlayback();\n }\n });\n\n state.audioElement.addEventListener('loadedmetadata', () => {\n state.duration = state.audioElement.duration;\n });\n\n state.audioElement.addEventListener('ended', () => {\n this.playNext();\n });\n\n state.audioElement.addEventListener('play', () => {\n state.isPlaying = true;\n });\n\n state.audioElement.addEventListener('pause', () => {\n state.isPlaying = false;\n });\n }\n }\n },\n\n async playTrack(track) {\n if (!state.audioElement) {\n this.initializeAudio();\n }\n\n // If track is already playing, just toggle play/pause\n if (state.currentTrack && state.currentTrack._id === track._id) {\n return this.togglePlay();\n }\n\n // Set the current track\n state.currentTrack = track;\n\n // Generate stream URL\n const streamUrl = `${process.env.API_URL}/api/stream/${track._id}`;\n\n // Set up audio element\n state.audioElement.src = streamUrl;\n state.audioElement.load();\n const playPromise = state.audioElement.play();\n\n // Handle autoplay restrictions\n if (playPromise !== undefined) {\n playPromise.catch(error => {\n console.error('Autoplay prevented:', error);\n state.isPlaying = false;\n });\n }\n\n // Log play via WebSocket if connected\n console.log('Player: Attempting to log play event for track:', track._id);\n console.log('Player: WebSocket connected?', wsManager.isSocketConnected());\n \n if (wsManager.isSocketConnected()) {\n console.log('Player: Sending startPlaying event via WebSocket');\n wsManager.send({\n module: 'music-streaming',\n action: 'startPlaying',\n data: {\n trackId: track._id,\n from: 'player',\n deviceInfo: navigator.userAgent,\n },\n });\n } else {\n console.log('Player: WebSocket not connected, play count will not be incremented');\n }\n },\n\n togglePlay() {\n if (!state.currentTrack || !state.audioElement) return;\n\n if (state.isPlaying) {\n state.audioElement.pause();\n } else {\n state.audioElement.play().catch(error => {\n console.error('Play failed:', error);\n });\n }\n\n state.isPlaying = !state.isPlaying;\n\n // Sync with listening party if active\n if (state.listeningPartyId) {\n this.syncPartyPlayback();\n }\n },\n\n setVolume(volume) {\n state.volume = volume;\n if (state.audioElement) {\n state.audioElement.volume = volume;\n }\n },\n\n toggleMute() {\n state.muted = !state.muted;\n if (state.audioElement) {\n state.audioElement.muted = state.muted;\n }\n },\n\n seek(time) {\n if (state.audioElement) {\n state.audioElement.currentTime = time;\n state.currentTime = time;\n\n // Sync with listening party if active\n if (state.listeningPartyId) {\n this.syncPartyPlayback();\n }\n }\n },\n\n // Queue management\n setQueue(tracks, startIndex = 0) {\n state.queue = [...tracks];\n state.initialQueue = [...tracks];\n\n if (startIndex > 0 && startIndex < tracks.length) {\n // Rearrange queue to start from the selected track\n const tracksToPlay = state.queue.splice(startIndex);\n state.queue = [...tracksToPlay, ...state.queue];\n }\n\n // If shuffle is on, randomize the queue except the first track\n if (state.shuffle && state.queue.length > 1) {\n const firstTrack = state.queue[0];\n const remainingTracks = state.queue.slice(1);\n this.shuffleArray(remainingTracks);\n state.queue = [firstTrack, ...remainingTracks];\n }\n\n // Start playing the first track in queue\n if (state.queue.length > 0) {\n this.playTrack(state.queue[0]);\n }\n },\n\n addToQueue(track) {\n state.queue.push(track);\n state.initialQueue.push(track);\n\n // If nothing is playing, start this track\n if (!state.currentTrack) {\n this.playTrack(track);\n }\n },\n\n removeFromQueue(index) {\n if (index >= 0 && index < state.queue.length) {\n state.queue.splice(index, 1);\n }\n },\n\n clearQueue() {\n state.queue = [];\n state.initialQueue = [];\n\n if (state.audioElement) {\n state.audioElement.pause();\n state.audioElement.src = '';\n }\n\n state.currentTrack = null;\n state.isPlaying = false;\n },\n\n playNext() {\n if (state.queue.length <= 1) {\n // Only one track or empty queue\n if (state.repeat === 'one' || state.repeat === 'all') {\n // Replay the current track\n this.seek(0);\n state.audioElement.play().catch(e => console.error(e));\n } else {\n // Stop playback\n state.isPlaying = false;\n }\n return;\n }\n\n if (state.repeat !== 'one') {\n // Move to next track\n state.queue.shift(); // Remove current track from queue\n\n // If queue is empty after removing current track and repeat is on\n if (state.queue.length === 0 && state.repeat === 'all') {\n state.queue = [...state.initialQueue];\n }\n\n // Play the next track if available\n if (state.queue.length > 0) {\n this.playTrack(state.queue[0]);\n } else {\n state.currentTrack = null;\n state.isPlaying = false;\n }\n } else {\n // Repeat one - just seek to beginning\n this.seek(0);\n state.audioElement.play().catch(e => console.error(e));\n }\n },\n\n playPrevious() {\n // If we're more than 3 seconds into the track, restart it\n if (state.currentTime > 3) {\n this.seek(0);\n return;\n }\n\n // Otherwise go to previous track if we have history\n // Implementation depends on how track history is managed\n // For simplicity, let's just go back to the beginning of the current track\n this.seek(0);\n },\n\n toggleRepeat() {\n // Cycle through repeat modes: none -> all -> one -> none...\n if (state.repeat === 'none') {\n state.repeat = 'all';\n } else if (state.repeat === 'all') {\n state.repeat = 'one';\n } else {\n state.repeat = 'none';\n }\n },\n\n toggleShuffle() {\n state.shuffle = !state.shuffle;\n\n if (state.shuffle) {\n // Save the current track\n const currentTrack = state.queue[0];\n\n // Shuffle the rest of the queue\n const remainingTracks = state.queue.slice(1);\n this.shuffleArray(remainingTracks);\n\n // Reconstruct queue with current track at the front\n state.queue = [currentTrack, ...remainingTracks];\n } else {\n // Restore original order but keep current track at front\n if (state.currentTrack) {\n const currentTrackIndex = state.initialQueue.findIndex(track => track._id === state.currentTrack._id);\n\n if (currentTrackIndex !== -1) {\n const tracksToPlay = state.initialQueue.slice(currentTrackIndex);\n const previousTracks = state.initialQueue.slice(0, currentTrackIndex);\n state.queue = [...tracksToPlay, ...previousTracks];\n } else {\n state.queue = [...state.initialQueue];\n }\n } else {\n state.queue = [...state.initialQueue];\n }\n }\n },\n\n shuffleArray(array) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [array[i], array[j]] = [array[j], array[i]];\n }\n return array;\n },\n\n // Listening party features\n joinListeningParty(partyId) {\n state.listeningPartyId = partyId;\n\n if (wsManager.isSocketConnected()) {\n wsManager.send({\n module: 'music-streaming',\n action: 'joinListeningParty',\n data: { partyId },\n });\n\n // Set up event listener for party playback sync\n wsManager.addEventListener('partyPlaybackSync', this.handlePartySync.bind(this), {\n module: 'music-streaming',\n });\n }\n },\n\n leaveListeningParty() {\n state.listeningPartyId = null;\n\n // Remove event listener for party sync\n if (wsManager.isSocketConnected()) {\n wsManager.removeEventListener('partyPlaybackSync');\n }\n },\n\n syncPartyPlayback() {\n if (!state.listeningPartyId || !state.currentTrack || !wsManager.isSocketConnected()) {\n return;\n }\n\n wsManager.send({\n module: 'music-streaming',\n action: 'syncPartyPlayback',\n data: {\n trackId: state.currentTrack._id,\n position: state.currentTime,\n isPlaying: state.isPlaying,\n },\n });\n },\n\n handlePartySync(data) {\n if (!state.listeningPartyId) return;\n\n state.syncInProgress = true;\n\n // If different track is playing in the party\n if (data.trackId !== state.currentTrack?._id) {\n // Find track in queue or load it\n const trackInQueue = state.queue.find(track => track._id === data.trackId);\n\n if (trackInQueue) {\n this.playTrack(trackInQueue);\n } else {\n // Need to fetch the track from the API\n fetch(`${process.env.API_URL}/api/tracks/${data.trackId}`)\n .then(response => response.json())\n .then(track => {\n this.playTrack(track);\n })\n .catch(error => {\n console.error('Error fetching party track:', error);\n });\n }\n }\n\n // Sync playback position with some tolerance (2 seconds)\n if (Math.abs(state.currentTime - data.position) > 2) {\n this.seek(data.position);\n }\n\n // Sync play/pause state\n if (state.isPlaying !== data.isPlaying) {\n this.togglePlay();\n }\n\n // Reset sync flag after a short delay\n setTimeout(() => {\n state.syncInProgress = false;\n }, 1000);\n },\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import StoreManager from "../../core/views/classes/store.manager.js";
|
|
2
2
|
import { reactive } from "vue";
|
|
3
|
-
const playlistStore = new
|
|
3
|
+
const playlistStore = new StoreManager(`${process.env.API_URL}/api/playlists`);
|
|
4
4
|
const state = reactive({
|
|
5
5
|
playlists: [],
|
|
6
6
|
featuredPlaylists: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playlists.js","sources":["../../../../../../src/modules/music/store/playlists.js"],"sourcesContent":["// store/playlists.js\nimport Store from '@martyrs/src/modules/core/views/classes/core.store.js';\nimport { reactive } from 'vue';\n\n// Create store instance\nconst playlistStore = new Store(`${process.env.API_URL}/api/playlists`);\n\n// State\nexport const state = reactive({\n playlists: [],\n featuredPlaylists: [],\n userPlaylists: [],\n currentPlaylist: null,\n currentPlaylistTracks: [],\n isLoading: false,\n loadingFeatured: false,\n});\n\n// Actions\nexport const actions = {\n async fetchPlaylists(options = {}) {\n state.isLoading = true;\n try {\n const playlists = await playlistStore.read(options);\n state.playlists = playlists;\n return playlists;\n } catch (error) {\n console.error('Error fetching playlists:', error);\n return [];\n } finally {\n state.isLoading = false;\n }\n },\n\n async fetchFeaturedPlaylists(options = {}) {\n state.loadingFeatured = true;\n try {\n // Обрабатываем options от Feed компонента\n const queryOptions = {\n limit: options.limit || 10,\n isPublic: true,\n };\n \n // Добавляем дополнительные параметры если есть\n if (options.skip) queryOptions.skip = options.skip;\n if (options.search) queryOptions.search = options.search;\n if (options.sortParam) queryOptions.sortParam = options.sortParam;\n if (options.sortOrder) queryOptions.sortOrder = options.sortOrder;\n \n // Если указан featured=true, добавляем соответствующий фильтр\n if (options.featured) {\n queryOptions.status = 'featured';\n // Или можно использовать sortParam для featured плейлистов\n queryOptions.sortParam = queryOptions.sortParam || 'followers';\n queryOptions.sortOrder = queryOptions.sortOrder || 'desc';\n }\n\n const playlists = await playlistStore.read(queryOptions);\n state.featuredPlaylists = playlists;\n return playlists;\n } catch (error) {\n console.error('Error fetching featured playlists:', error);\n return [];\n } finally {\n state.loadingFeatured = false;\n }\n },\n\n async fetchPlaylistByUrl(url) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/url/${url}`);\n const playlist = await response.json();\n state.currentPlaylist = playlist;\n\n // Extract tracks from the playlist\n state.currentPlaylistTracks = playlist.tracks?.map(item => item.track) || [];\n\n return playlist;\n } catch (error) {\n console.error('Error fetching playlist by URL:', error);\n return null;\n }\n },\n\n async createPlaylist(playlistData) {\n try {\n const createdPlaylist = await playlistStore.create(playlistData);\n // Update local state\n state.playlists.unshift(createdPlaylist);\n state.userPlaylists.unshift(createdPlaylist);\n return createdPlaylist;\n } catch (error) {\n console.error('Error creating playlist:', error);\n throw error;\n }\n },\n\n async updatePlaylist(playlistData) {\n try {\n const updatedPlaylist = await playlistStore.update(playlistData);\n\n // Update local state\n const index = state.playlists.findIndex(p => p._id === updatedPlaylist._id);\n if (index !== -1) {\n state.playlists[index] = updatedPlaylist;\n }\n\n const userIndex = state.userPlaylists.findIndex(p => p._id === updatedPlaylist._id);\n if (userIndex !== -1) {\n state.userPlaylists[userIndex] = updatedPlaylist;\n }\n\n if (state.currentPlaylist && state.currentPlaylist._id === updatedPlaylist._id) {\n state.currentPlaylist = updatedPlaylist;\n }\n\n return updatedPlaylist;\n } catch (error) {\n console.error('Error updating playlist:', error);\n throw error;\n }\n },\n\n async deletePlaylist(playlistId) {\n try {\n await playlistStore.delete({ _id: playlistId });\n\n // Update local state\n state.playlists = state.playlists.filter(p => p._id !== playlistId);\n state.userPlaylists = state.userPlaylists.filter(p => p._id !== playlistId);\n\n if (state.currentPlaylist && state.currentPlaylist._id === playlistId) {\n state.currentPlaylist = null;\n state.currentPlaylistTracks = [];\n }\n\n return true;\n } catch (error) {\n console.error('Error deleting playlist:', error);\n throw error;\n }\n },\n\n async fetchUserPlaylists(userId) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/user/${userId || ''}`);\n const playlists = await response.json();\n state.userPlaylists = playlists;\n return playlists;\n } catch (error) {\n console.error('Error fetching user playlists:', error);\n return [];\n }\n },\n\n async addTrackToPlaylist(playlistId, trackId) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/${playlistId}/tracks/${trackId}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n const updatedPlaylist = await response.json();\n\n // Update local state\n if (state.currentPlaylist && state.currentPlaylist._id === playlistId) {\n state.currentPlaylist = updatedPlaylist;\n // Update tracks list\n const track = updatedPlaylist.tracks.find(item => item.track._id === trackId)?.track;\n if (track && !state.currentPlaylistTracks.some(t => t._id === trackId)) {\n state.currentPlaylistTracks.push(track);\n }\n }\n\n return updatedPlaylist;\n } catch (error) {\n console.error('Error adding track to playlist:', error);\n throw error;\n }\n },\n\n async removeTrackFromPlaylist(playlistId, trackId) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/${playlistId}/tracks/${trackId}`, {\n method: 'DELETE',\n });\n\n const updatedPlaylist = await response.json();\n\n // Update local state\n if (state.currentPlaylist && state.currentPlaylist._id === playlistId) {\n state.currentPlaylist = updatedPlaylist;\n state.currentPlaylistTracks = state.currentPlaylistTracks.filter(track => track._id !== trackId);\n }\n\n return updatedPlaylist;\n } catch (error) {\n console.error('Error removing track from playlist:', error);\n throw error;\n }\n },\n\n async addCollaborator(playlistId, userId) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/${playlistId}/collaborators/${userId}`, {\n method: 'POST',\n });\n\n const updatedPlaylist = await response.json();\n\n // Update local state\n if (state.currentPlaylist && state.currentPlaylist._id === playlistId) {\n state.currentPlaylist = updatedPlaylist;\n }\n\n return updatedPlaylist;\n } catch (error) {\n console.error('Error adding collaborator to playlist:', error);\n throw error;\n }\n },\n};\n"],"names":[],"mappings":";;AAKA,MAAM,gBAAgB,IAAI,MAAM,GAAG,QAAQ,IAAI,OAAO,gBAAgB;AAG1D,MAAC,QAAQ,SAAS;AAAA,EAC5B,WAAW,CAAA;AAAA,EACX,mBAAmB,CAAA;AAAA,EACnB,eAAe,CAAA;AAAA,EACf,iBAAiB;AAAA,EACjB,uBAAuB,CAAA;AAAA,EACvB,WAAW;AAAA,EACX,iBAAiB;AACnB,CAAC;AAGW,MAAC,UAAU;AAAA,EACrB,MAAM,eAAe,UAAU,IAAI;AACjC,UAAM,YAAY;AAClB,QAAI;AACF,YAAM,YAAY,MAAM,cAAc,KAAK,OAAO;AAClD,YAAM,YAAY;AAClB,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,6BAA6B,KAAK;AAChD,aAAO,CAAA;AAAA,IACT,UAAC;AACC,YAAM,YAAY;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,MAAM,uBAAuB,UAAU,IAAI;AACzC,UAAM,kBAAkB;AACxB,QAAI;AAEF,YAAM,eAAe;AAAA,QACnB,OAAO,QAAQ,SAAS;AAAA,QACxB,UAAU;AAAA,MAClB;AAGM,UAAI,QAAQ,KAAM,cAAa,OAAO,QAAQ;AAC9C,UAAI,QAAQ,OAAQ,cAAa,SAAS,QAAQ;AAClD,UAAI,QAAQ,UAAW,cAAa,YAAY,QAAQ;AACxD,UAAI,QAAQ,UAAW,cAAa,YAAY,QAAQ;AAGxD,UAAI,QAAQ,UAAU;AACpB,qBAAa,SAAS;AAEtB,qBAAa,YAAY,aAAa,aAAa;AACnD,qBAAa,YAAY,aAAa,aAAa;AAAA,MACrD;AAEA,YAAM,YAAY,MAAM,cAAc,KAAK,YAAY;AACvD,YAAM,oBAAoB;AAC1B,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,sCAAsC,KAAK;AACzD,aAAO,CAAA;AAAA,IACT,UAAC;AACC,YAAM,kBAAkB;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,MAAM,mBAAmB,KAAK;AAC5B,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,sBAAsB,GAAG,EAAE;AAC9E,YAAM,WAAW,MAAM,SAAS,KAAI;AACpC,YAAM,kBAAkB;AAGxB,YAAM,wBAAwB,SAAS,QAAQ,IAAI,UAAQ,KAAK,KAAK,KAAK,CAAA;AAE1E,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,mCAAmC,KAAK;AACtD,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,eAAe,cAAc;AACjC,QAAI;AACF,YAAM,kBAAkB,MAAM,cAAc,OAAO,YAAY;AAE/D,YAAM,UAAU,QAAQ,eAAe;AACvC,YAAM,cAAc,QAAQ,eAAe;AAC3C,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,4BAA4B,KAAK;AAC/C,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,eAAe,cAAc;AACjC,QAAI;AACF,YAAM,kBAAkB,MAAM,cAAc,OAAO,YAAY;AAG/D,YAAM,QAAQ,MAAM,UAAU,UAAU,OAAK,EAAE,QAAQ,gBAAgB,GAAG;AAC1E,UAAI,UAAU,IAAI;AAChB,cAAM,UAAU,KAAK,IAAI;AAAA,MAC3B;AAEA,YAAM,YAAY,MAAM,cAAc,UAAU,OAAK,EAAE,QAAQ,gBAAgB,GAAG;AAClF,UAAI,cAAc,IAAI;AACpB,cAAM,cAAc,SAAS,IAAI;AAAA,MACnC;AAEA,UAAI,MAAM,mBAAmB,MAAM,gBAAgB,QAAQ,gBAAgB,KAAK;AAC9E,cAAM,kBAAkB;AAAA,MAC1B;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,4BAA4B,KAAK;AAC/C,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,eAAe,YAAY;AAC/B,QAAI;AACF,YAAM,cAAc,OAAO,EAAE,KAAK,WAAU,CAAE;AAG9C,YAAM,YAAY,MAAM,UAAU,OAAO,OAAK,EAAE,QAAQ,UAAU;AAClE,YAAM,gBAAgB,MAAM,cAAc,OAAO,OAAK,EAAE,QAAQ,UAAU;AAE1E,UAAI,MAAM,mBAAmB,MAAM,gBAAgB,QAAQ,YAAY;AACrE,cAAM,kBAAkB;AACxB,cAAM,wBAAwB,CAAA;AAAA,MAChC;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,4BAA4B,KAAK;AAC/C,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,mBAAmB,QAAQ;AAC/B,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,uBAAuB,UAAU,EAAE,EAAE;AACxF,YAAM,YAAY,MAAM,SAAS,KAAI;AACrC,YAAM,gBAAgB;AACtB,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,kCAAkC,KAAK;AACrD,aAAO,CAAA;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,mBAAmB,YAAY,SAAS;AAC5C,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,kBAAkB,UAAU,WAAW,OAAO,IAAI;AAAA,QACnG,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,QAC1B;AAAA,MACA,CAAO;AAED,YAAM,kBAAkB,MAAM,SAAS,KAAI;AAG3C,UAAI,MAAM,mBAAmB,MAAM,gBAAgB,QAAQ,YAAY;AACrE,cAAM,kBAAkB;AAExB,cAAM,QAAQ,gBAAgB,OAAO,KAAK,UAAQ,KAAK,MAAM,QAAQ,OAAO,GAAG;AAC/E,YAAI,SAAS,CAAC,MAAM,sBAAsB,KAAK,OAAK,EAAE,QAAQ,OAAO,GAAG;AACtE,gBAAM,sBAAsB,KAAK,KAAK;AAAA,QACxC;AAAA,MACF;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,mCAAmC,KAAK;AACtD,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,wBAAwB,YAAY,SAAS;AACjD,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,kBAAkB,UAAU,WAAW,OAAO,IAAI;AAAA,QACnG,QAAQ;AAAA,MAChB,CAAO;AAED,YAAM,kBAAkB,MAAM,SAAS,KAAI;AAG3C,UAAI,MAAM,mBAAmB,MAAM,gBAAgB,QAAQ,YAAY;AACrE,cAAM,kBAAkB;AACxB,cAAM,wBAAwB,MAAM,sBAAsB,OAAO,WAAS,MAAM,QAAQ,OAAO;AAAA,MACjG;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,uCAAuC,KAAK;AAC1D,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,MAAM,gBAAgB,YAAY,QAAQ;AACxC,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,kBAAkB,UAAU,kBAAkB,MAAM,IAAI;AAAA,QACzG,QAAQ;AAAA,MAChB,CAAO;AAED,YAAM,kBAAkB,MAAM,SAAS,KAAI;AAG3C,UAAI,MAAM,mBAAmB,MAAM,gBAAgB,QAAQ,YAAY;AACrE,cAAM,kBAAkB;AAAA,MAC1B;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,0CAA0C,KAAK;AAC7D,YAAM;AAAA,IACR;AAAA,EACF;AACF;"}
|
|
1
|
+
{"version":3,"file":"playlists.js","sources":["../../../../../../src/modules/music/store/playlists.js"],"sourcesContent":["// store/playlists.js\nimport StoreManager from '@martyrs/src/modules/core/views/classes/store.manager.js';\nimport { reactive } from 'vue';\n\n// Create store instance\nconst playlistStore = new StoreManager(`${process.env.API_URL}/api/playlists`);\n\n// State\nexport const state = reactive({\n playlists: [],\n featuredPlaylists: [],\n userPlaylists: [],\n currentPlaylist: null,\n currentPlaylistTracks: [],\n isLoading: false,\n loadingFeatured: false,\n});\n\n// Actions\nexport const actions = {\n async fetchPlaylists(options = {}) {\n state.isLoading = true;\n try {\n const playlists = await playlistStore.read(options);\n state.playlists = playlists;\n return playlists;\n } catch (error) {\n console.error('Error fetching playlists:', error);\n return [];\n } finally {\n state.isLoading = false;\n }\n },\n\n async fetchFeaturedPlaylists(options = {}) {\n state.loadingFeatured = true;\n try {\n // Обрабатываем options от Feed компонента\n const queryOptions = {\n limit: options.limit || 10,\n isPublic: true,\n };\n \n // Добавляем дополнительные параметры если есть\n if (options.skip) queryOptions.skip = options.skip;\n if (options.search) queryOptions.search = options.search;\n if (options.sortParam) queryOptions.sortParam = options.sortParam;\n if (options.sortOrder) queryOptions.sortOrder = options.sortOrder;\n \n // Если указан featured=true, добавляем соответствующий фильтр\n if (options.featured) {\n queryOptions.status = 'featured';\n // Или можно использовать sortParam для featured плейлистов\n queryOptions.sortParam = queryOptions.sortParam || 'followers';\n queryOptions.sortOrder = queryOptions.sortOrder || 'desc';\n }\n\n const playlists = await playlistStore.read(queryOptions);\n state.featuredPlaylists = playlists;\n return playlists;\n } catch (error) {\n console.error('Error fetching featured playlists:', error);\n return [];\n } finally {\n state.loadingFeatured = false;\n }\n },\n\n async fetchPlaylistByUrl(url) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/url/${url}`);\n const playlist = await response.json();\n state.currentPlaylist = playlist;\n\n // Extract tracks from the playlist\n state.currentPlaylistTracks = playlist.tracks?.map(item => item.track) || [];\n\n return playlist;\n } catch (error) {\n console.error('Error fetching playlist by URL:', error);\n return null;\n }\n },\n\n async createPlaylist(playlistData) {\n try {\n const createdPlaylist = await playlistStore.create(playlistData);\n // Update local state\n state.playlists.unshift(createdPlaylist);\n state.userPlaylists.unshift(createdPlaylist);\n return createdPlaylist;\n } catch (error) {\n console.error('Error creating playlist:', error);\n throw error;\n }\n },\n\n async updatePlaylist(playlistData) {\n try {\n const updatedPlaylist = await playlistStore.update(playlistData);\n\n // Update local state\n const index = state.playlists.findIndex(p => p._id === updatedPlaylist._id);\n if (index !== -1) {\n state.playlists[index] = updatedPlaylist;\n }\n\n const userIndex = state.userPlaylists.findIndex(p => p._id === updatedPlaylist._id);\n if (userIndex !== -1) {\n state.userPlaylists[userIndex] = updatedPlaylist;\n }\n\n if (state.currentPlaylist && state.currentPlaylist._id === updatedPlaylist._id) {\n state.currentPlaylist = updatedPlaylist;\n }\n\n return updatedPlaylist;\n } catch (error) {\n console.error('Error updating playlist:', error);\n throw error;\n }\n },\n\n async deletePlaylist(playlistId) {\n try {\n await playlistStore.delete({ _id: playlistId });\n\n // Update local state\n state.playlists = state.playlists.filter(p => p._id !== playlistId);\n state.userPlaylists = state.userPlaylists.filter(p => p._id !== playlistId);\n\n if (state.currentPlaylist && state.currentPlaylist._id === playlistId) {\n state.currentPlaylist = null;\n state.currentPlaylistTracks = [];\n }\n\n return true;\n } catch (error) {\n console.error('Error deleting playlist:', error);\n throw error;\n }\n },\n\n async fetchUserPlaylists(userId) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/user/${userId || ''}`);\n const playlists = await response.json();\n state.userPlaylists = playlists;\n return playlists;\n } catch (error) {\n console.error('Error fetching user playlists:', error);\n return [];\n }\n },\n\n async addTrackToPlaylist(playlistId, trackId) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/${playlistId}/tracks/${trackId}`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n const updatedPlaylist = await response.json();\n\n // Update local state\n if (state.currentPlaylist && state.currentPlaylist._id === playlistId) {\n state.currentPlaylist = updatedPlaylist;\n // Update tracks list\n const track = updatedPlaylist.tracks.find(item => item.track._id === trackId)?.track;\n if (track && !state.currentPlaylistTracks.some(t => t._id === trackId)) {\n state.currentPlaylistTracks.push(track);\n }\n }\n\n return updatedPlaylist;\n } catch (error) {\n console.error('Error adding track to playlist:', error);\n throw error;\n }\n },\n\n async removeTrackFromPlaylist(playlistId, trackId) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/${playlistId}/tracks/${trackId}`, {\n method: 'DELETE',\n });\n\n const updatedPlaylist = await response.json();\n\n // Update local state\n if (state.currentPlaylist && state.currentPlaylist._id === playlistId) {\n state.currentPlaylist = updatedPlaylist;\n state.currentPlaylistTracks = state.currentPlaylistTracks.filter(track => track._id !== trackId);\n }\n\n return updatedPlaylist;\n } catch (error) {\n console.error('Error removing track from playlist:', error);\n throw error;\n }\n },\n\n async addCollaborator(playlistId, userId) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/playlists/${playlistId}/collaborators/${userId}`, {\n method: 'POST',\n });\n\n const updatedPlaylist = await response.json();\n\n // Update local state\n if (state.currentPlaylist && state.currentPlaylist._id === playlistId) {\n state.currentPlaylist = updatedPlaylist;\n }\n\n return updatedPlaylist;\n } catch (error) {\n console.error('Error adding collaborator to playlist:', error);\n throw error;\n }\n },\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import StoreManager from "../../core/views/classes/store.manager.js";
|
|
2
2
|
import { reactive } from "vue";
|
|
3
|
-
const trackStore = new
|
|
3
|
+
const trackStore = new StoreManager(`${process.env.API_URL}/api/tracks`);
|
|
4
4
|
const state = reactive({
|
|
5
5
|
tracks: [],
|
|
6
6
|
popular: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracks.js","sources":["../../../../../../src/modules/music/store/tracks.js"],"sourcesContent":["// store/tracks.js\nimport Store from '@martyrs/src/modules/core/views/classes/core.store.js';\nimport { reactive } from 'vue';\n\n// Create store instance\nconst trackStore = new Store(`${process.env.API_URL}/api/tracks`);\n\n// State\nexport const state = reactive({\n tracks: [],\n popular: [],\n recent: [],\n featured: [],\n userTracks: [],\n currentTrack: null,\n relatedTracks: [],\n isLoading: false,\n loadingPopular: false,\n loadingRecent: false,\n loadingFeatured: false,\n});\n\n// Actions\nexport const actions = {\n async fetchTracks(options = {}) {\n state.isLoading = true;\n try {\n const tracks = await trackStore.read(options);\n state.tracks = tracks;\n return tracks;\n } catch (error) {\n console.error('Error fetching tracks:', error);\n return [];\n } finally {\n state.isLoading = false;\n }\n },\n\n async fetchPopularTracks(options = {}) {\n state.loadingPopular = true;\n try {\n // Обрабатываем options от Feed компонента\n const queryParams = new URLSearchParams();\n queryParams.append('limit', options.limit || 10);\n \n if (options.skip) queryParams.append('skip', options.skip);\n if (options.search) queryParams.append('search', options.search);\n \n const response = await fetch(`${process.env.API_URL}/api/tracks/popular?${queryParams.toString()}`);\n const tracks = await response.json();\n state.popular = tracks;\n return tracks;\n } catch (error) {\n console.error('Error fetching popular tracks:', error);\n return [];\n } finally {\n state.loadingPopular = false;\n }\n },\n\n async fetchRecentTracks(limit = 10) {\n state.loadingRecent = true;\n try {\n const response = await fetch(`${process.env.API_URL}/api/tracks/recent?limit=${limit}`);\n const tracks = await response.json();\n state.recent = tracks;\n return tracks;\n } catch (error) {\n console.error('Error fetching recent tracks:', error);\n return [];\n } finally {\n state.loadingRecent = false;\n }\n },\n\n async fetchTracksByGenre(genreId, limit = 20) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/tracks/genre/${genreId}?limit=${limit}`);\n return await response.json();\n } catch (error) {\n console.error('Error fetching tracks by genre:', error);\n return [];\n }\n },\n\n async fetchTrackByUrl(url) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/tracks/url/${url}`);\n const track = await response.json();\n state.currentTrack = track;\n return track;\n } catch (error) {\n console.error('Error fetching track by URL:', error);\n return null;\n }\n },\n\n // Improved createTrack action with better error handling\n async createTrack(trackData) {\n console.log('Creating track with data:', trackData);\n\n // Validate required fields to prevent silent failures\n const requiredFields = ['title', 'artist', 'genre', 'fileUrl'];\n const missingFields = requiredFields.filter(field => !trackData[field]);\n\n if (missingFields.length > 0) {\n const error = new Error(`Missing required fields: ${missingFields.join(', ')}`);\n console.error(error);\n throw error;\n }\n\n // Ensure proper structure for owner and creator fields\n if (!trackData.owner || !trackData.owner.target || !trackData.owner.type) {\n console.error('Track data missing owner information');\n throw new Error('Owner information is required');\n }\n\n if (!trackData.creator || !trackData.creator.target || !trackData.creator.type) {\n console.error('Track data missing creator information');\n throw new Error('Creator information is required');\n }\n\n try {\n console.log('Calling API to create track...');\n\n // Check what API URL we're using\n console.log('API URL:', trackStore.apiUrl);\n\n // Use a timeout to detect hanging requests\n const timeoutPromise = new Promise((_, reject) => {\n setTimeout(() => reject(new Error('Request timed out after 15 seconds')), 15000);\n });\n\n // Race between the actual request and the timeout\n const createdTrack = await Promise.race([trackStore.create(trackData), timeoutPromise]);\n\n console.log('Track created successfully, server response:', createdTrack);\n\n // Check if the response is what we expect\n if (!createdTrack || !createdTrack._id) {\n console.error('API returned success but without expected track data:', createdTrack);\n throw new Error('Invalid response from server');\n }\n\n // Update local state\n state.tracks.unshift(createdTrack);\n state.userTracks.unshift(createdTrack);\n\n console.log('Local state updated with new track');\n return createdTrack;\n } catch (error) {\n console.error('Error creating track:', error);\n\n // Enhanced error logging\n if (error.response) {\n console.error('Error response:', error.response);\n }\n\n // Format the error for better user feedback\n const formattedError = new Error(error.message || 'Failed to create track. Please try again.');\n formattedError.originalError = error;\n\n // Set a global error\n setError({\n message: formattedError.message,\n errorCode: error.errorCode || 'TRACK_CREATE_FAILED',\n });\n\n throw formattedError;\n }\n },\n\n async updateTrack(trackData) {\n try {\n const updatedTrack = await trackStore.update(trackData);\n\n // Update local state\n const index = state.tracks.findIndex(t => t._id === updatedTrack._id);\n if (index !== -1) {\n state.tracks[index] = updatedTrack;\n }\n\n const userIndex = state.userTracks.findIndex(t => t._id === updatedTrack._id);\n if (userIndex !== -1) {\n state.userTracks[userIndex] = updatedTrack;\n }\n\n if (state.currentTrack && state.currentTrack._id === updatedTrack._id) {\n state.currentTrack = updatedTrack;\n }\n\n return updatedTrack;\n } catch (error) {\n console.error('Error updating track:', error);\n throw error;\n }\n },\n\n async deleteTrack(trackId) {\n try {\n await trackStore.delete({ _id: trackId });\n\n // Update local state\n state.tracks = state.tracks.filter(t => t._id !== trackId);\n state.userTracks = state.userTracks.filter(t => t._id !== trackId);\n\n if (state.currentTrack && state.currentTrack._id === trackId) {\n state.currentTrack = null;\n }\n\n return true;\n } catch (error) {\n console.error('Error deleting track:', error);\n throw error;\n }\n },\n\n async fetchUserTracks(userId) {\n try {\n const options = {\n creator: userId,\n limit: 100,\n };\n console.log('fetchUserTracks', userId);\n const tracks = await trackStore.read(options);\n state.userTracks = tracks;\n return tracks;\n } catch (error) {\n console.error('Error fetching user tracks:', error);\n return [];\n }\n },\n\n async fetchRelatedTracks(trackUrl) {\n try {\n // Если есть currentTrack, ищем треки того же артиста\n if (state.currentTrack && state.currentTrack.artist) {\n const artistId = typeof state.currentTrack.artist === 'object' \n ? state.currentTrack.artist._id \n : state.currentTrack.artist;\n \n const queryParams = new URLSearchParams();\n queryParams.append('artist', artistId);\n queryParams.append('limit', '5');\n \n const response = await fetch(`${process.env.API_URL}/api/tracks/read?${queryParams.toString()}`);\n const tracks = await response.json();\n \n // Исключаем текущий трек\n const relatedTracks = tracks.filter(track => track._id !== state.currentTrack._id);\n state.relatedTracks = relatedTracks;\n return relatedTracks;\n }\n \n state.relatedTracks = [];\n return [];\n } catch (error) {\n console.error('Error fetching related tracks:', error);\n state.relatedTracks = [];\n return [];\n }\n },\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tracks.js","sources":["../../../../../../src/modules/music/store/tracks.js"],"sourcesContent":["// store/tracks.js\nimport StoreManager from '@martyrs/src/modules/core/views/classes/store.manager.js';\nimport { reactive } from 'vue';\n\n// Create store instance\nconst trackStore = new StoreManager(`${process.env.API_URL}/api/tracks`);\n\n// State\nexport const state = reactive({\n tracks: [],\n popular: [],\n recent: [],\n featured: [],\n userTracks: [],\n currentTrack: null,\n relatedTracks: [],\n isLoading: false,\n loadingPopular: false,\n loadingRecent: false,\n loadingFeatured: false,\n});\n\n// Actions\nexport const actions = {\n async fetchTracks(options = {}) {\n state.isLoading = true;\n try {\n const tracks = await trackStore.read(options);\n state.tracks = tracks;\n return tracks;\n } catch (error) {\n console.error('Error fetching tracks:', error);\n return [];\n } finally {\n state.isLoading = false;\n }\n },\n\n async fetchPopularTracks(options = {}) {\n state.loadingPopular = true;\n try {\n // Обрабатываем options от Feed компонента\n const queryParams = new URLSearchParams();\n queryParams.append('limit', options.limit || 10);\n \n if (options.skip) queryParams.append('skip', options.skip);\n if (options.search) queryParams.append('search', options.search);\n \n const response = await fetch(`${process.env.API_URL}/api/tracks/popular?${queryParams.toString()}`);\n const tracks = await response.json();\n state.popular = tracks;\n return tracks;\n } catch (error) {\n console.error('Error fetching popular tracks:', error);\n return [];\n } finally {\n state.loadingPopular = false;\n }\n },\n\n async fetchRecentTracks(limit = 10) {\n state.loadingRecent = true;\n try {\n const response = await fetch(`${process.env.API_URL}/api/tracks/recent?limit=${limit}`);\n const tracks = await response.json();\n state.recent = tracks;\n return tracks;\n } catch (error) {\n console.error('Error fetching recent tracks:', error);\n return [];\n } finally {\n state.loadingRecent = false;\n }\n },\n\n async fetchTracksByGenre(genreId, limit = 20) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/tracks/genre/${genreId}?limit=${limit}`);\n return await response.json();\n } catch (error) {\n console.error('Error fetching tracks by genre:', error);\n return [];\n }\n },\n\n async fetchTrackByUrl(url) {\n try {\n const response = await fetch(`${process.env.API_URL}/api/tracks/url/${url}`);\n const track = await response.json();\n state.currentTrack = track;\n return track;\n } catch (error) {\n console.error('Error fetching track by URL:', error);\n return null;\n }\n },\n\n // Improved createTrack action with better error handling\n async createTrack(trackData) {\n console.log('Creating track with data:', trackData);\n\n // Validate required fields to prevent silent failures\n const requiredFields = ['title', 'artist', 'genre', 'fileUrl'];\n const missingFields = requiredFields.filter(field => !trackData[field]);\n\n if (missingFields.length > 0) {\n const error = new Error(`Missing required fields: ${missingFields.join(', ')}`);\n console.error(error);\n throw error;\n }\n\n // Ensure proper structure for owner and creator fields\n if (!trackData.owner || !trackData.owner.target || !trackData.owner.type) {\n console.error('Track data missing owner information');\n throw new Error('Owner information is required');\n }\n\n if (!trackData.creator || !trackData.creator.target || !trackData.creator.type) {\n console.error('Track data missing creator information');\n throw new Error('Creator information is required');\n }\n\n try {\n console.log('Calling API to create track...');\n\n // Check what API URL we're using\n console.log('API URL:', trackStore.apiUrl);\n\n // Use a timeout to detect hanging requests\n const timeoutPromise = new Promise((_, reject) => {\n setTimeout(() => reject(new Error('Request timed out after 15 seconds')), 15000);\n });\n\n // Race between the actual request and the timeout\n const createdTrack = await Promise.race([trackStore.create(trackData), timeoutPromise]);\n\n console.log('Track created successfully, server response:', createdTrack);\n\n // Check if the response is what we expect\n if (!createdTrack || !createdTrack._id) {\n console.error('API returned success but without expected track data:', createdTrack);\n throw new Error('Invalid response from server');\n }\n\n // Update local state\n state.tracks.unshift(createdTrack);\n state.userTracks.unshift(createdTrack);\n\n console.log('Local state updated with new track');\n return createdTrack;\n } catch (error) {\n console.error('Error creating track:', error);\n\n // Enhanced error logging\n if (error.response) {\n console.error('Error response:', error.response);\n }\n\n // Format the error for better user feedback\n const formattedError = new Error(error.message || 'Failed to create track. Please try again.');\n formattedError.originalError = error;\n\n // Set a global error\n setError({\n message: formattedError.message,\n errorCode: error.errorCode || 'TRACK_CREATE_FAILED',\n });\n\n throw formattedError;\n }\n },\n\n async updateTrack(trackData) {\n try {\n const updatedTrack = await trackStore.update(trackData);\n\n // Update local state\n const index = state.tracks.findIndex(t => t._id === updatedTrack._id);\n if (index !== -1) {\n state.tracks[index] = updatedTrack;\n }\n\n const userIndex = state.userTracks.findIndex(t => t._id === updatedTrack._id);\n if (userIndex !== -1) {\n state.userTracks[userIndex] = updatedTrack;\n }\n\n if (state.currentTrack && state.currentTrack._id === updatedTrack._id) {\n state.currentTrack = updatedTrack;\n }\n\n return updatedTrack;\n } catch (error) {\n console.error('Error updating track:', error);\n throw error;\n }\n },\n\n async deleteTrack(trackId) {\n try {\n await trackStore.delete({ _id: trackId });\n\n // Update local state\n state.tracks = state.tracks.filter(t => t._id !== trackId);\n state.userTracks = state.userTracks.filter(t => t._id !== trackId);\n\n if (state.currentTrack && state.currentTrack._id === trackId) {\n state.currentTrack = null;\n }\n\n return true;\n } catch (error) {\n console.error('Error deleting track:', error);\n throw error;\n }\n },\n\n async fetchUserTracks(userId) {\n try {\n const options = {\n creator: userId,\n limit: 100,\n };\n console.log('fetchUserTracks', userId);\n const tracks = await trackStore.read(options);\n state.userTracks = tracks;\n return tracks;\n } catch (error) {\n console.error('Error fetching user tracks:', error);\n return [];\n }\n },\n\n async fetchRelatedTracks(trackUrl) {\n try {\n // Если есть currentTrack, ищем треки того же артиста\n if (state.currentTrack && state.currentTrack.artist) {\n const artistId = typeof state.currentTrack.artist === 'object' \n ? state.currentTrack.artist._id \n : state.currentTrack.artist;\n \n const queryParams = new URLSearchParams();\n queryParams.append('artist', artistId);\n queryParams.append('limit', '5');\n \n const response = await fetch(`${process.env.API_URL}/api/tracks/read?${queryParams.toString()}`);\n const tracks = await response.json();\n \n // Исключаем текущий трек\n const relatedTracks = tracks.filter(track => track._id !== state.currentTrack._id);\n state.relatedTracks = relatedTracks;\n return relatedTracks;\n }\n \n state.relatedTracks = [];\n return [];\n } catch (error) {\n console.error('Error fetching related tracks:', error);\n state.relatedTracks = [];\n return [];\n }\n },\n};\n"],"names":[],"mappings":"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"}
|
package/dist/martyrs/src/modules/notifications/components/layouts/NotificationsLayout.vue.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { inject, computed, ref, onMounted, onUnmounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, createTextVNode } from "vue";
|
|
2
|
-
import
|
|
2
|
+
import { wsManager } from "../../../core/views/classes/ws.manager.js";
|
|
3
3
|
const _hoisted_1 = { class: "notifications-layout" };
|
|
4
4
|
const _hoisted_2 = { class: "" };
|
|
5
5
|
const _hoisted_3 = {
|
|
@@ -11,24 +11,24 @@ const _sfc_main = {
|
|
|
11
11
|
setup(__props) {
|
|
12
12
|
const store = inject("store");
|
|
13
13
|
const notificationManager = computed(() => store.notificationManager || null);
|
|
14
|
-
const wsConnected = ref(
|
|
14
|
+
const wsConnected = ref(wsManager.isConnected);
|
|
15
15
|
const openListenerId = ref(null);
|
|
16
16
|
const closeListenerId = ref(null);
|
|
17
17
|
onMounted(() => {
|
|
18
|
-
openListenerId.value =
|
|
18
|
+
openListenerId.value = wsManager.addEventListener("open", () => {
|
|
19
19
|
wsConnected.value = true;
|
|
20
20
|
});
|
|
21
|
-
closeListenerId.value =
|
|
21
|
+
closeListenerId.value = wsManager.addEventListener("close", () => {
|
|
22
22
|
wsConnected.value = false;
|
|
23
23
|
});
|
|
24
|
-
wsConnected.value =
|
|
24
|
+
wsConnected.value = wsManager.isConnected;
|
|
25
25
|
});
|
|
26
26
|
onUnmounted(() => {
|
|
27
27
|
if (openListenerId.value) {
|
|
28
|
-
|
|
28
|
+
wsManager.removeEventListener("open", openListenerId.value);
|
|
29
29
|
}
|
|
30
30
|
if (closeListenerId.value) {
|
|
31
|
-
|
|
31
|
+
wsManager.removeEventListener("close", closeListenerId.value);
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
const reconnect = () => {
|
package/dist/martyrs/src/modules/notifications/components/layouts/NotificationsLayout.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationsLayout.vue.js","sources":["../../../../../../../src/modules/notifications/components/layouts/NotificationsLayout.vue"],"sourcesContent":["<template>\n <div class=\"notifications-layout\">\n <div class=\"\">\n <router-view></router-view>\n </div>\n \n <div v-if=\"!wsConnected\" class=\"connection-status\">\n <div class=\"connection-warning\">\n <span class=\"warning-icon\">⚠️</span>\n <span class=\"warning-text\">\n Notification service disconnected. \n <button @click=\"reconnect\" class=\"reconnect-btn\">Reconnect</button>\n </span>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed, inject, ref, onMounted, onUnmounted } from 'vue';\nimport
|
|
1
|
+
{"version":3,"file":"NotificationsLayout.vue.js","sources":["../../../../../../../src/modules/notifications/components/layouts/NotificationsLayout.vue"],"sourcesContent":["<template>\n <div class=\"notifications-layout\">\n <div class=\"\">\n <router-view></router-view>\n </div>\n \n <div v-if=\"!wsConnected\" class=\"connection-status\">\n <div class=\"connection-warning\">\n <span class=\"warning-icon\">⚠️</span>\n <span class=\"warning-text\">\n Notification service disconnected. \n <button @click=\"reconnect\" class=\"reconnect-btn\">Reconnect</button>\n </span>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed, inject, ref, onMounted, onUnmounted } from 'vue';\nimport wsManager from '@martyrs/src/modules/core/views/classes/ws.manager.js';\n\n// Get notification manager from store\nconst store = inject('store');\n\nconst notificationManager = computed(() => store.notificationManager || null);\n\n// Реактивное состояние WebSocket\nconst wsConnected = ref(wsManager.isConnected);\n\n// ID слушателей для очистки\nconst openListenerId = ref(null);\nconst closeListenerId = ref(null);\n\nonMounted(() => {\n // Подписываемся на события WebSocket\n openListenerId.value = wsManager.addEventListener('open', () => {\n wsConnected.value = true;\n });\n \n closeListenerId.value = wsManager.addEventListener('close', () => {\n wsConnected.value = false;\n });\n \n // Устанавливаем начальное состояние\n wsConnected.value = wsManager.isConnected;\n});\n\nonUnmounted(() => {\n // Очищаем слушатели\n if (openListenerId.value) {\n wsManager.removeEventListener('open', openListenerId.value);\n }\n if (closeListenerId.value) {\n wsManager.removeEventListener('close', closeListenerId.value);\n }\n});\n\n\n// Methods\nconst reconnect = () => {\n if (notificationManager.value) {\n notificationManager.value.initialize();\n }\n};\n</script>\n\n<style scoped>\n</style>"],"names":[],"mappings":";;;;;;;;;;;AAuBA,UAAM,QAAQ,OAAO,OAAO;AAE5B,UAAM,sBAAsB,SAAS,MAAM,MAAM,uBAAuB,IAAI;AAG5E,UAAM,cAAc,IAAI,UAAU,WAAW;AAG7C,UAAM,iBAAiB,IAAI,IAAI;AAC/B,UAAM,kBAAkB,IAAI,IAAI;AAEhC,cAAU,MAAM;AAEd,qBAAe,QAAQ,UAAU,iBAAiB,QAAQ,MAAM;AAC9D,oBAAY,QAAQ;AAAA,MACtB,CAAC;AAED,sBAAgB,QAAQ,UAAU,iBAAiB,SAAS,MAAM;AAChE,oBAAY,QAAQ;AAAA,MACtB,CAAC;AAGD,kBAAY,QAAQ,UAAU;AAAA,IAChC,CAAC;AAED,gBAAY,MAAM;AAEhB,UAAI,eAAe,OAAO;AACxB,kBAAU,oBAAoB,QAAQ,eAAe,KAAK;AAAA,MAC5D;AACA,UAAI,gBAAgB,OAAO;AACzB,kBAAU,oBAAoB,SAAS,gBAAgB,KAAK;AAAA,MAC9D;AAAA,IACF,CAAC;AAID,UAAM,YAAY,MAAM;AACtB,UAAI,oBAAoB,OAAO;AAC7B,4BAAoB,MAAM,WAAU;AAAA,MACtC;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject, ref, createElementBlock, openBlock, createVNode, createElementVNode, unref, createBlock, createCommentVNode } from "vue";
|
|
2
2
|
import { useRoute } from "vue-router";
|
|
3
|
-
import _sfc_main$1 from "../../../../components/Tab/Tab.
|
|
3
|
+
import _sfc_main$1 from "../../../../components/Tab/Tab.vue2.js";
|
|
4
4
|
import NotificationsList from "../sections/NotificationsList.vue.js";
|
|
5
5
|
import NotificationPreferences from "../sections/NotificationPreferences.vue.js";
|
|
6
6
|
const _hoisted_1 = { class: "notifications-page pd-small" };
|
|
@@ -2,7 +2,7 @@ import { watch, toRefs } from "vue";
|
|
|
2
2
|
import addRoutes from "../core/views/router/addRoutes.js";
|
|
3
3
|
import { getRoutes } from "./notifications.router.js";
|
|
4
4
|
import * as notifications_store from "./store/notifications.store.js";
|
|
5
|
-
import
|
|
5
|
+
import { wsManager } from "../core/views/classes/ws.manager.js";
|
|
6
6
|
import { Preferences } from "../../../node_modules/.pnpm/@capacitor_preferences@7.0.0_@capacitor_core@7.0.1/node_modules/@capacitor/preferences/dist/esm/index.js";
|
|
7
7
|
import _sfc_main from "./components/layouts/NotificationsLayout.vue.js";
|
|
8
8
|
import NotificationPreferences from "./components/sections/NotificationPreferences.vue.js";
|
|
@@ -10,6 +10,11 @@ import NotificationsList from "./components/sections/NotificationsList.vue.js";
|
|
|
10
10
|
import _sfc_main$1 from "./components/pages/Notifications.vue.js";
|
|
11
11
|
import NotificationItem from "./components/blocks/NotificationItem.vue.js";
|
|
12
12
|
import NotificationBadge from "./components/elements/NotificationBadge.vue.js";
|
|
13
|
+
performance.mark("loading-37-start");
|
|
14
|
+
console.log("[LOADING 37] Notifications module import started...");
|
|
15
|
+
performance.mark("loading-37-imports-end");
|
|
16
|
+
const importsTime = performance.measure("loading-37-imports", "loading-37-start", "loading-37-imports-end");
|
|
17
|
+
console.log(`[LOADING 37] All imports completed in ${importsTime.duration.toFixed(2)}ms`);
|
|
13
18
|
class CapacitorPushHandler {
|
|
14
19
|
constructor(store) {
|
|
15
20
|
this.store = store;
|
|
@@ -251,15 +256,15 @@ class NotificationManager {
|
|
|
251
256
|
const userId = this.store.core.state.session.userId;
|
|
252
257
|
if (userId) {
|
|
253
258
|
console.log("Connecting to websockets via notifications");
|
|
254
|
-
|
|
259
|
+
wsManager.initialize({
|
|
255
260
|
wsUrl: process.env.WSS_URL,
|
|
256
261
|
maxReconnectAttempts: 10,
|
|
257
262
|
reconnectDelay: 2e3
|
|
258
263
|
});
|
|
259
|
-
await
|
|
260
|
-
|
|
261
|
-
await
|
|
262
|
-
|
|
264
|
+
await wsManager.connect(userId);
|
|
265
|
+
wsManager.removeModuleListeners("notification");
|
|
266
|
+
await wsManager.subscribeModule("notification");
|
|
267
|
+
wsManager.addEventListener(
|
|
263
268
|
"notification",
|
|
264
269
|
(data) => {
|
|
265
270
|
this.store.notifications.actions.addLocalNotification(data.data);
|
|
@@ -278,7 +283,7 @@ class NotificationManager {
|
|
|
278
283
|
}
|
|
279
284
|
disconnect() {
|
|
280
285
|
if (this.isServer) return;
|
|
281
|
-
|
|
286
|
+
wsManager.removeModuleListeners("notification");
|
|
282
287
|
this.pushHandler.removeListeners();
|
|
283
288
|
this.initialized = false;
|
|
284
289
|
}
|
|
@@ -307,7 +312,7 @@ function initializeNotifications(app, store, router, options = {}) {
|
|
|
307
312
|
});
|
|
308
313
|
store.addStore("notifications", notifications_store);
|
|
309
314
|
if (options.wsUrl) {
|
|
310
|
-
|
|
315
|
+
wsManager.initialize({ wsUrl: process.env.WSS_URL });
|
|
311
316
|
}
|
|
312
317
|
const notificationManager = new NotificationManager(store, {
|
|
313
318
|
enablePush: options.enablePush !== false,
|
|
@@ -375,6 +380,10 @@ const ModuleNotifications = {
|
|
|
375
380
|
}
|
|
376
381
|
}
|
|
377
382
|
};
|
|
383
|
+
performance.mark("loading-37-end");
|
|
384
|
+
performance.measure("loading-37-total", "loading-37-start", "loading-37-end");
|
|
385
|
+
const totalTime = performance.getEntriesByName("loading-37-total")[0];
|
|
386
|
+
console.log(`[LOADING 37] Notifications module fully imported in ${totalTime?.duration?.toFixed(2)}ms`);
|
|
378
387
|
export {
|
|
379
388
|
NotificationBadge,
|
|
380
389
|
NotificationItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.client.js","sources":["../../../../../src/modules/notifications/notifications.client.js"],"sourcesContent":["import { toRefs, watch } from 'vue';\n// Router import\nimport addRoutes from '@martyrs/src/modules/core/views/router/addRoutes.js';\nimport { getRoutes } from './notifications.router.js';\n// Store\nimport * as storeNotifications from './store/notifications.store.js';\n// Global WebSocket import\nimport globalWebSocket from '@martyrs/src/modules/core/views/classes/core.websocket.js';\n// Capacitor Preferences\nimport { Preferences } from '@capacitor/preferences';\n// Layouts\nimport NotificationsLayout from './components/layouts/NotificationsLayout.vue';\n// Sections\nimport NotificationPreferences from './components/sections/NotificationPreferences.vue';\nimport NotificationsList from './components/sections/NotificationsList.vue';\n// Pages\nimport Notifications from './components/pages/Notifications.vue';\n// Components\nimport NotificationItem from './components/blocks/NotificationItem.vue';\nimport NotificationBadge from './components/elements/NotificationBadge.vue';\n\n/**\n * Capacitor Push Notification handler\n */\nclass CapacitorPushHandler {\n constructor(store) {\n this.store = store;\n this.pushNotifications = null;\n this.device = null;\n this.isInitialized = false;\n }\n\n /**\n * Initialize Capacitor plugins\n */\n async initialize() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n try {\n // Dynamic imports to prevent errors in web environment\n const { Capacitor } = await import('@capacitor/core');\n const { PushNotifications } = await import('@capacitor/push-notifications');\n const { Device } = await import('@capacitor/device');\n\n this.capacitor = Capacitor;\n this.pushNotifications = PushNotifications;\n this.device = Device;\n\n // Only proceed if running on a native platform\n if (!this.capacitor.isNativePlatform()) {\n return false;\n }\n\n this.isInitialized = true;\n return true;\n } catch (error) {\n console.error('Error importing Capacitor plugins:', error);\n return false;\n }\n }\n\n /**\n * Request permission and register for push notifications\n */\n async requestPermissions() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (!this.isInitialized) {\n const initialized = await this.initialize();\n if (!initialized) return false;\n }\n\n try {\n // Request permission\n const permissionResult = await this.pushNotifications.requestPermissions();\n if (permissionResult.receive !== 'granted') {\n console.log('Push notification permission denied');\n return false;\n }\n\n // Set up event listeners\n this._setupListeners();\n\n // Register with Apple/Google\n await this.pushNotifications.register();\n return true;\n } catch (error) {\n console.error('Error requesting push notification permissions:', error);\n return false;\n }\n }\n\n /**\n * Setup push notification event listeners\n */\n _setupListeners() {\n // Registration event\n this.pushNotifications.addListener('registration', this._handleRegistration.bind(this));\n\n // Notification received event\n this.pushNotifications.addListener('pushNotificationReceived', this._handleNotificationReceived.bind(this));\n\n // Notification action performed event\n this.pushNotifications.addListener('pushNotificationActionPerformed', this._handleNotificationAction.bind(this));\n }\n\n /**\n * Handle registration token received\n */\n async _handleRegistration(token) {\n try {\n // Get device info\n const deviceInfo = await this.device.getInfo();\n const deviceId = await this.device.getId();\n\n // Prepare device data\n const deviceData = {\n deviceId: deviceId.uuid,\n deviceType: deviceInfo.platform.toLowerCase(),\n deviceToken: token.value,\n };\n\n // Store device info for re-registration after login\n try {\n await Preferences.set({\n key: 'notifications_device_id',\n value: deviceId.uuid\n });\n await Preferences.set({\n key: 'notifications_device_token',\n value: token.value\n });\n await Preferences.set({\n key: 'notifications_device_type',\n value: deviceInfo.platform.toLowerCase()\n });\n } catch (error) {\n console.warn('Could not save device info to preferences:', error);\n }\n\n // For anonymous users, add anonymousId\n if (!this.store.core.state.session.userId) {\n let anonymousId = null;\n try {\n const result = await Preferences.get({ key: 'notifications_anonymous_id' });\n anonymousId = result.value;\n } catch (error) {\n console.warn('Could not get anonymous ID from preferences:', error);\n }\n \n if (!anonymousId) {\n anonymousId = 'anon_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n try {\n await Preferences.set({\n key: 'notifications_anonymous_id',\n value: anonymousId\n });\n } catch (error) {\n console.warn('Could not save anonymous ID to preferences:', error);\n }\n }\n deviceData.anonymousId = anonymousId;\n }\n\n // Register device with backend\n await this.store.notifications.actions.registerDevice(deviceData);\n } catch (error) {\n console.error('Error handling push registration:', error);\n }\n }\n\n /**\n * Handle received notification\n */\n _handleNotificationReceived(notification) {\n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n title: notification.title,\n body: notification.body,\n data: notification.data || {},\n });\n }\n\n /**\n * Handle notification action (when user taps on notification)\n */\n _handleNotificationAction(actionData) {\n if (actionData.notification && actionData.notification.data) {\n this.store.notifications.actions.handleNotificationAction(actionData.notification.data);\n }\n }\n\n /**\n * Remove push notification listeners\n */\n removeListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n\n if (this.pushNotifications) {\n this.pushNotifications.removeAllListeners();\n }\n }\n}\n\n/**\n * Notification Manager for coordinating WebSocket and Push notifications\n */\n\nclass NotificationManager {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.pushHandler = new CapacitorPushHandler(store);\n this.initialized = false;\n this.isServer = typeof window === 'undefined';\n }\n\n async registerWebPush(store) {\n if (!('Notification' in window) || !('serviceWorker' in navigator) || !('PushManager' in window)) {\n console.warn('Web Push не поддерживается в браузере');\n return;\n }\n\n const permission = await Notification.requestPermission();\n if (permission !== 'granted') {\n console.warn('Разрешение на уведомления не получено');\n return;\n }\n\n const registration = await navigator.serviceWorker.ready;\n const subscription = await registration.pushManager.subscribe({\n userVisibleOnly: true,\n applicationServerKey: 'BJtNnRrx05VQS0abnkHC-8gHJWpnmoqC_iQveENCmZOZIs-adWzqAiqFCdGVVd7CbiaLW-Q5iuIBDRgM9G-VnKg',\n });\n\n console.log('New subscription:', JSON.stringify(subscription));\n\n const deviceToken = JSON.stringify(subscription);\n const deviceId = await this.generateDeviceId();\n \n // Store device data for re-registration after login\n try {\n await Preferences.set({\n key: 'notifications_device_id',\n value: deviceId\n });\n await Preferences.set({\n key: 'notifications_device_token',\n value: deviceToken\n });\n await Preferences.set({\n key: 'notifications_device_type',\n value: 'web'\n });\n } catch (error) {\n console.warn('Could not save device info to preferences:', error);\n }\n\n const deviceData = {\n deviceToken,\n deviceType: 'web',\n deviceId\n };\n\n // For anonymous users, get or generate anonymousId\n if (!store.core.state.session.userId) {\n let anonymousId = null;\n try {\n const result = await Preferences.get({ key: 'notifications_anonymous_id' });\n anonymousId = result.value;\n } catch (error) {\n console.warn('Could not get anonymous ID from preferences:', error);\n }\n \n if (!anonymousId) {\n anonymousId = 'anon_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n try {\n await Preferences.set({\n key: 'notifications_anonymous_id',\n value: anonymousId\n });\n } catch (error) {\n console.warn('Could not save anonymous ID to preferences:', error);\n }\n }\n deviceData.anonymousId = anonymousId;\n }\n\n // Register device\n console.log('[Notifications] Registering device with data:', deviceData);\n await store.notifications.actions.registerDevice(deviceData);\n }\n\n async generateDeviceId() {\n // Try to get or generate a persistent device ID\n try {\n const result = await Preferences.get({ key: 'notifications_device_id' });\n let deviceId = result.value;\n \n if (!deviceId) {\n deviceId = 'web_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n await Preferences.set({\n key: 'notifications_device_id',\n value: deviceId\n });\n }\n return deviceId;\n } catch (error) {\n console.warn('Could not access preferences for device ID:', error);\n return 'web_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n }\n }\n\n async initialize() {\n if (this.initialized || this.isServer) return;\n\n const userId = this.store.core.state.session.userId;\n \n // Connect WebSocket only for authenticated users\n if (userId) {\n console.log('Connecting to websockets via notifications');\n globalWebSocket.initialize({\n wsUrl: process.env.WSS_URL,\n maxReconnectAttempts: 10,\n reconnectDelay: 2000,\n });\n\n await globalWebSocket.connect(userId);\n\n globalWebSocket.removeModuleListeners('notification');\n\n await globalWebSocket.subscribeModule('notification');\n\n globalWebSocket.addEventListener(\n 'notification',\n data => {\n this.store.notifications.actions.addLocalNotification(data.data);\n },\n { module: 'notification' }\n );\n\n // Load notifications from API for authenticated users\n await this.store.notifications.actions.getNotifications(userId);\n } else {\n console.log('Initializing notifications for anonymous user');\n }\n\n // Enable push notifications for both authenticated and anonymous users\n // Skip auto-init for mobile apps - will be triggered manually from Walkthrough\n if (this.options.enablePush !== false && !process.env.MOBILE_APP) {\n await this.pushHandler.requestPermissions();\n await this.registerWebPush(this.store);\n }\n\n this.initialized = true;\n }\n\n disconnect() {\n if (this.isServer) return;\n\n globalWebSocket.removeModuleListeners('notification');\n this.pushHandler.removeListeners();\n this.initialized = false;\n }\n}\n\n/**\n * Server-side utility for pre-fetching notification data\n */\nconst SSRUtils = {\n /**\n * Pre-fetch notifications for SSR\n * @param {Object} store - Store instance\n * @param {Object} context - SSR context\n */\n async prefetchNotifications(store, context) {\n try {\n const userId = store.core.state.session.userId;\n if (userId) {\n // Fetch notifications without WebSocket or push setup\n await store.notifications.actions.getNotifications(userId);\n }\n } catch (error) {\n console.error('Error pre-fetching notifications for SSR:', error);\n }\n },\n};\n\n/**\n * Function to initialize the notifications module\n * @param {Object} app - Vue app instance\n * @param {Object} store - Vuex/Pinia store\n * @param {Object} router - Vue Router instance\n * @param {Object} options - Configuration options\n */\nfunction initializeNotifications(app, store, router, options = {}) {\n // Add routes and store\n const routes = getRoutes(options);\n routes.forEach(({ parentName, config }) => {\n addRoutes(router, { ...config, parentName });\n });\n\n store.addStore('notifications', storeNotifications);\n\n // Initialize global WebSocket if needed\n if (options.wsUrl) {\n globalWebSocket.initialize({ wsUrl: process.env.WSS_URL });\n }\n\n // Create notification manager\n const notificationManager = new NotificationManager(store, {\n enablePush: options.enablePush !== false,\n maxReconnectAttempts: options.maxReconnectAttempts || 5,\n reconnectDelay: options.reconnectDelay || 3000,\n pingInterval: options.pingInterval || 30000,\n });\n\n // Attach notification manager to store for access in components\n store.notificationManager = notificationManager;\n\n // Don't auto-initialize on server\n const isServer = typeof window === 'undefined';\n const autoInit = !isServer && options.autoInit !== false;\n\n if (autoInit) {\n // Initialize immediately (supports both authenticated and anonymous users)\n notificationManager.initialize();\n\n // Watch for user login/logout using store.core.state.session\n watch(\n () => store.core.state.session.token,\n async (token, oldToken) => {\n const isAuthenticated = !!token;\n const wasAuthenticated = !!oldToken;\n\n if (isAuthenticated && !wasAuthenticated) {\n // Re-register device for authenticated user\n console.log('[Notifications] User logged in, re-registering device...');\n await store.notifications.actions.reregisterDeviceAfterLogin();\n // Reinitialize notifications for authenticated user\n notificationManager.disconnect();\n await notificationManager.initialize();\n } else if (!isAuthenticated && wasAuthenticated) {\n // Keep notifications active for anonymous users, just reset user-specific data\n console.log('[Notifications] User logged out, resetting notifications...');\n store.notifications.mutations.resetNotifications();\n }\n }\n );\n }\n\n // Provide composable for components to access notification functionality\n app.provide('useNotifications', () => {\n return {\n ...toRefs(store.notifications.state),\n ...store.notifications.actions,\n ...store.notifications.mutations,\n init: notificationManager.initialize.bind(notificationManager),\n disconnect: notificationManager.disconnect.bind(notificationManager),\n isServer,\n };\n });\n\n return notificationManager;\n}\n\n// Module export\nconst ModuleNotifications = {\n initialize: initializeNotifications,\n SSR: SSRUtils, // Export SSR utilities\n views: {\n store: {\n storeNotifications,\n },\n router: {\n getRoutes,\n },\n components: {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n },\n },\n};\n\n// Component exports\nexport {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n // Sections\n NotificationsList,\n // SSR Utilities\n SSRUtils,\n};\n\nexport default ModuleNotifications;\n"],"names":["storeNotifications","Notifications","NotificationsLayout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notifications.client.js","sources":["../../../../../src/modules/notifications/notifications.client.js"],"sourcesContent":["// [LOADING 37] Notifications module import started\nperformance.mark('loading-37-start');\nconsole.log('[LOADING 37] Notifications module import started...');\n\nimport { toRefs, watch } from 'vue';\n// Router import\nimport addRoutes from '@martyrs/src/modules/core/views/router/addRoutes.js';\nimport { getRoutes } from './notifications.router.js';\n// Store\nimport * as storeNotifications from './store/notifications.store.js';\n// Global WebSocket import\nimport wsManager from '@martyrs/src/modules/core/views/classes/ws.manager.js';\n// Capacitor Preferences\nimport { Preferences } from '@capacitor/preferences';\n// Layouts\nimport NotificationsLayout from './components/layouts/NotificationsLayout.vue';\n// Sections\nimport NotificationPreferences from './components/sections/NotificationPreferences.vue';\nimport NotificationsList from './components/sections/NotificationsList.vue';\n// Pages\nimport Notifications from './components/pages/Notifications.vue';\n// Components\nimport NotificationItem from './components/blocks/NotificationItem.vue';\nimport NotificationBadge from './components/elements/NotificationBadge.vue';\n\nperformance.mark('loading-37-imports-end');\nconst importsTime = performance.measure('loading-37-imports', 'loading-37-start', 'loading-37-imports-end');\nconsole.log(`[LOADING 37] All imports completed in ${importsTime.duration.toFixed(2)}ms`);\n\n/**\n * Capacitor Push Notification handler\n */\nclass CapacitorPushHandler {\n constructor(store) {\n this.store = store;\n this.pushNotifications = null;\n this.device = null;\n this.isInitialized = false;\n }\n\n /**\n * Initialize Capacitor plugins\n */\n async initialize() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n try {\n // Dynamic imports to prevent errors in web environment\n const { Capacitor } = await import('@capacitor/core');\n const { PushNotifications } = await import('@capacitor/push-notifications');\n const { Device } = await import('@capacitor/device');\n\n this.capacitor = Capacitor;\n this.pushNotifications = PushNotifications;\n this.device = Device;\n\n // Only proceed if running on a native platform\n if (!this.capacitor.isNativePlatform()) {\n return false;\n }\n\n this.isInitialized = true;\n return true;\n } catch (error) {\n console.error('Error importing Capacitor plugins:', error);\n return false;\n }\n }\n\n /**\n * Request permission and register for push notifications\n */\n async requestPermissions() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (!this.isInitialized) {\n const initialized = await this.initialize();\n if (!initialized) return false;\n }\n\n try {\n // Request permission\n const permissionResult = await this.pushNotifications.requestPermissions();\n if (permissionResult.receive !== 'granted') {\n console.log('Push notification permission denied');\n return false;\n }\n\n // Set up event listeners\n this._setupListeners();\n\n // Register with Apple/Google\n await this.pushNotifications.register();\n return true;\n } catch (error) {\n console.error('Error requesting push notification permissions:', error);\n return false;\n }\n }\n\n /**\n * Setup push notification event listeners\n */\n _setupListeners() {\n // Registration event\n this.pushNotifications.addListener('registration', this._handleRegistration.bind(this));\n\n // Notification received event\n this.pushNotifications.addListener('pushNotificationReceived', this._handleNotificationReceived.bind(this));\n\n // Notification action performed event\n this.pushNotifications.addListener('pushNotificationActionPerformed', this._handleNotificationAction.bind(this));\n }\n\n /**\n * Handle registration token received\n */\n async _handleRegistration(token) {\n try {\n // Get device info\n const deviceInfo = await this.device.getInfo();\n const deviceId = await this.device.getId();\n\n // Prepare device data\n const deviceData = {\n deviceId: deviceId.uuid,\n deviceType: deviceInfo.platform.toLowerCase(),\n deviceToken: token.value,\n };\n\n // Store device info for re-registration after login\n try {\n await Preferences.set({\n key: 'notifications_device_id',\n value: deviceId.uuid\n });\n await Preferences.set({\n key: 'notifications_device_token',\n value: token.value\n });\n await Preferences.set({\n key: 'notifications_device_type',\n value: deviceInfo.platform.toLowerCase()\n });\n } catch (error) {\n console.warn('Could not save device info to preferences:', error);\n }\n\n // For anonymous users, add anonymousId\n if (!this.store.core.state.session.userId) {\n let anonymousId = null;\n try {\n const result = await Preferences.get({ key: 'notifications_anonymous_id' });\n anonymousId = result.value;\n } catch (error) {\n console.warn('Could not get anonymous ID from preferences:', error);\n }\n \n if (!anonymousId) {\n anonymousId = 'anon_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n try {\n await Preferences.set({\n key: 'notifications_anonymous_id',\n value: anonymousId\n });\n } catch (error) {\n console.warn('Could not save anonymous ID to preferences:', error);\n }\n }\n deviceData.anonymousId = anonymousId;\n }\n\n // Register device with backend\n await this.store.notifications.actions.registerDevice(deviceData);\n } catch (error) {\n console.error('Error handling push registration:', error);\n }\n }\n\n /**\n * Handle received notification\n */\n _handleNotificationReceived(notification) {\n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n title: notification.title,\n body: notification.body,\n data: notification.data || {},\n });\n }\n\n /**\n * Handle notification action (when user taps on notification)\n */\n _handleNotificationAction(actionData) {\n if (actionData.notification && actionData.notification.data) {\n this.store.notifications.actions.handleNotificationAction(actionData.notification.data);\n }\n }\n\n /**\n * Remove push notification listeners\n */\n removeListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n\n if (this.pushNotifications) {\n this.pushNotifications.removeAllListeners();\n }\n }\n}\n\n/**\n * Notification Manager for coordinating WebSocket and Push notifications\n */\n\nclass NotificationManager {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.pushHandler = new CapacitorPushHandler(store);\n this.initialized = false;\n this.isServer = typeof window === 'undefined';\n }\n\n async registerWebPush(store) {\n if (!('Notification' in window) || !('serviceWorker' in navigator) || !('PushManager' in window)) {\n console.warn('Web Push не поддерживается в браузере');\n return;\n }\n\n const permission = await Notification.requestPermission();\n if (permission !== 'granted') {\n console.warn('Разрешение на уведомления не получено');\n return;\n }\n\n const registration = await navigator.serviceWorker.ready;\n const subscription = await registration.pushManager.subscribe({\n userVisibleOnly: true,\n applicationServerKey: 'BJtNnRrx05VQS0abnkHC-8gHJWpnmoqC_iQveENCmZOZIs-adWzqAiqFCdGVVd7CbiaLW-Q5iuIBDRgM9G-VnKg',\n });\n\n console.log('New subscription:', JSON.stringify(subscription));\n\n const deviceToken = JSON.stringify(subscription);\n const deviceId = await this.generateDeviceId();\n \n // Store device data for re-registration after login\n try {\n await Preferences.set({\n key: 'notifications_device_id',\n value: deviceId\n });\n await Preferences.set({\n key: 'notifications_device_token',\n value: deviceToken\n });\n await Preferences.set({\n key: 'notifications_device_type',\n value: 'web'\n });\n } catch (error) {\n console.warn('Could not save device info to preferences:', error);\n }\n\n const deviceData = {\n deviceToken,\n deviceType: 'web',\n deviceId\n };\n\n // For anonymous users, get or generate anonymousId\n if (!store.core.state.session.userId) {\n let anonymousId = null;\n try {\n const result = await Preferences.get({ key: 'notifications_anonymous_id' });\n anonymousId = result.value;\n } catch (error) {\n console.warn('Could not get anonymous ID from preferences:', error);\n }\n \n if (!anonymousId) {\n anonymousId = 'anon_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n try {\n await Preferences.set({\n key: 'notifications_anonymous_id',\n value: anonymousId\n });\n } catch (error) {\n console.warn('Could not save anonymous ID to preferences:', error);\n }\n }\n deviceData.anonymousId = anonymousId;\n }\n\n // Register device\n console.log('[Notifications] Registering device with data:', deviceData);\n await store.notifications.actions.registerDevice(deviceData);\n }\n\n async generateDeviceId() {\n // Try to get or generate a persistent device ID\n try {\n const result = await Preferences.get({ key: 'notifications_device_id' });\n let deviceId = result.value;\n \n if (!deviceId) {\n deviceId = 'web_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n await Preferences.set({\n key: 'notifications_device_id',\n value: deviceId\n });\n }\n return deviceId;\n } catch (error) {\n console.warn('Could not access preferences for device ID:', error);\n return 'web_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n }\n }\n\n async initialize() {\n if (this.initialized || this.isServer) return;\n\n const userId = this.store.core.state.session.userId;\n \n // Connect WebSocket only for authenticated users\n if (userId) {\n console.log('Connecting to websockets via notifications');\n wsManager.initialize({\n wsUrl: process.env.WSS_URL,\n maxReconnectAttempts: 10,\n reconnectDelay: 2000,\n });\n\n await wsManager.connect(userId);\n\n wsManager.removeModuleListeners('notification');\n\n await wsManager.subscribeModule('notification');\n\n wsManager.addEventListener(\n 'notification',\n data => {\n this.store.notifications.actions.addLocalNotification(data.data);\n },\n { module: 'notification' }\n );\n\n // Load notifications from API for authenticated users\n await this.store.notifications.actions.getNotifications(userId);\n } else {\n console.log('Initializing notifications for anonymous user');\n }\n\n // Enable push notifications for both authenticated and anonymous users\n // Skip auto-init for mobile apps - will be triggered manually from Walkthrough\n if (this.options.enablePush !== false && !process.env.MOBILE_APP) {\n await this.pushHandler.requestPermissions();\n await this.registerWebPush(this.store);\n }\n\n this.initialized = true;\n }\n\n disconnect() {\n if (this.isServer) return;\n\n wsManager.removeModuleListeners('notification');\n this.pushHandler.removeListeners();\n this.initialized = false;\n }\n}\n\n/**\n * Server-side utility for pre-fetching notification data\n */\nconst SSRUtils = {\n /**\n * Pre-fetch notifications for SSR\n * @param {Object} store - Store instance\n * @param {Object} context - SSR context\n */\n async prefetchNotifications(store, context) {\n try {\n const userId = store.core.state.session.userId;\n if (userId) {\n // Fetch notifications without WebSocket or push setup\n await store.notifications.actions.getNotifications(userId);\n }\n } catch (error) {\n console.error('Error pre-fetching notifications for SSR:', error);\n }\n },\n};\n\n/**\n * Function to initialize the notifications module\n * @param {Object} app - Vue app instance\n * @param {Object} store - Vuex/Pinia store\n * @param {Object} router - Vue Router instance\n * @param {Object} options - Configuration options\n */\nfunction initializeNotifications(app, store, router, options = {}) {\n // Add routes and store\n const routes = getRoutes(options);\n routes.forEach(({ parentName, config }) => {\n addRoutes(router, { ...config, parentName });\n });\n\n store.addStore('notifications', storeNotifications);\n\n // Initialize global WebSocket if needed\n if (options.wsUrl) {\n wsManager.initialize({ wsUrl: process.env.WSS_URL });\n }\n\n // Create notification manager\n const notificationManager = new NotificationManager(store, {\n enablePush: options.enablePush !== false,\n maxReconnectAttempts: options.maxReconnectAttempts || 5,\n reconnectDelay: options.reconnectDelay || 3000,\n pingInterval: options.pingInterval || 30000,\n });\n\n // Attach notification manager to store for access in components\n store.notificationManager = notificationManager;\n\n // Don't auto-initialize on server\n const isServer = typeof window === 'undefined';\n const autoInit = !isServer && options.autoInit !== false;\n\n if (autoInit) {\n // Initialize immediately (supports both authenticated and anonymous users)\n notificationManager.initialize();\n\n // Watch for user login/logout using store.core.state.session\n watch(\n () => store.core.state.session.token,\n async (token, oldToken) => {\n const isAuthenticated = !!token;\n const wasAuthenticated = !!oldToken;\n\n if (isAuthenticated && !wasAuthenticated) {\n // Re-register device for authenticated user\n console.log('[Notifications] User logged in, re-registering device...');\n await store.notifications.actions.reregisterDeviceAfterLogin();\n // Reinitialize notifications for authenticated user\n notificationManager.disconnect();\n await notificationManager.initialize();\n } else if (!isAuthenticated && wasAuthenticated) {\n // Keep notifications active for anonymous users, just reset user-specific data\n console.log('[Notifications] User logged out, resetting notifications...');\n store.notifications.mutations.resetNotifications();\n }\n }\n );\n }\n\n // Provide composable for components to access notification functionality\n app.provide('useNotifications', () => {\n return {\n ...toRefs(store.notifications.state),\n ...store.notifications.actions,\n ...store.notifications.mutations,\n init: notificationManager.initialize.bind(notificationManager),\n disconnect: notificationManager.disconnect.bind(notificationManager),\n isServer,\n };\n });\n\n return notificationManager;\n}\n\n// Module export\nconst ModuleNotifications = {\n initialize: initializeNotifications,\n SSR: SSRUtils, // Export SSR utilities\n views: {\n store: {\n storeNotifications,\n },\n router: {\n getRoutes,\n },\n components: {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n },\n },\n};\n\n// Component exports\nexport {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n // Sections\n NotificationsList,\n // SSR Utilities\n SSRUtils,\n};\n\n// [LOADING 37] Notifications module import completed\nperformance.mark('loading-37-end');\nperformance.measure('loading-37-total', 'loading-37-start', 'loading-37-end');\nconst totalTime = performance.getEntriesByName('loading-37-total')[0];\nconsole.log(`[LOADING 37] Notifications module fully imported in ${totalTime?.duration?.toFixed(2)}ms`);\n\nexport default ModuleNotifications;\n"],"names":["storeNotifications","Notifications","NotificationsLayout"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import _sfc_main$6 from "../../../icons/socials/twitter.vue.js";
|
|
|
9
9
|
import _sfc_main$5 from "../../../icons/socials/youtube.vue.js";
|
|
10
10
|
import _sfc_main$4 from "../../../icons/socials/linkedin.vue.js";
|
|
11
11
|
import _sfc_main$3 from "../../../icons/socials/whatsapp.vue.js";
|
|
12
|
-
import {
|
|
12
|
+
import { useStore } from "../../../core/views/store/core.store.js";
|
|
13
13
|
const _hoisted_1 = { class: "t-center" };
|
|
14
14
|
const _hoisted_2 = { class: "mn-b-medium" };
|
|
15
15
|
const _hoisted_3 = { class: "t-transp mn-b-medium" };
|
|
@@ -73,6 +73,7 @@ const _sfc_main = {
|
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
setup(__props) {
|
|
76
|
+
const store = useStore();
|
|
76
77
|
const props = __props;
|
|
77
78
|
const { t, tm } = useI18n({
|
|
78
79
|
useScope: "global"
|
|
@@ -97,11 +98,11 @@ const _sfc_main = {
|
|
|
97
98
|
}
|
|
98
99
|
async function sendApplication() {
|
|
99
100
|
if (!email.value || !email.value.trim()) {
|
|
100
|
-
setError({ message: t("validation.email.required") || "Email is required" });
|
|
101
|
+
store.core.setError({ message: t("validation.email.required") || "Email is required" });
|
|
101
102
|
return Promise.reject(new Error("Email is required"));
|
|
102
103
|
}
|
|
103
104
|
if (!validateEmail(email.value.trim())) {
|
|
104
|
-
setError({ message: t("validation.email.invalid") || "Invalid email format" });
|
|
105
|
+
store.core.setError({ message: t("validation.email.invalid") || "Invalid email format" });
|
|
105
106
|
return Promise.reject(new Error("Invalid email format"));
|
|
106
107
|
}
|
|
107
108
|
gtag("event", "subscribe_newsletter", {
|
|
@@ -130,7 +131,7 @@ const _sfc_main = {
|
|
|
130
131
|
return Promise.resolve(result);
|
|
131
132
|
} catch (error) {
|
|
132
133
|
console.log(error);
|
|
133
|
-
setError(error);
|
|
134
|
+
store.core.setError(error);
|
|
134
135
|
return Promise.reject(error);
|
|
135
136
|
}
|
|
136
137
|
}
|
package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldSubscribeNewsletter.vue.js","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-regular\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-medium\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport
|
|
1
|
+
{"version":3,"file":"FieldSubscribeNewsletter.vue.js","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-regular\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-medium\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst store = useStore()\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n store.core.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n store.core.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n store.core.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ,SAAQ;AAEtB,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAK,QAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQ,IAAI,EAAE;AAClB,QAAI,qBAAqB,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUA;AAAAA,MACV,WAAWC;AAAAA,MACX,UAAUC;AAAAA,MACV,SAASC;AAAAA,MACT,SAASC;AAAAA,MACT,UAAUC;AAAAA,MACV,UAAUC;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvC,cAAM,KAAK,SAAS,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACtF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtC,cAAM,KAAK,SAAS,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACxF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjB,cAAM,KAAK,SAAS,KAAK;AACzB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,7 @@ import { mergeModels, useModel, ref, watch, createBlock, openBlock, withCtx, cre
|
|
|
2
2
|
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
3
3
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
4
4
|
import Select from "../../../../components/Select/Select.vue.js";
|
|
5
|
-
import _sfc_main$2 from "../../../../components/Button/Button.
|
|
5
|
+
import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
|
|
6
6
|
const _hoisted_1 = { class: "gap-thin flex mn-t-small" };
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
__name: "FormApplicationDetails",
|
|
@@ -3,7 +3,7 @@ import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
|
3
3
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
4
4
|
import _sfc_main$2 from "../../../../components/FieldPhone/FieldPhone.vue.js";
|
|
5
5
|
import Select from "../../../../components/Select/Select.vue.js";
|
|
6
|
-
import _sfc_main$3 from "../../../../components/Button/Button.
|
|
6
|
+
import _sfc_main$3 from "../../../../components/Button/Button.vue2.js";
|
|
7
7
|
const _hoisted_1 = { class: "gap-thin mn-b-thin flex-justify-between flex-nowrap flex" };
|
|
8
8
|
const _hoisted_2 = {
|
|
9
9
|
key: 2,
|