@ozdao/martyrs 0.2.542 → 0.2.544
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 +10 -2
- package/dist/builder.js +10 -2
- package/dist/{main-Czyu-VcC.cjs → main-8f945Ngn.cjs} +7 -7
- package/dist/{main-ByKkD9qa.js → main-d9n_ibdE.js} +2621 -2622
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +4 -2
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +5 -3
- package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
- package/dist/martyrs/src/components/Feed/{Feed.vue.cjs → Feed.vue2.cjs} +7 -5
- package/dist/martyrs/src/components/Feed/Feed.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Feed/{Feed.vue.js → Feed.vue2.js} +7 -5
- package/dist/martyrs/src/components/Feed/Feed.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +2 -2
- package/dist/martyrs/src/components/Field/{Field.vue.cjs.map → Field.vue2.js.map} +1 -1
- 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.vue.cjs → BlockTags.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.js → BlockTags.vue2.js} +2 -2
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs.map → BlockTags.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
- package/dist/martyrs/src/components/Tab/Tab.vue2.cjs +3 -1
- package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/Tab/Tab.vue2.js +4 -2
- package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +1 -1
- package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.cjs → UploadImage.vue2.cjs} +7 -7
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.js → UploadImage.vue2.js} +7 -7
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.js.map +1 -0
- 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 +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
- 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 +2 -2
- 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.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/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/blocks/CardBlogpost.vue.cjs +2 -7
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +2 -7
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs +2 -13
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +2 -13
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +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 +2 -2
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
- 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 +4 -4
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -4
- 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 +7 -5
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +7 -5
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/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/views/classes/globals.app.cjs +38 -30
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +39 -31
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.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/blocks/PopupDateSelector.vue.cjs +3 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +3 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +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 +7 -7
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +8 -8
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.cjs +1 -0
- package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.js +1 -0
- package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +21 -1
- 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 +21 -1
- 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 +3 -3
- 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/SectionGuide.vue.cjs +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.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 +2 -2
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +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/blocks/CardOrderItem.vue.cjs +7 -5
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +8 -6
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
- 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/OrderBackoffice.vue.cjs +5 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +5 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +4 -4
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -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.cjs +8 -6
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +8 -6
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +3 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +3 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +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 +7 -7
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +7 -7
- 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 +3 -3
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +3 -3
- 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 +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
- 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/organizations/router/organizations.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +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/CardCategory.vue.cjs +11 -5
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +12 -6
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +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/blocks/ProductDiscounts.vue.cjs +4 -2
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -3
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +4 -2
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +5 -3
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue.cjs → THC.vue2.cjs} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +1 -0
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue.js → THC.vue2.js} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +5 -2
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +5 -2
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
- 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 +8 -8
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +8 -8
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- 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 +5 -3
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +5 -3
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +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 +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- 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/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/style.css +23 -23
- package/dist/{web-BklgIiYr.js → web-BkaOiiSn.js} +1 -1
- package/dist/{web-CQBm7C6L.cjs → web-CROHFHoW.cjs} +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.prod.js +2 -0
- package/src/builder/modes/ssr.rspack.dev.js +2 -0
- package/src/builder/templates/page.js +4 -0
- package/src/builder/templates/screen.js +4 -0
- package/src/components/Feed/Carousel.vue +3 -0
- package/src/components/Feed/Feed.vue +3 -0
- package/src/components/Tab/Tab.vue +2 -0
- package/src/components/UploadImage/UploadImage.vue +4 -4
- package/src/modules/community/components/blocks/CardBlogpost.vue +2 -7
- package/src/modules/community/components/blocks/FooterBlogpost.vue +2 -13
- package/src/modules/events/components/pages/Event.vue +2 -0
- package/src/modules/globals/TASK.MD +105 -1
- package/src/modules/globals/views/classes/globals.app.js +76 -48
- package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +2 -0
- package/src/modules/globals/views/components/sections/Filters.vue +1 -1
- package/src/modules/globals/views/plugins/alert.plugin.js +1 -0
- package/src/modules/globals/views/utils/vue-app-renderer.js +25 -1
- package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
- package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -0
- package/src/modules/orders/components/blocks/CardOrderVar1.vue +12 -1
- package/src/modules/orders/components/pages/OrderBackoffice.vue +2 -0
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +1 -1
- package/src/modules/orders/components/pages/Orders.vue +2 -0
- package/src/modules/orders/components/partials/ShopCart.vue +2 -0
- package/src/modules/products/components/blocks/CardCategory.vue +6 -0
- package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -0
- package/src/modules/products/components/elements/Price.vue +3 -0
- package/src/modules/products/components/pages/Categories.vue +4 -1
- package/src/modules/products/components/pages/Products.vue +1 -1
- package/src/modules/products/components/sections/EditVariants.vue +2 -0
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +0 -1
|
@@ -11,7 +11,7 @@ import gallery from "../../gallery/router/gallery.backoffice.router.js";
|
|
|
11
11
|
import payments from "../../wallet/views/router/payments.router.js";
|
|
12
12
|
import { requiresAuth } from "../../auth/views/middlewares/auth.validation.js";
|
|
13
13
|
import "vue";
|
|
14
|
-
/* empty css
|
|
14
|
+
/* empty css */
|
|
15
15
|
import "../../../components/Menu/MenuItem.vue.js";
|
|
16
16
|
/* empty css */
|
|
17
17
|
import "vue-router";
|
|
@@ -5,7 +5,7 @@ const IconEdit = require("../../../../icons/navigation/IconEdit.vue.cjs");
|
|
|
5
5
|
const IconAdd = require("../../../../icons/navigation/IconAdd.vue.cjs");
|
|
6
6
|
;/* empty css */
|
|
7
7
|
;/* empty css */
|
|
8
|
-
;/* empty css
|
|
8
|
+
;/* empty css */
|
|
9
9
|
const vueRouter = require("vue-router");
|
|
10
10
|
;/* empty css */
|
|
11
11
|
const _hoisted_1 = { class: "flex flex-nowrap gap-thin card-page-title" };
|
|
@@ -3,7 +3,7 @@ import _sfc_main$1 from "../../../../icons/navigation/IconEdit.vue.js";
|
|
|
3
3
|
import _sfc_main$2 from "../../../../icons/navigation/IconAdd.vue.js";
|
|
4
4
|
/* empty css */
|
|
5
5
|
/* empty css */
|
|
6
|
-
/* empty css
|
|
6
|
+
/* empty css */
|
|
7
7
|
import { useRouter } from "vue-router";
|
|
8
8
|
/* empty css */
|
|
9
9
|
const _hoisted_1 = { class: "flex flex-nowrap gap-thin card-page-title" };
|
|
@@ -5,7 +5,7 @@ const vueRouter = require("vue-router");
|
|
|
5
5
|
const mixins = require("../../../../globals/views/mixins/mixins.cjs");
|
|
6
6
|
const pages = require("../../store/pages.cjs");
|
|
7
7
|
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
8
|
-
;/* empty css
|
|
8
|
+
;/* empty css */
|
|
9
9
|
;/* empty css */
|
|
10
10
|
;/* empty css */
|
|
11
11
|
const Constructor = require("../../../../constructor/components/sections/Constructor.vue.cjs");
|
|
@@ -3,7 +3,7 @@ import { useRoute, useRouter } from "vue-router";
|
|
|
3
3
|
import { useGlobalMixins } from "../../../../globals/views/mixins/mixins.js";
|
|
4
4
|
import { actions, state } from "../../store/pages.js";
|
|
5
5
|
import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
|
|
6
|
-
/* empty css
|
|
6
|
+
/* empty css */
|
|
7
7
|
/* empty css */
|
|
8
8
|
/* empty css */
|
|
9
9
|
import _sfc_main$1 from "../../../../constructor/components/sections/Constructor.vue.js";
|
|
@@ -12,7 +12,11 @@ const _hoisted_4 = { class: "my-handle word-break t-truncate w-100 w-max-100 mn-
|
|
|
12
12
|
const _sfc_main = {
|
|
13
13
|
__name: "CardCategory",
|
|
14
14
|
props: {
|
|
15
|
-
category: Object
|
|
15
|
+
category: Object,
|
|
16
|
+
access: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: false
|
|
19
|
+
}
|
|
16
20
|
},
|
|
17
21
|
emits: ["delete"],
|
|
18
22
|
setup(__props, { emit: __emit }) {
|
|
@@ -32,7 +36,8 @@ const _sfc_main = {
|
|
|
32
36
|
src: (_ctx.FILE_SERVER_URL || "") + __props.category.photo
|
|
33
37
|
}, null, 8, _hoisted_3)) : vue.createCommentVNode("", true),
|
|
34
38
|
vue.createElementVNode("h4", _hoisted_4, vue.toDisplayString(__props.category.name), 1),
|
|
35
|
-
vue.
|
|
39
|
+
__props.access ? (vue.openBlock(), vue.createBlock(_component_router_link, {
|
|
40
|
+
key: 1,
|
|
36
41
|
to: {
|
|
37
42
|
name: "Category Edit",
|
|
38
43
|
params: {
|
|
@@ -49,8 +54,9 @@ const _sfc_main = {
|
|
|
49
54
|
})
|
|
50
55
|
]),
|
|
51
56
|
_: 1
|
|
52
|
-
}, 8, ["to"]),
|
|
53
|
-
vue.
|
|
57
|
+
}, 8, ["to"])) : vue.createCommentVNode("", true),
|
|
58
|
+
__props.access ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
59
|
+
key: 2,
|
|
54
60
|
onClick: _cache[0] || (_cache[0] = ($event) => deleteCategory(__props.category)),
|
|
55
61
|
class: "i-semi cursor-pointer card-page-actions radius-extra pd-micro bg-second flex-child-default"
|
|
56
62
|
}, [
|
|
@@ -58,7 +64,7 @@ const _sfc_main = {
|
|
|
58
64
|
class: "w-100 h-100",
|
|
59
65
|
fill: "white"
|
|
60
66
|
})
|
|
61
|
-
])
|
|
67
|
+
])) : vue.createCommentVNode("", true)
|
|
62
68
|
])
|
|
63
69
|
]);
|
|
64
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardCategory.vue.cjs","sources":["../../../../../../../src/modules/products/components/blocks/CardCategory.vue"],"sourcesContent":["<template>\n <div class=\"flex-v-center bg-light pd-small radius-small flex-column flex\">\n <div class=\"w-100 flex-v-center flex-nowrap gap-thin flex\">\n <img v-if=\"category.photo\" class=\"i-big radius-small object-fit-contain bg-white\" :src=\"(FILE_SERVER_URL || '') + category.photo\"/>\n <h4 class=\"my-handle word-break t-truncate w-100 w-max-100 mn-r-auto\">{{category.name}}</h4>\n\n <router-link\n :to=\"{\n name: 'Category Edit', \n params: { \n _id: route.params._id,\n category: category._id\n } \n }\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconEdit\n class=\"w-100 h-100\" \n classes=\"fill-white\"\n />\n </router-link>\n\n <button\n @click=\"deleteCategory(category)\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconDelete\n class=\"w-100 h-100\"\n :fill=\"'white'\"\n />\n </button>\n </div>\n\n <!-- <p v-if=\" category.children.length > 0\" class=\"w-100\">Subcategories:</p> -->\n <!-- <CardCategory\n v-for=\"(subcategory,index) in category.children\"\n :key=\"subcategory._id\"\n :category=\"subcategory\" \n class=\"pd-l-small bg-white w-100\"\n /> -->\n\n </div>\n</template>\n\n\n<script setup>\nimport { toRef, onMounted, defineEmits } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport CardCategory from './CardCategory.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\n\nconst props = defineProps({\n category: Object,\n});\n\nconst emits = defineEmits(['delete']);\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst deleteCategory = (category) => {\n emits('delete', category);\n};\n\n</script>\n\n\n\n<style lang=\"scss\">\n.card-title {\n .card-page-actions {\n display: none;\n }\n\n &:hover {\n .card-page-actions {\n display: block;\n }\n }\n}\n</style>\n"],"names":["useRoute","useRouter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CardCategory.vue.cjs","sources":["../../../../../../../src/modules/products/components/blocks/CardCategory.vue"],"sourcesContent":["<template>\n <div class=\"flex-v-center bg-light pd-small radius-small flex-column flex\">\n <div class=\"w-100 flex-v-center flex-nowrap gap-thin flex\">\n <img v-if=\"category.photo\" class=\"i-big radius-small object-fit-contain bg-white\" :src=\"(FILE_SERVER_URL || '') + category.photo\"/>\n <h4 class=\"my-handle word-break t-truncate w-100 w-max-100 mn-r-auto\">{{category.name}}</h4>\n\n <router-link\n v-if=\"access\"\n :to=\"{\n name: 'Category Edit', \n params: { \n _id: route.params._id,\n category: category._id\n } \n }\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconEdit\n class=\"w-100 h-100\" \n classes=\"fill-white\"\n />\n </router-link>\n\n <button\n v-if=\"access\"\n @click=\"deleteCategory(category)\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconDelete\n class=\"w-100 h-100\"\n :fill=\"'white'\"\n />\n </button>\n </div>\n\n <!-- <p v-if=\" category.children.length > 0\" class=\"w-100\">Subcategories:</p> -->\n <!-- <CardCategory\n v-for=\"(subcategory,index) in category.children\"\n :key=\"subcategory._id\"\n :category=\"subcategory\" \n class=\"pd-l-small bg-white w-100\"\n /> -->\n\n </div>\n</template>\n\n\n<script setup>\nimport { toRef, onMounted, defineEmits } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport CardCategory from './CardCategory.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\n\nconst props = defineProps({\n category: Object,\n access: {\n type: Boolean,\n default: false\n }\n});\n\nconst emits = defineEmits(['delete']);\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst deleteCategory = (category) => {\n emits('delete', category);\n};\n\n</script>\n\n\n\n<style lang=\"scss\">\n.card-title {\n .card-page-actions {\n display: none;\n }\n\n &:hover {\n .card-page-actions {\n display: block;\n }\n }\n}\n</style>\n"],"names":["useRoute","useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA8EA,UAAM,QAAQ;AAEd,UAAM,QAAQA,UAAAA,SAAQ;AACPC,cAAAA,UAAS;AAExB,UAAM,iBAAiB,CAAC,aAAa;AACnC,YAAM,UAAU,QAAQ;AAAA,IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode,
|
|
1
|
+
import { resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createBlock, toDisplayString, unref, withCtx, createVNode } from "vue";
|
|
2
2
|
import { useRoute, useRouter } from "vue-router";
|
|
3
3
|
import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
|
|
4
4
|
import _sfc_main$2 from "../../../icons/navigation/IconDelete.vue.js";
|
|
@@ -10,7 +10,11 @@ const _hoisted_4 = { class: "my-handle word-break t-truncate w-100 w-max-100 mn-
|
|
|
10
10
|
const _sfc_main = {
|
|
11
11
|
__name: "CardCategory",
|
|
12
12
|
props: {
|
|
13
|
-
category: Object
|
|
13
|
+
category: Object,
|
|
14
|
+
access: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: false
|
|
17
|
+
}
|
|
14
18
|
},
|
|
15
19
|
emits: ["delete"],
|
|
16
20
|
setup(__props, { emit: __emit }) {
|
|
@@ -30,7 +34,8 @@ const _sfc_main = {
|
|
|
30
34
|
src: (_ctx.FILE_SERVER_URL || "") + __props.category.photo
|
|
31
35
|
}, null, 8, _hoisted_3)) : createCommentVNode("", true),
|
|
32
36
|
createElementVNode("h4", _hoisted_4, toDisplayString(__props.category.name), 1),
|
|
33
|
-
|
|
37
|
+
__props.access ? (openBlock(), createBlock(_component_router_link, {
|
|
38
|
+
key: 1,
|
|
34
39
|
to: {
|
|
35
40
|
name: "Category Edit",
|
|
36
41
|
params: {
|
|
@@ -47,8 +52,9 @@ const _sfc_main = {
|
|
|
47
52
|
})
|
|
48
53
|
]),
|
|
49
54
|
_: 1
|
|
50
|
-
}, 8, ["to"]),
|
|
51
|
-
|
|
55
|
+
}, 8, ["to"])) : createCommentVNode("", true),
|
|
56
|
+
__props.access ? (openBlock(), createElementBlock("button", {
|
|
57
|
+
key: 2,
|
|
52
58
|
onClick: _cache[0] || (_cache[0] = ($event) => deleteCategory(__props.category)),
|
|
53
59
|
class: "i-semi cursor-pointer card-page-actions radius-extra pd-micro bg-second flex-child-default"
|
|
54
60
|
}, [
|
|
@@ -56,7 +62,7 @@ const _sfc_main = {
|
|
|
56
62
|
class: "w-100 h-100",
|
|
57
63
|
fill: "white"
|
|
58
64
|
})
|
|
59
|
-
])
|
|
65
|
+
])) : createCommentVNode("", true)
|
|
60
66
|
])
|
|
61
67
|
]);
|
|
62
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardCategory.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/CardCategory.vue"],"sourcesContent":["<template>\n <div class=\"flex-v-center bg-light pd-small radius-small flex-column flex\">\n <div class=\"w-100 flex-v-center flex-nowrap gap-thin flex\">\n <img v-if=\"category.photo\" class=\"i-big radius-small object-fit-contain bg-white\" :src=\"(FILE_SERVER_URL || '') + category.photo\"/>\n <h4 class=\"my-handle word-break t-truncate w-100 w-max-100 mn-r-auto\">{{category.name}}</h4>\n\n <router-link\n :to=\"{\n name: 'Category Edit', \n params: { \n _id: route.params._id,\n category: category._id\n } \n }\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconEdit\n class=\"w-100 h-100\" \n classes=\"fill-white\"\n />\n </router-link>\n\n <button\n @click=\"deleteCategory(category)\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconDelete\n class=\"w-100 h-100\"\n :fill=\"'white'\"\n />\n </button>\n </div>\n\n <!-- <p v-if=\" category.children.length > 0\" class=\"w-100\">Subcategories:</p> -->\n <!-- <CardCategory\n v-for=\"(subcategory,index) in category.children\"\n :key=\"subcategory._id\"\n :category=\"subcategory\" \n class=\"pd-l-small bg-white w-100\"\n /> -->\n\n </div>\n</template>\n\n\n<script setup>\nimport { toRef, onMounted, defineEmits } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport CardCategory from './CardCategory.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\n\nconst props = defineProps({\n category: Object,\n});\n\nconst emits = defineEmits(['delete']);\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst deleteCategory = (category) => {\n emits('delete', category);\n};\n\n</script>\n\n\n\n<style lang=\"scss\">\n.card-title {\n .card-page-actions {\n display: none;\n }\n\n &:hover {\n .card-page-actions {\n display: block;\n }\n }\n}\n</style>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CardCategory.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/CardCategory.vue"],"sourcesContent":["<template>\n <div class=\"flex-v-center bg-light pd-small radius-small flex-column flex\">\n <div class=\"w-100 flex-v-center flex-nowrap gap-thin flex\">\n <img v-if=\"category.photo\" class=\"i-big radius-small object-fit-contain bg-white\" :src=\"(FILE_SERVER_URL || '') + category.photo\"/>\n <h4 class=\"my-handle word-break t-truncate w-100 w-max-100 mn-r-auto\">{{category.name}}</h4>\n\n <router-link\n v-if=\"access\"\n :to=\"{\n name: 'Category Edit', \n params: { \n _id: route.params._id,\n category: category._id\n } \n }\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconEdit\n class=\"w-100 h-100\" \n classes=\"fill-white\"\n />\n </router-link>\n\n <button\n v-if=\"access\"\n @click=\"deleteCategory(category)\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconDelete\n class=\"w-100 h-100\"\n :fill=\"'white'\"\n />\n </button>\n </div>\n\n <!-- <p v-if=\" category.children.length > 0\" class=\"w-100\">Subcategories:</p> -->\n <!-- <CardCategory\n v-for=\"(subcategory,index) in category.children\"\n :key=\"subcategory._id\"\n :category=\"subcategory\" \n class=\"pd-l-small bg-white w-100\"\n /> -->\n\n </div>\n</template>\n\n\n<script setup>\nimport { toRef, onMounted, defineEmits } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport CardCategory from './CardCategory.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\n\nconst props = defineProps({\n category: Object,\n access: {\n type: Boolean,\n default: false\n }\n});\n\nconst emits = defineEmits(['delete']);\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst deleteCategory = (category) => {\n emits('delete', category);\n};\n\n</script>\n\n\n\n<style lang=\"scss\">\n.card-title {\n .card-page-actions {\n display: none;\n }\n\n &:hover {\n .card-page-actions {\n display: block;\n }\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA8EA,UAAM,QAAQ;AAEd,UAAM,QAAQ,SAAQ;AACP,cAAS;AAExB,UAAM,iBAAiB,CAAC,aAAa;AACnC,YAAM,UAAU,QAAQ;AAAA,IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -4,7 +4,7 @@ const vue = require("vue");
|
|
|
4
4
|
const vueI18n = require("vue-i18n");
|
|
5
5
|
const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
|
|
6
6
|
const IconShopcartAdd = require("../../../icons/actions/IconShopcartAdd.vue.cjs");
|
|
7
|
-
const THC = require("../elements/THC.
|
|
7
|
+
const THC = require("../elements/THC.vue2.cjs");
|
|
8
8
|
const Price = require("../elements/Price.vue.cjs");
|
|
9
9
|
const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
|
|
10
10
|
;/* empty css */
|
|
@@ -2,7 +2,7 @@ import { resolveComponent, createElementBlock, openBlock, createBlock, createCom
|
|
|
2
2
|
import { useI18n } from "vue-i18n";
|
|
3
3
|
import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
|
|
4
4
|
import _sfc_main$4 from "../../../icons/actions/IconShopcartAdd.vue.js";
|
|
5
|
-
import _sfc_main$2 from "../elements/THC.
|
|
5
|
+
import _sfc_main$2 from "../elements/THC.vue2.js";
|
|
6
6
|
import _sfc_main$3 from "../elements/Price.vue.js";
|
|
7
7
|
import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
|
|
8
8
|
/* empty css */
|
|
@@ -4,6 +4,7 @@ const vue = require("vue");
|
|
|
4
4
|
const IconDiscount = require("../../../icons/entities/IconDiscount.vue.cjs");
|
|
5
5
|
const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
|
|
6
6
|
const Tooltip = require("../../../../components/Tooltip/Tooltip.vue2.cjs");
|
|
7
|
+
const mixins = require("../../../globals/views/mixins/mixins.cjs");
|
|
7
8
|
;/* empty css */
|
|
8
9
|
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
9
10
|
const _hoisted_1 = { key: 0 };
|
|
@@ -43,6 +44,7 @@ const _sfc_main = {
|
|
|
43
44
|
},
|
|
44
45
|
emits: ["select-discount"],
|
|
45
46
|
setup(__props, { emit: __emit }) {
|
|
47
|
+
const { returnCurrency } = mixins.useGlobalMixins();
|
|
46
48
|
const props = __props;
|
|
47
49
|
const emit = __emit;
|
|
48
50
|
const hasDateCondition = (discount) => {
|
|
@@ -106,7 +108,7 @@ const _sfc_main = {
|
|
|
106
108
|
]),
|
|
107
109
|
_: 2
|
|
108
110
|
}, 1032, ["text"]),
|
|
109
|
-
vue.createElementVNode("span", _hoisted_7, vue.toDisplayString(
|
|
111
|
+
vue.createElementVNode("span", _hoisted_7, vue.toDisplayString(vue.unref(returnCurrency)()) + vue.toDisplayString(discount.value) + " per " + vue.toDisplayString(currentVariant.value?.quantity || 1) + vue.toDisplayString(currentVariant.value?.unit || _ctx.pcs), 1)
|
|
110
112
|
]),
|
|
111
113
|
discount.description ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8, vue.toDisplayString(discount.description), 1)) : vue.createCommentVNode("", true),
|
|
112
114
|
getConditionsAsChips(discount).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
|
|
@@ -122,6 +124,6 @@ const _sfc_main = {
|
|
|
122
124
|
};
|
|
123
125
|
}
|
|
124
126
|
};
|
|
125
|
-
const ProductDiscounts = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
127
|
+
const ProductDiscounts = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e985863b"]]);
|
|
126
128
|
exports.default = ProductDiscounts;
|
|
127
129
|
//# sourceMappingURL=ProductDiscounts.vue.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDiscounts.vue.cjs","sources":["../../../../../../../src/modules/products/components/blocks/ProductDiscounts.vue"],"sourcesContent":["<template>\n <div v-if=\"discounts && discounts.length\">\n <div class=\"mn-b-small flex-nowrap flex flex-v-center\">\n <IconDiscount class=\"mn-r-micro i-medium\"/>\n <p class=\"t-medium\">Special Offers</p>\n </div>\n\n <div class=\"flex flex-column flex-wrap gap-thin\">\n <div \n v-for=\"(discount, index) in discounts\" \n :key=\"index\" \n class=\"discount-card bg-light pd-small radius-small br-1px br-solid br-light cursor-pointer \"\n @click=\"selectDiscount(discount)\"\n >\n <div class=\"flex flex-wrap gap-thin flex-v-center w-100\">\n\n <Tooltip :text=\"discount.description || 'No description'\">\n <span class=\"discount-name t-semi p-medium\">{{ discount.name }}</span>\n </Tooltip>\n\n <span class=\"t-main p-medium\">\n {{returnCurrency()}}{{ discount.value }} per {{ currentVariant?.quantity || 1 }}{{ currentVariant?.unit || pcs }}\n </span>\n\n </div>\n \n <p v-if=\"discount.description\" class=\"t-small mn-t-thin t-transp\">{{ discount.description }}</p>\n <div v-if=\"getConditionsAsChips(discount).length > 0\" class=\"mn-t-small\"><Chips class=\"\" :chips=\"getConditionsAsChips(discount)\" /></div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\nimport IconDiscount from '@martyrs/src/modules/icons/entities/IconDiscount.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue';\nimport Tooltip from '@martyrs/src/components/Tooltip/Tooltip.vue';\n\nconst props = defineProps({\n discounts: { \n type: Array, \n default: () => [] \n },\n regularPrice: { \n type: [String, Number], \n default: 0 \n },\n selectedVariant: {\n type: Object,\n default: null\n },\n productVariants: {\n type: Array,\n default: () => []\n }\n});\n\nconst emit = defineEmits(['select-discount']);\n\n// Helper to determine if a discount has date conditions\nconst hasDateCondition = (discount) => {\n return discount.date && (discount.date.start || discount.date.end);\n};\n\n// Helper to determine if a discount has time conditions\nconst hasTimeCondition = (discount) => {\n return discount.time && (discount.time.start || discount.time.end);\n};\n\n// Format date range for display\nconst formatDateRange = (dateRange) => {\n if (!dateRange) return '';\n \n const start = dateRange.start ? new Date(dateRange.start).toLocaleDateString() : 'Anytime';\n const end = dateRange.end ? new Date(dateRange.end).toLocaleDateString() : 'No end date';\n \n return `${start}-${end}`;\n};\n\n// Format time range for display\nconst formatTimeRange = (timeRange) => {\n if (!timeRange) return '';\n \n const start = timeRange.start || 'Anytime';\n const end = timeRange.end || 'No end time';\n \n // Check if we're referencing today\n const now = new Date();\n const isToday = true; // Simplification - in a real app we'd check if the date range includes today\n \n return isToday ? `${start}-${end} today` : `${start}-${end}`;\n};\n\n// Get the current variant (selected or default to first)\nconst currentVariant = computed(() => {\n return props.selectedVariant || (props.productVariants?.length > 0 ? props.productVariants[0] : null);\n});\n\nconst getConditionsAsChips = (discount) => {\n const chips = [];\n \n // Quantity condition - используем quantity из текущего варианта, а не из скидки\n // if (currentVariant.value?.quantity && currentVariant.value.quantity > 0) {\n // chips.push({ \n // text: `+${discount.quantity}`, \n // });\n // }\n \n // Date condition\n if (hasDateCondition(discount)) {\n chips.push({ \n text: `Valid: ${formatDateRange(discount.date)}` \n });\n }\n \n // Time condition\n if (hasTimeCondition(discount)) {\n chips.push({ \n text: `Available: ${formatTimeRange(discount.time)}` \n });\n }\n \n return chips;\n};\n// Handle discount selection\nconst selectDiscount = (discount) => {\n emit('select-discount', discount);\n};\n</script>\n\n<style scoped>\n.discount-card {\n transition: all 0.2s ease;\n}\n\n.discount-card:hover {\n border-color: rgb(var(--main));\n}\n</style>"],"names":["computed"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProductDiscounts.vue.cjs","sources":["../../../../../../../src/modules/products/components/blocks/ProductDiscounts.vue"],"sourcesContent":["<template>\n <div v-if=\"discounts && discounts.length\">\n <div class=\"mn-b-small flex-nowrap flex flex-v-center\">\n <IconDiscount class=\"mn-r-micro i-medium\"/>\n <p class=\"t-medium\">Special Offers</p>\n </div>\n\n <div class=\"flex flex-column flex-wrap gap-thin\">\n <div \n v-for=\"(discount, index) in discounts\" \n :key=\"index\" \n class=\"discount-card bg-light pd-small radius-small br-1px br-solid br-light cursor-pointer \"\n @click=\"selectDiscount(discount)\"\n >\n <div class=\"flex flex-wrap gap-thin flex-v-center w-100\">\n\n <Tooltip :text=\"discount.description || 'No description'\">\n <span class=\"discount-name t-semi p-medium\">{{ discount.name }}</span>\n </Tooltip>\n\n <span class=\"t-main p-medium\">\n {{returnCurrency()}}{{ discount.value }} per {{ currentVariant?.quantity || 1 }}{{ currentVariant?.unit || pcs }}\n </span>\n\n </div>\n \n <p v-if=\"discount.description\" class=\"t-small mn-t-thin t-transp\">{{ discount.description }}</p>\n <div v-if=\"getConditionsAsChips(discount).length > 0\" class=\"mn-t-small\"><Chips class=\"\" :chips=\"getConditionsAsChips(discount)\" /></div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\nimport IconDiscount from '@martyrs/src/modules/icons/entities/IconDiscount.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue';\nimport Tooltip from '@martyrs/src/components/Tooltip/Tooltip.vue';\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\nconst { returnCurrency } = useGlobalMixins();\n\nconst props = defineProps({\n discounts: { \n type: Array, \n default: () => [] \n },\n regularPrice: { \n type: [String, Number], \n default: 0 \n },\n selectedVariant: {\n type: Object,\n default: null\n },\n productVariants: {\n type: Array,\n default: () => []\n }\n});\n\nconst emit = defineEmits(['select-discount']);\n\n// Helper to determine if a discount has date conditions\nconst hasDateCondition = (discount) => {\n return discount.date && (discount.date.start || discount.date.end);\n};\n\n// Helper to determine if a discount has time conditions\nconst hasTimeCondition = (discount) => {\n return discount.time && (discount.time.start || discount.time.end);\n};\n\n// Format date range for display\nconst formatDateRange = (dateRange) => {\n if (!dateRange) return '';\n \n const start = dateRange.start ? new Date(dateRange.start).toLocaleDateString() : 'Anytime';\n const end = dateRange.end ? new Date(dateRange.end).toLocaleDateString() : 'No end date';\n \n return `${start}-${end}`;\n};\n\n// Format time range for display\nconst formatTimeRange = (timeRange) => {\n if (!timeRange) return '';\n \n const start = timeRange.start || 'Anytime';\n const end = timeRange.end || 'No end time';\n \n // Check if we're referencing today\n const now = new Date();\n const isToday = true; // Simplification - in a real app we'd check if the date range includes today\n \n return isToday ? `${start}-${end} today` : `${start}-${end}`;\n};\n\n// Get the current variant (selected or default to first)\nconst currentVariant = computed(() => {\n return props.selectedVariant || (props.productVariants?.length > 0 ? props.productVariants[0] : null);\n});\n\nconst getConditionsAsChips = (discount) => {\n const chips = [];\n \n // Quantity condition - используем quantity из текущего варианта, а не из скидки\n // if (currentVariant.value?.quantity && currentVariant.value.quantity > 0) {\n // chips.push({ \n // text: `+${discount.quantity}`, \n // });\n // }\n \n // Date condition\n if (hasDateCondition(discount)) {\n chips.push({ \n text: `Valid: ${formatDateRange(discount.date)}` \n });\n }\n \n // Time condition\n if (hasTimeCondition(discount)) {\n chips.push({ \n text: `Available: ${formatTimeRange(discount.time)}` \n });\n }\n \n return chips;\n};\n// Handle discount selection\nconst selectDiscount = (discount) => {\n emit('select-discount', discount);\n};\n</script>\n\n<style scoped>\n.discount-card {\n transition: all 0.2s ease;\n}\n\n.discount-card:hover {\n border-color: rgb(var(--main));\n}\n</style>"],"names":["useGlobalMixins","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,UAAM,EAAE,eAAc,IAAKA,uBAAe;AAE1C,UAAM,QAAQ;AAmBd,UAAM,OAAO;AAGb,UAAM,mBAAmB,CAAC,aAAa;AACrC,aAAO,SAAS,SAAS,SAAS,KAAK,SAAS,SAAS,KAAK;AAAA,IAChE;AAGA,UAAM,mBAAmB,CAAC,aAAa;AACrC,aAAO,SAAS,SAAS,SAAS,KAAK,SAAS,SAAS,KAAK;AAAA,IAChE;AAGA,UAAM,kBAAkB,CAAC,cAAc;AACrC,UAAI,CAAC,UAAW,QAAO;AAEvB,YAAM,QAAQ,UAAU,QAAQ,IAAI,KAAK,UAAU,KAAK,EAAE,mBAAkB,IAAK;AACjF,YAAM,MAAM,UAAU,MAAM,IAAI,KAAK,UAAU,GAAG,EAAE,mBAAkB,IAAK;AAE3E,aAAO,GAAG,KAAK,IAAI,GAAG;AAAA,IACxB;AAGA,UAAM,kBAAkB,CAAC,cAAc;AACrC,UAAI,CAAC,UAAW,QAAO;AAEvB,YAAM,QAAQ,UAAU,SAAS;AACjC,YAAM,MAAM,UAAU,OAAO;AAI7B,YAAM,UAAU;AAEhB,aAAO,UAAU,GAAG,KAAK,IAAI,GAAG,WAAW,GAAG,KAAK,IAAI,GAAG;AAAA,IAC5D;AAGA,UAAM,iBAAiBC,IAAAA,SAAS,MAAM;AACpC,aAAO,MAAM,oBAAoB,MAAM,iBAAiB,SAAS,IAAI,MAAM,gBAAgB,CAAC,IAAI;AAAA,IAClG,CAAC;AAED,UAAM,uBAAuB,CAAC,aAAa;AACzC,YAAM,QAAQ,CAAA;AAUd,UAAI,iBAAiB,QAAQ,GAAG;AAC9B,cAAM,KAAK;AAAA,UACT,MAAM,UAAU,gBAAgB,SAAS,IAAI,CAAC;AAAA,QACpD,CAAK;AAAA,MACH;AAGA,UAAI,iBAAiB,QAAQ,GAAG;AAC9B,cAAM,KAAK;AAAA,UACT,MAAM,cAAc,gBAAgB,SAAS,IAAI,CAAC;AAAA,QACxD,CAAK;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAEA,UAAM,iBAAiB,CAAC,aAAa;AACnC,WAAK,mBAAmB,QAAQ;AAAA,IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { computed, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, Fragment, renderList, withCtx, toDisplayString } from "vue";
|
|
1
|
+
import { computed, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, Fragment, renderList, withCtx, toDisplayString, unref } from "vue";
|
|
2
2
|
import _sfc_main$1 from "../../../icons/entities/IconDiscount.vue.js";
|
|
3
3
|
import _sfc_main$3 from "../../../../components/Chips/Chips.vue2.js";
|
|
4
4
|
import _sfc_main$2 from "../../../../components/Tooltip/Tooltip.vue2.js";
|
|
5
|
+
import { useGlobalMixins } from "../../../globals/views/mixins/mixins.js";
|
|
5
6
|
/* empty css */
|
|
6
7
|
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
7
8
|
const _hoisted_1 = { key: 0 };
|
|
@@ -41,6 +42,7 @@ const _sfc_main = {
|
|
|
41
42
|
},
|
|
42
43
|
emits: ["select-discount"],
|
|
43
44
|
setup(__props, { emit: __emit }) {
|
|
45
|
+
const { returnCurrency } = useGlobalMixins();
|
|
44
46
|
const props = __props;
|
|
45
47
|
const emit = __emit;
|
|
46
48
|
const hasDateCondition = (discount) => {
|
|
@@ -104,7 +106,7 @@ const _sfc_main = {
|
|
|
104
106
|
]),
|
|
105
107
|
_: 2
|
|
106
108
|
}, 1032, ["text"]),
|
|
107
|
-
createElementVNode("span", _hoisted_7, toDisplayString(
|
|
109
|
+
createElementVNode("span", _hoisted_7, toDisplayString(unref(returnCurrency)()) + toDisplayString(discount.value) + " per " + toDisplayString(currentVariant.value?.quantity || 1) + toDisplayString(currentVariant.value?.unit || _ctx.pcs), 1)
|
|
108
110
|
]),
|
|
109
111
|
discount.description ? (openBlock(), createElementBlock("p", _hoisted_8, toDisplayString(discount.description), 1)) : createCommentVNode("", true),
|
|
110
112
|
getConditionsAsChips(discount).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_9, [
|
|
@@ -120,7 +122,7 @@ const _sfc_main = {
|
|
|
120
122
|
};
|
|
121
123
|
}
|
|
122
124
|
};
|
|
123
|
-
const ProductDiscounts = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
125
|
+
const ProductDiscounts = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e985863b"]]);
|
|
124
126
|
export {
|
|
125
127
|
ProductDiscounts as default
|
|
126
128
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDiscounts.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/ProductDiscounts.vue"],"sourcesContent":["<template>\n <div v-if=\"discounts && discounts.length\">\n <div class=\"mn-b-small flex-nowrap flex flex-v-center\">\n <IconDiscount class=\"mn-r-micro i-medium\"/>\n <p class=\"t-medium\">Special Offers</p>\n </div>\n\n <div class=\"flex flex-column flex-wrap gap-thin\">\n <div \n v-for=\"(discount, index) in discounts\" \n :key=\"index\" \n class=\"discount-card bg-light pd-small radius-small br-1px br-solid br-light cursor-pointer \"\n @click=\"selectDiscount(discount)\"\n >\n <div class=\"flex flex-wrap gap-thin flex-v-center w-100\">\n\n <Tooltip :text=\"discount.description || 'No description'\">\n <span class=\"discount-name t-semi p-medium\">{{ discount.name }}</span>\n </Tooltip>\n\n <span class=\"t-main p-medium\">\n {{returnCurrency()}}{{ discount.value }} per {{ currentVariant?.quantity || 1 }}{{ currentVariant?.unit || pcs }}\n </span>\n\n </div>\n \n <p v-if=\"discount.description\" class=\"t-small mn-t-thin t-transp\">{{ discount.description }}</p>\n <div v-if=\"getConditionsAsChips(discount).length > 0\" class=\"mn-t-small\"><Chips class=\"\" :chips=\"getConditionsAsChips(discount)\" /></div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\nimport IconDiscount from '@martyrs/src/modules/icons/entities/IconDiscount.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue';\nimport Tooltip from '@martyrs/src/components/Tooltip/Tooltip.vue';\n\nconst props = defineProps({\n discounts: { \n type: Array, \n default: () => [] \n },\n regularPrice: { \n type: [String, Number], \n default: 0 \n },\n selectedVariant: {\n type: Object,\n default: null\n },\n productVariants: {\n type: Array,\n default: () => []\n }\n});\n\nconst emit = defineEmits(['select-discount']);\n\n// Helper to determine if a discount has date conditions\nconst hasDateCondition = (discount) => {\n return discount.date && (discount.date.start || discount.date.end);\n};\n\n// Helper to determine if a discount has time conditions\nconst hasTimeCondition = (discount) => {\n return discount.time && (discount.time.start || discount.time.end);\n};\n\n// Format date range for display\nconst formatDateRange = (dateRange) => {\n if (!dateRange) return '';\n \n const start = dateRange.start ? new Date(dateRange.start).toLocaleDateString() : 'Anytime';\n const end = dateRange.end ? new Date(dateRange.end).toLocaleDateString() : 'No end date';\n \n return `${start}-${end}`;\n};\n\n// Format time range for display\nconst formatTimeRange = (timeRange) => {\n if (!timeRange) return '';\n \n const start = timeRange.start || 'Anytime';\n const end = timeRange.end || 'No end time';\n \n // Check if we're referencing today\n const now = new Date();\n const isToday = true; // Simplification - in a real app we'd check if the date range includes today\n \n return isToday ? `${start}-${end} today` : `${start}-${end}`;\n};\n\n// Get the current variant (selected or default to first)\nconst currentVariant = computed(() => {\n return props.selectedVariant || (props.productVariants?.length > 0 ? props.productVariants[0] : null);\n});\n\nconst getConditionsAsChips = (discount) => {\n const chips = [];\n \n // Quantity condition - используем quantity из текущего варианта, а не из скидки\n // if (currentVariant.value?.quantity && currentVariant.value.quantity > 0) {\n // chips.push({ \n // text: `+${discount.quantity}`, \n // });\n // }\n \n // Date condition\n if (hasDateCondition(discount)) {\n chips.push({ \n text: `Valid: ${formatDateRange(discount.date)}` \n });\n }\n \n // Time condition\n if (hasTimeCondition(discount)) {\n chips.push({ \n text: `Available: ${formatTimeRange(discount.time)}` \n });\n }\n \n return chips;\n};\n// Handle discount selection\nconst selectDiscount = (discount) => {\n emit('select-discount', discount);\n};\n</script>\n\n<style scoped>\n.discount-card {\n transition: all 0.2s ease;\n}\n\n.discount-card:hover {\n border-color: rgb(var(--main));\n}\n</style>"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProductDiscounts.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/ProductDiscounts.vue"],"sourcesContent":["<template>\n <div v-if=\"discounts && discounts.length\">\n <div class=\"mn-b-small flex-nowrap flex flex-v-center\">\n <IconDiscount class=\"mn-r-micro i-medium\"/>\n <p class=\"t-medium\">Special Offers</p>\n </div>\n\n <div class=\"flex flex-column flex-wrap gap-thin\">\n <div \n v-for=\"(discount, index) in discounts\" \n :key=\"index\" \n class=\"discount-card bg-light pd-small radius-small br-1px br-solid br-light cursor-pointer \"\n @click=\"selectDiscount(discount)\"\n >\n <div class=\"flex flex-wrap gap-thin flex-v-center w-100\">\n\n <Tooltip :text=\"discount.description || 'No description'\">\n <span class=\"discount-name t-semi p-medium\">{{ discount.name }}</span>\n </Tooltip>\n\n <span class=\"t-main p-medium\">\n {{returnCurrency()}}{{ discount.value }} per {{ currentVariant?.quantity || 1 }}{{ currentVariant?.unit || pcs }}\n </span>\n\n </div>\n \n <p v-if=\"discount.description\" class=\"t-small mn-t-thin t-transp\">{{ discount.description }}</p>\n <div v-if=\"getConditionsAsChips(discount).length > 0\" class=\"mn-t-small\"><Chips class=\"\" :chips=\"getConditionsAsChips(discount)\" /></div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\nimport IconDiscount from '@martyrs/src/modules/icons/entities/IconDiscount.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue';\nimport Tooltip from '@martyrs/src/components/Tooltip/Tooltip.vue';\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\nconst { returnCurrency } = useGlobalMixins();\n\nconst props = defineProps({\n discounts: { \n type: Array, \n default: () => [] \n },\n regularPrice: { \n type: [String, Number], \n default: 0 \n },\n selectedVariant: {\n type: Object,\n default: null\n },\n productVariants: {\n type: Array,\n default: () => []\n }\n});\n\nconst emit = defineEmits(['select-discount']);\n\n// Helper to determine if a discount has date conditions\nconst hasDateCondition = (discount) => {\n return discount.date && (discount.date.start || discount.date.end);\n};\n\n// Helper to determine if a discount has time conditions\nconst hasTimeCondition = (discount) => {\n return discount.time && (discount.time.start || discount.time.end);\n};\n\n// Format date range for display\nconst formatDateRange = (dateRange) => {\n if (!dateRange) return '';\n \n const start = dateRange.start ? new Date(dateRange.start).toLocaleDateString() : 'Anytime';\n const end = dateRange.end ? new Date(dateRange.end).toLocaleDateString() : 'No end date';\n \n return `${start}-${end}`;\n};\n\n// Format time range for display\nconst formatTimeRange = (timeRange) => {\n if (!timeRange) return '';\n \n const start = timeRange.start || 'Anytime';\n const end = timeRange.end || 'No end time';\n \n // Check if we're referencing today\n const now = new Date();\n const isToday = true; // Simplification - in a real app we'd check if the date range includes today\n \n return isToday ? `${start}-${end} today` : `${start}-${end}`;\n};\n\n// Get the current variant (selected or default to first)\nconst currentVariant = computed(() => {\n return props.selectedVariant || (props.productVariants?.length > 0 ? props.productVariants[0] : null);\n});\n\nconst getConditionsAsChips = (discount) => {\n const chips = [];\n \n // Quantity condition - используем quantity из текущего варианта, а не из скидки\n // if (currentVariant.value?.quantity && currentVariant.value.quantity > 0) {\n // chips.push({ \n // text: `+${discount.quantity}`, \n // });\n // }\n \n // Date condition\n if (hasDateCondition(discount)) {\n chips.push({ \n text: `Valid: ${formatDateRange(discount.date)}` \n });\n }\n \n // Time condition\n if (hasTimeCondition(discount)) {\n chips.push({ \n text: `Available: ${formatTimeRange(discount.time)}` \n });\n }\n \n return chips;\n};\n// Handle discount selection\nconst selectDiscount = (discount) => {\n emit('select-discount', discount);\n};\n</script>\n\n<style scoped>\n.discount-card {\n transition: all 0.2s ease;\n}\n\n.discount-card:hover {\n border-color: rgb(var(--main));\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,UAAM,EAAE,eAAc,IAAK,gBAAe;AAE1C,UAAM,QAAQ;AAmBd,UAAM,OAAO;AAGb,UAAM,mBAAmB,CAAC,aAAa;AACrC,aAAO,SAAS,SAAS,SAAS,KAAK,SAAS,SAAS,KAAK;AAAA,IAChE;AAGA,UAAM,mBAAmB,CAAC,aAAa;AACrC,aAAO,SAAS,SAAS,SAAS,KAAK,SAAS,SAAS,KAAK;AAAA,IAChE;AAGA,UAAM,kBAAkB,CAAC,cAAc;AACrC,UAAI,CAAC,UAAW,QAAO;AAEvB,YAAM,QAAQ,UAAU,QAAQ,IAAI,KAAK,UAAU,KAAK,EAAE,mBAAkB,IAAK;AACjF,YAAM,MAAM,UAAU,MAAM,IAAI,KAAK,UAAU,GAAG,EAAE,mBAAkB,IAAK;AAE3E,aAAO,GAAG,KAAK,IAAI,GAAG;AAAA,IACxB;AAGA,UAAM,kBAAkB,CAAC,cAAc;AACrC,UAAI,CAAC,UAAW,QAAO;AAEvB,YAAM,QAAQ,UAAU,SAAS;AACjC,YAAM,MAAM,UAAU,OAAO;AAI7B,YAAM,UAAU;AAEhB,aAAO,UAAU,GAAG,KAAK,IAAI,GAAG,WAAW,GAAG,KAAK,IAAI,GAAG;AAAA,IAC5D;AAGA,UAAM,iBAAiB,SAAS,MAAM;AACpC,aAAO,MAAM,oBAAoB,MAAM,iBAAiB,SAAS,IAAI,MAAM,gBAAgB,CAAC,IAAI;AAAA,IAClG,CAAC;AAED,UAAM,uBAAuB,CAAC,aAAa;AACzC,YAAM,QAAQ,CAAA;AAUd,UAAI,iBAAiB,QAAQ,GAAG;AAC9B,cAAM,KAAK;AAAA,UACT,MAAM,UAAU,gBAAgB,SAAS,IAAI,CAAC;AAAA,QACpD,CAAK;AAAA,MACH;AAGA,UAAI,iBAAiB,QAAQ,GAAG;AAC9B,cAAM,KAAK;AAAA,UACT,MAAM,cAAc,gBAAgB,SAAS,IAAI,CAAC;AAAA,QACxD,CAAK;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAEA,UAAM,iBAAiB,CAAC,aAAa;AACnC,WAAK,mBAAmB,QAAQ;AAAA,IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +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 mixins = require("../../../globals/views/mixins/mixins.cjs");
|
|
4
5
|
const _hoisted_1 = { class: "price-tag radius-small" };
|
|
5
6
|
const _hoisted_2 = {
|
|
6
7
|
key: 0,
|
|
@@ -14,6 +15,7 @@ const _sfc_main = {
|
|
|
14
15
|
size: String
|
|
15
16
|
},
|
|
16
17
|
setup(__props) {
|
|
18
|
+
const { returnCurrency } = mixins.useGlobalMixins();
|
|
17
19
|
const props = __props;
|
|
18
20
|
const variant = vue.computed(() => {
|
|
19
21
|
return props.product?.variants?.[0] || props.variants?.[0] || props.product;
|
|
@@ -26,7 +28,7 @@ const _sfc_main = {
|
|
|
26
28
|
"p-medium t-semi": __props.size === "small",
|
|
27
29
|
"h3 t-semi": __props.size === "big"
|
|
28
30
|
})
|
|
29
|
-
}, vue.toDisplayString(
|
|
31
|
+
}, vue.toDisplayString(vue.unref(returnCurrency)() + variant.value.price), 3),
|
|
30
32
|
vue.createElementVNode("span", {
|
|
31
33
|
class: vue.normalizeClass([{
|
|
32
34
|
"p-medium": !__props.size,
|
|
@@ -34,7 +36,7 @@ const _sfc_main = {
|
|
|
34
36
|
"p-semi": __props.size === "big"
|
|
35
37
|
}, "p-small mn-l-micro t-transp"])
|
|
36
38
|
}, vue.toDisplayString(__props.product?.listing === "rent" ? "per day" : "for " + variant.value.quantity + variant.value.unit), 3),
|
|
37
|
-
variant.value.sale ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2, vue.toDisplayString(
|
|
39
|
+
variant.value.sale ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2, vue.toDisplayString(vue.unref(returnCurrency)() + variant.value.price / 100 * (100 + variant.value.sale)), 1)) : vue.createCommentVNode("", true)
|
|
38
40
|
]);
|
|
39
41
|
};
|
|
40
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Price.vue.cjs","sources":["../../../../../../../src/modules/products/components/elements/Price.vue"],"sourcesContent":["<template>\n <div class=\"price-tag radius-small\">\n <span\n :class=\"{\n 'h4': !size,\n 'p-medium t-semi': size === 'small',\n 'h3 t-semi': size === 'big'\n }\"\n >\n {{ returnCurrency() + variant.price }}\n </span>\n\n <span\n :class=\"{\n 'p-medium': !size,\n 'p-small': size === 'small',\n 'p-semi': size === 'big'\n }\"\n class=\"p-small mn-l-micro t-transp\"\n >\n {{ product?.listing === 'rent' ? 'per day' : 'for ' + variant.quantity + variant.unit }}\n </span>\n\n <p\n v-if=\"variant.sale\"\n class=\"pd-r-small t-transp p-medium line-through price\"\n >\n {{ returnCurrency() + ((variant.price / 100) * (100 + variant.sale)) }}\n </p>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\n\nconst props = defineProps({\n product: Object,\n variants: Array,\n size: String\n});\n\nconst variant = computed(() => {\n return props.product?.variants?.[0] || props.variants?.[0] || props.product;\n});\n</script>\n"],"names":["computed"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Price.vue.cjs","sources":["../../../../../../../src/modules/products/components/elements/Price.vue"],"sourcesContent":["<template>\n <div class=\"price-tag radius-small\">\n <span\n :class=\"{\n 'h4': !size,\n 'p-medium t-semi': size === 'small',\n 'h3 t-semi': size === 'big'\n }\"\n >\n {{ returnCurrency() + variant.price }}\n </span>\n\n <span\n :class=\"{\n 'p-medium': !size,\n 'p-small': size === 'small',\n 'p-semi': size === 'big'\n }\"\n class=\"p-small mn-l-micro t-transp\"\n >\n {{ product?.listing === 'rent' ? 'per day' : 'for ' + variant.quantity + variant.unit }}\n </span>\n\n <p\n v-if=\"variant.sale\"\n class=\"pd-r-small t-transp p-medium line-through price\"\n >\n {{ returnCurrency() + ((variant.price / 100) * (100 + variant.sale)) }}\n </p>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\nconst { returnCurrency } = useGlobalMixins();\n\nconst props = defineProps({\n product: Object,\n variants: Array,\n size: String\n});\n\nconst variant = computed(() => {\n return props.product?.variants?.[0] || props.variants?.[0] || props.product;\n});\n</script>\n"],"names":["useGlobalMixins","computed"],"mappings":";;;;;;;;;;;;;;;;;AAoCA,UAAM,EAAE,eAAc,IAAKA,uBAAe;AAE1C,UAAM,QAAQ;AAMd,UAAM,UAAUC,IAAAA,SAAS,MAAM;AAC7B,aAAO,MAAM,SAAS,WAAW,CAAC,KAAK,MAAM,WAAW,CAAC,KAAK,MAAM;AAAA,IACtE,CAAC;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, toDisplayString } from "vue";
|
|
1
|
+
import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, toDisplayString, unref } from "vue";
|
|
2
|
+
import { useGlobalMixins } from "../../../globals/views/mixins/mixins.js";
|
|
2
3
|
const _hoisted_1 = { class: "price-tag radius-small" };
|
|
3
4
|
const _hoisted_2 = {
|
|
4
5
|
key: 0,
|
|
@@ -12,6 +13,7 @@ const _sfc_main = {
|
|
|
12
13
|
size: String
|
|
13
14
|
},
|
|
14
15
|
setup(__props) {
|
|
16
|
+
const { returnCurrency } = useGlobalMixins();
|
|
15
17
|
const props = __props;
|
|
16
18
|
const variant = computed(() => {
|
|
17
19
|
return props.product?.variants?.[0] || props.variants?.[0] || props.product;
|
|
@@ -24,7 +26,7 @@ const _sfc_main = {
|
|
|
24
26
|
"p-medium t-semi": __props.size === "small",
|
|
25
27
|
"h3 t-semi": __props.size === "big"
|
|
26
28
|
})
|
|
27
|
-
}, toDisplayString(
|
|
29
|
+
}, toDisplayString(unref(returnCurrency)() + variant.value.price), 3),
|
|
28
30
|
createElementVNode("span", {
|
|
29
31
|
class: normalizeClass([{
|
|
30
32
|
"p-medium": !__props.size,
|
|
@@ -32,7 +34,7 @@ const _sfc_main = {
|
|
|
32
34
|
"p-semi": __props.size === "big"
|
|
33
35
|
}, "p-small mn-l-micro t-transp"])
|
|
34
36
|
}, toDisplayString(__props.product?.listing === "rent" ? "per day" : "for " + variant.value.quantity + variant.value.unit), 3),
|
|
35
|
-
variant.value.sale ? (openBlock(), createElementBlock("p", _hoisted_2, toDisplayString(
|
|
37
|
+
variant.value.sale ? (openBlock(), createElementBlock("p", _hoisted_2, toDisplayString(unref(returnCurrency)() + variant.value.price / 100 * (100 + variant.value.sale)), 1)) : createCommentVNode("", true)
|
|
36
38
|
]);
|
|
37
39
|
};
|
|
38
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Price.vue.js","sources":["../../../../../../../src/modules/products/components/elements/Price.vue"],"sourcesContent":["<template>\n <div class=\"price-tag radius-small\">\n <span\n :class=\"{\n 'h4': !size,\n 'p-medium t-semi': size === 'small',\n 'h3 t-semi': size === 'big'\n }\"\n >\n {{ returnCurrency() + variant.price }}\n </span>\n\n <span\n :class=\"{\n 'p-medium': !size,\n 'p-small': size === 'small',\n 'p-semi': size === 'big'\n }\"\n class=\"p-small mn-l-micro t-transp\"\n >\n {{ product?.listing === 'rent' ? 'per day' : 'for ' + variant.quantity + variant.unit }}\n </span>\n\n <p\n v-if=\"variant.sale\"\n class=\"pd-r-small t-transp p-medium line-through price\"\n >\n {{ returnCurrency() + ((variant.price / 100) * (100 + variant.sale)) }}\n </p>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\n\nconst props = defineProps({\n product: Object,\n variants: Array,\n size: String\n});\n\nconst variant = computed(() => {\n return props.product?.variants?.[0] || props.variants?.[0] || props.product;\n});\n</script>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Price.vue.js","sources":["../../../../../../../src/modules/products/components/elements/Price.vue"],"sourcesContent":["<template>\n <div class=\"price-tag radius-small\">\n <span\n :class=\"{\n 'h4': !size,\n 'p-medium t-semi': size === 'small',\n 'h3 t-semi': size === 'big'\n }\"\n >\n {{ returnCurrency() + variant.price }}\n </span>\n\n <span\n :class=\"{\n 'p-medium': !size,\n 'p-small': size === 'small',\n 'p-semi': size === 'big'\n }\"\n class=\"p-small mn-l-micro t-transp\"\n >\n {{ product?.listing === 'rent' ? 'per day' : 'for ' + variant.quantity + variant.unit }}\n </span>\n\n <p\n v-if=\"variant.sale\"\n class=\"pd-r-small t-transp p-medium line-through price\"\n >\n {{ returnCurrency() + ((variant.price / 100) * (100 + variant.sale)) }}\n </p>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\nconst { returnCurrency } = useGlobalMixins();\n\nconst props = defineProps({\n product: Object,\n variants: Array,\n size: String\n});\n\nconst variant = computed(() => {\n return props.product?.variants?.[0] || props.variants?.[0] || props.product;\n});\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAoCA,UAAM,EAAE,eAAc,IAAK,gBAAe;AAE1C,UAAM,QAAQ;AAMd,UAAM,UAAU,SAAS,MAAM;AAC7B,aAAO,MAAM,SAAS,WAAW,CAAC,KAAK,MAAM,WAAW,CAAC,KAAK,MAAM;AAAA,IACtE,CAAC;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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
|
-
;/* empty css
|
|
4
|
+
;/* empty css */
|
|
5
5
|
const _hoisted_1 = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "thc"
|
|
@@ -86,4 +86,4 @@ const _sfc_main = {
|
|
|
86
86
|
}
|
|
87
87
|
};
|
|
88
88
|
exports.default = _sfc_main;
|
|
89
|
-
//# sourceMappingURL=THC.
|
|
89
|
+
//# sourceMappingURL=THC.vue2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"THC.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createElementBlock, createCommentVNode, openBlock, createElementVNode, toDisplayString } from "vue";
|
|
2
|
-
/* empty css
|
|
2
|
+
/* empty css */
|
|
3
3
|
const _hoisted_1 = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "thc"
|
|
@@ -86,4 +86,4 @@ const _sfc_main = {
|
|
|
86
86
|
export {
|
|
87
87
|
_sfc_main as default
|
|
88
88
|
};
|
|
89
|
-
//# sourceMappingURL=THC.
|
|
89
|
+
//# sourceMappingURL=THC.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"THC.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,10 +5,11 @@ const vueRouter = require("vue-router");
|
|
|
5
5
|
const globals = require("../../../globals/views/store/globals.cjs");
|
|
6
6
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
7
7
|
const categories = require("../../store/categories.cjs");
|
|
8
|
+
const mixins = require("../../../globals/views/mixins/mixins.cjs");
|
|
8
9
|
;/* empty css */
|
|
9
10
|
;/* empty css */
|
|
10
11
|
const Block = require("../../../../components/Block/Block.vue.cjs");
|
|
11
|
-
const Feed = require("../../../../components/Feed/Feed.
|
|
12
|
+
const Feed = require("../../../../components/Feed/Feed.vue2.cjs");
|
|
12
13
|
const Tree = require("../../../../components/Tree/Tree.vue.cjs");
|
|
13
14
|
const CardCategory = require("../blocks/CardCategory.vue.cjs");
|
|
14
15
|
const IconPlus = require("../../../icons/navigation/IconPlus.vue.cjs");
|
|
@@ -19,6 +20,7 @@ const _sfc_main = {
|
|
|
19
20
|
setup(__props) {
|
|
20
21
|
const route = vueRouter.useRoute();
|
|
21
22
|
const router = vueRouter.useRouter();
|
|
23
|
+
const { hasAccess } = mixins.useGlobalMixins();
|
|
22
24
|
vue.ref(null);
|
|
23
25
|
let sort = vue.reactive({
|
|
24
26
|
param: "order",
|
|
@@ -174,8 +176,9 @@ const _sfc_main = {
|
|
|
174
176
|
default: vue.withCtx(({ item }) => [
|
|
175
177
|
vue.createVNode(CardCategory.default, {
|
|
176
178
|
category: item,
|
|
179
|
+
access: vue.unref(hasAccess)(vue.unref(route).params._id, "products", "edit", auth.state.accesses, auth.state.access.roles),
|
|
177
180
|
onDelete: deleteCategory
|
|
178
|
-
}, null, 8, ["category"])
|
|
181
|
+
}, null, 8, ["category", "access"])
|
|
179
182
|
]),
|
|
180
183
|
_: 1
|
|
181
184
|
}, 8, ["items", "state"])) : vue.createCommentVNode("", true)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Categories.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Categories.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin bg-white\">\n <Block v-if=\"!MOBILE_APP\" \n class=\"radius-medium mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex\"\n >\n <h2 class=\"mn-r-auto\">\n Categories\n </h2>\n\n <router-link \n :to=\"{\n name: 'Category Add', \n params: { \n _id: $route.params._id\n } \n }\"\n class=\"uppercase t-medium pd-small radius-medium bg-white nav-link\"\n >\n Add New\n </router-link>\n </Block>\n\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => categories.actions.read(options),\n state: categories.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n tree: true\n }\"\n v-model:sort=\"sort\"\n v-model:items=\"categories.state.all\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <Tree \n v-if=\"items\" \n :items=\"categories.state.all\" \n :state=\"categories.state.all\"\n :parent-id=\"null\"\n @update=\"updateCategoriesOrder\" \n v-slot=\"{ item }\"\n >\n <CardCategory \n :category=\"item\" \n @delete=\"deleteCategory\" \n />\n </Tree>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\n import { onMounted, onUnmounted, computed, ref,reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js'; \n\n const route = useRoute();\n const router = useRouter();\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Tree from \"@martyrs/src/components/Tree/Tree.vue\";\n \n import CardCategory from '@martyrs/src/modules/products/components/blocks/CardCategory.vue';\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n let search = ref(null)\n\n let sort = reactive({\n param: 'order',\n order: 'asc',\n options: [{\n label: 'Order',\n value: 'order'\n },{\n label: 'Name',\n value: 'name'\n },{\n label: 'Date',\n value: 'createdAt'\n }]\n })\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Category Add', params: { _id: route.params._id} }) : router.push({ name: 'Category Add' })\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n onMounted(async () => {\n \n });\n\n // Функция для сбора затронутых категорий при drag-n-drop\n function collectAffectedCategories(eventData) {\n const result = {\n movedCategory: null,\n affectedCategories: []\n };\n \n console.log('collectAffectedCategories - eventData:', eventData);\n \n // Проверяем, что это объект от Tree компонента с полной информацией\n if (eventData && eventData.movedItem) {\n // Если категория переместилась между уровнями\n if (eventData.movedItem._id) {\n result.movedCategory = {\n _id: eventData.movedItem._id,\n newParent: eventData.parentId // Используем parentId из события (null для корня)\n };\n }\n \n // Собираем все категории текущего уровня с их новым порядком\n const items = eventData.items || [];\n console.log('Level items:', items);\n \n items.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else if (eventData && eventData._id) {\n // Fallback для старого формата (простой объект категории)\n result.movedCategory = {\n _id: eventData._id,\n newParent: eventData.parent || null\n };\n \n // Пытаемся найти категории того же уровня\n const parentId = eventData.parent;\n const sameLevel = parentId \n ? categories.state.all.find(c => c._id === parentId)?.children || []\n : categories.state.all;\n \n sameLevel.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else {\n // Если нет данных о перемещении, собираем корневые категории\n console.log('No event data, collecting root level categories');\n categories.state.all.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n }\n \n console.log('collectAffectedCategories - result:', result);\n \n return result;\n }\n\n // Функция для обновления порядка категорий\n async function updateCategoriesOrder(event) {\n console.log('updateCategoriesOrder called with event:', event);\n \n try {\n const data = collectAffectedCategories(event);\n \n // ОДИН КОНСОЛЬ ЛОГ НА ФРОНТЕНДЕ - ЧТО ОТПРАВЛЯЕМ\n console.log('📤 FRONTEND SENDING:', JSON.stringify(data, null, 2));\n await categories.actions.updateOrder(data);\n console.log('Categories order updated successfully');\n } catch (error) {\n console.error('Error updating categories order:', error);\n throw error;\n }\n }\n\n async function deleteCategory(category) {\n // Запрашиваем подтверждение у пользователя\n const isConfirmed = confirm(`Are you sure you want to delete the category \"${category.name}\"?`);\n \n // Если пользователь подтвердил удаление, продолжаем процесс\n if (isConfirmed) {\n await categories.actions.delete(category._id);\n }\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useRoute","useRouter","ref","reactive","globals.state","IconPlus","auth.state","onUnmounted","onMounted","categories.state","categories.actions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Categories.vue.cjs","sources":["../../../../../../../src/modules/products/components/pages/Categories.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin bg-white\">\n <Block v-if=\"!MOBILE_APP\" \n class=\"radius-medium mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex\"\n >\n <h2 class=\"mn-r-auto\">\n Categories\n </h2>\n\n <router-link \n :to=\"{\n name: 'Category Add', \n params: { \n _id: $route.params._id\n } \n }\"\n class=\"uppercase t-medium pd-small radius-medium bg-white nav-link\"\n >\n Add New\n </router-link>\n </Block>\n\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => categories.actions.read(options),\n state: categories.state\n }\"\n :options=\"{\n user: auth.state.user._id,\n tree: true\n }\"\n v-model:sort=\"sort\"\n v-model:items=\"categories.state.all\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <Tree \n v-if=\"items\" \n :items=\"categories.state.all\" \n :state=\"categories.state.all\"\n :parent-id=\"null\"\n @update=\"updateCategoriesOrder\" \n v-slot=\"{ item }\"\n >\n <CardCategory \n :category=\"item\" \n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)\"\n @delete=\"deleteCategory\" \n />\n </Tree>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\n import { onMounted, onUnmounted, computed, ref,reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'; \n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'; \n\n const route = useRoute();\n const router = useRouter();\n const { hasAccess } = useGlobalMixins();\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Tree from \"@martyrs/src/components/Tree/Tree.vue\";\n \n import CardCategory from '@martyrs/src/modules/products/components/blocks/CardCategory.vue';\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n let search = ref(null)\n\n let sort = reactive({\n param: 'order',\n order: 'asc',\n options: [{\n label: 'Order',\n value: 'order'\n },{\n label: 'Name',\n value: 'name'\n },{\n label: 'Date',\n value: 'createdAt'\n }]\n })\n\n globals.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\" \n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => route.params._id ? router.push({ name: 'Category Add', params: { _id: route.params._id} }) : router.push({ name: 'Category Add' })\n }],\n\n onUnmounted(() => {\n globals.state.navigation_bar.actions = [];\n });\n\n onMounted(async () => {\n \n });\n\n // Функция для сбора затронутых категорий при drag-n-drop\n function collectAffectedCategories(eventData) {\n const result = {\n movedCategory: null,\n affectedCategories: []\n };\n \n console.log('collectAffectedCategories - eventData:', eventData);\n \n // Проверяем, что это объект от Tree компонента с полной информацией\n if (eventData && eventData.movedItem) {\n // Если категория переместилась между уровнями\n if (eventData.movedItem._id) {\n result.movedCategory = {\n _id: eventData.movedItem._id,\n newParent: eventData.parentId // Используем parentId из события (null для корня)\n };\n }\n \n // Собираем все категории текущего уровня с их новым порядком\n const items = eventData.items || [];\n console.log('Level items:', items);\n \n items.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else if (eventData && eventData._id) {\n // Fallback для старого формата (простой объект категории)\n result.movedCategory = {\n _id: eventData._id,\n newParent: eventData.parent || null\n };\n \n // Пытаемся найти категории того же уровня\n const parentId = eventData.parent;\n const sameLevel = parentId \n ? categories.state.all.find(c => c._id === parentId)?.children || []\n : categories.state.all;\n \n sameLevel.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else {\n // Если нет данных о перемещении, собираем корневые категории\n console.log('No event data, collecting root level categories');\n categories.state.all.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n }\n \n console.log('collectAffectedCategories - result:', result);\n \n return result;\n }\n\n // Функция для обновления порядка категорий\n async function updateCategoriesOrder(event) {\n console.log('updateCategoriesOrder called with event:', event);\n \n try {\n const data = collectAffectedCategories(event);\n \n // ОДИН КОНСОЛЬ ЛОГ НА ФРОНТЕНДЕ - ЧТО ОТПРАВЛЯЕМ\n console.log('📤 FRONTEND SENDING:', JSON.stringify(data, null, 2));\n await categories.actions.updateOrder(data);\n console.log('Categories order updated successfully');\n } catch (error) {\n console.error('Error updating categories order:', error);\n throw error;\n }\n }\n\n async function deleteCategory(category) {\n // Запрашиваем подтверждение у пользователя\n const isConfirmed = confirm(`Are you sure you want to delete the category \"${category.name}\"?`);\n \n // Если пользователь подтвердил удаление, продолжаем процесс\n if (isConfirmed) {\n await categories.actions.delete(category._id);\n }\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useRoute","useRouter","useGlobalMixins","ref","reactive","globals.state","IconPlus","auth.state","onUnmounted","onMounted","categories.state","categories.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2EE,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AACxB,UAAM,EAAE,UAAS,IAAKC,uBAAe;AAWxBC,QAAAA,IAAI,IAAI;AAErB,QAAI,OAAOC,IAAAA,SAAS;AAAA,MAClB,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,GAAM;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACb,CAAK;AAAA,IACL,CAAG;AAEDC,kBAAc,eAAe,UAAU,CAAC;AAAA,MACtC,WAAWC,SAAAA;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACZ;AAAA,MACI,WAAW,MAAMC,KAAAA,MAAW,QAAQA,KAAAA,MAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,MAAM,OAAO,MAAM,OAAO,KAAK,EAAE,MAAM,gBAAgB,QAAQ,EAAE,KAAK,MAAM,OAAO,IAAG,EAAC,CAAE,IAAI,OAAO,KAAK,EAAE,MAAM,eAAc,CAAE;AAAA,IACnJ,CAAG,GAEDC,IAAAA,YAAY,MAAM;AAChBH,oBAAc,eAAe,UAAU,CAAA;AAAA,IACzC,CAAC;AAEDI,QAAAA,UAAU,YAAY;AAAA,IAEtB,CAAC;AAGD,aAAS,0BAA0B,WAAW;AAC5C,YAAM,SAAS;AAAA,QACb,eAAe;AAAA,QACf,oBAAoB,CAAA;AAAA,MAC1B;AAEI,cAAQ,IAAI,0CAA0C,SAAS;AAG/D,UAAI,aAAa,UAAU,WAAW;AAEpC,YAAI,UAAU,UAAU,KAAK;AAC3B,iBAAO,gBAAgB;AAAA,YACrB,KAAK,UAAU,UAAU;AAAA,YACzB,WAAW,UAAU;AAAA;AAAA,UAC/B;AAAA,QACM;AAGA,cAAM,QAAQ,UAAU,SAAS,CAAA;AACjC,gBAAQ,IAAI,gBAAgB,KAAK;AAEjC,cAAM,QAAQ,CAAC,MAAM,UAAU;AAC7B,iBAAO,mBAAmB,KAAK;AAAA,YAC7B,KAAK,KAAK;AAAA,YACV,OAAO;AAAA,UACjB,CAAS;AAAA,QACH,CAAC;AAAA,MACH,WAAW,aAAa,UAAU,KAAK;AAErC,eAAO,gBAAgB;AAAA,UACrB,KAAK,UAAU;AAAA,UACf,WAAW,UAAU,UAAU;AAAA,QACvC;AAGM,cAAM,WAAW,UAAU;AAC3B,cAAM,YAAY,WACdC,iBAAiB,IAAI,KAAK,OAAK,EAAE,QAAQ,QAAQ,GAAG,YAAY,CAAA,IAChEA,WAAAA,MAAiB;AAErB,kBAAU,QAAQ,CAAC,MAAM,UAAU;AACjC,iBAAO,mBAAmB,KAAK;AAAA,YAC7B,KAAK,KAAK;AAAA,YACV,OAAO;AAAA,UACjB,CAAS;AAAA,QACH,CAAC;AAAA,MACH,OAAO;AAEL,gBAAQ,IAAI,iDAAiD;AAC7DA,mBAAAA,MAAiB,IAAI,QAAQ,CAAC,MAAM,UAAU;AAC5C,iBAAO,mBAAmB,KAAK;AAAA,YAC7B,KAAK,KAAK;AAAA,YACV,OAAO;AAAA,UACjB,CAAS;AAAA,QACH,CAAC;AAAA,MACH;AAEA,cAAQ,IAAI,uCAAuC,MAAM;AAEzD,aAAO;AAAA,IACT;AAGA,mBAAe,sBAAsB,OAAO;AAC1C,cAAQ,IAAI,4CAA4C,KAAK;AAE7D,UAAI;AACF,cAAM,OAAO,0BAA0B,KAAK;AAG5C,gBAAQ,IAAI,wBAAwB,KAAK,UAAU,MAAM,MAAM,CAAC,CAAC;AACjE,cAAMC,WAAAA,QAAmB,YAAY,IAAI;AACzC,gBAAQ,IAAI,uCAAuC;AAAA,MACrD,SAAS,OAAO;AACd,gBAAQ,MAAM,oCAAoC,KAAK;AACvD,cAAM;AAAA,MACR;AAAA,IACF;AAEA,mBAAe,eAAe,UAAU;AAEtC,YAAM,cAAc,QAAQ,iDAAiD,SAAS,IAAI,IAAI;AAG9F,UAAI,aAAa;AACf,cAAMA,mBAAmB,OAAO,SAAS,GAAG;AAAA,MAC9C;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,10 +3,11 @@ import { useRoute, useRouter } from "vue-router";
|
|
|
3
3
|
import { state as state$1 } from "../../../globals/views/store/globals.js";
|
|
4
4
|
import { state } from "../../../auth/views/store/auth.js";
|
|
5
5
|
import { state as state$2, actions } from "../../store/categories.js";
|
|
6
|
+
import { useGlobalMixins } from "../../../globals/views/mixins/mixins.js";
|
|
6
7
|
/* empty css */
|
|
7
8
|
/* empty css */
|
|
8
9
|
import _sfc_main$2 from "../../../../components/Block/Block.vue.js";
|
|
9
|
-
import _sfc_main$3 from "../../../../components/Feed/Feed.
|
|
10
|
+
import _sfc_main$3 from "../../../../components/Feed/Feed.vue2.js";
|
|
10
11
|
import _sfc_main$4 from "../../../../components/Tree/Tree.vue.js";
|
|
11
12
|
import _sfc_main$5 from "../blocks/CardCategory.vue.js";
|
|
12
13
|
import _sfc_main$1 from "../../../icons/navigation/IconPlus.vue.js";
|
|
@@ -17,6 +18,7 @@ const _sfc_main = {
|
|
|
17
18
|
setup(__props) {
|
|
18
19
|
const route = useRoute();
|
|
19
20
|
const router = useRouter();
|
|
21
|
+
const { hasAccess } = useGlobalMixins();
|
|
20
22
|
ref(null);
|
|
21
23
|
let sort = reactive({
|
|
22
24
|
param: "order",
|
|
@@ -172,8 +174,9 @@ const _sfc_main = {
|
|
|
172
174
|
default: withCtx(({ item }) => [
|
|
173
175
|
createVNode(_sfc_main$5, {
|
|
174
176
|
category: item,
|
|
177
|
+
access: unref(hasAccess)(unref(route).params._id, "products", "edit", state.accesses, state.access.roles),
|
|
175
178
|
onDelete: deleteCategory
|
|
176
|
-
}, null, 8, ["category"])
|
|
179
|
+
}, null, 8, ["category", "access"])
|
|
177
180
|
]),
|
|
178
181
|
_: 1
|
|
179
182
|
}, 8, ["items", "state"])) : createCommentVNode("", true)
|