@ozdao/martyrs 0.2.604 → 0.2.605
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/README.md +2 -2
- package/dist/_virtual/dayjs.min.js +1 -1
- package/dist/_virtual/weekOfYear.js +1 -1
- package/dist/{abac-Blt8bUTL.js → abac-kz5xI99l.js} +1 -0
- package/dist/auth.server.js +52 -12
- package/dist/builder.js +67 -2
- package/dist/chats.server.js +2 -2
- package/dist/community.server.js +3 -3
- package/dist/core.server.js +2 -2
- package/dist/{core.websocket-Cl76z2wT.js → core.websocket-B2FA8gGl.js} +0 -2
- package/dist/{crud-BT5FIvQC.js → crud-Cwn0frBP.js} +8 -2
- package/dist/events.server.js +4 -4
- package/dist/files.server.js +1 -1
- package/dist/gallery.server.js +2 -2
- package/dist/governance.server.js +10 -10
- package/dist/{index-kvBwwb0w.js → index-CPACC651.js} +1 -1
- package/dist/inventory.server.js +4 -4
- package/dist/{mailing-DT7nbNjZ.js → mailing-BBCidXGr.js} +38 -2
- package/dist/marketplace.server.js +2 -2
- package/dist/martyrs/dist/martyrs.es3.js +1 -1
- package/dist/martyrs/dist/martyrs.es3.js.map +1 -1
- package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/dayjs.min.js +1 -1
- package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/dayjs.min.js.map +1 -1
- package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
- package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
- package/dist/{node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_ → martyrs/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.7_vue@3.5.13}/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +305 -268
- package/dist/martyrs/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.7_vue@3.5.13/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -0
- package/dist/martyrs/src/components/Address/Address.vue2.js +13 -13
- package/dist/martyrs/src/components/Address/Address.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
- package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
- package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +150 -143
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Chart/Chart.vue.js +296 -0
- package/dist/martyrs/src/components/Chart/Chart.vue.js.map +1 -0
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +1 -1
- package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js +5 -6
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -1
- 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 +2 -2
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
- package/dist/martyrs/src/components/EditImages/{EditImages.vue2.js → EditImages.vue.js} +6 -6
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -0
- package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/Field/Field.vue.js +4 -4
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js +3 -3
- package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js.map +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +27 -21
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Map/Map.vue.js +20 -16
- package/dist/martyrs/src/components/Map/Map.vue.js.map +1 -1
- package/dist/martyrs/src/components/Popup/Popup.vue.js +3 -4
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -1
- package/dist/martyrs/src/components/Radio/Radio.vue.js +12 -10
- 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/Status/Snack.vue.js +1 -1
- package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.js +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
- package/dist/martyrs/src/components/Table/Table.vue.js +21 -4
- package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
- package/dist/martyrs/src/components/Tree/Tree.vue.js +1 -1
- package/dist/martyrs/src/components/Upload/Upload.vue2.js +2 -2
- package/dist/martyrs/src/components/Upload/Upload.vue2.js.map +1 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +2 -2
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/auth.client.js +14 -2
- package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/blocks/OtpDialog.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/blocks/OtpDialog.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/blocks/PopupAuth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/blocks/SidebarUserCard.vue.js +96 -0
- package/dist/martyrs/src/modules/auth/views/components/blocks/SidebarUserCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/BackofficeUsers.vue.js +337 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/BackofficeUsers.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +32 -18
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +76 -40
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +6 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +4 -4
- 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 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +28 -16
- 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/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/middlewares/auth.validation.js +6 -2
- package/dist/martyrs/src/modules/auth/views/middlewares/auth.validation.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/router/users.backoffice.router.js +53 -0
- package/dist/martyrs/src/modules/auth/views/router/users.backoffice.router.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/store/auth.js +2 -2
- package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +179 -253
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js +105 -44
- package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js +11 -5
- package/dist/martyrs/src/modules/backoffice/router/backoffice.router.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.map +1 -1
- package/dist/martyrs/src/modules/community/community.client.js +4 -4
- package/dist/martyrs/src/modules/community/community.client.js.map +1 -1
- 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/layouts/Community.vue.js +4 -4
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/ImageUpload.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/ImageUpload.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/core.client.js +18 -16
- package/dist/martyrs/src/modules/core/core.client.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/classes/core.app.js +25 -6
- package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/classes/module.manager.js +4 -2
- package/dist/martyrs/src/modules/core/views/classes/module.manager.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/AlertDialog.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/AlertDialog.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSlider.vue.js +132 -0
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSlider.vue.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/CardStat.vue.js +6 -28
- package/dist/martyrs/src/modules/core/views/components/blocks/CardStat.vue.js.map +1 -1
- package/dist/martyrs/src/modules/{auth → core}/views/components/blocks/CardUser.vue.js +29 -11
- package/dist/martyrs/src/modules/{auth → core}/views/components/blocks/CardUser.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/PopupDateSelector.vue.js +41 -26
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/elements/OnlineIndicator.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +2 -1
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +5 -5
- 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 +2 -2
- 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 +2 -2
- 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 +4 -4
- 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 +2 -2
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js +3 -3
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +6 -6
- package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/mixins/mixins.js +14 -1
- package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.js +8 -5
- package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/store/core.store.js +4 -0
- 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 +3 -0
- package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +9 -9
- 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 +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.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/events/events.client.js +4 -4
- package/dist/martyrs/src/modules/events/events.client.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/router/gallery.router.js +3 -3
- package/dist/martyrs/src/modules/gallery/router/gallery.router.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/components/blocks/CardInitiativeItem.vue.js +3 -3
- package/dist/martyrs/src/modules/governance/views/components/blocks/CardInitiativeItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/components/blocks/CardSprintItem.vue.js +4 -4
- package/dist/martyrs/src/modules/governance/views/components/blocks/CardSprintItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/components/blocks/CardTaskItem.vue.js +2 -2
- package/dist/martyrs/src/modules/governance/views/components/blocks/CardTaskItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/components/blocks/CardVotingItem.vue.js +3 -3
- package/dist/martyrs/src/modules/governance/views/components/blocks/CardVotingItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/components/pages/Initiatives.vue.js +3 -3
- package/dist/martyrs/src/modules/governance/views/components/pages/Initiatives.vue.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/components/partials/TaskStatusBadge.vue.js +1 -1
- package/dist/martyrs/src/modules/governance/views/components/partials/TaskStatusBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/components/sections/FormSprintDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/governance/views/components/sections/FormSprintDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/components/sections/FormTaskDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/governance/views/components/sections/FormTaskDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/governance/views/router/governance.router.js +3 -3
- package/dist/martyrs/src/modules/governance/views/router/governance.router.js.map +1 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +2 -2
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconApplications.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconApplications.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconCustomers.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconCustomers.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconUsers.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconUsers.vue.js.map +1 -0
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
- 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 +3 -3
- 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 +290 -173
- 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 +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/inventory.client.js +4 -4
- package/dist/martyrs/src/modules/inventory/inventory.client.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/router/inventory.router.js +15 -0
- package/dist/martyrs/src/modules/inventory/router/inventory.router.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +4 -4
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeatures.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeatures.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.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/SectionMobileApp.vue.js +2 -2
- 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 +1 -1
- 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 +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +3 -3
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +6 -6
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
- 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 +1 -1
- 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 +5 -5
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +3 -3
- 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 +8 -8
- 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 +5 -5
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +11 -11
- 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 +3 -3
- 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 +11 -11
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +4 -4
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js +162 -68
- package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js +181 -17
- package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/router/notifications.backoffice.router.js +21 -0
- package/dist/martyrs/src/modules/notifications/router/notifications.backoffice.router.js.map +1 -0
- package/dist/martyrs/src/modules/notifications/router/notifications.router.js +13 -42
- package/dist/martyrs/src/modules/notifications/router/notifications.router.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/store/notifications.store.js +66 -1
- package/dist/martyrs/src/modules/notifications/store/notifications.store.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +9 -7
- package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +11 -9
- package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js.map +1 -1
- 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 +66 -19
- 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 +29 -27
- 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 +7 -12
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.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 +4 -4
- 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 +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +46 -25
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +54 -38
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +454 -139
- 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 -1
- 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 +141 -68
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +38 -32
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +4 -4
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +167 -95
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.js +22 -20
- package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/orders.js +3 -5
- package/dist/martyrs/src/modules/orders/store/orders.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.js +5 -5
- package/dist/martyrs/src/modules/orders/store/shopcart.js.map +1 -1
- package/dist/martyrs/src/modules/orders/utils/rent-price.js +60 -0
- package/dist/martyrs/src/modules/orders/utils/rent-price.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +45 -55
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +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 +8 -8
- 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 +216 -83
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +35 -25
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +3 -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 +2 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +20 -18
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.js +39 -33
- package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.backoffice.router.js +81 -0
- package/dist/martyrs/src/modules/organizations/router/organizations.backoffice.router.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/Pages.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/Pages.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/router/pages.router.js +2 -2
- package/dist/martyrs/src/modules/pages/views/router/pages.router.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
- 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 +2 -2
- 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 +3 -3
- 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 +2 -2
- 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 +3 -3
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.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/pages/Categories.vue.js +9 -25
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +34 -17
- 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 +96 -96
- 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 +1 -1
- 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 +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +22 -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 +1 -1
- 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 +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/router/categories.router.js +2 -2
- package/dist/martyrs/src/modules/products/router/categories.router.js.map +1 -1
- package/dist/martyrs/src/modules/products/router/products.router.js +17 -3
- package/dist/martyrs/src/modules/products/router/products.router.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +11 -10
- 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 +197 -81
- 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 +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +685 -80
- 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 +68 -18
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/router/rents.router.js +3 -3
- package/dist/martyrs/src/modules/rents/views/router/rents.router.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/store/rents.store.js +1 -1
- package/dist/martyrs/src/modules/rents/views/store/rents.store.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/router/reports.router.js +1 -1
- package/dist/martyrs/src/modules/reports/router/reports.router.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/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +3 -3
- 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 +9 -7
- 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 +29 -37
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +8 -8
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/router/spots.router.js +3 -3
- package/dist/martyrs/src/modules/spots/router/spots.router.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/router/wallet.router.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/router/wallet.router.js.map +1 -1
- package/dist/martyrs.es10.js +59 -57
- package/dist/martyrs.es106.js +2 -2
- package/dist/martyrs.es11.js +31 -30
- package/dist/martyrs.es113.js +22 -166
- package/dist/martyrs.es114.js +4 -457
- package/dist/martyrs.es115.js +8 -40
- package/dist/martyrs.es116.js +166 -9
- package/dist/martyrs.es117.js +451 -43
- package/dist/martyrs.es118.js +38 -10
- package/dist/martyrs.es119.js +9 -44
- package/dist/martyrs.es12.js +8 -9
- package/dist/martyrs.es120.js +49 -4
- package/dist/martyrs.es121.js +10 -127
- package/dist/martyrs.es122.js +42 -98
- package/dist/martyrs.es123.js +4 -86
- package/dist/martyrs.es124.js +120 -29
- package/dist/martyrs.es125.js +99 -10
- package/dist/martyrs.es126.js +71 -24
- package/dist/martyrs.es127.js +37 -8
- package/dist/martyrs.es128.js +11 -22
- package/dist/martyrs.es129.js +39 -4
- package/dist/martyrs.es13.js +22 -19
- package/dist/martyrs.es130.js +9 -8
- package/dist/martyrs.es131.js +7 -7
- package/dist/martyrs.es132.js +2 -2
- package/dist/martyrs.es133.js +1 -1
- package/dist/martyrs.es135.js +1 -1
- package/dist/martyrs.es137.js +1 -1
- package/dist/martyrs.es138.js +7 -8
- package/dist/martyrs.es139.js +8 -7
- package/dist/martyrs.es14.js +2 -2
- package/dist/martyrs.es140.js +2 -2
- package/dist/martyrs.es144.js +10 -29
- package/dist/martyrs.es145.js +29 -10
- package/dist/martyrs.es146.js +2 -2
- package/dist/martyrs.es147.js +2 -2
- package/dist/martyrs.es149.js +1 -1
- package/dist/martyrs.es2.js +31 -30
- package/dist/martyrs.es22.js +16 -16
- package/dist/martyrs.es23.js +8 -8
- package/dist/martyrs.es24.js +9 -9
- package/dist/martyrs.es26.js +9 -11
- package/dist/martyrs.es27.js +9 -9
- package/dist/martyrs.es28.js +1 -1
- package/dist/martyrs.es29.js +5 -5
- package/dist/martyrs.es3.js +1 -1
- package/dist/martyrs.es38.js +1 -1
- package/dist/martyrs.es4.js +12 -12
- package/dist/martyrs.es41.js +34 -224
- package/dist/martyrs.es5.js +251 -238
- package/dist/martyrs.es61.js +33 -26
- package/dist/martyrs.es74.js +7 -7
- package/dist/martyrs.es76.js +12 -12
- package/dist/martyrs.es8.js +31 -31
- package/dist/music.server.js +3 -3
- package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@2.0.2/node_modules/@googlemaps/js-api-loader/dist/index.js +90 -0
- package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@2.0.2/node_modules/@googlemaps/js-api-loader/dist/index.js.map +1 -0
- package/dist/notifications.server.js +255 -23
- package/dist/orders.server.js +674 -136
- package/dist/organizations.server.js +11 -6
- package/dist/products.server.js +68 -7
- package/dist/{queryProcessor-C_5Iipam.js → queryProcessor-B2FCngFP.js} +3 -2
- package/dist/rents.server.js +183 -7
- package/dist/{socials.schema-DxnnaBgO.js → socials.schema-C3RjkqJv.js} +4 -0
- package/dist/spots.server.js +1 -1
- package/dist/style.css +292 -204
- package/dist/{tickets.controller-DdF85W-i.js → tickets.controller-Dpzf4kQx.js} +1 -1
- package/dist/wallet.server.js +2 -2
- package/package.json +5 -3
- package/src/builder/modes/ssr.rspack.dev.js +2 -0
- package/src/builder/rspack/rspack.config.ssr.client.js +58 -1
- package/src/builder/ssr/asset-resolver.js +1 -1
- package/src/builder/templates/page.js +2 -0
- package/src/components/Address/Address.vue +16 -16
- package/src/components/Button/Button.vue +0 -1
- package/src/components/ButtonSegmented/ButtonSegmented.vue +1 -1
- package/src/components/Calendar/Calendar.vue +141 -118
- package/src/components/Chart/Chart.vue +216 -0
- package/src/components/Checkbox/Checkbox.vue +1 -1
- package/src/components/Chips/Chips.vue +4 -5
- package/src/components/Countdown/Countdown.vue +5 -5
- package/src/components/DatePicker/DatePicker.vue +2 -2
- package/src/components/EditImages/EditImages.vue +3 -3
- package/src/components/EmptyState/EmptyState.vue +1 -1
- package/src/components/Feed/Feed.vue +5 -0
- package/src/components/Field/Field.vue +3 -3
- package/src/components/FieldDate/FieldDate.vue +2 -2
- package/src/components/LocationMarker/LocationMarker.vue +28 -21
- package/src/components/Map/Map.vue +20 -15
- package/src/components/Popup/Popup.vue +3 -3
- package/src/components/Radio/Radio.vue +2 -2
- package/src/components/Select/Select.vue +1 -1
- package/src/components/Status/Snack.vue +1 -1
- package/src/components/Status/Status.vue +1 -1
- package/src/components/Table/Table.vue +16 -1
- package/src/components/Upload/Upload.vue +1 -1
- package/src/components/UploadImage/UploadImage.vue +1 -1
- package/src/components/UploadImageMultiple/UploadImageMultiple.vue +1 -1
- package/src/jit/rules.js +4 -0
- package/src/modules/TASKS.MD +16 -3
- package/src/modules/auth/auth.client.js +18 -3
- package/src/modules/auth/controllers/routes/users.routes.js +18 -0
- package/src/modules/auth/controllers/services/auth.service.js +3 -3
- package/src/modules/auth/controllers/services/users.service.js +34 -5
- package/src/modules/auth/views/components/blocks/OtpDialog.vue +4 -4
- package/src/modules/auth/views/components/blocks/PopupAuth.vue +1 -1
- package/src/modules/auth/views/components/blocks/SidebarUserCard.vue +95 -0
- package/src/modules/auth/views/components/pages/BackofficeUsers.vue +337 -0
- package/src/modules/auth/views/components/pages/Invite.vue +1 -1
- package/src/modules/auth/views/components/pages/Profile.vue +1 -1
- package/src/modules/auth/views/components/pages/ProfileEdit.vue +23 -14
- package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +45 -26
- package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +8 -7
- package/src/modules/auth/views/components/pages/ResetPassword.vue +4 -4
- package/src/modules/auth/views/components/pages/SignUp.vue +3 -3
- package/src/modules/auth/views/components/pages/UserDashboard.vue +8 -5
- package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
- package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
- package/src/modules/auth/views/middlewares/auth.validation.js +7 -2
- package/src/modules/auth/views/router/users.backoffice.router.js +39 -0
- package/src/modules/auth/views/store/auth.js +2 -2
- package/src/modules/backoffice/components/admin/Backcalls.vue +2 -2
- package/src/modules/backoffice/components/admin/Dashboard.sublime-workspace +1 -1
- package/src/modules/backoffice/components/admin/FastOrders.vue +3 -3
- package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
- package/src/modules/backoffice/components/pages/Dashboard.vue +102 -139
- package/src/modules/backoffice/configs/navigation.backoffice.config.js +91 -29
- package/src/modules/backoffice/router/backoffice.router.js +7 -1
- package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
- package/src/modules/chats/components/sections/ChatWindow.vue +1 -1
- package/src/modules/community/community.client.js +4 -4
- package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
- package/src/modules/community/components/layouts/Community.vue +4 -4
- package/src/modules/community/components/sections/Comment.vue +1 -1
- package/src/modules/constructor/components/elements/ImageUpload.vue +1 -1
- package/src/modules/core/TASK.MD +2 -2
- package/src/modules/core/controllers/classes/abac/abac.core.js +1 -0
- package/src/modules/core/controllers/classes/core.websocket.js +0 -2
- package/src/modules/core/controllers/classes/crud/crud.core.js +6 -0
- package/src/modules/core/controllers/classes/crud/crud.service.js +6 -0
- package/src/modules/core/controllers/utils/mailing.js +35 -26
- package/src/modules/core/controllers/utils/queryProcessor.js +4 -2
- package/src/modules/core/core.client.js +1 -0
- package/src/modules/core/models/schemas/embedding.schema.js +8 -0
- package/src/modules/core/models/schemas/socials.schema.js +4 -0
- package/src/modules/core/sw.js +448 -0
- package/src/modules/core/views/classes/core.app.js +37 -13
- package/src/modules/core/views/classes/module.manager.js +3 -1
- package/src/modules/core/views/components/blocks/AlertDialog.vue +1 -1
- package/src/modules/core/views/components/blocks/BlockSearch.vue +1 -1
- package/src/modules/core/views/components/blocks/BlockSlider.vue +96 -0
- package/src/modules/core/views/components/blocks/CardHeader.vue +2 -2
- package/src/modules/core/views/components/blocks/CardStat.vue +4 -18
- package/src/modules/{auth → core}/views/components/blocks/CardUser.vue +45 -20
- 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/blocks/PopupDateSelector.vue +41 -24
- package/src/modules/core/views/components/layouts/Client.vue +1 -1
- package/src/modules/core/views/components/pages/404.vue +5 -5
- package/src/modules/core/views/components/partials/BottomNavigationBar.vue +5 -5
- package/src/modules/core/views/components/partials/CitySelection.vue +2 -2
- package/src/modules/core/views/components/partials/Footer.centered.vue +2 -2
- package/src/modules/core/views/components/partials/Footer.vue +2 -2
- package/src/modules/core/views/components/partials/Header.vue +3 -3
- package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
- package/src/modules/core/views/components/partials/Navigation.vue +1 -1
- package/src/modules/core/views/components/sections/Filters.vue +2 -2
- package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
- package/src/modules/core/views/components/sections/Walkthrough.vue +6 -6
- package/src/modules/core/views/mixins/mixins.js +17 -0
- package/src/modules/core/views/plugins/date-picker.plugin.js +8 -5
- package/src/modules/core/views/store/core.store.js +5 -0
- package/src/modules/core/views/utils/vue-app-renderer.js +5 -0
- package/src/modules/events/components/pages/EditEventTickets.vue +9 -9
- package/src/modules/events/components/pages/Event.vue +2 -2
- package/src/modules/events/components/sections/EditTickets.vue +1 -1
- package/src/modules/events/components/sections/SelectDate.vue +1 -1
- package/src/modules/events/events.client.js +4 -4
- package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
- package/src/modules/gallery/router/gallery.router.js +3 -3
- package/src/modules/governance/middlewares/sprints.verifier.js +3 -3
- package/src/modules/governance/middlewares/tasks.verifier.js +3 -3
- package/src/modules/governance/models/sprint.model.js +1 -1
- package/src/modules/governance/models/task.model.js +1 -1
- package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
- package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +3 -3
- package/src/modules/governance/views/components/blocks/CardSprintItem.vue +4 -4
- package/src/modules/governance/views/components/blocks/CardTaskItem.vue +2 -2
- package/src/modules/governance/views/components/blocks/CardVotingItem.vue +3 -3
- package/src/modules/governance/views/components/pages/Initiatives.vue +3 -3
- package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +1 -1
- package/src/modules/governance/views/components/sections/FormSprintDetails.vue +1 -1
- package/src/modules/governance/views/components/sections/FormTaskDetails.vue +1 -1
- package/src/modules/governance/views/router/governance.router.js +3 -3
- package/src/modules/icons/components/IconSearchPopup.vue +1 -1
- package/src/modules/icons/entities/IconApplications.vue +14 -0
- package/src/modules/icons/entities/IconCustomers.vue +14 -0
- package/src/modules/icons/entities/IconUsers.vue +14 -0
- package/src/modules/inventory/components/forms/AdjustmentForm.vue +2 -2
- package/src/modules/inventory/components/forms/ColumnSettingsMenu.vue +2 -2
- package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
- package/src/modules/inventory/components/forms/StockAlertsForm.vue +3 -3
- package/src/modules/inventory/components/pages/Inventory.vue +278 -159
- package/src/modules/inventory/components/pages/InventoryEdit.vue +2 -2
- package/src/modules/inventory/inventory.client.js +4 -4
- package/src/modules/inventory/models/stock.audit.model.js +1 -1
- package/src/modules/inventory/router/inventory.router.js +12 -0
- package/src/modules/landing/components/sections/SectionEarn.vue +3 -3
- package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
- package/src/modules/landing/components/sections/SectionFeatures.vue +1 -1
- package/src/modules/landing/components/sections/SectionFeaturesImages.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 +1 -1
- package/src/modules/landing/components/sections/SectionMobileApp.vue +2 -2
- package/src/modules/landing/components/sections/SectionOverview.vue +1 -1
- package/src/modules/landing/components/sections/SectionRoadmap.vue +1 -1
- package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
- package/src/modules/marketplace/views/components/sections/SectionMenu.vue +2 -2
- package/src/modules/music/components/SidebarMusic.vue +1 -1
- package/src/modules/music/components/cards/AlbumCard.vue +1 -1
- package/src/modules/music/components/cards/ArtistCard.vue +1 -1
- package/src/modules/music/components/cards/ArtistCardSmall.vue +1 -1
- package/src/modules/music/components/cards/PlaylistCard.vue +1 -1
- package/src/modules/music/components/cards/TrackListCard.vue +6 -6
- package/src/modules/music/components/forms/AlbumForm.vue +2 -2
- package/src/modules/music/components/forms/ArtistForm.vue +1 -1
- package/src/modules/music/components/forms/PlaylistForm.vue +5 -5
- package/src/modules/music/components/forms/TrackForm.vue +3 -3
- package/src/modules/music/components/pages/Album.vue +8 -8
- package/src/modules/music/components/pages/Artist.vue +5 -5
- package/src/modules/music/components/pages/Playlist.vue +11 -11
- package/src/modules/music/components/pages/SearchResults.vue +2 -2
- package/src/modules/music/components/pages/Track.vue +11 -11
- package/src/modules/music/components/player/FullscreenPlayer.vue +3 -3
- package/src/modules/music/components/player/TrackProgress.vue +1 -1
- package/src/modules/notifications/components/sections/NotificationPreferences.vue +182 -52
- package/src/modules/notifications/controllers/notifications.controller.js +242 -17
- package/src/modules/notifications/models/notification-preference.model.js +4 -0
- package/src/modules/notifications/notifications.client.js +213 -20
- package/src/modules/notifications/router/notifications.backoffice.router.js +16 -0
- package/src/modules/notifications/router/notifications.router.js +13 -45
- package/src/modules/notifications/routes/notifications.routes.js +9 -0
- package/src/modules/notifications/services/notification.service.js +33 -9
- package/src/modules/notifications/services/telegram.service.js +2 -2
- package/src/modules/notifications/services/web-push.service.js +6 -2
- package/src/modules/notifications/store/notifications.store.js +69 -0
- package/src/modules/orders/components/blocks/CardApplication.vue +9 -6
- package/src/modules/orders/components/blocks/CardCustomer.vue +10 -7
- package/src/modules/orders/components/blocks/CardOrder.vue +8 -8
- package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +58 -12
- package/src/modules/orders/components/blocks/CardOrderItem.vue +31 -28
- package/src/modules/orders/components/blocks/CardOrderUser.vue +7 -12
- package/src/modules/orders/components/blocks/CardOrderVar1.vue +3 -3
- package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
- package/src/modules/orders/components/elements/PriceTotal.vue +4 -4
- package/src/modules/orders/components/forms/FormApplicationDetails.vue +1 -1
- package/src/modules/orders/components/forms/FormSelectCustomer.vue +48 -25
- package/src/modules/orders/components/pages/Applications.vue +2 -2
- package/src/modules/orders/components/pages/Customers.vue +35 -23
- package/src/modules/orders/components/pages/OrderBackoffice.vue +780 -393
- package/src/modules/orders/components/pages/OrderCreate.vue +5 -4
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +112 -42
- package/src/modules/orders/components/pages/Orders.vue +20 -19
- package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
- package/src/modules/orders/components/partials/ShopCart.vue +1 -1
- 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 +130 -64
- package/src/modules/orders/controllers/orders.controller.js +463 -134
- package/src/modules/orders/middlewares/applications.verifier.js +3 -3
- package/src/modules/orders/middlewares/customers.verifier.js +4 -0
- package/src/modules/orders/middlewares/orders.verifier.js +187 -0
- package/src/modules/orders/models/customer.model.js +2 -0
- package/src/modules/orders/models/order.model.js +20 -2
- package/src/modules/orders/orders.client.js +21 -19
- package/src/modules/orders/routes/applications.routes.js +13 -3
- package/src/modules/orders/routes/customers.routes.js +2 -0
- package/src/modules/orders/routes/orders.routes.js +46 -4
- package/src/modules/orders/store/orders.js +4 -7
- package/src/modules/orders/store/shopcart.js +6 -7
- package/src/modules/orders/utils/rent-price.js +90 -0
- package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
- package/src/modules/organizations/components/blocks/CardOrganization.vue +30 -33
- package/src/modules/organizations/components/blocks/EmptyState.vue +1 -1
- package/src/modules/organizations/components/blocks/Rating.vue +1 -1
- package/src/modules/organizations/components/blocks/Socials.vue +2 -2
- package/src/modules/organizations/components/elements/ButtonToggleMembership.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 +8 -8
- package/src/modules/organizations/components/pages/Organization.vue +232 -124
- package/src/modules/organizations/components/pages/OrganizationCreate.vue +3 -3
- package/src/modules/organizations/components/pages/OrganizationDocuments.vue +1 -1
- package/src/modules/organizations/components/pages/OrganizationEdit.vue +15 -6
- package/src/modules/organizations/components/pages/Organizations.vue +3 -2
- package/src/modules/organizations/components/sections/Documents.vue +1 -1
- package/src/modules/organizations/components/sections/MembersAdd.vue +2 -2
- package/src/modules/organizations/configs/navigation.organization.config.js +34 -26
- package/src/modules/organizations/controllers/organizations.controller.js +8 -3
- package/src/modules/organizations/models/organization.model.js +1 -0
- package/src/modules/organizations/organizations.client.js +39 -33
- package/src/modules/organizations/router/organizations.backoffice.router.js +67 -0
- package/src/modules/pages/views/components/pages/Pages.vue +1 -1
- package/src/modules/pages/views/router/pages.router.js +2 -2
- package/src/modules/products/components/blocks/CardPosition.vue +2 -2
- package/src/modules/products/components/blocks/CardProduct.vue +2 -2
- package/src/modules/products/components/blocks/ProductDiscounts.vue +1 -1
- package/src/modules/products/components/blocks/ProductImages.vue +1 -1
- package/src/modules/products/components/blocks/ProductVariants.vue +3 -3
- package/src/modules/products/components/elements/Price.vue +2 -2
- package/src/modules/products/components/forms/ColumnSettingsMenu.vue +2 -2
- package/src/modules/products/components/forms/ReorderSettingsForm.vue +3 -3
- 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 +9 -20
- package/src/modules/products/components/pages/ProductEdit.vue +19 -3
- package/src/modules/products/components/pages/Products.vue +20 -19
- package/src/modules/products/components/sections/EditAttributes.vue +1 -1
- package/src/modules/products/components/sections/EditCategories.vue +1 -1
- package/src/modules/products/components/sections/EditDiscounts.vue +2 -2
- package/src/modules/products/components/sections/EditVariants.vue +14 -2
- package/src/modules/products/components/sections/FilterProducts.vue +1 -1
- package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
- package/src/modules/products/components/sections/SectionProduct.vue +3 -3
- package/src/modules/products/controllers/products.controller.js +50 -5
- package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +2 -2
- package/src/modules/products/models/product.model.js +7 -0
- package/src/modules/products/models/variant.model.js +4 -0
- package/src/modules/products/router/categories.router.js +2 -2
- package/src/modules/products/router/products.router.js +14 -3
- package/src/modules/rents/controllers/routes/rents.routes.js +11 -0
- package/src/modules/rents/controllers/services/rents.services.js +193 -2
- package/src/modules/rents/models/rent.model.js +9 -0
- package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +28 -11
- package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +200 -40
- package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +2 -2
- package/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue +2 -2
- package/src/modules/rents/views/components/pages/Rents.vue +641 -142
- package/src/modules/rents/views/components/pages/RentsEdit.vue +44 -4
- package/src/modules/rents/views/router/rents.router.js +3 -3
- package/src/modules/rents/views/store/rents.store.js +1 -1
- package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
- package/src/modules/reports/router/reports.router.js +1 -1
- package/src/modules/spots/components/blocks/CardSpot.vue +6 -6
- package/src/modules/spots/components/pages/Spot.vue +2 -2
- package/src/modules/spots/components/pages/SpotEdit.vue +8 -6
- package/src/modules/spots/components/pages/Spots.vue +18 -24
- package/src/modules/spots/components/sections/WorktimeEdit.vue +7 -7
- package/src/modules/spots/router/spots.router.js +3 -3
- package/src/modules/wallet/views/components/blocks/CashDeposit.vue +1 -1
- package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +3 -3
- package/src/modules/wallet/views/components/pages/Payments.vue +1 -1
- package/src/modules/wallet/views/components/pages/Wallet.vue +4 -4
- package/src/modules/wallet/views/router/wallet.router.js +1 -1
- package/src/styles/layout.scss +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/icons/entities/IconCash.vue.js +0 -70
- package/dist/martyrs/src/modules/icons/entities/IconCash.vue.js.map +0 -1
- package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js +0 -336
- package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +0 -1
|
@@ -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 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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"}
|
|
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 opacity-50\">\n {{ period.open }} - {{ period.close }}\n </span>\n <span v-if=\"pIndex < day.periods.length - 1\" class=\"t-small opacity-50\">, </span>\n </template>\n </div>\n <div v-else class=\"day-hours t-small opacity-50 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 opacity-50 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 opacity-50\">\n {{ period.open }} - {{ period.close }}\n </span>\n <span v-if=\"pIndex < day.periods.length - 1\" class=\"t-small opacity-50\">, </span>\n </template>\n </div>\n <div v-else class=\"day-hours t-small opacity-50 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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"}
|
|
@@ -7,7 +7,7 @@ function getRoutes(options = {}) {
|
|
|
7
7
|
const routeBackoffice = options.routeBackoffice || "Backoffice Root";
|
|
8
8
|
const routeOrganizations = options.routeOrganizations || "OrganizationRoot";
|
|
9
9
|
const routes = [];
|
|
10
|
-
routes.push({
|
|
10
|
+
if (!options.contexts || options.contexts.includes("client")) routes.push({
|
|
11
11
|
parentName: route,
|
|
12
12
|
config: {
|
|
13
13
|
basePath: options.basePath || "spots",
|
|
@@ -65,7 +65,7 @@ function getRoutes(options = {}) {
|
|
|
65
65
|
]
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
|
-
if (!options.
|
|
68
|
+
if (!options.contexts || options.contexts.includes("backoffice")) {
|
|
69
69
|
routes.push({
|
|
70
70
|
parentName: routeBackoffice,
|
|
71
71
|
config: {
|
|
@@ -160,7 +160,7 @@ function getRoutes(options = {}) {
|
|
|
160
160
|
}
|
|
161
161
|
});
|
|
162
162
|
}
|
|
163
|
-
if (!options.
|
|
163
|
+
if (!options.contexts || options.contexts.includes("organization")) {
|
|
164
164
|
routes.push({
|
|
165
165
|
parentName: routeOrganizations,
|
|
166
166
|
config: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spots.router.js","sources":["../../../../../../src/modules/spots/router/spots.router.js"],"sourcesContent":["import * as validationAuth from '@martyrs/src/modules/auth/views/middlewares/auth.validation.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\nconst { hasAccess, isAdmin } = useGlobalMixins();\n\nexport function getRoutes(options = {}) {\n const route = options.route || 'Home';\n const routeBackoffice = options.routeBackoffice || 'Backoffice Root';\n const routeOrganizations = options.routeOrganizations || 'OrganizationRoot';\n\n const routes = [];\n\n // Home контекст - только карта\n routes.push({\n parentName: route,\n config: {\n basePath: options.basePath || 'spots',\n component: () => import(/* webpackChunkName: \"layout-empty\" */ '@martyrs/src/modules/core/views/components/layouts/Empty.vue'),\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n title_hide: true,\n breadcrumbs: {\n hide: true,\n hidden: true,\n },\n },\n routes: [\n {\n path: ':country?',\n component: () => import(/* webpackChunkName: \"layout-spots\" */ '../components/layouts/Spots.vue'),\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n header_theme: 'dark',\n footer_theme: 'dark',\n },\n children: [\n {\n path: ':state?',\n name: 'Spots State',\n component: () => import(/* webpackChunkName: 'spots-map' */ '../components/pages/Map.vue'),\n children: [\n {\n path: ':city?',\n name: 'Spots City',\n component: () => import(/* webpackChunkName: 'spots-map' */ '../components/pages/Map.vue'),\n },\n ],\n },\n ],\n },\n ],\n }\n });\n\n // Backoffice контекст\n if (!options.withBackoffice) {\n routes.push({\n parentName: routeBackoffice,\n config: {\n basePath: options.backofficeBasePath || 'spots',\n routeNamePrefix: 'Backoffice',\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n context: 'Backoffice',\n },\n routes: [\n {\n path: '',\n name: 'Spots',\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n title_hide: true,\n },\n component: () => import(/* webpackChunkName: 'spots-list' */ '../components/pages/Spots.vue'),\n },\n {\n path: 'create',\n name: 'Create Spot',\n meta: {\n title: {\n en: 'Create Spot',\n ru: 'Создать Место',\n },\n title_hide: false,\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n (to, from, next) => {\n if (isAdmin(auth.state.access.roles)) {\n next();\n } else {\n next('/401');\n }\n }\n ],\n component: () => import(/* webpackChunkName: 'spot-edit' */ '../components/pages/SpotEdit.vue'),\n },\n // {\n // path: ':spot',\n // name: 'Spot',\n // meta: {\n // title: {\n // en: 'Spot',\n // ru: 'Место',\n // },\n // title_hide: false,\n // },\n // component: () => import(/* webpackChunkName: 'spot-detail' */ '../components/pages/Spot.vue'),\n // },\n {\n path: ':spot/edit',\n name: 'Edit Spot',\n meta: {\n title: {\n en: 'Edit Spot',\n ru: 'Редактировать Место',\n },\n title_hide: false,\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n (to, from, next) => {\n if (isAdmin(auth.state.access.roles)) {\n next();\n } else {\n next('/401');\n }\n }\n ],\n component: () => import(/* webpackChunkName: 'spot-edit' */ '../components/pages/SpotEdit.vue'),\n },\n ],\n },\n });\n }\n\n // Organizations контекст\n if (!options.withOrganizationRoutes) {\n routes.push({\n parentName: routeOrganizations,\n config: {\n basePath: options.organizationBasePath || 'spots',\n routeNamePrefix: 'Organization',\n meta: {\n title: {\n en: 'Organization Spots',\n ru: 'Места Организации',\n },\n context: 'Organization',\n },\n routes: [\n {\n path: '',\n name: 'Spots',\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n title_hide: true,\n },\n component: () => import(/* webpackChunkName: 'spots-list' */ '../components/pages/Spots.vue'),\n },\n {\n path: 'create',\n name: 'Create Spot',\n meta: {\n title: {\n en: 'Create Spot',\n ru: 'Создать Место',\n },\n title_hide: false,\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n (to, from, next) => {\n if (isAdmin(auth.state.access.roles) || hasAccess(to.params._id, 'spots', 'create', auth.state.accesses, auth.state.access.roles)) {\n next();\n } else {\n next('/401');\n }\n }\n ],\n component: () => import(/* webpackChunkName: 'spot-edit' */ '../components/pages/SpotEdit.vue'),\n },\n // {\n // path: ':spot',\n // name: 'Spot',\n // meta: {\n // title: {\n // en: 'Spot',\n // ru: 'Место',\n // },\n // title_hide: false,\n // },\n // component: () => import(/* webpackChunkName: 'spot-detail' */ '../components/pages/Spot.vue'),\n // },\n {\n path: ':spot/edit',\n name: 'Edit Spot',\n meta: {\n title: {\n en: 'Edit Spot',\n ru: 'Редактировать Место',\n },\n title_hide: false,\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n (to, from, next) => {\n if (isAdmin(auth.state.access.roles) || hasAccess(to.params._id, 'spots', 'edit', auth.state.accesses, auth.state.access.roles)) {\n next();\n } else {\n next('/401');\n }\n }\n ],\n component: () => import(/* webpackChunkName: 'spot-edit' */ '../components/pages/SpotEdit.vue'),\n },\n ],\n }\n });\n }\n\n return routes;\n}\n\nexport default { getRoutes };"],"names":["validationAuth.requiresAuth","auth.state"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spots.router.js","sources":["../../../../../../src/modules/spots/router/spots.router.js"],"sourcesContent":["import * as validationAuth from '@martyrs/src/modules/auth/views/middlewares/auth.validation.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\n\nconst { hasAccess, isAdmin } = useGlobalMixins();\n\nexport function getRoutes(options = {}) {\n const route = options.route || 'Home';\n const routeBackoffice = options.routeBackoffice || 'Backoffice Root';\n const routeOrganizations = options.routeOrganizations || 'OrganizationRoot';\n\n const routes = [];\n\n // Home контекст - только карта\n if (!options.contexts || options.contexts.includes('client')) routes.push({\n parentName: route,\n config: {\n basePath: options.basePath || 'spots',\n component: () => import(/* webpackChunkName: \"layout-empty\" */ '@martyrs/src/modules/core/views/components/layouts/Empty.vue'),\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n title_hide: true,\n breadcrumbs: {\n hide: true,\n hidden: true,\n },\n },\n routes: [\n {\n path: ':country?',\n component: () => import(/* webpackChunkName: \"layout-spots\" */ '../components/layouts/Spots.vue'),\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n header_theme: 'dark',\n footer_theme: 'dark',\n },\n children: [\n {\n path: ':state?',\n name: 'Spots State',\n component: () => import(/* webpackChunkName: 'spots-map' */ '../components/pages/Map.vue'),\n children: [\n {\n path: ':city?',\n name: 'Spots City',\n component: () => import(/* webpackChunkName: 'spots-map' */ '../components/pages/Map.vue'),\n },\n ],\n },\n ],\n },\n ],\n }\n });\n\n // Backoffice контекст\n if (!options.contexts || options.contexts.includes('backoffice')) {\n routes.push({\n parentName: routeBackoffice,\n config: {\n basePath: options.backofficeBasePath || 'spots',\n routeNamePrefix: 'Backoffice',\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n context: 'Backoffice',\n },\n routes: [\n {\n path: '',\n name: 'Spots',\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n title_hide: true,\n },\n component: () => import(/* webpackChunkName: 'spots-list' */ '../components/pages/Spots.vue'),\n },\n {\n path: 'create',\n name: 'Create Spot',\n meta: {\n title: {\n en: 'Create Spot',\n ru: 'Создать Место',\n },\n title_hide: false,\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n (to, from, next) => {\n if (isAdmin(auth.state.access.roles)) {\n next();\n } else {\n next('/401');\n }\n }\n ],\n component: () => import(/* webpackChunkName: 'spot-edit' */ '../components/pages/SpotEdit.vue'),\n },\n // {\n // path: ':spot',\n // name: 'Spot',\n // meta: {\n // title: {\n // en: 'Spot',\n // ru: 'Место',\n // },\n // title_hide: false,\n // },\n // component: () => import(/* webpackChunkName: 'spot-detail' */ '../components/pages/Spot.vue'),\n // },\n {\n path: ':spot/edit',\n name: 'Edit Spot',\n meta: {\n title: {\n en: 'Edit Spot',\n ru: 'Редактировать Место',\n },\n title_hide: false,\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n (to, from, next) => {\n if (isAdmin(auth.state.access.roles)) {\n next();\n } else {\n next('/401');\n }\n }\n ],\n component: () => import(/* webpackChunkName: 'spot-edit' */ '../components/pages/SpotEdit.vue'),\n },\n ],\n },\n });\n }\n\n // Organizations контекст\n if (!options.contexts || options.contexts.includes('organization')) {\n routes.push({\n parentName: routeOrganizations,\n config: {\n basePath: options.organizationBasePath || 'spots',\n routeNamePrefix: 'Organization',\n meta: {\n title: {\n en: 'Organization Spots',\n ru: 'Места Организации',\n },\n context: 'Organization',\n },\n routes: [\n {\n path: '',\n name: 'Spots',\n meta: {\n title: {\n en: 'Spots',\n ru: 'Места',\n },\n title_hide: true,\n },\n component: () => import(/* webpackChunkName: 'spots-list' */ '../components/pages/Spots.vue'),\n },\n {\n path: 'create',\n name: 'Create Spot',\n meta: {\n title: {\n en: 'Create Spot',\n ru: 'Создать Место',\n },\n title_hide: false,\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n (to, from, next) => {\n if (isAdmin(auth.state.access.roles) || hasAccess(to.params._id, 'spots', 'create', auth.state.accesses, auth.state.access.roles)) {\n next();\n } else {\n next('/401');\n }\n }\n ],\n component: () => import(/* webpackChunkName: 'spot-edit' */ '../components/pages/SpotEdit.vue'),\n },\n // {\n // path: ':spot',\n // name: 'Spot',\n // meta: {\n // title: {\n // en: 'Spot',\n // ru: 'Место',\n // },\n // title_hide: false,\n // },\n // component: () => import(/* webpackChunkName: 'spot-detail' */ '../components/pages/Spot.vue'),\n // },\n {\n path: ':spot/edit',\n name: 'Edit Spot',\n meta: {\n title: {\n en: 'Edit Spot',\n ru: 'Редактировать Место',\n },\n title_hide: false,\n },\n beforeEnter: [\n validationAuth.requiresAuth,\n (to, from, next) => {\n if (isAdmin(auth.state.access.roles) || hasAccess(to.params._id, 'spots', 'edit', auth.state.accesses, auth.state.access.roles)) {\n next();\n } else {\n next('/401');\n }\n }\n ],\n component: () => import(/* webpackChunkName: 'spot-edit' */ '../components/pages/SpotEdit.vue'),\n },\n ],\n }\n });\n }\n\n return routes;\n}\n\nexport default { getRoutes };"],"names":["validationAuth.requiresAuth","auth.state"],"mappings":"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"}
|
|
@@ -138,7 +138,7 @@ const _sfc_main = {
|
|
|
138
138
|
}, null, 8, _hoisted_1),
|
|
139
139
|
createElementVNode("span", _hoisted_2, toDisplayString(unref(t)("connectMetaMask")), 1),
|
|
140
140
|
createVNode(_sfc_main$1, {
|
|
141
|
-
class: "
|
|
141
|
+
class: "opacity-50",
|
|
142
142
|
fill: "rgb(var(--white))"
|
|
143
143
|
})
|
|
144
144
|
])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
@@ -154,7 +154,7 @@ const _sfc_main = {
|
|
|
154
154
|
}, null, 8, _hoisted_3),
|
|
155
155
|
createElementVNode("span", _hoisted_4, toDisplayString(unref(t)("switchToPolygon")), 1),
|
|
156
156
|
createVNode(_sfc_main$1, {
|
|
157
|
-
class: "
|
|
157
|
+
class: "opacity-50",
|
|
158
158
|
fill: "rgb(var(--white))"
|
|
159
159
|
})
|
|
160
160
|
])) : createCommentVNode("", true),
|
|
@@ -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:fill-black fill-white
|
|
172
|
+
createVNode(_sfc_main$1, { class: "hover:fill-black fill-white opacity-50" })
|
|
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=\"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=\"
|
|
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=\"opacity-50\" 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=\"opacity-50\" 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 opacity-50\"/>\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -27,7 +27,7 @@ const _sfc_main = {
|
|
|
27
27
|
{ name: "Refunded", value: "refunded" }
|
|
28
28
|
],
|
|
29
29
|
actions: [
|
|
30
|
-
{ to: { name: "PaymentsCreate" }, label: "
|
|
30
|
+
{ to: { name: "PaymentsCreate" }, label: "+ Add Payment" }
|
|
31
31
|
],
|
|
32
32
|
class: "mn-b-small bg-light bg-light radius-big"
|
|
33
33
|
}, null, 8, ["tabs_current"]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Payments.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/pages/Payments.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n\n <SectionPageTitle\n title=\"Payments\"\n @update:tabs_current=\"(update) => tab = update\"\n :tabs_current=\"tab\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Created', value: 'created' },\n { name: 'Proccesing', value: 'processing' },\n { name: 'Finished', value: 'finished' },\n { name: 'Canceled', value: 'canceled' },\n { name: 'Refunded', value: 'refunded' },\n ]\"\n :actions=\"[\n { to: { name: 'PaymentsCreate'}, label: '
|
|
1
|
+
{"version":3,"file":"Payments.vue.js","sources":["../../../../../../../../src/modules/wallet/views/components/pages/Payments.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n\n <SectionPageTitle\n title=\"Payments\"\n @update:tabs_current=\"(update) => tab = update\"\n :tabs_current=\"tab\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Created', value: 'created' },\n { name: 'Proccesing', value: 'processing' },\n { name: 'Finished', value: 'finished' },\n { name: 'Canceled', value: 'canceled' },\n { name: 'Refunded', value: 'refunded' },\n ]\"\n :actions=\"[\n { to: { name: 'PaymentsCreate'}, label: '+ Add Payment' }\n ]\"\n class=\"mn-b-small bg-light bg-light radius-big\"\n />\n\n <Feed\n :search=\"true\"\n :states=\"{\n empty: {\n title: 'No Payments Found',\n description: 'Currently, there are no payments.'\n }\n }\"\n :store=\"{\n read: (options) => payments.actions.read(options)\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n ...(tab !== 'all' && { type: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-3 mobile:cols-1\"\n >\n <div\n v-for=\"payment in items\" \n class=\"bg-light pos-relative pd-medium radius-big\"\n >\n {{payment}}\n </div>\n </Feed>\n\n\n</div>\n</template>\n\n\n<script setup>\nimport { ref } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport SectionPageTitle from '@martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\nimport * as payments from '@martyrs/src/modules/wallet/views/store/payments.store'; \n\nconst route = useRoute();\nconst router = useRouter();\n\nconst tab = ref('all')\n</script>\n\n\n<style lang=\"scss\">\n\n.round-stat {\n padding: 1rem;\n border-radius: 5rem;\n width: 3rem;\n height: 3rem;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(0,0,0,0.1);\n\n &-tab {\n width: 2rem;\n height: 2rem;\n }\n}\n\n\n\n.order-card {\n border-radius: 0.25rem;\n overflow: hidden;\n box-shadow: 0 8px 8px -8px rgb(36 36 36 / 10%);\n .order-status {\n color: black;\n background: #EEF2F6; \n width: 100%;\n padding: 0.75rem 1.5rem;\n margin: 0;\n }\n\n .new {\n color: white;\n background: #00ff88;\n }\n\n .block {\n border-radius: 0;\n border: 0;\n }\n}\n\n \n</style>\n"],"names":[],"mappings":";;;;;;;;;;;AAgEA,UAAM,QAAQ,SAAQ;AACP,cAAS;AAExB,UAAM,MAAM,IAAI,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function getRoutes(options = {}) {
|
|
2
2
|
const routeOrganizations = options.routeOrganizations || "OrganizationRoot";
|
|
3
3
|
const routes = [];
|
|
4
|
-
if (!options.
|
|
4
|
+
if (!options.contexts || options.contexts.includes("organization")) {
|
|
5
5
|
routes.push({
|
|
6
6
|
parentName: routeOrganizations,
|
|
7
7
|
config: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.router.js","sources":["../../../../../../../src/modules/wallet/views/router/wallet.router.js"],"sourcesContent":["// wallet.meta.js\n// Meta-файл для регистрации роутов модуля wallet\n\nexport function getRoutes(options = {}) {\n const routeOrganizations = options.routeOrganizations || 'OrganizationRoot';\n \n const routes = [];\n \n // Payments в Organizations - управление платежами организации\n if (!options.
|
|
1
|
+
{"version":3,"file":"wallet.router.js","sources":["../../../../../../../src/modules/wallet/views/router/wallet.router.js"],"sourcesContent":["// wallet.meta.js\n// Meta-файл для регистрации роутов модуля wallet\n\nexport function getRoutes(options = {}) {\n const routeOrganizations = options.routeOrganizations || 'OrganizationRoot';\n \n const routes = [];\n \n // Payments в Organizations - управление платежами организации\n if (!options.contexts || options.contexts.includes('organization')) {\n routes.push({\n parentName: routeOrganizations,\n config: {\n basePath: 'payments',\n name: 'Payments',\n meta: {\n title: {\n en: 'Payments',\n ru: 'Платежами',\n },\n authorize: [],\n context: 'organization',\n },\n component: () => import(/* webpackChunkName: 'payments' */ '../components/pages/Payments.vue'),\n routes: [\n {\n path: 'create',\n name: 'PaymentsCreate',\n meta: {\n title: {\n en: 'Create Payment',\n ru: 'Создать платеж',\n },\n authorize: [],\n context: 'organization',\n },\n component: () => import(/* webpackChunkName: 'payments-create' */ '../components/pages/Payments.vue'),\n },\n ],\n }\n });\n }\n \n return routes;\n}"],"names":[],"mappings":"AAGO,SAAS,UAAU,UAAU,IAAI;AACtC,QAAM,qBAAqB,QAAQ,sBAAsB;AAEzD,QAAM,SAAS,CAAA;AAGf,MAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,SAAS,cAAc,GAAG;AAClE,WAAO,KAAK;AAAA,MACV,YAAY;AAAA,MACZ,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,OAAO;AAAA,YACL,IAAI;AAAA,YACJ,IAAI;AAAA,UAChB;AAAA,UACU,WAAW,CAAA;AAAA,UACX,SAAS;AAAA,QACnB;AAAA,QACQ,WAAW,MAAM;AAAA;AAAA,UAA0C;AAAA,QAAkC;AAAA,QAC7F,QAAQ;AAAA,UACN;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,cACJ,OAAO;AAAA,gBACL,IAAI;AAAA,gBACJ,IAAI;AAAA,cACpB;AAAA,cACc,WAAW,CAAA;AAAA,cACX,SAAS;AAAA,YACvB;AAAA,YACY,WAAW,MAAM;AAAA;AAAA,cAAiD;AAAA,YAAkC;AAAA,UAChH;AAAA,QACA;AAAA,MACA;AAAA,IACA,CAAK;AAAA,EACH;AAEA,SAAO;AACT;"}
|
package/dist/martyrs.es10.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { ref as L, onMounted as M, watchEffect as _, createElementBlock as b, openBlock as C, createElementVNode as g, createVNode as V, Transition as E, withCtx as Z, createBlock as B } from "vue";
|
|
2
|
+
import { setOptions as G, importLibrary as f } from "./martyrs.es41.js";
|
|
3
|
+
import H from "./martyrs.es35.js";
|
|
4
4
|
/* empty css */
|
|
5
|
-
const
|
|
5
|
+
const K = { class: "pos-relative" }, O = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "i-medium",
|
|
8
8
|
width: "98",
|
|
@@ -10,7 +10,7 @@ const B = { class: "pos-relative" }, H = {
|
|
|
10
10
|
viewBox: "0 0 98 98",
|
|
11
11
|
fill: "none",
|
|
12
12
|
xmlns: "http://www.w3.org/2000/svg"
|
|
13
|
-
},
|
|
13
|
+
}, U = {
|
|
14
14
|
__name: "LocationMarker",
|
|
15
15
|
props: {
|
|
16
16
|
location: {
|
|
@@ -28,88 +28,90 @@ const B = { class: "pos-relative" }, H = {
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
emits: ["update:location", "update:address", "update:country", "update:state", "update:city"],
|
|
31
|
-
setup(
|
|
32
|
-
const o =
|
|
33
|
-
let
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
setup(h, { emit: k }) {
|
|
32
|
+
const o = h, a = k, y = L(null), l = L(!1);
|
|
33
|
+
let r, u, i, m;
|
|
34
|
+
M(async () => {
|
|
35
|
+
try {
|
|
36
|
+
G({
|
|
37
|
+
apiKey: o.apiKey,
|
|
38
|
+
version: "weekly",
|
|
39
|
+
language: o.locale
|
|
40
|
+
});
|
|
41
|
+
const e = await f("maps"), t = await f("marker"), s = await f("core"), p = await f("geocoding");
|
|
42
|
+
i = s.LatLng, m = p.Geocoder, r = new e.Map(y.value, {
|
|
42
43
|
center: o.location,
|
|
43
44
|
zoom: 15,
|
|
44
45
|
mapTypeControl: !1,
|
|
45
46
|
fullscreenControl: !1,
|
|
46
47
|
disableDefaultUI: !0
|
|
47
|
-
}),
|
|
48
|
+
}), u = new t.Marker({
|
|
48
49
|
position: o.location,
|
|
49
|
-
map:
|
|
50
|
+
map: r,
|
|
50
51
|
draggable: !0
|
|
51
|
-
}),
|
|
52
|
-
const
|
|
53
|
-
a("update:location",
|
|
52
|
+
}), u.addListener("dragend", (c) => {
|
|
53
|
+
const d = { lat: c.latLng.lat(), lng: c.latLng.lng() };
|
|
54
|
+
a("update:location", d), w(d);
|
|
54
55
|
});
|
|
55
|
-
}
|
|
56
|
+
} catch (e) {
|
|
56
57
|
console.error(e);
|
|
57
|
-
}
|
|
58
|
-
}),
|
|
59
|
-
o.location && i &&
|
|
60
|
-
}),
|
|
61
|
-
if (o.location &&
|
|
62
|
-
const
|
|
63
|
-
|
|
58
|
+
}
|
|
59
|
+
}), _(() => {
|
|
60
|
+
o.location && u && i && u.setPosition(new i(o.location.lat, o.location.lng));
|
|
61
|
+
}), _(() => {
|
|
62
|
+
if (o.location && r && i) {
|
|
63
|
+
const e = new i(o.location.lat, o.location.lng);
|
|
64
|
+
r.setCenter(e), r.setZoom(15);
|
|
64
65
|
}
|
|
65
66
|
});
|
|
66
|
-
function
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
function w(e) {
|
|
68
|
+
if (!m) return;
|
|
69
|
+
new m().geocode({ location: e }, (s, p) => {
|
|
70
|
+
if (p === "OK")
|
|
71
|
+
if (s[0]) {
|
|
72
|
+
a("update:address", s[0].formatted_address);
|
|
73
|
+
let c = "", d = "", v = "";
|
|
74
|
+
s[0].address_components.forEach((n) => {
|
|
75
|
+
n.types.includes("country") && (c = n.long_name), n.types.includes("administrative_area_level_1") && (d = n.long_name), n.types.includes("locality") && (v = n.long_name);
|
|
76
|
+
}), a("update:country", c), a("update:state", d), a("update:city", v);
|
|
75
77
|
} else
|
|
76
78
|
console.error("No results found");
|
|
77
79
|
else
|
|
78
|
-
console.error("Geocoder failed due to: " +
|
|
80
|
+
console.error("Geocoder failed due to: " + p);
|
|
79
81
|
});
|
|
80
82
|
}
|
|
81
|
-
async function
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
a("update:location",
|
|
83
|
+
async function x() {
|
|
84
|
+
l.value = !0, navigator.geolocation ? navigator.geolocation.getCurrentPosition((e) => {
|
|
85
|
+
const t = { lat: e.coords.latitude, lng: e.coords.longitude };
|
|
86
|
+
a("update:location", t), w(t), l.value = !1;
|
|
85
87
|
}, () => {
|
|
86
|
-
console.error("Error getting location"),
|
|
87
|
-
}) : (console.error("Geolocation is not supported by this browser."),
|
|
88
|
+
console.error("Error getting location"), l.value = !1;
|
|
89
|
+
}) : (console.error("Geolocation is not supported by this browser."), l.value = !1);
|
|
88
90
|
}
|
|
89
|
-
return (
|
|
90
|
-
|
|
91
|
+
return (e, t) => (C(), b("div", K, [
|
|
92
|
+
g("div", {
|
|
91
93
|
ref_key: "mapContainer",
|
|
92
|
-
ref:
|
|
94
|
+
ref: y,
|
|
93
95
|
class: "w-100 h-100"
|
|
94
96
|
}, null, 512),
|
|
95
|
-
|
|
97
|
+
g("button", {
|
|
96
98
|
class: "cursor-pointer flex-center flex pos-absolute pos-t-regular pos-r-regular i-medium bg-second pd-nano radius-extra",
|
|
97
|
-
onClick:
|
|
99
|
+
onClick: x
|
|
98
100
|
}, [
|
|
99
|
-
|
|
101
|
+
V(E, {
|
|
100
102
|
name: "ScaleOut",
|
|
101
103
|
mode: "out-in"
|
|
102
104
|
}, {
|
|
103
|
-
default:
|
|
104
|
-
|
|
105
|
+
default: Z(() => [
|
|
106
|
+
l.value ? (C(), B(H, {
|
|
105
107
|
key: 1,
|
|
106
108
|
class: "pos-t-0 pos-l-0 i-small"
|
|
107
|
-
})) : (
|
|
108
|
-
|
|
109
|
+
})) : (C(), b("svg", O, t[0] || (t[0] = [
|
|
110
|
+
g("path", {
|
|
109
111
|
d: "M50.0004 31.4995C39.7996 31.4995 31.5 39.7991 31.5 49.9999C31.5 60.2007 39.7996 68.5003 50.0004 68.5003C60.2012 68.5003 68.5008 60.2007 68.5008 49.9999C68.5008 39.7991 60.2012 31.4995 50.0004 31.4995ZM50.0004 63.7944C42.3941 63.7944 36.2059 57.6062 36.2059 49.9999C36.2059 42.3936 42.3941 36.2054 50.0004 36.2054C57.6067 36.2054 63.7949 42.3936 63.7949 49.9999C63.7949 57.6062 57.6067 63.7944 50.0004 63.7944Z",
|
|
110
112
|
fill: "rgb(var(--white))"
|
|
111
113
|
}, null, -1),
|
|
112
|
-
|
|
114
|
+
g("path", {
|
|
113
115
|
d: "M97.6471 47.6471H84.56C83.3977 30.4141 69.5859 16.6024 52.3529 15.44V2.35294C52.3529 1.05255 51.2988 0 50 0C48.6996 0 47.6471 1.05255 47.6471 2.35294V15.44C30.4141 16.6024 16.6024 30.4141 15.44 47.6471H2.35294C1.05255 47.6471 0 48.6996 0 50C0 51.2988 1.05255 52.3529 2.35294 52.3529H15.44C16.6024 69.5859 30.4141 83.3977 47.6471 84.56V97.6471C47.6471 98.9459 48.6996 100 50 100C51.2988 100 52.3529 98.9459 52.3529 97.6471V84.56C69.5859 83.3977 83.3977 69.5859 84.56 52.3529H97.6471C98.9459 52.3529 100 51.2988 100 50C100 48.6996 98.9459 47.6471 97.6471 47.6471ZM50 79.9435C33.4886 79.9435 20.0565 66.5114 20.0565 50C20.0565 33.4886 33.4886 20.0565 50 20.0565C66.5098 20.0565 79.9435 33.4886 79.9435 50C79.9435 66.5098 66.5098 79.9435 50 79.9435Z",
|
|
114
116
|
fill: "rgb(var(--white))"
|
|
115
117
|
}, null, -1)
|
|
@@ -122,5 +124,5 @@ const B = { class: "pos-relative" }, H = {
|
|
|
122
124
|
}
|
|
123
125
|
};
|
|
124
126
|
export {
|
|
125
|
-
|
|
127
|
+
U as default
|
|
126
128
|
};
|
package/dist/martyrs.es106.js
CHANGED