@ozdao/martyrs 0.2.570 → 0.2.572
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 +1248 -106
- 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 +1 -1
- 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.vue.js → Button.vue2.js} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
- 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/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.js.map +1 -0
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +4 -4
- 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.vue2.js +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +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.vue2.js → Select.vue.js} +4 -4
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
- package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue.js → SelectMulti.vue2.js} +2 -2
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.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/UploadImage/UploadImage.vue.js +3 -3
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +3 -3
- 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/EnterCode.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +9 -9
- 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/ProfileEditAccount.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +3 -3
- 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 +5 -5
- 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 +3 -3
- 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 +9 -9
- 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 +11 -11
- 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 +3 -3
- 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/Card.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +2 -2
- 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/BlockSearch.vue.js +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 +2 -2
- 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 +9 -9
- 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 +24 -24
- 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 +4 -4
- 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/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 +3 -3
- 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/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.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 +21 -21
- 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 +7 -7
- 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/List.vue.js +1 -1
- 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 +5 -5
- 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 +6 -6
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +3 -3
- 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 +4 -4
- 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 +11 -11
- 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 +9 -9
- 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/marketplace.client.js +3 -3
- package/dist/martyrs/src/modules/marketplace/marketplace.client.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 +5 -3
- 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 +4 -4
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +11 -11
- 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 +7 -7
- 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 +9 -9
- 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 +3 -3
- 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 +16 -16
- 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 +24 -24
- 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 +10 -10
- 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 +27 -27
- 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 +27 -27
- 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/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/PlayerControls.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +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 +4 -4
- 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 +5 -5
- 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 +6 -6
- 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 +18 -18
- 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 +3 -3
- 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 +6 -6
- 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 +4 -4
- 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 +4 -4
- 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/FormPayment.vue.js +1 -1
- 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/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +4 -4
- 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 +3 -3
- 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 +3 -3
- 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 +4 -4
- 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 +5 -5
- 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 +4 -4
- 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 +2 -2
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +4 -4
- 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 +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.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 +4 -4
- 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 +4 -4
- 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 +5 -5
- 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 +10 -10
- 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 +6 -6
- 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 +9 -9
- 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 +11 -11
- 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 +3 -3
- 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 +3 -3
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +7 -7
- 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/Gant/GanttToolbar.vue.js +2 -2
- 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 +8 -8
- 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 +3 -3
- 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 +4 -4
- 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 +4 -4
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +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 +5 -5
- 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 +8 -8
- 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 +6 -6
- 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 +6 -6
- 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 +25 -25
- 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 +82 -84
- 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 +3 -3
- 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/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue2.js.map +0 -1
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spots.vue.js","sources":["../../../../../../../src/modules/spots/components/layouts/Spots.vue"],"sourcesContent":["<template>\n\t<div class=\"w-100 h-100\">\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"h-100 w-100 flex-nowrap flex-column flex gap-thin\">\n\n\t\t\t\t<!-- Sorting section -->\n\t\t\t\t<div class=\"pos-absolute z-index-2 w-100\">\n\t \t<h2 class=\"bg-black-transp-25 t-white pd-small w-100 bg-blur-big mn-l-auto mn-r-auto t-center\">\n\t \t\t<span class=\"\">Weed in </span>\n\n\t \t\t<span @click=\"a => { store.core.state.isOpenLocationPopup = true }\" v-if=\"localPosition.city || localPosition.state || localPosition.country\" class=\"t-semi t-main\">\n \t\t\t\t<span v-if=\"localPosition.city\">{{localPosition.city}}, </span>\n \t\t\t\t<span v-if=\"localPosition.state\">{{localPosition.state}}, </span>\n \t\t\t\t<span v-if=\"localPosition.country\">{{localPosition.country}}</span>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { store.core.state.isOpenLocationPopup = true }\" class=\"t-semi t-main\">\n\t\t\t\t\t\t\t\tThe World\n\t \t\t</span>\n\t \t</h2>\n\t\t\t\t\t</div>\n\n\n\t\t\t\t<!-- <Filters/> -->\n\n\t\t\t\t<!-- Products section -->\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component \n\t\t\t\t\t\t\tref=\"page\" \n\t\t\t\t\t\t\t:key=\"route.path\" \n\t\t\t\t\t\t\t:localPosition=\"localPosition\" \n\t\t\t\t\t\t\t:is=\"Component\"\n\t\t\t\t\t\t\t:apiKey=\"GOOGLE_MAPS_API_KEY\" \n \t\t\t\t:locale=\"$i18n.locale\"\n\t\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, watchEffect, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n // Martyrs\n\timport Spoiler from \"@martyrs/src/components/Spoiler/Spoiler.vue\";\n \timport Checkbox from \"@martyrs/src/components/Checkbox/Checkbox.vue\";\n \timport Field from \"@martyrs/src/components/Field/Field.vue\";\n \t// Partials\n\timport Breadcrumbs from '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'\n \timport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\n\n\timport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n\nconst store = useStore();\n\timport * as categories from '@martyrs/src/modules/products/store/categories.js';\n\timport * as marketplace from '@martyrs/src/modules/marketplace/views/store/marketplace.js';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tonMounted(async () => {\n\t if (route.params) {\n\t // Загружаем новые значения из параметров маршрута в состояние\n\t let newState = {\n\t country: denormalizeUrlParam(route.params.country),\n\t state: denormalizeUrlParam(route.params.state),\n\t city: denormalizeUrlParam(route.params.city),\n\t };\n\n\t\t // Обновляем глобальное состояние\n\t\t localPosition.value = newState;\n\t\t}\n\n\t\tif (route.query) {\n\t\t const query = route.query;\n\t\t const newFilterValue = {\n\t\t categories: query.categories ? query.categories.split(',') : [],\n\t\t prices: query.prices ? query.prices.split(',') : [],\n\t\t delivery: query.delivery ? query.delivery.split(',') : [],\n\t\t // Продолжайте этот паттерн для остальных полей фильтра\n\t\t };\n\t\t marketplace.state.filter.selected = newFilterValue;\n\t\t}\n\n\n\t\t// Data fetching\n\t\tawait categories.actions.read()\n\t})\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.push({ query });\n\t}, { deep: true })\n\n\t\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase() // Преобразование всех символов в нижний регистр\n\t .replace(/ /g, '-') // Замена всех пробелов на дефисы\n\t .replace(/[^a-z0-9-]/g, ''); // Удаление всех символов, которые не являются буквами, цифрами или дефисами\n\t}\n\n\twatch(() => store.core.state.position, (newPosition) => {\n\t // get the current route\n\t const currentRoute = { ...router.currentRoute.value };\n\t \n\t // create new parameters based on globals state position\n\t let newParams = {\n\t country: normalizeUrlParam(newPosition.country),\n\t state: normalizeUrlParam(newPosition.state),\n\t city: normalizeUrlParam(newPosition.city),\n\t };\n\t \t\n\t // update route params\n\t currentRoute.params = newParams;\n\t \n\t // replace the current route\n\t router.replace(currentRoute);\n\t}, { deep: true });\n\t\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Home',\n \t\tstore: 'Marketplace',\n \t},\n \tcategoriesTitle: 'Category',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'By price',\n \t\tnewest: 'By newest',\n \t\tpopularity: 'By popularity'\n \t},\n \tfilters: {\n \t\ttitle: 'Filters',\n \t\tprice: {\n \t\t\ttitle: 'Price',\n \t\t\tfrom: 'From',\n \t\t\tto: 'To'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Reset Filters'\n \t}\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Главная',\n \t\tstore: 'Маркетплейс',\n \t},\n \tcategoriesTitle: 'Категория',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'По цене',\n \t\tnewest: 'По новизне',\n \t\tpopularity: 'По популярности'\n \t},\n \tfilters: {\n \t\ttitle: 'Фильтры',\n \t\tprice: {\n \t\t\ttitle: 'Цена',\n \t\t\tfrom: 'От',\n \t\t\tto: 'До'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Сбросить фильтры',\n \t}\n }\n }\n }\n\n \tcategories.state.all.forEach( category => {\n \tcategory.localization.forEach( localization => {\n \ttext.messages[localization.locale].categories.push(localization.text)\n \t})\n\t})\n\n \tconst { t } = useI18n(text)\n\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","categories.actions","categories.state"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Spots.vue.js","sources":["../../../../../../../src/modules/spots/components/layouts/Spots.vue"],"sourcesContent":["<template>\n\t<div class=\"w-100 h-100\">\n\t\t<!-- Catalog wrapper -->\n\t\t<div class=\"h-100 w-100 flex-nowrap flex-column flex gap-thin\">\n\n\t\t\t\t<!-- Sorting section -->\n\t\t\t\t<div class=\"pos-absolute z-index-2 w-100\">\n\t \t<h2 class=\"bg-black-transp-25 t-white pd-small w-100 bg-blur-big mn-l-auto mn-r-auto t-center\">\n\t \t\t<span class=\"\">Weed in </span>\n\n\t \t\t<span @click=\"a => { store.core.state.isOpenLocationPopup = true }\" v-if=\"localPosition.city || localPosition.state || localPosition.country\" class=\"fw-semi t-main\">\n \t\t\t\t<span v-if=\"localPosition.city\">{{localPosition.city}}, </span>\n \t\t\t\t<span v-if=\"localPosition.state\">{{localPosition.state}}, </span>\n \t\t\t\t<span v-if=\"localPosition.country\">{{localPosition.country}}</span>\n\t \t\t</span>\n\n\t \t\t<span v-else @click=\"a => { store.core.state.isOpenLocationPopup = true }\" class=\"fw-semi t-main\">\n\t\t\t\t\t\t\t\tThe World\n\t \t\t</span>\n\t \t</h2>\n\t\t\t\t\t</div>\n\n\n\t\t\t\t<!-- <Filters/> -->\n\n\t\t\t\t<!-- Products section -->\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component \n\t\t\t\t\t\t\tref=\"page\" \n\t\t\t\t\t\t\t:key=\"route.path\" \n\t\t\t\t\t\t\t:localPosition=\"localPosition\" \n\t\t\t\t\t\t\t:is=\"Component\"\n\t\t\t\t\t\t\t:apiKey=\"GOOGLE_MAPS_API_KEY\" \n \t\t\t\t:locale=\"$i18n.locale\"\n\t\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\t// Import libs\n\timport { computed, onMounted, watch, watchEffect, ref } from 'vue'\n\timport { useRoute, useRouter,onBeforeRouteLeave } from 'vue-router'\n\timport { useI18n } from 'vue-i18n'\n // Martyrs\n\timport Spoiler from \"@martyrs/src/components/Spoiler/Spoiler.vue\";\n \timport Checkbox from \"@martyrs/src/components/Checkbox/Checkbox.vue\";\n \timport Field from \"@martyrs/src/components/Field/Field.vue\";\n \t// Partials\n\timport Breadcrumbs from '@martyrs/src/components/Breadcrumbs/Breadcrumbs.vue'\n \timport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\n\n\timport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n\nconst store = useStore();\n\timport * as categories from '@martyrs/src/modules/products/store/categories.js';\n\timport * as marketplace from '@martyrs/src/modules/marketplace/views/store/marketplace.js';\n\n\t// Accessing router and store\n\tconst route = useRoute()\n\tconst router = useRouter()\n\n\tconst localPosition = ref({\n\t\tcity: null,\n\t\tstate: null,\n\t\tcountry: null\n\t});\n\n\n\tfunction denormalizeUrlParam(param) {\n\t return param\n\t .replace(/-/g, ' ') // Замена дефисов на пробелы\n\t .replace(/\\b\\w/g, l => l.toUpperCase()); // Преобразование первой буквы каждого слова в заглавную\n\t}\n\n\tonMounted(async () => {\n\t if (route.params) {\n\t // Загружаем новые значения из параметров маршрута в состояние\n\t let newState = {\n\t country: denormalizeUrlParam(route.params.country),\n\t state: denormalizeUrlParam(route.params.state),\n\t city: denormalizeUrlParam(route.params.city),\n\t };\n\n\t\t // Обновляем глобальное состояние\n\t\t localPosition.value = newState;\n\t\t}\n\n\t\tif (route.query) {\n\t\t const query = route.query;\n\t\t const newFilterValue = {\n\t\t categories: query.categories ? query.categories.split(',') : [],\n\t\t prices: query.prices ? query.prices.split(',') : [],\n\t\t delivery: query.delivery ? query.delivery.split(',') : [],\n\t\t // Продолжайте этот паттерн для остальных полей фильтра\n\t\t };\n\t\t marketplace.state.filter.selected = newFilterValue;\n\t\t}\n\n\n\t\t// Data fetching\n\t\tawait categories.actions.read()\n\t})\n\n\twatch(() => marketplace.state.filter.selected, (newFilterValue, oldFilterValue) => {\n\t // Переводим фильтр в формат query\n\t const query = { ...route.query };\n\n\t // Удаляем старые значения фильтра из query\n\t Object.keys(oldFilterValue).forEach(key => {\n\t if (query[key]) {\n\t delete query[key];\n\t }\n\t });\n\n\t // Добавляем новые значения фильтра в query\n\t const newQueryValues = Object.fromEntries(\n\t Object.entries(newFilterValue)\n\t .filter(([key, value]) => Array.isArray(value) && value.length > 0)\n\t .map(([key, value]) => [key, value.join(',')])\n\t );\n\t Object.assign(query, newQueryValues);\n\n\t // Обновляем маршрут с новым query\n\t router.push({ query });\n\t}, { deep: true })\n\n\t\n\tfunction normalizeUrlParam(param) {\n\t return param\n\t .toLowerCase() // Преобразование всех символов в нижний регистр\n\t .replace(/ /g, '-') // Замена всех пробелов на дефисы\n\t .replace(/[^a-z0-9-]/g, ''); // Удаление всех символов, которые не являются буквами, цифрами или дефисами\n\t}\n\n\twatch(() => store.core.state.position, (newPosition) => {\n\t // get the current route\n\t const currentRoute = { ...router.currentRoute.value };\n\t \n\t // create new parameters based on globals state position\n\t let newParams = {\n\t country: normalizeUrlParam(newPosition.country),\n\t state: normalizeUrlParam(newPosition.state),\n\t city: normalizeUrlParam(newPosition.city),\n\t };\n\t \t\n\t // update route params\n\t currentRoute.params = newParams;\n\t \n\t // replace the current route\n\t router.replace(currentRoute);\n\t}, { deep: true });\n\t\n const text = {\n locale: 'en',\n messages: {\n en: {\n\t \tmeta: {\n title: \"Marketplace – Shop Our Wide Selection of Quality Weed for Delivery\",\n description: \"Browse our marketplace of top-grade weed strains and choose from a variety of delivery options. Order now and have your favorite strains delivered straight to your door. Safe, fast, and reliable.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Home',\n \t\tstore: 'Marketplace',\n \t},\n \tcategoriesTitle: 'Category',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'By price',\n \t\tnewest: 'By newest',\n \t\tpopularity: 'By popularity'\n \t},\n \tfilters: {\n \t\ttitle: 'Filters',\n \t\tprice: {\n \t\t\ttitle: 'Price',\n \t\t\tfrom: 'From',\n \t\t\tto: 'To'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Reset Filters'\n \t}\n },\n ru: {\n\t meta: {\n title: \"Маркетплейс – Выбирайте из нашего ассортимента качественной травки для доставки\",\n description: \"Маркетплейс – Изучите наши продукты высокого качества и выбирайте из различных вариантов доставки. Закажите сейчас и получите свои любимые сорта на дом. Безопасно, быстро и надежно.\",\n },\n \tbreadcrumbs: {\n \t\thome: 'Главная',\n \t\tstore: 'Маркетплейс',\n \t},\n \tcategoriesTitle: 'Категория',\n \tcategories: [],\n \tsort: {\n \t\tprice: 'По цене',\n \t\tnewest: 'По новизне',\n \t\tpopularity: 'По популярности'\n \t},\n \tfilters: {\n \t\ttitle: 'Фильтры',\n \t\tprice: {\n \t\t\ttitle: 'Цена',\n \t\t\tfrom: 'От',\n \t\t\tto: 'До'\n \t\t},\n \t\tfilters: [],\n \t\treset: 'Сбросить фильтры',\n \t}\n }\n }\n }\n\n \tcategories.state.all.forEach( category => {\n \tcategory.localization.forEach( localization => {\n \ttext.messages[localization.locale].categories.push(localization.text)\n \t})\n\t})\n\n \tconst { t } = useI18n(text)\n\n</script>\n\n<style lang=\"scss\">\n\n\n</style>\n"],"names":["marketplace.state","categories.actions","categories.state"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, withCtx, createTextVNode } from "vue";
|
|
2
2
|
import { useRouter, useRoute } from "vue-router";
|
|
3
3
|
import { Loader } from "../../../../../../node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js";
|
|
4
|
-
import _sfc_main$1 from "../../../../components/Button/Button.
|
|
4
|
+
import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
|
|
5
5
|
import { actions, state as state$1 } from "../../../organizations/store/organizations.js";
|
|
6
6
|
import { useStore } from "../../../core/views/store/core.store.js";
|
|
7
7
|
import { state } from "../../../marketplace/views/store/marketplace.js";
|
|
@@ -9,7 +9,7 @@ import { state, actions } from "../../store/spots.js";
|
|
|
9
9
|
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
10
10
|
const _hoisted_1 = {
|
|
11
11
|
key: 0,
|
|
12
|
-
class: "radius-big o-hidden cols-
|
|
12
|
+
class: "radius-big o-hidden cols-[1fr_3fr] mobile:cols-1"
|
|
13
13
|
};
|
|
14
14
|
const _hoisted_2 = { class: "pd-medium w-100" };
|
|
15
15
|
const _hoisted_3 = ["innerHTML"];
|
|
@@ -72,7 +72,7 @@ const _sfc_main = {
|
|
|
72
72
|
class: "mn-b-small p-medium w-100",
|
|
73
73
|
innerHTML: spot.value.address
|
|
74
74
|
}, null, 8, _hoisted_4),
|
|
75
|
-
createVNode(_sfc_main$1, { class: "radius-small o-hidden br-1px br-
|
|
75
|
+
createVNode(_sfc_main$1, { class: "radius-small o-hidden br-1px br-grey-transp-25 mn-b-thin" }, {
|
|
76
76
|
header: withCtx(() => [
|
|
77
77
|
createElementVNode("div", _hoisted_5, [
|
|
78
78
|
_cache[4] || (_cache[4] = createElementVNode("h5", { class: "w-100" }, "Contacts ", -1)),
|
|
@@ -98,7 +98,7 @@ const _sfc_main = {
|
|
|
98
98
|
spot.value.members.length < 1 ? (openBlock(), createElementBlock("li", _hoisted_7, "В отделе еще нет участников")) : createCommentVNode("", true),
|
|
99
99
|
(openBlock(true), createElementBlock(Fragment, null, renderList(spot.value.members, (member, index) => {
|
|
100
100
|
return openBlock(), createBlock(_sfc_main$2, {
|
|
101
|
-
class: "br-b
|
|
101
|
+
class: "br-b-1px br-grey-transp-25",
|
|
102
102
|
key: index,
|
|
103
103
|
user: member.user,
|
|
104
104
|
position: member.position,
|
|
@@ -109,7 +109,7 @@ const _sfc_main = {
|
|
|
109
109
|
]),
|
|
110
110
|
_: 1
|
|
111
111
|
}),
|
|
112
|
-
createVNode(_sfc_main$1, { class: "radius-small o-hidden br-1px br-
|
|
112
|
+
createVNode(_sfc_main$1, { class: "radius-small o-hidden br-1px br-grey-transp-25 mn-b-thin" }, {
|
|
113
113
|
header: withCtx(() => [
|
|
114
114
|
createElementVNode("div", _hoisted_8, [
|
|
115
115
|
_cache[6] || (_cache[6] = createElementVNode("h5", { class: "w-100" }, "Working Hours ", -1)),
|
|
@@ -137,7 +137,7 @@ const _sfc_main = {
|
|
|
137
137
|
return openBlock(), createBlock(SpotSub, {
|
|
138
138
|
onClick: ($event) => unref(router).push({ name: getRouteName("Spot"), params: { _id: unref(route).params._id, spot: subspotsartment._id } }),
|
|
139
139
|
key: index,
|
|
140
|
-
class: "br-b
|
|
140
|
+
class: "br-b-1px br-grey-transp-25",
|
|
141
141
|
spot: subspotsartment
|
|
142
142
|
}, null, 8, ["onClick", "spot"]);
|
|
143
143
|
}), 128))
|
|
@@ -150,7 +150,7 @@ const _sfc_main = {
|
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
};
|
|
153
|
-
const Spot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
153
|
+
const Spot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5d5970b8"]]);
|
|
154
154
|
export {
|
|
155
155
|
Spot as default
|
|
156
156
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spot.vue.js","sources":["../../../../../../../src/modules/spots/components/pages/Spot.vue"],"sourcesContent":["<template>\n <div v-if=\"spot\" class=\"radius-big o-hidden cols-
|
|
1
|
+
{"version":3,"file":"Spot.vue.js","sources":["../../../../../../../src/modules/spots/components/pages/Spot.vue"],"sourcesContent":["<template>\n <div v-if=\"spot\" class=\"radius-big o-hidden cols-[1fr_3fr] mobile:cols-1\">\n <Map :location=\"{lat: spot.location?.coordinates?.[1] || 0, lng: spot.location?.coordinates?.[0] || 0}\" class=\"\"/>\n\n <div class=\"pd-medium w-100\">\n <svg @click=\"router.push({ name: getRouteName('Edit Spot'), params: { _id: route.params._id, spot: spot._id } })\" class=\"i-medium pos-absolute pos-r-0 pos-t-0 t-transp\" width=\"652\" height=\"652\" viewBox=\"0 0 652 652\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M515.693 9.52082C510.095 3.91669 502.49 0.765625 494.563 0.765625C486.635 0.765625 479.036 3.91669 473.432 9.52082L48.7255 434.307C44.8244 438.214 42.0848 443.125 40.8088 448.496L0.939444 615.069C-1.47202 625.168 1.528 635.788 8.86652 643.132C16.2103 650.47 26.8305 653.47 36.9292 651.059L203.516 611.261H203.511C208.88 609.985 213.792 607.246 217.699 603.35L642.485 178.496C648.089 172.892 651.241 165.293 651.241 157.366C651.241 149.439 648.089 141.835 642.485 136.235L515.693 9.52082ZM113.76 453.708L388.307 179.161L472.828 263.682L198.281 538.229L113.76 453.708ZM87.1041 511.5L140.416 564.812L70.3014 581.614L87.1041 511.5ZM515.091 221.793L430.195 136.897L494.184 72.9075L579.08 157.429L515.091 221.793Z\" fill=\"rgb(var(--black))\"/>\n </svg>\n\n <h3\n @click=\"router.push({ name: getRouteName('Spot'), params: { _id: route.params._id, spot: spot._id } })\"\n class=\"mn-b-small w-100\"\n v-html=\"spot.profile.name\"\n />\n\n <p\n @click=\"router.push({ name: getRouteName('Spot'), params: { _id: route.params._id, spot: spot._id } })\"\n class=\"mn-b-small p-medium w-100\"\n v-html=\"spot.address\"\n />\n\n \n \n <Spoiler \n class=\"\n radius-small \n o-hidden\n br-1px br-grey-transp-25 \n mn-b-thin\n \"\n >\n <template #header>\n <div class=\"pd-small flex-v-center flex-nowrap flex\">\n <h5 class=\"w-100\" >Contacts </h5>\n <p class=\"mn-r-small\">{{spot.members.length}} человек</p>\n <svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.4697 0.469727L13.5304 1.53039L7.00006 8.06072L0.469727 1.53039L1.53039 0.469727L7.00006 5.9394L12.4697 0.469727Z\" fill=\"#8A8A8A\"/>\n </svg>\n\n </div>\n </template>\n <template #content>\n <ul>\n <li v-if=\"spot.members.length < 1\">В отделе еще нет участников</li>\n <User\n class=\"br-b-1px br-grey-transp-25\"\n v-for=\"(member, index) in spot.members\"\n :key=\"index\"\n :user=\"member.user\"\n :position=\"member.position\"\n @click=\"router.push({ name: 'User Profile', params: { user: member.user._id } })\"\n />\n </ul>\n </template>\n </Spoiler>\n\n <Spoiler \n class=\"\n radius-small \n o-hidden\n br-1px br-grey-transp-25 \n mn-b-thin\n \"\n >\n <template #header>\n <div class=\"pd-small flex-v-center flex-nowrap flex\">\n <h5 class=\"w-100\" >Working Hours </h5>\n <p class=\"mn-r-small\">{{spot.subspots ? spot.subspots.length : 0}} отделов</p>\n <svg width=\"14\" height=\"9\" viewBox=\"0 0 14 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.4697 0.469727L13.5304 1.53039L7.00006 8.06072L0.469727 1.53039L1.53039 0.469727L7.00006 5.9394L12.4697 0.469727Z\" fill=\"#8A8A8A\"/>\n </svg>\n\n </div>\n </template>\n <template #content>\n <ul>\n <li v-if=\"spot.subspots.length < 1\">В отделе еще нет подотделов</li>\n <SpotSub v-for=\"(subspotsartment, index) in spot.subspots\" @click=\"router.push({ name: getRouteName('Spot'), params: { _id: route.params._id, spot: subspotsartment._id } })\" :key=\"index\" class=\"br-b-1px br-grey-transp-25\" :spot=\"subspotsartment\" />\n </ul>\n </template>\n </Spoiler>\n\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue';\nimport Map from '@martyrs/src/components/Map/Map.vue';\n\nimport SpotSub from '@martyrs/src/modules/spots/components/blocks/SpotSub.vue';\nimport User from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\n\nimport * as spots from '@martyrs/src/modules/spots/store/spots.js';\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\nconst getRouteName = (baseName) => `${route.meta?.context || ''}${baseName}`\n\nspots.state.spot = null;\n\nconst spot = computed(() => spots.state.spot);\n\nonMounted(async () => {\n emits('page-loading');\n\n if (route.params.spot) {\n await spots.actions.readOne(route.params.spot);\n }\n\n emits('page-loaded');\n});\n\nconst props = defineProps({\n spot: Object,\n organization: Object\n});\n</script>\n<style scoped>\n.subspotsartment {\n border: 1px solid rgba(0, 0, 0, 0.1);\n margin-top: 1rem;\n}\n</style>"],"names":["spots.state","spots.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGA,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,QAAQ;AAEd,UAAM,eAAe,CAAC,aAAa,GAAG,MAAM,MAAM,WAAW,EAAE,GAAG,QAAQ;AAE1EA,UAAY,OAAO;AAEnB,UAAM,OAAO,SAAS,MAAMA,MAAY,IAAI;AAE5C,cAAU,YAAY;AACpB,YAAM,cAAc;AAEpB,UAAI,MAAM,OAAO,MAAM;AACrB,cAAMC,QAAc,QAAQ,MAAM,OAAO,IAAI;AAAA,MAC/C;AAEA,YAAM,aAAa;AAAA,IACrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,12 +3,12 @@ import { useRouter, useRoute } from "vue-router";
|
|
|
3
3
|
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
4
4
|
import UploadImage from "../../../../components/UploadImage/UploadImage.vue.js";
|
|
5
5
|
/* empty css */
|
|
6
|
-
import Field from "../../../../components/Field/Field.
|
|
7
|
-
import Select from "../../../../components/Select/Select.
|
|
6
|
+
import Field from "../../../../components/Field/Field.vue.js";
|
|
7
|
+
import Select from "../../../../components/Select/Select.vue.js";
|
|
8
8
|
import _sfc_main$3 from "../../../../components/Checkbox/Checkbox.vue.js";
|
|
9
9
|
import _sfc_main$4 from "../../../../components/Address/Address.vue.js";
|
|
10
10
|
import _sfc_main$5 from "../../../../components/LocationMarker/LocationMarker.vue.js";
|
|
11
|
-
import _sfc_main$2 from "../../../../components/Button/Button.
|
|
11
|
+
import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
|
|
12
12
|
/* empty css */
|
|
13
13
|
import WorktimeEdit from "../sections/WorktimeEdit.vue.js";
|
|
14
14
|
import { actions, state } from "../../store/spots.js";
|
|
@@ -17,8 +17,8 @@ const _hoisted_1 = {
|
|
|
17
17
|
class: "for-transition w-100 cols-1 pd-thin gap-thin"
|
|
18
18
|
};
|
|
19
19
|
const _hoisted_2 = { class: "mn-r-auto" };
|
|
20
|
-
const _hoisted_3 = { class: "cols-2 gap-thin" };
|
|
21
|
-
const _hoisted_4 = { class: "gap-small mn-b-small cols-
|
|
20
|
+
const _hoisted_3 = { class: "cols-2 mobile:cols-1 gap-thin" };
|
|
21
|
+
const _hoisted_4 = { class: "gap-small mn-b-small cols-[fit-content(100%)_1fr] mobile:cols-1" };
|
|
22
22
|
const _hoisted_5 = { class: "w-100" };
|
|
23
23
|
const _sfc_main = {
|
|
24
24
|
__name: "SpotEdit",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpotEdit.vue.js","sources":["../../../../../../../src/modules/spots/components/pages/SpotEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"spots.state.spot\" class=\"for-transition w-100 cols-1 pd-thin gap-thin\">\n\n\n <Block class=\"flex-nowrap flex-v-center flex\">\n \n <h1 class=\"mn-r-auto\">\n {{ route.params.spot ? spots.state.spot.profile.name : 'Create Spot' }}\n </h1>\n\n <Button \n :submit=\"onSubmit\" \n :callback=\"redirectTo\"\n class=\"bg-main\"\n >\n Save Spot\n </Button>\n </Block>\n \n\n <div class=\"cols-2 gap-thin\"> \n <Block\n title=\"Profile\"\n class=\"mn-b-semi\"\n >\n <div class=\"gap-small mn-b-small cols-
|
|
1
|
+
{"version":3,"file":"SpotEdit.vue.js","sources":["../../../../../../../src/modules/spots/components/pages/SpotEdit.vue"],"sourcesContent":["<template>\n <div v-if=\"spots.state.spot\" class=\"for-transition w-100 cols-1 pd-thin gap-thin\">\n\n\n <Block class=\"flex-nowrap flex-v-center flex\">\n \n <h1 class=\"mn-r-auto\">\n {{ route.params.spot ? spots.state.spot.profile.name : 'Create Spot' }}\n </h1>\n\n <Button \n :submit=\"onSubmit\" \n :callback=\"redirectTo\"\n class=\"bg-main\"\n >\n Save Spot\n </Button>\n </Block>\n \n\n <div class=\"cols-2 mobile:cols-1 gap-thin\"> \n <Block\n title=\"Profile\"\n class=\"mn-b-semi\"\n >\n <div class=\"gap-small mn-b-small cols-[fit-content(100%)_1fr] mobile:cols-1\">\n <UploadImage \n v-model:photo=\"spots.state.spot.profile.photo\"\n :uploadPath=\"'organizations/' + spots.state.spot.name + '/avatars'\"\n class=\"aspect-1x1 w-8r o-hidden radius-extra\" \n />\n\n <div class=\"w-100\">\n <Field \n v-model:field=\"spots.state.spot.profile.name\" \n label=\"Name\" \n placeholder=\"Spot Name\" \n class=\"mn-b-small bg-white radius-small pd-medium\"\n :validation=\"organizationName\" \n />\n <Field \n v-model:field=\"spots.state.spot.profile.description\" \n label=\"Description\" \n placeholder=\"Spot description (max 120 symbols)\" \n class=\"bg-white radius-small pd-medium\"\n :validation=\"organizationName\" \n /> \n </div>\n </div>\n\n <Field \n v-model:field=\"spots.state.spot.minorder\" \n label=\"Min.order\" \n placeholder=\"Enter minimum order value\" \n class=\"bg-white radius-small mn-b-small pd-small\"\n :validation=\"organizationName\" \n /> \n\n <Select \n v-model:select=\"spots.state.spot.status\"\n label=\"Status\"\n :options=\"[\n 'unpublished', \n 'published',\n 'archivied'\n ]\"\n placeholder=\"Status\"\n class=\"pos-relative w-100 mn-b-small bg-white radius-small pd-medium\"\n />\n\n <p class=\"p-regular mn-b-small\">Please the available delivery options:</p>\n\n <Checkbox \n v-for=\"option in ['pickup','courier','post']\"\n :label=\"option\"\n name=\"Delivery\"\n :value=\"option\"\n class=\"w-100 mn-b-small bg-white radius-small pd-small\"\n :radio=\"spots.state.spot.delivery\"\n @update:radio=\"event => spots.state.spot.delivery = event\"\n />\n\n <p class=\"p-regular mn-b-small\">Please select the available payment methods:</p>\n \n <Checkbox \n v-for=\"option in ['cash','bank transfer','crypto']\"\n :label=\"option\"\n name=\"Payment\"\n :value=\"option\"\n class=\"w-100 mn-b-small bg-white radius-small pd-small\"\n :radio=\"spots.state.spot.payment\"\n @update:radio=\"event => spots.state.spot.payment = event\"\n />\n </Block>\n\n <Block\n title=\"Location\"\n class=\"pos-relative\"\n >\n <Address\n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"spots.state.spot.address\" \n :location=\"spots.state.spot.location\" \n :locale=\"$i18n.locale\" \n label=\"Address\" \n placeholder=\"Enter delivery address\" \n class=\"\n bg-white pd-small radius-tl-medium radius-tr-medium \n \"\n @update:location=\"newLocation => {\n spots.state.spot.location = newLocation;\n }\"\n @update:address=\"newAddress => {\n spots.state.spot.address = newAddress;\n }\"\n />\n <LocationMarker \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n\n :address=\"spots.state.spot.address\" \n :location=\"spots.state.spot.location\" \n :locale=\"$i18n.locale\"\n \n class=\"h-20r mn-b-small radius-bl-medium radius-br-medium o-hidden\"\n @update:location=\"newLocation => {\n spots.state.spot.location = newLocation;\n }\"\n @update:address=\"newAddress => {\n spots.state.spot.address = newAddress;\n }\"\n />\n <WorktimeEdit \n v-model:worktime=\"spots.state.spot.worktime\"\n class=\"mn-b-small\"\n />\n\n <p class=\"mn-b-small p-regular\">Options:</p>\n <Checkbox \n :label=\"'Hide address'\"\n name=\"address\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n :radio=\"spots.state.spot.position?.hide\"\n @update:radio=\"event => spots.state.spot.position.hide = event\"\n />\n\n </Block>\n\n </div>\n\n <Button :submit=\"onDelete\" :callback=\"redirectDash\" class=\"w-100 bg-light\">Delete Spot</Button>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from \"vue\";\nimport { useRoute, useRouter } from \"vue-router\";\n\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\n\nimport Tab from \"@martyrs/src/components/Tab/Tab.vue\";\nimport Field from \"@martyrs/src/components/Field/Field.vue\";\nimport Select from \"@martyrs/src/components/Select/Select.vue\";\nimport Checkbox from \"@martyrs/src/components/Checkbox/Checkbox.vue\";\nimport Address from \"@martyrs/src/components/Address/Address.vue\";\nimport LocationMarker from \"@martyrs/src/components/LocationMarker/LocationMarker.vue\";\nimport Button from \"@martyrs/src/components/Button/Button.vue\";\nimport Popup from \"@martyrs/src/components/Popup/Popup.vue\";\n\nimport WorktimeEdit from \"../sections/WorktimeEdit.vue\";\n\nimport * as spots from \"@martyrs/src/modules/spots/store/spots.js\";\n\nconst router = useRouter();\nconst route = useRoute();\nconst tabOrganization = ref(\"details\");\nconst showAddNew = ref(false);\n\nconst getRouteName = (baseName) => `${route.meta?.context || ''}${baseName}`\n\nonMounted(async () => {\n await fetchData();\n})\n\nasync function fetchData() {\n\n if (route.params.spot) await spots.actions.readOne(route.params.spot);\n\n const lng = spots.state.spot.location?.coordinates[0]\n const lat = spots.state.spot.location?.coordinates[1]\n\n spots.state.spot.location = {\n lat: lat || 1,\n lng: lng || 1\n }\n}\n\nasync function onSubmit() {\n\n spots.state.spot.location = {\n type: 'Point',\n coordinates: [spots.state.spot.location.lng, spots.state.spot.location.lat]\n }\n\n\n if (route.params.spot) {\n await spots.actions.update(\n route.params._id,\n spots.state.spot\n );\n }\n if (!route.params.spot) {\n await spots.actions.create(\n route.params._id,\n spots.state.spot\n );\n }\n}\n\nfunction redirectTo() {\n router.push({ name: getRouteName('Spots'), params: { _id: route.params._id } });\n}\n\nasync function onDelete() {\n await spots.actions.delete(\n route.params._id,\n spots.state.spot\n );\n}\n\nfunction redirectDash() {\n router.push({ name: getRouteName('Spots'), params: { _id: route.params._id } });\n}\n</script>\n\n<style scoped>\n</style>"],"names":["spots.actions","spots.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6KA,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AACE,QAAI,SAAS;AAClB,QAAI,KAAK;AAE5B,UAAM,eAAe,CAAC,aAAa,GAAG,MAAM,MAAM,WAAW,EAAE,GAAG,QAAQ;AAE1E,cAAU,YAAY;AACpB,YAAM,UAAS;AAAA,IACjB,CAAC;AAED,mBAAe,YAAY;AAEzB,UAAI,MAAM,OAAO,KAAM,OAAMA,QAAc,QAAQ,MAAM,OAAO,IAAI;AAEpE,YAAM,MAAMC,MAAY,KAAK,UAAU,YAAY,CAAC;AACpD,YAAM,MAAMA,MAAY,KAAK,UAAU,YAAY,CAAC;AAEpDA,YAAY,KAAK,WAAW;AAAA,QAC1B,KAAK,OAAO;AAAA,QACZ,KAAK,OAAO;AAAA,MAChB;AAAA,IACA;AAEA,mBAAe,WAAW;AAExBA,YAAY,KAAK,WAAW;AAAA,QAC1B,MAAM;AAAA,QACN,aAAa,CAACA,MAAY,KAAK,SAAS,KAAKA,MAAY,KAAK,SAAS,GAAG;AAAA,MAC9E;AAGE,UAAI,MAAM,OAAO,MAAM;AACrB,cAAMD,QAAc;AAAA,UAClB,MAAM,OAAO;AAAA,UACbC,MAAY;AAAA,QAClB;AAAA,MACE;AACA,UAAI,CAAC,MAAM,OAAO,MAAM;AACtB,cAAMD,QAAc;AAAA,UAClB,MAAM,OAAO;AAAA,UACbC,MAAY;AAAA,QAClB;AAAA,MACE;AAAA,IACF;AAEA,aAAS,aAAa;AACpB,aAAO,KAAK,EAAE,MAAM,aAAa,OAAO,GAAG,QAAQ,EAAE,KAAK,MAAM,OAAO,IAAG,EAAE,CAAE;AAAA,IAChF;AAEA,mBAAe,WAAW;AACxB,YAAMD,QAAc;AAAA,QAClB,MAAM,OAAO;AAAA,QACbC,MAAY;AAAA,MAChB;AAAA,IACA;AAEA,aAAS,eAAe;AACtB,aAAO,KAAK,EAAE,MAAM,aAAa,OAAO,GAAG,QAAQ,EAAE,KAAK,MAAM,OAAO,IAAG,EAAE,CAAE;AAAA,IAChF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -14,7 +14,7 @@ const _hoisted_2 = {
|
|
|
14
14
|
class: "pd-medium flex-v-center flex-nowrap flex"
|
|
15
15
|
};
|
|
16
16
|
const _hoisted_3 = { class: "w-100 rows-1 pd-thin pos-relative o-hidden" };
|
|
17
|
-
const _hoisted_4 = { class: "mn-b-thin w-100 o-y-scroll scroll-hide scroll-snap-
|
|
17
|
+
const _hoisted_4 = { class: "mn-b-thin w-100 o-y-scroll scroll-hide scroll-snap-x-mandatory scroll-pd-regular" };
|
|
18
18
|
const _hoisted_5 = { class: "gap-thin flex-nowrap flex" };
|
|
19
19
|
const _hoisted_6 = ["onClick"];
|
|
20
20
|
const _sfc_main = {
|
|
@@ -61,7 +61,7 @@ const _sfc_main = {
|
|
|
61
61
|
name: getRouteName("Create Spot"),
|
|
62
62
|
params: { _id: unref(route).params._id }
|
|
63
63
|
})),
|
|
64
|
-
class: "radius-
|
|
64
|
+
class: "radius-extra i-big hover:scale-[1.05] cursor-pointer t-white bg-second"
|
|
65
65
|
}, " + ")) : createCommentVNode("", true)
|
|
66
66
|
])) : createCommentVNode("", true),
|
|
67
67
|
createElementVNode("div", _hoisted_3, [
|
|
@@ -71,7 +71,7 @@ const _sfc_main = {
|
|
|
71
71
|
return openBlock(), createElementBlock("div", {
|
|
72
72
|
key: category._id,
|
|
73
73
|
onClick: ($event) => selectCategory(category),
|
|
74
|
-
class: "flex-child-default bg-light flex t-nowrap pd-medium radius-medium cursor-pointer hover
|
|
74
|
+
class: "flex-child-default bg-light flex t-nowrap pd-medium radius-medium cursor-pointer hover:bg-light ease"
|
|
75
75
|
}, toDisplayString(category.name), 9, _hoisted_6);
|
|
76
76
|
}), 128))
|
|
77
77
|
])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spots.vue.js","sources":["../../../../../../../src/modules/spots/components/pages/Spots.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"pd-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Spots</h2>\n <button\n v-if=\"hasAccess(route.params._id, 'spots', 'create', auth.state.accesses, auth.state.access.roles)\"\n @click=\"$router.push({\n name: getRouteName('Create Spot'),\n params: { _id: route.params._id }\n })\"\n class=\"radius-
|
|
1
|
+
{"version":3,"file":"Spots.vue.js","sources":["../../../../../../../src/modules/spots/components/pages/Spots.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative\">\n <header \n v-if=\"route.name !== 'Organization' && !MOBILE_APP\"\n class=\"pd-medium flex-v-center flex-nowrap flex\"\n >\n <h2 class=\"mn-r-medium\">Spots</h2>\n <button\n v-if=\"hasAccess(route.params._id, 'spots', 'create', auth.state.accesses, auth.state.access.roles)\"\n @click=\"$router.push({\n name: getRouteName('Create Spot'),\n params: { _id: route.params._id }\n })\"\n class=\"radius-extra i-big hover:scale-[1.05] cursor-pointer t-white bg-second\">\n +\n </button>\n </header>\n\n <div class=\"w-100 rows-1 pd-thin pos-relative o-hidden\">\n \n <div class=\"mn-b-thin w-100 o-y-scroll scroll-hide scroll-snap-x-mandatory scroll-pd-regular\">\n <div class=\"gap-thin flex-nowrap flex\">\n <div\n v-for=\"category in currentCategories\"\n :key=\"category._id\"\n @click=\"selectCategory(category)\"\n class=\"flex-child-default bg-light flex t-nowrap pd-medium radius-medium cursor-pointer hover:bg-light ease\"\n >\n {{ category.name }}\n </div>\n </div>\n </div>\n\n <Feed\n :search=\"true\"\n v-model:filter=\"spots.state.filter\"\n v-model:sort=\"spots.state.sort\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Spots Found',\n description: 'Currently, there are no spots available.'\n }\n }\"\n :store=\"{\n read: (options) => spots.actions.read(options),\n state: spots.state\n }\"\n :options=\"{\n limit: 12,\n organization: route.params._id || null,\n user: auth.state.user._id,\n search: route.query.search\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-1 pos-relative w-100 rows-1 gap-thin\"\n >\n <CardSpot\n v-for=\"(spot, index) in items\"\n :key=\"index\"\n :spot=\"spot\"\n :organization=\"organization\"\n :editAccess=\"hasAccess(route.params._id, 'spots', 'edit', auth.state.accesses, auth.state.access.roles)\"\n :showDeliveryOptions=\"true\"\n :showPaymentOptions=\"true\"\n class=\"radius-medium h-min-big bg-light\"\n @click=\"$router.push({\n name: getRouteName('Spot'),\n params: {\n _id: route.params._id,\n spot: spot._id\n }\n })\"\n />\n </Feed>\n\n </div>\n </div>\n</template>\n\n<script setup=\"props\">\n // Import libs\n import { ref, watch, onMounted, onUnmounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n // Import components\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n import CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue'\n\n import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue'\n\n // Accessing router and store\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\n import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';\n\nconst store = useStore();\n import * as spots from '@martyrs/src/modules/spots/store/spots.js';\n import * as organizations from '@martyrs/src/modules/organizations/store/organizations.js';\n import { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\n const route = useRoute()\n const router = useRouter()\n const { hasAccess } = useGlobalMixins()\n\n const getRouteName = (baseName) => `${route.meta?.context || ''}${baseName}`\n\n // Props\n const props = defineProps({\n organization: {\n type: Object,\n default: null\n }\n })\n\n // Categories for mobile view\n const currentCategories = ref([]);\n\n const selectCategory = (category) => {\n // Implementation for category selection\n console.log('Category selected:', category);\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: () => router.push({ name: getRouteName('Create Spot'), params: { _id: route.params._id } })\n }]\n\n onMounted(async () => {\n if (route.params._id) {\n await organizations.actions.read({ _id: route.params._id });\n }\n })\n\n onUnmounted(() => {\n store.core.state.navigation_bar.actions = [];\n });\n</script>\n\n<style lang=\"scss\">\n</style>\n"],"names":["IconPlus","auth.state","organizations.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGA,UAAM,QAAQ,SAAQ;AAKpB,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AACxB,UAAM,EAAE,UAAS,IAAK,gBAAe;AAErC,UAAM,eAAe,CAAC,aAAa,GAAG,MAAM,MAAM,WAAW,EAAE,GAAG,QAAQ;AAW1E,UAAM,oBAAoB,IAAI,EAAE;AAEhC,UAAM,iBAAiB,CAAC,aAAa;AAEnC,cAAQ,IAAI,sBAAsB,QAAQ;AAAA,IAC5C;AAEA,UAAM,KAAK,MAAM,eAAe,UAAU,CAAC;AAAA,MACzC,WAAWA;AAAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,MACZ;AAAA,MACI,WAAW,MAAMC,MAAW,QAAQA,MAAW,KAAK;AAAA,MACpD,QAAQ,MAAM,OAAO,KAAK,EAAE,MAAM,aAAa,aAAa,GAAG,QAAQ,EAAE,KAAK,MAAM,OAAO,IAAG,EAAE,CAAE;AAAA,IACtG,CAAG;AAED,cAAU,YAAY;AACpB,UAAI,MAAM,OAAO,KAAK;AACpB,cAAMC,QAAsB,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK;AAAA,MAC5D;AAAA,IACF,CAAC;AAED,gBAAY,MAAM;AAChB,YAAM,KAAK,MAAM,eAAe,UAAU,CAAA;AAAA,IAC5C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mergeModels, useModel, ref, computed, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, unref, withCtx, createTextVNode, Fragment, renderList, normalizeClass, createCommentVNode, createBlock } from "vue";
|
|
2
2
|
import { useI18n } from "vue-i18n";
|
|
3
|
-
import _sfc_main$1 from "../../../../components/Button/Button.
|
|
4
|
-
import Field from "../../../../components/Field/Field.
|
|
5
|
-
import Select from "../../../../components/Select/Select.
|
|
3
|
+
import _sfc_main$1 from "../../../../components/Button/Button.vue2.js";
|
|
4
|
+
import Field from "../../../../components/Field/Field.vue.js";
|
|
5
|
+
import Select from "../../../../components/Select/Select.vue.js";
|
|
6
6
|
import _sfc_main$3 from "../../../../components/Checkbox/Checkbox.vue.js";
|
|
7
7
|
import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
|
|
8
8
|
/* empty css */
|
|
@@ -17,7 +17,7 @@ const _hoisted_6 = {
|
|
|
17
17
|
class: "regular-schedule mn-b-small"
|
|
18
18
|
};
|
|
19
19
|
const _hoisted_7 = { class: "day-info flex-child-1" };
|
|
20
|
-
const _hoisted_8 = { class: "day-name
|
|
20
|
+
const _hoisted_8 = { class: "day-name fw-semi" };
|
|
21
21
|
const _hoisted_9 = {
|
|
22
22
|
key: 0,
|
|
23
23
|
class: "day-hours"
|
|
@@ -45,7 +45,7 @@ const _hoisted_18 = {
|
|
|
45
45
|
};
|
|
46
46
|
const _hoisted_19 = { class: "day-info flex-child-1" };
|
|
47
47
|
const _hoisted_20 = { class: "flex flex-nowrap flex-v-center" };
|
|
48
|
-
const _hoisted_21 = { class: "day-name
|
|
48
|
+
const _hoisted_21 = { class: "day-name fw-semi" };
|
|
49
49
|
const _hoisted_22 = {
|
|
50
50
|
key: 0,
|
|
51
51
|
class: "t-small t-transp mn-l-small"
|
|
@@ -76,7 +76,7 @@ const _hoisted_33 = {
|
|
|
76
76
|
key: 0,
|
|
77
77
|
class: "error-message mn-b-small pd-small radius-small bg-fourth-nano"
|
|
78
78
|
};
|
|
79
|
-
const _hoisted_34 = { class: "flex-child-1 time-inputs cols-2 gap-small" };
|
|
79
|
+
const _hoisted_34 = { class: "flex-child-1 time-inputs cols-2 mobile:cols-1 gap-small" };
|
|
80
80
|
const _hoisted_35 = { class: "button-group flex flex-nowrap gap-small mn-t-medium" };
|
|
81
81
|
const _hoisted_36 = { class: "schedule-editor" };
|
|
82
82
|
const _hoisted_37 = {
|
|
@@ -90,7 +90,7 @@ const _hoisted_41 = {
|
|
|
90
90
|
key: 0,
|
|
91
91
|
class: "error-message mn-b-small pd-small radius-small bg-fourth-nano"
|
|
92
92
|
};
|
|
93
|
-
const _hoisted_42 = { class: "flex-child-1 time-inputs cols-2 gap-small" };
|
|
93
|
+
const _hoisted_42 = { class: "flex-child-1 time-inputs cols-2 mobile:cols-1 gap-small" };
|
|
94
94
|
const _hoisted_43 = { class: "button-group flex flex-nowrap gap-small mn-t-medium" };
|
|
95
95
|
const _sfc_main = {
|
|
96
96
|
__name: "WorktimeEdit",
|
|
@@ -796,7 +796,7 @@ const _sfc_main = {
|
|
|
796
796
|
};
|
|
797
797
|
}
|
|
798
798
|
};
|
|
799
|
-
const WorktimeEdit = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
799
|
+
const WorktimeEdit = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-65db2272"]]);
|
|
800
800
|
export {
|
|
801
801
|
WorktimeEdit as default
|
|
802
802
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorktimeEdit.vue.js","sources":["../../../../../../../src/modules/spots/components/sections/WorktimeEdit.vue"],"sourcesContent":["<template>\n <div class=\"working-hours-editor w-100\">\n <div class=\"mn-b-small flex flex-nowrap flex-v-center\">\n <h4 class=\"mn-r-auto\">{{ t('workingHours.title') }}</h4>\n <Button \n class=\"bg-main\"\n :submit=\"addRegularDay\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addRegularDay') }}\n </Button>\n </div>\n\n <!-- Таблица для регулярных часов работы -->\n <div class=\"bg-white radius-small pd-small mn-b-medium\">\n <h5 class=\"mn-b-small\">{{ t('workingHours.regularSchedule') }}</h5>\n \n <div v-if=\"worktime.regular && worktime.regular.length > 0\" class=\"regular-schedule mn-b-small\">\n <div \n v-for=\"(day, index) in worktime.regular\" \n :key=\"`regular-${index}`\" \n class=\"schedule-item pd-small mn-b-small flex flex-v-center flex-nowrap\"\n :class=\"index % 2 === 0 ? 'bg-light' : ''\"\n >\n <div class=\"day-info flex-child-1\">\n <div class=\"day-name t-semi\">{{ getWeekdayName(day.dayOfWeek) }}</div>\n <div class=\"day-hours\" v-if=\"day.isOpen && day.periods && day.periods.length > 0\">\n <template v-for=\"(period, pIndex) in day.periods\" :key=\"`period-${pIndex}`\">\n <span class=\"period t-small t-transp\">\n {{ period.open }} - {{ period.close }}\n </span>\n <span v-if=\"pIndex < day.periods.length - 1\" class=\"t-small t-transp\">, </span>\n </template>\n </div>\n <div v-else class=\"day-hours t-small t-transp t-red\">\n {{ t('workingHours.closed') }}\n </div>\n </div>\n <div class=\"day-actions flex-nowrap flex gap-small\">\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"() => editRegularDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.edit') }}\n </Button>\n <Button \n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeRegularDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n </div>\n <div v-else class=\"empty-schedule bg-light pd-medium radius-small t-center mn-b-small\">\n {{ t('workingHours.noRegularSchedule') }}\n </div>\n </div>\n\n <!-- Таблица для особых дней -->\n <div class=\"bg-white radius-small pd-small mn-b-small\">\n <div class=\"mn-b-small flex flex-nowrap flex-v-center\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.specialDays') }}</h5>\n <Button \n class=\"bg-light mn-l-small\"\n :submit=\"addSpecialDay\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addSpecialDay') }}\n </Button>\n </div>\n <div v-if=\"worktime.special && worktime.special.length > 0\" class=\"special-schedule mn-b-small\">\n <div \n v-for=\"(day, index) in worktime.special\" \n :key=\"`special-${index}`\" \n class=\"schedule-item pd-small mn-b-small flex flex-v-center flex-nowrap\"\n :class=\"index % 2 === 0 ? 'bg-light' : ''\"\n >\n <div class=\"day-info flex-child-1\">\n <div class=\"flex flex-nowrap flex-v-center\">\n <div class=\"day-name t-semi\">{{ formatDate(day.date) }}</div>\n <div v-if=\"day.description\" class=\"t-small t-transp mn-l-small\">({{ day.description }})</div>\n </div>\n <div class=\"day-hours\" v-if=\"day.isOpen && day.periods && day.periods.length > 0\">\n <template v-for=\"(period, pIndex) in day.periods\" :key=\"`special-period-${pIndex}`\">\n <span class=\"period t-small t-transp\">\n {{ period.open }} - {{ period.close }}\n </span>\n <span v-if=\"pIndex < day.periods.length - 1\" class=\"t-small t-transp\">, </span>\n </template>\n </div>\n <div v-else class=\"day-hours t-small t-transp t-red\">\n {{ t('workingHours.closed') }}\n </div>\n </div>\n <div class=\"day-actions flex-nowrap flex gap-small\">\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"() => editSpecialDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.edit') }}\n </Button>\n <Button \n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeSpecialDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n </div>\n <div v-else class=\"empty-schedule bg-light pd-medium radius-small t-center\">\n {{ t('workingHours.noSpecialDays') }}\n </div>\n </div>\n\n <!-- Модальное окно для добавления/редактирования регулярного дня -->\n <Popup \n :isPopupOpen=\"showRegularDayModal\" \n @close-popup=\"showRegularDayModal = false\"\n :title=\"editingRegularIndex !== null ? t('workingHours.editRegularDay') : t('workingHours.addRegularDay')\"\n class=\"bg-white pd-semi w-m-33r radius-big\"\n >\n <div class=\"schedule-editor\">\n <Select \n v-model:select=\"currentRegularDay.dayOfWeek\"\n value=\"text\"\n :options=\"availableWeekdays\"\n property=\"value\"\n class=\"pos-relative w-100 mn-b-small bg-light radius-small pd-medium\"\n />\n\n <Checkbox \n :label=\"t('workingHours.isOpen')\"\n name=\"isOpenRegular\"\n :value=\"true\"\n :radio=\"currentRegularDay.isOpen\"\n @update:radio=\"val => currentRegularDay.isOpen = val\"\n class=\"w-100 mn-b-small bg-light radius-small pd-small\"\n />\n \n <div v-if=\"currentRegularDay.isOpen\">\n <div class=\"flex flex-nowrap flex-v-center mn-b-small\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.periods') }}</h5>\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"addPeriodToRegular\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addPeriod') }}\n </Button>\n </div>\n \n <div v-if=\"validationErrors.overlappingPeriods\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorOverlappingPeriods') }}\n </div>\n \n <div \n v-for=\"(period, pIndex) in currentRegularDay.periods\" \n :key=\"`edit-period-${pIndex}`\"\n class=\"period-row mn-b-small flex flex-nowrap gap-small\"\n >\n <div class=\"flex-child-1 time-inputs cols-2 gap-small\">\n <Field \n v-model:field=\"period.open\"\n :label=\"t('workingHours.opens')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n <Field \n v-model:field=\"period.close\"\n :label=\"t('workingHours.closes')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n </div>\n <Button \n v-if=\"currentRegularDay.periods.length > 1\"\n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeRegularPeriod(pIndex)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n \n <div class=\"button-group flex flex-nowrap gap-small mn-t-medium\">\n <Button \n class=\"w-100 bg-light\"\n :submit=\"() => showRegularDayModal = false\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.cancel') }}\n </Button>\n <Button \n class=\"w-100 bg-main\"\n :submit=\"saveRegularDay\"\n :showSucces=\"false\"\n :disabled=\"!isValidRegularDay\"\n >\n {{ t('workingHours.save') }}\n </Button>\n </div>\n </div>\n </Popup>\n\n <!-- Модальное окно для добавления/редактирования особого дня -->\n <Popup \n :isPopupOpen=\"showSpecialDayModal\" \n @close-popup=\"showSpecialDayModal = false\"\n :title=\"editingSpecialIndex !== null ? t('workingHours.editSpecialDay') : t('workingHours.addSpecialDay')\"\n class=\"bg-white pd-semi w-m-33r radius-big\"\n >\n <div class=\"schedule-editor\">\n <Field \n v-model:field=\"currentSpecialDay.dateInput\"\n :label=\"t('workingHours.date')\"\n type=\"date\"\n class=\"bg-light radius-small pd-medium mn-b-small\"\n @blur=\"validateSpecialDate\"\n />\n \n <div v-if=\"validationErrors.duplicateDate\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorDuplicateDate') }}\n </div>\n \n <Field \n v-model:field=\"currentSpecialDay.description\"\n :label=\"t('workingHours.description')\"\n :placeholder=\"t('workingHours.descriptionPlaceholder')\"\n class=\"bg-light radius-small pd-medium mn-b-small\"\n />\n\n <Checkbox \n :label=\"t('workingHours.isOpen')\"\n name=\"isOpenSpecial\"\n :value=\"true\"\n :radio=\"currentSpecialDay.isOpen\"\n @update:radio=\"val => currentSpecialDay.isOpen = val\"\n class=\"w-100 mn-b-small bg-white radius-small pd-small\"\n />\n \n <div v-if=\"currentSpecialDay.isOpen\">\n <div class=\"flex flex-nowrap flex-v-center mn-b-small\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.periods') }}</h5>\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"addPeriodToSpecial\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addPeriod') }}\n </Button>\n </div>\n \n <div v-if=\"validationErrors.overlappingPeriods\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorOverlappingPeriods') }}\n </div>\n \n <div \n v-for=\"(period, pIndex) in currentSpecialDay.periods\" \n :key=\"`edit-special-period-${pIndex}`\"\n class=\"period-row mn-b-small flex flex-nowrap gap-small\"\n >\n <div class=\"flex-child-1 time-inputs cols-2 gap-small\">\n <Field \n v-model:field=\"period.open\"\n :label=\"t('workingHours.opens')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n <Field \n v-model:field=\"period.close\"\n :label=\"t('workingHours.closes')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n </div>\n <Button \n v-if=\"currentSpecialDay.periods.length > 1\"\n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeSpecialPeriod(pIndex)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n \n <div class=\"button-group flex flex-nowrap gap-small mn-t-medium\">\n <Button \n class=\"w-100 bg-light\"\n :submit=\"() => showSpecialDayModal = false\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.cancel') }}\n </Button>\n <Button \n class=\"w-100 bg-main\"\n :submit=\"saveSpecialDay\"\n :showSucces=\"false\"\n :disabled=\"!isValidSpecialDay\"\n >\n {{ t('workingHours.save') }}\n </Button>\n </div>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Select from '@martyrs/src/components/Select/Select.vue';\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\n\nconst worktime = defineModel('worktime')\nconst emit = defineEmits(['update:worktime']);\n\n// i18n\nconst { t, locale } = useI18n({\n messages: {\n en: {\n workingHours: {\n title: 'Working Hours',\n regularSchedule: 'Regular Schedule',\n specialDays: 'Special Days',\n addRegularDay: 'Add Day',\n addSpecialDay: 'Add Day',\n editRegularDay: 'Edit Regular Day',\n editSpecialDay: 'Edit Special Day',\n save: 'Save',\n cancel: 'Cancel',\n edit: 'Edit',\n remove: 'Remove',\n weekday: 'Weekday',\n date: 'Date',\n isOpen: 'Open on this day',\n description: 'Description',\n descriptionPlaceholder: 'Holiday, Special event, etc.',\n periods: 'Operating Hours',\n addPeriod: 'Add Period',\n opens: 'Opens at',\n closes: 'Closes at',\n closed: 'Closed',\n noRegularSchedule: 'No regular schedule set. Add working days to define your regular hours.',\n noSpecialDays: 'No special days set. Add special days for holidays or events.',\n errorDuplicateDate: 'This date already exists in special days.',\n errorOverlappingPeriods: 'Time periods cannot overlap.',\n selectDate: 'Please select a date.',\n errorInvalidPeriod: 'Invalid time period. Closing time must be after opening time.'\n }\n },\n ru: {\n workingHours: {\n title: 'Часы работы',\n regularSchedule: 'Регулярное расписание',\n specialDays: 'Особые дни',\n addRegularDay: 'Добавить день',\n addSpecialDay: 'Добавить особый день',\n editRegularDay: 'Изменить рабочий день',\n editSpecialDay: 'Изменить особый день',\n save: 'Сохранить',\n cancel: 'Отмена',\n edit: 'Изменить',\n remove: 'Удалить',\n weekday: 'День недели',\n date: 'Дата',\n isOpen: 'Открыто в этот день',\n description: 'Описание',\n descriptionPlaceholder: 'Праздник, особое событие и т.д.',\n periods: 'Часы работы',\n addPeriod: 'Добавить период',\n opens: 'Открывается в',\n closes: 'Закрывается в',\n closed: 'Закрыто',\n noRegularSchedule: 'Регулярное расписание не установлено. Добавьте рабочие дни для определения регулярных часов.',\n noSpecialDays: 'Особые дни не установлены. Добавьте особые дни для праздников или событий.',\n errorDuplicateDate: 'Эта дата уже существует в особых днях.',\n errorOverlappingPeriods: 'Временные периоды не могут пересекаться.',\n selectDate: 'Пожалуйста, выберите дату.',\n errorInvalidPeriod: 'Недопустимый временной период. Время закрытия должно быть после времени открытия.'\n }\n }\n }\n});\n\n// Форматирование даты с использованием браузерных API\nconst formatDate = (date) => {\n if (!date) return '';\n const dateObj = new Date(date);\n return new Intl.DateTimeFormat(locale.value, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n }).format(dateObj);\n};\n\n// Получение названия дня недели по номеру\nconst getWeekdayName = (dayNumber) => {\n if (dayNumber === undefined || dayNumber === null) return '';\n \n // Создаем дату с известным начальным днем недели (1 января 2023 - воскресенье)\n const date = new Date(2023, 0, 1 + dayNumber);\n \n return new Intl.DateTimeFormat(locale.value, { weekday: 'long' }).format(date);\n};\n\n// Состояние для модальных окон\nconst showRegularDayModal = ref(false);\nconst showSpecialDayModal = ref(false);\n\n// Индексы для редактирования\nconst editingRegularIndex = ref(null);\nconst editingSpecialIndex = ref(null);\n\n// Валидация\nconst validationErrors = ref({\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n});\n\n// Текущие значения для редактирования\nconst currentRegularDay = ref({\n dayOfWeek: 1, // Понедельник по умолчанию\n isOpen: true,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n});\n\nconst currentSpecialDay = ref({\n dateInput: '', // Для ввода даты в формате YYYY-MM-DD\n date: null,\n description: '',\n isOpen: false,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n});\n\n// Список доступных дней недели (0-6)\nconst weekdays = [0, 1, 2, 3, 4, 5, 6];\n\n// Получаем доступные дни недели (исключая те, которые уже добавлены)\nconst availableWeekdays = computed(() => {\n const usedDays = new Set((worktime.value?.regular || []).map(d => d.dayOfWeek));\n \n // Фильтруем дни, которые еще не добавлены или это текущий редактируемый день\n return weekdays\n .filter(day => \n !usedDays.has(day) || \n (editingRegularIndex.value !== null && \n worktime.value?.regular[editingRegularIndex.value]?.dayOfWeek === day)\n )\n .map(day => ({\n text: getWeekdayName(day),\n value: day\n }));\n});\n\n// Проверка валидности текущего состояния\nconst isValidRegularDay = computed(() => {\n return !validationErrors.value.overlappingPeriods && !validationErrors.value.invalidPeriod;\n});\n\nconst isValidSpecialDay = computed(() => {\n return !validationErrors.value.duplicateDate && \n !validationErrors.value.overlappingPeriods && \n !validationErrors.value.invalidPeriod && \n !!currentSpecialDay.value.dateInput;\n});\n\n// Функции добавления дней\nconst addRegularDay = () => {\n editingRegularIndex.value = null;\n currentRegularDay.value = {\n dayOfWeek: availableWeekdays.value[0]?.value ?? 1,\n isOpen: true,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n };\n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showRegularDayModal.value = true;\n};\n\nconst addSpecialDay = () => {\n editingSpecialIndex.value = null;\n // Устанавливаем текущую дату по умолчанию\n const today = new Date();\n const todayFormatted = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`;\n \n currentSpecialDay.value = {\n dateInput: todayFormatted,\n date: today,\n description: '',\n isOpen: false,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n };\n \n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n \n showSpecialDayModal.value = true;\n \n // Сразу проверяем на дублирование даты\n validateSpecialDate();\n};\n\n// Валидация периодов (проверка на пересечение)\nconst validatePeriods = () => {\n const periods = showRegularDayModal.value ? \n currentRegularDay.value.periods : \n currentSpecialDay.value.periods;\n \n if (!periods || periods.length <= 1) {\n validationErrors.value.overlappingPeriods = false;\n validationErrors.value.invalidPeriod = false;\n return;\n }\n \n // Проверка на недопустимые периоды (конец раньше начала)\n validationErrors.value.invalidPeriod = periods.some(period => \n period.open >= period.close\n );\n \n if (validationErrors.value.invalidPeriod) {\n return;\n }\n \n // Сортируем периоды по времени начала\n const sortedPeriods = [...periods].sort((a, b) => a.open.localeCompare(b.open));\n \n // Проверяем пересечения\n for (let i = 0; i < sortedPeriods.length - 1; i++) {\n if (sortedPeriods[i].close > sortedPeriods[i + 1].open) {\n validationErrors.value.overlappingPeriods = true;\n return;\n }\n }\n \n validationErrors.value.overlappingPeriods = false;\n};\n\n// Валидация даты для особого дня (проверка на дублирование)\nconst validateSpecialDate = () => {\n if (!currentSpecialDay.value.dateInput) {\n validationErrors.value.duplicateDate = false;\n return;\n }\n \n const newDateObj = new Date(currentSpecialDay.value.dateInput);\n newDateObj.setHours(0, 0, 0, 0); // Нормализуем время\n \n const isDuplicate = worktime.value.special.some((specialDay, index) => {\n if (editingSpecialIndex.value === index) return false; // Пропускаем текущий редактируемый день\n \n const existingDate = new Date(specialDay.date);\n existingDate.setHours(0, 0, 0, 0); // Нормализуем время\n \n return existingDate.getTime() === newDateObj.getTime();\n });\n \n validationErrors.value.duplicateDate = isDuplicate;\n};\n\n// Методы для работы с регулярными днями\nconst editRegularDay = (index) => {\n editingRegularIndex.value = index;\n const day = JSON.parse(JSON.stringify(worktime.value.regular[index]));\n \n // Если нет периодов, добавляем пустой\n if (!day.periods || day.periods.length === 0) {\n day.periods = [{\n open: '09:00',\n close: '18:00'\n }];\n }\n \n currentRegularDay.value = day;\n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showRegularDayModal.value = true;\n \n // Валидируем периоды\n validatePeriods();\n};\n\nconst removeRegularDay = (index) => {\n const updatedWorktime = { ...worktime.value };\n updatedWorktime.regular.splice(index, 1);\n emit('update:worktime', updatedWorktime);\n};\n\nconst saveRegularDay = () => {\n // Проверяем валидность\n validatePeriods();\n if (!isValidRegularDay.value) {\n return;\n }\n \n // Копируем текущее значение модели\n const updatedWorktime = JSON.parse(JSON.stringify(worktime.value));\n \n // Убеждаемся, что regular существует\n if (!updatedWorktime.regular) {\n updatedWorktime.regular = [];\n }\n \n // Копируем текущий день\n const dayToSave = { ...currentRegularDay.value };\n \n // Если день закрыт, удаляем периоды\n if (!dayToSave.isOpen) {\n dayToSave.periods = [];\n }\n \n // Обновляем или добавляем\n if (editingRegularIndex.value !== null) {\n updatedWorktime.regular[editingRegularIndex.value] = dayToSave;\n } else {\n updatedWorktime.regular.push(dayToSave);\n }\n \n // Сортируем по дням недели\n updatedWorktime.regular.sort((a, b) => a.dayOfWeek - b.dayOfWeek);\n \n // Обновляем модель\n worktime.value = updatedWorktime\n emit('update:worktime', updatedWorktime);\n showRegularDayModal.value = false;\n};\n\nconst addPeriodToRegular = () => {\n currentRegularDay.value.periods.push({\n open: '09:00',\n close: '18:00'\n });\n validatePeriods();\n};\n\nconst removeRegularPeriod = (index) => {\n currentRegularDay.value.periods.splice(index, 1);\n validatePeriods();\n};\n\n// Методы для работы с особыми днями\nconst editSpecialDay = (index) => {\n editingSpecialIndex.value = index;\n const day = JSON.parse(JSON.stringify(worktime.value.special[index]));\n \n // Форматируем дату для поля ввода\n const date = new Date(day.date);\n const dateForInput = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;\n \n // Если нет периодов, добавляем пустой\n if (!day.periods || day.periods.length === 0) {\n day.periods = [{\n open: '09:00',\n close: '18:00'\n }];\n }\n \n currentSpecialDay.value = {\n ...day,\n dateInput: dateForInput\n };\n \n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showSpecialDayModal.value = true;\n \n // Валидируем периоды\n validatePeriods();\n};\n\nconst removeSpecialDay = (index) => {\n const updatedWorktime = { ...worktime.value };\n updatedWorktime.special.splice(index, 1);\n emit('update:worktime', updatedWorktime);\n};\n\nconst saveSpecialDay = () => {\n // Проверяем валидность\n validateSpecialDate();\n validatePeriods();\n \n if (!isValidSpecialDay.value) {\n if (!currentSpecialDay.value.dateInput) {\n alert(t('workingHours.selectDate'));\n }\n return;\n }\n \n // Копируем текущее значение модели\n const updatedWorktime = JSON.parse(JSON.stringify(worktime.value));\n \n // Убеждаемся, что special существует\n if (!updatedWorktime.special) {\n updatedWorktime.special = [];\n }\n \n // Преобразуем дату из input в объект Date\n const dateParts = currentSpecialDay.value.dateInput.split('-');\n const specialDate = new Date(\n parseInt(dateParts[0]), \n parseInt(dateParts[1]) - 1, \n parseInt(dateParts[2])\n );\n \n // Копируем текущий день и обновляем дату\n const dayToSave = { \n ...currentSpecialDay.value,\n date: specialDate\n };\n \n // Удаляем вспомогательное поле\n delete dayToSave.dateInput;\n \n // Если день закрыт, удаляем периоды\n if (!dayToSave.isOpen) {\n dayToSave.periods = [];\n }\n \n // Обновляем или добавляем\n if (editingSpecialIndex.value !== null) {\n updatedWorktime.special[editingSpecialIndex.value] = dayToSave;\n } else {\n updatedWorktime.special.push(dayToSave);\n }\n \n // Сортируем по датам\n updatedWorktime.special.sort((a, b) => new Date(a.date) - new Date(b.date));\n \n // Обновляем модель\n emit('update:worktime', updatedWorktime);\n showSpecialDayModal.value = false;\n};\n\nconst addPeriodToSpecial = () => {\n currentSpecialDay.value.periods.push({\n open: '09:00',\n close: '18:00'\n });\n validatePeriods();\n};\n\nconst removeSpecialPeriod = (index) => {\n currentSpecialDay.value.periods.splice(index, 1);\n validatePeriods();\n};\n\n// Инициализация значений при монтировании\nonMounted(() => {\n // Проверяем, что начальное значение модели имеет правильную структуру\n if (!worktime.value.regular || !worktime.value.special ) worktime.value = {\n regular: [],\n special: []\n }\n // emit('update:worktime', worktime.value);\n});\n</script>\n\n<style scoped>\n.working-hours-editor {\n border-radius: 8px;\n}\n\n.schedule-item {\n transition: all 0.3s ease;\n border-bottom: 1px solid rgba(var(--grey), 0.1);\n}\n\n.schedule-item:last-child {\n border-bottom: none;\n}\n\n.period {\n display: inline-block;\n}\n\n.empty-schedule {\n color: rgba(var(--dark), 0.6);\n}\n\n.period-row {\n align-items: center;\n}\n\n.error-message {\n color: white;\n}\n</style>"],"names":["_useModel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorktimeEdit.vue.js","sources":["../../../../../../../src/modules/spots/components/sections/WorktimeEdit.vue"],"sourcesContent":["<template>\n <div class=\"working-hours-editor w-100\">\n <div class=\"mn-b-small flex flex-nowrap flex-v-center\">\n <h4 class=\"mn-r-auto\">{{ t('workingHours.title') }}</h4>\n <Button \n class=\"bg-main\"\n :submit=\"addRegularDay\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addRegularDay') }}\n </Button>\n </div>\n\n <!-- Таблица для регулярных часов работы -->\n <div class=\"bg-white radius-small pd-small mn-b-medium\">\n <h5 class=\"mn-b-small\">{{ t('workingHours.regularSchedule') }}</h5>\n \n <div v-if=\"worktime.regular && worktime.regular.length > 0\" class=\"regular-schedule mn-b-small\">\n <div \n v-for=\"(day, index) in worktime.regular\" \n :key=\"`regular-${index}`\" \n class=\"schedule-item pd-small mn-b-small flex flex-v-center flex-nowrap\"\n :class=\"index % 2 === 0 ? 'bg-light' : ''\"\n >\n <div class=\"day-info flex-child-1\">\n <div class=\"day-name fw-semi\">{{ getWeekdayName(day.dayOfWeek) }}</div>\n <div class=\"day-hours\" v-if=\"day.isOpen && day.periods && day.periods.length > 0\">\n <template v-for=\"(period, pIndex) in day.periods\" :key=\"`period-${pIndex}`\">\n <span class=\"period t-small t-transp\">\n {{ period.open }} - {{ period.close }}\n </span>\n <span v-if=\"pIndex < day.periods.length - 1\" class=\"t-small t-transp\">, </span>\n </template>\n </div>\n <div v-else class=\"day-hours t-small t-transp t-red\">\n {{ t('workingHours.closed') }}\n </div>\n </div>\n <div class=\"day-actions flex-nowrap flex gap-small\">\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"() => editRegularDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.edit') }}\n </Button>\n <Button \n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeRegularDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n </div>\n <div v-else class=\"empty-schedule bg-light pd-medium radius-small t-center mn-b-small\">\n {{ t('workingHours.noRegularSchedule') }}\n </div>\n </div>\n\n <!-- Таблица для особых дней -->\n <div class=\"bg-white radius-small pd-small mn-b-small\">\n <div class=\"mn-b-small flex flex-nowrap flex-v-center\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.specialDays') }}</h5>\n <Button \n class=\"bg-light mn-l-small\"\n :submit=\"addSpecialDay\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addSpecialDay') }}\n </Button>\n </div>\n <div v-if=\"worktime.special && worktime.special.length > 0\" class=\"special-schedule mn-b-small\">\n <div \n v-for=\"(day, index) in worktime.special\" \n :key=\"`special-${index}`\" \n class=\"schedule-item pd-small mn-b-small flex flex-v-center flex-nowrap\"\n :class=\"index % 2 === 0 ? 'bg-light' : ''\"\n >\n <div class=\"day-info flex-child-1\">\n <div class=\"flex flex-nowrap flex-v-center\">\n <div class=\"day-name fw-semi\">{{ formatDate(day.date) }}</div>\n <div v-if=\"day.description\" class=\"t-small t-transp mn-l-small\">({{ day.description }})</div>\n </div>\n <div class=\"day-hours\" v-if=\"day.isOpen && day.periods && day.periods.length > 0\">\n <template v-for=\"(period, pIndex) in day.periods\" :key=\"`special-period-${pIndex}`\">\n <span class=\"period t-small t-transp\">\n {{ period.open }} - {{ period.close }}\n </span>\n <span v-if=\"pIndex < day.periods.length - 1\" class=\"t-small t-transp\">, </span>\n </template>\n </div>\n <div v-else class=\"day-hours t-small t-transp t-red\">\n {{ t('workingHours.closed') }}\n </div>\n </div>\n <div class=\"day-actions flex-nowrap flex gap-small\">\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"() => editSpecialDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.edit') }}\n </Button>\n <Button \n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeSpecialDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n </div>\n <div v-else class=\"empty-schedule bg-light pd-medium radius-small t-center\">\n {{ t('workingHours.noSpecialDays') }}\n </div>\n </div>\n\n <!-- Модальное окно для добавления/редактирования регулярного дня -->\n <Popup \n :isPopupOpen=\"showRegularDayModal\" \n @close-popup=\"showRegularDayModal = false\"\n :title=\"editingRegularIndex !== null ? t('workingHours.editRegularDay') : t('workingHours.addRegularDay')\"\n class=\"bg-white pd-semi w-m-33r radius-big\"\n >\n <div class=\"schedule-editor\">\n <Select \n v-model:select=\"currentRegularDay.dayOfWeek\"\n value=\"text\"\n :options=\"availableWeekdays\"\n property=\"value\"\n class=\"pos-relative w-100 mn-b-small bg-light radius-small pd-medium\"\n />\n\n <Checkbox \n :label=\"t('workingHours.isOpen')\"\n name=\"isOpenRegular\"\n :value=\"true\"\n :radio=\"currentRegularDay.isOpen\"\n @update:radio=\"val => currentRegularDay.isOpen = val\"\n class=\"w-100 mn-b-small bg-light radius-small pd-small\"\n />\n \n <div v-if=\"currentRegularDay.isOpen\">\n <div class=\"flex flex-nowrap flex-v-center mn-b-small\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.periods') }}</h5>\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"addPeriodToRegular\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addPeriod') }}\n </Button>\n </div>\n \n <div v-if=\"validationErrors.overlappingPeriods\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorOverlappingPeriods') }}\n </div>\n \n <div \n v-for=\"(period, pIndex) in currentRegularDay.periods\" \n :key=\"`edit-period-${pIndex}`\"\n class=\"period-row mn-b-small flex flex-nowrap gap-small\"\n >\n <div class=\"flex-child-1 time-inputs cols-2 mobile:cols-1 gap-small\">\n <Field \n v-model:field=\"period.open\"\n :label=\"t('workingHours.opens')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n <Field \n v-model:field=\"period.close\"\n :label=\"t('workingHours.closes')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n </div>\n <Button \n v-if=\"currentRegularDay.periods.length > 1\"\n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeRegularPeriod(pIndex)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n \n <div class=\"button-group flex flex-nowrap gap-small mn-t-medium\">\n <Button \n class=\"w-100 bg-light\"\n :submit=\"() => showRegularDayModal = false\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.cancel') }}\n </Button>\n <Button \n class=\"w-100 bg-main\"\n :submit=\"saveRegularDay\"\n :showSucces=\"false\"\n :disabled=\"!isValidRegularDay\"\n >\n {{ t('workingHours.save') }}\n </Button>\n </div>\n </div>\n </Popup>\n\n <!-- Модальное окно для добавления/редактирования особого дня -->\n <Popup \n :isPopupOpen=\"showSpecialDayModal\" \n @close-popup=\"showSpecialDayModal = false\"\n :title=\"editingSpecialIndex !== null ? t('workingHours.editSpecialDay') : t('workingHours.addSpecialDay')\"\n class=\"bg-white pd-semi w-m-33r radius-big\"\n >\n <div class=\"schedule-editor\">\n <Field \n v-model:field=\"currentSpecialDay.dateInput\"\n :label=\"t('workingHours.date')\"\n type=\"date\"\n class=\"bg-light radius-small pd-medium mn-b-small\"\n @blur=\"validateSpecialDate\"\n />\n \n <div v-if=\"validationErrors.duplicateDate\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorDuplicateDate') }}\n </div>\n \n <Field \n v-model:field=\"currentSpecialDay.description\"\n :label=\"t('workingHours.description')\"\n :placeholder=\"t('workingHours.descriptionPlaceholder')\"\n class=\"bg-light radius-small pd-medium mn-b-small\"\n />\n\n <Checkbox \n :label=\"t('workingHours.isOpen')\"\n name=\"isOpenSpecial\"\n :value=\"true\"\n :radio=\"currentSpecialDay.isOpen\"\n @update:radio=\"val => currentSpecialDay.isOpen = val\"\n class=\"w-100 mn-b-small bg-white radius-small pd-small\"\n />\n \n <div v-if=\"currentSpecialDay.isOpen\">\n <div class=\"flex flex-nowrap flex-v-center mn-b-small\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.periods') }}</h5>\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"addPeriodToSpecial\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addPeriod') }}\n </Button>\n </div>\n \n <div v-if=\"validationErrors.overlappingPeriods\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorOverlappingPeriods') }}\n </div>\n \n <div \n v-for=\"(period, pIndex) in currentSpecialDay.periods\" \n :key=\"`edit-special-period-${pIndex}`\"\n class=\"period-row mn-b-small flex flex-nowrap gap-small\"\n >\n <div class=\"flex-child-1 time-inputs cols-2 mobile:cols-1 gap-small\">\n <Field \n v-model:field=\"period.open\"\n :label=\"t('workingHours.opens')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n <Field \n v-model:field=\"period.close\"\n :label=\"t('workingHours.closes')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n </div>\n <Button \n v-if=\"currentSpecialDay.periods.length > 1\"\n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeSpecialPeriod(pIndex)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n \n <div class=\"button-group flex flex-nowrap gap-small mn-t-medium\">\n <Button \n class=\"w-100 bg-light\"\n :submit=\"() => showSpecialDayModal = false\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.cancel') }}\n </Button>\n <Button \n class=\"w-100 bg-main\"\n :submit=\"saveSpecialDay\"\n :showSucces=\"false\"\n :disabled=\"!isValidSpecialDay\"\n >\n {{ t('workingHours.save') }}\n </Button>\n </div>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Select from '@martyrs/src/components/Select/Select.vue';\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\n\nconst worktime = defineModel('worktime')\nconst emit = defineEmits(['update:worktime']);\n\n// i18n\nconst { t, locale } = useI18n({\n messages: {\n en: {\n workingHours: {\n title: 'Working Hours',\n regularSchedule: 'Regular Schedule',\n specialDays: 'Special Days',\n addRegularDay: 'Add Day',\n addSpecialDay: 'Add Day',\n editRegularDay: 'Edit Regular Day',\n editSpecialDay: 'Edit Special Day',\n save: 'Save',\n cancel: 'Cancel',\n edit: 'Edit',\n remove: 'Remove',\n weekday: 'Weekday',\n date: 'Date',\n isOpen: 'Open on this day',\n description: 'Description',\n descriptionPlaceholder: 'Holiday, Special event, etc.',\n periods: 'Operating Hours',\n addPeriod: 'Add Period',\n opens: 'Opens at',\n closes: 'Closes at',\n closed: 'Closed',\n noRegularSchedule: 'No regular schedule set. Add working days to define your regular hours.',\n noSpecialDays: 'No special days set. Add special days for holidays or events.',\n errorDuplicateDate: 'This date already exists in special days.',\n errorOverlappingPeriods: 'Time periods cannot overlap.',\n selectDate: 'Please select a date.',\n errorInvalidPeriod: 'Invalid time period. Closing time must be after opening time.'\n }\n },\n ru: {\n workingHours: {\n title: 'Часы работы',\n regularSchedule: 'Регулярное расписание',\n specialDays: 'Особые дни',\n addRegularDay: 'Добавить день',\n addSpecialDay: 'Добавить особый день',\n editRegularDay: 'Изменить рабочий день',\n editSpecialDay: 'Изменить особый день',\n save: 'Сохранить',\n cancel: 'Отмена',\n edit: 'Изменить',\n remove: 'Удалить',\n weekday: 'День недели',\n date: 'Дата',\n isOpen: 'Открыто в этот день',\n description: 'Описание',\n descriptionPlaceholder: 'Праздник, особое событие и т.д.',\n periods: 'Часы работы',\n addPeriod: 'Добавить период',\n opens: 'Открывается в',\n closes: 'Закрывается в',\n closed: 'Закрыто',\n noRegularSchedule: 'Регулярное расписание не установлено. Добавьте рабочие дни для определения регулярных часов.',\n noSpecialDays: 'Особые дни не установлены. Добавьте особые дни для праздников или событий.',\n errorDuplicateDate: 'Эта дата уже существует в особых днях.',\n errorOverlappingPeriods: 'Временные периоды не могут пересекаться.',\n selectDate: 'Пожалуйста, выберите дату.',\n errorInvalidPeriod: 'Недопустимый временной период. Время закрытия должно быть после времени открытия.'\n }\n }\n }\n});\n\n// Форматирование даты с использованием браузерных API\nconst formatDate = (date) => {\n if (!date) return '';\n const dateObj = new Date(date);\n return new Intl.DateTimeFormat(locale.value, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n }).format(dateObj);\n};\n\n// Получение названия дня недели по номеру\nconst getWeekdayName = (dayNumber) => {\n if (dayNumber === undefined || dayNumber === null) return '';\n \n // Создаем дату с известным начальным днем недели (1 января 2023 - воскресенье)\n const date = new Date(2023, 0, 1 + dayNumber);\n \n return new Intl.DateTimeFormat(locale.value, { weekday: 'long' }).format(date);\n};\n\n// Состояние для модальных окон\nconst showRegularDayModal = ref(false);\nconst showSpecialDayModal = ref(false);\n\n// Индексы для редактирования\nconst editingRegularIndex = ref(null);\nconst editingSpecialIndex = ref(null);\n\n// Валидация\nconst validationErrors = ref({\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n});\n\n// Текущие значения для редактирования\nconst currentRegularDay = ref({\n dayOfWeek: 1, // Понедельник по умолчанию\n isOpen: true,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n});\n\nconst currentSpecialDay = ref({\n dateInput: '', // Для ввода даты в формате YYYY-MM-DD\n date: null,\n description: '',\n isOpen: false,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n});\n\n// Список доступных дней недели (0-6)\nconst weekdays = [0, 1, 2, 3, 4, 5, 6];\n\n// Получаем доступные дни недели (исключая те, которые уже добавлены)\nconst availableWeekdays = computed(() => {\n const usedDays = new Set((worktime.value?.regular || []).map(d => d.dayOfWeek));\n \n // Фильтруем дни, которые еще не добавлены или это текущий редактируемый день\n return weekdays\n .filter(day => \n !usedDays.has(day) || \n (editingRegularIndex.value !== null && \n worktime.value?.regular[editingRegularIndex.value]?.dayOfWeek === day)\n )\n .map(day => ({\n text: getWeekdayName(day),\n value: day\n }));\n});\n\n// Проверка валидности текущего состояния\nconst isValidRegularDay = computed(() => {\n return !validationErrors.value.overlappingPeriods && !validationErrors.value.invalidPeriod;\n});\n\nconst isValidSpecialDay = computed(() => {\n return !validationErrors.value.duplicateDate && \n !validationErrors.value.overlappingPeriods && \n !validationErrors.value.invalidPeriod && \n !!currentSpecialDay.value.dateInput;\n});\n\n// Функции добавления дней\nconst addRegularDay = () => {\n editingRegularIndex.value = null;\n currentRegularDay.value = {\n dayOfWeek: availableWeekdays.value[0]?.value ?? 1,\n isOpen: true,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n };\n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showRegularDayModal.value = true;\n};\n\nconst addSpecialDay = () => {\n editingSpecialIndex.value = null;\n // Устанавливаем текущую дату по умолчанию\n const today = new Date();\n const todayFormatted = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`;\n \n currentSpecialDay.value = {\n dateInput: todayFormatted,\n date: today,\n description: '',\n isOpen: false,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n };\n \n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n \n showSpecialDayModal.value = true;\n \n // Сразу проверяем на дублирование даты\n validateSpecialDate();\n};\n\n// Валидация периодов (проверка на пересечение)\nconst validatePeriods = () => {\n const periods = showRegularDayModal.value ? \n currentRegularDay.value.periods : \n currentSpecialDay.value.periods;\n \n if (!periods || periods.length <= 1) {\n validationErrors.value.overlappingPeriods = false;\n validationErrors.value.invalidPeriod = false;\n return;\n }\n \n // Проверка на недопустимые периоды (конец раньше начала)\n validationErrors.value.invalidPeriod = periods.some(period => \n period.open >= period.close\n );\n \n if (validationErrors.value.invalidPeriod) {\n return;\n }\n \n // Сортируем периоды по времени начала\n const sortedPeriods = [...periods].sort((a, b) => a.open.localeCompare(b.open));\n \n // Проверяем пересечения\n for (let i = 0; i < sortedPeriods.length - 1; i++) {\n if (sortedPeriods[i].close > sortedPeriods[i + 1].open) {\n validationErrors.value.overlappingPeriods = true;\n return;\n }\n }\n \n validationErrors.value.overlappingPeriods = false;\n};\n\n// Валидация даты для особого дня (проверка на дублирование)\nconst validateSpecialDate = () => {\n if (!currentSpecialDay.value.dateInput) {\n validationErrors.value.duplicateDate = false;\n return;\n }\n \n const newDateObj = new Date(currentSpecialDay.value.dateInput);\n newDateObj.setHours(0, 0, 0, 0); // Нормализуем время\n \n const isDuplicate = worktime.value.special.some((specialDay, index) => {\n if (editingSpecialIndex.value === index) return false; // Пропускаем текущий редактируемый день\n \n const existingDate = new Date(specialDay.date);\n existingDate.setHours(0, 0, 0, 0); // Нормализуем время\n \n return existingDate.getTime() === newDateObj.getTime();\n });\n \n validationErrors.value.duplicateDate = isDuplicate;\n};\n\n// Методы для работы с регулярными днями\nconst editRegularDay = (index) => {\n editingRegularIndex.value = index;\n const day = JSON.parse(JSON.stringify(worktime.value.regular[index]));\n \n // Если нет периодов, добавляем пустой\n if (!day.periods || day.periods.length === 0) {\n day.periods = [{\n open: '09:00',\n close: '18:00'\n }];\n }\n \n currentRegularDay.value = day;\n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showRegularDayModal.value = true;\n \n // Валидируем периоды\n validatePeriods();\n};\n\nconst removeRegularDay = (index) => {\n const updatedWorktime = { ...worktime.value };\n updatedWorktime.regular.splice(index, 1);\n emit('update:worktime', updatedWorktime);\n};\n\nconst saveRegularDay = () => {\n // Проверяем валидность\n validatePeriods();\n if (!isValidRegularDay.value) {\n return;\n }\n \n // Копируем текущее значение модели\n const updatedWorktime = JSON.parse(JSON.stringify(worktime.value));\n \n // Убеждаемся, что regular существует\n if (!updatedWorktime.regular) {\n updatedWorktime.regular = [];\n }\n \n // Копируем текущий день\n const dayToSave = { ...currentRegularDay.value };\n \n // Если день закрыт, удаляем периоды\n if (!dayToSave.isOpen) {\n dayToSave.periods = [];\n }\n \n // Обновляем или добавляем\n if (editingRegularIndex.value !== null) {\n updatedWorktime.regular[editingRegularIndex.value] = dayToSave;\n } else {\n updatedWorktime.regular.push(dayToSave);\n }\n \n // Сортируем по дням недели\n updatedWorktime.regular.sort((a, b) => a.dayOfWeek - b.dayOfWeek);\n \n // Обновляем модель\n worktime.value = updatedWorktime\n emit('update:worktime', updatedWorktime);\n showRegularDayModal.value = false;\n};\n\nconst addPeriodToRegular = () => {\n currentRegularDay.value.periods.push({\n open: '09:00',\n close: '18:00'\n });\n validatePeriods();\n};\n\nconst removeRegularPeriod = (index) => {\n currentRegularDay.value.periods.splice(index, 1);\n validatePeriods();\n};\n\n// Методы для работы с особыми днями\nconst editSpecialDay = (index) => {\n editingSpecialIndex.value = index;\n const day = JSON.parse(JSON.stringify(worktime.value.special[index]));\n \n // Форматируем дату для поля ввода\n const date = new Date(day.date);\n const dateForInput = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;\n \n // Если нет периодов, добавляем пустой\n if (!day.periods || day.periods.length === 0) {\n day.periods = [{\n open: '09:00',\n close: '18:00'\n }];\n }\n \n currentSpecialDay.value = {\n ...day,\n dateInput: dateForInput\n };\n \n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showSpecialDayModal.value = true;\n \n // Валидируем периоды\n validatePeriods();\n};\n\nconst removeSpecialDay = (index) => {\n const updatedWorktime = { ...worktime.value };\n updatedWorktime.special.splice(index, 1);\n emit('update:worktime', updatedWorktime);\n};\n\nconst saveSpecialDay = () => {\n // Проверяем валидность\n validateSpecialDate();\n validatePeriods();\n \n if (!isValidSpecialDay.value) {\n if (!currentSpecialDay.value.dateInput) {\n alert(t('workingHours.selectDate'));\n }\n return;\n }\n \n // Копируем текущее значение модели\n const updatedWorktime = JSON.parse(JSON.stringify(worktime.value));\n \n // Убеждаемся, что special существует\n if (!updatedWorktime.special) {\n updatedWorktime.special = [];\n }\n \n // Преобразуем дату из input в объект Date\n const dateParts = currentSpecialDay.value.dateInput.split('-');\n const specialDate = new Date(\n parseInt(dateParts[0]), \n parseInt(dateParts[1]) - 1, \n parseInt(dateParts[2])\n );\n \n // Копируем текущий день и обновляем дату\n const dayToSave = { \n ...currentSpecialDay.value,\n date: specialDate\n };\n \n // Удаляем вспомогательное поле\n delete dayToSave.dateInput;\n \n // Если день закрыт, удаляем периоды\n if (!dayToSave.isOpen) {\n dayToSave.periods = [];\n }\n \n // Обновляем или добавляем\n if (editingSpecialIndex.value !== null) {\n updatedWorktime.special[editingSpecialIndex.value] = dayToSave;\n } else {\n updatedWorktime.special.push(dayToSave);\n }\n \n // Сортируем по датам\n updatedWorktime.special.sort((a, b) => new Date(a.date) - new Date(b.date));\n \n // Обновляем модель\n emit('update:worktime', updatedWorktime);\n showSpecialDayModal.value = false;\n};\n\nconst addPeriodToSpecial = () => {\n currentSpecialDay.value.periods.push({\n open: '09:00',\n close: '18:00'\n });\n validatePeriods();\n};\n\nconst removeSpecialPeriod = (index) => {\n currentSpecialDay.value.periods.splice(index, 1);\n validatePeriods();\n};\n\n// Инициализация значений при монтировании\nonMounted(() => {\n // Проверяем, что начальное значение модели имеет правильную структуру\n if (!worktime.value.regular || !worktime.value.special ) worktime.value = {\n regular: [],\n special: []\n }\n // emit('update:worktime', worktime.value);\n});\n</script>\n\n<style scoped>\n.working-hours-editor {\n border-radius: 8px;\n}\n\n.schedule-item {\n transition: all 0.3s ease;\n border-bottom: 1px solid rgba(var(--grey), 0.1);\n}\n\n.schedule-item:last-child {\n border-bottom: none;\n}\n\n.period {\n display: inline-block;\n}\n\n.empty-schedule {\n color: rgba(var(--dark), 0.6);\n}\n\n.period-row {\n align-items: center;\n}\n\n.error-message {\n color: white;\n}\n</style>"],"names":["_useModel"],"mappings":"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"}
|
package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js
CHANGED
|
@@ -3,10 +3,10 @@ import { useI18n } from "vue-i18n";
|
|
|
3
3
|
import { BigNumber } from "../../../../../../node_modules/.pnpm/bignumber.js@9.1.2/node_modules/bignumber.js/bignumber.js";
|
|
4
4
|
import text from "../../localization/wallet.json.js";
|
|
5
5
|
import { state } from "../../store/wallet.store.js";
|
|
6
|
-
const _hoisted_1 = { class: "mn-b-small t-center
|
|
7
|
-
const _hoisted_2 = { class: "radius-medium br-1px br-black
|
|
8
|
-
const _hoisted_3 = { class: "
|
|
9
|
-
const _hoisted_4 = { class: "
|
|
6
|
+
const _hoisted_1 = { class: "mn-b-small t-center fw-bold" };
|
|
7
|
+
const _hoisted_2 = { class: "radius-medium br-1px br-black pd-big flex flex-column flex-justify-center flex-items-center" };
|
|
8
|
+
const _hoisted_3 = { class: "fw-semi" };
|
|
9
|
+
const _hoisted_4 = { class: "fw-semi" };
|
|
10
10
|
const _sfc_main = {
|
|
11
11
|
__name: "CardBalanceReplenished",
|
|
12
12
|
emits: ["close"],
|
|
@@ -30,7 +30,7 @@ const _sfc_main = {
|
|
|
30
30
|
createElementVNode("h3", _hoisted_4, toDisplayString(receiveAmount.value) + " WDT ", 1)
|
|
31
31
|
]),
|
|
32
32
|
createElementVNode("button", {
|
|
33
|
-
class: "uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-
|
|
33
|
+
class: "uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small",
|
|
34
34
|
onClick: close
|
|
35
35
|
}, toDisplayString(unref(t)("wallet.backToWallet")), 1)
|
|
36
36
|
], 64);
|