@ozdao/martyrs 0.2.507 → 0.2.509
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/{main-AWSb_d2P.cjs → main-D89N_jml.cjs} +1 -1
- package/dist/{main-Dq-UfO4G.js → main-DSiCr7yl.js} +7 -8
- package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +3 -3
- package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +3 -3
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
- 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 +5 -4
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +6 -5
- package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +3 -3
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +3 -3
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
- package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Select/{Select.vue.cjs → Select.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
- package/dist/martyrs/src/components/Select/{Select.vue.cjs.map → Select.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.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/ProfileEdit.vue.cjs +19 -13
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +20 -14
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/globals.client.cjs +3 -0
- package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.js +15 -12
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +335 -0
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +335 -0
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -0
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.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/partials/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/logos/Logotype.vue.cjs +3 -3
- package/dist/martyrs/src/modules/icons/logos/Logotype.vue.js +3 -3
- 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 +138 -136
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +137 -135
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
- 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 +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/music/router/music.cjs +2 -2
- package/dist/martyrs/src/modules/music/router/music.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +62 -10
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +62 -10
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.cjs +36 -38
- package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.js +36 -38
- package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/models/customer.cjs +7 -0
- package/dist/martyrs/src/modules/orders/store/models/customer.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/store/models/customer.js +7 -0
- package/dist/martyrs/src/modules/orders/store/models/customer.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +126 -16
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +128 -18
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- 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 +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +17 -28
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +17 -28
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs +0 -3
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.js +36 -39
- package/dist/martyrs/src/modules/organizations/organizations.client.js.map +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/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +9 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +9 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +3 -2
- 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 +3 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +10 -5
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +10 -5
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +6 -3
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +6 -3
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.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 +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
- 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/orders.server.cjs +58 -0
- package/dist/orders.server.js +58 -0
- package/dist/products.server.cjs +11 -1
- package/dist/products.server.js +11 -1
- package/dist/style.css +34 -32
- package/dist/{web-DaBwwCQ5.cjs → web-XyQNm3cW.cjs} +1 -1
- package/dist/{web-BXajFCU2.js → web-gtBkwjra.js} +1 -1
- package/package.json +1 -1
- package/src/components/Feed/Carousel.vue +3 -1
- package/src/components/FieldBig/FieldBig.vue +2 -2
- package/src/modules/auth/views/components/pages/ProfileEdit.vue +18 -11
- package/src/modules/globals/globals.client.js +3 -0
- package/src/modules/globals/views/components/partials/{FooterAlt.vue → Footer.centered.vue} +101 -99
- package/src/modules/globals/views/components/partials/Footer.vue +321 -162
- package/src/modules/globals/views/components/partials/Header.vue +1 -1
- package/src/modules/icons/logos/Logotype.vue +1 -1
- package/src/modules/inventory/components/pages/Inventory.vue +126 -119
- package/src/modules/orders/components/forms/FormCustomerDetails.vue +51 -0
- package/src/modules/orders/middlewares/customers.verifier.js +60 -0
- package/src/modules/orders/models/customer.model.js +18 -0
- package/src/modules/orders/orders.client.js +36 -38
- package/src/modules/orders/store/models/customer.js +7 -0
- package/src/modules/organizations/components/pages/Organization.vue +146 -6
- package/src/modules/organizations/configs/navigation.organization.config.js +17 -26
- package/src/modules/organizations/organizations.client.js +0 -3
- package/src/modules/products/TASKS.MD +1 -157
- package/src/modules/products/components/elements/QuantitySelector.vue +17 -9
- package/src/modules/products/components/pages/Product.vue +1 -1
- package/src/modules/products/components/pages/Products.vue +5 -2
- package/src/modules/products/components/sections/ProductsPopular.vue +9 -5
- package/src/modules/products/components/sections/ProductsRecommended.vue +4 -1
- package/src/modules/products/controllers/configs/products.lookup.config.js +11 -1
- package/src/styles/base/all.scss +9 -4
- package/src/styles/config.scss +10 -0
- package/src/styles/responsive.scss +2 -1
- package/src/styles/typography.scss +0 -5
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +0 -137
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +0 -137
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js.map +0 -1
- package/src/modules/organizations/components/sections/DetailsTabSection.vue +0 -190
|
@@ -4,11 +4,133 @@
|
|
|
4
4
|
<!-- <Breadcrumbs class="mn-b-thin pd-medium bg-light radius-big"/> -->
|
|
5
5
|
<!-- <pre>{{organization.state.current}}</pre> -->
|
|
6
6
|
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
<section class="flex-center flex flex-column t-center pd-medium radius-medium bg-light mn-b-thin">
|
|
8
|
+
|
|
9
|
+
<Dropdown
|
|
10
|
+
v-if="auth.state.user._id !== organization.state.current.owner"
|
|
11
|
+
:label="{ component: IconEllipsis, class: 'i-regular t-transp' }"
|
|
12
|
+
:align="'right'"
|
|
13
|
+
class="cursor-pointer pos-absolute pos-r-regular pos-t-regular pd-thin radius-extra "
|
|
14
|
+
>
|
|
15
|
+
<section
|
|
16
|
+
class="bg-black pd-thin radius-small"
|
|
17
|
+
>
|
|
18
|
+
<FormReport
|
|
19
|
+
:user="auth.state.user._id"
|
|
20
|
+
:type="'organization'"
|
|
21
|
+
:target="organization.state.current._id"
|
|
22
|
+
:text="'Report'"
|
|
23
|
+
class="w-100"
|
|
24
|
+
>
|
|
25
|
+
<button
|
|
26
|
+
class="w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button"
|
|
27
|
+
>
|
|
28
|
+
Report
|
|
29
|
+
</button>
|
|
30
|
+
</FormReport>
|
|
31
|
+
|
|
32
|
+
<ButtonToggleMembership
|
|
33
|
+
v-if="auth.state.user._id && auth.state.user._id !== organization.state.current.owner"
|
|
34
|
+
:user="auth.state.user._id"
|
|
35
|
+
:type="'organization'"
|
|
36
|
+
:role="'blocked'"
|
|
37
|
+
:target="organization.state.current._id"
|
|
38
|
+
:status="organization.state.current.isBlocked"
|
|
39
|
+
:text="{create: 'Block', remove: 'Unblock'}"
|
|
40
|
+
@updateMembership="event => handleMembershipUpdate(event, 'isBlocked')"
|
|
41
|
+
class="t-white w-100 mn-t-thin bg-red"
|
|
42
|
+
/>
|
|
43
|
+
</section>
|
|
44
|
+
</Dropdown>
|
|
45
|
+
|
|
46
|
+
<router-link
|
|
47
|
+
v-if="auth.state.user._id === organization.state.current.owner"
|
|
48
|
+
:to="{
|
|
49
|
+
name: 'Organization Edit',
|
|
50
|
+
params: {
|
|
51
|
+
_id: organization.state.current._id
|
|
52
|
+
}
|
|
53
|
+
}"
|
|
54
|
+
class="
|
|
55
|
+
z-index-2
|
|
56
|
+
cursor-pointer
|
|
57
|
+
pos-absolute pos-t-regular pos-r-regular
|
|
58
|
+
radius-extra pd-thin bg-second
|
|
59
|
+
"
|
|
60
|
+
>
|
|
61
|
+
<IconEdit
|
|
62
|
+
class="i-regular"
|
|
63
|
+
classes="fill-white"
|
|
64
|
+
/>
|
|
65
|
+
</router-link>
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
<img loading="lazy"
|
|
69
|
+
v-if="organization.state.current.profile.photo"
|
|
70
|
+
:src="(FILE_SERVER_URL || '') + organization.state.current.profile.photo"
|
|
71
|
+
class="radius-big bg-light flex-center flex mn-b-small w-8r"
|
|
72
|
+
/>
|
|
73
|
+
|
|
74
|
+
<PlaceholderOrganizationPic
|
|
75
|
+
v-else
|
|
76
|
+
class="radius-medium mn-b-small i-extra"
|
|
77
|
+
/>
|
|
78
|
+
|
|
79
|
+
<h1
|
|
80
|
+
class="mn-b-thin"
|
|
81
|
+
>
|
|
82
|
+
{{ organization.state.current.profile.name }}
|
|
83
|
+
</h1>
|
|
84
|
+
|
|
85
|
+
<div class="flex-center pd-r-thin pd-l-thin flex-nowrap flex mn-t-thin bg-white radius-extra w-max">
|
|
86
|
+
<IconFollowing class="i-medium mn-r-micro t-transp"/>
|
|
87
|
+
|
|
88
|
+
<p class="mn-t-thin p-medium t-medium uppercase mn-b-thin">{{organization.state.current.numberOfSubscribers}} followers</p>
|
|
89
|
+
|
|
90
|
+
<ButtonToggleMembership
|
|
91
|
+
v-if="
|
|
92
|
+
auth.state.user._id
|
|
93
|
+
&& route.params._id
|
|
94
|
+
&& route.params._id !== auth.state.user._id
|
|
95
|
+
&& organization.state.current.owner !== auth.state.user._id
|
|
96
|
+
"
|
|
97
|
+
:user="auth.state.user._id"
|
|
98
|
+
:type="'organization'"
|
|
99
|
+
:role="'subscriber'"
|
|
100
|
+
:target="organization.state.current._id"
|
|
101
|
+
:status="organization.state.current.isSubscriber"
|
|
102
|
+
:text="{create: '+', remove: '-'}"
|
|
103
|
+
@updateMembership="event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')"
|
|
104
|
+
class=" mn-l-thin p-medium t-medium radius-extra i-semi"
|
|
105
|
+
/>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<!-- <p class="w-max-50r mn-t-regular mn-b-medium p-semi">
|
|
109
|
+
<Text :text="organization.profile.description || ''" :showToggleText="true" :maxLen="320" />
|
|
110
|
+
</p> -->
|
|
111
|
+
|
|
112
|
+
<Chips
|
|
113
|
+
v-if="organization.state.current.profile?.tags?.length > 0"
|
|
114
|
+
:chips="organization.state.current.profile.tags"
|
|
115
|
+
class="p-medium"
|
|
116
|
+
/>
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
<h4
|
|
120
|
+
v-if="Object.values(organization.state.current.socials).some(value => value)"
|
|
121
|
+
class="mn-t-small mn-b-thin"
|
|
122
|
+
>
|
|
123
|
+
Find us in socials
|
|
124
|
+
</h4>
|
|
125
|
+
|
|
126
|
+
<Socials
|
|
127
|
+
:telegram="organization.state.current.socials.telegram"
|
|
128
|
+
:facebook="organization.state.current.socials.facebook"
|
|
129
|
+
:instagram="organization.state.current.socials.instagram"
|
|
130
|
+
:twitter="organization.state.current.socials.twitter"
|
|
131
|
+
:youtube="organization.state.current.socials.youtube"
|
|
132
|
+
/>
|
|
133
|
+
</section>
|
|
12
134
|
|
|
13
135
|
<!-- Organization Info Section -->
|
|
14
136
|
<div class="pos-relative">
|
|
@@ -31,13 +153,26 @@
|
|
|
31
153
|
// Import components
|
|
32
154
|
import Breadcrumbs from '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'
|
|
33
155
|
import Block from '@martyrs/src/components/Block/Block.vue'
|
|
156
|
+
import Dropdown from "@martyrs/src/components/Dropdown/Dropdown.vue";
|
|
157
|
+
import Text from '@martyrs/src/components/Text/Text.vue'
|
|
158
|
+
import Chips from '@martyrs/src/components/Chips/Chips.vue'
|
|
34
159
|
// Mobile Module
|
|
35
160
|
import Menu from '@martyrs/src/components/Menu/Menu.vue'
|
|
36
161
|
import MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'
|
|
162
|
+
// Icons
|
|
163
|
+
import IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue'
|
|
164
|
+
import IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'
|
|
165
|
+
import IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'
|
|
166
|
+
import PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'
|
|
37
167
|
// Organizations
|
|
38
168
|
import DepartmentSub from '@martyrs/src/modules/organizations/components/blocks/DepartmentSub.vue';
|
|
39
|
-
import
|
|
169
|
+
import ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'
|
|
170
|
+
import Contacts from '@martyrs/src/modules/organizations/components/blocks/Contacts.vue'
|
|
171
|
+
import Rating from '@martyrs/src/modules/organizations/components/blocks/Rating.vue'
|
|
172
|
+
import Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'
|
|
40
173
|
import User from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';
|
|
174
|
+
// Report Module
|
|
175
|
+
import FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue'
|
|
41
176
|
// Import state
|
|
42
177
|
import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';
|
|
43
178
|
import * as organization from '@martyrs/src/modules/organizations/store/organizations.js';
|
|
@@ -69,6 +204,11 @@
|
|
|
69
204
|
});
|
|
70
205
|
}
|
|
71
206
|
})
|
|
207
|
+
|
|
208
|
+
// Methods
|
|
209
|
+
const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
|
|
210
|
+
memberships.mutations.handleMembershipUpdate(organization.state.current, membership, status, target, statusName, statusNumber)
|
|
211
|
+
};
|
|
72
212
|
</script>
|
|
73
213
|
|
|
74
214
|
<style lang="scss">
|
|
@@ -110,7 +110,13 @@ export const navigationItems = [
|
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
category: 'Management',
|
|
113
|
-
visible: (auth, route) =>
|
|
113
|
+
visible: (auth, route) => hasAccess(
|
|
114
|
+
route.params._id,
|
|
115
|
+
'products',
|
|
116
|
+
'read',
|
|
117
|
+
auth.accesses,
|
|
118
|
+
auth.access.roles
|
|
119
|
+
),
|
|
114
120
|
items: [
|
|
115
121
|
{
|
|
116
122
|
title: 'Categories',
|
|
@@ -161,7 +167,13 @@ export const navigationItems = [
|
|
|
161
167
|
},
|
|
162
168
|
{
|
|
163
169
|
category: 'Orders & Sales',
|
|
164
|
-
visible: (auth, route) =>
|
|
170
|
+
visible: (auth, route) => hasAccess(
|
|
171
|
+
route.params._id,
|
|
172
|
+
'orders',
|
|
173
|
+
'read',
|
|
174
|
+
auth.accesses,
|
|
175
|
+
auth.access.roles
|
|
176
|
+
),
|
|
165
177
|
items: [
|
|
166
178
|
{
|
|
167
179
|
title: 'Orders',
|
|
@@ -169,14 +181,7 @@ export const navigationItems = [
|
|
|
169
181
|
route: (auth, route) => ({
|
|
170
182
|
name: 'OrganizationOrdersList',
|
|
171
183
|
params: { _id: route.params._id }
|
|
172
|
-
})
|
|
173
|
-
visible: (auth, route) => hasAccess(
|
|
174
|
-
route.params._id,
|
|
175
|
-
'orders',
|
|
176
|
-
'read',
|
|
177
|
-
auth.accesses,
|
|
178
|
-
auth.access.roles
|
|
179
|
-
)
|
|
184
|
+
})
|
|
180
185
|
},
|
|
181
186
|
{
|
|
182
187
|
title: 'Customers',
|
|
@@ -184,14 +189,7 @@ export const navigationItems = [
|
|
|
184
189
|
route: (auth, route) => ({
|
|
185
190
|
name: 'OrganizationCustomers',
|
|
186
191
|
params: { _id: route.params._id }
|
|
187
|
-
})
|
|
188
|
-
visible: (auth, route) => hasAccess(
|
|
189
|
-
route.params._id,
|
|
190
|
-
'orders',
|
|
191
|
-
'read',
|
|
192
|
-
auth.accesses,
|
|
193
|
-
auth.access.roles
|
|
194
|
-
)
|
|
192
|
+
})
|
|
195
193
|
},
|
|
196
194
|
{
|
|
197
195
|
title: 'Applications',
|
|
@@ -199,14 +197,7 @@ export const navigationItems = [
|
|
|
199
197
|
route: (auth, route) => ({
|
|
200
198
|
name: 'OrganizationApplications',
|
|
201
199
|
params: { _id: route.params._id }
|
|
202
|
-
})
|
|
203
|
-
visible: (auth, route) => hasAccess(
|
|
204
|
-
route.params._id,
|
|
205
|
-
'orders',
|
|
206
|
-
'read',
|
|
207
|
-
auth.accesses,
|
|
208
|
-
auth.access.roles
|
|
209
|
-
)
|
|
200
|
+
})
|
|
210
201
|
},
|
|
211
202
|
]
|
|
212
203
|
},
|
|
@@ -26,7 +26,6 @@ import Socials from './components/blocks/Socials.vue';
|
|
|
26
26
|
import Unit from './components/blocks/Unit.vue';
|
|
27
27
|
|
|
28
28
|
// Sections
|
|
29
|
-
import DetailsTabSection from './components/sections/DetailsTabSection.vue';
|
|
30
29
|
import Documents from './components/sections/Documents.vue';
|
|
31
30
|
import MembersAdd from './components/sections/MembersAdd.vue';
|
|
32
31
|
import OrganizationsSection from './components/sections/Organizations.vue';
|
|
@@ -56,7 +55,6 @@ export {
|
|
|
56
55
|
Department,
|
|
57
56
|
DepartmentEdit,
|
|
58
57
|
DepartmentSub,
|
|
59
|
-
DetailsTabSection,
|
|
60
58
|
Documents,
|
|
61
59
|
EmptyState,
|
|
62
60
|
MembersAdd,
|
|
@@ -105,7 +103,6 @@ const ModuleOrganization = {
|
|
|
105
103
|
Socials,
|
|
106
104
|
// Sections
|
|
107
105
|
MembersAdd,
|
|
108
|
-
DetailsTabSection,
|
|
109
106
|
OrganizationsSection,
|
|
110
107
|
Publics,
|
|
111
108
|
Documents,
|
|
@@ -1,157 +1 @@
|
|
|
1
|
-
|
|
2
|
-
добавить rents и добавить в product.query фильтрацию по доступности с учетом quantityЖ Для фильтрации доступных товаров при агрегации на основе аренд, вам нужно использовать $lookup для
|
|
3
|
-
проверки пересечений с активными арендами. Вот пример агрегации:
|
|
4
|
-
|
|
5
|
-
javascript
|
|
6
|
-
const checkAvailability = async (startDate, endDate) => {
|
|
7
|
-
const pipeline = [
|
|
8
|
-
// Фильтр по нужным критериям товаров
|
|
9
|
-
{
|
|
10
|
-
$match: {
|
|
11
|
-
listing: 'rent',
|
|
12
|
-
status: 'active' // или другие условия
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
// Присоединяем аренды для каждого товара
|
|
17
|
-
{
|
|
18
|
-
$lookup: {
|
|
19
|
-
from: 'rents',
|
|
20
|
-
let: { productId: '$_id' },
|
|
21
|
-
pipeline: [
|
|
22
|
-
{
|
|
23
|
-
$match: {
|
|
24
|
-
$expr: {
|
|
25
|
-
$and: [
|
|
26
|
-
{ $eq: ['$product', '$productId'] },
|
|
27
|
-
// Только активные аренды
|
|
28
|
-
{ $in: ['$status', ['confirmed', 'active']] },
|
|
29
|
-
// Проверка пересечения дат
|
|
30
|
-
{
|
|
31
|
-
$or: [
|
|
32
|
-
// Аренда начинается в запрашиваемый период
|
|
33
|
-
{
|
|
34
|
-
$and: [
|
|
35
|
-
{ $gte: ['$startDate', new Date(startDate)] },
|
|
36
|
-
{ $lte: ['$startDate', new Date(endDate)] }
|
|
37
|
-
]
|
|
38
|
-
},
|
|
39
|
-
// Аренда заканчивается в запрашиваемый период
|
|
40
|
-
{
|
|
41
|
-
$and: [
|
|
42
|
-
{ $gte: ['$endDate', new Date(startDate)] },
|
|
43
|
-
{ $lte: ['$endDate', new Date(endDate)] }
|
|
44
|
-
]
|
|
45
|
-
},
|
|
46
|
-
// Аренда полностью покрывает запрашиваемый период
|
|
47
|
-
{
|
|
48
|
-
$and: [
|
|
49
|
-
{ $lte: ['$startDate', new Date(startDate)] },
|
|
50
|
-
{ $gte: ['$endDate', new Date(endDate)] }
|
|
51
|
-
]
|
|
52
|
-
}
|
|
53
|
-
]
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
],
|
|
60
|
-
as: 'activeRents'
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
// Фильтруем только доступные товары
|
|
65
|
-
{
|
|
66
|
-
$match: {
|
|
67
|
-
activeRents: { $size: 0 } // Нет активных аренд в этот период
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
|
|
71
|
-
// Убираем поле activeRents из результата
|
|
72
|
-
{
|
|
73
|
-
$project: {
|
|
74
|
-
activeRents: 0
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
];
|
|
78
|
-
|
|
79
|
-
return await Product.aggregate(pipeline);
|
|
80
|
-
};
|
|
81
|
-
Если у вас товары могут иметь количество (например, несколько единиц одного товара), то нужно модифицировать логику:
|
|
82
|
-
|
|
83
|
-
javascript
|
|
84
|
-
const checkAvailabilityWithQuantity = async (startDate, endDate, requestedQuantity = 1) => {
|
|
85
|
-
const pipeline = [
|
|
86
|
-
{
|
|
87
|
-
$match: {
|
|
88
|
-
listing: 'rent',
|
|
89
|
-
status: 'active'
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
{
|
|
94
|
-
$lookup: {
|
|
95
|
-
from: 'rents',
|
|
96
|
-
let: { productId: '$_id' },
|
|
97
|
-
pipeline: [
|
|
98
|
-
{
|
|
99
|
-
$match: {
|
|
100
|
-
$expr: {
|
|
101
|
-
$and: [
|
|
102
|
-
{ $eq: ['$product', '$productId'] },
|
|
103
|
-
{ $in: ['$status', ['confirmed', 'active']] },
|
|
104
|
-
// Проверка пересечения дат (та же логика)
|
|
105
|
-
]
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
// Суммируем количество в активных арендах
|
|
110
|
-
{
|
|
111
|
-
$group: {
|
|
112
|
-
_id: null,
|
|
113
|
-
totalRented: { $sum: '$quantity' }
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
as: 'rentInfo'
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
|
|
121
|
-
// Добавляем поле с доступным количеством
|
|
122
|
-
{
|
|
123
|
-
$addFields: {
|
|
124
|
-
rentedQuantity: {
|
|
125
|
-
$ifNull: [{ $arrayElemAt: ['$rentInfo.totalRented', 0] }, 0]
|
|
126
|
-
},
|
|
127
|
-
availableQuantity: {
|
|
128
|
-
$subtract: [
|
|
129
|
-
{ $ifNull: ['$quantity', 1] }, // quantity товара или 1 по умолчанию
|
|
130
|
-
{ $ifNull: [{ $arrayElemAt: ['$rentInfo.totalRented', 0] }, 0] }
|
|
131
|
-
]
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
},
|
|
135
|
-
|
|
136
|
-
// Фильтруем товары с достаточным количеством
|
|
137
|
-
{
|
|
138
|
-
$match: {
|
|
139
|
-
availableQuantity: { $gte: requestedQuantity }
|
|
140
|
-
}
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
// Убираем временные поля
|
|
144
|
-
{
|
|
145
|
-
$project: {
|
|
146
|
-
rentInfo: 0,
|
|
147
|
-
rentedQuantity: 0
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
];
|
|
151
|
-
|
|
152
|
-
return await Product.aggregate(pipeline);
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
сделать нужно минималистично и ничего кроме этого
|
|
1
|
+
ПРОВЕРИТЬ РАБОТУ ИНГРЕДИЕНТОВ НА БЕКЕНДЕ И ФРОНТЕНДЕ
|
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
>
|
|
9
9
|
<span class="i-regular">-</span>
|
|
10
10
|
</button>
|
|
11
|
-
|
|
12
11
|
<div class="radius-small br-solid br-1px br-light w-3r pd-small">
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
<input
|
|
13
|
+
type="number"
|
|
14
|
+
v-model.number="modelValue"
|
|
15
|
+
@input="validateInput"
|
|
16
|
+
class="w-100 h-1r t-center"
|
|
17
|
+
:min="1"
|
|
18
|
+
:max="maxValue"
|
|
19
|
+
/>
|
|
20
20
|
</div>
|
|
21
21
|
<button
|
|
22
22
|
@click="incrementQuantity"
|
|
@@ -38,6 +38,14 @@ const props = defineProps({
|
|
|
38
38
|
|
|
39
39
|
const modelValue = defineModel();
|
|
40
40
|
|
|
41
|
+
function validateInput() {
|
|
42
|
+
if (modelValue.value < 1) {
|
|
43
|
+
modelValue.value = 1;
|
|
44
|
+
} else if (modelValue.value > props.maxValue) {
|
|
45
|
+
modelValue.value = props.maxValue;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
41
49
|
function incrementQuantity() {
|
|
42
50
|
if (modelValue.value < props.maxValue) {
|
|
43
51
|
modelValue.value++;
|
|
@@ -49,4 +57,4 @@ function decrementQuantity() {
|
|
|
49
57
|
modelValue.value--;
|
|
50
58
|
}
|
|
51
59
|
}
|
|
52
|
-
</script>
|
|
60
|
+
</script>
|
|
@@ -69,7 +69,6 @@
|
|
|
69
69
|
</template>
|
|
70
70
|
</Spoiler>
|
|
71
71
|
|
|
72
|
-
|
|
73
72
|
<!-- Цена за сутки -->
|
|
74
73
|
<Spoiler
|
|
75
74
|
class="o-hidden mn-b-medium"
|
|
@@ -152,6 +151,7 @@
|
|
|
152
151
|
<Filters
|
|
153
152
|
v-model:filters="availableFilters"
|
|
154
153
|
v-model:selected="selectedFilters"
|
|
154
|
+
class="mn-b-thin mobile-only"
|
|
155
155
|
/>
|
|
156
156
|
<slot></slot>
|
|
157
157
|
<!-- <div class="pos-relative w-100 z-index-3 radius-tl-big radius-tr-big">
|
|
@@ -161,7 +161,8 @@
|
|
|
161
161
|
class="bg-light mn-b-thin h-4r"
|
|
162
162
|
/>
|
|
163
163
|
</div> -->
|
|
164
|
-
|
|
164
|
+
|
|
165
|
+
<div class="mn-b-thin mobile-only w-100 o-y-scroll scroll-hide scroll-snap-type-x-mandatory scroll-pd-regular">
|
|
165
166
|
<div class="gap-thin flex-nowrap flex">
|
|
166
167
|
<div
|
|
167
168
|
v-for="category in currentCategories"
|
|
@@ -173,6 +174,8 @@
|
|
|
173
174
|
</div>
|
|
174
175
|
</div>
|
|
175
176
|
</div>
|
|
177
|
+
|
|
178
|
+
|
|
176
179
|
<Feed
|
|
177
180
|
:search="true"
|
|
178
181
|
v-model:filter="products.state.filter"
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<Carousel
|
|
3
3
|
:store="{
|
|
4
|
-
read: products.actions.read
|
|
4
|
+
read: (options) => products.actions.read(options)
|
|
5
5
|
}"
|
|
6
6
|
:options="{
|
|
7
|
-
limit:
|
|
7
|
+
limit: 16,
|
|
8
|
+
sortParam: 'popularity',
|
|
9
|
+
owner: $route.name?.includes('Organization') ? $route.params._id : null,
|
|
10
|
+
lookup: ['variants'],
|
|
8
11
|
}"
|
|
9
12
|
:text="{ title: 'No products available' }"
|
|
10
13
|
:showDots="true"
|
|
11
14
|
class="popupar_products"
|
|
15
|
+
v-slot="{
|
|
16
|
+
item
|
|
17
|
+
}"
|
|
12
18
|
>
|
|
13
|
-
<template #default="{ item }">
|
|
14
19
|
<router-link
|
|
15
|
-
:to="{ name: 'Organization_Product', params: { _id: item.owner.target, product: item._id } }"
|
|
20
|
+
:to="{ name: 'Organization_Product', params: { _id: item.owner.target._id || item.owner.target, product: item._id } }"
|
|
16
21
|
class="h-100 pos-relative block"
|
|
17
22
|
>
|
|
18
23
|
<CardProduct
|
|
@@ -20,7 +25,6 @@
|
|
|
20
25
|
class="h-max-40r h-100 bg-light"
|
|
21
26
|
/>
|
|
22
27
|
</router-link>
|
|
23
|
-
</template>
|
|
24
28
|
</Carousel>
|
|
25
29
|
</template>
|
|
26
30
|
|
|
@@ -139,7 +139,7 @@ const addSelectedToCart = async () => {
|
|
|
139
139
|
<template>
|
|
140
140
|
<div>
|
|
141
141
|
<h3 class="mn-b-small">Frequently Bought Together</h3>
|
|
142
|
-
<div class="recommended-products cols-4 mobile:cols-2 gap-thin">
|
|
142
|
+
<div class="recommended-products cols-4 rows-auto-1fr mobile:cols-2 gap-thin">
|
|
143
143
|
|
|
144
144
|
<CardProduct
|
|
145
145
|
v-for="(product, index) in products"
|
|
@@ -166,7 +166,10 @@ const addSelectedToCart = async () => {
|
|
|
166
166
|
<p class="mn-b-small">Total price:</p>
|
|
167
167
|
<p class="mn-b-medium h3 t-medium">${{ totalPrice }}</p>
|
|
168
168
|
<Button
|
|
169
|
+
:disabled="selectedProducts.length < 1"
|
|
169
170
|
class="bg-main gap-micro"
|
|
171
|
+
:showSuccess="false"
|
|
172
|
+
:showLoader="false"
|
|
170
173
|
:submit="canAddToCart ? addSelectedToCart : undefined"
|
|
171
174
|
>
|
|
172
175
|
<IconShopcartAdd class="i-semi"/>
|
|
@@ -81,7 +81,17 @@ export default {
|
|
|
81
81
|
from: 'products',
|
|
82
82
|
localField: 'recommended',
|
|
83
83
|
foreignField: '_id',
|
|
84
|
-
as: 'recommended'
|
|
84
|
+
as: 'recommended',
|
|
85
|
+
pipeline: [
|
|
86
|
+
{
|
|
87
|
+
$lookup: {
|
|
88
|
+
from: 'variants',
|
|
89
|
+
localField: '_id',
|
|
90
|
+
foreignField: 'product',
|
|
91
|
+
as: 'variants'
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
]
|
|
85
95
|
}
|
|
86
96
|
},
|
|
87
97
|
// Лукап для категорий продукта
|
package/src/styles/base/all.scss
CHANGED
|
@@ -259,10 +259,15 @@ body {
|
|
|
259
259
|
}
|
|
260
260
|
.rows-1 {display: grid; grid-template-columns: 100%; grid-auto-rows: minmax(auto, max-content); }
|
|
261
261
|
.rows-1-min0_max1 {display: grid; grid-template-rows: minmax(0, 1fr); }
|
|
262
|
-
.rows-auto {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
262
|
+
.rows-auto {
|
|
263
|
+
grid-auto-flow: row;
|
|
264
|
+
grid-auto-columns: auto;
|
|
265
|
+
grid-template-rows: auto;
|
|
266
|
+
grid-auto-rows: auto;
|
|
267
|
+
}
|
|
268
|
+
.rows-auto-1fr {
|
|
269
|
+
grid-auto-rows: 1fr;
|
|
270
|
+
}
|
|
266
271
|
// REFACTOR THIS SHIT
|
|
267
272
|
.grid {
|
|
268
273
|
display: grid;
|
package/src/styles/config.scss
CHANGED
|
@@ -336,6 +336,12 @@ $display-values: (
|
|
|
336
336
|
'table-cell': table-cell
|
|
337
337
|
);
|
|
338
338
|
|
|
339
|
+
$text-align-values: (
|
|
340
|
+
'left': left,
|
|
341
|
+
'center': center,
|
|
342
|
+
'right': right,
|
|
343
|
+
);
|
|
344
|
+
|
|
339
345
|
$order: (
|
|
340
346
|
'1': 1,
|
|
341
347
|
'2': 2,
|
|
@@ -395,6 +401,10 @@ body {
|
|
|
395
401
|
@include generate-utility-classes('o-y', 'overflow-y', null, $overflow-xy-values, $breakpoints);
|
|
396
402
|
@include generate-utility-classes('d', 'display', null, $display-values, $breakpoints);
|
|
397
403
|
|
|
404
|
+
/* Typography */
|
|
405
|
+
@include generate-utility-classes('t', 'text-align', null, $text-align-values, $breakpoints);
|
|
406
|
+
|
|
407
|
+
|
|
398
408
|
|
|
399
409
|
@include generate-utility-classes('cols', 'grid-template-columns', null, $cols, $breakpoints);
|
|
400
410
|
|
|
@@ -65,7 +65,8 @@ $xxl-desktop-min: 1921px;
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
// Cols
|
|
68
|
-
|
|
68
|
+
/* .cols-2,*/
|
|
69
|
+
.cols-1, .cols-4, .cols-2-2_1, .cols-2-1_2, .cols-2-1_3, .cols-2-golden-ration { display: grid !important; grid-template-columns: 1fr !important; }
|
|
69
70
|
.cols-4.no-responsive { grid-template-columns: 1fr 1fr 1fr 1fr !important }
|
|
70
71
|
.cols-2 { >.col { width: 100% !important; } }
|
|
71
72
|
|
|
@@ -80,11 +80,6 @@ a:hover { cursor: pointer;}
|
|
|
80
80
|
-ms-user-select: none; /* IE 10 and IE 11 */
|
|
81
81
|
user-select: none; /* Standard syntax */
|
|
82
82
|
}
|
|
83
|
-
// Text align
|
|
84
|
-
|
|
85
|
-
.t-left { text-align: left; }
|
|
86
|
-
.t-center { text-align: center; }
|
|
87
|
-
.t-right { text-align: right; }
|
|
88
83
|
// Font weights
|
|
89
84
|
.t-bold { font-weight: 900;}
|
|
90
85
|
.t-demi { font-weight: 700;}
|