@ozdao/martyrs 0.2.571 → 0.2.574
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/dayjs.min.js +1 -1
- package/dist/_virtual/weekOfYear.js +1 -1
- package/dist/builder.js +1194 -45
- package/dist/loader.js +30 -0
- package/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +1173 -1191
- package/dist/martyrs/dist/{main-BFvlam0J.js → main-BfEQkhXS.js} +94 -112
- package/dist/martyrs/dist/main-BfEQkhXS.js.map +1 -0
- package/dist/martyrs/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +3 -3
- package/dist/martyrs/dist/{web-CH5wzMHy.js.map → web-BqTV9va1.js.map} +1 -1
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_core@7.0.1 → @capacitor_core@7.4.4}/node_modules/@capacitor/core/dist/index.js +2 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.4.4/node_modules/@capacitor/core/dist/index.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/index.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/index.js.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/web.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/{@capacitor_preferences@7.0.0_@capacitor_core@7.0.1 → @capacitor_preferences@7.0.2_@capacitor_core@7.4.4}/node_modules/@capacitor/preferences/dist/esm/web.js.map +1 -1
- package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
- package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
- package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
- package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/dayjs.min.js +1 -1
- package/dist/martyrs/node_modules/dayjs/dayjs.min.js.map +1 -0
- package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
- package/dist/martyrs/node_modules/dayjs/plugin/weekOfYear.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
- package/dist/martyrs/src/components/Block/Block.vue.js +2 -2
- package/dist/martyrs/src/components/Block/Block.vue.js.map +1 -1
- package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +1 -1
- package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +1 -1
- package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +6 -6
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +2 -2
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js +5 -5
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +4 -4
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
- package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +3 -3
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +3 -3
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js +1 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -1
- package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +3 -3
- package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -0
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js +2 -2
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +2 -2
- package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
- package/dist/martyrs/src/components/Radio/Radio.vue.js +1 -1
- package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
- package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js → SelectMulti.vue.js} +2 -2
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +1 -0
- package/dist/martyrs/src/components/Table/Table.vue.js +3 -3
- package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
- package/dist/martyrs/src/components/Text/Text.vue.js +1 -1
- package/dist/martyrs/src/components/Text/Text.vue.js.map +1 -1
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -0
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +4 -4
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +4 -4
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/blocks/ProfileCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +7 -7
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +7 -7
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +4 -4
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +6 -6
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +1 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +2 -2
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/Activity.vue.js +7 -7
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +4 -4
- package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +10 -10
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.js +2 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSorting.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +9 -9
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/elements/ButtonDate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/elements/PhotoStack.vue.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js +25 -5
- package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +4 -4
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +11 -11
- package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js +16 -16
- package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +7 -7
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +23 -23
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +7 -7
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterCheckbox.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterDateRange.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/store/core.store.js +29 -47
- package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +21 -2
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +5 -5
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/blocks/CardEventShort.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +18 -18
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +7 -7
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +5 -5
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +4 -4
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +4 -4
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +7 -7
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +10 -10
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +5 -5
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +6 -6
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +4 -4
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +4 -4
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +8 -8
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +5 -5
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +13 -13
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +23 -23
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +8 -8
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +10 -13
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +9 -9
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +26 -26
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +17 -17
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +26 -26
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +8 -8
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/music.client.js +6 -6
- package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js +2 -2
- package/dist/martyrs/src/modules/notifications/store/notifications.store.js +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +9 -9
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +5 -5
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +9 -9
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +5 -5
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/StatusHistory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +17 -17
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +4 -4
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js +8 -8
- package/dist/martyrs/src/modules/organizations/components/blocks/Contacts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +6 -6
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +3 -3
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js +5 -5
- package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +7 -7
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +8 -8
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +12 -12
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +6 -6
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +9 -9
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +6 -6
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/blocks/CardRent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/DateLabel.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +8 -8
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +6 -6
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js +3 -3
- package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js.map +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +5 -5
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +6 -6
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js +5 -5
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +5 -5
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CashDeposit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js +12 -12
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +23 -23
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/style.css +194 -202
- package/dist/{web-CH5wzMHy.js → web-BqTV9va1.js} +1 -1
- package/package.json +6 -8
- package/src/builder/modes/ssr.prod.js +1 -0
- package/src/builder/modes/ssr.rspack.dev.js +13 -6
- package/src/builder/rspack/rspack.config.base.js +7 -0
- package/src/builder/rspack/rspack.config.ssr.client.js +19 -44
- package/src/builder/templates/page.js +21 -0
- package/src/components/Block/Block.vue +1 -1
- package/src/components/BottomSheet/BottomSheet.vue +1 -1
- package/src/components/Calendar/Calendar.vue +5 -5
- package/src/components/Checkbox/Checkbox.vue +2 -2
- package/src/components/Chips/Chips.vue +2 -2
- package/src/components/Completion/Completion.vue +2 -2
- package/src/components/Countdown/Countdown.vue +5 -5
- package/src/components/DatePicker/DatePicker.vue +4 -4
- package/src/components/EditImages/EditImages.vue +1 -1
- package/src/components/Feed/Feed.old.vue +1 -1
- package/src/components/Feed/Feed.vue +1 -1
- package/src/components/FieldBig/FieldBig.vue +2 -2
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/FieldTags/BlockTags.vue +1 -1
- package/src/components/Loader/Loader.vue +1 -1
- package/src/components/Menu/MenuItem.vue +2 -2
- package/src/components/PhotoViewer/PhotoViewer.vue +1 -1
- package/src/components/Radio/Radio.vue +1 -1
- package/src/components/Select/Select.vue +1 -1
- package/src/components/Table/Table.vue +2 -2
- package/src/components/Text/Text.vue +1 -1
- package/src/components/UploadImage/UploadImage.vue +2 -2
- package/src/components/UploadImageMultiple/UploadImageMultiple.vue +3 -3
- package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
- package/src/configurator/components/pages/Styles.vue +2 -2
- package/src/jit/.claude/settings.local.json +10 -0
- package/src/jit/CLAUDE.md +387 -0
- package/src/jit/core.js +274 -0
- package/src/jit/extractor.js +140 -0
- package/src/jit/index.js +19 -0
- package/src/jit/loader.js +46 -0
- package/src/jit/plugin.js +209 -0
- package/src/jit/rules.js +474 -0
- package/src/jit/variants.js +128 -0
- package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
- package/src/modules/auth/views/components/blocks/ProfileCard.vue +4 -4
- package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
- package/src/modules/auth/views/components/pages/EnterPassword.vue +2 -2
- package/src/modules/auth/views/components/pages/Profile.vue +5 -5
- package/src/modules/auth/views/components/pages/ProfileBlogposts.vue +1 -1
- package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +2 -2
- package/src/modules/auth/views/components/pages/ResetPassword.vue +1 -1
- package/src/modules/auth/views/components/pages/SignIn.vue +3 -3
- package/src/modules/auth/views/components/pages/SignUp.vue +1 -1
- package/src/modules/auth/views/components/pages/UserDashboard.vue +3 -3
- package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
- package/src/modules/auth/views/components/sections/ProfileCompletion.vue +2 -2
- package/src/modules/auth/views/components/sections/ProfileEditCredentials.vue +7 -7
- package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
- package/src/modules/backoffice/components/admin/Backcalls.vue +1 -1
- package/src/modules/backoffice/components/admin/FastOrders.vue +1 -1
- package/src/modules/backoffice/components/admin/ProductEdit.vue +2 -2
- package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
- package/src/modules/backoffice/components/admin/Users.vue +2 -2
- package/src/modules/backoffice/components/pages/Dashboard.vue +4 -4
- package/src/modules/backoffice/components/partials/Sidebar.vue +5 -5
- package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
- package/src/modules/chats/components/sections/ChatWindow.vue +2 -2
- package/src/modules/community/components/blocks/Activity.vue +7 -7
- package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
- package/src/modules/community/components/blocks/FooterBlogpost.vue +4 -4
- package/src/modules/community/components/layouts/Community.vue +10 -10
- package/src/modules/community/components/pages/CreateBlogPost.vue +1 -1
- package/src/modules/community/components/pages/Posts.vue +2 -2
- package/src/modules/community/components/sections/Comment.vue +2 -2
- package/src/modules/constructor/components/elements/Audio.vue +1 -1
- package/src/modules/constructor/components/elements/Caption.vue +1 -1
- package/src/modules/constructor/components/elements/Embed.vue +1 -1
- package/src/modules/constructor/components/elements/Textarea.vue +1 -1
- package/src/modules/constructor/components/elements/Video.vue +1 -1
- package/src/modules/core/views/classes/core.app.js +2 -1
- package/src/modules/core/views/components/blocks/BlockSorting.vue +2 -2
- package/src/modules/core/views/components/blocks/CardFooter.vue +4 -4
- package/src/modules/core/views/components/blocks/CardHeader.vue +7 -7
- package/src/modules/core/views/components/blocks/HelpCard.vue +1 -1
- package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
- package/src/modules/core/views/components/elements/ButtonDate.vue +1 -1
- package/src/modules/core/views/components/elements/PhotoStack.vue +3 -3
- package/src/modules/core/views/components/layouts/App.vue +28 -4
- package/src/modules/core/views/components/layouts/Client.vue +4 -4
- package/src/modules/core/views/components/partials/BottomNavigationBar.vue +15 -15
- package/src/modules/core/views/components/partials/CitySelection.vue +1 -1
- package/src/modules/core/views/components/partials/Footer.centered.vue +17 -17
- package/src/modules/core/views/components/partials/Footer.vue +18 -18
- package/src/modules/core/views/components/partials/Header.vue +10 -11
- package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
- package/src/modules/core/views/components/partials/Navigation.vue +20 -19
- package/src/modules/core/views/components/partials/NavigationBar.vue +3 -3
- package/src/modules/core/views/components/partials/Sidebar.vue +6 -6
- package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
- package/src/modules/core/views/components/sections/filters/FilterCheckbox.vue +1 -1
- package/src/modules/core/views/components/sections/filters/FilterDateRange.vue +2 -2
- package/src/modules/core/views/components/sections/filters/FilterPrice.vue +2 -2
- package/src/modules/core/views/components/sections/filters/FilterRange.vue +2 -2
- package/src/modules/core/views/store/core.store.js +36 -60
- package/src/modules/core/views/utils/vue-app-renderer.js +31 -1
- package/src/modules/events/components/blocks/CardEvent.vue +6 -6
- package/src/modules/events/components/blocks/CardEventShort.vue +3 -3
- package/src/modules/events/components/pages/EditEvent.vue +1 -1
- package/src/modules/events/components/pages/EditEventTickets.vue +18 -18
- package/src/modules/events/components/pages/Event.vue +5 -5
- package/src/modules/events/components/pages/Events.vue +2 -2
- package/src/modules/events/components/pages/EventsBackoffice.vue +2 -2
- package/src/modules/events/components/sections/EditTickets.vue +5 -5
- package/src/modules/events/components/sections/EventsHot.vue +2 -2
- package/src/modules/events/components/sections/List.vue +1 -1
- package/src/modules/events/components/sections/SelectDate.vue +1 -1
- package/src/modules/gallery/components/pages/Gallery.vue +1 -1
- package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
- package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +14 -14
- package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +13 -13
- package/src/modules/governance/reactcode/src/components/EmptyState.tsx +2 -2
- package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +1 -1
- package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +1 -1
- package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +2 -2
- package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +6 -6
- package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +18 -18
- package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +7 -7
- package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +9 -9
- package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +4 -4
- package/src/modules/governance/reactcode/src/components/TaskCard.tsx +1 -1
- package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
- package/src/modules/governance/reactcode/src/components/VoteForm.tsx +6 -6
- package/src/modules/governance/reactcode/src/components/VotingCard.tsx +2 -2
- package/src/modules/governance/reactcode/src/components/VotingResults.tsx +15 -15
- package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +41 -41
- package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +8 -8
- package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +6 -6
- package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +9 -9
- package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +14 -14
- package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +44 -44
- package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +8 -8
- package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +3 -3
- package/src/modules/governance/reactcode-2/App.tsx +28 -0
- package/src/modules/governance/reactcode-2/README.md +20 -0
- package/src/modules/governance/reactcode-2/components/Charts.tsx +58 -0
- package/src/modules/governance/reactcode-2/components/Layout.tsx +457 -0
- package/src/modules/governance/reactcode-2/components/TaskPage.tsx +325 -0
- package/src/modules/governance/reactcode-2/components/VoteBadge.tsx +27 -0
- package/src/modules/governance/reactcode-2/components/VotingsFeedPage.tsx +328 -0
- package/src/modules/governance/reactcode-2/constants.ts +154 -0
- package/src/modules/governance/reactcode-2/index.html +70 -0
- package/src/modules/governance/reactcode-2/index.tsx +15 -0
- package/src/modules/governance/reactcode-2/metadata.json +5 -0
- package/src/modules/governance/reactcode-2/package.json +23 -0
- package/src/modules/governance/reactcode-2/pnpm-lock.yaml +1410 -0
- package/src/modules/governance/reactcode-2/tsconfig.json +29 -0
- package/src/modules/governance/reactcode-2/types.ts +48 -0
- package/src/modules/governance/reactcode-2/vite.config.ts +23 -0
- package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +10 -10
- package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +15 -15
- package/src/modules/governance/views/components/blocks/CardTaskItem.vue +9 -9
- package/src/modules/governance/views/components/blocks/CardVotingItem.vue +11 -11
- package/src/modules/governance/views/components/layouts/Governance.vue +1 -1
- package/src/modules/governance/views/components/pages/Governance.vue +3 -3
- package/src/modules/governance/views/components/pages/Initiative.vue +112 -112
- package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +31 -31
- package/src/modules/governance/views/components/pages/Initiatives.vue +20 -22
- package/src/modules/governance/views/components/pages/Milestone.vue +25 -25
- package/src/modules/governance/views/components/pages/Roadmap.vue +47 -47
- package/src/modules/governance/views/components/pages/Task.vue +106 -106
- package/src/modules/governance/views/components/pages/Tasks.vue +16 -16
- package/src/modules/governance/views/components/pages/Voting.vue +23 -23
- package/src/modules/governance/views/components/pages/Votings.vue +7 -7
- package/src/modules/governance/views/components/partials/EmptyState.vue +3 -3
- package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +11 -11
- package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +4 -4
- package/src/modules/governance/views/components/partials/VoteForm.vue +14 -14
- package/src/modules/governance/views/components/partials/VotingResults.vue +22 -22
- package/src/modules/icons/components/IconSearchPopup.vue +3 -3
- package/src/modules/icons/entities/IconCash.vue +23 -0
- package/src/modules/icons/navigation/IconSort.vue +4 -4
- package/src/modules/icons/pages/IconsPage.vue +7 -7
- package/src/modules/inventory/components/forms/AdjustmentForm.vue +3 -3
- package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
- package/src/modules/inventory/components/forms/StockAlertsForm.vue +1 -1
- package/src/modules/inventory/components/pages/Inventory.vue +10 -10
- package/src/modules/inventory/components/pages/InventoryEdit.vue +6 -6
- package/src/modules/landing/components/blocks/MapBlock.vue +2 -2
- package/src/modules/landing/components/sections/Examples.vue +1 -1
- package/src/modules/landing/components/sections/InstagramSection.vue +1 -1
- package/src/modules/landing/components/sections/SectionEarn.vue +4 -4
- package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
- package/src/modules/landing/components/sections/SectionFocus.vue +2 -2
- package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
- package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
- package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
- package/src/modules/landing/components/sections/SectionJoinUs.vue +2 -2
- package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
- package/src/modules/landing/components/sections/SectionOverview.vue +2 -2
- package/src/modules/landing/components/sections/SectionRoadmap.vue +2 -2
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +8 -8
- package/src/modules/marketplace/views/components/pages/Marketplace.vue +5 -5
- package/src/modules/marketplace/views/components/sections/SectionMenu.vue +2 -2
- package/src/modules/music/components/SidebarMusic.vue +11 -11
- package/src/modules/music/components/blocks/ActionButtons.vue +2 -2
- package/src/modules/music/components/cards/AlbumCard.vue +4 -4
- package/src/modules/music/components/cards/ArtistCard.vue +3 -8
- package/src/modules/music/components/cards/ArtistCardSmall.vue +2 -2
- package/src/modules/music/components/cards/PlaylistCard.vue +4 -4
- package/src/modules/music/components/cards/TrackListCard.vue +5 -5
- package/src/modules/music/components/forms/AlbumForm.vue +8 -8
- package/src/modules/music/components/forms/ArtistForm.vue +4 -4
- package/src/modules/music/components/forms/PlaylistForm.vue +7 -7
- package/src/modules/music/components/forms/SearchForm.vue +1 -1
- package/src/modules/music/components/forms/TrackForm.vue +13 -13
- package/src/modules/music/components/pages/Album.vue +22 -22
- package/src/modules/music/components/pages/Artist.vue +7 -7
- package/src/modules/music/components/pages/MusicHome.vue +13 -18
- package/src/modules/music/components/pages/MusicLibrary.vue +9 -9
- package/src/modules/music/components/pages/Playlist.vue +25 -25
- package/src/modules/music/components/pages/SearchResults.vue +15 -15
- package/src/modules/music/components/pages/Track.vue +25 -25
- package/src/modules/music/components/player/FullscreenPlayer.vue +5 -5
- package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
- package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
- package/src/modules/orders/components/blocks/CardApplication.vue +1 -1
- package/src/modules/orders/components/blocks/CardCustomer.vue +1 -1
- package/src/modules/orders/components/blocks/CardOrder.vue +9 -9
- package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +5 -5
- package/src/modules/orders/components/blocks/CardOrderItem.vue +9 -9
- package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
- package/src/modules/orders/components/blocks/CardOrderVar1.vue +4 -4
- package/src/modules/orders/components/blocks/StatusHistory.vue +3 -3
- package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
- package/src/modules/orders/components/elements/PriceTotal.vue +3 -3
- package/src/modules/orders/components/forms/FormApplicationDetails.vue +2 -2
- package/src/modules/orders/components/forms/FormCustomerDetails.vue +3 -3
- package/src/modules/orders/components/pages/Favorites.vue +1 -1
- package/src/modules/orders/components/pages/OrderBackoffice.vue +15 -15
- package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +4 -4
- package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
- package/src/modules/orders/components/partials/ShopCart.vue +2 -2
- package/src/modules/orders/components/sections/ApplicationDetails.vue +2 -2
- package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
- package/src/modules/orders/components/sections/CustomerDetails.vue +2 -2
- package/src/modules/orders/components/sections/Succes.vue +4 -4
- package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
- package/src/modules/organizations/components/blocks/CardOrganization.vue +4 -4
- package/src/modules/organizations/components/blocks/Contacts.vue +8 -8
- package/src/modules/organizations/components/blocks/Rating.vue +1 -1
- package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +3 -3
- package/src/modules/organizations/components/forms/DepartmentForm.vue +1 -1
- package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
- package/src/modules/organizations/components/pages/Department.vue +2 -2
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +1 -1
- package/src/modules/organizations/components/pages/Members.vue +1 -1
- package/src/modules/organizations/components/pages/Organization.new.vue +8 -8
- package/src/modules/organizations/components/pages/Organization.vue +6 -6
- package/src/modules/organizations/components/pages/OrganizationDocuments.vue +2 -2
- package/src/modules/organizations/components/pages/Organizations.vue +3 -3
- package/src/modules/organizations/components/sections/Documents.vue +2 -2
- package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
- package/src/modules/organizations/components/sections/Unit.vue +1 -1
- package/src/modules/pages/views/components/blocks/CardPage.vue +2 -2
- package/src/modules/pages/views/components/pages/Page.vue +5 -5
- package/src/modules/products/components/blocks/CardCategory.vue +1 -1
- package/src/modules/products/components/blocks/CardPosition.vue +4 -4
- package/src/modules/products/components/blocks/CardProduct.vue +3 -3
- package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -3
- package/src/modules/products/components/blocks/ProductImages.vue +2 -2
- package/src/modules/products/components/blocks/ProductVariants.vue +2 -2
- package/src/modules/products/components/elements/Image360.vue +2 -2
- package/src/modules/products/components/elements/Price.vue +2 -2
- package/src/modules/products/components/elements/QuantitySelector.vue +3 -3
- package/src/modules/products/components/elements/THC.vue +1 -1
- package/src/modules/products/components/forms/ReorderSettingsForm.vue +1 -1
- package/src/modules/products/components/forms/StockAuditForm.vue +2 -2
- package/src/modules/products/components/forms/StockHistoryView.vue +1 -1
- package/src/modules/products/components/pages/Categories.vue +1 -1
- package/src/modules/products/components/pages/CategoryEdit.vue +2 -2
- package/src/modules/products/components/pages/Product.vue +6 -6
- package/src/modules/products/components/pages/ProductEdit.vue +6 -6
- package/src/modules/products/components/pages/Products.vue +11 -11
- package/src/modules/products/components/sections/EditAttributes.vue +4 -4
- package/src/modules/products/components/sections/EditCategories.vue +1 -1
- package/src/modules/products/components/sections/EditDiscounts.vue +6 -6
- package/src/modules/products/components/sections/EditRecommended.vue +1 -1
- package/src/modules/products/components/sections/EditVariants.vue +8 -8
- package/src/modules/products/components/sections/FilterProducts.vue +3 -3
- package/src/modules/products/components/sections/ProductConfigurator.vue +2 -2
- package/src/modules/products/components/sections/ProductInformationSection.vue +10 -10
- package/src/modules/products/components/sections/ProductsRecommended.vue +2 -2
- package/src/modules/products/components/sections/SectionProduct.vue +7 -7
- package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +3 -3
- package/src/modules/rents/views/components/blocks/CardRent.vue +1 -1
- package/src/modules/rents/views/components/pages/Gant/DateLabel.vue +1 -1
- package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +2 -2
- package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +8 -8
- package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +1 -1
- package/src/modules/rents/views/components/pages/Rents.vue +1 -1
- package/src/modules/rents/views/components/pages/RentsEdit.vue +6 -6
- package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
- package/src/modules/reports/components/sections/FormReport.vue +1 -1
- package/src/modules/spots/components/blocks/CardSpot.vue +4 -4
- package/src/modules/spots/components/blocks/SpotMemberModify.vue +1 -1
- package/src/modules/spots/components/layouts/Spots.vue +2 -2
- package/src/modules/spots/components/pages/Spot.vue +5 -5
- package/src/modules/spots/components/pages/SpotEdit.vue +2 -2
- package/src/modules/spots/components/pages/Spots.vue +3 -3
- package/src/modules/spots/components/sections/MapSection.vue +1 -1
- package/src/modules/spots/components/sections/WorktimeEdit.vue +4 -4
- package/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue +5 -5
- package/src/modules/wallet/views/components/blocks/CardDeposit.vue +5 -5
- package/src/modules/wallet/views/components/blocks/CashDeposit.vue +2 -2
- package/src/modules/wallet/views/components/blocks/CryptoDeposit.vue +4 -4
- package/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue +11 -11
- package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +4 -4
- package/src/modules/wallet/views/components/pages/Wallet.vue +22 -22
- package/src/styles/config.scss +193 -507
- package/src/styles/layout.scss +81 -1
- package/src/styles/reset.scss +2 -0
- package/src/styles/theme.scss +1 -8
- package/dist/martyrs/dist/main-BFvlam0J.js.map +0 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.0.1/node_modules/@capacitor/core/dist/index.js.map +0 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
- package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +0 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/weekOfYear.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -20
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
- package/src/modules/LAYOUT.MD +0 -767
- package/src/modules/STYLES.MD +0 -298
- package/src/modules/inventory/inventory.router.js +0 -72
- package/src/modules/products/products.router.js +0 -299
- package/src/styles/base/all.scss +0 -233
- package/src/styles/base/backgrounds.scss +0 -70
- package/src/styles/base/borders.scss +0 -407
- package/src/styles/base/scrolling.scss +0 -137
- package/src/styles/base/shadow_transitions_hover_refactor.scss +0 -158
- package/src/styles/base/transitions.scss +0 -109
- package/src/styles/responsive.scss +0 -152
- package/src/styles/typography.scss +0 -161
- /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
|
@@ -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);
|
package/dist/martyrs/src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardBalanceReplenished.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue"],"sourcesContent":["<template>\n <h2 class=\"mn-b-small t-center
|
|
1
|
+
{"version":3,"file":"CardBalanceReplenished.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CardBalanceReplenished.vue"],"sourcesContent":["<template>\n <h2 class=\"mn-b-small t-center fw-bold\">{{ t('wallet.balanceReplenished') }}</h2>\n\n <div class=\"radius-medium br-1px br-black pd-big flex flex-column flex-justify-center flex-items-center\">\n <h3 class=\"fw-semi\">\n {{ t('wallet.youReceived') }}\n </h3>\n <h3 class=\"fw-semi\">\n {{ receiveAmount }} WDT\n </h3>\n </div>\n\n <button\n class=\"uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small\"\n @click=\"close\"\n >\n {{ t('wallet.backToWallet') }}\n </button>\n</template>\n\n<script setup>\n import { useI18n } from 'vue-i18n'\n import { computed } from 'vue'\n import { BigNumber } from 'bignumber.js'\n\n import text from '@martyrs/src/modules/wallet/views/localization/wallet.json'\n import { state } from '@martyrs/src/modules/wallet/views/store/wallet.store';\n\n const emits = defineEmits(['close'])\n\n // Localization\n const { t } = useI18n({\n useScope: 'global', \n ...text\n })\n\n const receiveAmount = computed(() =>\n new BigNumber(state.depositInfo.amount)\n .shiftedBy(-8)\n .dividedBy(process.env.TOKEN_EXCHANGE_RATE)\n .toString()\n )\n\n function close() {\n emits(\"close\")\n }\n</script>\n\n<style scoped>\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;AA4BE,UAAM,QAAQ;AAGd,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACpB,UAAU;AAAA,MACV,GAAG;AAAA,IACP,CAAG;AAED,UAAM,gBAAgB;AAAA,MAAS,MAC7B,IAAI,UAAU,MAAM,YAAY,MAAM,EACnC,UAAU,EAAE,EACZ,UAAU,QAAQ,IAAI,mBAAmB,EACzC,SAAQ;AAAA,IACf;AAEE,aAAS,QAAQ;AACf,YAAM,OAAO;AAAA,IACf;;;;;;;;;;;;;;;;"}
|
|
@@ -20,21 +20,21 @@ const _sfc_main = {
|
|
|
20
20
|
}
|
|
21
21
|
return (_ctx, _cache) => {
|
|
22
22
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
23
|
-
_cache[2] || (_cache[2] = createElementVNode("h2", { class: "mn-b-small t-center
|
|
23
|
+
_cache[2] || (_cache[2] = createElementVNode("h2", { class: "mn-b-small t-center fw-bold" }, "Deposit with card", -1)),
|
|
24
24
|
createElementVNode("div", _hoisted_1, [
|
|
25
25
|
createVNode(Field, {
|
|
26
26
|
placeholder: unref(t)("wallet.enterAmount"),
|
|
27
27
|
class: "pd-medium radius-small"
|
|
28
28
|
}, null, 8, ["placeholder"]),
|
|
29
|
-
_cache[1] || (_cache[1] = createElementVNode("div", { class: "uppercase flex flex-justify-center flex-items-center mn-r-semi
|
|
29
|
+
_cache[1] || (_cache[1] = createElementVNode("div", { class: "uppercase flex flex-justify-center flex-items-center mn-r-semi fw-semi" }, " USD ", -1))
|
|
30
30
|
]),
|
|
31
|
-
_cache[3] || (_cache[3] = createElementVNode("h3", { class: "
|
|
31
|
+
_cache[3] || (_cache[3] = createElementVNode("h3", { class: "fw-semi" }, "You will receieve: 0 WDT", -1)),
|
|
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: _cache[0] || (_cache[0] = ($event) => switchMenu(3))
|
|
35
35
|
}, toDisplayString(unref(t)("wallet.pay")), 1),
|
|
36
36
|
createElementVNode("button", {
|
|
37
|
-
class: "uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-
|
|
37
|
+
class: "uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small",
|
|
38
38
|
onClick: backSelection
|
|
39
39
|
}, toDisplayString(unref(t)("wallet.backToSelection")), 1)
|
|
40
40
|
], 64);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardDeposit.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CardDeposit.vue"],"sourcesContent":["<template>\n <h2 class=\"mn-b-small t-center
|
|
1
|
+
{"version":3,"file":"CardDeposit.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CardDeposit.vue"],"sourcesContent":["<template>\n <h2 class=\"mn-b-small t-center fw-bold\">Deposit with card</h2>\n\n <div class=\"bg-grey radius-big mn-t-semi mn-b-semi flex flex-justify-between\">\n <Field\n :placeholder=\"t('wallet.enterAmount')\"\n class=\"pd-medium radius-small\"\n />\n\n <div class=\"uppercase flex flex-justify-center flex-items-center mn-r-semi fw-semi\">\n USD\n </div>\n </div>\n\n <h3 class=\"fw-semi\">You will receieve: 0 WDT</h3>\n\n <button\n class=\"uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small\"\n @click=\"switchMenu(3)\"\n >\n {{ t('wallet.pay') }}\n </button>\n\n <button\n class=\"uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small\"\n @click=\"backSelection\"\n >\n {{ t('wallet.backToSelection') }}\n </button>\n</template>\n\n<script setup>\n import text from '@martyrs/src/modules/wallet/views/localization/wallet.json'\n import Field from '@martyrs/src/components/Field/Field.vue'\n import { useI18n } from 'vue-i18n'\n\n const emits = defineEmits(['back-selection', 'switch-menu'])\n\n // Localization\n const { t } = useI18n({\n useScope: 'global', \n ...text\n })\n\n function backSelection() {\n emits(\"back-selection\")\n }\n\n function switchMenu(screen = 0) {\n emits(\"switch-menu\", screen)\n }\n</script>\n\n<style scoped>\n</style>"],"names":[],"mappings":";;;;;;;;;AAoCE,UAAM,QAAQ;AAGd,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACpB,UAAU;AAAA,MACV,GAAG;AAAA,IACP,CAAG;AAED,aAAS,gBAAgB;AACvB,YAAM,gBAAgB;AAAA,IACxB;AAEA,aAAS,WAAW,SAAS,GAAG;AAC9B,YAAM,eAAe,MAAM;AAAA,IAC7B;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,14 +9,14 @@ const _sfc_main = {
|
|
|
9
9
|
}
|
|
10
10
|
return (_ctx, _cache) => {
|
|
11
11
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
12
|
-
_cache[0] || (_cache[0] = createElementVNode("h2", { class: "mn-b-small t-center
|
|
12
|
+
_cache[0] || (_cache[0] = createElementVNode("h2", { class: "mn-b-small t-center fw-bold" }, "Deposit with cash", -1)),
|
|
13
13
|
_cache[1] || (_cache[1] = createElementVNode("p", { class: "t-transp t-center" }, " You need to go to casse to topup balance ", -1)),
|
|
14
14
|
_cache[2] || (_cache[2] = createElementVNode("div", {
|
|
15
15
|
class: "w-100 bg-grey radius-medium mn-t-medium mn-b-medium",
|
|
16
16
|
style: { "height": "152px" }
|
|
17
17
|
}, null, -1)),
|
|
18
18
|
createElementVNode("button", {
|
|
19
|
-
class: "w-100 bg-main t-black pd-thin radius-medium t-center br-
|
|
19
|
+
class: "w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small",
|
|
20
20
|
onClick: backSelection
|
|
21
21
|
}, "Back to selection ")
|
|
22
22
|
], 64);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CashDeposit.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CashDeposit.vue"],"sourcesContent":["<template>\n <h2 class=\"mn-b-small t-center
|
|
1
|
+
{"version":3,"file":"CashDeposit.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CashDeposit.vue"],"sourcesContent":["<template>\n <h2 class=\"mn-b-small t-center fw-bold\">Deposit with cash</h2>\n\n <p class=\"t-transp t-center\">\n You need to go to casse to topup balance\n </p>\n\n <div\n class=\"w-100 bg-grey radius-medium mn-t-medium mn-b-medium\"\n style=\"height: 152px\"\n />\n\n <button\n class=\"w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small\"\n @click=\"backSelection\">Back to selection\n </button>\n</template>\n\n<script setup>\n const emits = defineEmits(['back-selection'])\n\n function backSelection() {\n emits(\"back-selection\");\n }\n</script>\n\n<style scoped>\n</style>"],"names":[],"mappings":";;;;;AAmBE,UAAM,QAAQ;AAEd,aAAS,gBAAgB;AACvB,YAAM,gBAAgB;AAAA,IACxB;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,8 +5,8 @@ import { state, actions } from "../../store/wallet.store.js";
|
|
|
5
5
|
import text from "../../localization/wallet.json.js";
|
|
6
6
|
import Field from "../../../../../components/Field/Field.vue.js";
|
|
7
7
|
import Select from "../../../../../components/Select/Select.vue.js";
|
|
8
|
-
const _hoisted_1 = { class: "mn-b-small t-center
|
|
9
|
-
const _hoisted_2 = { class: "
|
|
8
|
+
const _hoisted_1 = { class: "mn-b-small t-center fw-bold" };
|
|
9
|
+
const _hoisted_2 = { class: "fw-semi" };
|
|
10
10
|
const _hoisted_3 = ["disabled"];
|
|
11
11
|
const _sfc_main = {
|
|
12
12
|
__name: "CryptoDeposit",
|
|
@@ -57,7 +57,7 @@ const _sfc_main = {
|
|
|
57
57
|
field: amount.value,
|
|
58
58
|
"onUpdate:field": _cache[1] || (_cache[1] = ($event) => amount.value = $event),
|
|
59
59
|
placeholder: unref(t)("wallet.enterAmount"),
|
|
60
|
-
class: "mn-b-thin bg-white w-100 br-
|
|
60
|
+
class: "mn-b-thin bg-white w-100 br-1px br-black-transp-5 pd-small radius-small"
|
|
61
61
|
}, {
|
|
62
62
|
default: withCtx(() => [
|
|
63
63
|
createVNode(Select, {
|
|
@@ -71,7 +71,7 @@ const _sfc_main = {
|
|
|
71
71
|
}, 8, ["field", "placeholder"])) : createCommentVNode("", true),
|
|
72
72
|
createElementVNode("p", _hoisted_2, "You will receive: " + toDisplayString(receiveAmount.value) + " " + toDisplayString(unref(t)("wallet.token")), 1),
|
|
73
73
|
createElementVNode("button", {
|
|
74
|
-
class: "uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-
|
|
74
|
+
class: "uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small",
|
|
75
75
|
onClick: _cache[2] || (_cache[2] = ($event) => unref(actions).requestCryptoDeposit(amount.value).then(() => switchMenu(5))),
|
|
76
76
|
disabled: unref(state).depositRequestIsActive || !unref(state).config
|
|
77
77
|
}, toDisplayString(unref(t)("wallet.pay")), 9, _hoisted_3),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoDeposit.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CryptoDeposit.vue"],"sourcesContent":["<template>\n <h3 class=\"mn-b-small t-center
|
|
1
|
+
{"version":3,"file":"CryptoDeposit.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CryptoDeposit.vue"],"sourcesContent":["<template>\n <h3 class=\"mn-b-small t-center fw-bold\">{{ t('wallet.depositWithCrypto') }}</h3>\n\n <Field \n v-if=\"state.config\"\n v-model:field=\"amount\"\n :placeholder=\"t('wallet.enterAmount')\"\n class=\"mn-b-thin bg-white w-100 br-1px br-black-transp-5 pd-small radius-small\" \n >\n <Select \n :options=\"depositOptions\"\n v-model:select=\"state.chosenNetwork\"\n class=\"bg-light t-nowrap pd-r-thin pd-l-thin pd-t-nano pd-b-nano radius-thin\"\n />\n </Field>\n\n <p class=\"fw-semi\">You will receive: {{ receiveAmount }} {{t('wallet.token')}}</p>\n\n <button\n class=\"uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small\"\n @click=\"actions.requestCryptoDeposit(amount).then(() => switchMenu(5))\"\n :disabled=\"state.depositRequestIsActive || !state.config\"\n >\n {{ t('wallet.pay') }}\n </button>\n\n <button\n class=\"uppercase w-100 t-center mn-t-small\"\n @click=\"backSelection\"\n >\n {{ t('wallet.backToSelection') }}\n </button>\n</template>\n\n<script setup>\n import { useI18n } from 'vue-i18n'\n import { ref, onMounted, computed } from 'vue';\n import { BigNumber } from 'bignumber.js';\n\n import { state, actions } from '@martyrs/src/modules/wallet/views/store/wallet.store';\n import text from '@martyrs/src/modules/wallet/views/localization/wallet.json'\n import Field from '@martyrs/src/components/Field/Field.vue'\n import Select from '@martyrs/src/components/Select/Select.vue'\n\n BigNumber.config({\n EXPONENTIAL_AT: [-1000, 20000]\n });\n\n const amount = ref(1);\n const emits = defineEmits(['back-selection', 'switch-menu'])\n\n // Localization\n const { t } = useI18n({\n useScope: 'global', \n ...text\n })\n\n const receiveAmount = computed(() =>\n new BigNumber(amount.value)\n .dividedBy(process.env.TOKEN_EXCHANGE_RATE)\n .toString()\n )\n\n const depositOptions = computed(() => {\n const options = [];\n\n const networks = Object.keys(state.config || {});\n\n for (const network of networks) {\n for (const token of Object.keys(state.config[network].tokens)) {\n options.push({\n name: `${network}-${token}`,\n value: {\n token: state.config[network].tokens[token],\n network: network\n }\n });\n }\n }\n\n return options;\n });\n\n onMounted(() => {\n actions.loadConfig();\n })\n\n function backSelection() {\n emits(\"back-selection\")\n }\n\n function switchMenu(screen = 0) {\n emits(\"switch-menu\", screen)\n }\n</script>\n\n<style scoped>\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;AA4CE,cAAU,OAAO;AAAA,MACf,gBAAgB,CAAC,MAAO,GAAK;AAAA,IACjC,CAAG;AAED,UAAM,SAAS,IAAI,CAAC;AACpB,UAAM,QAAQ;AAGd,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACpB,UAAU;AAAA,MACV,GAAG;AAAA,IACP,CAAG;AAED,UAAM,gBAAgB;AAAA,MAAS,MAC7B,IAAI,UAAU,OAAO,KAAK,EACvB,UAAU,QAAQ,IAAI,mBAAmB,EACzC,SAAQ;AAAA,IACf;AAEE,UAAM,iBAAiB,SAAS,MAAM;AACpC,YAAM,UAAU,CAAA;AAEhB,YAAM,WAAW,OAAO,KAAK,MAAM,UAAU,CAAA,CAAE;AAE/C,iBAAW,WAAW,UAAU;AAC9B,mBAAW,SAAS,OAAO,KAAK,MAAM,OAAO,OAAO,EAAE,MAAM,GAAG;AAC7D,kBAAQ,KAAK;AAAA,YACX,MAAM,GAAG,OAAO,IAAI,KAAK;AAAA,YACzB,OAAO;AAAA,cACL,OAAO,MAAM,OAAO,OAAO,EAAE,OAAO,KAAK;AAAA,cACzC;AAAA,YACZ;AAAA,UACA,CAAS;AAAA,QACH;AAAA,MACF;AAEA,aAAO;AAAA,IACT,CAAC;AAED,cAAU,MAAM;AACd,cAAQ,WAAU;AAAA,IACpB,CAAC;AAED,aAAS,gBAAgB;AACvB,YAAM,gBAAgB;AAAA,IACxB;AAEA,aAAS,WAAW,SAAS,GAAG;AAC9B,YAAM,eAAe,MAAM;AAAA,IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js
CHANGED
|
@@ -6,20 +6,20 @@ import text from "../../localization/wallet.json.js";
|
|
|
6
6
|
import { timer, state, actions } from "../../store/wallet.store.js";
|
|
7
7
|
/* empty css */
|
|
8
8
|
import _export_sfc from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
9
|
-
const _hoisted_1 = { class: "mn-b-small t-center
|
|
9
|
+
const _hoisted_1 = { class: "mn-b-small t-center fw-bold" };
|
|
10
10
|
const _hoisted_2 = { class: "flex flex-justify-between" };
|
|
11
|
-
const _hoisted_3 = { class: "
|
|
11
|
+
const _hoisted_3 = { class: "fw-semi" };
|
|
12
12
|
const _hoisted_4 = { class: "flex flex-justify-between" };
|
|
13
|
-
const _hoisted_5 = { class: "
|
|
13
|
+
const _hoisted_5 = { class: "fw-semi truncate address" };
|
|
14
14
|
const _hoisted_6 = { class: "flex flex-justify-between" };
|
|
15
|
-
const _hoisted_7 = { class: "
|
|
15
|
+
const _hoisted_7 = { class: "fw-semi" };
|
|
16
16
|
const _hoisted_8 = {
|
|
17
17
|
key: 0,
|
|
18
18
|
class: "flex flex-justify-between"
|
|
19
19
|
};
|
|
20
|
-
const _hoisted_9 = { class: "
|
|
20
|
+
const _hoisted_9 = { class: "fw-semi" };
|
|
21
21
|
const _hoisted_10 = { class: "flex flex-justify-between" };
|
|
22
|
-
const _hoisted_11 = { class: "
|
|
22
|
+
const _hoisted_11 = { class: "fw-semi" };
|
|
23
23
|
const _sfc_main = {
|
|
24
24
|
__name: "CryptoDepositProcessing",
|
|
25
25
|
emits: ["back-selection", "switch-menu"],
|
|
@@ -105,31 +105,31 @@ const _sfc_main = {
|
|
|
105
105
|
onClick: _cache[1] || (_cache[1] = () => copy(unref(state).depositInfo.to))
|
|
106
106
|
}, " copy ")
|
|
107
107
|
]),
|
|
108
|
-
_cache[6] || (_cache[6] = createElementVNode("div", { class: "flex flex-justify-around radius-big br-
|
|
108
|
+
_cache[6] || (_cache[6] = createElementVNode("div", { class: "flex flex-justify-around radius-big br-2px br-black-transp-10" }, [
|
|
109
109
|
createElementVNode("canvas", { id: "qrcode_address_deposit" })
|
|
110
110
|
], -1)),
|
|
111
111
|
createElementVNode("div", _hoisted_6, [
|
|
112
|
-
_cache[3] || (_cache[3] = createElementVNode("h3", { class: "
|
|
112
|
+
_cache[3] || (_cache[3] = createElementVNode("h3", { class: "fw-semi" }, "You will receive:", -1)),
|
|
113
113
|
createElementVNode("h3", _hoisted_7, toDisplayString(receive.value) + " WDT", 1)
|
|
114
114
|
]),
|
|
115
115
|
unref(state).depositInfo.status === "TRANSFER_STATUS_WAITING_FOR_TX" ? (openBlock(), createElementBlock("div", _hoisted_8, [
|
|
116
|
-
_cache[4] || (_cache[4] = createElementVNode("h3", { class: "
|
|
116
|
+
_cache[4] || (_cache[4] = createElementVNode("h3", { class: "fw-semi" }, "Times left:", -1)),
|
|
117
117
|
createElementVNode("h3", _hoisted_9, toDisplayString(remainingTime.value), 1)
|
|
118
118
|
])) : createCommentVNode("", true),
|
|
119
119
|
createElementVNode("div", _hoisted_10, [
|
|
120
|
-
_cache[5] || (_cache[5] = createElementVNode("h3", { class: "
|
|
120
|
+
_cache[5] || (_cache[5] = createElementVNode("h3", { class: "fw-semi" }, "Status:", -1)),
|
|
121
121
|
createElementVNode("h3", _hoisted_11, toDisplayString(status.value), 1)
|
|
122
122
|
]),
|
|
123
123
|
unref(state).depositInfo.status === "TRANSFER_STATUS_WAITING_FOR_TX" ? (openBlock(), createElementBlock("button", {
|
|
124
124
|
key: 1,
|
|
125
|
-
class: "uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-
|
|
125
|
+
class: "uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small",
|
|
126
126
|
onClick: _cache[2] || (_cache[2] = ($event) => unref(actions).cancelDeposit().then(() => backSelection()))
|
|
127
127
|
}, toDisplayString(unref(t)("wallet.cancel")), 1)) : createCommentVNode("", true)
|
|
128
128
|
], 64);
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
131
|
};
|
|
132
|
-
const CryptoDepositProcessing = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
132
|
+
const CryptoDepositProcessing = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3daeada0"]]);
|
|
133
133
|
export {
|
|
134
134
|
CryptoDepositProcessing as default
|
|
135
135
|
};
|
package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoDepositProcessing.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue"],"sourcesContent":["<template>\n <h2 class=\"mn-b-small t-center
|
|
1
|
+
{"version":3,"file":"CryptoDepositProcessing.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/blocks/CryptoDepositProcessing.vue"],"sourcesContent":["<template>\n <h2 class=\"mn-b-small t-center fw-bold\">{{ t('wallet.depositWithCrypto') }}</h2>\n\n <div class=\"flex flex-justify-between\">\n <h3 class=\"fw-semi\">Amount: {{ amount }} {{ state.chosenNetwork.name.toUpperCase() }}</h3>\n <button\n class=\"uppercase t-main cursor-pointer\"\n @click=\"() => copy(amount)\"\n >\n copy\n </button>\n </div>\n\n <div class=\"flex flex-justify-between\">\n <h3 class=\"fw-semi truncate address\">Wallet: {{ state.depositInfo.to }}</h3>\n <button\n class=\"uppercase t-main cursor-pointer\"\n @click=\"() => copy(state.depositInfo.to)\"\n >\n copy\n </button>\n </div>\n\n <div class=\"flex flex-justify-around radius-big br-2px br-black-transp-10\">\n <canvas id=\"qrcode_address_deposit\"></canvas>\n </div>\n\n <div class=\"flex flex-justify-between\">\n <h3 class=\"fw-semi\">You will receive:</h3>\n <h3 class=\"fw-semi\">{{ receive }} WDT</h3>\n </div>\n <div v-if=\"state.depositInfo.status === 'TRANSFER_STATUS_WAITING_FOR_TX'\" class=\"flex flex-justify-between\">\n <h3 class=\"fw-semi\">Times left:</h3>\n <h3 class=\"fw-semi\">{{ remainingTime }}</h3>\n </div>\n <div class=\"flex flex-justify-between\">\n <h3 class=\"fw-semi\">Status:</h3>\n <h3 class=\"fw-semi\">{{ status }}</h3>\n </div>\n\n <button\n v-if=\"state.depositInfo.status === 'TRANSFER_STATUS_WAITING_FOR_TX'\"\n class=\"uppercase w-100 bg-main t-black pd-thin radius-medium t-center br-2px br-black-transp-10 mn-t-small\"\n @click=\"actions.cancelDeposit().then(() => backSelection())\"\n >\n {{ t('wallet.cancel') }}\n </button>\n</template>\n\n<script setup>\n import QRCode from 'qrcode';\n import { useI18n } from 'vue-i18n';\n import { watch, computed, onMounted } from 'vue';\n import { BigNumber } from 'bignumber.js';\n\n import text from '@martyrs/src/modules/wallet/views/localization/wallet.json';\n import { state, actions, timer } from '@martyrs/src/modules/wallet/views/store/wallet.store';\n\n BigNumber.config({\n EXPONENTIAL_AT: [-1000, 20000]\n });\n\n const emits = defineEmits(['back-selection', 'switch-menu']);\n\n // Localization\n const { t } = useI18n({\n useScope: 'global',\n ...text\n });\n\n const remainingTime = computed(() => {\n const mins = Math.floor(timer.remaining / 60);\n const secs = Math.floor(timer.remaining % 60);\n\n return `${mins}:${secs < 10 ? `0${secs}` : secs}`;\n });\n\n const amount = computed(() =>\n new BigNumber(state.depositInfo.amount)\n .shiftedBy(-8)\n .toString()\n );\n\n const receive = computed(() =>\n new BigNumber(amount.value)\n .dividedBy(process.env.TOKEN_EXCHANGE_RATE)\n .toString()\n )\n\n const status = computed(() => {\n switch (state.depositInfo.status) {\n case 'TRANSFER_STATUS_WAITING_FOR_TX':\n return 'Waiting for payment';\n case 'TRANSFER_STATUS_SENT':\n const confirmations = `${state.depositInfo.confirmations || 0} / ${state.config[state.chosenNetwork.value.network].confirmations}`;\n return `Confirming (${confirmations})`;\n default:\n return 'Superposition.';\n }\n });\n\n function backSelection() {\n emits(\"back-selection\");\n }\n\n function switchMenu(screen = 0) {\n emits(\"switch-menu\", screen);\n }\n\n function copy(text) {\n navigator.clipboard.writeText(text);\n }\n\n onMounted(() => {\n QRCode.toCanvas(\n document.getElementById('qrcode_address_deposit'),\n state.depositInfo.to,\n { width: 300 },\n (error) => { if (error) { console.error(error); } }\n )\n })\n\n watch(\n state,\n async () => {\n if (state.depositInfo.status === 'TRANSFER_STATUS_SENT') {\n actions.stopTimer();\n }\n\n if (state.depositInfo.status === 'TRANSFER_STATUS_COMPLETED') {\n actions.disconnectWebSocket();\n switchMenu(3);\n }\n },\n { deep: true },\n )\n</script>\n\n<style scoped>\n .address {\n text-wrap: nowrap;\n display: block;\n }\n</style>"],"names":["text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA0DE,cAAU,OAAO;AAAA,MACf,gBAAgB,CAAC,MAAO,GAAK;AAAA,IACjC,CAAG;AAED,UAAM,QAAQ;AAGd,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACpB,UAAU;AAAA,MACV,GAAG;AAAA,IACP,CAAG;AAED,UAAM,gBAAgB,SAAS,MAAM;AACnC,YAAM,OAAO,KAAK,MAAM,MAAM,YAAY,EAAE;AAC5C,YAAM,OAAO,KAAK,MAAM,MAAM,YAAY,EAAE;AAE5C,aAAO,GAAG,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI;AAAA,IACjD,CAAC;AAED,UAAM,SAAS;AAAA,MAAS,MACtB,IAAI,UAAU,MAAM,YAAY,MAAM,EACnC,UAAU,EAAE,EACZ,SAAQ;AAAA,IACf;AAEE,UAAM,UAAU;AAAA,MAAS,MACvB,IAAI,UAAU,OAAO,KAAK,EACvB,UAAU,QAAQ,IAAI,mBAAmB,EACzC,SAAQ;AAAA,IACf;AAEE,UAAM,SAAS,SAAS,MAAM;AAC5B,cAAQ,MAAM,YAAY,QAAM;AAAA,QAC9B,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,gBAAM,gBAAgB,GAAG,MAAM,YAAY,iBAAiB,CAAC,MAAM,MAAM,OAAO,MAAM,cAAc,MAAM,OAAO,EAAE,aAAa;AAChI,iBAAO,eAAe,aAAa;AAAA,QACrC;AACE,iBAAO;AAAA,MACf;AAAA,IACE,CAAC;AAED,aAAS,gBAAgB;AACvB,YAAM,gBAAgB;AAAA,IACxB;AAEA,aAAS,WAAW,SAAS,GAAG;AAC9B,YAAM,eAAe,MAAM;AAAA,IAC7B;AAEA,aAAS,KAAKA,OAAM;AAClB,gBAAU,UAAU,UAAUA,KAAI;AAAA,IACpC;AAEA,cAAU,MAAM;AACd,aAAO;AAAA,QACL,SAAS,eAAe,wBAAwB;AAAA,QAChD,MAAM,YAAY;AAAA,QAClB,EAAE,OAAO,IAAG;AAAA,QACZ,CAAC,UAAW;AAAE,cAAI,OAAO;AAAE,oBAAQ,MAAM,KAAK;AAAA,UAAG;AAAA,QAAE;AAAA,MACzD;AAAA,IACE,CAAC;AAED;AAAA,MACE;AAAA,MACA,YAAY;AACV,YAAI,MAAM,YAAY,WAAW,wBAAwB;AACvD,kBAAQ,UAAS;AAAA,QACnB;AAEA,YAAI,MAAM,YAAY,WAAW,6BAA6B;AAC5D,kBAAQ,oBAAmB;AAC3B,qBAAW,CAAC;AAAA,QACd;AAAA,MACF;AAAA,MACA,EAAE,MAAM,KAAI;AAAA,IAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -129,7 +129,7 @@ const _sfc_main = {
|
|
|
129
129
|
!isMetaMaskInstalled.value ? (openBlock(), createElementBlock("button", {
|
|
130
130
|
key: 0,
|
|
131
131
|
onClick: connectMetaMask,
|
|
132
|
-
class: "
|
|
132
|
+
class: "ease-in-out cursor-pointer bg-black radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small t-white"
|
|
133
133
|
}, [
|
|
134
134
|
createElementVNode("img", {
|
|
135
135
|
loading: "lazy",
|
|
@@ -145,7 +145,7 @@ const _sfc_main = {
|
|
|
145
145
|
!isPolygon.value ? (openBlock(), createElementBlock("button", {
|
|
146
146
|
key: 0,
|
|
147
147
|
onClick: switchToPolygon,
|
|
148
|
-
class: "
|
|
148
|
+
class: "ease-in-out cursor-pointer hover:bg-white hover:t-black bg-black t-white radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small"
|
|
149
149
|
}, [
|
|
150
150
|
createElementVNode("img", {
|
|
151
151
|
loading: "lazy",
|
|
@@ -161,7 +161,7 @@ const _sfc_main = {
|
|
|
161
161
|
isPolygon.value ? (openBlock(), createElementBlock("button", {
|
|
162
162
|
key: 1,
|
|
163
163
|
onClick: addToken,
|
|
164
|
-
class: "
|
|
164
|
+
class: "ease-in-out cursor-pointer hover:bg-white hover:t-black bg-black radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small t-white"
|
|
165
165
|
}, [
|
|
166
166
|
createElementVNode("img", {
|
|
167
167
|
loading: "lazy",
|
|
@@ -169,7 +169,7 @@ const _sfc_main = {
|
|
|
169
169
|
class: "mn-r-small i-big"
|
|
170
170
|
}, null, 8, _hoisted_5),
|
|
171
171
|
createElementVNode("span", _hoisted_6, toDisplayString(unref(t)("addToken")), 1),
|
|
172
|
-
createVNode(_sfc_main$1, { class: "hover
|
|
172
|
+
createVNode(_sfc_main$1, { class: "hover:fill-black fill-white t-transp" })
|
|
173
173
|
])) : createCommentVNode("", true)
|
|
174
174
|
], 64)),
|
|
175
175
|
error.value ? (openBlock(), createElementBlock("p", _hoisted_7, toDisplayString(error.value), 1)) : createCommentVNode("", true)
|
package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectMetamask.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/elements/ConnectMetamask.vue"],"sourcesContent":["<template>\n <div>\n <!-- Connect Metamask -->\n <button \n v-if=\"!isMetaMaskInstalled\"\n @click=\"connectMetaMask\" \n class=\"
|
|
1
|
+
{"version":3,"file":"ConnectMetamask.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/elements/ConnectMetamask.vue"],"sourcesContent":["<template>\n <div>\n <!-- Connect Metamask -->\n <button \n v-if=\"!isMetaMaskInstalled\"\n @click=\"connectMetaMask\" \n class=\"ease-in-out cursor-pointer bg-black radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small t-white\"\n >\n <img loading=\"lazy\" :src=\"metamaskIcon\" class=\"mn-r-small i-big\">\n <span class=\"h4 uppercase w-100\">{{ t('connectMetaMask') }}</span>\n <IconAdd class=\"t-transp\" fill=\"rgb(var(--white))\"/>\n </button>\n <template v-else>\n <!-- Switch to Polygon -->\n <button \n v-if=\"!isPolygon\"\n @click=\"switchToPolygon\" \n class=\"ease-in-out cursor-pointer hover:bg-white hover:t-black bg-black t-white radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small\"\n >\n <img loading=\"lazy\" :src=\"metamaskIcon\" class=\"mn-r-small i-big\">\n <span class=\"h4 uppercase w-100\">{{ t('switchToPolygon') }}</span>\n <IconAdd class=\"t-transp\" fill=\"rgb(var(--white))\"/>\n </button>\n <!-- Add Token to metamask -->\n <button \n v-if=\"isPolygon\"\n @click=\"addToken\" \n class=\"ease-in-out cursor-pointer hover:bg-white hover:t-black bg-black radius-big flex-v-center flex-nowrap flex t-left uppercase w-100 pd-small t-white\"\n >\n <img loading=\"lazy\" :src=\"metamaskIcon\" class=\"mn-r-small i-big\">\n <span class=\"h4 uppercase w-100\">{{ t('addToken') }}</span>\n <IconAdd class=\"hover:fill-black fill-white t-transp\"/>\n </button>\n </template>\n <p class=\"mn-t-small\" v-if=\"error\">{{ error }}</p>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue';\n\nconst props = defineProps({\n // Token configuration\n tokenAddress: {\n type: String,\n required: true\n },\n tokenSymbol: {\n type: String,\n required: true\n },\n tokenImage: {\n type: String,\n required: true\n },\n tokenDecimals: {\n type: Number,\n default: 18\n },\n // Chain configuration\n targetChainId: {\n type: String,\n default: '0x89' // Polygon Mainnet by default\n },\n // UI configuration\n metamaskIcon: {\n type: String,\n default: '/icons/metamask.svg'\n },\n content: {\n type: Object,\n default: () => ({\n en: {\n \"connectMetaMask\": \"Connect MetaMask\",\n \"switchToPolygon\": \"Switch to Polygon\",\n \"addToken\": `Add token to MetaMask`,\n }\n })\n }\n});\n\nconst isMetaMaskInstalled = ref(false);\nconst isPolygon = ref(false);\nconst loading = ref(false);\nconst error = ref(null);\nconst buttonStyle = ref({});\n\nconst connectMetaMask = async () => {\n if (typeof window.ethereum !== 'undefined') {\n try {\n await window.ethereum.request({ method: 'eth_requestAccounts' });\n checkMetaMask();\n } catch (err) {\n error.value = err.message;\n console.error('Error connecting to MetaMask:', err);\n }\n } else {\n window.open('https://metamask.io/', '_blank');\n }\n};\n\nconst checkMetaMask = async () => {\n if (typeof window.ethereum !== 'undefined') {\n isMetaMaskInstalled.value = true;\n const chainId = await window.ethereum.request({ method: 'eth_chainId' });\n isPolygon.value = chainId === props.targetChainId;\n } else {\n isMetaMaskInstalled.value = false;\n }\n};\n\nconst switchToPolygon = async () => {\n try {\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: props.targetChainId }],\n });\n checkMetaMask();\n } catch (err) {\n error.value = err.message;\n console.error('Error switching to Polygon:', err);\n }\n};\n\nconst addToken = async () => {\n buttonStyle.value['pointer-events'] = 'none';\n error.value = null;\n loading.value = true;\n \n try {\n await ethereum.request({\n method: 'wallet_watchAsset',\n params: {\n type: 'ERC20',\n options: {\n address: props.tokenAddress,\n symbol: props.tokenSymbol,\n decimals: props.tokenDecimals,\n image: props.tokenImage,\n },\n },\n });\n buttonStyle.value['background-color'] = '#009911';\n loading.value = false;\n } catch (err) {\n error.value = err.message;\n loading.value = false;\n }\n};\n\nconst { t } = useI18n({\n messages: props.content\n});\n\nonMounted(() => {\n checkMetaMask();\n});\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,UAAM,QAAQ;AAwCd,UAAM,sBAAsB,IAAI,KAAK;AACrC,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,QAAQ,IAAI,IAAI;AACtB,UAAM,cAAc,IAAI,EAAE;AAE1B,UAAM,kBAAkB,YAAY;AAClC,UAAI,OAAO,OAAO,aAAa,aAAa;AAC1C,YAAI;AACF,gBAAM,OAAO,SAAS,QAAQ,EAAE,QAAQ,sBAAqB,CAAE;AAC/D,wBAAa;AAAA,QACf,SAAS,KAAK;AACZ,gBAAM,QAAQ,IAAI;AAClB,kBAAQ,MAAM,iCAAiC,GAAG;AAAA,QACpD;AAAA,MACF,OAAO;AACL,eAAO,KAAK,wBAAwB,QAAQ;AAAA,MAC9C;AAAA,IACF;AAEA,UAAM,gBAAgB,YAAY;AAChC,UAAI,OAAO,OAAO,aAAa,aAAa;AAC1C,4BAAoB,QAAQ;AAC5B,cAAM,UAAU,MAAM,OAAO,SAAS,QAAQ,EAAE,QAAQ,eAAe;AACvE,kBAAU,QAAQ,YAAY,MAAM;AAAA,MACtC,OAAO;AACL,4BAAoB,QAAQ;AAAA,MAC9B;AAAA,IACF;AAEA,UAAM,kBAAkB,YAAY;AAClC,UAAI;AACF,cAAM,OAAO,SAAS,QAAQ;AAAA,UAC5B,QAAQ;AAAA,UACR,QAAQ,CAAC,EAAE,SAAS,MAAM,cAAa,CAAE;AAAA,QAC/C,CAAK;AACD,sBAAa;AAAA,MACf,SAAS,KAAK;AACZ,cAAM,QAAQ,IAAI;AAClB,gBAAQ,MAAM,+BAA+B,GAAG;AAAA,MAClD;AAAA,IACF;AAEA,UAAM,WAAW,YAAY;AAC3B,kBAAY,MAAM,gBAAgB,IAAI;AACtC,YAAM,QAAQ;AACd,cAAQ,QAAQ;AAEhB,UAAI;AACF,cAAM,SAAS,QAAQ;AAAA,UACrB,QAAQ;AAAA,UACR,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,cACP,SAAS,MAAM;AAAA,cACf,QAAQ,MAAM;AAAA,cACd,UAAU,MAAM;AAAA,cAChB,OAAO,MAAM;AAAA,YACvB;AAAA,UACA;AAAA,QACA,CAAK;AACD,oBAAY,MAAM,kBAAkB,IAAI;AACxC,gBAAQ,QAAQ;AAAA,MAClB,SAAS,KAAK;AACZ,cAAM,QAAQ,IAAI;AAClB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEA,UAAM,EAAE,EAAC,IAAK,QAAQ;AAAA,MACpB,UAAU,MAAM;AAAA,IAClB,CAAC;AAED,cAAU,MAAM;AACd,oBAAa;AAAA,IACf,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|