@ozdao/martyrs 0.2.571 → 0.2.574
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/_virtual/dayjs.min.js +1 -1
- package/dist/_virtual/weekOfYear.js +1 -1
- package/dist/builder.js +1194 -45
- package/dist/loader.js +30 -0
- package/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +1173 -1191
- package/dist/martyrs/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +94 -112
- package/dist/martyrs/dist/main-BfEQkhXS.js.map +1 -0
- package/dist/martyrs/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +3 -3
- package/dist/martyrs/dist/{web-CH5wzMHy.js.map → web-BqTV9va1.js.map} +1 -1
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_core@7.0.1 → @capacitor_core@7.4.4}/node_modules/@capacitor/core/dist/index.js +2 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.4.4/node_modules/@capacitor/core/dist/index.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/index.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/index.js.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/web.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/web.js.map +1 -1
- package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
- package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
- package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
- package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/dayjs.min.js +1 -1
- package/dist/martyrs/node_modules/dayjs/dayjs.min.js.map +1 -0
- package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
- package/dist/martyrs/node_modules/dayjs/plugin/weekOfYear.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
- package/dist/martyrs/src/components/Block/Block.vue.js +2 -2
- package/dist/martyrs/src/components/Block/Block.vue.js.map +1 -1
- package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +1 -1
- package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +1 -1
- package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +6 -6
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +2 -2
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js +5 -5
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +4 -4
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
- package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +3 -3
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +3 -3
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js +1 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -1
- package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +3 -3
- package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -0
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
- 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/Menu/MenuItem.vue.js +2 -2
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +2 -2
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
- package/dist/martyrs/src/components/Radio/Radio.vue.js +1 -1
- package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
- package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js → SelectMulti.vue.js} +2 -2
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +1 -0
- package/dist/martyrs/src/components/Table/Table.vue.js +3 -3
- package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
- package/dist/martyrs/src/components/Text/Text.vue.js +1 -1
- package/dist/martyrs/src/components/Text/Text.vue.js.map +1 -1
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -0
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +4 -4
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +4 -4
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +7 -7
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +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/ProfileBlogposts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +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/ProfileEditAccount.vue.js.map +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/ResetPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +7 -7
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +4 -4
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +6 -6
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +1 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +2 -2
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/Activity.vue.js +7 -7
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +4 -4
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +10 -10
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.js +2 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +9 -9
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/elements/PhotoStack.vue.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js +25 -5
- package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +4 -4
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +11 -11
- package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js +16 -16
- package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +7 -7
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +23 -23
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +7 -7
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/store/core.store.js +29 -47
- package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +21 -2
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +5 -5
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +18 -18
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +7 -7
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +5 -5
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +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.js +2 -2
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +4 -4
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +4 -4
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +7 -7
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +10 -10
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +5 -5
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +6 -6
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +4 -4
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +4 -4
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +8 -8
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +13 -13
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +23 -23
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +8 -8
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +10 -13
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +9 -9
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +26 -26
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +17 -17
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +26 -26
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +8 -8
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/music.client.js +6 -6
- package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js +2 -2
- package/dist/martyrs/src/modules/notifications/store/notifications.store.js +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +9 -9
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +5 -5
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +9 -9
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +5 -5
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +17 -17
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +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.js +4 -4
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.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/ApplicationDetails.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js +8 -8
- package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +3 -3
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js +5 -5
- package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +7 -7
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +8 -8
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +12 -12
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +6 -6
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +9 -9
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +6 -6
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/DateLabel.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +8 -8
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +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/Rents.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +6 -6
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js +3 -3
- package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js.map +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +5 -5
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +6 -6
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js +5 -5
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +5 -5
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js +12 -12
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +23 -23
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +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.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/style.css +194 -202
- package/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +1 -1
- package/package.json +6 -8
- package/src/builder/modes/ssr.prod.js +1 -0
- package/src/builder/modes/ssr.rspack.dev.js +13 -6
- package/src/builder/rspack/rspack.config.base.js +7 -0
- package/src/builder/rspack/rspack.config.ssr.client.js +19 -44
- package/src/builder/templates/page.js +21 -0
- package/src/components/Block/Block.vue +1 -1
- package/src/components/BottomSheet/BottomSheet.vue +1 -1
- package/src/components/Calendar/Calendar.vue +5 -5
- package/src/components/Checkbox/Checkbox.vue +2 -2
- package/src/components/Chips/Chips.vue +2 -2
- package/src/components/Completion/Completion.vue +2 -2
- package/src/components/Countdown/Countdown.vue +5 -5
- package/src/components/DatePicker/DatePicker.vue +4 -4
- package/src/components/EditImages/EditImages.vue +1 -1
- package/src/components/Feed/Feed.old.vue +1 -1
- package/src/components/Feed/Feed.vue +1 -1
- package/src/components/FieldBig/FieldBig.vue +2 -2
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/FieldTags/BlockTags.vue +1 -1
- package/src/components/Loader/Loader.vue +1 -1
- package/src/components/Menu/MenuItem.vue +2 -2
- package/src/components/PhotoViewer/PhotoViewer.vue +1 -1
- package/src/components/Radio/Radio.vue +1 -1
- package/src/components/Select/Select.vue +1 -1
- package/src/components/Table/Table.vue +2 -2
- package/src/components/Text/Text.vue +1 -1
- package/src/components/UploadImage/UploadImage.vue +2 -2
- package/src/components/UploadImageMultiple/UploadImageMultiple.vue +3 -3
- package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
- package/src/configurator/components/pages/Styles.vue +2 -2
- package/src/jit/.claude/settings.local.json +10 -0
- package/src/jit/CLAUDE.md +387 -0
- package/src/jit/core.js +274 -0
- package/src/jit/extractor.js +140 -0
- package/src/jit/index.js +19 -0
- package/src/jit/loader.js +46 -0
- package/src/jit/plugin.js +209 -0
- package/src/jit/rules.js +474 -0
- package/src/jit/variants.js +128 -0
- package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
- package/src/modules/auth/views/components/blocks/ProfileCard.vue +4 -4
- package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
- package/src/modules/auth/views/components/pages/EnterPassword.vue +2 -2
- package/src/modules/auth/views/components/pages/Profile.vue +5 -5
- package/src/modules/auth/views/components/pages/ProfileBlogposts.vue +1 -1
- package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +2 -2
- package/src/modules/auth/views/components/pages/ResetPassword.vue +1 -1
- package/src/modules/auth/views/components/pages/SignIn.vue +3 -3
- package/src/modules/auth/views/components/pages/SignUp.vue +1 -1
- package/src/modules/auth/views/components/pages/UserDashboard.vue +3 -3
- package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
- package/src/modules/auth/views/components/sections/ProfileCompletion.vue +2 -2
- package/src/modules/auth/views/components/sections/ProfileEditCredentials.vue +7 -7
- package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
- package/src/modules/backoffice/components/admin/Backcalls.vue +1 -1
- package/src/modules/backoffice/components/admin/FastOrders.vue +1 -1
- package/src/modules/backoffice/components/admin/ProductEdit.vue +2 -2
- package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
- package/src/modules/backoffice/components/admin/Users.vue +2 -2
- package/src/modules/backoffice/components/pages/Dashboard.vue +4 -4
- package/src/modules/backoffice/components/partials/Sidebar.vue +5 -5
- package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
- package/src/modules/chats/components/sections/ChatWindow.vue +2 -2
- package/src/modules/community/components/blocks/Activity.vue +7 -7
- package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
- package/src/modules/community/components/blocks/FooterBlogpost.vue +4 -4
- package/src/modules/community/components/layouts/Community.vue +10 -10
- package/src/modules/community/components/pages/CreateBlogPost.vue +1 -1
- package/src/modules/community/components/pages/Posts.vue +2 -2
- package/src/modules/community/components/sections/Comment.vue +2 -2
- package/src/modules/constructor/components/elements/Audio.vue +1 -1
- package/src/modules/constructor/components/elements/Caption.vue +1 -1
- package/src/modules/constructor/components/elements/Embed.vue +1 -1
- package/src/modules/constructor/components/elements/Textarea.vue +1 -1
- package/src/modules/constructor/components/elements/Video.vue +1 -1
- package/src/modules/core/views/classes/core.app.js +2 -1
- package/src/modules/core/views/components/blocks/BlockSorting.vue +2 -2
- package/src/modules/core/views/components/blocks/CardFooter.vue +4 -4
- package/src/modules/core/views/components/blocks/CardHeader.vue +7 -7
- package/src/modules/core/views/components/blocks/HelpCard.vue +1 -1
- package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
- package/src/modules/core/views/components/elements/ButtonDate.vue +1 -1
- package/src/modules/core/views/components/elements/PhotoStack.vue +3 -3
- package/src/modules/core/views/components/layouts/App.vue +28 -4
- package/src/modules/core/views/components/layouts/Client.vue +4 -4
- package/src/modules/core/views/components/partials/BottomNavigationBar.vue +15 -15
- package/src/modules/core/views/components/partials/CitySelection.vue +1 -1
- package/src/modules/core/views/components/partials/Footer.centered.vue +17 -17
- package/src/modules/core/views/components/partials/Footer.vue +18 -18
- package/src/modules/core/views/components/partials/Header.vue +10 -11
- package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
- package/src/modules/core/views/components/partials/Navigation.vue +20 -19
- package/src/modules/core/views/components/partials/NavigationBar.vue +3 -3
- package/src/modules/core/views/components/partials/Sidebar.vue +6 -6
- package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
- package/src/modules/core/views/components/sections/filters/FilterCheckbox.vue +1 -1
- package/src/modules/core/views/components/sections/filters/FilterDateRange.vue +2 -2
- package/src/modules/core/views/components/sections/filters/FilterPrice.vue +2 -2
- package/src/modules/core/views/components/sections/filters/FilterRange.vue +2 -2
- package/src/modules/core/views/store/core.store.js +36 -60
- package/src/modules/core/views/utils/vue-app-renderer.js +31 -1
- package/src/modules/events/components/blocks/CardEvent.vue +6 -6
- package/src/modules/events/components/blocks/CardEventShort.vue +3 -3
- package/src/modules/events/components/pages/EditEvent.vue +1 -1
- package/src/modules/events/components/pages/EditEventTickets.vue +18 -18
- package/src/modules/events/components/pages/Event.vue +5 -5
- package/src/modules/events/components/pages/Events.vue +2 -2
- package/src/modules/events/components/pages/EventsBackoffice.vue +2 -2
- package/src/modules/events/components/sections/EditTickets.vue +5 -5
- package/src/modules/events/components/sections/EventsHot.vue +2 -2
- package/src/modules/events/components/sections/List.vue +1 -1
- package/src/modules/events/components/sections/SelectDate.vue +1 -1
- package/src/modules/gallery/components/pages/Gallery.vue +1 -1
- package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
- package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +14 -14
- package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +13 -13
- package/src/modules/governance/reactcode/src/components/EmptyState.tsx +2 -2
- package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +1 -1
- package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +1 -1
- package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +2 -2
- package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +6 -6
- package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +18 -18
- package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +7 -7
- package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +9 -9
- package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +4 -4
- package/src/modules/governance/reactcode/src/components/TaskCard.tsx +1 -1
- package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
- package/src/modules/governance/reactcode/src/components/VoteForm.tsx +6 -6
- package/src/modules/governance/reactcode/src/components/VotingCard.tsx +2 -2
- package/src/modules/governance/reactcode/src/components/VotingResults.tsx +15 -15
- package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +41 -41
- package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +8 -8
- package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +6 -6
- package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +9 -9
- package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +14 -14
- package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +44 -44
- package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +8 -8
- package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +3 -3
- package/src/modules/governance/reactcode-2/App.tsx +28 -0
- package/src/modules/governance/reactcode-2/README.md +20 -0
- package/src/modules/governance/reactcode-2/components/Charts.tsx +58 -0
- package/src/modules/governance/reactcode-2/components/Layout.tsx +457 -0
- package/src/modules/governance/reactcode-2/components/TaskPage.tsx +325 -0
- package/src/modules/governance/reactcode-2/components/VoteBadge.tsx +27 -0
- package/src/modules/governance/reactcode-2/components/VotingsFeedPage.tsx +328 -0
- package/src/modules/governance/reactcode-2/constants.ts +154 -0
- package/src/modules/governance/reactcode-2/index.html +70 -0
- package/src/modules/governance/reactcode-2/index.tsx +15 -0
- package/src/modules/governance/reactcode-2/metadata.json +5 -0
- package/src/modules/governance/reactcode-2/package.json +23 -0
- package/src/modules/governance/reactcode-2/pnpm-lock.yaml +1410 -0
- package/src/modules/governance/reactcode-2/tsconfig.json +29 -0
- package/src/modules/governance/reactcode-2/types.ts +48 -0
- package/src/modules/governance/reactcode-2/vite.config.ts +23 -0
- package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +10 -10
- package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +15 -15
- package/src/modules/governance/views/components/blocks/CardTaskItem.vue +9 -9
- package/src/modules/governance/views/components/blocks/CardVotingItem.vue +11 -11
- package/src/modules/governance/views/components/layouts/Governance.vue +1 -1
- package/src/modules/governance/views/components/pages/Governance.vue +3 -3
- package/src/modules/governance/views/components/pages/Initiative.vue +112 -112
- package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +31 -31
- package/src/modules/governance/views/components/pages/Initiatives.vue +20 -22
- package/src/modules/governance/views/components/pages/Milestone.vue +25 -25
- package/src/modules/governance/views/components/pages/Roadmap.vue +47 -47
- package/src/modules/governance/views/components/pages/Task.vue +106 -106
- package/src/modules/governance/views/components/pages/Tasks.vue +16 -16
- package/src/modules/governance/views/components/pages/Voting.vue +23 -23
- package/src/modules/governance/views/components/pages/Votings.vue +7 -7
- package/src/modules/governance/views/components/partials/EmptyState.vue +3 -3
- package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +11 -11
- package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +4 -4
- package/src/modules/governance/views/components/partials/VoteForm.vue +14 -14
- package/src/modules/governance/views/components/partials/VotingResults.vue +22 -22
- package/src/modules/icons/components/IconSearchPopup.vue +3 -3
- package/src/modules/icons/entities/IconCash.vue +23 -0
- package/src/modules/icons/navigation/IconSort.vue +4 -4
- package/src/modules/icons/pages/IconsPage.vue +7 -7
- package/src/modules/inventory/components/forms/AdjustmentForm.vue +3 -3
- package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
- package/src/modules/inventory/components/forms/StockAlertsForm.vue +1 -1
- package/src/modules/inventory/components/pages/Inventory.vue +10 -10
- package/src/modules/inventory/components/pages/InventoryEdit.vue +6 -6
- package/src/modules/landing/components/blocks/MapBlock.vue +2 -2
- package/src/modules/landing/components/sections/Examples.vue +1 -1
- package/src/modules/landing/components/sections/InstagramSection.vue +1 -1
- package/src/modules/landing/components/sections/SectionEarn.vue +4 -4
- package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
- package/src/modules/landing/components/sections/SectionFocus.vue +2 -2
- package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
- package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
- package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
- package/src/modules/landing/components/sections/SectionJoinUs.vue +2 -2
- package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
- package/src/modules/landing/components/sections/SectionOverview.vue +2 -2
- package/src/modules/landing/components/sections/SectionRoadmap.vue +2 -2
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +8 -8
- package/src/modules/marketplace/views/components/pages/Marketplace.vue +5 -5
- package/src/modules/marketplace/views/components/sections/SectionMenu.vue +2 -2
- package/src/modules/music/components/SidebarMusic.vue +11 -11
- package/src/modules/music/components/blocks/ActionButtons.vue +2 -2
- package/src/modules/music/components/cards/AlbumCard.vue +4 -4
- package/src/modules/music/components/cards/ArtistCard.vue +3 -8
- package/src/modules/music/components/cards/ArtistCardSmall.vue +2 -2
- package/src/modules/music/components/cards/PlaylistCard.vue +4 -4
- package/src/modules/music/components/cards/TrackListCard.vue +5 -5
- package/src/modules/music/components/forms/AlbumForm.vue +8 -8
- package/src/modules/music/components/forms/ArtistForm.vue +4 -4
- package/src/modules/music/components/forms/PlaylistForm.vue +7 -7
- package/src/modules/music/components/forms/SearchForm.vue +1 -1
- package/src/modules/music/components/forms/TrackForm.vue +13 -13
- package/src/modules/music/components/pages/Album.vue +22 -22
- package/src/modules/music/components/pages/Artist.vue +7 -7
- package/src/modules/music/components/pages/MusicHome.vue +13 -18
- package/src/modules/music/components/pages/MusicLibrary.vue +9 -9
- package/src/modules/music/components/pages/Playlist.vue +25 -25
- package/src/modules/music/components/pages/SearchResults.vue +15 -15
- package/src/modules/music/components/pages/Track.vue +25 -25
- package/src/modules/music/components/player/FullscreenPlayer.vue +5 -5
- package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
- package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
- package/src/modules/orders/components/blocks/CardApplication.vue +1 -1
- package/src/modules/orders/components/blocks/CardCustomer.vue +1 -1
- package/src/modules/orders/components/blocks/CardOrder.vue +9 -9
- package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +5 -5
- package/src/modules/orders/components/blocks/CardOrderItem.vue +9 -9
- package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
- package/src/modules/orders/components/blocks/CardOrderVar1.vue +4 -4
- package/src/modules/orders/components/blocks/StatusHistory.vue +3 -3
- package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
- package/src/modules/orders/components/elements/PriceTotal.vue +3 -3
- package/src/modules/orders/components/forms/FormApplicationDetails.vue +2 -2
- package/src/modules/orders/components/forms/FormCustomerDetails.vue +3 -3
- package/src/modules/orders/components/pages/Favorites.vue +1 -1
- package/src/modules/orders/components/pages/OrderBackoffice.vue +15 -15
- package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +4 -4
- package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
- package/src/modules/orders/components/partials/ShopCart.vue +2 -2
- package/src/modules/orders/components/sections/ApplicationDetails.vue +2 -2
- package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
- package/src/modules/orders/components/sections/CustomerDetails.vue +2 -2
- package/src/modules/orders/components/sections/Succes.vue +4 -4
- package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
- package/src/modules/organizations/components/blocks/CardOrganization.vue +4 -4
- package/src/modules/organizations/components/blocks/Contacts.vue +8 -8
- package/src/modules/organizations/components/blocks/Rating.vue +1 -1
- package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +3 -3
- package/src/modules/organizations/components/forms/DepartmentForm.vue +1 -1
- package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
- package/src/modules/organizations/components/pages/Department.vue +2 -2
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +1 -1
- package/src/modules/organizations/components/pages/Members.vue +1 -1
- package/src/modules/organizations/components/pages/Organization.new.vue +8 -8
- package/src/modules/organizations/components/pages/Organization.vue +6 -6
- package/src/modules/organizations/components/pages/OrganizationDocuments.vue +2 -2
- package/src/modules/organizations/components/pages/Organizations.vue +3 -3
- package/src/modules/organizations/components/sections/Documents.vue +2 -2
- package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
- package/src/modules/organizations/components/sections/Unit.vue +1 -1
- package/src/modules/pages/views/components/blocks/CardPage.vue +2 -2
- package/src/modules/pages/views/components/pages/Page.vue +5 -5
- package/src/modules/products/components/blocks/CardCategory.vue +1 -1
- package/src/modules/products/components/blocks/CardPosition.vue +4 -4
- package/src/modules/products/components/blocks/CardProduct.vue +3 -3
- package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -3
- package/src/modules/products/components/blocks/ProductImages.vue +2 -2
- package/src/modules/products/components/blocks/ProductVariants.vue +2 -2
- package/src/modules/products/components/elements/Image360.vue +2 -2
- package/src/modules/products/components/elements/Price.vue +2 -2
- package/src/modules/products/components/elements/QuantitySelector.vue +3 -3
- package/src/modules/products/components/elements/THC.vue +1 -1
- package/src/modules/products/components/forms/ReorderSettingsForm.vue +1 -1
- package/src/modules/products/components/forms/StockAuditForm.vue +2 -2
- package/src/modules/products/components/forms/StockHistoryView.vue +1 -1
- package/src/modules/products/components/pages/Categories.vue +1 -1
- package/src/modules/products/components/pages/CategoryEdit.vue +2 -2
- package/src/modules/products/components/pages/Product.vue +6 -6
- package/src/modules/products/components/pages/ProductEdit.vue +6 -6
- package/src/modules/products/components/pages/Products.vue +11 -11
- package/src/modules/products/components/sections/EditAttributes.vue +4 -4
- package/src/modules/products/components/sections/EditCategories.vue +1 -1
- package/src/modules/products/components/sections/EditDiscounts.vue +6 -6
- package/src/modules/products/components/sections/EditRecommended.vue +1 -1
- package/src/modules/products/components/sections/EditVariants.vue +8 -8
- package/src/modules/products/components/sections/FilterProducts.vue +3 -3
- package/src/modules/products/components/sections/ProductConfigurator.vue +2 -2
- package/src/modules/products/components/sections/ProductInformationSection.vue +10 -10
- package/src/modules/products/components/sections/ProductsRecommended.vue +2 -2
- package/src/modules/products/components/sections/SectionProduct.vue +7 -7
- package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +3 -3
- package/src/modules/rents/views/components/blocks/CardRent.vue +1 -1
- package/src/modules/rents/views/components/pages/Gant/DateLabel.vue +1 -1
- package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +2 -2
- package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +8 -8
- package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +1 -1
- package/src/modules/rents/views/components/pages/Rents.vue +1 -1
- package/src/modules/rents/views/components/pages/RentsEdit.vue +6 -6
- package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
- package/src/modules/reports/components/sections/FormReport.vue +1 -1
- package/src/modules/spots/components/blocks/CardSpot.vue +4 -4
- package/src/modules/spots/components/blocks/SpotMemberModify.vue +1 -1
- package/src/modules/spots/components/layouts/Spots.vue +2 -2
- package/src/modules/spots/components/pages/Spot.vue +5 -5
- package/src/modules/spots/components/pages/SpotEdit.vue +2 -2
- package/src/modules/spots/components/pages/Spots.vue +3 -3
- package/src/modules/spots/components/sections/MapSection.vue +1 -1
- package/src/modules/spots/components/sections/WorktimeEdit.vue +4 -4
- package/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue +5 -5
- package/src/modules/wallet/views/components/blocks/CardDeposit.vue +5 -5
- package/src/modules/wallet/views/components/blocks/CashDeposit.vue +2 -2
- package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +4 -4
- package/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue +11 -11
- package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +4 -4
- package/src/modules/wallet/views/components/pages/Wallet.vue +22 -22
- package/src/styles/config.scss +193 -507
- package/src/styles/layout.scss +81 -1
- package/src/styles/reset.scss +2 -0
- package/src/styles/theme.scss +1 -8
- package/dist/martyrs/dist/main-BFvlam0J.js.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.js.map +0 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
- package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +0 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -20
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
- package/src/modules/LAYOUT.MD +0 -767
- package/src/modules/STYLES.MD +0 -298
- package/src/modules/inventory/inventory.router.js +0 -72
- package/src/modules/products/products.router.js +0 -299
- package/src/styles/base/all.scss +0 -233
- package/src/styles/base/backgrounds.scss +0 -70
- package/src/styles/base/borders.scss +0 -407
- package/src/styles/base/scrolling.scss +0 -137
- package/src/styles/base/shadow_transitions_hover_refactor.scss +0 -158
- package/src/styles/base/transitions.scss +0 -109
- package/src/styles/responsive.scss +0 -152
- package/src/styles/typography.scss +0 -161
- /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
|
@@ -13,16 +13,16 @@ const _hoisted_3 = { class: "w-100 h-100 pos-relative" };
|
|
|
13
13
|
const _hoisted_4 = ["src"];
|
|
14
14
|
const _hoisted_5 = {
|
|
15
15
|
key: 2,
|
|
16
|
-
class: "pos-absolute bg-white t-black pd-thin radius-medium p-small
|
|
16
|
+
class: "pos-absolute bg-white t-black pd-thin radius-medium p-small fw-medium pos-t-small pos-l-small"
|
|
17
17
|
};
|
|
18
18
|
const _hoisted_6 = { class: "pd-small cols-1 t-left" };
|
|
19
19
|
const _hoisted_7 = {
|
|
20
20
|
key: 0,
|
|
21
|
-
class: "
|
|
21
|
+
class: "fw-semi t-transp p-small mn-b-thin"
|
|
22
22
|
};
|
|
23
23
|
const _hoisted_8 = {
|
|
24
24
|
style: { "hyphens": "auto" },
|
|
25
|
-
class: "word-break
|
|
25
|
+
class: "word-break truncate p-regular mn-b-micro w-100 w-max-100"
|
|
26
26
|
};
|
|
27
27
|
const _hoisted_9 = {
|
|
28
28
|
key: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardProduct.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/CardProduct.vue"],"sourcesContent":["<template>\n\t<div \n\t\tclass=\"\n\t\t\tradius-medium \n\t\t\tcols-1\n\t\t\to-hidden\n\t\t\tpos-relative\n\t\t\"\n\t>\n\t\t<!-- Edit Button -->\n\t\t<router-link\n\t\t\tv-if=\"access\"\n :to=\"editPath\"\n class=\"\n \tz-index-2\n cursor-pointer \n pos-absolute pos-t-regular pos-r-regular\n radius-extra pd-thin bg-second\n \"\n >\n <IconEdit\n class=\"i-medium\"\n classes=\"fill-white\"\n />\n </router-link>\n\n\t\t<!-- Product Image Sqaure -->\n\t\t<div \n\t\t\tclass=\"o-hidden d-flex pd-thin pd-b-zero radius-medium o-hidden w-100 pos-relative aspect-1x1\"\n\t\t>\n\t\t\t<div class=\"w-100 h-100 pos-relative\">\n\t\t\t\t<!-- Image Wrappers -->\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"product.images?.[0]\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + (product.images?.[0] || '').split('/').slice(0, -1).join('/') + '/thumbnail_' + (product.images?.[0] || '').split('/').pop()\"\n\t\t\t\t\tclass=\"pos-absolute object-fit-cover radius-small h-max-100 h-100 w-100\"\n\t\t\t\t>\n\n\t\t\t\t<PlaceholderImage\n\t\t\t\t\tv-else\n\t\t\t\t\tclass=\"radius-medium h-100 w-100\"\n\t\t\t\t/>\n\t\t\t\t<span v-if=\"product.available <= 0 && product.listing !== 'rent'\" class=\"pos-absolute bg-white t-black pd-thin radius-medium p-small
|
|
1
|
+
{"version":3,"file":"CardProduct.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/CardProduct.vue"],"sourcesContent":["<template>\n\t<div \n\t\tclass=\"\n\t\t\tradius-medium \n\t\t\tcols-1\n\t\t\to-hidden\n\t\t\tpos-relative\n\t\t\"\n\t>\n\t\t<!-- Edit Button -->\n\t\t<router-link\n\t\t\tv-if=\"access\"\n :to=\"editPath\"\n class=\"\n \tz-index-2\n cursor-pointer \n pos-absolute pos-t-regular pos-r-regular\n radius-extra pd-thin bg-second\n \"\n >\n <IconEdit\n class=\"i-medium\"\n classes=\"fill-white\"\n />\n </router-link>\n\n\t\t<!-- Product Image Sqaure -->\n\t\t<div \n\t\t\tclass=\"o-hidden d-flex pd-thin pd-b-zero radius-medium o-hidden w-100 pos-relative aspect-1x1\"\n\t\t>\n\t\t\t<div class=\"w-100 h-100 pos-relative\">\n\t\t\t\t<!-- Image Wrappers -->\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"product.images?.[0]\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + (product.images?.[0] || '').split('/').slice(0, -1).join('/') + '/thumbnail_' + (product.images?.[0] || '').split('/').pop()\"\n\t\t\t\t\tclass=\"pos-absolute object-fit-cover radius-small h-max-100 h-100 w-100\"\n\t\t\t\t>\n\n\t\t\t\t<PlaceholderImage\n\t\t\t\t\tv-else\n\t\t\t\t\tclass=\"radius-medium h-100 w-100\"\n\t\t\t\t/>\n\t\t\t\t<span v-if=\"product.available <= 0 && product.listing !== 'rent'\" class=\"pos-absolute bg-white t-black pd-thin radius-medium p-small fw-medium pos-t-small pos-l-small\">Out of Stock</span>\n\t\t\t\t<THC v-if=\"product.attributes?.length > 0 && product.attributes[1]?.name === 'THC'\" :product=\"product\" />\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Product Info Start -->\n\t\t<div class=\"pd-small cols-1 t-left\">\n\t\t\t<!-- Detail -->\n\t\t\t<p\n\t\t\t\tv-if=\"product.attributes?.length > 0\"\n\t\t\t\tclass=\"fw-semi t-transp p-small mn-b-thin\"\n\t\t\t>\n\t\t\t\t{{product.attributes[0]?.value}}\n\t\t\t</p>\n\t\t\t<!-- Name -->\n\t\t\t<span style=\" hyphens: auto;\" class=\"word-break truncate p-regular mn-b-micro w-100 w-max-100 \">\n\t\t\t\t{{product.name}}\n\t\t\t</span>\n\n\t\t\t<p \n\t\t\t\tv-if=\"product.description && !product.translations && product.listing !== 'rent'\" \n\t\t\t\tclass=\"mn-b-small t-transp p-small\"\n\t\t\t>\n\t\t\t\t{{product.description.substring(0, 99)}}...\n\t\t\t</p>\n\n\t\t\t<slot></slot>\n\n\t\t\t<div v-if=\"product.variants?.length > 0\" class=\"flex-v-center flex-nowrap flex\">\n\t\t\t\t<Price \n\t\t\t\t\t:product=\"product\" \n\t\t\t\t\tsize=\"small\" \n\t\t\t\t\tclass=\"bg-white h-100 p-regular flex flex-center pd-thin radius-small mn-r-auto\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<button\n\t\t\t\t\tv-if=\"showAddToCart\"\n\t\t class=\"\n\t\t cursor-pointer \n\t\t radius-extra pd-thin bg-main\n\t\t \"\n\t\t >\n\t\t <IconShopcartAdd\n\t\t\t\t\t\tclass=\"icon-button-main i-medium\"\n\t\t\t\t\t/>\n\t\t </button>\n\t\t </div>\n\t\t</div>\n\n\t</div>\n\n</template>\n\n\n<script setup=\"props\">\n\timport {computed } from 'vue'\n\timport { useI18n } from 'vue-i18n'\n\timport { useRoute } from 'vue-router'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\timport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue'\n\n\timport THC from '@martyrs/src/modules/products/components/elements/THC.vue'\n\timport Price from '@martyrs/src/modules/products/components/elements/Price.vue'\n\n\timport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\n\n\tconst route = useRoute()\n\n\tconst props = defineProps({\n\t\tproduct: {\n\t\t\ttype: Object\n\t\t},\n\t\taccess: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\torganization: {\n\t\t\ttype: String\n\t\t},\n\t\tshowAddToCart: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tuser: {\n\t\t\ttype: [Object, String]\n\t\t},\n\t\ttype: {\n\t\t\ttype: Object\n\t\t}\n\t})\n\n const { t } = useI18n()\n\n\tconst editPath = computed(() => {\n\t\tif (route.meta.context === 'backoffice') {\n\t\t\treturn `/backoffice/products/${props.product._id}/edit`\n\t\t}\n\t\tif (route.meta.context === 'organization' || props.organization) {\n\t\t\tconst orgId = props.organization || route.params._id\n\t\t\treturn `/organizations/${orgId}/products/${props.product._id}/edit`\n\t\t}\n\t\treturn `/products/${props.product._id}/edit`\n\t})\n</script>\n\n<style lang=\"scss\">\n.word-break {\n width: 100%; \n overflow: auto;\n overflow-wrap: break-word;\n word-break: break-all;\n white-space: -moz-pre-wrap;\n white-space: -hp-pre-wrap;\n white-space: -o-pre-wrap;\n white-space: -pre-wrap; \n white-space: pre-wrap; \n white-space: pre-line; \n word-wrap: break-word;\n}\n</style>\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6GC,UAAM,QAAQ,SAAQ;AAEtB,UAAM,QAAQ;AAuBb,UAAM,EAAE,EAAC,IAAK,QAAO;AAEtB,UAAM,WAAW,SAAS,MAAM;AAC/B,UAAI,MAAM,KAAK,YAAY,cAAc;AACxC,eAAO,wBAAwB,MAAM,QAAQ,GAAG;AAAA,MACjD;AACA,UAAI,MAAM,KAAK,YAAY,kBAAkB,MAAM,cAAc;AAChE,cAAM,QAAQ,MAAM,gBAAgB,MAAM,OAAO;AACjD,eAAO,kBAAkB,KAAK,aAAa,MAAM,QAAQ,GAAG;AAAA,MAC7D;AACA,aAAO,aAAa,MAAM,QAAQ,GAAG;AAAA,IACtC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, Fragment, renderList, withCtx, toDisplayString, unref } from "vue";
|
|
2
2
|
import _sfc_main$1 from "../../../icons/entities/IconDiscount.vue.js";
|
|
3
3
|
import _sfc_main$3 from "../../../../components/Chips/Chips.vue.js";
|
|
4
|
-
import _sfc_main$2 from "../../../../components/Tooltip/Tooltip.
|
|
4
|
+
import _sfc_main$2 from "../../../../components/Tooltip/Tooltip.vue2.js";
|
|
5
5
|
import { useGlobalMixins } from "../../../core/views/mixins/mixins.js";
|
|
6
6
|
/* empty css */
|
|
7
7
|
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
@@ -10,7 +10,7 @@ const _hoisted_2 = { class: "mn-b-small flex-nowrap flex flex-v-center" };
|
|
|
10
10
|
const _hoisted_3 = { class: "flex flex-column flex-wrap gap-thin" };
|
|
11
11
|
const _hoisted_4 = ["onClick"];
|
|
12
12
|
const _hoisted_5 = { class: "flex flex-wrap gap-thin flex-v-center w-100" };
|
|
13
|
-
const _hoisted_6 = { class: "discount-name
|
|
13
|
+
const _hoisted_6 = { class: "discount-name fw-semi p-regular" };
|
|
14
14
|
const _hoisted_7 = { class: "t-main p-regular" };
|
|
15
15
|
const _hoisted_8 = {
|
|
16
16
|
key: 0,
|
|
@@ -88,13 +88,13 @@ const _sfc_main = {
|
|
|
88
88
|
return __props.discounts && __props.discounts.length ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
89
89
|
createElementVNode("div", _hoisted_2, [
|
|
90
90
|
createVNode(_sfc_main$1, { class: "mn-r-micro i-medium" }),
|
|
91
|
-
_cache[0] || (_cache[0] = createElementVNode("p", { class: "
|
|
91
|
+
_cache[0] || (_cache[0] = createElementVNode("p", { class: "fw-medium" }, "Special Offers", -1))
|
|
92
92
|
]),
|
|
93
93
|
createElementVNode("div", _hoisted_3, [
|
|
94
94
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.discounts, (discount, index) => {
|
|
95
95
|
return openBlock(), createElementBlock("div", {
|
|
96
96
|
key: index,
|
|
97
|
-
class: "discount-card bg-light pd-small radius-small br-1px br-
|
|
97
|
+
class: "discount-card bg-light pd-small radius-small br-1px br-light cursor-pointer",
|
|
98
98
|
onClick: ($event) => selectDiscount(discount)
|
|
99
99
|
}, [
|
|
100
100
|
createElementVNode("div", _hoisted_5, [
|
|
@@ -122,7 +122,7 @@ const _sfc_main = {
|
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
|
-
const ProductDiscounts = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
125
|
+
const ProductDiscounts = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-75ed8485"]]);
|
|
126
126
|
export {
|
|
127
127
|
ProductDiscounts as default
|
|
128
128
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDiscounts.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/ProductDiscounts.vue"],"sourcesContent":["<template>\n <div v-if=\"discounts && discounts.length\">\n <div class=\"mn-b-small flex-nowrap flex flex-v-center\">\n <IconDiscount class=\"mn-r-micro i-medium\"/>\n <p class=\"
|
|
1
|
+
{"version":3,"file":"ProductDiscounts.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/ProductDiscounts.vue"],"sourcesContent":["<template>\n <div v-if=\"discounts && discounts.length\">\n <div class=\"mn-b-small flex-nowrap flex flex-v-center\">\n <IconDiscount class=\"mn-r-micro i-medium\"/>\n <p class=\"fw-medium\">Special Offers</p>\n </div>\n\n <div class=\"flex flex-column flex-wrap gap-thin\">\n <div \n v-for=\"(discount, index) in discounts\" \n :key=\"index\" \n class=\"discount-card bg-light pd-small radius-small br-1px br-light cursor-pointer \"\n @click=\"selectDiscount(discount)\"\n >\n <div class=\"flex flex-wrap gap-thin flex-v-center w-100\">\n\n <Tooltip :text=\"discount.description || 'No description'\">\n <span class=\"discount-name fw-semi p-regular\">{{ discount.name }}</span>\n </Tooltip>\n\n <span class=\"t-main p-regular\">\n {{returnCurrency()}}{{ discount.value }} per {{ currentVariant?.quantity || 1 }}{{ currentVariant?.unit || pcs }}\n </span>\n\n </div>\n \n <p v-if=\"discount.description\" class=\"t-small mn-t-thin t-transp\">{{ discount.description }}</p>\n <div v-if=\"getConditionsAsChips(discount).length > 0\" class=\"mn-t-small\"><Chips class=\"\" :chips=\"getConditionsAsChips(discount)\" /></div>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\nimport IconDiscount from '@martyrs/src/modules/icons/entities/IconDiscount.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue';\nimport Tooltip from '@martyrs/src/components/Tooltip/Tooltip.vue';\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\nconst { returnCurrency } = useGlobalMixins();\n\nconst props = defineProps({\n discounts: { \n type: Array, \n default: () => [] \n },\n regularPrice: { \n type: [String, Number], \n default: 0 \n },\n selectedVariant: {\n type: Object,\n default: null\n },\n productVariants: {\n type: Array,\n default: () => []\n }\n});\n\nconst emit = defineEmits(['select-discount']);\n\n// Helper to determine if a discount has date conditions\nconst hasDateCondition = (discount) => {\n return discount.date && (discount.date.start || discount.date.end);\n};\n\n// Helper to determine if a discount has time conditions\nconst hasTimeCondition = (discount) => {\n return discount.time && (discount.time.start || discount.time.end);\n};\n\n// Format date range for display\nconst formatDateRange = (dateRange) => {\n if (!dateRange) return '';\n \n const start = dateRange.start ? new Date(dateRange.start).toLocaleDateString() : 'Anytime';\n const end = dateRange.end ? new Date(dateRange.end).toLocaleDateString() : 'No end date';\n \n return `${start}-${end}`;\n};\n\n// Format time range for display\nconst formatTimeRange = (timeRange) => {\n if (!timeRange) return '';\n \n const start = timeRange.start || 'Anytime';\n const end = timeRange.end || 'No end time';\n \n // Check if we're referencing today\n const now = new Date();\n const isToday = true; // Simplification - in a real app we'd check if the date range includes today\n \n return isToday ? `${start}-${end} today` : `${start}-${end}`;\n};\n\n// Get the current variant (selected or default to first)\nconst currentVariant = computed(() => {\n return props.selectedVariant || (props.productVariants?.length > 0 ? props.productVariants[0] : null);\n});\n\nconst getConditionsAsChips = (discount) => {\n const chips = [];\n \n // Quantity condition - используем quantity из текущего варианта, а не из скидки\n // if (currentVariant.value?.quantity && currentVariant.value.quantity > 0) {\n // chips.push({ \n // text: `+${discount.quantity}`, \n // });\n // }\n \n // Date condition\n if (hasDateCondition(discount)) {\n chips.push({ \n text: `Valid: ${formatDateRange(discount.date)}` \n });\n }\n \n // Time condition\n if (hasTimeCondition(discount)) {\n chips.push({ \n text: `Available: ${formatTimeRange(discount.time)}` \n });\n }\n \n return chips;\n};\n// Handle discount selection\nconst selectDiscount = (discount) => {\n emit('select-discount', discount);\n};\n</script>\n\n<style scoped>\n.discount-card {\n transition: all 0.2s ease;\n}\n\n.discount-card:hover {\n border-color: rgb(var(--main));\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,UAAM,EAAE,eAAc,IAAK,gBAAe;AAE1C,UAAM,QAAQ;AAmBd,UAAM,OAAO;AAGb,UAAM,mBAAmB,CAAC,aAAa;AACrC,aAAO,SAAS,SAAS,SAAS,KAAK,SAAS,SAAS,KAAK;AAAA,IAChE;AAGA,UAAM,mBAAmB,CAAC,aAAa;AACrC,aAAO,SAAS,SAAS,SAAS,KAAK,SAAS,SAAS,KAAK;AAAA,IAChE;AAGA,UAAM,kBAAkB,CAAC,cAAc;AACrC,UAAI,CAAC,UAAW,QAAO;AAEvB,YAAM,QAAQ,UAAU,QAAQ,IAAI,KAAK,UAAU,KAAK,EAAE,mBAAkB,IAAK;AACjF,YAAM,MAAM,UAAU,MAAM,IAAI,KAAK,UAAU,GAAG,EAAE,mBAAkB,IAAK;AAE3E,aAAO,GAAG,KAAK,IAAI,GAAG;AAAA,IACxB;AAGA,UAAM,kBAAkB,CAAC,cAAc;AACrC,UAAI,CAAC,UAAW,QAAO;AAEvB,YAAM,QAAQ,UAAU,SAAS;AACjC,YAAM,MAAM,UAAU,OAAO;AAI7B,YAAM,UAAU;AAEhB,aAAO,UAAU,GAAG,KAAK,IAAI,GAAG,WAAW,GAAG,KAAK,IAAI,GAAG;AAAA,IAC5D;AAGA,UAAM,iBAAiB,SAAS,MAAM;AACpC,aAAO,MAAM,oBAAoB,MAAM,iBAAiB,SAAS,IAAI,MAAM,gBAAgB,CAAC,IAAI;AAAA,IAClG,CAAC;AAED,UAAM,uBAAuB,CAAC,aAAa;AACzC,YAAM,QAAQ,CAAA;AAUd,UAAI,iBAAiB,QAAQ,GAAG;AAC9B,cAAM,KAAK;AAAA,UACT,MAAM,UAAU,gBAAgB,SAAS,IAAI,CAAC;AAAA,QACpD,CAAK;AAAA,MACH;AAGA,UAAI,iBAAiB,QAAQ,GAAG;AAC9B,cAAM,KAAK;AAAA,UACT,MAAM,cAAc,gBAAgB,SAAS,IAAI,CAAC;AAAA,QACxD,CAAK;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAEA,UAAM,iBAAiB,CAAC,aAAa;AACnC,WAAK,mBAAmB,QAAQ;AAAA,IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,7 +5,7 @@ import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.j
|
|
|
5
5
|
import Image360 from "../elements/Image360.vue.js";
|
|
6
6
|
/* empty css */
|
|
7
7
|
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
8
|
-
const _hoisted_1 = { class: "w-100 bs-
|
|
8
|
+
const _hoisted_1 = { class: "w-100 bs-big h-max mobile:pos-relative tablet:pos-relative pos-sticky pos-t-0 pd-medium o-hidden bg-light radius-medium gap-small flex-nowrap flex-row mobile:flex-column flex pos-relative" };
|
|
9
9
|
const _hoisted_2 = ["src"];
|
|
10
10
|
const _hoisted_3 = {
|
|
11
11
|
key: 0,
|
|
@@ -78,7 +78,7 @@ const _sfc_main = {
|
|
|
78
78
|
__props.images.length > 5 ? (openBlock(), createElementBlock("div", {
|
|
79
79
|
key: 0,
|
|
80
80
|
onClick: _cache[1] || (_cache[1] = ($event) => openPopup(5)),
|
|
81
|
-
class: "aspect-1x1 radius-small o-hidden thumbnail flex flex-center
|
|
81
|
+
class: "aspect-1x1 radius-small o-hidden thumbnail flex flex-center fw-medium t-black bg-white"
|
|
82
82
|
}, " +" + toDisplayString(__props.images.length - 5), 1)) : createCommentVNode("", true)
|
|
83
83
|
])
|
|
84
84
|
])) : createCommentVNode("", true),
|
|
@@ -99,7 +99,7 @@ const _sfc_main = {
|
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
|
-
const ProductImages = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
102
|
+
const ProductImages = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2037f0f7"]]);
|
|
103
103
|
export {
|
|
104
104
|
ProductImages as default
|
|
105
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductImages.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/ProductImages.vue"],"sourcesContent":["<template>\n <div class=\"w-100 bs-
|
|
1
|
+
{"version":3,"file":"ProductImages.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/ProductImages.vue"],"sourcesContent":["<template>\n <div class=\"w-100 bs-big h-max mobile:pos-relative tablet:pos-relative pos-sticky pos-t-0 pd-medium o-hidden bg-light radius-medium gap-small flex-nowrap flex-row mobile:flex-column flex pos-relative\">\n <!-- Main image container -->\n <div class=\"order-1 w-100 bg-light radius-small o-hidden\" @click=\"openPopup(currentImageIndex)\">\n <Image360\n v-if=\"product && product.image3d\"\n class=\"h-100 w-100\"\n :imagePath=\"`/assets/images/products/${product.image3d}`\"\n :imageCount=\"36\"\n />\n <img\n loading=\"lazy\"\n v-if=\"images[currentImageIndex] && !product?.image3d\"\n class=\"h-100 flex-child-default bg-white radius-small w-100\"\n style=\"object-fit: contain;\"\n :src=\"(FILE_SERVER_URL || '') + images[currentImageIndex]\"\n />\n <PlaceholderImage\n v-if=\"!images[currentImageIndex] && !product?.image3d\"\n class=\"h-100 w-100\"\n style=\"object-fit: cover;\"\n />\n </div>\n \n <!-- Thumbnails -->\n <div v-if=\"images.length > 1\" class=\"mobile:order-1 order-0 w-5r mobile:w-100\">\n <div class=\"w-100 mobile:flex-row flex-column flex flex-nowrap gap-thin\">\n <img loading=\"lazy\" \n v-for=\"(image, index) in images.slice(0, 5)\"\n :key=\"index\"\n :src=\"(FILE_SERVER_URL || '') + image\" \n @click=\"currentImageIndex = index\"\n class=\"aspect-1x1 radius-small bg-white o-hidden thumbnail\"\n :class=\"{ 'active': currentImageIndex === index }\"\n />\n <div\n v-if=\"images.length > 5\"\n @click=\"openPopup(5)\"\n class=\"aspect-1x1 radius-small o-hidden thumbnail flex flex-center fw-medium t-black bg-white \"\n >\n +{{ images.length - 5 }}\n </div>\n </div>\n </div>\n \n <!-- Popup with photo viewer -->\n <Popup @close-popup=\"closePopup\" :isPopupOpen=\"isPopupVisible\" class=\"radius-zero w-100 o-hidden\">\n <PhotoViewer\n :photos=\"images.map(img => (FILE_SERVER_URL || '') + img)\"\n :initialIndex=\"selectedImageIndex\"\n />\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref } from \"vue\";\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport PhotoViewer from '@martyrs/src/components/PhotoViewer/PhotoViewer.vue';\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Image360 from '@martyrs/src/modules/products/components/elements/Image360.vue'\n\nconst props = defineProps({\n images: {\n type: Array,\n required: true,\n },\n product: {\n type: Object,\n default: () => ({})\n },\n});\n\nconst isPopupVisible = ref(false);\nconst selectedImageIndex = ref(0);\nconst currentImageIndex = ref(0);\n\nconst openPopup = (index) => {\n if (!props.images.length) return;\n selectedImageIndex.value = index;\n isPopupVisible.value = true;\n};\n\nconst closePopup = () => {\n selectedImageIndex.value = 0;\n isPopupVisible.value = false;\n};\n</script>\n\n<style scoped>\n.thumbnail {\n width: 100%;\n object-fit: cover;\n cursor: pointer;\n}\n.thumbnail.active {\n border: 1px solid rgb(var(--second));\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,UAAM,QAAQ;AAWd,UAAM,iBAAiB,IAAI,KAAK;AAChC,UAAM,qBAAqB,IAAI,CAAC;AAChC,UAAM,oBAAoB,IAAI,CAAC;AAE/B,UAAM,YAAY,CAAC,UAAU;AAC3B,UAAI,CAAC,MAAM,OAAO,OAAQ;AAC1B,yBAAmB,QAAQ;AAC3B,qBAAe,QAAQ;AAAA,IACzB;AAEA,UAAM,aAAa,MAAM;AACvB,yBAAmB,QAAQ;AAC3B,qBAAe,QAAQ;AAAA,IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, computed, watch, onMounted, createElementBlock, openBlock, Fragment, renderList, createElementVNode, toDisplayString, normalizeClass, createCommentVNode } from "vue";
|
|
2
2
|
const _hoisted_1 = { class: "w-100" };
|
|
3
|
-
const _hoisted_2 = { class: "capitalize mn-b-thin
|
|
3
|
+
const _hoisted_2 = { class: "capitalize mn-b-thin fw-medium" };
|
|
4
4
|
const _hoisted_3 = { class: "flex flex-wrap gap-thin mn-b-medium" };
|
|
5
5
|
const _hoisted_4 = ["onClick", "disabled"];
|
|
6
6
|
const _hoisted_5 = ["src"];
|
|
@@ -98,7 +98,7 @@ const _sfc_main = {
|
|
|
98
98
|
disabled: item.off,
|
|
99
99
|
class: normalizeClass(["pd-small radius-small", [
|
|
100
100
|
isSelected(group, item) ? "br-main" : "br-black-transp-10",
|
|
101
|
-
item.off ? "o-50 cursor-not-allowed" : "cursor-pointer hover
|
|
101
|
+
item.off ? "o-50 cursor-not-allowed" : "cursor-pointer hover:scale-[1.05]"
|
|
102
102
|
]])
|
|
103
103
|
}, [
|
|
104
104
|
item.img ? (openBlock(), createElementBlock("img", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductVariants.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/ProductVariants.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <div\n v-for=\"group in groups\"\n :key=\"group.label\"\n class=\"w-100 mn-b-medium\"\n >\n <p class=\"capitalize mn-b-thin
|
|
1
|
+
{"version":3,"file":"ProductVariants.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/ProductVariants.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <div\n v-for=\"group in groups\"\n :key=\"group.label\"\n class=\"w-100 mn-b-medium\"\n >\n <p class=\"capitalize mn-b-thin fw-medium\">{{ group.label }}</p>\n\n <div class=\"flex flex-wrap gap-thin mn-b-medium\">\n <button\n v-for=\"item in group.items\"\n :key=\"item.key\"\n @click=\"group.label === 'Options' ? pick(item.variant) : pickAttr(group.label, item.value)\"\n :disabled=\"item.off\"\n class=\"pd-small radius-small\"\n :class=\"[\n isSelected(group, item) ? 'br-main' : 'br-black-transp-10',\n item.off ? 'o-50 cursor-not-allowed' : 'cursor-pointer hover:scale-[1.05]',\n ]\"\n >\n <img\n v-if=\"item.img\"\n :src=\"`${FILE_SERVER_URL}${item.img}`\"\n class=\"h-100 radius-thin aspect-1x1 object-fit-contain\"\n />\n <p class=\"\">\n {{ item.text }}\n </p>\n\n <div\n v-if=\"isSelected(group, item)\"\n class=\"pos-absolute pos-b-0 pos-r-0 pos-l-0 flex flex-center h-1r bg-main t-white t-small\"\n >\n Selected\n </div>\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted } from 'vue';\n\nconst props = defineProps({ productVariants: Array });\nconst emit = defineEmits(['variant-selected', 'update-images']);\n\nconst selectedAttributes = ref({});\nconst selected = ref(null);\n\nconst hasAttrs = computed(() =>\n props.productVariants.some(v => v.attributes?.length)\n);\n\nconst groups = computed(() => {\n if (hasAttrs.value) {\n const labels = [...new Set(props.productVariants[0].attributes.map(a => a.name))];\n return labels.map((lbl, i) => ({\n label: lbl,\n items: [...new Set(\n props.productVariants.map(v => v.attributes.find(a => a.name === lbl)?.value)\n )]\n .filter(Boolean)\n .map(val => {\n const v = props.productVariants.find(x => x.attributes.find(a => a.name === lbl && a.value === val));\n return {\n key: lbl + val,\n value: val,\n img: i === 0 ? v.images?.[0] : null,\n off: !v.available,\n text: val,\n };\n }),\n }));\n }\n if (props.productVariants.length > 1) {\n return [{\n label: 'Options',\n items: props.productVariants.map(v => ({\n key: v._id,\n variant: v,\n img: v.images?.[0],\n off: !v.available,\n text: v.name || v.sku,\n })),\n }];\n }\n return [];\n});\n\nconst pick = v => {\n if (!v.available) return;\n selectedAttributes.value = Object.fromEntries(v.attributes?.map(a => [a.name, a.value]) || []);\n selected.value = v;\n emit('variant-selected', v);\n v.images?.length && emit('update-images', v.images);\n};\n\nconst pickAttr = (lbl, val) => {\n const test = { ...selectedAttributes.value, [lbl]: val };\n if (!props.productVariants.some(v =>\n Object.entries(test).every(([k, x]) =>\n v.attributes.find(a => a.name === k && a.value === x)\n )\n )) return;\n selectedAttributes.value = test;\n};\n\nwatch(selectedAttributes, attrs => {\n const m = props.productVariants.find(v =>\n Object.entries(attrs).every(([k, x]) => v.attributes.find(a => a.name === k && a.value === x))\n );\n if (m && selected.value?._id !== m._id) {\n pick(m);\n } else if (!m) {\n selected.value = null;\n }\n});\n\nonMounted(() => props.productVariants.length === 1 && pick(props.productVariants[0]));\n\nconst isSelected = (g, i) =>\n g.label === 'Options'\n ? selected.value?._id === i.variant?._id\n : selectedAttributes.value[g.label] === i.value;\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ref, computed, watch, onMounted, onUnmounted, createElementBlock, openBlock, createStaticVNode, createVNode, Transition, withCtx, createCommentVNode, withModifiers, createBlock } from "vue";
|
|
2
|
-
import Loader from "../../../../components/Loader/Loader.
|
|
2
|
+
import Loader from "../../../../components/Loader/Loader.vue2.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
5
5
|
const _hoisted_1 = { class: "product-360-viewer" };
|
|
6
6
|
const _hoisted_2 = {
|
|
7
7
|
key: 0,
|
|
8
|
-
class: "h-100 w-100
|
|
8
|
+
class: "h-100 w-100 ease"
|
|
9
9
|
};
|
|
10
10
|
const _hoisted_3 = ["src"];
|
|
11
11
|
const _sfc_main = {
|
|
@@ -87,7 +87,7 @@ const _sfc_main = {
|
|
|
87
87
|
});
|
|
88
88
|
return (_ctx, _cache) => {
|
|
89
89
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
90
|
-
_cache[1] || (_cache[1] = createStaticVNode('<svg class="pos-absolute z-index-2 pos-b-0 pd-small" width="73" height="50" viewBox="0 0 73 50" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-
|
|
90
|
+
_cache[1] || (_cache[1] = createStaticVNode('<svg class="pos-absolute z-index-2 pos-b-0 pd-small" width="73" height="50" viewBox="0 0 73 50" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-3db6b247><path d="M42.5934 17.2017C42.5934 20.8208 39.8428 23.7544 36.45 23.7544C33.0573 23.7544 30.3066 20.8208 30.3066 17.2017C30.3066 13.5826 33.0573 10.6484 36.45 10.6484C39.8428 10.6484 42.5934 13.5826 42.5934 17.2017Z" fill="rgb(var(--black))" fill-opacity="0.1" data-v-3db6b247></path><path d="M22.5953 29.4883H50.3053C53.7389 29.4883 56.5197 26.778 56.5197 23.4405V10.8396C56.5197 7.49996 53.739 4.79176 50.3053 4.79176H48.8712C48.2747 2.05313 45.7826 0 42.7962 0H30.1063C27.1179 0 24.6257 2.053 24.0313 4.78967H22.5971C19.1656 4.78967 16.3828 7.49788 16.3828 10.8375V23.4384C16.3807 26.778 19.1634 29.4882 22.595 29.4882L22.5953 29.4883ZM36.449 8.31471C41.4535 8.31471 45.5123 12.2648 45.5123 17.1352C45.5123 22.0062 41.4535 25.9582 36.449 25.9582C31.4445 25.9582 27.3856 22.0081 27.3856 17.1377C27.3856 12.2673 31.4445 8.31471 36.449 8.31471ZM20.9092 9.32597H24.0182C24.9472 9.32597 25.7019 10.0584 25.7019 10.9625C25.7019 11.8686 24.9493 12.6011 24.0182 12.6011H20.9092C19.9823 12.6011 19.2254 11.8707 19.2254 10.9625C19.2275 10.0604 19.9822 9.32597 20.9092 9.32597Z" fill="rgb(var(--black))" fill-opacity="0.1" data-v-3db6b247></path><path d="M58.8645 12.2878C58.8645 12.2878 77.1839 21.8549 65.5604 32.0445C63.6718 33.6967 55.2747 38.9138 42.5947 39.9368V45.0519C50.0424 44.2514 61.7635 41.887 68.4037 34.9253C82.5323 20.1097 58.8657 12.2871 58.8657 12.2871L58.8645 12.2878Z" fill="rgb(var(--black))" fill-opacity="0.1" data-v-3db6b247></path><path d="M37.6664 41.209L29.1818 35.5097C28.077 34.7658 27.1702 35.2358 27.1702 36.5516V39.5855C16.2598 38.0408 9.07761 33.565 7.35125 32.0517C-4.2894 21.858 14.0557 12.2871 14.0557 12.2871C14.0557 12.2871 -9.64257 20.1134 4.5039 34.9343C10.2723 40.9769 19.8619 43.5552 27.1712 44.656V44.952V48.5701C27.1712 49.8901 28.078 50.3554 29.1827 49.6141L37.6673 43.9127C38.7757 43.1683 38.7757 41.9525 37.6673 41.2092L37.6664 41.209Z" fill="rgb(var(--black))" fill-opacity="0.1" data-v-3db6b247></path></svg>', 1)),
|
|
91
91
|
createVNode(Transition, {
|
|
92
92
|
name: "scale5",
|
|
93
93
|
css: !firstImageLoad.value,
|
|
@@ -98,7 +98,7 @@ const _sfc_main = {
|
|
|
98
98
|
currentImage.value ? (openBlock(), createElementBlock("img", {
|
|
99
99
|
loading: "lazy",
|
|
100
100
|
key: currentImage.value,
|
|
101
|
-
class: "h-100 w-100
|
|
101
|
+
class: "h-100 w-100 ease",
|
|
102
102
|
src: (_ctx.FILE_SERVER_URL || "") + currentImage.value.src,
|
|
103
103
|
alt: "360 product view",
|
|
104
104
|
onMousedown: startRotation,
|
|
@@ -129,7 +129,7 @@ const _sfc_main = {
|
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
131
|
};
|
|
132
|
-
const Image360 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
132
|
+
const Image360 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3db6b247"]]);
|
|
133
133
|
export {
|
|
134
134
|
Image360 as default
|
|
135
135
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image360.vue.js","sources":["../../../../../../../src/modules/products/components/elements/Image360.vue"],"sourcesContent":["<template>\n <div class=\"product-360-viewer\">\n <svg class=\"pos-absolute z-index-2 pos-b-0 pd-small\" width=\"73\" height=\"50\" viewBox=\"0 0 73 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M42.5934 17.2017C42.5934 20.8208 39.8428 23.7544 36.45 23.7544C33.0573 23.7544 30.3066 20.8208 30.3066 17.2017C30.3066 13.5826 33.0573 10.6484 36.45 10.6484C39.8428 10.6484 42.5934 13.5826 42.5934 17.2017Z\" fill=\"rgb(var(--black))\" fill-opacity=\"0.1\"/>\n <path d=\"M22.5953 29.4883H50.3053C53.7389 29.4883 56.5197 26.778 56.5197 23.4405V10.8396C56.5197 7.49996 53.739 4.79176 50.3053 4.79176H48.8712C48.2747 2.05313 45.7826 0 42.7962 0H30.1063C27.1179 0 24.6257 2.053 24.0313 4.78967H22.5971C19.1656 4.78967 16.3828 7.49788 16.3828 10.8375V23.4384C16.3807 26.778 19.1634 29.4882 22.595 29.4882L22.5953 29.4883ZM36.449 8.31471C41.4535 8.31471 45.5123 12.2648 45.5123 17.1352C45.5123 22.0062 41.4535 25.9582 36.449 25.9582C31.4445 25.9582 27.3856 22.0081 27.3856 17.1377C27.3856 12.2673 31.4445 8.31471 36.449 8.31471ZM20.9092 9.32597H24.0182C24.9472 9.32597 25.7019 10.0584 25.7019 10.9625C25.7019 11.8686 24.9493 12.6011 24.0182 12.6011H20.9092C19.9823 12.6011 19.2254 11.8707 19.2254 10.9625C19.2275 10.0604 19.9822 9.32597 20.9092 9.32597Z\" fill=\"rgb(var(--black))\" fill-opacity=\"0.1\"/>\n <path d=\"M58.8645 12.2878C58.8645 12.2878 77.1839 21.8549 65.5604 32.0445C63.6718 33.6967 55.2747 38.9138 42.5947 39.9368V45.0519C50.0424 44.2514 61.7635 41.887 68.4037 34.9253C82.5323 20.1097 58.8657 12.2871 58.8657 12.2871L58.8645 12.2878Z\" fill=\"rgb(var(--black))\" fill-opacity=\"0.1\"/>\n <path d=\"M37.6664 41.209L29.1818 35.5097C28.077 34.7658 27.1702 35.2358 27.1702 36.5516V39.5855C16.2598 38.0408 9.07761 33.565 7.35125 32.0517C-4.2894 21.858 14.0557 12.2871 14.0557 12.2871C14.0557 12.2871 -9.64257 20.1134 4.5039 34.9343C10.2723 40.9769 19.8619 43.5552 27.1712 44.656V44.952V48.5701C27.1712 49.8901 28.078 50.3554 29.1827 49.6141L37.6673 43.9127C38.7757 43.1683 38.7757 41.9525 37.6673 41.2092L37.6664 41.209Z\" fill=\"rgb(var(--black))\" fill-opacity=\"0.1\"/>\n </svg>\n\n\n <transition name=\"scale5\" :css=\"!firstImageLoad\" appear>\n <div v-if=\"currentImage\" class=\"h-100 w-100
|
|
1
|
+
{"version":3,"file":"Image360.vue.js","sources":["../../../../../../../src/modules/products/components/elements/Image360.vue"],"sourcesContent":["<template>\n <div class=\"product-360-viewer\">\n <svg class=\"pos-absolute z-index-2 pos-b-0 pd-small\" width=\"73\" height=\"50\" viewBox=\"0 0 73 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M42.5934 17.2017C42.5934 20.8208 39.8428 23.7544 36.45 23.7544C33.0573 23.7544 30.3066 20.8208 30.3066 17.2017C30.3066 13.5826 33.0573 10.6484 36.45 10.6484C39.8428 10.6484 42.5934 13.5826 42.5934 17.2017Z\" fill=\"rgb(var(--black))\" fill-opacity=\"0.1\"/>\n <path d=\"M22.5953 29.4883H50.3053C53.7389 29.4883 56.5197 26.778 56.5197 23.4405V10.8396C56.5197 7.49996 53.739 4.79176 50.3053 4.79176H48.8712C48.2747 2.05313 45.7826 0 42.7962 0H30.1063C27.1179 0 24.6257 2.053 24.0313 4.78967H22.5971C19.1656 4.78967 16.3828 7.49788 16.3828 10.8375V23.4384C16.3807 26.778 19.1634 29.4882 22.595 29.4882L22.5953 29.4883ZM36.449 8.31471C41.4535 8.31471 45.5123 12.2648 45.5123 17.1352C45.5123 22.0062 41.4535 25.9582 36.449 25.9582C31.4445 25.9582 27.3856 22.0081 27.3856 17.1377C27.3856 12.2673 31.4445 8.31471 36.449 8.31471ZM20.9092 9.32597H24.0182C24.9472 9.32597 25.7019 10.0584 25.7019 10.9625C25.7019 11.8686 24.9493 12.6011 24.0182 12.6011H20.9092C19.9823 12.6011 19.2254 11.8707 19.2254 10.9625C19.2275 10.0604 19.9822 9.32597 20.9092 9.32597Z\" fill=\"rgb(var(--black))\" fill-opacity=\"0.1\"/>\n <path d=\"M58.8645 12.2878C58.8645 12.2878 77.1839 21.8549 65.5604 32.0445C63.6718 33.6967 55.2747 38.9138 42.5947 39.9368V45.0519C50.0424 44.2514 61.7635 41.887 68.4037 34.9253C82.5323 20.1097 58.8657 12.2871 58.8657 12.2871L58.8645 12.2878Z\" fill=\"rgb(var(--black))\" fill-opacity=\"0.1\"/>\n <path d=\"M37.6664 41.209L29.1818 35.5097C28.077 34.7658 27.1702 35.2358 27.1702 36.5516V39.5855C16.2598 38.0408 9.07761 33.565 7.35125 32.0517C-4.2894 21.858 14.0557 12.2871 14.0557 12.2871C14.0557 12.2871 -9.64257 20.1134 4.5039 34.9343C10.2723 40.9769 19.8619 43.5552 27.1712 44.656V44.952V48.5701C27.1712 49.8901 28.078 50.3554 29.1827 49.6141L37.6673 43.9127C38.7757 43.1683 38.7757 41.9525 37.6673 41.2092L37.6664 41.209Z\" fill=\"rgb(var(--black))\" fill-opacity=\"0.1\"/>\n </svg>\n\n\n <transition name=\"scale5\" :css=\"!firstImageLoad\" appear>\n <div v-if=\"currentImage\" class=\"h-100 w-100 ease\">\n <img loading=\"lazy\" v-if=\"currentImage\" :key=\"currentImage\" class=\"h-100 w-100 ease\" :src=\"(FILE_SERVER_URL || '') + currentImage.src\" alt=\"360 product view\" @mousedown=\"startRotation\" @mousemove=\"rotate\" @mouseup=\"stopRotation\" @mouseleave=\"stopRotation\" @touchstart=\"startRotation\" @touchmove=\"rotate\" @touchend=\"stopRotation\" @dragstart.prevent>\n\n </div>\n </transition>\n <!-- Display the loading progress percentage next to the loader component -->\n <transition name=\"scale5\">\n <Loader v-if=\"!currentImage\" :progress=\"loadingProgress\" class=\"center z-index-5\"/>\n </transition>\n </div>\n</template>\n\n<script setup>\nimport { ref, watch, onMounted, onUnmounted, computed } from 'vue';\nimport Loader from '@martyrs/src/components/Loader/Loader.vue'\n\nconst props = defineProps({\n imagePath: {\n type: String,\n required: true,\n },\n imageCount: {\n type: Number,\n default: 36,\n },\n autoRotateSpeed: {\n type: Number,\n default: 100,\n },\n});\n\nconst imageIndex = ref(0);\nconst isRotating = ref(false);\nconst startClientX = ref(0);\n\nconst loadedImages = ref(0);\nconst loaded = ref(true);\n\nconst loadImages = async () => {\n const images = [];\n\n for (let i = 1; i <= props.imageCount; i++) {\n const img = new Image();\n img.src = `${props.imagePath}/${i}.jpg`;\n\n try {\n await img.decode();\n // Increase the number of loaded images\n loadedImages.value++;\n } catch (error) {\n console.warn(`Failed to decode ${props.imagePath}/${i}.jpg:`, error);\n }\n\n images.push(img);\n }\n\n return images;\n};\n\n// Add a computed property to calculate the loading progress percentage\nconst loadingProgress = computed(() => {\n return Math.round((loadedImages.value / props.imageCount) * 100);\n});\n\nconst images = ref([]);\n\nconst currentImage = ref('');\nconst firstImageLoad = ref(null);\nwatch(imageIndex, (index) => {\n currentImage.value = images.value[index] || '';\n});\n\nfunction startRotation(event) {\n isRotating.value = true;\n startClientX.value = event.clientX || event.touches[0].clientX;\n}\n\nfunction rotate(event) {\n if (!isRotating.value) return;\n\n const currentClientX = event.clientX || event.touches[0].clientX;\n const diff = currentClientX - startClientX.value;\n\n if (Math.abs(diff) >= 5) {\n const direction = diff > 0 ? 1 : -1;\n imageIndex.value = (imageIndex.value + direction) % props.imageCount;\n if (imageIndex.value < 0) imageIndex.value = props.imageCount - 1;\n\n startClientX.value = currentClientX;\n }\n}\n\nfunction stopRotation() {\n isRotating.value = false;\n}\n\nlet autoRotateInterval = null;\n\nconst unloadImages = () => {\n images.value = [];\n};\n\n\n\nonMounted(async () => {\n images.value = await loadImages();\n currentImage.value = images.value[0] || ''; \n});\nonUnmounted(() => {\n clearInterval(autoRotateInterval);\n unloadImages();\n});\n</script>\n\n\n<style scoped>\n .expand-enter-active,\n.expand-leave-active {\n transition: max-height 0.5s ease-in-out;\n overflow: hidden;\n}\n.scale-enter-active,\n.scale-leave-active {\n transition: transform 0.5s ease-in-out;\n}\n.scale5-enter-from,\n.scale5-leave-to {\n transform: scale(1.2);\n opacity: 0;\n}\n.scale5-enter-to,\n.scale5-leave-from {\n transform: scale(1);\n opacity: 1;\n}\n\n.product-360-viewer {\n user-select: none;\n min-height: 16rem;\n}\n\n.product-360-viewer img {\n max-width: 100%;\n cursor: grab;\n\n object-fit: cover;\n transition: all 0.3s ease;\n}\n\n.product-360-viewer img:active {\n cursor: grabbing;\n}\n\n/*.product-360-viewer img:hover {\n transform: scale(1.1);\n}*/\n</style>"],"names":["images"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,QAAQ;AAed,UAAM,aAAa,IAAI,CAAC;AACxB,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,eAAe,IAAI,CAAC;AAE1B,UAAM,eAAe,IAAI,CAAC;AACX,QAAI,IAAI;AAEvB,UAAM,aAAa,YAAY;AAC7B,YAAMA,UAAS,CAAA;AAEf,eAAS,IAAI,GAAG,KAAK,MAAM,YAAY,KAAK;AAC1C,cAAM,MAAM,IAAI,MAAK;AACrB,YAAI,MAAM,GAAG,MAAM,SAAS,IAAI,CAAC;AAEjC,YAAI;AACF,gBAAM,IAAI,OAAM;AAEhB,uBAAa;AAAA,QACf,SAAS,OAAO;AACd,kBAAQ,KAAK,oBAAoB,MAAM,SAAS,IAAI,CAAC,SAAS,KAAK;AAAA,QACrE;AAEA,QAAAA,QAAO,KAAK,GAAG;AAAA,MACjB;AAEA,aAAOA;AAAA,IACT;AAGA,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,KAAK,MAAO,aAAa,QAAQ,MAAM,aAAc,GAAG;AAAA,IACjE,CAAC;AAED,UAAM,SAAS,IAAI,EAAE;AAErB,UAAM,eAAe,IAAI,EAAE;AAC3B,UAAM,iBAAiB,IAAI,IAAI;AAC/B,UAAM,YAAY,CAAC,UAAU;AAC3B,mBAAa,QAAQ,OAAO,MAAM,KAAK,KAAK;AAAA,IAC9C,CAAC;AAED,aAAS,cAAc,OAAO;AAC5B,iBAAW,QAAQ;AACnB,mBAAa,QAAQ,MAAM,WAAW,MAAM,QAAQ,CAAC,EAAE;AAAA,IACzD;AAEA,aAAS,OAAO,OAAO;AACrB,UAAI,CAAC,WAAW,MAAO;AAEvB,YAAM,iBAAiB,MAAM,WAAW,MAAM,QAAQ,CAAC,EAAE;AACzD,YAAM,OAAO,iBAAiB,aAAa;AAE3C,UAAI,KAAK,IAAI,IAAI,KAAK,GAAG;AACvB,cAAM,YAAY,OAAO,IAAI,IAAI;AACjC,mBAAW,SAAS,WAAW,QAAQ,aAAa,MAAM;AAC1D,YAAI,WAAW,QAAQ,EAAG,YAAW,QAAQ,MAAM,aAAa;AAEhE,qBAAa,QAAQ;AAAA,MACvB;AAAA,IACF;AAEA,aAAS,eAAe;AACtB,iBAAW,QAAQ;AAAA,IACrB;AAEA,QAAI,qBAAqB;AAEzB,UAAM,eAAe,MAAM;AACzB,aAAO,QAAQ,CAAA;AAAA,IACjB;AAIA,cAAU,YAAY;AACpB,aAAO,QAAQ,MAAM,WAAU;AAC/B,mBAAa,QAAQ,OAAO,MAAM,CAAC,KAAK;AAAA,IAC1C,CAAC;AACD,gBAAY,MAAM;AAChB,oBAAc,kBAAkB;AAChC,mBAAY;AAAA,IACd,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -23,8 +23,8 @@ const _sfc_main = {
|
|
|
23
23
|
createElementVNode("span", {
|
|
24
24
|
class: normalizeClass({
|
|
25
25
|
"h4": !__props.size,
|
|
26
|
-
"p-regular
|
|
27
|
-
"h3
|
|
26
|
+
"p-regular fw-semi": __props.size === "small",
|
|
27
|
+
"h3 fw-semi": __props.size === "big"
|
|
28
28
|
})
|
|
29
29
|
}, toDisplayString(unref(returnCurrency)() + variant.value.price), 3),
|
|
30
30
|
createElementVNode("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Price.vue.js","sources":["../../../../../../../src/modules/products/components/elements/Price.vue"],"sourcesContent":["<template>\n <div class=\"price-tag radius-small\">\n <span\n :class=\"{\n 'h4': !size,\n 'p-regular
|
|
1
|
+
{"version":3,"file":"Price.vue.js","sources":["../../../../../../../src/modules/products/components/elements/Price.vue"],"sourcesContent":["<template>\n <div class=\"price-tag radius-small\">\n <span\n :class=\"{\n 'h4': !size,\n 'p-regular fw-semi': size === 'small',\n 'h3 fw-semi': size === 'big'\n }\"\n >\n {{ returnCurrency() + variant.price }}\n </span>\n\n <span\n :class=\"{\n 'p-regular': !size,\n 'p-small': size === 'small',\n 'p-medium': size === 'big'\n }\"\n class=\"p-small mn-l-micro t-transp\"\n >\n {{ product?.listing === 'rent' ? 'per day' : 'for ' + variant.quantity + variant.unit }}\n </span>\n\n <p\n v-if=\"variant.sale\"\n class=\"pd-r-small t-transp p-regular line-through price\"\n >\n {{ returnCurrency() + ((variant.price / 100) * (100 + variant.sale)) }}\n </p>\n </div>\n</template>\n\n<script setup>\nimport { computed } from 'vue';\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\nconst { returnCurrency } = useGlobalMixins();\n\nconst props = defineProps({\n product: Object,\n variants: Array,\n size: String\n});\n\nconst variant = computed(() => {\n return props.product?.variants?.[0] || props.variants?.[0] || props.product;\n});\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAoCA,UAAM,EAAE,eAAc,IAAK,gBAAe;AAE1C,UAAM,QAAQ;AAMd,UAAM,UAAU,SAAS,MAAM;AAC7B,aAAO,MAAM,SAAS,WAAW,CAAC,KAAK,MAAM,WAAW,CAAC,KAAK,MAAM;AAAA,IACtE,CAAC;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mergeModels, useModel, createElementBlock, openBlock, createElementVNode, withDirectives, vModelText } from "vue";
|
|
2
2
|
const _hoisted_1 = { class: "flex flex-nowrap gap-thin" };
|
|
3
3
|
const _hoisted_2 = ["disabled"];
|
|
4
|
-
const _hoisted_3 = { class: "radius-small br-
|
|
4
|
+
const _hoisted_3 = { class: "radius-small br-1px br-light w-3r pd-small" };
|
|
5
5
|
const _hoisted_4 = ["max"];
|
|
6
6
|
const _hoisted_5 = ["disabled"];
|
|
7
7
|
const _sfc_main = {
|
|
@@ -40,7 +40,7 @@ const _sfc_main = {
|
|
|
40
40
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
41
41
|
createElementVNode("button", {
|
|
42
42
|
onClick: decrementQuantity,
|
|
43
|
-
class: "radius-small pd-small bg-light flex-center flex aspect-1x1 cursor-pointer hover
|
|
43
|
+
class: "radius-small pd-small bg-light flex-center flex aspect-1x1 cursor-pointer hover:scale-[1.05]",
|
|
44
44
|
disabled: modelValue.value <= 1
|
|
45
45
|
}, _cache[1] || (_cache[1] = [
|
|
46
46
|
createElementVNode("span", { class: "i-medium" }, "-", -1)
|
|
@@ -64,7 +64,7 @@ const _sfc_main = {
|
|
|
64
64
|
]),
|
|
65
65
|
createElementVNode("button", {
|
|
66
66
|
onClick: incrementQuantity,
|
|
67
|
-
class: "radius-small pd-small bg-light flex-center flex aspect-1x1 cursor-pointer hover
|
|
67
|
+
class: "radius-small pd-small bg-light flex-center flex aspect-1x1 cursor-pointer hover:scale-[1.05]",
|
|
68
68
|
disabled: modelValue.value >= __props.maxValue
|
|
69
69
|
}, _cache[2] || (_cache[2] = [
|
|
70
70
|
createElementVNode("span", { class: "i-medium" }, "+", -1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuantitySelector.vue.js","sources":["../../../../../../../src/modules/products/components/elements/QuantitySelector.vue"],"sourcesContent":["<!-- QuantitySelector.vue -->\n<template>\n <div class=\"flex flex-nowrap gap-thin\">\n <button \n @click=\"decrementQuantity\" \n class=\"radius-small pd-small bg-light flex-center flex aspect-1x1 cursor-pointer hover
|
|
1
|
+
{"version":3,"file":"QuantitySelector.vue.js","sources":["../../../../../../../src/modules/products/components/elements/QuantitySelector.vue"],"sourcesContent":["<!-- QuantitySelector.vue -->\n<template>\n <div class=\"flex flex-nowrap gap-thin\">\n <button \n @click=\"decrementQuantity\" \n class=\"radius-small pd-small bg-light flex-center flex aspect-1x1 cursor-pointer hover:scale-[1.05]\"\n :disabled=\"modelValue <= 1\"\n >\n <span class=\"i-medium\">-</span>\n </button>\n <div class=\"radius-small br-1px br-light w-3r pd-small\">\n <input\n type=\"number\"\n v-model.number=\"modelValue\"\n @input=\"validateInput\"\n class=\"w-100 h-1r t-center\"\n :min=\"1\"\n :max=\"maxValue\"\n />\n </div>\n <button \n @click=\"incrementQuantity\" \n class=\"radius-small pd-small bg-light flex-center flex aspect-1x1 cursor-pointer hover:scale-[1.05]\"\n :disabled=\"modelValue >= maxValue\"\n >\n <span class=\"i-medium\">+</span>\n </button>\n </div>\n</template>\n\n<script setup>\nconst props = defineProps({\n maxValue: {\n type: Number,\n default: Infinity\n }\n});\n\nconst modelValue = defineModel();\n\nfunction validateInput() {\n if (modelValue.value < 1) {\n modelValue.value = 1;\n } else if (modelValue.value > props.maxValue) {\n modelValue.value = props.maxValue;\n }\n}\n\nfunction incrementQuantity() {\n if (modelValue.value < props.maxValue) {\n modelValue.value++;\n }\n}\n\nfunction decrementQuantity() {\n if (modelValue.value > 1) {\n modelValue.value--;\n }\n}\n</script>"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;AA+BA,UAAM,QAAQ;AAOd,UAAM,aAAaA,8BAAY;AAE/B,aAAS,gBAAgB;AACvB,UAAI,WAAW,QAAQ,GAAG;AACxB,mBAAW,QAAQ;AAAA,MACrB,WAAW,WAAW,QAAQ,MAAM,UAAU;AAC5C,mBAAW,QAAQ,MAAM;AAAA,MAC3B;AAAA,IACF;AAEA,aAAS,oBAAoB;AAC3B,UAAI,WAAW,QAAQ,MAAM,UAAU;AACrC,mBAAW;AAAA,MACb;AAAA,IACF;AAEA,aAAS,oBAAoB;AAC3B,UAAI,WAAW,QAAQ,GAAG;AACxB,mBAAW;AAAA,MACb;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -4,7 +4,7 @@ import { useStore } from "../../../core/views/store/core.store.js";
|
|
|
4
4
|
import { state } from "../../../auth/views/store/auth.js";
|
|
5
5
|
import { state as state$1, actions } from "../../store/categories.js";
|
|
6
6
|
import { useGlobalMixins } from "../../../core/views/mixins/mixins.js";
|
|
7
|
-
/* empty css
|
|
7
|
+
/* empty css */
|
|
8
8
|
/* empty css */
|
|
9
9
|
import _sfc_main$2 from "../../../../components/Block/Block.vue.js";
|
|
10
10
|
import _sfc_main$3 from "../../../../components/Feed/Feed.vue.js";
|
|
@@ -132,7 +132,7 @@ const _sfc_main = {
|
|
|
132
132
|
_id: _ctx.$route.params._id
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
|
-
class: "uppercase
|
|
135
|
+
class: "uppercase fw-medium pd-small radius-medium bg-white nav-link"
|
|
136
136
|
}, {
|
|
137
137
|
default: withCtx(() => _cache[2] || (_cache[2] = [
|
|
138
138
|
createTextVNode(" Add New ")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Categories.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Categories.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin bg-white\">\n <Block v-if=\"!MOBILE_APP\" \n class=\"radius-medium mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex\"\n >\n <h2 class=\"mn-r-auto\">\n Categories\n </h2>\n\n <router-link\n v-if=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)\"\n :to=\"{\n name: route.meta.context === 'backoffice' ? 'BackofficeCategoryAdd' : 'Organization_CategoryAdd',\n params: {\n _id: $route.params._id\n }\n }\"\n class=\"uppercase
|
|
1
|
+
{"version":3,"file":"Categories.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Categories.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin bg-white\">\n <Block v-if=\"!MOBILE_APP\" \n class=\"radius-medium mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex\"\n >\n <h2 class=\"mn-r-auto\">\n Categories\n </h2>\n\n <router-link\n v-if=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)\"\n :to=\"{\n name: route.meta.context === 'backoffice' ? 'BackofficeCategoryAdd' : 'Organization_CategoryAdd',\n params: {\n _id: $route.params._id\n }\n }\"\n class=\"uppercase fw-medium pd-small radius-medium bg-white nav-link\"\n >\n Add New\n </router-link>\n </Block>\n\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Products Found',\n description: 'Currently, there are no products available.'\n }\n }\"\n :store=\"{\n read: (options) => categories.actions.read(options),\n state: categories.state\n }\"\n :options=\"{\n owner: route.params._id,\n tree: true,\n limit: 20\n }\"\n v-model:sort=\"sort\"\n v-model:items=\"categories.state.all\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <Tree\n v-if=\"items\"\n :items=\"categories.state.all\"\n :state=\"categories.state.all\"\n :parent-id=\"null\"\n :dragndrop=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)\"\n @update=\"updateCategoriesOrder\"\n v-slot=\"{ item }\"\n >\n <CardCategory \n :category=\"item\" \n :access=\"hasAccess(route.params._id, 'products', 'edit', auth.state.accesses, auth.state.access.roles)\"\n @delete=\"deleteCategory\" \n />\n </Tree>\n </Feed>\n </div>\n </div>\n</template>\n\n<script setup>\n import { onMounted, onUnmounted, computed, ref,reactive } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n import { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\n const route = useRoute();\n const router = useRouter();\n const store = useStore();\n const { hasAccess } = useGlobalMixins();\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Block from '@martyrs/src/components/Block/Block.vue';\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n import Tree from \"@martyrs/src/components/Tree/Tree.vue\";\n \n import CardCategory from '@martyrs/src/modules/products/components/blocks/CardCategory.vue';\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n let search = ref(null)\n\n let sort = reactive({\n param: 'order',\n order: 'asc',\n options: [{\n label: 'Order',\n value: 'order'\n },{\n label: 'Name',\n value: 'name'\n },{\n label: 'Date',\n value: 'createdAt'\n }]\n })\n\n store.core.state.navigation_bar.actions = [{\n component: IconPlus,\n props: {\n fill: \"rgb(var(--main))\"\n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => {\n const routeName = route.meta.context === 'backoffice' ? 'BackofficeCategoryAdd' : 'Organization_CategoryAdd';\n route.params._id ? router.push({ name: routeName, params: { _id: route.params._id} }) : router.push({ name: routeName });\n }\n }],\n\n onUnmounted(() => {\n store.core.state.navigation_bar.actions = [];\n });\n\n onMounted(async () => {\n \n });\n\n // Функция для сбора затронутых категорий при drag-n-drop\n function collectAffectedCategories(eventData) {\n const result = {\n movedCategory: null,\n affectedCategories: []\n };\n \n console.log('collectAffectedCategories - eventData:', eventData);\n \n // Проверяем, что это объект от Tree компонента с полной информацией\n if (eventData && eventData.movedItem) {\n // Если категория переместилась между уровнями\n if (eventData.movedItem._id) {\n result.movedCategory = {\n _id: eventData.movedItem._id,\n newParent: eventData.parentId // Используем parentId из события (null для корня)\n };\n }\n \n // Собираем все категории текущего уровня с их новым порядком\n const items = eventData.items || [];\n console.log('Level items:', items);\n \n items.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else if (eventData && eventData._id) {\n // Fallback для старого формата (простой объект категории)\n result.movedCategory = {\n _id: eventData._id,\n newParent: eventData.parent || null\n };\n \n // Пытаемся найти категории того же уровня\n const parentId = eventData.parent;\n const sameLevel = parentId \n ? categories.state.all.find(c => c._id === parentId)?.children || []\n : categories.state.all;\n \n sameLevel.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n } else {\n // Если нет данных о перемещении, собираем корневые категории\n console.log('No event data, collecting root level categories');\n categories.state.all.forEach((item, index) => {\n result.affectedCategories.push({\n _id: item._id,\n order: index\n });\n });\n }\n \n console.log('collectAffectedCategories - result:', result);\n \n return result;\n }\n\n // Функция для обновления порядка категорий\n async function updateCategoriesOrder(event) {\n console.log('updateCategoriesOrder called with event:', event);\n \n try {\n const data = collectAffectedCategories(event);\n \n // ОДИН КОНСОЛЬ ЛОГ НА ФРОНТЕНДЕ - ЧТО ОТПРАВЛЯЕМ\n console.log('📤 FRONTEND SENDING:', JSON.stringify(data, null, 2));\n await categories.actions.updateOrder(data);\n console.log('Categories order updated successfully');\n } catch (error) {\n console.error('Error updating categories order:', error);\n throw error;\n }\n }\n\n async function deleteCategory(category) {\n // Запрашиваем подтверждение у пользователя\n const isConfirmed = confirm(`Are you sure you want to delete the category \"${category.name}\"?`);\n \n // Если пользователь подтвердил удаление, продолжаем процесс\n if (isConfirmed) {\n await categories.actions.delete(category._id);\n }\n }\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconPlus","auth.state","categories.state","categories.actions"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import Select from "../../../../components/Select/Select.vue.js";
|
|
|
6
6
|
import UploadImage from "../../../../components/UploadImage/UploadImage.vue.js";
|
|
7
7
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
8
8
|
import FieldTags from "../../../../components/FieldTags/FieldTags.vue.js";
|
|
9
|
-
/* empty css
|
|
9
|
+
/* empty css */
|
|
10
10
|
/* empty css */
|
|
11
11
|
/* empty css */
|
|
12
12
|
/* empty css */
|
|
@@ -15,7 +15,7 @@ import _sfc_main$1 from "../../../icons/navigation/IconCheckmark.vue.js";
|
|
|
15
15
|
/* empty css */
|
|
16
16
|
/* empty css */
|
|
17
17
|
/* empty css */
|
|
18
|
-
/* empty css
|
|
18
|
+
/* empty css */
|
|
19
19
|
/* empty css */
|
|
20
20
|
import _sfc_main$2 from "../../../../components/Block/Block.vue.js";
|
|
21
21
|
import { useStore } from "../../../core/views/store/core.store.js";
|
|
@@ -125,7 +125,7 @@ const _sfc_main = {
|
|
|
125
125
|
createElementVNode("h1", _hoisted_2, toDisplayString(unref(route).params.category ? "Edit Category" : "Add Category"), 1),
|
|
126
126
|
createVNode(_sfc_main$3, {
|
|
127
127
|
submit: onSubmit,
|
|
128
|
-
class: "pd-small radius-medium bg-main t-black uppercase
|
|
128
|
+
class: "pd-small radius-medium bg-main t-black uppercase fw-medium"
|
|
129
129
|
}, {
|
|
130
130
|
default: withCtx(() => _cache[6] || (_cache[6] = [
|
|
131
131
|
createTextVNode(" Save Category ")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryEdit.vue.js","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase t-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative mn-b-thin w-100 bg-white radius-small pd-medium\"\n />\n\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 mn-b-thin bg-white radius-small pd-medium\"\n /> \n\n <div class=\"w-100 mn-b-thin bg-white radius-small pd-medium cols-1\">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n :text=\"{\n title: 'Upload category image',\n subtitle: 'Supported: JPG, PNG, GIF. Max size: 5MB',\n buttonText: 'Select Image'\n }\"\n class=\"pos-relative\" \n />\n </div>\n\n\n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n \n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n \n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin t-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model=\"item.options\"\n :placeholder=\"'Add filter options'\"\n :separators=\"[',', ';']\"\n :add-on-key=\"[13, ',', ';']\"\n :max-tags=\"20\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n const store = useStore()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category, owner: route.params._id})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n store.core.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\"\n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n store.core.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n const routeName = route.meta.context === 'organization'\n ? 'Organization_Categories'\n : 'BackofficeCategories'\n\n router.push({\n name: routeName,\n params: {\n _id: route.params._id\n }\n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["categories.actions","categories.state","IconCheckmark","auth.state"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CategoryEdit.vue.js","sources":["../../../../../../../src/modules/products/components/pages/CategoryEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"!isLoading\" class=\"rows-auto pd-thin bg-white for-transition w-100\">\n <Block v-if=\"!MOBILE_APP\" class=\"radius-medium mn-b-thin flex-nowrap flex-v-center flex\">\n <h1 class=\"mn-r-auto\">\n {{route.params.category ? 'Edit Category' : 'Add Category'}}\n </h1>\n\n <Button \n :submit=\"onSubmit\"\n class=\"pd-small radius-medium bg-main t-black uppercase fw-medium\"\n >\n Save Category \n </Button>\n </Block>\n \n <Block \n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n\n <Select \n v-model:select=\"categories.state.current.status\"\n label=\"Status\"\n :options=\"[\n 'draft', \n 'internal',\n 'published',\n 'removed'\n ]\"\n placeholder=\"Select category\"\n class=\"pos-relative mn-b-thin w-100 bg-white radius-small pd-medium\"\n />\n\n <Field\n v-model:field=\"categories.state.current.name\"\n label=\"Name\"\n placeholder=\"Enter category name\"\n class=\"w-100 mn-b-thin bg-white radius-small pd-medium\"\n /> \n\n <div class=\"w-100 mn-b-thin bg-white radius-small pd-medium cols-1\">\n <UploadImage \n v-model:photo=\"categories.state.current.photo\"\n :uploadPath=\"'categories'\"\n :text=\"{\n title: 'Upload category image',\n subtitle: 'Supported: JPG, PNG, GIF. Max size: 5MB',\n buttonText: 'Select Image'\n }\"\n class=\"pos-relative\" \n />\n </div>\n\n\n <Field\n v-if=\"route.params.category\"\n v-model:field=\"categories.state.current.url\"\n label=\"URL Path\"\n :disabled=\"true\"\n class=\"w-100 bg-white radius-small pd-medium mn-b-thin\"\n />\n \n\n <div class=\"mn-b-thin w-100 flex-nowrap gap-thin flex\">\n <Field\n v-model:field=\"categories.state.current.order\"\n label=\"Order\"\n :disabled=\"true\"\n class=\"w-40 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"categories.state.current.slug\"\n label=\"Slug\"\n placeholder=\"Enter category slug\"\n :disabled=\"route.params.category ? true : false\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n </div>\n \n \n\n <!-- <div class=\"flex-v-center flex-nowrap flex\">\n <h4 class=\"mn-r-thin fw-medium\">Localization</h4>\n \n <button \n @click=\"() => categories.state.current.translations.push({locale: '', text: ''})\" \n class=\"i-small pd-thin button-delete button\"\n >\n +\n </button>\n </div> -->\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.translations\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.locale\"\n placeholder=\"Locale\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <Field\n v-model:field=\"item.text\"\n placeholder=\"Text\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.translations.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div>\n\n \n </Block>\n <!-- Filters -->\n <Block\n title=\"Filters\"\n placeholder=\"No filters added yet\"\n :actions=\"[{\n label: '+',\n function: () => categories.state.current.filters.push({name: '', options: []})\n }]\"\n >\n <div \n class=\"gap-thin mn-b-thin flex-nowrap flex\" \n v-for=\"(item, index) in categories.state.current.filters\" \n :key=\"index\"\n > \n <Field\n v-model:field=\"item.name\"\n placeholder=\"Filter name\"\n class=\"w-100 bg-white radius-small pd-medium\"\n /> \n <FieldTags\n v-model=\"item.options\"\n :placeholder=\"'Add filter options'\"\n :separators=\"[',', ';']\"\n :add-on-key=\"[13, ',', ';']\"\n :max-tags=\"20\"\n class=\"w-100 bg-white radius-small pd-medium\"\n />\n <div\n @click=\"() => categories.state.current.filters.splice(index, 1)\" \n class=\"radius-small pd-small flex-center flex aspect-1x1 bg-red\"\n >\n <IconDelete \n class=\"i-medium\"\n />\n </div>\n </div> \n </Block>\n </div>\n \n</template>\n\n<script setup>\n // Import libs\n import { computed, onUnmounted, onMounted, ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n \n import IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n import Select from \"@martyrs/src/components/Select/Select.vue\";\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n import Field from \"@martyrs/src/components/Field/Field.vue\";\n import FieldTags from \"@martyrs/src/components/FieldTags/FieldTags.vue\";\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import IconCheckmark from '@martyrs/src/modules/icons/navigation/IconCheckmark.vue'\n\n // Import the new store structure\n import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n import * as categories from '@martyrs/src/modules/products/store/categories.js';\n\n const route = useRoute()\n const router = useRouter()\n const store = useStore()\n\n const emits = defineEmits(['page-loading', 'page-loaded']);\n\n // Data prefetching\n const isLoading = ref(true)\n onMounted(async () => {\n emits('page-loading');\n if (route.params.category) {\n await categories.actions.read({_id: route.params.category, owner: route.params._id})\n } else {\n categories.actions.clean() // Adjusted based on the new store's method to reset the category state\n }\n\n emits('page-loaded');\n isLoading.value = false\n })\n\n // Accessing state\n const category = computed(() => categories.state.current)\n const routePath = computed(() => route.name)\n\n // Navigation Bar\n store.core.state.navigation_bar.actions = [{\n component: IconCheckmark,\n props: {\n fill: \"rgb(var(--main))\"\n },\n condition: () => auth.state.user && auth.state.user._id,\n action: () => onSubmit()\n }],\n\n onUnmounted(() => {\n store.core.state.navigation_bar.actions = [];\n });\n\n\n\n // Functions\n async function onSubmit() {\n if (route.params.category) {\n\n categories.state.current.creator = {\n type: categories.state.current.creator.type,\n hidden: categories.state.current.creator.hidden,\n target: typeof categories.state.current.creator.target === 'object' \n ? categories.state.current.creator.target._id \n : categories.state.current.creator.target\n }\n\n categories.state.current.owner = {\n type: categories.state.current.owner.type,\n target: typeof categories.state.current.owner.target === 'object' \n ? categories.state.current.owner.target._id \n : categories.state.current.owner.target\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.update(categories.state.current)\n\n redirectTo()\n } else {\n\n categories.state.current.creator = {\n type: 'user',\n hidden: false,\n target: auth.state.user._id\n }\n\n categories.state.current.owner = {\n type: route.params._id ? 'organization' : 'platform',\n hidden: false,\n target: route.params._id ? route.params._id : null\n }\n \n // Очищаем filters от tiClasses перед отправкой\n if (categories.state.current.filters) {\n categories.state.current.filters = categories.state.current.filters.map(filter => ({\n ...filter,\n options: filter.options ? filter.options.map(opt => \n typeof opt === 'string' ? opt : opt.text\n ) : []\n }));\n }\n\n await categories.actions.create(categories.state.current)\n redirectTo()\n }\n }\n\n function redirectTo () {\n const routeName = route.meta.context === 'organization'\n ? 'Organization_Categories'\n : 'BackofficeCategories'\n\n router.push({\n name: routeName,\n params: {\n _id: route.params._id\n }\n })\n }\n</script>\n\n<style lang=\"scss\">\n.container {\n max-width: 100%;\n margin: auto;\n}\n\n.grid {\n \n}\n\n.square {\n aspect-ratio: 1 / 1;\n height: 100%;\n background: #ccc;\n}\n</style>\n"],"names":["categories.actions","categories.state","IconCheckmark","auth.state"],"mappings":"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"}
|