@ozdao/martyrs 0.2.527 → 0.2.528
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/builder.cjs +4 -4
- package/dist/builder.js +4 -4
- package/dist/{main-DFvn9trs.js → main-40cyU_8J.js} +361 -355
- package/dist/{main-BNqX4N59.cjs → main-sq8skoQM.cjs} +4 -4
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Feed/{Feed.vue2.cjs → Feed.vue.cjs} +3 -3
- package/dist/martyrs/src/components/Feed/{Feed.vue2.js.map → Feed.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Feed/{Feed.vue2.js → Feed.vue.js} +3 -3
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue2.cjs → Field.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Field/{Field.vue2.js.map → Field.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.cjs → BlockTags.vue.cjs} +2 -2
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.js.map → BlockTags.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.js → BlockTags.vue.js} +2 -2
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -0
- package/dist/martyrs/src/components/Media/Media.vue.cjs +20 -3
- package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +20 -3
- package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +11 -7
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +14 -10
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +12 -9
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +17 -14
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +12 -8
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +15 -11
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/globals.client.cjs +2 -0
- package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.js +2 -0
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +220 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +220 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -0
- package/dist/martyrs/src/modules/globals/views/classes/store.cjs +47 -49
- package/dist/martyrs/src/modules/globals/views/classes/store.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/store.js +48 -50
- package/dist/martyrs/src/modules/globals/views/classes/store.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +1 -6
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +1 -6
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +1 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +11 -8
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +12 -9
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +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.cjs +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.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +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.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +4 -4
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.cjs → THC.vue.cjs} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.js → THC.vue.js} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +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.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.cjs +198 -0
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.js +198 -0
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs +304 -0
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.js +305 -1
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs +31 -1
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js +33 -3
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js.map +1 -1
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.cjs +209 -0
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.js +209 -0
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.cjs +415 -0
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.js +415 -0
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.js.map +1 -1
- package/dist/style.css +5 -5
- package/dist/{web-xomD1Wpp.cjs → web-C68B9mpp.cjs} +1 -1
- package/dist/{web-cWW0_Tbe.js → web-HreCVhdf.js} +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.prod.js +2 -2
- package/src/builder/modes/ssr.rspack.dev.js +1 -1
- package/src/builder/modes/ssr.vite.dev.js +1 -1
- package/src/components/Media/Media.vue +22 -1
- package/src/modules/auth/views/components/pages/ResetPassword.vue +10 -5
- package/src/modules/auth/views/components/pages/SignIn.vue +10 -4
- package/src/modules/auth/views/components/pages/SignUp.vue +10 -6
- package/src/modules/globals/TASK.MD +1 -0
- package/src/modules/globals/globals.client.js +3 -0
- package/src/modules/globals/views/classes/globals.app.js +320 -0
- package/src/modules/globals/views/classes/store.js +52 -55
- package/src/modules/globals/views/utils/vue-app-renderer.js +1 -7
- package/src/modules/landing/components/sections/SectionMobileApp.vue +6 -6
- package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
- package/src/styles/typography.scss +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
- package/dist/martyrs/src/components/Feed/Feed.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, watch, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, createBlock, createVNode, isRef, withCtx, Fragment, renderList, withModifiers } from "vue";
|
|
2
2
|
import { useRoute, useRouter } from "vue-router";
|
|
3
3
|
import _sfc_main$1 from "../../../../components/Tab/Tab.vue2.js";
|
|
4
|
-
import _sfc_main$2 from "../../../../components/Feed/Feed.
|
|
4
|
+
import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
|
|
5
5
|
/* empty css */
|
|
6
6
|
import _sfc_main$3 from "../blocks/CardEvent.vue.js";
|
|
7
7
|
import { state } from "../../../auth/views/store/auth.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
|
-
const Feed = require("../../../../components/Feed/Feed.
|
|
5
|
+
const Feed = require("../../../../components/Feed/Feed.vue.cjs");
|
|
6
6
|
const CardEvent = require("../blocks/CardEvent.vue.cjs");
|
|
7
7
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
8
8
|
const events = require("../../store/events.cjs");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, withCtx, Fragment, renderList, createBlock } from "vue";
|
|
2
2
|
import { useRoute, useRouter } from "vue-router";
|
|
3
|
-
import _sfc_main$1 from "../../../../components/Feed/Feed.
|
|
3
|
+
import _sfc_main$1 from "../../../../components/Feed/Feed.vue.js";
|
|
4
4
|
import _sfc_main$2 from "../blocks/CardEvent.vue.js";
|
|
5
5
|
import { state } from "../../../auth/views/store/auth.js";
|
|
6
6
|
import { state as state$1, read } from "../../store/events.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
const Feed = require("../../../../components/Feed/Feed.
|
|
4
|
+
const Feed = require("../../../../components/Feed/Feed.vue.cjs");
|
|
5
5
|
const Popup = require("../../../../components/Popup/Popup.vue.cjs");
|
|
6
6
|
const PhotoViewer = require("../../../../components/PhotoViewer/PhotoViewer.vue.cjs");
|
|
7
7
|
const SectionPageTitle = require("../../../globals/views/components/sections/SectionPageTitle.vue.cjs");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, createElementBlock, openBlock, createVNode, withCtx, unref, isRef, Fragment, renderList, createElementVNode } from "vue";
|
|
2
|
-
import _sfc_main$3 from "../../../../components/Feed/Feed.
|
|
2
|
+
import _sfc_main$3 from "../../../../components/Feed/Feed.vue.js";
|
|
3
3
|
import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
|
|
4
4
|
import PhotoViewer from "../../../../components/PhotoViewer/PhotoViewer.vue.js";
|
|
5
5
|
import _sfc_main$1 from "../../../globals/views/components/sections/SectionPageTitle.vue.js";
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
|
-
;/* empty css
|
|
5
|
+
;/* empty css */
|
|
6
6
|
const Button = require("../../../../components/Button/Button.vue.cjs");
|
|
7
7
|
;/* empty css */
|
|
8
8
|
const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
|
|
9
9
|
;/* empty css */
|
|
10
10
|
const Popup = require("../../../../components/Popup/Popup.vue.cjs");
|
|
11
|
-
const Feed = require("../../../../components/Feed/Feed.
|
|
11
|
+
const Feed = require("../../../../components/Feed/Feed.vue.cjs");
|
|
12
12
|
const PhotoViewer = require("../../../../components/PhotoViewer/PhotoViewer.vue.cjs");
|
|
13
13
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
14
14
|
const gallery = require("../../store/gallery.cjs");
|
|
15
15
|
const CardHeader = require("../../../globals/views/components/blocks/CardHeader.vue.cjs");
|
|
16
16
|
const SectionPageTitle = require("../../../globals/views/components/sections/SectionPageTitle.vue.cjs");
|
|
17
17
|
const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
|
|
18
|
-
const BlockTags = require("../../../../components/FieldTags/BlockTags.
|
|
18
|
+
const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
|
|
19
19
|
const _hoisted_1 = { class: "cols-1 gap-thin pd-thin" };
|
|
20
20
|
const _hoisted_2 = { class: "pos-relative" };
|
|
21
21
|
const _hoisted_3 = ["src", "onClick"];
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { ref, createElementBlock, openBlock, createVNode, unref, isRef, withCtx, Fragment, renderList, createElementVNode, toDisplayString, createBlock, createCommentVNode, createTextVNode } from "vue";
|
|
2
2
|
import { useRoute } from "vue-router";
|
|
3
|
-
/* empty css
|
|
3
|
+
/* empty css */
|
|
4
4
|
import _sfc_main$8 from "../../../../components/Button/Button.vue.js";
|
|
5
5
|
/* empty css */
|
|
6
6
|
import _sfc_main$4 from "../../../../components/Chips/Chips.vue2.js";
|
|
7
7
|
/* empty css */
|
|
8
8
|
import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
|
|
9
|
-
import _sfc_main$2 from "../../../../components/Feed/Feed.
|
|
9
|
+
import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
|
|
10
10
|
import PhotoViewer from "../../../../components/PhotoViewer/PhotoViewer.vue.js";
|
|
11
11
|
import { state } from "../../../auth/views/store/auth.js";
|
|
12
12
|
import gallery from "../../store/gallery.js";
|
|
13
13
|
import _sfc_main$3 from "../../../globals/views/components/blocks/CardHeader.vue.js";
|
|
14
14
|
import _sfc_main$1 from "../../../globals/views/components/sections/SectionPageTitle.vue.js";
|
|
15
15
|
import _sfc_main$6 from "../../../../components/EditImages/EditImages.vue2.js";
|
|
16
|
-
import _sfc_main$7 from "../../../../components/FieldTags/BlockTags.
|
|
16
|
+
import _sfc_main$7 from "../../../../components/FieldTags/BlockTags.vue.js";
|
|
17
17
|
const _hoisted_1 = { class: "cols-1 gap-thin pd-thin" };
|
|
18
18
|
const _hoisted_2 = { class: "pos-relative" };
|
|
19
19
|
const _hoisted_3 = ["src", "onClick"];
|
|
@@ -25,6 +25,7 @@ const NavigationBar = require("./views/components/partials/NavigationBar.vue.cjs
|
|
|
25
25
|
const Sidebar = require("./views/components/partials/Sidebar.vue.cjs");
|
|
26
26
|
const Footer = require("./views/components/partials/Footer.vue.cjs");
|
|
27
27
|
const Walkthrough = require("./views/components/sections/Walkthrough.vue.cjs");
|
|
28
|
+
const globals_app = require("./views/classes/globals.app.cjs");
|
|
28
29
|
function initializeGlobals(app, store2, router, config, options = {}) {
|
|
29
30
|
const route = options.route || "Home";
|
|
30
31
|
const locales = {
|
|
@@ -105,5 +106,6 @@ exports.NavigationBar = NavigationBar.default;
|
|
|
105
106
|
exports.Sidebar = Sidebar.default;
|
|
106
107
|
exports.Footer = Footer.default;
|
|
107
108
|
exports.Walkthrough = Walkthrough.default;
|
|
109
|
+
exports.createUniversalApp = globals_app.createUniversalApp;
|
|
108
110
|
exports.default = ModuleGlobals;
|
|
109
111
|
//# sourceMappingURL=globals.client.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.client.cjs","sources":["../../../../../src/modules/globals/globals.client.js"],"sourcesContent":["// Functional imports (needed for initialize function)\nimport getBrowserLocale from './views/localization/get-browser-locale.js';\nimport scrollBehavior from './views/router/scrollBehavior.js';\n\nimport * as mixins from './views/mixins/mixins.js';\nimport * as storeGlobals from './views/store/globals.js';\nimport * as appRenderer from './views/utils/vue-app-renderer.js';\nimport './views/utils/polyfills.js'; // Auto-apply polyfills\n\nimport alertPlugin from './views/plugins/alert.plugin.js';\nimport popupAuthPlugin from './views/plugins/popup.auth.plugin.js';\nimport datePickerPlugin from './views/plugins/date-picker.plugin.js';\nimport storeDebuggerPlugin from './views/plugins/store-debugger/store-debugger.plugin.js';\n\nimport store from './views/classes/store.js';\nimport websockets from './views/classes/globals.websocket.js';\nimport { i18nManager } from '@martyrs/src/modules/globals/views/classes/globals.i18n.js';\nimport { moduleRegistry } from './views/classes/module-registry.js';\n\nimport en from './locales/en.js';\nimport ru from './locales/ru.js';\n\n\n// Пример функции инициализации для модуля заказов\nfunction initializeGlobals(app, store, router, config, options = {}) {\n const route = options.route || 'Home';\n\n const locales = {\n en: en,\n ru: ru,\n es: {} // или es: undefined\n };\n\n i18nManager.register('globals', locales);\n\n const envVariables = ['NODE_ENV', 'PORT', 'APP_NAME', 'DOMAIN_URL', 'API_URL', 'WSS_URL', 'FILE_SERVER_URL', 'WDT_TOKEN', 'WDM_URL_PROD', 'GOOGLE_MAPS_API_KEY', 'MOBILE_APP'];\n\n app.config.globalProperties.DOMAIN_URL = process.env.DOMAIN_URL;\n app.config.globalProperties.API_URL = process.env.API_URL;\n app.config.globalProperties.WSS_URL = process.env.WSS_URL;\n app.config.globalProperties.MOBILE_APP = process.env.MOBILE_APP;\n app.config.globalProperties.FILE_SERVER_URL = process.env.FILE_SERVER_URL;\n app.config.globalProperties.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY;\n\n app.mixin(mixins.globalMixins);\n\n app.use(alertPlugin);\n app.use(popupAuthPlugin);\n app.use(datePickerPlugin);\n // app.use(storeDebuggerPlugin, store);\n\n\n // WebSocket инициализируется в client.js после гидратации\n // чтобы не блокировать главный поток\n\n // Change Locale to Route Locale if available\n router.beforeEach((to, from, next) => {\n const locale = to.params.locale;\n\n if (locale) {\n if (!app.config.globalProperties.$i18n.availableLocales.includes(locale)) {\n return next({ path: '/404' });\n } else {\n app.config.globalProperties.$i18n.locale = locale;\n return next();\n }\n }\n\n return next();\n });\n\n if (config && config.modules) storeGlobals.state.options = config.modules;\n\n store.addStore('globals', storeGlobals);\n\n router.addRoute(route, {\n path: '404',\n name: 'notfound',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/404.vue'),\n });\n router.addRoute(route, {\n path: '401',\n name: 'unauthorized',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/401.vue'),\n });\n router.addRoute(route, {\n path: ':pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'notfound' },\n });\n}\n\nconst ModuleGlobals = {\n initialize: initializeGlobals,\n views: {\n store: {\n storeGlobals,\n },\n router: {\n // routerOrders\n },\n },\n};\n\n// Component re-exports (enables tree shaking)\nexport { default as layoutApp } from './views/components/layouts/App.vue';\nexport { default as layoutClient } from './views/components/layouts/Client.vue';\nexport { default as BlockSearch } from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue';\nexport { default as BottomNavigationBar } from '@martyrs/src/modules/globals/views/components/partials/BottomNavigationBar.vue';\nexport { default as Header } from '@martyrs/src/modules/globals/views/components/partials/Header.vue';\nexport { default as Navigation } from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue';\nexport { default as NavigationBar } from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\nexport { default as Sidebar } from '@martyrs/src/modules/globals/views/components/partials/Sidebar.vue';\nexport { default as Footer } from '@martyrs/src/modules/globals/views/components/partials/Footer.vue';\nexport { default as Walkthrough } from '@martyrs/src/modules/globals/views/components/sections/Walkthrough.vue';\n\n// Functional exports\nexport {\n appRenderer,\n getBrowserLocale,\n mixins,\n moduleRegistry,\n scrollBehavior,\n store,\n i18nManager,\n storeGlobals,\n websockets,\n};\n\n// Re-export polyfills for documentation\nexport * from './views/utils/polyfills.js';\n\nexport default ModuleGlobals;\n"],"names":["store","en","ru","i18nManager","mixins.globalMixins","alertPlugin","popupAuthPlugin","datePickerPlugin","storeGlobals.state","storeGlobals"],"mappings":"
|
|
1
|
+
{"version":3,"file":"globals.client.cjs","sources":["../../../../../src/modules/globals/globals.client.js"],"sourcesContent":["// Functional imports (needed for initialize function)\nimport getBrowserLocale from './views/localization/get-browser-locale.js';\nimport scrollBehavior from './views/router/scrollBehavior.js';\n\nimport * as mixins from './views/mixins/mixins.js';\nimport * as storeGlobals from './views/store/globals.js';\nimport * as appRenderer from './views/utils/vue-app-renderer.js';\nimport './views/utils/polyfills.js'; // Auto-apply polyfills\n\nimport alertPlugin from './views/plugins/alert.plugin.js';\nimport popupAuthPlugin from './views/plugins/popup.auth.plugin.js';\nimport datePickerPlugin from './views/plugins/date-picker.plugin.js';\nimport storeDebuggerPlugin from './views/plugins/store-debugger/store-debugger.plugin.js';\n\nimport store from './views/classes/store.js';\nimport websockets from './views/classes/globals.websocket.js';\nimport { i18nManager } from '@martyrs/src/modules/globals/views/classes/globals.i18n.js';\nimport { moduleRegistry } from './views/classes/module-registry.js';\n\nimport en from './locales/en.js';\nimport ru from './locales/ru.js';\n\n\n// Пример функции инициализации для модуля заказов\nfunction initializeGlobals(app, store, router, config, options = {}) {\n const route = options.route || 'Home';\n\n const locales = {\n en: en,\n ru: ru,\n es: {} // или es: undefined\n };\n\n i18nManager.register('globals', locales);\n\n const envVariables = ['NODE_ENV', 'PORT', 'APP_NAME', 'DOMAIN_URL', 'API_URL', 'WSS_URL', 'FILE_SERVER_URL', 'WDT_TOKEN', 'WDM_URL_PROD', 'GOOGLE_MAPS_API_KEY', 'MOBILE_APP'];\n\n app.config.globalProperties.DOMAIN_URL = process.env.DOMAIN_URL;\n app.config.globalProperties.API_URL = process.env.API_URL;\n app.config.globalProperties.WSS_URL = process.env.WSS_URL;\n app.config.globalProperties.MOBILE_APP = process.env.MOBILE_APP;\n app.config.globalProperties.FILE_SERVER_URL = process.env.FILE_SERVER_URL;\n app.config.globalProperties.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY;\n\n app.mixin(mixins.globalMixins);\n\n app.use(alertPlugin);\n app.use(popupAuthPlugin);\n app.use(datePickerPlugin);\n // app.use(storeDebuggerPlugin, store);\n\n\n // WebSocket инициализируется в client.js после гидратации\n // чтобы не блокировать главный поток\n\n // Change Locale to Route Locale if available\n router.beforeEach((to, from, next) => {\n const locale = to.params.locale;\n\n if (locale) {\n if (!app.config.globalProperties.$i18n.availableLocales.includes(locale)) {\n return next({ path: '/404' });\n } else {\n app.config.globalProperties.$i18n.locale = locale;\n return next();\n }\n }\n\n return next();\n });\n\n if (config && config.modules) storeGlobals.state.options = config.modules;\n\n store.addStore('globals', storeGlobals);\n\n router.addRoute(route, {\n path: '404',\n name: 'notfound',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/404.vue'),\n });\n router.addRoute(route, {\n path: '401',\n name: 'unauthorized',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/401.vue'),\n });\n router.addRoute(route, {\n path: ':pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'notfound' },\n });\n}\n\nconst ModuleGlobals = {\n initialize: initializeGlobals,\n views: {\n store: {\n storeGlobals,\n },\n router: {\n // routerOrders\n },\n },\n};\n\n// Component re-exports (enables tree shaking)\nexport { default as layoutApp } from './views/components/layouts/App.vue';\nexport { default as layoutClient } from './views/components/layouts/Client.vue';\nexport { default as BlockSearch } from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue';\nexport { default as BottomNavigationBar } from '@martyrs/src/modules/globals/views/components/partials/BottomNavigationBar.vue';\nexport { default as Header } from '@martyrs/src/modules/globals/views/components/partials/Header.vue';\nexport { default as Navigation } from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue';\nexport { default as NavigationBar } from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\nexport { default as Sidebar } from '@martyrs/src/modules/globals/views/components/partials/Sidebar.vue';\nexport { default as Footer } from '@martyrs/src/modules/globals/views/components/partials/Footer.vue';\nexport { default as Walkthrough } from '@martyrs/src/modules/globals/views/components/sections/Walkthrough.vue';\n\n// Functional exports\nexport {\n appRenderer,\n getBrowserLocale,\n mixins,\n moduleRegistry,\n scrollBehavior,\n store,\n i18nManager,\n storeGlobals,\n websockets,\n};\n\n// Export client factory\nexport { createUniversalApp } from './views/classes/globals.app.js';\n\n// Re-export polyfills for documentation\nexport * from './views/utils/polyfills.js';\n\nexport default ModuleGlobals;\n"],"names":["store","en","ru","i18nManager","mixins.globalMixins","alertPlugin","popupAuthPlugin","datePickerPlugin","storeGlobals.state","storeGlobals"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAS,kBAAkB,KAAKA,QAAO,QAAQ,QAAQ,UAAU,IAAI;AACnE,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,UAAU;AAAA,IACd,IAAIC,GAAAA;AAAAA,IACJ,IAAIC,GAAAA;AAAAA,IACJ,IAAI,CAAA;AAAA;AAAA,EACR;AAEEC,2BAAY,SAAS,WAAW,OAAO;AAIvC,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,kBAAkB,QAAQ,IAAI;AAC1D,MAAI,OAAO,iBAAiB,sBAAsB,QAAQ,IAAI;AAE9D,MAAI,MAAMC,mBAAmB;AAE7B,MAAI,IAAIC,oBAAW;AACnB,MAAI,IAAIC,yBAAe;AACvB,MAAI,IAAIC,yBAAgB;AAQxB,SAAO,WAAW,CAAC,IAAI,MAAM,SAAS;AACpC,UAAM,SAAS,GAAG,OAAO;AAEzB,QAAI,QAAQ;AACV,UAAI,CAAC,IAAI,OAAO,iBAAiB,MAAM,iBAAiB,SAAS,MAAM,GAAG;AACxE,eAAO,KAAK,EAAE,MAAM,QAAQ;AAAA,MAC9B,OAAO;AACL,YAAI,OAAO,iBAAiB,MAAM,SAAS;AAC3C,eAAO,KAAI;AAAA,MACb;AAAA,IACF;AAEA,WAAO,KAAI;AAAA,EACb,CAAC;AAED,MAAI,UAAU,OAAO,QAASC,SAAAA,MAAmB,UAAU,OAAO;AAElE,EAAAR,OAAM,SAAS,WAAWS,OAAY;AAEtC,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,sCAA6D,CAAA;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,sCAA6D,CAAA;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,EAAE,MAAM,WAAU;AAAA,EAChC,CAAG;AACH;AAEK,MAAC,gBAAgB;AAAA,EACpB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,cAAMA;AAAAA,IACN;AAAA,IACI,QAAQ;AAAA;AAAA,IAEZ;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -25,6 +25,7 @@ import { default as default12 } from "./views/components/partials/NavigationBar.
|
|
|
25
25
|
import { default as default13 } from "./views/components/partials/Sidebar.vue.js";
|
|
26
26
|
import { default as default14 } from "./views/components/partials/Footer.vue.js";
|
|
27
27
|
import { default as default15 } from "./views/components/sections/Walkthrough.vue.js";
|
|
28
|
+
import { createUniversalApp } from "./views/classes/globals.app.js";
|
|
28
29
|
function initializeGlobals(app, store, router, config, options = {}) {
|
|
29
30
|
const route = options.route || "Home";
|
|
30
31
|
const locales = {
|
|
@@ -95,6 +96,7 @@ export {
|
|
|
95
96
|
default13 as Sidebar,
|
|
96
97
|
default15 as Walkthrough,
|
|
97
98
|
vueAppRenderer as appRenderer,
|
|
99
|
+
createUniversalApp,
|
|
98
100
|
ModuleGlobals as default,
|
|
99
101
|
default2 as getBrowserLocale,
|
|
100
102
|
i18nManager,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.client.js","sources":["../../../../../src/modules/globals/globals.client.js"],"sourcesContent":["// Functional imports (needed for initialize function)\nimport getBrowserLocale from './views/localization/get-browser-locale.js';\nimport scrollBehavior from './views/router/scrollBehavior.js';\n\nimport * as mixins from './views/mixins/mixins.js';\nimport * as storeGlobals from './views/store/globals.js';\nimport * as appRenderer from './views/utils/vue-app-renderer.js';\nimport './views/utils/polyfills.js'; // Auto-apply polyfills\n\nimport alertPlugin from './views/plugins/alert.plugin.js';\nimport popupAuthPlugin from './views/plugins/popup.auth.plugin.js';\nimport datePickerPlugin from './views/plugins/date-picker.plugin.js';\nimport storeDebuggerPlugin from './views/plugins/store-debugger/store-debugger.plugin.js';\n\nimport store from './views/classes/store.js';\nimport websockets from './views/classes/globals.websocket.js';\nimport { i18nManager } from '@martyrs/src/modules/globals/views/classes/globals.i18n.js';\nimport { moduleRegistry } from './views/classes/module-registry.js';\n\nimport en from './locales/en.js';\nimport ru from './locales/ru.js';\n\n\n// Пример функции инициализации для модуля заказов\nfunction initializeGlobals(app, store, router, config, options = {}) {\n const route = options.route || 'Home';\n\n const locales = {\n en: en,\n ru: ru,\n es: {} // или es: undefined\n };\n\n i18nManager.register('globals', locales);\n\n const envVariables = ['NODE_ENV', 'PORT', 'APP_NAME', 'DOMAIN_URL', 'API_URL', 'WSS_URL', 'FILE_SERVER_URL', 'WDT_TOKEN', 'WDM_URL_PROD', 'GOOGLE_MAPS_API_KEY', 'MOBILE_APP'];\n\n app.config.globalProperties.DOMAIN_URL = process.env.DOMAIN_URL;\n app.config.globalProperties.API_URL = process.env.API_URL;\n app.config.globalProperties.WSS_URL = process.env.WSS_URL;\n app.config.globalProperties.MOBILE_APP = process.env.MOBILE_APP;\n app.config.globalProperties.FILE_SERVER_URL = process.env.FILE_SERVER_URL;\n app.config.globalProperties.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY;\n\n app.mixin(mixins.globalMixins);\n\n app.use(alertPlugin);\n app.use(popupAuthPlugin);\n app.use(datePickerPlugin);\n // app.use(storeDebuggerPlugin, store);\n\n\n // WebSocket инициализируется в client.js после гидратации\n // чтобы не блокировать главный поток\n\n // Change Locale to Route Locale if available\n router.beforeEach((to, from, next) => {\n const locale = to.params.locale;\n\n if (locale) {\n if (!app.config.globalProperties.$i18n.availableLocales.includes(locale)) {\n return next({ path: '/404' });\n } else {\n app.config.globalProperties.$i18n.locale = locale;\n return next();\n }\n }\n\n return next();\n });\n\n if (config && config.modules) storeGlobals.state.options = config.modules;\n\n store.addStore('globals', storeGlobals);\n\n router.addRoute(route, {\n path: '404',\n name: 'notfound',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/404.vue'),\n });\n router.addRoute(route, {\n path: '401',\n name: 'unauthorized',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/401.vue'),\n });\n router.addRoute(route, {\n path: ':pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'notfound' },\n });\n}\n\nconst ModuleGlobals = {\n initialize: initializeGlobals,\n views: {\n store: {\n storeGlobals,\n },\n router: {\n // routerOrders\n },\n },\n};\n\n// Component re-exports (enables tree shaking)\nexport { default as layoutApp } from './views/components/layouts/App.vue';\nexport { default as layoutClient } from './views/components/layouts/Client.vue';\nexport { default as BlockSearch } from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue';\nexport { default as BottomNavigationBar } from '@martyrs/src/modules/globals/views/components/partials/BottomNavigationBar.vue';\nexport { default as Header } from '@martyrs/src/modules/globals/views/components/partials/Header.vue';\nexport { default as Navigation } from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue';\nexport { default as NavigationBar } from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\nexport { default as Sidebar } from '@martyrs/src/modules/globals/views/components/partials/Sidebar.vue';\nexport { default as Footer } from '@martyrs/src/modules/globals/views/components/partials/Footer.vue';\nexport { default as Walkthrough } from '@martyrs/src/modules/globals/views/components/sections/Walkthrough.vue';\n\n// Functional exports\nexport {\n appRenderer,\n getBrowserLocale,\n mixins,\n moduleRegistry,\n scrollBehavior,\n store,\n i18nManager,\n storeGlobals,\n websockets,\n};\n\n// Re-export polyfills for documentation\nexport * from './views/utils/polyfills.js';\n\nexport default ModuleGlobals;\n"],"names":["mixins.globalMixins","storeGlobals.state","storeGlobals"],"mappings":"
|
|
1
|
+
{"version":3,"file":"globals.client.js","sources":["../../../../../src/modules/globals/globals.client.js"],"sourcesContent":["// Functional imports (needed for initialize function)\nimport getBrowserLocale from './views/localization/get-browser-locale.js';\nimport scrollBehavior from './views/router/scrollBehavior.js';\n\nimport * as mixins from './views/mixins/mixins.js';\nimport * as storeGlobals from './views/store/globals.js';\nimport * as appRenderer from './views/utils/vue-app-renderer.js';\nimport './views/utils/polyfills.js'; // Auto-apply polyfills\n\nimport alertPlugin from './views/plugins/alert.plugin.js';\nimport popupAuthPlugin from './views/plugins/popup.auth.plugin.js';\nimport datePickerPlugin from './views/plugins/date-picker.plugin.js';\nimport storeDebuggerPlugin from './views/plugins/store-debugger/store-debugger.plugin.js';\n\nimport store from './views/classes/store.js';\nimport websockets from './views/classes/globals.websocket.js';\nimport { i18nManager } from '@martyrs/src/modules/globals/views/classes/globals.i18n.js';\nimport { moduleRegistry } from './views/classes/module-registry.js';\n\nimport en from './locales/en.js';\nimport ru from './locales/ru.js';\n\n\n// Пример функции инициализации для модуля заказов\nfunction initializeGlobals(app, store, router, config, options = {}) {\n const route = options.route || 'Home';\n\n const locales = {\n en: en,\n ru: ru,\n es: {} // или es: undefined\n };\n\n i18nManager.register('globals', locales);\n\n const envVariables = ['NODE_ENV', 'PORT', 'APP_NAME', 'DOMAIN_URL', 'API_URL', 'WSS_URL', 'FILE_SERVER_URL', 'WDT_TOKEN', 'WDM_URL_PROD', 'GOOGLE_MAPS_API_KEY', 'MOBILE_APP'];\n\n app.config.globalProperties.DOMAIN_URL = process.env.DOMAIN_URL;\n app.config.globalProperties.API_URL = process.env.API_URL;\n app.config.globalProperties.WSS_URL = process.env.WSS_URL;\n app.config.globalProperties.MOBILE_APP = process.env.MOBILE_APP;\n app.config.globalProperties.FILE_SERVER_URL = process.env.FILE_SERVER_URL;\n app.config.globalProperties.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY;\n\n app.mixin(mixins.globalMixins);\n\n app.use(alertPlugin);\n app.use(popupAuthPlugin);\n app.use(datePickerPlugin);\n // app.use(storeDebuggerPlugin, store);\n\n\n // WebSocket инициализируется в client.js после гидратации\n // чтобы не блокировать главный поток\n\n // Change Locale to Route Locale if available\n router.beforeEach((to, from, next) => {\n const locale = to.params.locale;\n\n if (locale) {\n if (!app.config.globalProperties.$i18n.availableLocales.includes(locale)) {\n return next({ path: '/404' });\n } else {\n app.config.globalProperties.$i18n.locale = locale;\n return next();\n }\n }\n\n return next();\n });\n\n if (config && config.modules) storeGlobals.state.options = config.modules;\n\n store.addStore('globals', storeGlobals);\n\n router.addRoute(route, {\n path: '404',\n name: 'notfound',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/404.vue'),\n });\n router.addRoute(route, {\n path: '401',\n name: 'unauthorized',\n component: () => import('@martyrs/src/modules/globals/views/components/pages/401.vue'),\n });\n router.addRoute(route, {\n path: ':pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'notfound' },\n });\n}\n\nconst ModuleGlobals = {\n initialize: initializeGlobals,\n views: {\n store: {\n storeGlobals,\n },\n router: {\n // routerOrders\n },\n },\n};\n\n// Component re-exports (enables tree shaking)\nexport { default as layoutApp } from './views/components/layouts/App.vue';\nexport { default as layoutClient } from './views/components/layouts/Client.vue';\nexport { default as BlockSearch } from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue';\nexport { default as BottomNavigationBar } from '@martyrs/src/modules/globals/views/components/partials/BottomNavigationBar.vue';\nexport { default as Header } from '@martyrs/src/modules/globals/views/components/partials/Header.vue';\nexport { default as Navigation } from '@martyrs/src/modules/globals/views/components/partials/Navigation.vue';\nexport { default as NavigationBar } from '@martyrs/src/modules/globals/views/components/partials/NavigationBar.vue';\nexport { default as Sidebar } from '@martyrs/src/modules/globals/views/components/partials/Sidebar.vue';\nexport { default as Footer } from '@martyrs/src/modules/globals/views/components/partials/Footer.vue';\nexport { default as Walkthrough } from '@martyrs/src/modules/globals/views/components/sections/Walkthrough.vue';\n\n// Functional exports\nexport {\n appRenderer,\n getBrowserLocale,\n mixins,\n moduleRegistry,\n scrollBehavior,\n store,\n i18nManager,\n storeGlobals,\n websockets,\n};\n\n// Export client factory\nexport { createUniversalApp } from './views/classes/globals.app.js';\n\n// Re-export polyfills for documentation\nexport * from './views/utils/polyfills.js';\n\nexport default ModuleGlobals;\n"],"names":["mixins.globalMixins","storeGlobals.state","storeGlobals"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAS,kBAAkB,KAAK,OAAO,QAAQ,QAAQ,UAAU,IAAI;AACnE,QAAM,QAAQ,QAAQ,SAAS;AAE/B,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,IAAI,CAAA;AAAA;AAAA,EACR;AAEE,cAAY,SAAS,WAAW,OAAO;AAIvC,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,UAAU,QAAQ,IAAI;AAClD,MAAI,OAAO,iBAAiB,aAAa,QAAQ,IAAI;AACrD,MAAI,OAAO,iBAAiB,kBAAkB,QAAQ,IAAI;AAC1D,MAAI,OAAO,iBAAiB,sBAAsB,QAAQ,IAAI;AAE9D,MAAI,MAAMA,YAAmB;AAE7B,MAAI,IAAI,WAAW;AACnB,MAAI,IAAI,eAAe;AACvB,MAAI,IAAI,gBAAgB;AAQxB,SAAO,WAAW,CAAC,IAAI,MAAM,SAAS;AACpC,UAAM,SAAS,GAAG,OAAO;AAEzB,QAAI,QAAQ;AACV,UAAI,CAAC,IAAI,OAAO,iBAAiB,MAAM,iBAAiB,SAAS,MAAM,GAAG;AACxE,eAAO,KAAK,EAAE,MAAM,QAAQ;AAAA,MAC9B,OAAO;AACL,YAAI,OAAO,iBAAiB,MAAM,SAAS;AAC3C,eAAO,KAAI;AAAA,MACb;AAAA,IACF;AAEA,WAAO,KAAI;AAAA,EACb,CAAC;AAED,MAAI,UAAU,OAAO,QAASC,OAAmB,UAAU,OAAO;AAElE,QAAM,SAAS,WAAWC,OAAY;AAEtC,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,qCAA6D;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,qCAA6D;AAAA,EACzF,CAAG;AACD,SAAO,SAAS,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,EAAE,MAAM,WAAU;AAAA,EAChC,CAAG;AACH;AAEK,MAAC,gBAAgB;AAAA,EACpB,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACX,cAAMA;AAAAA,IACN;AAAA,IACI,QAAQ;AAAA;AAAA,IAEZ;AAAA,EACA;AACA;"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const vue_ziyDaVMR = require("../../../../../../node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs");
|
|
5
|
+
function createUniversalApp({
|
|
6
|
+
getConfig,
|
|
7
|
+
getRouter,
|
|
8
|
+
getLocales,
|
|
9
|
+
getStore,
|
|
10
|
+
getHooks = {}
|
|
11
|
+
}) {
|
|
12
|
+
const getLayoutApp = () => Promise.resolve().then(() => require("../components/layouts/App.vue.cjs")).then((m) => m.default);
|
|
13
|
+
const getModuleRegistry = () => Promise.resolve().then(() => require("./module-registry.cjs")).then((m) => m.moduleRegistry);
|
|
14
|
+
const getWebsockets = () => Promise.resolve().then(() => require("./globals.websocket.cjs")).then((m) => m.default);
|
|
15
|
+
const getAppRenderer = () => Promise.resolve().then(() => require("../utils/vue-app-renderer.cjs"));
|
|
16
|
+
async function initializeApp() {
|
|
17
|
+
const config = await getConfig();
|
|
18
|
+
const hooks = getHooks;
|
|
19
|
+
const [layoutApp, moduleRegistry, globalWebSocket, appRenderer] = await Promise.all([
|
|
20
|
+
getLayoutApp(),
|
|
21
|
+
getModuleRegistry(),
|
|
22
|
+
getWebsockets(),
|
|
23
|
+
getAppRenderer()
|
|
24
|
+
]);
|
|
25
|
+
moduleRegistry.register("globals", {
|
|
26
|
+
loader: () => Promise.resolve().then(() => require("../../globals.client.cjs")),
|
|
27
|
+
critical: true,
|
|
28
|
+
priority: "critical"
|
|
29
|
+
});
|
|
30
|
+
Object.entries(config.modules).forEach(([name, module2]) => {
|
|
31
|
+
if (module2.loader) {
|
|
32
|
+
moduleRegistry.register(name, {
|
|
33
|
+
loader: module2.loader,
|
|
34
|
+
routes: module2.routes || [],
|
|
35
|
+
priority: module2.priority || "normal",
|
|
36
|
+
critical: module2.critical || false,
|
|
37
|
+
dependencies: module2.dependencies || [],
|
|
38
|
+
preload: module2.preload || false
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
function createApp() {
|
|
43
|
+
const store = getStore();
|
|
44
|
+
const app = process.env.MOBILE_APP ? vue.createApp(layoutApp, config) : vue.createSSRApp(layoutApp, config);
|
|
45
|
+
const meta = vue_ziyDaVMR.c();
|
|
46
|
+
const i18n = getLocales();
|
|
47
|
+
const context = {
|
|
48
|
+
app,
|
|
49
|
+
store,
|
|
50
|
+
router: null,
|
|
51
|
+
config
|
|
52
|
+
};
|
|
53
|
+
const router = getRouter(context);
|
|
54
|
+
context.router = router;
|
|
55
|
+
const initCriticalModules = async () => {
|
|
56
|
+
const criticalModules = ["globals", "auth", "organizations", "backoffice"];
|
|
57
|
+
for (const moduleName of criticalModules) {
|
|
58
|
+
try {
|
|
59
|
+
await moduleRegistry.load(moduleName, context);
|
|
60
|
+
await moduleRegistry.initialize(moduleName, context);
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.error(`Failed to load critical module ${moduleName}:`, error);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
if (typeof window !== "undefined") {
|
|
67
|
+
router.beforeEach(async (to, from) => {
|
|
68
|
+
const requiredModules = moduleRegistry.getModulesForRoute(to.path);
|
|
69
|
+
const modulesToLoad = requiredModules.filter((m) => !moduleRegistry.initialized.has(m.name));
|
|
70
|
+
if (modulesToLoad.length > 0) {
|
|
71
|
+
if (store.globals && store.globals.state) {
|
|
72
|
+
store.globals.state.loading = true;
|
|
73
|
+
}
|
|
74
|
+
for (const module2 of modulesToLoad) {
|
|
75
|
+
try {
|
|
76
|
+
await moduleRegistry.load(module2.name, context);
|
|
77
|
+
await moduleRegistry.initialize(module2.name, context);
|
|
78
|
+
} catch (error) {
|
|
79
|
+
console.error(`Failed to load module ${module2.name}:`, error);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return to.fullPath;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
if (typeof window !== "undefined") {
|
|
87
|
+
window.addEventListener("error", (e) => {
|
|
88
|
+
if (e.message && e.message.includes("Loading chunk")) {
|
|
89
|
+
console.error("Chunk loading failed:", e);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const initialize = async () => {
|
|
94
|
+
if (hooks.beforeInitialize) {
|
|
95
|
+
await hooks.beforeInitialize(context);
|
|
96
|
+
}
|
|
97
|
+
await initCriticalModules();
|
|
98
|
+
if (typeof window !== "undefined") {
|
|
99
|
+
requestIdleCallback(() => {
|
|
100
|
+
globalWebSocket.initialize({
|
|
101
|
+
wsUrl: process.env.WSS_URL || void 0,
|
|
102
|
+
maxReconnectAttempts: 5,
|
|
103
|
+
reconnectDelay: 3e3,
|
|
104
|
+
pingInterval: 3e4
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
requestIdleCallback(() => {
|
|
108
|
+
moduleRegistry.preloadModules(context);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
app.use(router).use(i18n).use(meta);
|
|
112
|
+
if (process.env.MOBILE_APP) {
|
|
113
|
+
app.mount("#app");
|
|
114
|
+
}
|
|
115
|
+
if (hooks.afterInitialize) {
|
|
116
|
+
await hooks.afterInitialize(context);
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
app,
|
|
120
|
+
router,
|
|
121
|
+
store,
|
|
122
|
+
i18n,
|
|
123
|
+
meta,
|
|
124
|
+
moduleRegistry
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
if (!process.env.MOBILE_APP) {
|
|
128
|
+
return initialize();
|
|
129
|
+
}
|
|
130
|
+
initialize();
|
|
131
|
+
}
|
|
132
|
+
async function renderApp({ url, cookies, languages, ssrContext }) {
|
|
133
|
+
const { app, router, store, i18n, meta, moduleRegistry: moduleRegistry2 } = await createApp();
|
|
134
|
+
if (typeof window === "undefined") {
|
|
135
|
+
moduleRegistry2.initialized.clear();
|
|
136
|
+
moduleRegistry2.modules.clear();
|
|
137
|
+
moduleRegistry2.loadingPromises.clear();
|
|
138
|
+
const context2 = { app, store, router, config };
|
|
139
|
+
await moduleRegistry2.load("auth", context2);
|
|
140
|
+
await moduleRegistry2.initialize("auth", context2);
|
|
141
|
+
}
|
|
142
|
+
const context = {
|
|
143
|
+
app,
|
|
144
|
+
store,
|
|
145
|
+
router,
|
|
146
|
+
config,
|
|
147
|
+
ssr: true
|
|
148
|
+
};
|
|
149
|
+
const requiredModules = moduleRegistry2.getModulesForRoute(url);
|
|
150
|
+
const currentRouteModules = [];
|
|
151
|
+
for (const module2 of requiredModules) {
|
|
152
|
+
await moduleRegistry2.load(module2.name, context);
|
|
153
|
+
await moduleRegistry2.initialize(module2.name, context);
|
|
154
|
+
currentRouteModules.push(module2.name);
|
|
155
|
+
}
|
|
156
|
+
await router.push(url);
|
|
157
|
+
await router.isReady();
|
|
158
|
+
const result = await appRenderer.render({
|
|
159
|
+
url,
|
|
160
|
+
cookies,
|
|
161
|
+
createApp: () => ({ app, router, store, i18n, meta }),
|
|
162
|
+
ssrContext
|
|
163
|
+
});
|
|
164
|
+
if (ssrContext?.modules) {
|
|
165
|
+
result.usedModules = Array.from(ssrContext.modules);
|
|
166
|
+
}
|
|
167
|
+
const criticalModules = ["globals", "auth", "organizations", "backoffice"];
|
|
168
|
+
const allModulesForRoute = [.../* @__PURE__ */ new Set([...criticalModules, ...currentRouteModules])];
|
|
169
|
+
result.loadedModules = allModulesForRoute;
|
|
170
|
+
return result;
|
|
171
|
+
}
|
|
172
|
+
if (typeof window !== "undefined" && process.env.MOBILE_APP) {
|
|
173
|
+
createApp();
|
|
174
|
+
}
|
|
175
|
+
if (typeof window !== "undefined" && !process.env.MOBILE_APP) {
|
|
176
|
+
createApp().then(({ app, router, store, moduleRegistry: moduleRegistry2 }) => {
|
|
177
|
+
router.isReady().then(() => {
|
|
178
|
+
if (hooks.beforeHydration) {
|
|
179
|
+
hooks.beforeHydration({ app, router, store, moduleRegistry: moduleRegistry2 });
|
|
180
|
+
}
|
|
181
|
+
app.mount("#app");
|
|
182
|
+
if (hooks.afterHydration) {
|
|
183
|
+
hooks.afterHydration({ app, router, store, moduleRegistry: moduleRegistry2 });
|
|
184
|
+
}
|
|
185
|
+
const context = { app, store, router, config };
|
|
186
|
+
moduleRegistry2.load("auth", context).then(() => {
|
|
187
|
+
setTimeout(async () => {
|
|
188
|
+
try {
|
|
189
|
+
await Promise.all([
|
|
190
|
+
moduleRegistry2.load("organizations", context),
|
|
191
|
+
moduleRegistry2.load("backoffice", context)
|
|
192
|
+
]);
|
|
193
|
+
} catch (error) {
|
|
194
|
+
console.error("Error loading core modules:", error);
|
|
195
|
+
}
|
|
196
|
+
}, 0);
|
|
197
|
+
requestIdleCallback(async () => {
|
|
198
|
+
try {
|
|
199
|
+
await moduleRegistry2.load("notifications", context);
|
|
200
|
+
if (typeof window !== "undefined") {
|
|
201
|
+
window.performance.mark("client-ready");
|
|
202
|
+
}
|
|
203
|
+
} catch (error) {
|
|
204
|
+
console.error("Error loading non-critical modules:", error);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
}).catch((error) => {
|
|
208
|
+
console.error("Error loading auth module:", error);
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
}).catch((error) => {
|
|
212
|
+
console.error("Hydration failed:", error);
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
return { createApp, renderApp };
|
|
216
|
+
}
|
|
217
|
+
return initializeApp();
|
|
218
|
+
}
|
|
219
|
+
exports.createUniversalApp = createUniversalApp;
|
|
220
|
+
//# sourceMappingURL=globals.app.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globals.app.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.app.js"],"sourcesContent":["// client-factory.js - фабрика для создания клиентского приложения\nimport { createApp as createVueApp, createSSRApp as createVueSSRApp } from 'vue';\nimport { createHead } from '@unhead/vue';\n\nexport function createUniversalApp({\n getConfig,\n getRouter,\n getLocales,\n getStore,\n getHooks = {}\n}) {\n // Lazy imports to avoid circular dependencies\n const getLayoutApp = () => import('../components/layouts/App.vue').then(m => m.default);\n const getModuleRegistry = () => import('./module-registry.js').then(m => m.moduleRegistry);\n const getWebsockets = () => import('./globals.websocket.js').then(m => m.default);\n const getAppRenderer = () => import('../utils/vue-app-renderer.js');\n \n // Асинхронная инициализация для избежания циклических зависимостей\n async function initializeApp() {\n // Создаем конфигурацию\n const config = await getConfig();\n const hooks = getHooks;\n \n const [layoutApp, moduleRegistry, globalWebSocket, appRenderer] = await Promise.all([\n getLayoutApp(),\n getModuleRegistry(),\n getWebsockets(),\n getAppRenderer()\n ]);\n \n // Регистрация модуля globals первым\n moduleRegistry.register('globals', {\n loader: () => import('../../globals.client.js'),\n critical: true,\n priority: 'critical'\n });\n \n // Регистрация модулей из config\n Object.entries(config.modules).forEach(([name, module]) => {\n if (module.loader) {\n moduleRegistry.register(name, {\n loader: module.loader,\n routes: module.routes || [],\n priority: module.priority || 'normal',\n critical: module.critical || false,\n dependencies: module.dependencies || [],\n preload: module.preload || false\n });\n }\n });\n \n // Основная функция создания приложения\n function createApp() {\n const store = getStore();\n const app = process.env.MOBILE_APP \n ? createVueApp(layoutApp, config) \n : createVueSSRApp(layoutApp, config);\n \n const meta = createHead();\n const i18n = getLocales();\n \n const context = {\n app,\n store,\n router: null,\n config,\n };\n \n // Создаем роутер с контекстом\n const router = getRouter(context);\n context.router = router;\n \n // Загружаем только критические модули синхронно\n const initCriticalModules = async () => {\n // Критические модули одинаковые для всех проектов\n const criticalModules = ['globals', 'auth', 'organizations', 'backoffice'];\n \n for (const moduleName of criticalModules) {\n try {\n await moduleRegistry.load(moduleName, context);\n await moduleRegistry.initialize(moduleName, context);\n } catch (error) {\n console.error(`Failed to load critical module ${moduleName}:`, error);\n }\n }\n };\n \n // Router guard для загрузки модулей ДО навигации (только на клиенте)\n if (typeof window !== 'undefined') {\n router.beforeEach(async (to, from) => {\n // Получаем модули для маршрута\n const requiredModules = moduleRegistry.getModulesForRoute(to.path);\n \n // Проверяем, какие модули еще не загружены\n const modulesToLoad = requiredModules.filter(m => !moduleRegistry.initialized.has(m.name));\n \n if (modulesToLoad.length > 0) {\n // Показываем глобальный лоадер\n if (store.globals && store.globals.state) {\n store.globals.state.loading = true;\n }\n \n // Загружаем и инициализируем модули\n for (const module of modulesToLoad) {\n try {\n await moduleRegistry.load(module.name, context);\n await moduleRegistry.initialize(module.name, context);\n } catch (error) {\n console.error(`Failed to load module ${module.name}:`, error);\n }\n }\n \n // Лоадер остается включенным - страница сама выключит через globals.state.loading = false\n \n // После загрузки модулей и регистрации их роутов,\n // возвращаем тот же путь для повторной навигации с новыми роутами\n return to.fullPath;\n }\n });\n }\n \n // Error handler для lazy loaded chunks\n if (typeof window !== 'undefined') {\n window.addEventListener('error', (e) => {\n if (e.message && e.message.includes('Loading chunk')) {\n console.error('Chunk loading failed:', e);\n // Можно показать уведомление пользователю\n // или попытаться перезагрузить\n }\n });\n }\n \n // Инициализация в правильном порядке\n const initialize = async () => {\n // Хук ДО инициализации\n if (hooks.beforeInitialize) {\n await hooks.beforeInitialize(context);\n }\n \n // 1. Критические модули\n await initCriticalModules();\n \n // 2. WebSocket (отложим после гидратации)\n if (typeof window !== 'undefined') {\n // Откладываем инициализацию WebSocket после гидратации\n requestIdleCallback(() => {\n globalWebSocket.initialize({\n wsUrl: process.env.WSS_URL || undefined,\n maxReconnectAttempts: 5,\n reconnectDelay: 3000,\n pingInterval: 30000,\n });\n });\n \n // 3. Предзагрузка важных модулей в фоне\n requestIdleCallback(() => {\n moduleRegistry.preloadModules(context);\n });\n }\n \n // 5. Подключаем Vue плагины\n app.use(router).use(i18n).use(meta);\n \n // 6. Монтируем приложение\n if (process.env.MOBILE_APP) {\n app.mount('#app');\n }\n\n // Хук ПОСЛЕ инициализации\n if (hooks.afterInitialize) {\n await hooks.afterInitialize(context);\n }\n \n return {\n app,\n router,\n store,\n i18n,\n meta,\n moduleRegistry,\n };\n };\n \n // Возвращаем промис для SSR\n if (!process.env.MOBILE_APP) {\n return initialize();\n }\n \n // Для SPA инициализируем сразу\n initialize();\n }\n \n // FOR SSR / SERVER ENTRY\n async function renderApp({ url, cookies, languages, ssrContext }) {\n const { app, router, store, i18n, meta, moduleRegistry } = await createApp();\n \n // ВАЖНО: Очищаем состояние moduleRegistry на сервере перед каждым запросом\n // чтобы избежать загрязнения между запросами\n if (typeof window === 'undefined') {\n moduleRegistry.initialized.clear();\n moduleRegistry.modules.clear();\n moduleRegistry.loadingPromises.clear();\n \n // На сервере загружаем auth для SSR рендеринга (vue-app-renderer требует его)\n const context = { app, store, router, config };\n await moduleRegistry.load('auth', context);\n await moduleRegistry.initialize('auth', context);\n }\n \n const context = {\n app,\n store,\n router,\n config,\n ssr: true,\n };\n \n // Для SSR загружаем модули для текущего маршрута\n const requiredModules = moduleRegistry.getModulesForRoute(url);\n \n // Собираем имена модулей которые нужны для текущего роута\n const currentRouteModules = [];\n \n // Загружаем необходимые модули для SSR\n for (const module of requiredModules) {\n await moduleRegistry.load(module.name, context);\n await moduleRegistry.initialize(module.name, context);\n currentRouteModules.push(module.name);\n }\n \n // После загрузки модулей и регистрации роутов, выполняем навигацию\n await router.push(url);\n await router.isReady();\n \n const result = await appRenderer.render({\n url,\n cookies,\n createApp: () => ({ app, router, store, i18n, meta }),\n ssrContext\n });\n \n if (ssrContext?.modules) {\n result.usedModules = Array.from(ssrContext.modules);\n }\n \n // Передаем только модули текущего роута + критические модули\n const criticalModules = ['globals', 'auth', 'organizations', 'backoffice'];\n const allModulesForRoute = [...new Set([...criticalModules, ...currentRouteModules])];\n \n result.loadedModules = allModulesForRoute;\n \n return result;\n }\n \n // FOR SPA\n if (typeof window !== 'undefined' && process.env.MOBILE_APP) {\n createApp();\n }\n \n // FOR SSR / CLIENT ENTRY\n if (typeof window !== 'undefined' && !process.env.MOBILE_APP) {\n createApp().then(({ app, router, store, moduleRegistry }) => {\n // Ждем когда роутер будет готов\n router.isReady().then(() => {\n // Хук ДО гидратации\n if (hooks.beforeHydration) {\n hooks.beforeHydration({ app, router, store, moduleRegistry });\n }\n \n app.mount('#app');\n \n // Хук ПОСЛЕ гидратации\n if (hooks.afterHydration) {\n hooks.afterHydration({ app, router, store, moduleRegistry });\n }\n \n // Создаем context для загрузки модулей\n const context = { app, store, router, config };\n \n // Загружаем auth модуль сразу - он критичен\n moduleRegistry.load('auth', context).then(() => {\n // Загружаем важные модули в следующем тике\n setTimeout(async () => {\n try {\n await Promise.all([\n moduleRegistry.load('organizations', context),\n moduleRegistry.load('backoffice', context),\n ]);\n } catch (error) {\n console.error('Error loading core modules:', error);\n }\n }, 0);\n \n // Загружаем некритичные модули когда браузер idle\n requestIdleCallback(async () => {\n try {\n await moduleRegistry.load('notifications', context);\n // Маркер для тестов\n if (typeof window !== 'undefined') {\n window.performance.mark('client-ready');\n }\n } catch (error) {\n console.error('Error loading non-critical modules:', error);\n }\n });\n }).catch(error => {\n console.error('Error loading auth module:', error);\n });\n });\n }).catch(error => {\n console.error('Hydration failed:', error);\n });\n }\n \n return { createApp, renderApp };\n }\n \n // Возвращаем промис, который резолвится с функциями\n return initializeApp();\n}"],"names":["module","createVueApp","createVueSSRApp","createHead","moduleRegistry","context"],"mappings":"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"}
|