@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":"governance.router.js","sources":["../../../../../../../src/modules/governance/views/router/governance.router.js"],"sourcesContent":["import { defineAsyncComponent } from 'vue';\nimport * as validationAuth from '@martyrs/src/modules/auth/views/middlewares/auth.validation.js';\nimport { navigationItems } from '../../configs/navigation.initiative.config.js';\n\nfunction resolveComponent(loader, override) {\n if (override) return override;\n return defineAsyncComponent(loader);\n}\n\nfunction buildGovernanceRoutes(options = {}) {\n const initiativesComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Initiatives.vue'),\n options.page_initiatives\n );\n const initiativeComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Initiative.vue'),\n options.page_initiative\n );\n const initiativeCreateComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/InitiativeCreate.vue'),\n options.page_initiative_create\n );\n const initiativeSprintsComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/InitiativeSprints.vue'),\n options.page_initiative_sprints\n );\n const sprintComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Sprint.vue'),\n options.page_sprint\n );\n const sprintCreateComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/SprintCreate.vue'),\n options.page_sprint_create\n );\n const tasksComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Tasks.vue'),\n options.page_tasks\n );\n const taskComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Task.vue'),\n options.page_task\n );\n const taskCreateComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/TaskCreate.vue'),\n options.page_task_create\n );\n const votingsComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Votings.vue'),\n options.page_votings\n );\n const votingComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Voting.vue'),\n options.page_voting\n );\n const votingCreateComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/VotingCreate.vue'),\n options.page_voting_create\n );\n\n return [\n {\n path: '',\n name: 'Governance',\n meta: {\n title: {\n en: 'Governance',\n ru: 'Управление',\n },\n title_hide: false,\n },\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Governance.vue'),\n options.page_governance\n ),\n },\n {\n path: 'initiatives',\n name: 'Initiatives',\n meta: {\n title: {\n en: 'Initiatives',\n ru: 'Инициативы',\n },\n title_hide: false,\n },\n component: initiativesComponent,\n },\n {\n path: 'initiatives/create',\n name: 'Create Initiative',\n meta: {\n title: {\n en: 'Create Initiative',\n ru: 'Создать Инициативу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: initiativeCreateComponent,\n },\n {\n path: 'tasks',\n name: 'Tasks',\n meta: {\n title: {\n en: 'Tasks',\n ru: 'Задачи',\n },\n title_hide: false,\n },\n component: tasksComponent,\n },\n {\n path: 'tasks/create',\n name: 'Create Task',\n meta: {\n title: {\n en: 'Create Task',\n ru: 'Создать Задачу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: taskCreateComponent,\n },\n {\n path: 'tasks/:taskId',\n name: 'Task',\n meta: {\n title: {\n en: 'Task',\n ru: 'Задача',\n },\n title_hide: false,\n },\n component: taskComponent,\n },\n {\n path: 'tasks/:taskId/edit',\n name: 'Edit Task',\n meta: {\n title: {\n en: 'Edit Task',\n ru: 'Редактировать Задачу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/TaskCreate.vue'),\n options.page_task_edit\n ),\n },\n {\n path: 'votings',\n name: 'Votings',\n meta: {\n title: {\n en: 'Votings',\n ru: 'Голосования',\n },\n title_hide: false,\n },\n component: votingsComponent,\n },\n {\n path: 'votings/create',\n name: 'Create Voting',\n meta: {\n title: {\n en: 'Create Voting',\n ru: 'Создать Голосование',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: votingCreateComponent,\n },\n {\n path: 'votings/:votingId',\n name: 'Voting',\n meta: {\n title: {\n en: 'Voting',\n ru: 'Голосование',\n },\n title_hide: false,\n },\n component: votingComponent,\n },\n {\n path: 'votings/:votingId/edit',\n name: 'Edit Voting',\n meta: {\n title: {\n en: 'Edit Voting',\n ru: 'Редактировать Голосование',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/VotingCreate.vue'),\n options.page_voting_edit\n ),\n },\n {\n path: 'initiatives/:id',\n meta: {\n title: {\n en: 'Initiative',\n ru: 'Инициатива',\n },\n title_hide: true,\n sidebar_navigation_items: navigationItems,\n },\n children: [\n {\n path: '',\n name: 'Initiative',\n meta: {\n title: {\n en: 'Initiative',\n ru: 'Инициатива',\n },\n title_hide: false,\n },\n component: initiativeComponent,\n },\n {\n path: 'edit',\n name: 'Edit Initiative',\n meta: {\n title: {\n en: 'Edit Initiative',\n ru: 'Редактировать Инициативу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/InitiativeCreate.vue'),\n options.page_initiative_edit\n ),\n },\n {\n path: 'sprints',\n name: 'InitiativeSprints',\n meta: {\n title: {\n en: 'Sprints',\n ru: 'Спринты',\n },\n title_hide: false,\n },\n component: initiativeSprintsComponent,\n },\n {\n path: 'sprints/create',\n name: 'Create Sprint',\n meta: {\n title: {\n en: 'Create Sprint',\n ru: 'Создать Спринт',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: sprintCreateComponent,\n },\n {\n path: 'sprints/:sprintId',\n name: 'Sprint',\n meta: {\n title: {\n en: 'Sprint',\n ru: 'Спринт',\n },\n title_hide: false,\n },\n component: sprintComponent,\n },\n {\n path: 'tasks',\n name: 'Initiative Tasks',\n meta: {\n title: {\n en: 'Tasks',\n ru: 'Задачи',\n },\n title_hide: false,\n },\n component: tasksComponent,\n children: [\n {\n path: 'create',\n name: 'Initiative Create Task',\n meta: {\n title: {\n en: 'Create Task',\n ru: 'Создать Задачу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: taskCreateComponent,\n },\n {\n path: ':taskId',\n name: 'Initiative Task',\n meta: {\n title: {\n en: 'Task',\n ru: 'Задача',\n },\n title_hide: false,\n },\n component: taskComponent,\n },\n {\n path: ':taskId/edit',\n name: 'Initiative Edit Task',\n meta: {\n title: {\n en: 'Edit Task',\n ru: 'Редактировать Задачу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/TaskCreate.vue'),\n options.page_task_edit\n ),\n },\n ],\n },\n {\n path: 'votings',\n name: 'Initiative Votings',\n meta: {\n title: {\n en: 'Votings',\n ru: 'Голосования',\n },\n title_hide: false,\n },\n component: votingsComponent,\n children: [\n {\n path: 'create',\n name: 'Initiative Create Voting',\n meta: {\n title: {\n en: 'Create Voting',\n ru: 'Создать Голосование',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: votingCreateComponent,\n },\n {\n path: ':votingId',\n name: 'Initiative Voting',\n meta: {\n title: {\n en: 'Voting',\n ru: 'Голосование',\n },\n title_hide: false,\n },\n component: votingComponent,\n },\n {\n path: ':votingId/edit',\n name: 'Initiative Edit Voting',\n meta: {\n title: {\n en: 'Edit Voting',\n ru: 'Редактировать Голосование',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/VotingCreate.vue'),\n options.page_voting_edit\n ),\n },\n ],\n },\n ],\n },\n ];\n}\n\nexport function getRoutes(options = {}) {\n const routes = [];\n const routeHome = options.route || options.routeHome || 'Home';\n const baseMeta = {\n title: {\n en: 'Governance',\n ru: 'Управление',\n },\n title_hide: true,\n };\n\n routes.push({\n parentName: routeHome,\n config: {\n basePath: options.basePath || options.publicBasePath || 'governance',\n meta: baseMeta,\n routeNamePrefix: options.routeNamePrefix || options.publicRouteNamePrefix || '',\n routes: buildGovernanceRoutes(options),\n },\n });\n\n const routeBackoffice = options.routeBackoffice;\n if (routeBackoffice && !options.withBackoffice) {\n routes.push({\n parentName: routeBackoffice,\n config: {\n basePath: options.backofficeBasePath || 'governance',\n routeNamePrefix: options.backofficeRouteNamePrefix || 'Backoffice ',\n meta: {\n ...baseMeta,\n context: 'backoffice',\n },\n routes: buildGovernanceRoutes(options),\n },\n });\n }\n\n const routeOrganizations = options.routeOrganizations;\n if (routeOrganizations && !options.withOrganizationRoutes) {\n routes.push({\n parentName: routeOrganizations,\n config: {\n basePath: options.organizationBasePath || 'governance',\n routeNamePrefix: options.organizationRouteNamePrefix || 'Organization_',\n meta: {\n ...baseMeta,\n context: 'organization',\n },\n routes: buildGovernanceRoutes(options),\n },\n });\n }\n\n return routes;\n}\n\nexport default { getRoutes };\n"],"names":["validationAuth.requiresAuth"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"governance.router.js","sources":["../../../../../../../src/modules/governance/views/router/governance.router.js"],"sourcesContent":["import { defineAsyncComponent } from 'vue';\nimport * as validationAuth from '@martyrs/src/modules/auth/views/middlewares/auth.validation.js';\nimport { navigationItems } from '../../configs/navigation.initiative.config.js';\n\nfunction resolveComponent(loader, override) {\n if (override) return override;\n return defineAsyncComponent(loader);\n}\n\nfunction buildGovernanceRoutes(options = {}) {\n const initiativesComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Initiatives.vue'),\n options.page_initiatives\n );\n const initiativeComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Initiative.vue'),\n options.page_initiative\n );\n const initiativeCreateComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/InitiativeCreate.vue'),\n options.page_initiative_create\n );\n const initiativeSprintsComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/InitiativeSprints.vue'),\n options.page_initiative_sprints\n );\n const sprintComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Sprint.vue'),\n options.page_sprint\n );\n const sprintCreateComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/SprintCreate.vue'),\n options.page_sprint_create\n );\n const tasksComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Tasks.vue'),\n options.page_tasks\n );\n const taskComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Task.vue'),\n options.page_task\n );\n const taskCreateComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/TaskCreate.vue'),\n options.page_task_create\n );\n const votingsComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Votings.vue'),\n options.page_votings\n );\n const votingComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Voting.vue'),\n options.page_voting\n );\n const votingCreateComponent = resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/VotingCreate.vue'),\n options.page_voting_create\n );\n\n return [\n {\n path: '',\n name: 'Governance',\n meta: {\n title: {\n en: 'Governance',\n ru: 'Управление',\n },\n title_hide: false,\n },\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/Governance.vue'),\n options.page_governance\n ),\n },\n {\n path: 'initiatives',\n name: 'Initiatives',\n meta: {\n title: {\n en: 'Initiatives',\n ru: 'Инициативы',\n },\n title_hide: false,\n },\n component: initiativesComponent,\n },\n {\n path: 'initiatives/create',\n name: 'Create Initiative',\n meta: {\n title: {\n en: 'Create Initiative',\n ru: 'Создать Инициативу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: initiativeCreateComponent,\n },\n {\n path: 'tasks',\n name: 'Tasks',\n meta: {\n title: {\n en: 'Tasks',\n ru: 'Задачи',\n },\n title_hide: false,\n },\n component: tasksComponent,\n },\n {\n path: 'tasks/create',\n name: 'Create Task',\n meta: {\n title: {\n en: 'Create Task',\n ru: 'Создать Задачу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: taskCreateComponent,\n },\n {\n path: 'tasks/:taskId',\n name: 'Task',\n meta: {\n title: {\n en: 'Task',\n ru: 'Задача',\n },\n title_hide: false,\n },\n component: taskComponent,\n },\n {\n path: 'tasks/:taskId/edit',\n name: 'Edit Task',\n meta: {\n title: {\n en: 'Edit Task',\n ru: 'Редактировать Задачу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/TaskCreate.vue'),\n options.page_task_edit\n ),\n },\n {\n path: 'votings',\n name: 'Votings',\n meta: {\n title: {\n en: 'Votings',\n ru: 'Голосования',\n },\n title_hide: false,\n },\n component: votingsComponent,\n },\n {\n path: 'votings/create',\n name: 'Create Voting',\n meta: {\n title: {\n en: 'Create Voting',\n ru: 'Создать Голосование',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: votingCreateComponent,\n },\n {\n path: 'votings/:votingId',\n name: 'Voting',\n meta: {\n title: {\n en: 'Voting',\n ru: 'Голосование',\n },\n title_hide: false,\n },\n component: votingComponent,\n },\n {\n path: 'votings/:votingId/edit',\n name: 'Edit Voting',\n meta: {\n title: {\n en: 'Edit Voting',\n ru: 'Редактировать Голосование',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/VotingCreate.vue'),\n options.page_voting_edit\n ),\n },\n {\n path: 'initiatives/:id',\n meta: {\n title: {\n en: 'Initiative',\n ru: 'Инициатива',\n },\n title_hide: true,\n sidebar_navigation_items: navigationItems,\n },\n children: [\n {\n path: '',\n name: 'Initiative',\n meta: {\n title: {\n en: 'Initiative',\n ru: 'Инициатива',\n },\n title_hide: false,\n },\n component: initiativeComponent,\n },\n {\n path: 'edit',\n name: 'Edit Initiative',\n meta: {\n title: {\n en: 'Edit Initiative',\n ru: 'Редактировать Инициативу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/InitiativeCreate.vue'),\n options.page_initiative_edit\n ),\n },\n {\n path: 'sprints',\n name: 'InitiativeSprints',\n meta: {\n title: {\n en: 'Sprints',\n ru: 'Спринты',\n },\n title_hide: false,\n },\n component: initiativeSprintsComponent,\n },\n {\n path: 'sprints/create',\n name: 'Create Sprint',\n meta: {\n title: {\n en: 'Create Sprint',\n ru: 'Создать Спринт',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: sprintCreateComponent,\n },\n {\n path: 'sprints/:sprintId',\n name: 'Sprint',\n meta: {\n title: {\n en: 'Sprint',\n ru: 'Спринт',\n },\n title_hide: false,\n },\n component: sprintComponent,\n },\n {\n path: 'tasks',\n name: 'Initiative Tasks',\n meta: {\n title: {\n en: 'Tasks',\n ru: 'Задачи',\n },\n title_hide: false,\n },\n component: tasksComponent,\n children: [\n {\n path: 'create',\n name: 'Initiative Create Task',\n meta: {\n title: {\n en: 'Create Task',\n ru: 'Создать Задачу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: taskCreateComponent,\n },\n {\n path: ':taskId',\n name: 'Initiative Task',\n meta: {\n title: {\n en: 'Task',\n ru: 'Задача',\n },\n title_hide: false,\n },\n component: taskComponent,\n },\n {\n path: ':taskId/edit',\n name: 'Initiative Edit Task',\n meta: {\n title: {\n en: 'Edit Task',\n ru: 'Редактировать Задачу',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/TaskCreate.vue'),\n options.page_task_edit\n ),\n },\n ],\n },\n {\n path: 'votings',\n name: 'Initiative Votings',\n meta: {\n title: {\n en: 'Votings',\n ru: 'Голосования',\n },\n title_hide: false,\n },\n component: votingsComponent,\n children: [\n {\n path: 'create',\n name: 'Initiative Create Voting',\n meta: {\n title: {\n en: 'Create Voting',\n ru: 'Создать Голосование',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: votingCreateComponent,\n },\n {\n path: ':votingId',\n name: 'Initiative Voting',\n meta: {\n title: {\n en: 'Voting',\n ru: 'Голосование',\n },\n title_hide: false,\n },\n component: votingComponent,\n },\n {\n path: ':votingId/edit',\n name: 'Initiative Edit Voting',\n meta: {\n title: {\n en: 'Edit Voting',\n ru: 'Редактировать Голосование',\n },\n title_hide: false,\n },\n beforeEnter: [validationAuth.requiresAuth],\n component: resolveComponent(\n () => import(/* webpackChunkName: 'Governance' */ '../components/pages/VotingCreate.vue'),\n options.page_voting_edit\n ),\n },\n ],\n },\n ],\n },\n ];\n}\n\nexport function getRoutes(options = {}) {\n const routes = [];\n const routeHome = options.route || options.routeHome || 'Home';\n const baseMeta = {\n title: {\n en: 'Governance',\n ru: 'Управление',\n },\n title_hide: true,\n };\n\n if (!options.contexts || options.contexts.includes('client')) routes.push({\n parentName: routeHome,\n config: {\n basePath: options.basePath || options.publicBasePath || 'governance',\n meta: baseMeta,\n routeNamePrefix: options.routeNamePrefix || options.publicRouteNamePrefix || '',\n routes: buildGovernanceRoutes(options),\n },\n });\n\n const routeBackoffice = options.routeBackoffice;\n if (routeBackoffice && (!options.contexts || options.contexts.includes('backoffice'))) {\n routes.push({\n parentName: routeBackoffice,\n config: {\n basePath: options.backofficeBasePath || 'governance',\n routeNamePrefix: options.backofficeRouteNamePrefix || 'Backoffice ',\n meta: {\n ...baseMeta,\n context: 'backoffice',\n },\n routes: buildGovernanceRoutes(options),\n },\n });\n }\n\n const routeOrganizations = options.routeOrganizations;\n if (routeOrganizations && (!options.contexts || options.contexts.includes('organization'))) {\n routes.push({\n parentName: routeOrganizations,\n config: {\n basePath: options.organizationBasePath || 'governance',\n routeNamePrefix: options.organizationRouteNamePrefix || 'Organization_',\n meta: {\n ...baseMeta,\n context: 'organization',\n },\n routes: buildGovernanceRoutes(options),\n },\n });\n }\n\n return routes;\n}\n\nexport default { getRoutes };\n"],"names":["validationAuth.requiresAuth"],"mappings":"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"}
|
|
@@ -157,7 +157,7 @@ const _sfc_main = {
|
|
|
157
157
|
title: __props.mode === "add" ? "Add New Icon" : "Replace Icon",
|
|
158
158
|
isPopupOpen: __props.isOpen,
|
|
159
159
|
onClosePopup: closePopup,
|
|
160
|
-
class: "bg-white pd-big radius-big w-
|
|
160
|
+
class: "bg-white pd-big radius-big w-clamp-0-60r-100"
|
|
161
161
|
}, {
|
|
162
162
|
default: withCtx(() => [
|
|
163
163
|
createElementVNode("div", _hoisted_1, [
|
|
@@ -233,7 +233,7 @@ const _sfc_main = {
|
|
|
233
233
|
};
|
|
234
234
|
}
|
|
235
235
|
};
|
|
236
|
-
const IconSearchPopup = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
236
|
+
const IconSearchPopup = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-57674e15"]]);
|
|
237
237
|
export {
|
|
238
238
|
IconSearchPopup as default
|
|
239
239
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconSearchPopup.vue.js","sources":["../../../../../../src/modules/icons/components/IconSearchPopup.vue"],"sourcesContent":["<template>\n <Popup :title=\"mode === 'add' ? 'Add New Icon' : 'Replace Icon'\" :isPopupOpen=\"isOpen\" @close-popup=\"closePopup\" class=\"bg-white pd-big radius-big w-max-60r\">\n <div class=\"icon-search-popup\">\n <div v-if=\"mode === 'add'\" class=\"mn-b-medium cols-2 gap-small\">\n <input \n v-model=\"iconName\" \n type=\"text\" \n placeholder=\"Icon name (e.g., IconCart)\"\n class=\"pd-small radius-medium border-light\"\n />\n <select v-model=\"category\" class=\"pd-small radius-medium border-light\">\n <option value=\"\">Select category</option>\n <option value=\"navigation\">Navigation</option>\n <option value=\"entities\">Entities</option>\n <option value=\"actions\">Actions</option>\n <option value=\"socials\">Socials</option>\n </select>\n </div>\n\n <Feed\n :search=\"true\"\n :showLoadMore=\"true\"\n :skeleton=\"{\n hide: false,\n horizontal: false,\n structure: [\n { block: 'image', size: 'medium' },\n { block: 'text', size: 'small' }\n ]\n }\"\n :states=\"{\n empty: {\n title: 'No icons found',\n description: 'Try searching for different terms'\n }\n }\"\n :store=\"{\n read: (options) => store.read(options)\n }\"\n :options=\"{ limit: 50 }\"\n v-slot=\"{ items }\"\n class=\"cols-4 mobile:cols-2 gap-small icon-grid\"\n >\n <div \n v-for=\"icon in items\" \n :key=\"icon.id\"\n @click=\"selectIcon(icon)\"\n class=\"icon-item aspect-1x1 radius-medium flex-center flex-v-center flex-column cursor-pointer hover:scale-[1.05] pd-small\"\n >\n <div class=\"icon-preview w-3r h-3r mn-b-thin flex-center flex-v-center\">\n <div \n class=\"icon-svg w-100 h-100\"\n v-html=\"getIconSvg(icon)\"\n ></div>\n </div>\n <div class=\"t-small truncate w-100 t-center\">{{ icon.term }}</div>\n </div>\n </Feed>\n\n <div v-if=\"error\" class=\"mn-t-medium pd-small bg-danger radius-medium t-white\">\n {{ error }}\n </div>\n </div>\n </Popup>\n</template>\n\n<script setup>\nimport { ref, watch, computed } from 'vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\n\nconst props = defineProps({\n isOpen: {\n type: Boolean,\n default: false\n },\n mode: {\n type: String,\n default: 'add', // 'add' or 'replace'\n validator: (value) => ['add', 'replace'].includes(value)\n },\n currentIcon: {\n type: Object,\n default: null\n }\n});\n\nconst emit = defineEmits(['close', 'icon-selected']);\n\nconst error = ref('');\nconst iconName = ref('');\nconst category = ref('');\nconst loading = ref(false);\nconst searchValue = ref('');\n\n// Store configuration for Feed component with pagination support\nconst paginationState = ref({ next_page: null, currentSearch: null });\n\nconst store = {\n async read(params = {}) {\n try {\n if (!params.search) {\n return [];\n }\n\n // Сбросить пагинацию при новом поиске\n if (paginationState.value.currentSearch !== params.search) {\n paginationState.value = { next_page: null, currentSearch: params.search };\n }\n\n const requestBody = {\n search: params.search,\n limit: params.limit || 50\n };\n\n // Feed использует skip-based пагинацию, конвертируем в token-based\n // Если skip > 0, используем сохранённый next_page токен\n if (params.skip && params.skip > 0 && paginationState.value.next_page) {\n requestBody.next_page = paginationState.value.next_page;\n }\n\n const response = await fetch('/api/icons/search', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(requestBody)\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw new Error(data.error || 'Failed to search icons');\n }\n\n // Сохранить next_page для следующего запроса Load More\n if (data.pagination && data.pagination.next_page) {\n paginationState.value.next_page = data.pagination.next_page;\n } else {\n // Если нет next_page, значит больше страниц нет\n paginationState.value.next_page = null;\n }\n\n // Feed ожидает массив, не объект\n return data.icons || [];\n } catch (err) {\n console.error('Search error:', err);\n error.value = err.message;\n return [];\n }\n }\n};\n\n// Auto-populate fields for replace mode\nwatch(() => props.isOpen, (newVal) => {\n if (newVal && props.mode === 'replace' && props.currentIcon) {\n iconName.value = props.currentIcon.name;\n category.value = props.currentIcon.category;\n // Set initial search term (remove Icon prefix)\n searchValue.value = props.currentIcon.name.replace(/^Icon/, '');\n }\n});\n\n// Function to get icon preview - use PNG with black filter for now\nfunction getIconSvg(icon) {\n // Use the PNG preview from Noun Project but apply CSS filter to make it black\n if (icon.preview_url) {\n return `<img src=\"${icon.preview_url}\" alt=\"${icon.term}\" style=\"width: 100%; height: 100%; object-fit: contain; filter: brightness(0) saturate(100%);\" />`;\n }\n \n // Fallback SVG placeholder\n return `\n <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"rgb(var(--black))\" opacity=\"0.8\"/>\n <text x=\"12\" y=\"16\" text-anchor=\"middle\" fill=\"white\" font-size=\"8\" font-family=\"monospace\">\n ${icon.term.slice(0, 3)}\n </text>\n </svg>\n `;\n}\n\nasync function selectIcon(icon) {\n if (props.mode === 'add' && (!iconName.value || !category.value)) {\n error.value = 'Please enter icon name and select category';\n return;\n }\n\n loading.value = true;\n error.value = '';\n\n try {\n const response = await fetch('/api/icons/save', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n iconId: icon.id,\n category: category.value,\n iconName: iconName.value,\n mode: props.mode,\n currentIconName: props.currentIcon?.name\n })\n });\n\n const data = await response.json();\n \n if (!response.ok) {\n throw new Error(data.error || 'Failed to save icon');\n }\n\n emit('icon-selected', {\n ...data,\n icon: {\n name: iconName.value,\n category: category.value,\n term: icon.term\n }\n });\n \n closePopup();\n } catch (err) {\n console.error('Save error:', err);\n error.value = err.message;\n } finally {\n loading.value = false;\n }\n}\n\nfunction closePopup() {\n error.value = '';\n iconName.value = '';\n category.value = '';\n searchValue.value = '';\n emit('close');\n}\n</script>\n\n<style scoped>\n.icon-search-popup {\n min-height: 500px;\n}\n\n.icon-grid {\n min-height: 400px;\n}\n\n.icon-item {\n transition: all 0.2s ease;\n}\n\n.icon-item:hover {\n background-color: rgb(var(--light-hover));\n transform: scale(1.05);\n}\n\n.icon-preview {\n background: rgb(var(--light));\n border-radius: 8px;\n}\n\n.icon-svg {\n filter: none;\n}\n\n.w-max-800 {\n max-width: 800px;\n width: 90vw;\n}\n\n::v-deep(.feed-enter-active),\n::v-deep(.feed-leave-active) {\n transition: all 0.3s ease;\n}\n\n::v-deep(.feed-enter-from),\n::v-deep(.feed-leave-to) {\n opacity: 0;\n transform: scale(0.9);\n}\n</style>"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IconSearchPopup.vue.js","sources":["../../../../../../src/modules/icons/components/IconSearchPopup.vue"],"sourcesContent":["<template>\n <Popup :title=\"mode === 'add' ? 'Add New Icon' : 'Replace Icon'\" :isPopupOpen=\"isOpen\" @close-popup=\"closePopup\" class=\"bg-white pd-big radius-big w-clamp-0-60r-100\">\n <div class=\"icon-search-popup\">\n <div v-if=\"mode === 'add'\" class=\"mn-b-medium cols-2 gap-small\">\n <input \n v-model=\"iconName\" \n type=\"text\" \n placeholder=\"Icon name (e.g., IconCart)\"\n class=\"pd-small radius-medium border-light\"\n />\n <select v-model=\"category\" class=\"pd-small radius-medium border-light\">\n <option value=\"\">Select category</option>\n <option value=\"navigation\">Navigation</option>\n <option value=\"entities\">Entities</option>\n <option value=\"actions\">Actions</option>\n <option value=\"socials\">Socials</option>\n </select>\n </div>\n\n <Feed\n :search=\"true\"\n :showLoadMore=\"true\"\n :skeleton=\"{\n hide: false,\n horizontal: false,\n structure: [\n { block: 'image', size: 'medium' },\n { block: 'text', size: 'small' }\n ]\n }\"\n :states=\"{\n empty: {\n title: 'No icons found',\n description: 'Try searching for different terms'\n }\n }\"\n :store=\"{\n read: (options) => store.read(options)\n }\"\n :options=\"{ limit: 50 }\"\n v-slot=\"{ items }\"\n class=\"cols-4 mobile:cols-2 gap-small icon-grid\"\n >\n <div \n v-for=\"icon in items\" \n :key=\"icon.id\"\n @click=\"selectIcon(icon)\"\n class=\"icon-item aspect-1x1 radius-medium flex-center flex-v-center flex-column cursor-pointer hover:scale-[1.05] pd-small\"\n >\n <div class=\"icon-preview w-3r h-3r mn-b-thin flex-center flex-v-center\">\n <div \n class=\"icon-svg w-100 h-100\"\n v-html=\"getIconSvg(icon)\"\n ></div>\n </div>\n <div class=\"t-small truncate w-100 t-center\">{{ icon.term }}</div>\n </div>\n </Feed>\n\n <div v-if=\"error\" class=\"mn-t-medium pd-small bg-danger radius-medium t-white\">\n {{ error }}\n </div>\n </div>\n </Popup>\n</template>\n\n<script setup>\nimport { ref, watch, computed } from 'vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\n\nconst props = defineProps({\n isOpen: {\n type: Boolean,\n default: false\n },\n mode: {\n type: String,\n default: 'add', // 'add' or 'replace'\n validator: (value) => ['add', 'replace'].includes(value)\n },\n currentIcon: {\n type: Object,\n default: null\n }\n});\n\nconst emit = defineEmits(['close', 'icon-selected']);\n\nconst error = ref('');\nconst iconName = ref('');\nconst category = ref('');\nconst loading = ref(false);\nconst searchValue = ref('');\n\n// Store configuration for Feed component with pagination support\nconst paginationState = ref({ next_page: null, currentSearch: null });\n\nconst store = {\n async read(params = {}) {\n try {\n if (!params.search) {\n return [];\n }\n\n // Сбросить пагинацию при новом поиске\n if (paginationState.value.currentSearch !== params.search) {\n paginationState.value = { next_page: null, currentSearch: params.search };\n }\n\n const requestBody = {\n search: params.search,\n limit: params.limit || 50\n };\n\n // Feed использует skip-based пагинацию, конвертируем в token-based\n // Если skip > 0, используем сохранённый next_page токен\n if (params.skip && params.skip > 0 && paginationState.value.next_page) {\n requestBody.next_page = paginationState.value.next_page;\n }\n\n const response = await fetch('/api/icons/search', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(requestBody)\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw new Error(data.error || 'Failed to search icons');\n }\n\n // Сохранить next_page для следующего запроса Load More\n if (data.pagination && data.pagination.next_page) {\n paginationState.value.next_page = data.pagination.next_page;\n } else {\n // Если нет next_page, значит больше страниц нет\n paginationState.value.next_page = null;\n }\n\n // Feed ожидает массив, не объект\n return data.icons || [];\n } catch (err) {\n console.error('Search error:', err);\n error.value = err.message;\n return [];\n }\n }\n};\n\n// Auto-populate fields for replace mode\nwatch(() => props.isOpen, (newVal) => {\n if (newVal && props.mode === 'replace' && props.currentIcon) {\n iconName.value = props.currentIcon.name;\n category.value = props.currentIcon.category;\n // Set initial search term (remove Icon prefix)\n searchValue.value = props.currentIcon.name.replace(/^Icon/, '');\n }\n});\n\n// Function to get icon preview - use PNG with black filter for now\nfunction getIconSvg(icon) {\n // Use the PNG preview from Noun Project but apply CSS filter to make it black\n if (icon.preview_url) {\n return `<img src=\"${icon.preview_url}\" alt=\"${icon.term}\" style=\"width: 100%; height: 100%; object-fit: contain; filter: brightness(0) saturate(100%);\" />`;\n }\n \n // Fallback SVG placeholder\n return `\n <svg width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"4\" fill=\"rgb(var(--black))\" opacity=\"0.8\"/>\n <text x=\"12\" y=\"16\" text-anchor=\"middle\" fill=\"white\" font-size=\"8\" font-family=\"monospace\">\n ${icon.term.slice(0, 3)}\n </text>\n </svg>\n `;\n}\n\nasync function selectIcon(icon) {\n if (props.mode === 'add' && (!iconName.value || !category.value)) {\n error.value = 'Please enter icon name and select category';\n return;\n }\n\n loading.value = true;\n error.value = '';\n\n try {\n const response = await fetch('/api/icons/save', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n iconId: icon.id,\n category: category.value,\n iconName: iconName.value,\n mode: props.mode,\n currentIconName: props.currentIcon?.name\n })\n });\n\n const data = await response.json();\n \n if (!response.ok) {\n throw new Error(data.error || 'Failed to save icon');\n }\n\n emit('icon-selected', {\n ...data,\n icon: {\n name: iconName.value,\n category: category.value,\n term: icon.term\n }\n });\n \n closePopup();\n } catch (err) {\n console.error('Save error:', err);\n error.value = err.message;\n } finally {\n loading.value = false;\n }\n}\n\nfunction closePopup() {\n error.value = '';\n iconName.value = '';\n category.value = '';\n searchValue.value = '';\n emit('close');\n}\n</script>\n\n<style scoped>\n.icon-search-popup {\n min-height: 500px;\n}\n\n.icon-grid {\n min-height: 400px;\n}\n\n.icon-item {\n transition: all 0.2s ease;\n}\n\n.icon-item:hover {\n background-color: rgb(var(--light-hover));\n transform: scale(1.05);\n}\n\n.icon-preview {\n background: rgb(var(--light));\n border-radius: 8px;\n}\n\n.icon-svg {\n filter: none;\n}\n\n.w-max-800 {\n max-width: 800px;\n width: 90vw;\n}\n\n::v-deep(.feed-enter-active),\n::v-deep(.feed-leave-active) {\n transition: all 0.3s ease;\n}\n\n::v-deep(.feed-enter-from),\n::v-deep(.feed-leave-to) {\n opacity: 0;\n transform: scale(0.9);\n}\n</style>"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createElementBlock, openBlock, createElementVNode } from "vue";
|
|
2
|
+
const _hoisted_1 = {
|
|
3
|
+
width: "56",
|
|
4
|
+
height: "56",
|
|
5
|
+
viewBox: "0 0 56 56",
|
|
6
|
+
fill: "none",
|
|
7
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
8
|
+
};
|
|
9
|
+
const _hoisted_2 = ["fill"];
|
|
10
|
+
const _sfc_main = {
|
|
11
|
+
__name: "IconApplications",
|
|
12
|
+
props: {
|
|
13
|
+
fill: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: "currentColor"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
setup(__props) {
|
|
19
|
+
return (_ctx, _cache) => {
|
|
20
|
+
return openBlock(), createElementBlock("svg", _hoisted_1, [
|
|
21
|
+
createElementVNode("path", {
|
|
22
|
+
d: "M38 6H18C15.8 6 14 7.8 14 10V46C14 48.2 15.8 50 18 50H38C40.2 50 42 48.2 42 46V10C42 7.8 40.2 6 38 6ZM38 44H18V12H38V44ZM34 18H22V22H34V18ZM34 26H22V30H34V26ZM30 34H22V38H30V34Z",
|
|
23
|
+
fill: __props.fill
|
|
24
|
+
}, null, 8, _hoisted_2)
|
|
25
|
+
]);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
_sfc_main as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=IconApplications.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconApplications.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createElementBlock, openBlock, createElementVNode } from "vue";
|
|
2
|
+
const _hoisted_1 = {
|
|
3
|
+
width: "56",
|
|
4
|
+
height: "56",
|
|
5
|
+
viewBox: "0 0 56 56",
|
|
6
|
+
fill: "none",
|
|
7
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
8
|
+
};
|
|
9
|
+
const _hoisted_2 = ["fill"];
|
|
10
|
+
const _sfc_main = {
|
|
11
|
+
__name: "IconCustomers",
|
|
12
|
+
props: {
|
|
13
|
+
fill: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: "currentColor"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
setup(__props) {
|
|
19
|
+
return (_ctx, _cache) => {
|
|
20
|
+
return openBlock(), createElementBlock("svg", _hoisted_1, [
|
|
21
|
+
createElementVNode("path", {
|
|
22
|
+
d: "M28 8C23.582 8 20 11.582 20 16C20 20.418 23.582 24 28 24C32.418 24 36 20.418 36 16C36 11.582 32.418 8 28 8ZM28 28C19.164 28 12 31.582 12 36V40H28.26L26 36.08L30.42 28.12C29.64 28.04 28.84 28 28 28ZM44.54 27L37 40H44.54L48 46L37 46L33.46 40L41 27H33.46L30 21H48L44.54 27Z",
|
|
23
|
+
fill: __props.fill
|
|
24
|
+
}, null, 8, _hoisted_2)
|
|
25
|
+
]);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
_sfc_main as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=IconCustomers.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconCustomers.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createElementBlock, openBlock, createElementVNode } from "vue";
|
|
2
|
+
const _hoisted_1 = {
|
|
3
|
+
width: "56",
|
|
4
|
+
height: "56",
|
|
5
|
+
viewBox: "0 0 56 56",
|
|
6
|
+
fill: "none",
|
|
7
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
8
|
+
};
|
|
9
|
+
const _hoisted_2 = ["fill"];
|
|
10
|
+
const _sfc_main = {
|
|
11
|
+
__name: "IconUsers",
|
|
12
|
+
props: {
|
|
13
|
+
fill: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: "currentColor"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
setup(__props) {
|
|
19
|
+
return (_ctx, _cache) => {
|
|
20
|
+
return openBlock(), createElementBlock("svg", _hoisted_1, [
|
|
21
|
+
createElementVNode("path", {
|
|
22
|
+
d: "M20 24C23.866 24 27 20.866 27 17C27 13.134 23.866 10 20 10C16.134 10 13 13.134 13 17C13 20.866 16.134 24 20 24ZM36 24C39.866 24 43 20.866 43 17C43 13.134 39.866 10 36 10C32.134 10 29 13.134 29 17C29 20.866 32.134 24 36 24ZM36 28C31.34 28 22 30.34 22 35V38C22 39.1 22.9 40 24 40H48C49.1 40 50 39.1 50 38V35C50 30.34 40.66 28 36 28ZM20 28C19.36 28 18.64 28.04 17.88 28.1C20.06 29.68 22 31.88 22 35V38C22 38.7 22.12 39.38 22.34 40H8C6.9 40 6 39.1 6 38V35C6 30.34 15.34 28 20 28Z",
|
|
23
|
+
fill: __props.fill
|
|
24
|
+
}, null, 8, _hoisted_2)
|
|
25
|
+
]);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
_sfc_main as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=IconUsers.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconUsers.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -124,7 +124,7 @@ const _sfc_main = {
|
|
|
124
124
|
}
|
|
125
125
|
return (_ctx, _cache) => {
|
|
126
126
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
127
|
-
_cache[9] || (_cache[9] = createElementVNode("p", { class: "mn-b-medium
|
|
127
|
+
_cache[9] || (_cache[9] = createElementVNode("p", { class: "mn-b-medium opacity-50" }, " Effortlessly update your inventory and track adjustments for accurate stock management. ", -1)),
|
|
128
128
|
createElementVNode("div", _hoisted_2, [
|
|
129
129
|
createElementVNode("div", _hoisted_3, [
|
|
130
130
|
createVNode(Field, {
|
|
@@ -196,7 +196,7 @@ const _sfc_main = {
|
|
|
196
196
|
submit: () => _ctx.$emit("close"),
|
|
197
197
|
showLoader: false,
|
|
198
198
|
showSucces: false,
|
|
199
|
-
class: "pd-small radius-small flex-center flex w-max cursor-pointer
|
|
199
|
+
class: "pd-small radius-small flex-center flex w-max cursor-pointer opacity-50"
|
|
200
200
|
}, {
|
|
201
201
|
default: withCtx(() => _cache[7] || (_cache[7] = [
|
|
202
202
|
createTextVNode(" Cancel ")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdjustmentForm.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/AdjustmentForm.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium t-transp\">\n Effortlessly update your inventory and track adjustments for accurate stock management.\n </p>\n \n \n <div class=\"mn-b-medium\">\n <div class=\"mn-b-small flex-nowrap flex gap-thin\">\n <Field\n v-model:field=\"quantity\"\n label=\"Quantity Adjustment\"\n type=\"number\"\n placeholder=\"Enter +/- quantity\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n \n <Field\n :field=\"product.available\"\n label=\"Current Available\"\n type=\"text\"\n :disabled=\"true\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n </div>\n\n <!-- Variant Selection -->\n <div class=\"mn-b-medium\" v-if=\"productVariants.length > 0\">\n <p class=\"mn-b-small fw-medium\">Select Variant</p>\n <Select\n v-model:select=\"selectedVariant\"\n :options=\"productVariants\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"Choose variant\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n\n <!-- Storage Selection -->\n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small fw-medium\">Select Storage</p>\n <Select\n v-model:select=\"selectedStorage\"\n :options=\"storageOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"Choose storage\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small fw-medium\">Adjustment Reason</p>\n \n <div class=\"cols-3 gap-small mn-b-small\">\n <div \n v-for=\"reason in adjustmentReasons\"\n :key=\"reason.value\"\n @click=\"selectedReason = reason.value\"\n :class=\"{ 'bg-main t-black': selectedReason === reason.value, 'bg-light': selectedReason !== reason.value }\"\n class=\"pd-small radius-small flex-column flex-center flex cursor-pointer\"\n >\n <component :is=\"reason.icon\" class=\"i-medium mn-b-nano\" />\n <span>{{ reason.label }}</span>\n </div>\n </div>\n </div>\n \n <Field\n v-model:field=\"note\"\n label=\"Note\"\n type=\"textarea\"\n placeholder=\"Add additional details about this adjustment...\"\n class=\"w-100 bg-light radius-small pd-medium mn-b-medium\"\n />\n \n <div class=\"flex-nowrap flex gap-small\">\n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer t-transp\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"saveAdjustment\"\n :showLoader=\"true\"\n :showSucces=\"true\"\n class=\"pd-small radius-small flex-center flex w-100 cursor-pointer bg-main t-black\"\n >\n Save Adjustment\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as spots from '@martyrs/src/modules/spots/store/spots.js'\nimport variants from '@martyrs/src/modules/products/store/variants.store.js'\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\n\nconst route = useRoute()\n\n// Icons for adjustment reasons\nimport IconDamage from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconExpire from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconMisplacement from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconThief from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconStocktake from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconCustom from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close', 'adjustment-created'])\n\n// Form state\nconst quantity = ref(0)\nconst selectedReason = ref('restock')\nconst note = ref('')\nconst selectedStorage = ref(null)\nconst selectedVariant = ref(null)\nconst productVariants = ref([])\nconst storageOptions = ref([])\n\n// Adjustment reason options\nconst adjustmentReasons = [\n { label: 'Restock', value: 'restock', icon: IconDamage },\n { label: 'Sale', value: 'sale', icon: IconExpire },\n { label: 'Return', value: 'return', icon: IconMisplacement },\n { label: 'Damage', value: 'damage', icon: IconThief },\n { label: 'Transfer', value: 'transfer', icon: IconStocktake },\n { label: 'Other', value: 'custom', icon: IconCustom },\n]\n\nfunction formatPrice(price) {\n return '$' + (parseFloat(price) || 0).toFixed(2)\n}\n\n// Fetch variants and storages on mount\nonMounted(async () => {\n console.log('AdjustmentForm mounted with product:', props.product)\n \n // Fetch variants for the product\n try {\n const variantsData = await variants.read({\n product: props.product._id,\n limit: 50\n })\n productVariants.value = variantsData\n // Select first variant by default if available\n if (variantsData.length > 0) {\n selectedVariant.value = variantsData[0]._id\n }\n } catch (err) {\n console.error('Error fetching variants:', err)\n }\n\n // Fetch storage options\n try {\n const spotsData = await spots.actions.read({\n user: auth.state.user._id,\n organization: route.params._id,\n limit: 50\n })\n storageOptions.value = spotsData.map(spot => ({\n _id: spot._id,\n name: spot.profile?.name || 'Storage'\n }))\n // Select first storage by default if available\n if (storageOptions.value.length > 0) {\n selectedStorage.value = storageOptions.value[0]._id\n }\n } catch (err) {\n console.error('Error fetching spots:', err)\n }\n})\n\nasync function saveAdjustment() {\n if (!selectedVariant.value) {\n alert('Please select a variant')\n throw new Error('Please select a variant')\n }\n if (!selectedStorage.value) {\n alert('Please select a storage')\n throw new Error('Please select a storage')\n }\n\n try {\n const adjustmentData = {\n product: props.product._id,\n variant: selectedVariant.value,\n storage: selectedStorage.value,\n source: {\n type: 'User',\n target: auth.state.user._id\n },\n quantity: parseInt(quantity.value || 0),\n reason: selectedReason.value,\n comment: note.value || '',\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n }\n \n const createdAdjustment = await inventory.actions.createAdjustment(adjustmentData)\n \n // Emit the adjustment data for parent component to update the product\n emit('adjustment-created', {\n product: props.product._id,\n storage: selectedStorage.value,\n quantity: parseInt(quantity.value || 0),\n storageName: storageOptions.value.find(s => s._id === selectedStorage.value)?.name\n })\n \n emit('close')\n } catch (err) {\n console.error(err)\n throw err\n }\n}\n</script>"],"names":["IconDamage","IconExpire","IconMisplacement","IconThief","IconStocktake","IconCustom","variants","spots.actions","auth.state","inventory.actions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AdjustmentForm.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/AdjustmentForm.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium opacity-50\">\n Effortlessly update your inventory and track adjustments for accurate stock management.\n </p>\n \n \n <div class=\"mn-b-medium\">\n <div class=\"mn-b-small flex-nowrap flex gap-thin\">\n <Field\n v-model:field=\"quantity\"\n label=\"Quantity Adjustment\"\n type=\"number\"\n placeholder=\"Enter +/- quantity\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n \n <Field\n :field=\"product.available\"\n label=\"Current Available\"\n type=\"text\"\n :disabled=\"true\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n </div>\n\n <!-- Variant Selection -->\n <div class=\"mn-b-medium\" v-if=\"productVariants.length > 0\">\n <p class=\"mn-b-small fw-medium\">Select Variant</p>\n <Select\n v-model:select=\"selectedVariant\"\n :options=\"productVariants\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"Choose variant\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n\n <!-- Storage Selection -->\n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small fw-medium\">Select Storage</p>\n <Select\n v-model:select=\"selectedStorage\"\n :options=\"storageOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"Choose storage\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small fw-medium\">Adjustment Reason</p>\n \n <div class=\"cols-3 gap-small mn-b-small\">\n <div \n v-for=\"reason in adjustmentReasons\"\n :key=\"reason.value\"\n @click=\"selectedReason = reason.value\"\n :class=\"{ 'bg-main t-black': selectedReason === reason.value, 'bg-light': selectedReason !== reason.value }\"\n class=\"pd-small radius-small flex-column flex-center flex cursor-pointer\"\n >\n <component :is=\"reason.icon\" class=\"i-medium mn-b-nano\" />\n <span>{{ reason.label }}</span>\n </div>\n </div>\n </div>\n \n <Field\n v-model:field=\"note\"\n label=\"Note\"\n type=\"textarea\"\n placeholder=\"Add additional details about this adjustment...\"\n class=\"w-100 bg-light radius-small pd-medium mn-b-medium\"\n />\n \n <div class=\"flex-nowrap flex gap-small\">\n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer opacity-50\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"saveAdjustment\"\n :showLoader=\"true\"\n :showSucces=\"true\"\n class=\"pd-small radius-small flex-center flex w-100 cursor-pointer bg-main t-black\"\n >\n Save Adjustment\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as spots from '@martyrs/src/modules/spots/store/spots.js'\nimport variants from '@martyrs/src/modules/products/store/variants.store.js'\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\n\nconst route = useRoute()\n\n// Icons for adjustment reasons\nimport IconDamage from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconExpire from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconMisplacement from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconThief from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconStocktake from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\nimport IconCustom from '@martyrs/src/modules/icons/navigation/IconInfo.vue'\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close', 'adjustment-created'])\n\n// Form state\nconst quantity = ref(0)\nconst selectedReason = ref('restock')\nconst note = ref('')\nconst selectedStorage = ref(null)\nconst selectedVariant = ref(null)\nconst productVariants = ref([])\nconst storageOptions = ref([])\n\n// Adjustment reason options\nconst adjustmentReasons = [\n { label: 'Restock', value: 'restock', icon: IconDamage },\n { label: 'Sale', value: 'sale', icon: IconExpire },\n { label: 'Return', value: 'return', icon: IconMisplacement },\n { label: 'Damage', value: 'damage', icon: IconThief },\n { label: 'Transfer', value: 'transfer', icon: IconStocktake },\n { label: 'Other', value: 'custom', icon: IconCustom },\n]\n\nfunction formatPrice(price) {\n return '$' + (parseFloat(price) || 0).toFixed(2)\n}\n\n// Fetch variants and storages on mount\nonMounted(async () => {\n console.log('AdjustmentForm mounted with product:', props.product)\n \n // Fetch variants for the product\n try {\n const variantsData = await variants.read({\n product: props.product._id,\n limit: 50\n })\n productVariants.value = variantsData\n // Select first variant by default if available\n if (variantsData.length > 0) {\n selectedVariant.value = variantsData[0]._id\n }\n } catch (err) {\n console.error('Error fetching variants:', err)\n }\n\n // Fetch storage options\n try {\n const spotsData = await spots.actions.read({\n user: auth.state.user._id,\n organization: route.params._id,\n limit: 50\n })\n storageOptions.value = spotsData.map(spot => ({\n _id: spot._id,\n name: spot.profile?.name || 'Storage'\n }))\n // Select first storage by default if available\n if (storageOptions.value.length > 0) {\n selectedStorage.value = storageOptions.value[0]._id\n }\n } catch (err) {\n console.error('Error fetching spots:', err)\n }\n})\n\nasync function saveAdjustment() {\n if (!selectedVariant.value) {\n alert('Please select a variant')\n throw new Error('Please select a variant')\n }\n if (!selectedStorage.value) {\n alert('Please select a storage')\n throw new Error('Please select a storage')\n }\n\n try {\n const adjustmentData = {\n product: props.product._id,\n variant: selectedVariant.value,\n storage: selectedStorage.value,\n source: {\n type: 'User',\n target: auth.state.user._id\n },\n quantity: parseInt(quantity.value || 0),\n reason: selectedReason.value,\n comment: note.value || '',\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n }\n \n const createdAdjustment = await inventory.actions.createAdjustment(adjustmentData)\n \n // Emit the adjustment data for parent component to update the product\n emit('adjustment-created', {\n product: props.product._id,\n storage: selectedStorage.value,\n quantity: parseInt(quantity.value || 0),\n storageName: storageOptions.value.find(s => s._id === selectedStorage.value)?.name\n })\n \n emit('close')\n } catch (err) {\n console.error(err)\n throw err\n }\n}\n</script>"],"names":["IconDamage","IconExpire","IconMisplacement","IconThief","IconStocktake","IconCustom","variants","spots.actions","auth.state","inventory.actions"],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ const _sfc_main = {
|
|
|
36
36
|
}
|
|
37
37
|
return (_ctx, _cache) => {
|
|
38
38
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
39
|
-
_cache[2] || (_cache[2] = createElementVNode("p", { class: "mn-b-medium
|
|
39
|
+
_cache[2] || (_cache[2] = createElementVNode("p", { class: "mn-b-medium opacity-50" }, " Customize which columns are visible in your inventory table. ", -1)),
|
|
40
40
|
createElementVNode("div", _hoisted_2, [
|
|
41
41
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (col) => {
|
|
42
42
|
return openBlock(), createElementBlock("div", {
|
|
@@ -59,7 +59,7 @@ const _sfc_main = {
|
|
|
59
59
|
submit: () => _ctx.$emit("close"),
|
|
60
60
|
showLoader: false,
|
|
61
61
|
showSucces: false,
|
|
62
|
-
class: "pd-small radius-small flex-center flex w-max cursor-pointer
|
|
62
|
+
class: "pd-small radius-small flex-center flex w-max cursor-pointer opacity-50"
|
|
63
63
|
}, {
|
|
64
64
|
default: withCtx(() => _cache[0] || (_cache[0] = [
|
|
65
65
|
createTextVNode(" Cancel ")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSettingsMenu.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/ColumnSettingsMenu.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium
|
|
1
|
+
{"version":3,"file":"ColumnSettingsMenu.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/ColumnSettingsMenu.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium opacity-50\">\n Customize which columns are visible in your inventory table.\n </p>\n\n <div class=\"mn-b-medium\">\n <div\n v-for=\"col in columns\"\n :key=\"col.key\"\n class=\"mn-b-small\"\n >\n <Checkbox\n :label=\"col.label\"\n name=\"columnVisibility\"\n :value=\"col.key\"\n class=\"w-100 bg-light radius-small pd-small\"\n :checked=\"selected.includes(col.key)\"\n @update:checked=\"val => toggle(col.key, val)\"\n />\n </div>\n </div>\n\n <div class=\"flex-nowrap flex gap-small\">\n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer opacity-50\"\n >\n Cancel\n </Button>\n\n <Button\n :submit=\"saveSettings\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-100 cursor-pointer bg-main t-black\"\n >\n Save Settings\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue'\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n\nconst props = defineProps({\n columns: {\n type: Array,\n required: true\n }\n})\n\nconst emit = defineEmits(['save', 'close'])\n\n// Локальный массив выбранных ключей\nconst selected = ref(props.columns.filter(c => c.visible).map(c => c.key))\n\n// Синхронизируем, если проп изменится\nwatch(\n () => props.columns,\n cols => {\n selected.value = cols.filter(c => c.visible).map(c => c.key)\n }\n)\n\n// Добавление/удаление ключа\nfunction toggle(key, checked) {\n const idx = selected.value.indexOf(key)\n if (checked && idx === -1) {\n selected.value.push(key)\n } else if (!checked && idx !== -1) {\n selected.value.splice(idx, 1)\n }\n}\n\n// Эмитим массив видимых колонок\nfunction saveSettings() {\n emit('save', selected.value)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAkDA,UAAM,QAAQ;AAOd,UAAM,OAAO;AAGb,UAAM,WAAW,IAAI,MAAM,QAAQ,OAAO,OAAK,EAAE,OAAO,EAAE,IAAI,OAAK,EAAE,GAAG,CAAC;AAGzE;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,UAAQ;AACN,iBAAS,QAAQ,KAAK,OAAO,OAAK,EAAE,OAAO,EAAE,IAAI,OAAK,EAAE,GAAG;AAAA,MAC7D;AAAA,IACF;AAGA,aAAS,OAAO,KAAK,SAAS;AAC5B,YAAM,MAAM,SAAS,MAAM,QAAQ,GAAG;AACtC,UAAI,WAAW,QAAQ,IAAI;AACzB,iBAAS,MAAM,KAAK,GAAG;AAAA,MACzB,WAAW,CAAC,WAAW,QAAQ,IAAI;AACjC,iBAAS,MAAM,OAAO,KAAK,CAAC;AAAA,MAC9B;AAAA,IACF;AAGA,aAAS,eAAe;AACtB,WAAK,QAAQ,SAAS,KAAK;AAAA,IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -155,7 +155,7 @@ const _sfc_main = {
|
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
157
|
};
|
|
158
|
-
const HistoryView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
158
|
+
const HistoryView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b9b4e17b"]]);
|
|
159
159
|
export {
|
|
160
160
|
HistoryView as default
|
|
161
161
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistoryView.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/HistoryView.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <div class=\"flex-nowrap flex flex-v-center mn-b-medium\">\n <div class=\"flex-nowrap flex flex-v-center\">\n <img \n v-if=\"product.images && product.images.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + product.images[0]\" \n alt=\"Product\" \n class=\"w-3r h-3r radius-small object-fit-cover mn-r-small\"\n />\n <PlaceholderImage \n v-else \n class=\"w-3r h-3r radius-small mn-r-small\"\n />\n \n <div>\n <h3 class=\"mn-b-nano\">{{ product.name }}</h3>\n <!-- <p class=\"t-small
|
|
1
|
+
{"version":3,"file":"HistoryView.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/HistoryView.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <div class=\"flex-nowrap flex flex-v-center mn-b-medium\">\n <div class=\"flex-nowrap flex flex-v-center\">\n <img \n v-if=\"product.images && product.images.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + product.images[0]\" \n alt=\"Product\" \n class=\"w-3r h-3r radius-small object-fit-cover mn-r-small\"\n />\n <PlaceholderImage \n v-else \n class=\"w-3r h-3r radius-small mn-r-small\"\n />\n \n <div>\n <h3 class=\"mn-b-nano\">{{ product.name }}</h3>\n <!-- <p class=\"t-small opacity-50\">SKU: {{ product.sku }}</p> -->\n </div>\n </div>\n </div>\n \n <div class=\"mn-b-medium w-100 h-max-30r o-scroll\">\n <table class=\"w-100\">\n <thead>\n <tr class=\"bg-light\">\n <th class=\"pd-small t-left\">Date</th>\n <th class=\"pd-small t-left\">Type</th>\n <th class=\"pd-small t-left\">Quantity</th>\n <th class=\"pd-small t-left\">Reason</th>\n <th class=\"pd-small t-left\">User</th>\n </tr>\n </thead>\n <tbody>\n <tr v-if=\"loading\">\n <td colspan=\"5\" class=\"pd-medium t-center\">Loading history...</td>\n </tr>\n <tr v-else-if=\"history.length === 0\">\n <td colspan=\"5\" class=\"pd-medium t-center\">No history available</td>\n </tr>\n <tr v-for=\"(entry, index) in history\" :key=\"index\" class=\"border-b\">\n <td class=\"pd-small\">{{ formatDate(entry.createdAt) }}</td>\n <td class=\"pd-small\">\n <span \n :class=\"entry.quantity > 0 ? 'bg-green t-white' : 'bg-red t-white'\"\n class=\"pd-nano pd-r-small pd-l-small radius-small t-small\"\n >\n {{ entry.quantity > 0 ? 'Stock In' : 'Stock Out' }}\n </span>\n </td>\n <td class=\"pd-small\">\n {{ entry.quantity > 0 ? '+' : '' }}{{ entry.quantity }}\n </td>\n <td class=\"pd-small\">{{ entry.reason || entry.comment || 'Not specified' }}</td>\n <td class=\"pd-small\">\n <div class=\"flex-nowrap flex flex-v-center\">\n <div class=\"w-2r h-2r radius-extra bg-light o-hidden mn-r-nano\">\n <img \n v-if=\"entry.creator?.target?.profile?.photo\" \n :src=\"(FILE_SERVER_URL || '') + entry.creator.target.profile.photo\" \n alt=\"User\" \n class=\"w-100 h-100 object-fit-cover\" \n />\n <PlaceholderImage v-else class=\"w-100 h-100\" />\n </div>\n {{ entry.creator?.target?.profile?.name || 'System' }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n \n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer bg-main t-black\"\n >\n Close\n </Button>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted } from 'vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n\nimport * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js'\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close'])\n\n// State\nconst loading = ref(true)\nconst history = ref([])\n\nonMounted(async () => {\n await loadHistory()\n})\n\nasync function loadHistory() {\n loading.value = true\n try {\n // Fetch adjustments for this product\n const data = await inventory.actions.fetchAdjustments({\n product: props.product._id,\n limit: 50,\n sortParam: 'createdAt',\n sortOrder: 'desc',\n lookup: ['creator', 'source', 'storage']\n })\n \n history.value = data || []\n } catch (error) {\n console.error('Error loading history:', error)\n history.value = []\n } finally {\n loading.value = false\n }\n}\n\nfunction formatDate(dateString) {\n const date = new Date(dateString)\n return date.toLocaleDateString('en-US', { \n day: 'numeric', \n month: 'short', \n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n })\n}\n</script>\n\n<style scoped>\n.border-b {\n border-bottom: 1px solid rgba(var(--black), 0.1);\n}\n</style>"],"names":["inventory.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FA,UAAM,QAAQ;AAUd,UAAM,UAAU,IAAI,IAAI;AACxB,UAAM,UAAU,IAAI,CAAA,CAAE;AAEtB,cAAU,YAAY;AACpB,YAAM,YAAW;AAAA,IACnB,CAAC;AAED,mBAAe,cAAc;AAC3B,cAAQ,QAAQ;AAChB,UAAI;AAEF,cAAM,OAAO,MAAMA,QAAkB,iBAAiB;AAAA,UACpD,SAAS,MAAM,QAAQ;AAAA,UACvB,OAAO;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,UACX,QAAQ,CAAC,WAAW,UAAU,SAAS;AAAA,QAC7C,CAAK;AAED,gBAAQ,QAAQ,QAAQ,CAAA;AAAA,MAC1B,SAAS,OAAO;AACd,gBAAQ,MAAM,0BAA0B,KAAK;AAC7C,gBAAQ,QAAQ,CAAA;AAAA,MAClB,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,WAAW,YAAY;AAC9B,YAAM,OAAO,IAAI,KAAK,UAAU;AAChC,aAAO,KAAK,mBAAmB,SAAS;AAAA,QACtC,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,MACZ,CAAG;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,7 +9,7 @@ import variantsStore from "../../../products/store/variants.store.js";
|
|
|
9
9
|
import stockAlertsStore from "../../store/stock.alerts.store.js";
|
|
10
10
|
const _hoisted_1 = { class: "w-100" };
|
|
11
11
|
const _hoisted_2 = { class: "mn-b-medium" };
|
|
12
|
-
const _hoisted_3 = { class: "mn-t-small t-small
|
|
12
|
+
const _hoisted_3 = { class: "mn-t-small t-small opacity-50" };
|
|
13
13
|
const _hoisted_4 = { class: "mn-b-medium" };
|
|
14
14
|
const _hoisted_5 = { class: "flex-nowrap flex gap-small" };
|
|
15
15
|
const _sfc_main = {
|
|
@@ -117,7 +117,7 @@ const _sfc_main = {
|
|
|
117
117
|
}
|
|
118
118
|
return (_ctx, _cache) => {
|
|
119
119
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
120
|
-
_cache[6] || (_cache[6] = createElementVNode("p", { class: "mn-b-medium
|
|
120
|
+
_cache[6] || (_cache[6] = createElementVNode("p", { class: "mn-b-medium opacity-50" }, " Set up stock level alerts to get notified when inventory runs low. ", -1)),
|
|
121
121
|
createElementVNode("div", _hoisted_2, [
|
|
122
122
|
_cache[3] || (_cache[3] = createElementVNode("p", { class: "mn-b-small fw-medium" }, "Alert Scope", -1)),
|
|
123
123
|
createVNode(Select, {
|
|
@@ -155,7 +155,7 @@ const _sfc_main = {
|
|
|
155
155
|
submit: () => _ctx.$emit("close"),
|
|
156
156
|
showLoader: false,
|
|
157
157
|
showSucces: false,
|
|
158
|
-
class: "pd-small radius-small flex-center flex w-max cursor-pointer
|
|
158
|
+
class: "pd-small radius-small flex-center flex w-max cursor-pointer opacity-50"
|
|
159
159
|
}, {
|
|
160
160
|
default: withCtx(() => _cache[4] || (_cache[4] = [
|
|
161
161
|
createTextVNode(" Cancel ")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StockAlertsForm.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/StockAlertsForm.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium
|
|
1
|
+
{"version":3,"file":"StockAlertsForm.vue.js","sources":["../../../../../../../src/modules/inventory/components/forms/StockAlertsForm.vue"],"sourcesContent":["<template>\n <div class=\"w-100\">\n <p class=\"mn-b-medium opacity-50\">\n Set up stock level alerts to get notified when inventory runs low.\n </p>\n \n <!-- Variant Selection -->\n <div class=\"mn-b-medium\">\n <p class=\"mn-b-small fw-medium\">Alert Scope</p>\n <Select\n v-model:select=\"selectedVariant\"\n :options=\"variantOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"All variants\"\n class=\"w-100 bg-light radius-small pd-medium mn-b-small\"\n />\n \n <Select\n v-model:select=\"selectedStorage\"\n :options=\"storageOptions\"\n property=\"_id\"\n value=\"name\"\n placeholder=\"All storages\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n \n <p class=\"mn-t-small t-small opacity-50\">\n {{ alertDescription }}\n </p>\n </div>\n \n <!-- Threshold -->\n <div class=\"mn-b-medium\">\n <Field\n v-model:field=\"threshold\"\n label=\"Alert when stock falls below\"\n type=\"number\"\n placeholder=\"Enter minimum quantity\"\n class=\"w-100 bg-light radius-small pd-medium\"\n />\n </div>\n \n <!-- Actions -->\n <div class=\"flex-nowrap flex gap-small\">\n <Button\n :submit=\"() => $emit('close')\"\n :showLoader=\"false\"\n :showSucces=\"false\"\n class=\"pd-small radius-small flex-center flex w-max cursor-pointer opacity-50\"\n >\n Cancel\n </Button>\n \n <Button\n :submit=\"saveAlert\"\n :showLoader=\"true\"\n :showSucces=\"true\"\n class=\"pd-small radius-small flex-center flex w-100 cursor-pointer bg-main t-black\"\n >\n Save Alert\n </Button>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\nimport { useRoute } from 'vue-router'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as spots from '@martyrs/src/modules/spots/store/spots.js'\nimport variants from '@martyrs/src/modules/products/store/variants.store.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\nconst route = useRoute()\n\nconst props = defineProps({\n product: {\n type: Object,\n required: true\n }\n})\n\nconst emit = defineEmits(['close'])\n\n// Form state\nconst selectedVariant = ref(null)\nconst selectedStorage = ref(null)\nconst threshold = ref(10)\nconst variantOptions = ref([])\nconst storageOptions = ref([])\n\n// Alert description based on selections\nconst alertDescription = computed(() => {\n if (!selectedVariant.value && !selectedStorage.value) {\n return `Track total stock for ${props.product.name} across all variants and storages`\n } else if (selectedVariant.value && !selectedStorage.value) {\n const variant = variantOptions.value.find(v => v._id === selectedVariant.value)\n return `Track ${variant?.name || 'variant'} stock across all storages`\n } else if (!selectedVariant.value && selectedStorage.value) {\n const storage = storageOptions.value.find(s => s._id === selectedStorage.value)\n return `Track all variants at ${storage?.name || 'storage'}`\n } else {\n const variant = variantOptions.value.find(v => v._id === selectedVariant.value)\n const storage = storageOptions.value.find(s => s._id === selectedStorage.value)\n return `Track ${variant?.name || 'variant'} at ${storage?.name || 'storage'}`\n }\n})\n\n// Fetch data on mount\nonMounted(async () => {\n // Fetch variants for the product\n try {\n const variantsData = await variants.read({\n product: props.product._id,\n limit: 50\n })\n variantOptions.value = [\n { _id: null, name: 'All variants' },\n ...variantsData.map(v => ({\n _id: v._id,\n name: v.name || 'Default Variant'\n }))\n ]\n } catch (err) {\n console.error('Error fetching variants:', err)\n }\n\n // Fetch storage options\n try {\n const spotsData = await spots.actions.read({\n organization: route.params._id,\n limit: 50\n })\n storageOptions.value = [\n { _id: null, name: 'All storages' },\n ...spotsData.map(spot => ({\n _id: spot._id,\n name: spot.profile?.name || 'Storage'\n }))\n ]\n } catch (err) {\n console.error('Error fetching spots:', err)\n }\n \n // Check if alert already exists\n try {\n const existingAlerts = await stockAlerts.read({\n product: props.product._id,\n owner: route.params._id\n })\n if (existingAlerts.length > 0) {\n // Load first alert settings\n const alert = existingAlerts[0]\n selectedVariant.value = alert.variant\n selectedStorage.value = alert.storage\n threshold.value = alert.threshold\n }\n } catch (err) {\n console.error('Error fetching existing alerts:', err)\n }\n})\n\nasync function saveAlert() {\n try {\n const alertData = {\n product: props.product._id,\n variant: selectedVariant.value,\n storage: selectedStorage.value,\n threshold: parseInt(threshold.value || 0),\n enabled: true,\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n }\n \n await stockAlerts.create(alertData)\n emit('close')\n } catch (err) {\n console.error(err)\n throw err\n }\n}\n</script>"],"names":["variants","spots.actions","stockAlerts","auth.state"],"mappings":"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"}
|