@ozdao/martyrs 0.2.429 → 0.2.431
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/chats.server.js +0 -19
- package/dist/chats.server.mjs +0 -19
- package/dist/community.server.js +1 -1
- package/dist/community.server.mjs +1 -1
- package/dist/events.server.js +1 -1
- package/dist/events.server.mjs +1 -1
- package/dist/gallery.server.js +1 -1
- package/dist/gallery.server.mjs +1 -1
- package/dist/{globals.logger-Deb_8o7C.mjs → globals.cache-BT6q3vOf.mjs} +0 -33
- package/dist/{globals.logger-BuG0pN80.js → globals.cache-CwWvNGFQ.js} +0 -33
- package/dist/globals.logger-BdjooLaD.js +34 -0
- package/dist/globals.logger-DusiFsxN.mjs +35 -0
- package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
- package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
- package/dist/martyrs/src/components/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/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
- package/dist/martyrs/src/components/Tab/{Tab.vue.cjs → Tab.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tab/{Tab.vue.cjs.map → Tab.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs → Tooltip.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs.map → Tooltip.vue2.js.map} +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.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/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 +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +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 +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 +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +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/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/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/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 +16 -12
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +16 -12
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +6 -6
- 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 +6 -6
- 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 +17 -9
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +17 -9
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +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/globals/views/components/partials/Sidebar.vue.cjs +16 -4
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js +16 -4
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +101 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +101 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +85 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +85 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.cjs +97 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +97 -0
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -0
- package/dist/martyrs/src/modules/landing/landing.client.cjs +6 -0
- package/dist/martyrs/src/modules/landing/landing.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/landing.client.js +6 -0
- package/dist/martyrs/src/modules/landing/landing.client.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +4 -12
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +4 -12
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs +135 -248
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js +135 -248
- package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +112 -0
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +112 -0
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -0
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +19 -13
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +19 -13
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +17 -9
- 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 +26 -18
- 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 +17 -100
- 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 +17 -100
- 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 +2 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +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 +4 -4
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +61 -58
- 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 +65 -62
- 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 +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/DetailsTabSection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- 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 +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/store/organizations.cjs +0 -2
- package/dist/martyrs/src/modules/organizations/store/organizations.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/store/organizations.js +1 -3
- package/dist/martyrs/src/modules/organizations/store/organizations.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.js +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 +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +12 -10
- 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 +12 -10
- 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 +3 -3
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +5 -4
- 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 +6 -5
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.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 +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
- 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/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 +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/store/spots.cjs +4 -11
- package/dist/martyrs/src/modules/spots/store/spots.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/store/spots.js +4 -11
- package/dist/martyrs/src/modules/spots/store/spots.js.map +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/notifications.server.js +85 -1
- package/dist/notifications.server.mjs +85 -1
- package/dist/orders.server.js +4 -30
- package/dist/orders.server.mjs +3 -29
- package/dist/organizations.server.js +33 -30
- package/dist/organizations.server.mjs +33 -30
- package/dist/products.server.js +1 -1
- package/dist/products.server.mjs +1 -1
- package/dist/{queryProcessor-CCmHM0yi.mjs → queryProcessor-CWnMIe2U.mjs} +4 -1
- package/dist/{queryProcessor-CwQakZkT.js → queryProcessor-D6GuKfTV.js} +4 -1
- package/dist/rents.server.js +4 -3
- package/dist/rents.server.mjs +3 -2
- package/dist/spots.server.js +4 -16
- package/dist/spots.server.mjs +4 -16
- package/dist/style.css +136 -61
- package/dist/wallet.server.js +1 -1
- package/dist/wallet.server.mjs +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.dev.js +0 -20
- package/src/modules/chats/routes/chats.routes.js +19 -19
- package/src/modules/globals/controllers/utils/queryProcessor.js +2 -1
- package/src/modules/globals/views/components/layouts/Client.vue +25 -19
- package/src/modules/globals/views/components/partials/Header.vue +3 -4
- package/src/modules/globals/views/components/partials/Navigation.vue +17 -19
- package/src/modules/globals/views/components/partials/Sidebar.vue +20 -9
- package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
- package/src/modules/landing/landing.client.js +7 -0
- package/src/modules/notifications/components/elements/NotificationBadge.vue +4 -13
- package/src/modules/notifications/notifications.client.js +166 -350
- package/src/modules/notifications/services/notification.service.js +4 -3
- package/src/modules/notifications/services/websocket.service.js +54 -56
- package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +106 -0
- package/src/modules/orders/components/blocks/CardOrderUser.vue +16 -9
- package/src/modules/orders/components/pages/OrderCreate.vue +3 -3
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +15 -3
- package/src/modules/orders/components/pages/Orders.vue +10 -93
- package/src/modules/orders/components/partials/ShopCart.vue +2 -2
- package/src/modules/orders/controllers/orders.controller.js +2 -2
- package/src/modules/organizations/components/pages/Organization.vue +48 -47
- package/src/modules/organizations/controllers/organizations.controller.js +57 -47
- package/src/modules/organizations/store/organizations.js +6 -6
- package/src/modules/products/components/pages/Product.vue +10 -9
- package/src/modules/products/components/pages/Products.vue +4 -3
- package/src/modules/spots/controllers/spots.controller.js +3 -17
- package/src/modules/spots/routes/spots.routes.js +1 -4
- package/src/modules/spots/store/spots.js +4 -12
- package/src/styles/base/shadow_transitions_hover_refactor.scss +1 -0
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +0 -1
- package/src/modules/landing/components/sections/HowToBuyWDR.vue +0 -130
- package/src/modules/landing/components/sections/WhatIsWDRSection.vue +0 -116
|
@@ -32,6 +32,10 @@ const _sfc_main = {
|
|
|
32
32
|
props: {
|
|
33
33
|
navigationItems: Array,
|
|
34
34
|
// Fixed property name typo
|
|
35
|
+
theme: {
|
|
36
|
+
type: String,
|
|
37
|
+
default: "light"
|
|
38
|
+
},
|
|
35
39
|
stateSidebar: {
|
|
36
40
|
type: Boolean,
|
|
37
41
|
default: false
|
|
@@ -83,9 +87,9 @@ const _sfc_main = {
|
|
|
83
87
|
};
|
|
84
88
|
return (_ctx, _cache) => {
|
|
85
89
|
return vue.openBlock(), vue.createElementBlock("nav", {
|
|
86
|
-
class: vue.normalizeClass(["o-
|
|
90
|
+
class: vue.normalizeClass(["o-x-hidden h-100", [
|
|
87
91
|
__props.stateSidebar ? "pd-small" : "pd-micro",
|
|
88
|
-
__props.horizontal ? "w-100 desktop-only flex flex-center flex-nowrap" : "rows-1"
|
|
92
|
+
__props.horizontal ? "w-100 desktop-only flex flex-center flex-nowrap o-y-hidden" : "o-y-scroll rows-1"
|
|
89
93
|
]])
|
|
90
94
|
}, [
|
|
91
95
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuItems.value, (section) => {
|
|
@@ -99,7 +103,9 @@ const _sfc_main = {
|
|
|
99
103
|
vue.createElementVNode("div", {
|
|
100
104
|
class: vue.normalizeClass(["sidebar-category", {
|
|
101
105
|
"hidden": !__props.stateSidebar || __props.horizontal,
|
|
102
|
-
"visible": __props.stateSidebar && !__props.horizontal
|
|
106
|
+
"visible": __props.stateSidebar && !__props.horizontal,
|
|
107
|
+
"t-black": __props.theme === "light",
|
|
108
|
+
"t-white": __props.theme === "dark"
|
|
103
109
|
}])
|
|
104
110
|
}, vue.toDisplayString(section.category), 3),
|
|
105
111
|
vue.createElementVNode("ul", {
|
|
@@ -111,8 +117,9 @@ const _sfc_main = {
|
|
|
111
117
|
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("li", {
|
|
112
118
|
key: item.title,
|
|
113
119
|
class: vue.normalizeClass(["flex-center", [
|
|
114
|
-
__props.stateSidebar ? "" : "
|
|
115
|
-
__props.horizontal ? "w-100 flex flex-nowrap" : ""
|
|
120
|
+
__props.stateSidebar ? "" : "",
|
|
121
|
+
__props.horizontal ? "w-100 flex flex-nowrap" : "",
|
|
122
|
+
__props.stateSidebar && !__props.horizontal ? "" : "aspect-1x1"
|
|
116
123
|
]])
|
|
117
124
|
}, [
|
|
118
125
|
vue.createElementVNode("button", {
|
|
@@ -120,13 +127,14 @@ const _sfc_main = {
|
|
|
120
127
|
class: vue.normalizeClass(["flex-child-default flex-center gap-thin flex sidebar-item-btn", [
|
|
121
128
|
__props.stateSidebar || __props.horizontal ? "expanded-item pd-thin" : "w-100 h-100 justify-center",
|
|
122
129
|
__props.horizontal ? "w-max flex flex-nowrap" : "",
|
|
123
|
-
item.route && _ctx.$route.path === processRoute(item.route) ? "bg-light" : ""
|
|
130
|
+
item.route && _ctx.$route.path === processRoute(item.route) ? __props.theme === "light" ? "bg-light" : "bg-dark" : "",
|
|
131
|
+
__props.theme === "light" ? "hover-bg-light" : "hover-bg-dark"
|
|
124
132
|
]])
|
|
125
133
|
}, [
|
|
126
134
|
item.iconComponent && !__props.horizontal ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.iconComponent), {
|
|
127
135
|
key: 0,
|
|
128
136
|
class: "i-medium flex-child-default",
|
|
129
|
-
fill: globals.state.theme.darkmode ? "rgba(255,255,255,0.7)" : "rgba(0,0,0,0.25)"
|
|
137
|
+
fill: globals.state.theme.darkmode || __props.theme === "dark" ? "rgba(255,255,255,0.7)" : "rgba(0,0,0,0.25)"
|
|
130
138
|
}, null, 8, ["fill"])) : vue.createCommentVNode("", true),
|
|
131
139
|
!item.iconComponent && !__props.horizontal ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, vue.toDisplayString(item.icon), 1)) : vue.createCommentVNode("", true),
|
|
132
140
|
vue.createElementVNode("span", {
|
|
@@ -162,7 +170,7 @@ const _sfc_main = {
|
|
|
162
170
|
subItem.iconComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(subItem.iconComponent), {
|
|
163
171
|
key: 0,
|
|
164
172
|
class: "sidebar-subitem-icon i-medium",
|
|
165
|
-
fill: globals.state.theme.darkmode ? "rgba(255,255,255,0.7)" : "rgba(0,0,0,0.25)"
|
|
173
|
+
fill: globals.state.theme.darkmode || __props.theme === "dark" ? "rgba(255,255,255,0.7)" : "rgba(0,0,0,0.25)"
|
|
166
174
|
}, null, 8, ["fill"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_11, vue.toDisplayString(subItem.icon), 1)),
|
|
167
175
|
vue.createElementVNode("span", _hoisted_12, vue.toDisplayString(subItem.title), 1)
|
|
168
176
|
], 8, _hoisted_10)
|
|
@@ -185,6 +193,6 @@ const _sfc_main = {
|
|
|
185
193
|
};
|
|
186
194
|
}
|
|
187
195
|
};
|
|
188
|
-
const Navigation = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
196
|
+
const Navigation = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-43d4ca8b"]]);
|
|
189
197
|
exports.default = Navigation;
|
|
190
198
|
//# sourceMappingURL=Navigation.vue.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/partials/Navigation.vue"],"sourcesContent":["<script setup>\nimport { ref, watch, computed } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\n// Import icons\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'\n\nconst router = useRouter()\n\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\n\nconst props = defineProps({\n navigationItems: Array, // Fixed property name typo\n stateSidebar: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: Boolean,\n default: false\n }\n})\n\nconst emit = defineEmits([\n 'closeSidebar'\n])\n\nconst expandedSections = ref([])\n\n// Use navigationItems from props instead of nagigationItems\nconst menuItems = computed(() => props.navigationItems || [])\n\nconst toggleSection = (title) => {\n if (!props.stateSidebar) {\n if (menuItems.value.flatMap(section => section.items).find(item => item.title === title && item.subItems)) {\n emit('closeSidebar')\n setTimeout(() => {\n expandedSections.value.push(title)\n }, 50)\n }\n return\n }\n \n const index = expandedSections.value.indexOf(title)\n\n if (index === -1) {\n expandedSections.value.push(title)\n } else {\n expandedSections.value.splice(index, 1)\n }\n}\n\nconst isSectionExpanded = (title) => {\n return expandedSections.value.includes(title)\n}\n\nwatch(() => props.stateSidebar, (newValue) => {\n if (!newValue) {\n expandedSections.value = []\n }\n})\n\n// Process route functions with globals and auth data\nconst processRoute = (route) => {\n if (typeof route === 'function') {\n return route(globals.state, auth.state)\n }\n return route\n}\n</script>\n\n<template>\n <nav\n class=\"o-y-scroll o-x-hidden h-100\"\n :class=\"[\n stateSidebar ? 'pd-small' : 'pd-micro',\n horizontal ? 'w-100 desktop-only flex flex-center flex-nowrap' : 'rows-1',\n ]\"\n >\n <div \n v-for=\"section in menuItems\" \n v-show=\"!section.visible || (typeof section.visible === 'function' ? section.visible(auth.state) : true)\"\n :key=\"section.category\" \n :class=\"[\n horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',\n stateSidebar && !horizontal ? 'mn-t-medium' : '',\n ]\"\n class=\"\"\n >\n <div \n class=\"sidebar-category\"\n :class=\"{ \n 'hidden': !stateSidebar || horizontal, \n 'visible': stateSidebar && !horizontal \n }\"\n >\n {{ section.category }}\n </div>\n\n <ul \n :class=\"[\n horizontal ? 'w-100 gap-micro flex flex-nowrap' : 'flex flex-column gap-thin',\n ]\"\n >\n <li \n v-for=\"item in section.items\" \n :key=\"item.title\"\n v-show=\"!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state) : true)\"\n class=\"flex-center\"\n :class=\"[\n stateSidebar ? '' : 'aspect-1x1',\n horizontal ? 'w-100 flex flex-nowrap' : '',\n ]\"\n >\n <button\n @click=\"item.route ? router.push(processRoute(item.route)) : null\"\n class=\"flex-child-default flex-center gap-thin flex sidebar-item-btn\"\n :class=\"[\n stateSidebar || horizontal ? 'expanded-item pd-thin' : 'w-100 h-100 justify-center',\n horizontal ? 'w-max flex flex-nowrap' : '',\n item.route && $route.path === processRoute(item.route) ? 'bg-light' : ''\n ]\"\n >\n <component \n v-if=\"item.iconComponent && !horizontal\" \n :is=\"item.iconComponent\" \n class=\"i-medium flex-child-default\" \n :fill=\"globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-if=\"!item.iconComponent && !horizontal\" class=\"i-medium sidebar-item-icon t-lh-1 flex-child-default\">{{ item.icon }}</span>\n \n <span\n class=\"w-100 t-left sidebar-item-title\"\n :class=\"{ 'hidden': !stateSidebar && !horizontal, 'visible': stateSidebar || horizontal }\"\n >\n {{ item.title }}\n </span>\n \n <span\n v-if=\"item.subItems && stateSidebar && !horizontal\"\n class=\"mn-l-auto sidebar-dropdown-icon\"\n :class=\"{ 'rotate-180': isSectionExpanded(item.title) }\"\n @click.stop=\"toggleSection(item.title)\" \n >\n ▾\n </span>\n \n <div v-if=\"item.route && $route.path === processRoute(item.route) && !horizontal\" class=\"sidebar-highlight-indicator\" />\n <Dropdown \n v-if=\"false\"\n :label=\"hello\"\n :align=\"'right'\"\n class=\"cursor-pointer pos-absolute pos-r-regular pos-t-regular pd-thin radius-extra \"\n >\n <ul\n v-if=\"item.subItems\"\n class=\"sidebar-submenu\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a \n @click=\"subItem.route && router.push(subItem.route)\" \n href=\"#\" \n class=\"sidebar-subitem-link\"\n >\n <component \n v-if=\"subItem.iconComponent\" \n :is=\"subItem.iconComponent\" \n class=\"sidebar-subitem-icon i-medium\" \n :fill=\"globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-else class=\"sidebar-subitem-icon\">{{ subItem.icon }}</span>\n <span class=\"sidebar-subitem-title\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </Dropdown>\n </button>\n <!-- { component: IconEllipsis, class: 'i-regular t-transp' } -->\n\n\n <transition\n enter-active-class=\"dropdown-enter\"\n leave-active-class=\"dropdown-leave\"\n enter-from-class=\"dropdown-enter-from\"\n enter-to-class=\"dropdown-enter-to\"\n leave-from-class=\"dropdown-leave-from\"\n leave-to-class=\"dropdown-leave-to\"\n >\n <ul\n v-if=\"item.subItems && isSectionExpanded(item.title) && stateSidebar && !horizontal\"\n class=\"sidebar-submenu\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a \n @click=\"subItem.route && router.push(subItem.route)\" \n href=\"#\" \n class=\"sidebar-subitem-link flex flex-nowrap gap-thin pd-thin radius-small\"\n >\n <component \n v-if=\"subItem.iconComponent\" \n :is=\"subItem.iconComponent\" \n class=\"sidebar-subitem-icon i-medium\" \n :fill=\"globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-else class=\"sidebar-subitem-icon\">{{ subItem.icon }}</span>\n <span class=\"sidebar-subitem-title\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </transition>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n\n<style scoped>\n.sidebar-item-btn:hover .sidebar-item-icon,\n.sidebar-subitem-link:hover .sidebar-subitem-icon {\n transform: scale(1.1);\n}\n\n.sidebar-item-btn:hover .sidebar-item-icon {\n transform: scale(1.1);\n}\n\n\n.sidebar-subitem-link:hover .sidebar-subitem-icon {\n transform: scale(1.1);\n}\n\n\n\n.sidebar-subitem-link:hover {\n background: var(--light-regular);\n}\n\n.sidebar-item-btn:hover {\n background: var(--light-regular);\n}\n\n\n\n.expanded-item {\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: var(--small);\n}\n\n.sidebar-item-btn {\n align-items: center;\n border-radius: var(--small);\n transition: all 0.2s;\n position: relative;\n border: none;\n cursor: pointer;\n}\n\n\n.sidebar-item-title {\n font-weight: 500;\n transition: opacity 0.2s, width 0.2s;\n white-space: nowrap;\n}\n\n.sidebar-item-icon {\n font-size: 1.25rem;\n transition: transform 0.2s;\n}\n\n\n\n.sidebar-category {\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding-left: var(--regular);\n padding-right: var(--regular);\n transition: opacity 0.2s;\n color: var(--grey-medium);\n}\n\n.sidebar-highlight-indicator {\n position: absolute;\n left: 0;\n width: 4px;\n height: 100%;\n border-radius: 0 var(--micro) var(--micro) 0;\n background: linear-gradient(to bottom, var(--second-regular), var(--second-small));\n transition: opacity 0.2s;\n}\n\n\n\n.sidebar-dropdown-icon {\n color: var(--grey-medium);\n transition: transform 0.2s;\n}\n\n.rotate-180 {\n transform: rotate(180deg);\n}\n\n.sidebar-submenu {\n margin-top: var(--micro);\n margin-left: var(--semi);\n display: flex;\n flex-direction: column;\n gap: var(--micro);\n}\n\n.sidebar-subitem-link {\n display: flex;\n align-items: center;\n text-decoration: none;\n transition: all 0.2s;\n}\n\n\n.sidebar-subitem-title {\n font-size: 0.875rem;\n}\n\n.hidden {\n opacity: 0;\n width: 0;\n display: none;\n}\n\n.visible {\n opacity: 1;\n display: block;\n}\n\n/* Dropdown animations */\n.dropdown-enter, .dropdown-leave {\n transition: all 0.3s ease-in-out;\n}\n\n.dropdown-enter-from, .dropdown-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.dropdown-enter-to, .dropdown-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n</style>"],"names":["useRouter","ref","computed","watch","globals.state","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAM,SAASA,UAAS,UAAA;AAKxB,UAAM,QAAQ;AAYd,UAAM,OAAO;AAIb,UAAM,mBAAmBC,IAAG,IAAC,CAAE,CAAA;AAG/B,UAAM,YAAYC,IAAQ,SAAC,MAAM,MAAM,mBAAmB,CAAE,CAAA;AAE5D,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAM,cAAc;AACvB,YAAI,UAAU,MAAM,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,UAAU,SAAS,KAAK,QAAQ,GAAG;AACzG,eAAK,cAAc;AACnB,qBAAW,MAAM;AACf,6BAAiB,MAAM,KAAK,KAAK;AAAA,UACzC,GAAS,EAAE;AAAA,QACX;AACI;AAAA,MACJ;AAEE,YAAM,QAAQ,iBAAiB,MAAM,QAAQ,KAAK;AAElD,UAAI,UAAU,IAAI;AAChB,yBAAiB,MAAM,KAAK,KAAK;AAAA,MACrC,OAAS;AACL,yBAAiB,MAAM,OAAO,OAAO,CAAC;AAAA,MAC1C;AAAA,IACA;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,aAAO,iBAAiB,MAAM,SAAS,KAAK;AAAA,IAC9C;AAEAC,QAAK,MAAC,MAAM,MAAM,cAAc,CAAC,aAAa;AAC5C,UAAI,CAAC,UAAU;AACb,yBAAiB,QAAQ,CAAA;AAAA,MAC7B;AAAA,IACA,CAAC;AAGD,UAAM,eAAe,CAAC,UAAU;AAC9B,UAAI,OAAO,UAAU,YAAY;AAC/B,eAAO,MAAMC,QAAAA,OAAeC,KAAU,KAAA;AAAA,MAC1C;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Navigation.vue.cjs","sources":["../../../../../../../../src/modules/globals/views/components/partials/Navigation.vue"],"sourcesContent":["<script setup>\nimport { ref, watch, computed } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\n// Import icons\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'\n\nconst router = useRouter()\n\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\n\nconst props = defineProps({\n navigationItems: Array, // Fixed property name typo\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: Boolean,\n default: false\n }\n})\n\nconst emit = defineEmits([\n 'closeSidebar'\n])\n\nconst expandedSections = ref([])\n\n// Use navigationItems from props instead of nagigationItems\nconst menuItems = computed(() => props.navigationItems || [])\n\nconst toggleSection = (title) => {\n if (!props.stateSidebar) {\n if (menuItems.value.flatMap(section => section.items).find(item => item.title === title && item.subItems)) {\n emit('closeSidebar')\n setTimeout(() => {\n expandedSections.value.push(title)\n }, 50)\n }\n return\n }\n \n const index = expandedSections.value.indexOf(title)\n\n if (index === -1) {\n expandedSections.value.push(title)\n } else {\n expandedSections.value.splice(index, 1)\n }\n}\n\nconst isSectionExpanded = (title) => {\n return expandedSections.value.includes(title)\n}\n\nwatch(() => props.stateSidebar, (newValue) => {\n if (!newValue) {\n expandedSections.value = []\n }\n})\n\n// Process route functions with globals and auth data\nconst processRoute = (route) => {\n if (typeof route === 'function') {\n return route(globals.state, auth.state)\n }\n return route\n}\n</script>\n\n<template>\n <nav\n class=\"o-x-hidden h-100\"\n :class=\"[\n stateSidebar ? 'pd-small' : 'pd-micro',\n horizontal ? 'w-100 desktop-only flex flex-center flex-nowrap o-y-hidden' : 'o-y-scroll rows-1',\n ]\"\n >\n <div \n v-for=\"section in menuItems\" \n v-show=\"!section.visible || (typeof section.visible === 'function' ? section.visible(auth.state) : true)\"\n :key=\"section.category\" \n :class=\"[\n horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',\n stateSidebar && !horizontal ? 'mn-t-medium' : '',\n ]\"\n class=\"\"\n >\n <div \n class=\"sidebar-category\"\n :class=\"{ \n 'hidden': !stateSidebar || horizontal, \n 'visible': stateSidebar && !horizontal,\n 't-black': theme === 'light',\n 't-white': theme === 'dark'\n }\"\n >\n {{ section.category }}\n </div>\n\n <ul \n :class=\"[\n horizontal ? 'w-100 gap-micro flex flex-nowrap' : 'flex flex-column gap-thin',\n ]\"\n >\n <li \n v-for=\"item in section.items\" \n :key=\"item.title\"\n v-show=\"!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state) : true)\"\n class=\"flex-center\"\n :class=\"[\n stateSidebar ? '' : '',\n horizontal ? 'w-100 flex flex-nowrap' : '',\n stateSidebar && !horizontal ? '' : 'aspect-1x1'\n ]\"\n >\n <button\n @click=\"item.route ? router.push(processRoute(item.route)) : null\"\n class=\"flex-child-default flex-center gap-thin flex sidebar-item-btn\"\n :class=\"[\n stateSidebar || horizontal ? 'expanded-item pd-thin' : 'w-100 h-100 justify-center',\n horizontal ? 'w-max flex flex-nowrap' : '',\n item.route && $route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover-bg-light' : 'hover-bg-dark'\n ]\"\n >\n <component \n v-if=\"item.iconComponent && !horizontal\" \n :is=\"item.iconComponent\" \n class=\"i-medium flex-child-default\" \n :fill=\"globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-if=\"!item.iconComponent && !horizontal\" class=\"i-medium sidebar-item-icon t-lh-1 flex-child-default\">{{ item.icon }}</span>\n \n <span\n class=\"w-100 t-left sidebar-item-title\"\n :class=\"{ 'hidden': !stateSidebar && !horizontal, 'visible': stateSidebar || horizontal }\"\n >\n {{ item.title }}\n </span>\n \n <span\n v-if=\"item.subItems && stateSidebar && !horizontal\"\n class=\"mn-l-auto sidebar-dropdown-icon\"\n :class=\"{ 'rotate-180': isSectionExpanded(item.title) }\"\n @click.stop=\"toggleSection(item.title)\" \n >\n ▾\n </span>\n \n <div v-if=\"item.route && $route.path === processRoute(item.route) && !horizontal\" class=\"sidebar-highlight-indicator\" />\n <Dropdown \n v-if=\"false\"\n :label=\"hello\"\n :align=\"'right'\"\n class=\"cursor-pointer pos-absolute pos-r-regular pos-t-regular pd-thin radius-extra \"\n >\n <ul\n v-if=\"item.subItems\"\n class=\"sidebar-submenu\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a \n @click=\"subItem.route && router.push(subItem.route)\" \n href=\"#\" \n class=\"sidebar-subitem-link\"\n >\n <component \n v-if=\"subItem.iconComponent\" \n :is=\"subItem.iconComponent\" \n class=\"sidebar-subitem-icon i-medium\" \n :fill=\"globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-else class=\"sidebar-subitem-icon\">{{ subItem.icon }}</span>\n <span class=\"sidebar-subitem-title\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </Dropdown>\n </button>\n <!-- { component: IconEllipsis, class: 'i-regular t-transp' } -->\n\n\n <transition\n enter-active-class=\"dropdown-enter\"\n leave-active-class=\"dropdown-leave\"\n enter-from-class=\"dropdown-enter-from\"\n enter-to-class=\"dropdown-enter-to\"\n leave-from-class=\"dropdown-leave-from\"\n leave-to-class=\"dropdown-leave-to\"\n >\n <ul\n v-if=\"item.subItems && isSectionExpanded(item.title) && stateSidebar && !horizontal\"\n class=\"sidebar-submenu\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a \n @click=\"subItem.route && router.push(subItem.route)\" \n href=\"#\" \n class=\"sidebar-subitem-link flex flex-nowrap gap-thin pd-thin radius-small\"\n >\n <component \n v-if=\"subItem.iconComponent\" \n :is=\"subItem.iconComponent\" \n class=\"sidebar-subitem-icon i-medium\" \n :fill=\"globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-else class=\"sidebar-subitem-icon\">{{ subItem.icon }}</span>\n <span class=\"sidebar-subitem-title\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </transition>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n\n<style scoped>\n.sidebar-item-btn:hover .sidebar-item-icon,\n.sidebar-subitem-link:hover .sidebar-subitem-icon {\n transform: scale(1.1);\n}\n\n.sidebar-item-btn:hover .sidebar-item-icon {\n transform: scale(1.1);\n}\n\n\n.sidebar-subitem-link:hover .sidebar-subitem-icon {\n transform: scale(1.1);\n}\n\n\n\n.expanded-item {\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: var(--small);\n}\n\n.sidebar-item-btn {\n align-items: center;\n border-radius: var(--small);\n transition: all 0.2s;\n position: relative;\n border: none;\n cursor: pointer;\n}\n\n\n.sidebar-item-title {\n font-weight: 500;\n transition: opacity 0.2s, width 0.2s;\n white-space: nowrap;\n}\n\n.sidebar-item-icon {\n font-size: 1.25rem;\n transition: transform 0.2s;\n}\n\n\n\n.sidebar-category {\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding-left: var(--regular);\n padding-right: var(--regular);\n transition: opacity 0.2s;\n color: var(--grey-medium);\n}\n\n.sidebar-highlight-indicator {\n position: absolute;\n left: 0;\n width: 4px;\n height: 100%;\n border-radius: 0 var(--micro) var(--micro) 0;\n background: linear-gradient(to bottom, var(--second-regular), var(--second-small));\n transition: opacity 0.2s;\n}\n\n\n\n.sidebar-dropdown-icon {\n color: var(--grey-medium);\n transition: transform 0.2s;\n}\n\n.rotate-180 {\n transform: rotate(180deg);\n}\n\n.sidebar-submenu {\n margin-top: var(--micro);\n margin-left: var(--semi);\n display: flex;\n flex-direction: column;\n gap: var(--micro);\n}\n\n.sidebar-subitem-link {\n display: flex;\n align-items: center;\n text-decoration: none;\n transition: all 0.2s;\n}\n\n\n.sidebar-subitem-title {\n font-size: 0.875rem;\n}\n\n.hidden {\n opacity: 0;\n width: 0;\n display: none;\n}\n\n.visible {\n opacity: 1;\n display: block;\n}\n\n/* Dropdown animations */\n.dropdown-enter, .dropdown-leave {\n transition: all 0.3s ease-in-out;\n}\n\n.dropdown-enter-from, .dropdown-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.dropdown-enter-to, .dropdown-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n</style>"],"names":["useRouter","ref","computed","watch","globals.state","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAM,SAASA,UAAS,UAAA;AAKxB,UAAM,QAAQ;AAgBd,UAAM,OAAO;AAIb,UAAM,mBAAmBC,IAAG,IAAC,CAAE,CAAA;AAG/B,UAAM,YAAYC,IAAQ,SAAC,MAAM,MAAM,mBAAmB,CAAE,CAAA;AAE5D,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAM,cAAc;AACvB,YAAI,UAAU,MAAM,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,UAAU,SAAS,KAAK,QAAQ,GAAG;AACzG,eAAK,cAAc;AACnB,qBAAW,MAAM;AACf,6BAAiB,MAAM,KAAK,KAAK;AAAA,UACzC,GAAS,EAAE;AAAA,QACX;AACI;AAAA,MACJ;AAEE,YAAM,QAAQ,iBAAiB,MAAM,QAAQ,KAAK;AAElD,UAAI,UAAU,IAAI;AAChB,yBAAiB,MAAM,KAAK,KAAK;AAAA,MACrC,OAAS;AACL,yBAAiB,MAAM,OAAO,OAAO,CAAC;AAAA,MAC1C;AAAA,IACA;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,aAAO,iBAAiB,MAAM,SAAS,KAAK;AAAA,IAC9C;AAEAC,QAAK,MAAC,MAAM,MAAM,cAAc,CAAC,aAAa;AAC5C,UAAI,CAAC,UAAU;AACb,yBAAiB,QAAQ,CAAA;AAAA,MAC7B;AAAA,IACA,CAAC;AAGD,UAAM,eAAe,CAAC,UAAU;AAC9B,UAAI,OAAO,UAAU,YAAY;AAC/B,eAAO,MAAMC,QAAAA,OAAeC,KAAU,KAAA;AAAA,MAC1C;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -30,6 +30,10 @@ const _sfc_main = {
|
|
|
30
30
|
props: {
|
|
31
31
|
navigationItems: Array,
|
|
32
32
|
// Fixed property name typo
|
|
33
|
+
theme: {
|
|
34
|
+
type: String,
|
|
35
|
+
default: "light"
|
|
36
|
+
},
|
|
33
37
|
stateSidebar: {
|
|
34
38
|
type: Boolean,
|
|
35
39
|
default: false
|
|
@@ -81,9 +85,9 @@ const _sfc_main = {
|
|
|
81
85
|
};
|
|
82
86
|
return (_ctx, _cache) => {
|
|
83
87
|
return openBlock(), createElementBlock("nav", {
|
|
84
|
-
class: normalizeClass(["o-
|
|
88
|
+
class: normalizeClass(["o-x-hidden h-100", [
|
|
85
89
|
__props.stateSidebar ? "pd-small" : "pd-micro",
|
|
86
|
-
__props.horizontal ? "w-100 desktop-only flex flex-center flex-nowrap" : "rows-1"
|
|
90
|
+
__props.horizontal ? "w-100 desktop-only flex flex-center flex-nowrap o-y-hidden" : "o-y-scroll rows-1"
|
|
87
91
|
]])
|
|
88
92
|
}, [
|
|
89
93
|
(openBlock(true), createElementBlock(Fragment, null, renderList(menuItems.value, (section) => {
|
|
@@ -97,7 +101,9 @@ const _sfc_main = {
|
|
|
97
101
|
createElementVNode("div", {
|
|
98
102
|
class: normalizeClass(["sidebar-category", {
|
|
99
103
|
"hidden": !__props.stateSidebar || __props.horizontal,
|
|
100
|
-
"visible": __props.stateSidebar && !__props.horizontal
|
|
104
|
+
"visible": __props.stateSidebar && !__props.horizontal,
|
|
105
|
+
"t-black": __props.theme === "light",
|
|
106
|
+
"t-white": __props.theme === "dark"
|
|
101
107
|
}])
|
|
102
108
|
}, toDisplayString(section.category), 3),
|
|
103
109
|
createElementVNode("ul", {
|
|
@@ -109,8 +115,9 @@ const _sfc_main = {
|
|
|
109
115
|
return withDirectives((openBlock(), createElementBlock("li", {
|
|
110
116
|
key: item.title,
|
|
111
117
|
class: normalizeClass(["flex-center", [
|
|
112
|
-
__props.stateSidebar ? "" : "
|
|
113
|
-
__props.horizontal ? "w-100 flex flex-nowrap" : ""
|
|
118
|
+
__props.stateSidebar ? "" : "",
|
|
119
|
+
__props.horizontal ? "w-100 flex flex-nowrap" : "",
|
|
120
|
+
__props.stateSidebar && !__props.horizontal ? "" : "aspect-1x1"
|
|
114
121
|
]])
|
|
115
122
|
}, [
|
|
116
123
|
createElementVNode("button", {
|
|
@@ -118,13 +125,14 @@ const _sfc_main = {
|
|
|
118
125
|
class: normalizeClass(["flex-child-default flex-center gap-thin flex sidebar-item-btn", [
|
|
119
126
|
__props.stateSidebar || __props.horizontal ? "expanded-item pd-thin" : "w-100 h-100 justify-center",
|
|
120
127
|
__props.horizontal ? "w-max flex flex-nowrap" : "",
|
|
121
|
-
item.route && _ctx.$route.path === processRoute(item.route) ? "bg-light" : ""
|
|
128
|
+
item.route && _ctx.$route.path === processRoute(item.route) ? __props.theme === "light" ? "bg-light" : "bg-dark" : "",
|
|
129
|
+
__props.theme === "light" ? "hover-bg-light" : "hover-bg-dark"
|
|
122
130
|
]])
|
|
123
131
|
}, [
|
|
124
132
|
item.iconComponent && !__props.horizontal ? (openBlock(), createBlock(resolveDynamicComponent(item.iconComponent), {
|
|
125
133
|
key: 0,
|
|
126
134
|
class: "i-medium flex-child-default",
|
|
127
|
-
fill: state.theme.darkmode ? "rgba(255,255,255,0.7)" : "rgba(0,0,0,0.25)"
|
|
135
|
+
fill: state.theme.darkmode || __props.theme === "dark" ? "rgba(255,255,255,0.7)" : "rgba(0,0,0,0.25)"
|
|
128
136
|
}, null, 8, ["fill"])) : createCommentVNode("", true),
|
|
129
137
|
!item.iconComponent && !__props.horizontal ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(item.icon), 1)) : createCommentVNode("", true),
|
|
130
138
|
createElementVNode("span", {
|
|
@@ -160,7 +168,7 @@ const _sfc_main = {
|
|
|
160
168
|
subItem.iconComponent ? (openBlock(), createBlock(resolveDynamicComponent(subItem.iconComponent), {
|
|
161
169
|
key: 0,
|
|
162
170
|
class: "sidebar-subitem-icon i-medium",
|
|
163
|
-
fill: state.theme.darkmode ? "rgba(255,255,255,0.7)" : "rgba(0,0,0,0.25)"
|
|
171
|
+
fill: state.theme.darkmode || __props.theme === "dark" ? "rgba(255,255,255,0.7)" : "rgba(0,0,0,0.25)"
|
|
164
172
|
}, null, 8, ["fill"])) : (openBlock(), createElementBlock("span", _hoisted_11, toDisplayString(subItem.icon), 1)),
|
|
165
173
|
createElementVNode("span", _hoisted_12, toDisplayString(subItem.title), 1)
|
|
166
174
|
], 8, _hoisted_10)
|
|
@@ -183,7 +191,7 @@ const _sfc_main = {
|
|
|
183
191
|
};
|
|
184
192
|
}
|
|
185
193
|
};
|
|
186
|
-
const Navigation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
194
|
+
const Navigation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-43d4ca8b"]]);
|
|
187
195
|
export {
|
|
188
196
|
Navigation as default
|
|
189
197
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.vue.js","sources":["../../../../../../../../src/modules/globals/views/components/partials/Navigation.vue"],"sourcesContent":["<script setup>\nimport { ref, watch, computed } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\n// Import icons\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'\n\nconst router = useRouter()\n\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\n\nconst props = defineProps({\n navigationItems: Array, // Fixed property name typo\n stateSidebar: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: Boolean,\n default: false\n }\n})\n\nconst emit = defineEmits([\n 'closeSidebar'\n])\n\nconst expandedSections = ref([])\n\n// Use navigationItems from props instead of nagigationItems\nconst menuItems = computed(() => props.navigationItems || [])\n\nconst toggleSection = (title) => {\n if (!props.stateSidebar) {\n if (menuItems.value.flatMap(section => section.items).find(item => item.title === title && item.subItems)) {\n emit('closeSidebar')\n setTimeout(() => {\n expandedSections.value.push(title)\n }, 50)\n }\n return\n }\n \n const index = expandedSections.value.indexOf(title)\n\n if (index === -1) {\n expandedSections.value.push(title)\n } else {\n expandedSections.value.splice(index, 1)\n }\n}\n\nconst isSectionExpanded = (title) => {\n return expandedSections.value.includes(title)\n}\n\nwatch(() => props.stateSidebar, (newValue) => {\n if (!newValue) {\n expandedSections.value = []\n }\n})\n\n// Process route functions with globals and auth data\nconst processRoute = (route) => {\n if (typeof route === 'function') {\n return route(globals.state, auth.state)\n }\n return route\n}\n</script>\n\n<template>\n <nav\n class=\"o-y-scroll o-x-hidden h-100\"\n :class=\"[\n stateSidebar ? 'pd-small' : 'pd-micro',\n horizontal ? 'w-100 desktop-only flex flex-center flex-nowrap' : 'rows-1',\n ]\"\n >\n <div \n v-for=\"section in menuItems\" \n v-show=\"!section.visible || (typeof section.visible === 'function' ? section.visible(auth.state) : true)\"\n :key=\"section.category\" \n :class=\"[\n horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',\n stateSidebar && !horizontal ? 'mn-t-medium' : '',\n ]\"\n class=\"\"\n >\n <div \n class=\"sidebar-category\"\n :class=\"{ \n 'hidden': !stateSidebar || horizontal, \n 'visible': stateSidebar && !horizontal \n }\"\n >\n {{ section.category }}\n </div>\n\n <ul \n :class=\"[\n horizontal ? 'w-100 gap-micro flex flex-nowrap' : 'flex flex-column gap-thin',\n ]\"\n >\n <li \n v-for=\"item in section.items\" \n :key=\"item.title\"\n v-show=\"!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state) : true)\"\n class=\"flex-center\"\n :class=\"[\n stateSidebar ? '' : 'aspect-1x1',\n horizontal ? 'w-100 flex flex-nowrap' : '',\n ]\"\n >\n <button\n @click=\"item.route ? router.push(processRoute(item.route)) : null\"\n class=\"flex-child-default flex-center gap-thin flex sidebar-item-btn\"\n :class=\"[\n stateSidebar || horizontal ? 'expanded-item pd-thin' : 'w-100 h-100 justify-center',\n horizontal ? 'w-max flex flex-nowrap' : '',\n item.route && $route.path === processRoute(item.route) ? 'bg-light' : ''\n ]\"\n >\n <component \n v-if=\"item.iconComponent && !horizontal\" \n :is=\"item.iconComponent\" \n class=\"i-medium flex-child-default\" \n :fill=\"globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-if=\"!item.iconComponent && !horizontal\" class=\"i-medium sidebar-item-icon t-lh-1 flex-child-default\">{{ item.icon }}</span>\n \n <span\n class=\"w-100 t-left sidebar-item-title\"\n :class=\"{ 'hidden': !stateSidebar && !horizontal, 'visible': stateSidebar || horizontal }\"\n >\n {{ item.title }}\n </span>\n \n <span\n v-if=\"item.subItems && stateSidebar && !horizontal\"\n class=\"mn-l-auto sidebar-dropdown-icon\"\n :class=\"{ 'rotate-180': isSectionExpanded(item.title) }\"\n @click.stop=\"toggleSection(item.title)\" \n >\n ▾\n </span>\n \n <div v-if=\"item.route && $route.path === processRoute(item.route) && !horizontal\" class=\"sidebar-highlight-indicator\" />\n <Dropdown \n v-if=\"false\"\n :label=\"hello\"\n :align=\"'right'\"\n class=\"cursor-pointer pos-absolute pos-r-regular pos-t-regular pd-thin radius-extra \"\n >\n <ul\n v-if=\"item.subItems\"\n class=\"sidebar-submenu\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a \n @click=\"subItem.route && router.push(subItem.route)\" \n href=\"#\" \n class=\"sidebar-subitem-link\"\n >\n <component \n v-if=\"subItem.iconComponent\" \n :is=\"subItem.iconComponent\" \n class=\"sidebar-subitem-icon i-medium\" \n :fill=\"globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-else class=\"sidebar-subitem-icon\">{{ subItem.icon }}</span>\n <span class=\"sidebar-subitem-title\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </Dropdown>\n </button>\n <!-- { component: IconEllipsis, class: 'i-regular t-transp' } -->\n\n\n <transition\n enter-active-class=\"dropdown-enter\"\n leave-active-class=\"dropdown-leave\"\n enter-from-class=\"dropdown-enter-from\"\n enter-to-class=\"dropdown-enter-to\"\n leave-from-class=\"dropdown-leave-from\"\n leave-to-class=\"dropdown-leave-to\"\n >\n <ul\n v-if=\"item.subItems && isSectionExpanded(item.title) && stateSidebar && !horizontal\"\n class=\"sidebar-submenu\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a \n @click=\"subItem.route && router.push(subItem.route)\" \n href=\"#\" \n class=\"sidebar-subitem-link flex flex-nowrap gap-thin pd-thin radius-small\"\n >\n <component \n v-if=\"subItem.iconComponent\" \n :is=\"subItem.iconComponent\" \n class=\"sidebar-subitem-icon i-medium\" \n :fill=\"globals.state.theme.darkmode ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-else class=\"sidebar-subitem-icon\">{{ subItem.icon }}</span>\n <span class=\"sidebar-subitem-title\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </transition>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n\n<style scoped>\n.sidebar-item-btn:hover .sidebar-item-icon,\n.sidebar-subitem-link:hover .sidebar-subitem-icon {\n transform: scale(1.1);\n}\n\n.sidebar-item-btn:hover .sidebar-item-icon {\n transform: scale(1.1);\n}\n\n\n.sidebar-subitem-link:hover .sidebar-subitem-icon {\n transform: scale(1.1);\n}\n\n\n\n.sidebar-subitem-link:hover {\n background: var(--light-regular);\n}\n\n.sidebar-item-btn:hover {\n background: var(--light-regular);\n}\n\n\n\n.expanded-item {\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: var(--small);\n}\n\n.sidebar-item-btn {\n align-items: center;\n border-radius: var(--small);\n transition: all 0.2s;\n position: relative;\n border: none;\n cursor: pointer;\n}\n\n\n.sidebar-item-title {\n font-weight: 500;\n transition: opacity 0.2s, width 0.2s;\n white-space: nowrap;\n}\n\n.sidebar-item-icon {\n font-size: 1.25rem;\n transition: transform 0.2s;\n}\n\n\n\n.sidebar-category {\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding-left: var(--regular);\n padding-right: var(--regular);\n transition: opacity 0.2s;\n color: var(--grey-medium);\n}\n\n.sidebar-highlight-indicator {\n position: absolute;\n left: 0;\n width: 4px;\n height: 100%;\n border-radius: 0 var(--micro) var(--micro) 0;\n background: linear-gradient(to bottom, var(--second-regular), var(--second-small));\n transition: opacity 0.2s;\n}\n\n\n\n.sidebar-dropdown-icon {\n color: var(--grey-medium);\n transition: transform 0.2s;\n}\n\n.rotate-180 {\n transform: rotate(180deg);\n}\n\n.sidebar-submenu {\n margin-top: var(--micro);\n margin-left: var(--semi);\n display: flex;\n flex-direction: column;\n gap: var(--micro);\n}\n\n.sidebar-subitem-link {\n display: flex;\n align-items: center;\n text-decoration: none;\n transition: all 0.2s;\n}\n\n\n.sidebar-subitem-title {\n font-size: 0.875rem;\n}\n\n.hidden {\n opacity: 0;\n width: 0;\n display: none;\n}\n\n.visible {\n opacity: 1;\n display: block;\n}\n\n/* Dropdown animations */\n.dropdown-enter, .dropdown-leave {\n transition: all 0.3s ease-in-out;\n}\n\n.dropdown-enter-from, .dropdown-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.dropdown-enter-to, .dropdown-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n</style>"],"names":["globals.state","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAM,SAAS,UAAS;AAKxB,UAAM,QAAQ;AAYd,UAAM,OAAO;AAIb,UAAM,mBAAmB,IAAI,CAAE,CAAA;AAG/B,UAAM,YAAY,SAAS,MAAM,MAAM,mBAAmB,CAAE,CAAA;AAE5D,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAM,cAAc;AACvB,YAAI,UAAU,MAAM,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,UAAU,SAAS,KAAK,QAAQ,GAAG;AACzG,eAAK,cAAc;AACnB,qBAAW,MAAM;AACf,6BAAiB,MAAM,KAAK,KAAK;AAAA,UACzC,GAAS,EAAE;AAAA,QACX;AACI;AAAA,MACJ;AAEE,YAAM,QAAQ,iBAAiB,MAAM,QAAQ,KAAK;AAElD,UAAI,UAAU,IAAI;AAChB,yBAAiB,MAAM,KAAK,KAAK;AAAA,MACrC,OAAS;AACL,yBAAiB,MAAM,OAAO,OAAO,CAAC;AAAA,MAC1C;AAAA,IACA;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,aAAO,iBAAiB,MAAM,SAAS,KAAK;AAAA,IAC9C;AAEA,UAAM,MAAM,MAAM,cAAc,CAAC,aAAa;AAC5C,UAAI,CAAC,UAAU;AACb,yBAAiB,QAAQ,CAAA;AAAA,MAC7B;AAAA,IACA,CAAC;AAGD,UAAM,eAAe,CAAC,UAAU;AAC9B,UAAI,OAAO,UAAU,YAAY;AAC/B,eAAO,MAAMA,OAAeC,OAAU;AAAA,MAC1C;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Navigation.vue.js","sources":["../../../../../../../../src/modules/globals/views/components/partials/Navigation.vue"],"sourcesContent":["<script setup>\nimport { ref, watch, computed } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth'\n\n// Import icons\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'\n\nconst router = useRouter()\n\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\n\nconst props = defineProps({\n navigationItems: Array, // Fixed property name typo\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: Boolean,\n default: false\n }\n})\n\nconst emit = defineEmits([\n 'closeSidebar'\n])\n\nconst expandedSections = ref([])\n\n// Use navigationItems from props instead of nagigationItems\nconst menuItems = computed(() => props.navigationItems || [])\n\nconst toggleSection = (title) => {\n if (!props.stateSidebar) {\n if (menuItems.value.flatMap(section => section.items).find(item => item.title === title && item.subItems)) {\n emit('closeSidebar')\n setTimeout(() => {\n expandedSections.value.push(title)\n }, 50)\n }\n return\n }\n \n const index = expandedSections.value.indexOf(title)\n\n if (index === -1) {\n expandedSections.value.push(title)\n } else {\n expandedSections.value.splice(index, 1)\n }\n}\n\nconst isSectionExpanded = (title) => {\n return expandedSections.value.includes(title)\n}\n\nwatch(() => props.stateSidebar, (newValue) => {\n if (!newValue) {\n expandedSections.value = []\n }\n})\n\n// Process route functions with globals and auth data\nconst processRoute = (route) => {\n if (typeof route === 'function') {\n return route(globals.state, auth.state)\n }\n return route\n}\n</script>\n\n<template>\n <nav\n class=\"o-x-hidden h-100\"\n :class=\"[\n stateSidebar ? 'pd-small' : 'pd-micro',\n horizontal ? 'w-100 desktop-only flex flex-center flex-nowrap o-y-hidden' : 'o-y-scroll rows-1',\n ]\"\n >\n <div \n v-for=\"section in menuItems\" \n v-show=\"!section.visible || (typeof section.visible === 'function' ? section.visible(auth.state) : true)\"\n :key=\"section.category\" \n :class=\"[\n horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',\n stateSidebar && !horizontal ? 'mn-t-medium' : '',\n ]\"\n class=\"\"\n >\n <div \n class=\"sidebar-category\"\n :class=\"{ \n 'hidden': !stateSidebar || horizontal, \n 'visible': stateSidebar && !horizontal,\n 't-black': theme === 'light',\n 't-white': theme === 'dark'\n }\"\n >\n {{ section.category }}\n </div>\n\n <ul \n :class=\"[\n horizontal ? 'w-100 gap-micro flex flex-nowrap' : 'flex flex-column gap-thin',\n ]\"\n >\n <li \n v-for=\"item in section.items\" \n :key=\"item.title\"\n v-show=\"!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state) : true)\"\n class=\"flex-center\"\n :class=\"[\n stateSidebar ? '' : '',\n horizontal ? 'w-100 flex flex-nowrap' : '',\n stateSidebar && !horizontal ? '' : 'aspect-1x1'\n ]\"\n >\n <button\n @click=\"item.route ? router.push(processRoute(item.route)) : null\"\n class=\"flex-child-default flex-center gap-thin flex sidebar-item-btn\"\n :class=\"[\n stateSidebar || horizontal ? 'expanded-item pd-thin' : 'w-100 h-100 justify-center',\n horizontal ? 'w-max flex flex-nowrap' : '',\n item.route && $route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover-bg-light' : 'hover-bg-dark'\n ]\"\n >\n <component \n v-if=\"item.iconComponent && !horizontal\" \n :is=\"item.iconComponent\" \n class=\"i-medium flex-child-default\" \n :fill=\"globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-if=\"!item.iconComponent && !horizontal\" class=\"i-medium sidebar-item-icon t-lh-1 flex-child-default\">{{ item.icon }}</span>\n \n <span\n class=\"w-100 t-left sidebar-item-title\"\n :class=\"{ 'hidden': !stateSidebar && !horizontal, 'visible': stateSidebar || horizontal }\"\n >\n {{ item.title }}\n </span>\n \n <span\n v-if=\"item.subItems && stateSidebar && !horizontal\"\n class=\"mn-l-auto sidebar-dropdown-icon\"\n :class=\"{ 'rotate-180': isSectionExpanded(item.title) }\"\n @click.stop=\"toggleSection(item.title)\" \n >\n ▾\n </span>\n \n <div v-if=\"item.route && $route.path === processRoute(item.route) && !horizontal\" class=\"sidebar-highlight-indicator\" />\n <Dropdown \n v-if=\"false\"\n :label=\"hello\"\n :align=\"'right'\"\n class=\"cursor-pointer pos-absolute pos-r-regular pos-t-regular pd-thin radius-extra \"\n >\n <ul\n v-if=\"item.subItems\"\n class=\"sidebar-submenu\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a \n @click=\"subItem.route && router.push(subItem.route)\" \n href=\"#\" \n class=\"sidebar-subitem-link\"\n >\n <component \n v-if=\"subItem.iconComponent\" \n :is=\"subItem.iconComponent\" \n class=\"sidebar-subitem-icon i-medium\" \n :fill=\"globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-else class=\"sidebar-subitem-icon\">{{ subItem.icon }}</span>\n <span class=\"sidebar-subitem-title\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </Dropdown>\n </button>\n <!-- { component: IconEllipsis, class: 'i-regular t-transp' } -->\n\n\n <transition\n enter-active-class=\"dropdown-enter\"\n leave-active-class=\"dropdown-leave\"\n enter-from-class=\"dropdown-enter-from\"\n enter-to-class=\"dropdown-enter-to\"\n leave-from-class=\"dropdown-leave-from\"\n leave-to-class=\"dropdown-leave-to\"\n >\n <ul\n v-if=\"item.subItems && isSectionExpanded(item.title) && stateSidebar && !horizontal\"\n class=\"sidebar-submenu\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a \n @click=\"subItem.route && router.push(subItem.route)\" \n href=\"#\" \n class=\"sidebar-subitem-link flex flex-nowrap gap-thin pd-thin radius-small\"\n >\n <component \n v-if=\"subItem.iconComponent\" \n :is=\"subItem.iconComponent\" \n class=\"sidebar-subitem-icon i-medium\" \n :fill=\"globals.state.theme.darkmode || theme === 'dark' ? 'rgba(255,255,255,0.7)' : 'rgba(0,0,0,0.25)'\"\n />\n <span v-else class=\"sidebar-subitem-icon\">{{ subItem.icon }}</span>\n <span class=\"sidebar-subitem-title\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </transition>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n\n<style scoped>\n.sidebar-item-btn:hover .sidebar-item-icon,\n.sidebar-subitem-link:hover .sidebar-subitem-icon {\n transform: scale(1.1);\n}\n\n.sidebar-item-btn:hover .sidebar-item-icon {\n transform: scale(1.1);\n}\n\n\n.sidebar-subitem-link:hover .sidebar-subitem-icon {\n transform: scale(1.1);\n}\n\n\n\n.expanded-item {\n display: flex;\n align-items: center;\n width: 100%;\n border-radius: var(--small);\n}\n\n.sidebar-item-btn {\n align-items: center;\n border-radius: var(--small);\n transition: all 0.2s;\n position: relative;\n border: none;\n cursor: pointer;\n}\n\n\n.sidebar-item-title {\n font-weight: 500;\n transition: opacity 0.2s, width 0.2s;\n white-space: nowrap;\n}\n\n.sidebar-item-icon {\n font-size: 1.25rem;\n transition: transform 0.2s;\n}\n\n\n\n.sidebar-category {\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding-left: var(--regular);\n padding-right: var(--regular);\n transition: opacity 0.2s;\n color: var(--grey-medium);\n}\n\n.sidebar-highlight-indicator {\n position: absolute;\n left: 0;\n width: 4px;\n height: 100%;\n border-radius: 0 var(--micro) var(--micro) 0;\n background: linear-gradient(to bottom, var(--second-regular), var(--second-small));\n transition: opacity 0.2s;\n}\n\n\n\n.sidebar-dropdown-icon {\n color: var(--grey-medium);\n transition: transform 0.2s;\n}\n\n.rotate-180 {\n transform: rotate(180deg);\n}\n\n.sidebar-submenu {\n margin-top: var(--micro);\n margin-left: var(--semi);\n display: flex;\n flex-direction: column;\n gap: var(--micro);\n}\n\n.sidebar-subitem-link {\n display: flex;\n align-items: center;\n text-decoration: none;\n transition: all 0.2s;\n}\n\n\n.sidebar-subitem-title {\n font-size: 0.875rem;\n}\n\n.hidden {\n opacity: 0;\n width: 0;\n display: none;\n}\n\n.visible {\n opacity: 1;\n display: block;\n}\n\n/* Dropdown animations */\n.dropdown-enter, .dropdown-leave {\n transition: all 0.3s ease-in-out;\n}\n\n.dropdown-enter-from, .dropdown-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.dropdown-enter-to, .dropdown-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n</style>"],"names":["globals.state","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAM,SAAS,UAAS;AAKxB,UAAM,QAAQ;AAgBd,UAAM,OAAO;AAIb,UAAM,mBAAmB,IAAI,CAAE,CAAA;AAG/B,UAAM,YAAY,SAAS,MAAM,MAAM,mBAAmB,CAAE,CAAA;AAE5D,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAM,cAAc;AACvB,YAAI,UAAU,MAAM,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,UAAU,SAAS,KAAK,QAAQ,GAAG;AACzG,eAAK,cAAc;AACnB,qBAAW,MAAM;AACf,6BAAiB,MAAM,KAAK,KAAK;AAAA,UACzC,GAAS,EAAE;AAAA,QACX;AACI;AAAA,MACJ;AAEE,YAAM,QAAQ,iBAAiB,MAAM,QAAQ,KAAK;AAElD,UAAI,UAAU,IAAI;AAChB,yBAAiB,MAAM,KAAK,KAAK;AAAA,MACrC,OAAS;AACL,yBAAiB,MAAM,OAAO,OAAO,CAAC;AAAA,MAC1C;AAAA,IACA;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,aAAO,iBAAiB,MAAM,SAAS,KAAK;AAAA,IAC9C;AAEA,UAAM,MAAM,MAAM,cAAc,CAAC,aAAa;AAC5C,UAAI,CAAC,UAAU;AACb,yBAAiB,QAAQ,CAAA;AAAA,MAC7B;AAAA,IACA,CAAC;AAGD,UAAM,eAAe,CAAC,UAAU;AAC9B,UAAI,OAAO,UAAU,YAAY;AAC/B,eAAO,MAAMA,OAAeC,OAAU;AAAA,MAC1C;AACE,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,7 +5,7 @@ const vueRouter = require("vue-router");
|
|
|
5
5
|
const vueI18n = require("vue-i18n");
|
|
6
6
|
const IconShopcart = require("../../../../icons/entities/IconShopcart.vue.cjs");
|
|
7
7
|
const IconProfile = require("../../../../icons/entities/IconProfile.vue.cjs");
|
|
8
|
-
const Button = require("../../../../../components/Button/Button.
|
|
8
|
+
const Button = require("../../../../../components/Button/Button.vue2.cjs");
|
|
9
9
|
const globals = require("../../store/globals.cjs");
|
|
10
10
|
const shopcart = require("../../../../orders/store/shopcart.cjs");
|
|
11
11
|
const auth = require("../../../../auth/views/store/auth.cjs");
|
|
@@ -3,7 +3,7 @@ import { useRouter, useRoute } from "vue-router";
|
|
|
3
3
|
import { useI18n } from "vue-i18n";
|
|
4
4
|
import _sfc_main$2 from "../../../../icons/entities/IconShopcart.vue.js";
|
|
5
5
|
import _sfc_main$3 from "../../../../icons/entities/IconProfile.vue.js";
|
|
6
|
-
import _sfc_main$1 from "../../../../../components/Button/Button.
|
|
6
|
+
import _sfc_main$1 from "../../../../../components/Button/Button.vue2.js";
|
|
7
7
|
import { state } from "../../store/globals.js";
|
|
8
8
|
import { getters, actions } from "../../../../orders/store/shopcart.js";
|
|
9
9
|
import { state as state$1 } from "../../../../auth/views/store/auth.js";
|
|
@@ -7,6 +7,10 @@ const _hoisted_1 = { class: "dark-mode-icon" };
|
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
__name: "Sidebar",
|
|
9
9
|
props: {
|
|
10
|
+
theme: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: "light"
|
|
13
|
+
},
|
|
10
14
|
stateSidebar: {
|
|
11
15
|
type: Boolean,
|
|
12
16
|
default: false
|
|
@@ -26,14 +30,22 @@ const _sfc_main = {
|
|
|
26
30
|
setup(__props, { emit: __emit }) {
|
|
27
31
|
return (_ctx, _cache) => {
|
|
28
32
|
return vue.openBlock(), vue.createElementBlock("aside", {
|
|
29
|
-
class: vue.normalizeClass(["transition-linear w-min-0 o-hidden flex-child-default z-index-2
|
|
33
|
+
class: vue.normalizeClass(["transition-linear w-min-0 o-hidden flex-child-default z-index-2 br-r br-solid flex flex-column h-100", [
|
|
30
34
|
"sidebar-container",
|
|
31
|
-
|
|
35
|
+
//
|
|
36
|
+
__props.stateSidebar ? `${__props.width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100` : `${__props.widthHidden} mobile:w-0 br-zero`,
|
|
37
|
+
//
|
|
38
|
+
__props.theme === "light" ? "t-black bg-white br-light" : "t-white bg-black br-dark"
|
|
32
39
|
]])
|
|
33
40
|
}, [
|
|
34
41
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
35
42
|
vue.createElementVNode("div", {
|
|
36
|
-
class: vue.normalizeClass(["
|
|
43
|
+
class: vue.normalizeClass(["br-solid br-t", {
|
|
44
|
+
"pd-micro": !__props.stateSidebar,
|
|
45
|
+
"pd-small": __props.stateSidebar,
|
|
46
|
+
"br-light": __props.theme === "light",
|
|
47
|
+
"br-dark": __props.theme === "dark"
|
|
48
|
+
}])
|
|
37
49
|
}, [
|
|
38
50
|
vue.createElementVNode("button", {
|
|
39
51
|
onClick: _cache[0] || (_cache[0] = () => globals.actions.toggleTheme()),
|
|
@@ -51,6 +63,6 @@ const _sfc_main = {
|
|
|
51
63
|
};
|
|
52
64
|
}
|
|
53
65
|
};
|
|
54
|
-
const Sidebar = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
66
|
+
const Sidebar = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-948b3b5a"]]);
|
|
55
67
|
exports.default = Sidebar;
|
|
56
68
|
//# sourceMappingURL=Sidebar.vue.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Sidebar.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,6 +5,10 @@ const _hoisted_1 = { class: "dark-mode-icon" };
|
|
|
5
5
|
const _sfc_main = {
|
|
6
6
|
__name: "Sidebar",
|
|
7
7
|
props: {
|
|
8
|
+
theme: {
|
|
9
|
+
type: String,
|
|
10
|
+
default: "light"
|
|
11
|
+
},
|
|
8
12
|
stateSidebar: {
|
|
9
13
|
type: Boolean,
|
|
10
14
|
default: false
|
|
@@ -24,14 +28,22 @@ const _sfc_main = {
|
|
|
24
28
|
setup(__props, { emit: __emit }) {
|
|
25
29
|
return (_ctx, _cache) => {
|
|
26
30
|
return openBlock(), createElementBlock("aside", {
|
|
27
|
-
class: normalizeClass(["transition-linear w-min-0 o-hidden flex-child-default z-index-2
|
|
31
|
+
class: normalizeClass(["transition-linear w-min-0 o-hidden flex-child-default z-index-2 br-r br-solid flex flex-column h-100", [
|
|
28
32
|
"sidebar-container",
|
|
29
|
-
|
|
33
|
+
//
|
|
34
|
+
__props.stateSidebar ? `${__props.width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100` : `${__props.widthHidden} mobile:w-0 br-zero`,
|
|
35
|
+
//
|
|
36
|
+
__props.theme === "light" ? "t-black bg-white br-light" : "t-white bg-black br-dark"
|
|
30
37
|
]])
|
|
31
38
|
}, [
|
|
32
39
|
renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
33
40
|
createElementVNode("div", {
|
|
34
|
-
class: normalizeClass(["
|
|
41
|
+
class: normalizeClass(["br-solid br-t", {
|
|
42
|
+
"pd-micro": !__props.stateSidebar,
|
|
43
|
+
"pd-small": __props.stateSidebar,
|
|
44
|
+
"br-light": __props.theme === "light",
|
|
45
|
+
"br-dark": __props.theme === "dark"
|
|
46
|
+
}])
|
|
35
47
|
}, [
|
|
36
48
|
createElementVNode("button", {
|
|
37
49
|
onClick: _cache[0] || (_cache[0] = () => actions.toggleTheme()),
|
|
@@ -49,7 +61,7 @@ const _sfc_main = {
|
|
|
49
61
|
};
|
|
50
62
|
}
|
|
51
63
|
};
|
|
52
|
-
const Sidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
64
|
+
const Sidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-948b3b5a"]]);
|
|
53
65
|
export {
|
|
54
66
|
Sidebar as default
|
|
55
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Sidebar.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
const Tab = require("../../../../../components/Tab/Tab.
|
|
4
|
+
const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
|
|
5
5
|
const _hoisted_1 = { class: "flex-v-center flex-nowrap flex" };
|
|
6
6
|
const _hoisted_2 = { class: "h2 mn-r-auto" };
|
|
7
7
|
const _hoisted_3 = ["onClick"];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent, createElementBlock, openBlock, createElementVNode, createBlock, createCommentVNode, toDisplayString, Fragment, renderList, normalizeClass, withCtx, createTextVNode } from "vue";
|
|
2
|
-
import _sfc_main$1 from "../../../../../components/Tab/Tab.
|
|
2
|
+
import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
|
|
3
3
|
const _hoisted_1 = { class: "flex-v-center flex-nowrap flex" };
|
|
4
4
|
const _hoisted_2 = { class: "h2 mn-r-auto" };
|
|
5
5
|
const _hoisted_3 = ["onClick"];
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const vueI18n = require("vue-i18n");
|
|
5
|
+
;/* empty css */
|
|
6
|
+
const _hoisted_1 = {
|
|
7
|
+
id: "howtobuy",
|
|
8
|
+
class: "section"
|
|
9
|
+
};
|
|
10
|
+
const _hoisted_2 = { class: "mn-b-big t-center title" };
|
|
11
|
+
const _hoisted_3 = { class: "mn-b-small" };
|
|
12
|
+
const _hoisted_4 = { class: "w-m-60r mn-b-big mn-auto t-transp p-big" };
|
|
13
|
+
const _hoisted_5 = { class: "cols-3 gap-thin" };
|
|
14
|
+
const _hoisted_6 = ["src"];
|
|
15
|
+
const _hoisted_7 = { class: "mn-b-medium" };
|
|
16
|
+
const _hoisted_8 = { class: "t-transp" };
|
|
17
|
+
const _sfc_main = {
|
|
18
|
+
__name: "SectionFeaturesImages",
|
|
19
|
+
props: {
|
|
20
|
+
title: String,
|
|
21
|
+
textData: {
|
|
22
|
+
type: Object,
|
|
23
|
+
default: () => ({
|
|
24
|
+
messages: {
|
|
25
|
+
en: {
|
|
26
|
+
title: "What is Weeder Token?",
|
|
27
|
+
subtitle: "WDT – the foundation of the Weeder community. It serves as a currency, a DAO instrument, and for many other purposes:",
|
|
28
|
+
features: [
|
|
29
|
+
{
|
|
30
|
+
image: "/images/howitworks/step1.png",
|
|
31
|
+
title: "Currency",
|
|
32
|
+
text: "WDT can be used as a digital currency within the Weeder ecosystem, allowing users to purchase products such as cannabis, advertising spaces, and other premium features on the platform."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
image: "/images/howitworks/step2.png",
|
|
36
|
+
title: "Instument",
|
|
37
|
+
text: "As a DAO (Decentralized Autonomous Organization) instrument, WDT enables community governance and decision-making, allowing token holders to propose, discuss, and vote on various initiatives and developments within the Weeder ecosystem."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
image: "/images/howitworks/step3.png",
|
|
41
|
+
title: "Invesment",
|
|
42
|
+
text: "Holding WDT tokens can provide potential investment returns as the Weeder ecosystem grows and gains value. Additionally, WDT serves for dividend distribution – those who stake their tokens earn income from the platform."
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
ru: {
|
|
47
|
+
title: "Что такое Weeder Token?",
|
|
48
|
+
subtitle: "WDT – основа сообщества Weeder. Он выступает в качестве валюты, инструмента DAO и многих других целей:",
|
|
49
|
+
features: [
|
|
50
|
+
{
|
|
51
|
+
image: "/images/howitworks/step1.png",
|
|
52
|
+
title: "Валюта",
|
|
53
|
+
text: "WDT можно использовать как цифровую валюту в экосистеме Weeder, позволяя пользователям покупать товары, такие как марихуана, рекламные места и другие премиальные возможности на платформе."
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
image: "/images/howitworks/step2.png",
|
|
57
|
+
title: "Инструмент",
|
|
58
|
+
text: "В качестве инструмента DAO (Децентрализованной Автономной Организации), WDT позволяет управлять сообществом и принимать решения, давая держателям токенов возможность предлагать, обсуждать и голосовать за различные инициативы и развитие в рамках экосистемы Weeder."
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
image: "/images/howitworks/step3.png",
|
|
62
|
+
title: "Инвестиции",
|
|
63
|
+
text: "Хранение токенов WDT может обеспечить потенциальный инвестиционный доход по мере роста и увеличения стоимости экосистемы Weeder. Кроме того, WDT служит для распределения дивидендов – те, кто стейкают свои токены, получают доход с платформы."
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
setup(__props) {
|
|
72
|
+
const props = __props;
|
|
73
|
+
const { t, tm } = vueI18n.useI18n(props.textData);
|
|
74
|
+
return (_ctx, _cache) => {
|
|
75
|
+
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1, [
|
|
76
|
+
vue.createElementVNode("div", _hoisted_2, [
|
|
77
|
+
vue.createElementVNode("h2", _hoisted_3, vue.toDisplayString(vue.unref(t)("title")), 1),
|
|
78
|
+
vue.createElementVNode("p", _hoisted_4, vue.toDisplayString(vue.unref(t)("subtitle")), 1)
|
|
79
|
+
]),
|
|
80
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
81
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tm)("features"), (feature) => {
|
|
82
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
83
|
+
key: feature.title,
|
|
84
|
+
class: "w-100 pd-medium bg-light radius-medium"
|
|
85
|
+
}, [
|
|
86
|
+
vue.createElementVNode("img", {
|
|
87
|
+
loading: "lazy",
|
|
88
|
+
class: "radius-medium bg-light h-max-20r object-fit-cover w-100 mn-b-medium",
|
|
89
|
+
src: feature.image
|
|
90
|
+
}, null, 8, _hoisted_6),
|
|
91
|
+
vue.createElementVNode("h3", _hoisted_7, vue.toDisplayString(feature.title), 1),
|
|
92
|
+
vue.createElementVNode("p", _hoisted_8, vue.toDisplayString(feature.text), 1)
|
|
93
|
+
]);
|
|
94
|
+
}), 128))
|
|
95
|
+
])
|
|
96
|
+
]);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
exports.default = _sfc_main;
|
|
101
|
+
//# sourceMappingURL=SectionFeaturesImages.vue.cjs.map
|
package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionFeaturesImages.vue.cjs","sources":["../../../../../../../src/modules/landing/components/sections/SectionFeaturesImages.vue"],"sourcesContent":["<template>\n <section id=\"howtobuy\" class=\"section\">\n\n <div class=\"mn-b-big t-center title\">\n <h2 class=\"mn-b-small\">{{t('title')}}</h2>\n <p class=\"w-m-60r mn-b-big mn-auto t-transp p-big\">\n {{t('subtitle')}}\n </p>\n </div>\n\n <div class=\"cols-3 gap-thin\">\n\n <div \n v-for=\"feature in tm('features')\" \n :key=\"feature.title\" \n class=\"w-100 pd-medium bg-light radius-medium\"\n >\n <img loading=\"lazy\" \n class=\"radius-medium bg-light h-max-20r object-fit-cover w-100 mn-b-medium\" \n :src=\"feature.image\"\n > \n <h3 class=\"mn-b-medium\">{{feature.title}}</h3>\n <p class=\"t-transp\">{{feature.text}}</p>\n </div>\n\n </div>\n\n </section>\n</template>\n\n\n<script setup>\nimport { useI18n } from 'vue-i18n'\n \nconst props = defineProps({\n title: String,\n textData: {\n type: Object,\n default: () => ({\n messages: {\n en: {\n title: 'What is Weeder Token?',\n subtitle: 'WDT – the foundation of the Weeder community. It serves as a currency, a DAO instrument, and for many other purposes:',\n features: [\n {\n image: '/images/howitworks/step1.png',\n title: 'Currency',\n text: 'WDT can be used as a digital currency within the Weeder ecosystem, allowing users to purchase products such as cannabis, advertising spaces, and other premium features on the platform.',\n },\n {\n image: '/images/howitworks/step2.png',\n title: 'Instument',\n text: 'As a DAO (Decentralized Autonomous Organization) instrument, WDT enables community governance and decision-making, allowing token holders to propose, discuss, and vote on various initiatives and developments within the Weeder ecosystem.',\n },\n {\n image: '/images/howitworks/step3.png',\n title: 'Invesment',\n text: 'Holding WDT tokens can provide potential investment returns as the Weeder ecosystem grows and gains value. Additionally, WDT serves for dividend distribution – those who stake their tokens earn income from the platform.'\n },\n ]\n },\n ru: {\n title: 'Что такое Weeder Token?',\n subtitle: 'WDT – основа сообщества Weeder. Он выступает в качестве валюты, инструмента DAO и многих других целей:',\n features: [\n {\n image: '/images/howitworks/step1.png',\n title: 'Валюта',\n text: 'WDT можно использовать как цифровую валюту в экосистеме Weeder, позволяя пользователям покупать товары, такие как марихуана, рекламные места и другие премиальные возможности на платформе.',\n },\n {\n image: '/images/howitworks/step2.png',\n title: 'Инструмент',\n text: 'В качестве инструмента DAO (Децентрализованной Автономной Организации), WDT позволяет управлять сообществом и принимать решения, давая держателям токенов возможность предлагать, обсуждать и голосовать за различные инициативы и развитие в рамках экосистемы Weeder.',\n },\n {\n image: '/images/howitworks/step3.png',\n title: 'Инвестиции',\n text: 'Хранение токенов WDT может обеспечить потенциальный инвестиционный доход по мере роста и увеличения стоимости экосистемы Weeder. Кроме того, WDT служит для распределения дивидендов – те, кто стейкают свои токены, получают доход с платформы.',\n },\n ]\n }\n }\n })\n }\n })\n const { t, tm } = useI18n(props.textData)\n</script>\n\n<style lang=\"scss\">\n\n#grid2 {\n transition: 500ms;\n display: grid;\n grid-template-columns: 1fr 1fr 1fr;\n gap: 3px;\n background: crimson;\n}\n\n:where(.left, .center, .right) {\n background: navajowhite;\n transition: 300ms;\n}\n\n:where(.left, .center, .right):hover {\n background: crimson;\n}\n\n#grid2:has(.left:hover) {\n grid-template-columns: 2fr 0.5fr 0.5fr;\n padding: 3rem;\n}\n\n#grid2:has(.center:hover) {\n grid-template-columns: 0.5fr 2fr 0.5fr;\n padding: 3rem;\n}\n#grid2:has(.right:hover) {\n grid-template-columns: 0.5fr 0.5fr 2fr;\n padding: 3rem;\n}\n</style>\n"],"names":["useI18n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,UAAM,QAAQ;AAoDZ,UAAM,EAAE,GAAG,GAAI,IAAGA,QAAO,QAAC,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|