@ozdao/martyrs 0.2.547 → 0.2.549
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth.server.cjs +9 -9
- package/dist/auth.server.js +9 -9
- package/dist/builder.cjs +12 -751
- package/dist/builder.js +21 -721
- package/dist/chats.server.cjs +61 -59
- package/dist/chats.server.js +61 -59
- package/dist/{common.schema-BzFEVNn3.cjs → common.schema-BtXLULba.cjs} +2 -2
- package/dist/{common.schema-Bw1O5_2Q.js → common.schema-GFSlNJo7.js} +2 -2
- package/dist/community.server.cjs +10 -10
- package/dist/community.server.js +10 -10
- package/dist/{credentials.schema-C9FB2EyY.js → credentials.schema--2vvcu8c.js} +2 -2
- package/dist/{credentials.schema-DwhGdrwC.cjs → credentials.schema-DVXaFnXl.cjs} +2 -2
- package/dist/{crud-Ed3dcRsC.js → crud-D_snnl2K.js} +78 -2
- package/dist/{crud-DGM6Xa1R.cjs → crud-pedHI2by.cjs} +78 -2
- package/dist/{engagement.schema-JADHu8pj.cjs → engagement.schema-DHw4iY_W.cjs} +2 -2
- package/dist/{engagement.schema-Dh1adRsn.js → engagement.schema-fh6W1fb_.js} +2 -2
- package/dist/events.server.cjs +452 -11
- package/dist/events.server.js +433 -9
- package/dist/files.server.cjs +2 -2
- package/dist/files.server.js +2 -2
- package/dist/gallery.server.cjs +5 -5
- package/dist/gallery.server.js +5 -5
- package/dist/globals.server.cjs +11 -373
- package/dist/globals.server.js +11 -356
- package/dist/globals.websocket-C2FxNmZ1.js +357 -0
- package/dist/globals.websocket-Cm72lPCs.cjs +374 -0
- package/dist/inventory.server.cjs +4 -5
- package/dist/inventory.server.js +2 -3
- package/dist/main-DvjCsGb1.cjs +11 -0
- package/dist/{main-d9n_ibdE.js → main-q-y0Lhcy.js} +28 -28
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs +8 -8
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js +8 -8
- package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs +2 -2
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js +2 -2
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs +2 -2
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js +2 -2
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs +8 -8
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs.map +1 -1
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js +8 -8
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js.map +1 -1
- package/dist/martyrs/src/components/Button/Button.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs +3 -3
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +3 -3
- package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js +1 -1
- package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs +4 -4
- package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js +4 -4
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
- package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs +1 -1
- package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +2 -2
- package/dist/martyrs/src/components/Field/{Field.vue.cjs.map → Field.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs +2 -2
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +2 -2
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
- package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
- package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
- package/dist/martyrs/src/components/Status/Snack.vue.cjs +1 -1
- package/dist/martyrs/src/components/Status/Snack.vue.cjs.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.cjs +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.cjs.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/UploadImage/UploadImage.vue.cjs +3 -3
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +3 -3
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +7 -7
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +7 -7
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +3 -3
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +3 -3
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +2 -2
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +2 -2
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.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.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.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/community/components/sections/Comments.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +2 -2
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +2 -2
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +2 -2
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +4 -4
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +5 -5
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +5 -5
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +4 -4
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +4 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +4 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +5 -5
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +5 -5
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.cjs +4 -4
- package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.js +4 -4
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +6 -6
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +6 -6
- package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +4 -4
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +4 -4
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +10 -10
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +10 -10
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +3 -3
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.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.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.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/layouts/Marketplace.vue.cjs +4 -4
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +4 -4
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +4 -4
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +4 -4
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +6 -6
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +6 -6
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +7 -7
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +6 -6
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +6 -6
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +9 -9
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +9 -9
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +10 -10
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +10 -10
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +4 -4
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +4 -4
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +6 -6
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +6 -6
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +10 -10
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +10 -10
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +2 -2
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
- package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +2 -2
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +2 -2
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs +8 -8
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +8 -8
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +4 -4
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +4 -4
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +9 -9
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +9 -9
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.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/AskToLogin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs.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/FormDelivery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.cjs +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.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +9 -9
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +9 -9
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +9 -9
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +9 -9
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs.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.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.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/elements/Price.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.cjs → THC.vue.cjs} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.js → THC.vue.js} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +5 -5
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +5 -5
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +5 -5
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +7 -7
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +7 -7
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.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/ProductsRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs.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/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +3 -3
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +3 -3
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +6 -6
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +6 -6
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs.map +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.cjs +5 -5
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +28 -6
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +6 -6
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/{metadata.schema-RlxNv46L.cjs → metadata.schema-BGykn-_r.cjs} +2 -2
- package/dist/{metadata.schema-CWmcDJN7.js → metadata.schema-CIRR_WQ-.js} +2 -2
- package/dist/music.server.cjs +30 -33
- package/dist/music.server.js +30 -33
- package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +2 -2
- package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js +2 -2
- package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs +13 -13
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs.map +1 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js +13 -13
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js.map +1 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs +3 -3
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs.map +1 -1
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js +3 -3
- package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs +10 -10
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js +10 -10
- package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js.map +1 -1
- package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs +2 -2
- package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +1 -1
- package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +2 -2
- package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -1
- package/dist/notifications.server.cjs +22 -18
- package/dist/notifications.server.js +22 -18
- package/dist/orders.server.cjs +10 -10
- package/dist/orders.server.js +10 -10
- package/dist/organizations.server.cjs +13 -13
- package/dist/organizations.server.js +13 -13
- package/dist/{ownership.schema-D1p5XSpt.cjs → ownership.schema-CRYdbemm.cjs} +2 -2
- package/dist/{ownership.schema-BqH4v5vH.js → ownership.schema-fwwDf_e5.js} +2 -2
- package/dist/pages.server.cjs +2 -2
- package/dist/pages.server.js +2 -2
- package/dist/products.server.cjs +13 -13
- package/dist/products.server.js +13 -13
- package/dist/{profile.schema-BGAe5VN5.js → profile.schema-CjLOfG7b.js} +2 -2
- package/dist/{profile.schema-pidHrksV.cjs → profile.schema-l0Dk4Ptu.cjs} +2 -2
- package/dist/rents.server.cjs +2 -2
- package/dist/rents.server.js +2 -2
- package/dist/reports.server.cjs +2 -2
- package/dist/reports.server.js +2 -2
- package/dist/{socials.schema-CtpSF9dE.cjs → socials.schema-CqEHax2w.cjs} +2 -2
- package/dist/{socials.schema-BOZV82Mp.js → socials.schema-DxnnaBgO.js} +2 -2
- package/dist/spots.server.cjs +4 -4
- package/dist/spots.server.js +4 -4
- package/dist/style.css +75 -76
- package/dist/{web-BkaOiiSn.js → web-8cpb2Zat.js} +1 -1
- package/dist/{web-CROHFHoW.cjs → web-B0k809Uc.cjs} +1 -1
- package/package.json +8 -12
- package/src/builder/builder.js +0 -6
- package/src/components/Button/Button.vue +0 -1
- package/src/components/Calendar/Calendar.vue +2 -2
- package/src/components/Chips/Chips.vue +1 -1
- package/src/components/Countdown/Countdown.vue +4 -4
- package/src/components/EmptyState/EmptyState.vue +1 -1
- package/src/components/FieldBig/FieldBig.vue +1 -1
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/LocationMarker/LocationMarker.vue +2 -2
- package/src/components/Menu/MenuItem.vue +1 -1
- package/src/components/Status/Snack.vue +1 -1
- package/src/components/Status/Status.vue +1 -1
- package/src/components/UploadImage/UploadImage.vue +2 -2
- package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
- package/src/modules/STYLES.MD +59 -77
- package/src/modules/TASK-CORE-TRANSFER.MD +62 -0
- package/src/modules/auth/views/components/pages/EnterPassword.vue +1 -1
- package/src/modules/auth/views/components/pages/Profile.vue +3 -3
- package/src/modules/auth/views/components/pages/ProfileEdit.vue +1 -1
- package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
- package/src/modules/backoffice/components/admin/Users.vue +1 -1
- package/src/modules/backoffice/components/pages/Dashboard.vue +3 -3
- package/src/modules/backoffice/components/partials/Sidebar.vue +2 -2
- package/src/modules/chats/components/sections/ChatWindow.vue +1 -1
- package/src/modules/chats/routes/chats.routes.js +6 -4
- package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
- package/src/modules/community/components/layouts/Community.vue +2 -2
- package/src/modules/community/components/sections/Comment.vue +1 -1
- package/src/modules/community/components/sections/Comments.vue +1 -1
- package/src/modules/constructor/components/elements/Card.vue +1 -1
- package/src/modules/constructor/components/sections/Constructor.vue +2 -2
- package/src/modules/constructor/components/sections/Viewer.vue +1 -1
- package/src/modules/events/TASKS.MD +0 -0
- package/src/modules/events/components/blocks/CardEvent.vue +4 -4
- package/src/modules/events/components/pages/Event.vue +3 -3
- package/src/modules/events/components/pages/Events.vue +4 -4
- package/src/modules/events/components/sections/SelectDate.vue +2 -2
- package/src/modules/globals/globals.server.js +14 -1
- package/src/modules/globals/views/classes/globals.app.js +8 -4
- package/src/modules/globals/views/components/blocks/CardHeader.vue +4 -4
- package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
- package/src/modules/globals/views/components/elements/PhotoStack.vue +4 -4
- package/src/modules/globals/views/components/partials/CitySelection.vue +2 -2
- package/src/modules/globals/views/components/partials/Footer.centered.vue +6 -6
- package/src/modules/globals/views/components/partials/Footer.vue +6 -6
- package/src/modules/globals/views/components/partials/Header.vue +3 -3
- package/src/modules/globals/views/components/partials/LocationSelection.vue +1 -1
- package/src/modules/globals/views/components/partials/Navigation.vue +1 -1
- package/src/modules/globals/views/components/sections/SectionPageTitle.vue +2 -2
- package/src/modules/globals/views/components/sections/Walkthrough.vue +10 -10
- package/src/modules/governance/TASK-TRACKER.MD +192 -0
- package/src/modules/governance/controllers/routes/initiatives.routes.js +106 -11
- package/src/modules/governance/controllers/routes/milestones.routes.js +111 -0
- package/src/modules/governance/controllers/routes/tasks.routes.js +164 -11
- package/src/modules/governance/controllers/routes/votes.routes.js +50 -9
- package/src/modules/governance/controllers/routes/votings.routes.js +209 -12
- package/src/modules/governance/data/mockData.js +654 -0
- package/src/modules/governance/governance.server.js +6 -11
- package/src/modules/governance/middlewares/initiatives.verifier.js +197 -0
- package/src/modules/governance/middlewares/milestones.verifier.js +243 -0
- package/src/modules/governance/middlewares/tasks.verifier.js +224 -0
- package/src/modules/governance/middlewares/votes.verifier.js +115 -0
- package/src/modules/governance/middlewares/votings.verifier.js +237 -0
- package/src/modules/governance/models/initiative.model.js +14 -8
- package/src/modules/governance/models/task.model.js +13 -1
- package/src/modules/governance/models/voting.model.js +68 -2
- package/src/modules/governance/reactcode/.bolt/config.json +3 -0
- package/src/modules/governance/reactcode/.bolt/prompt +5 -0
- package/src/modules/governance/reactcode/eslint.config.js +28 -0
- package/src/modules/governance/reactcode/index.html +13 -0
- package/src/modules/governance/reactcode/package-lock.json +4229 -0
- package/src/modules/governance/reactcode/package.json +36 -0
- package/src/modules/governance/reactcode/postcss.config.js +6 -0
- package/src/modules/governance/reactcode/src/App.tsx +29 -0
- package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +258 -0
- package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +257 -0
- package/src/modules/governance/reactcode/src/components/EmptyState.tsx +29 -0
- package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +59 -0
- package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +58 -0
- package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +82 -0
- package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +70 -0
- package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +183 -0
- package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +100 -0
- package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +184 -0
- package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +74 -0
- package/src/modules/governance/reactcode/src/components/TaskCard.tsx +88 -0
- package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +27 -0
- package/src/modules/governance/reactcode/src/components/VoteForm.tsx +96 -0
- package/src/modules/governance/reactcode/src/components/VotingCard.tsx +78 -0
- package/src/modules/governance/reactcode/src/components/VotingResults.tsx +155 -0
- package/src/modules/governance/reactcode/src/data/mockData.ts +1465 -0
- package/src/modules/governance/reactcode/src/index.css +3 -0
- package/src/modules/governance/reactcode/src/main.tsx +10 -0
- package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +569 -0
- package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +171 -0
- package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +182 -0
- package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +178 -0
- package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +256 -0
- package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +529 -0
- package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +191 -0
- package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +86 -0
- package/src/modules/governance/reactcode/src/vite-env.d.ts +1 -0
- package/src/modules/governance/reactcode/tailwind.config.js +8 -0
- package/src/modules/governance/reactcode/tsconfig.app.json +24 -0
- package/src/modules/governance/reactcode/tsconfig.json +7 -0
- package/src/modules/governance/reactcode/tsconfig.node.json +22 -0
- package/src/modules/governance/reactcode/vite.config.ts +10 -0
- package/src/modules/governance/seed-governance.js +348 -0
- package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +58 -7
- package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +70 -0
- package/src/modules/governance/views/components/blocks/CardTaskItem.vue +58 -7
- package/src/modules/governance/views/components/blocks/CardVotingItem.vue +65 -7
- package/src/modules/governance/views/components/layouts/Governance.vue +23 -0
- package/src/modules/governance/views/components/pages/Governance.vue +44 -0
- package/src/modules/governance/views/components/pages/Initiative.vue +413 -8
- package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +159 -0
- package/src/modules/governance/views/components/pages/Initiatives.vue +164 -6
- package/src/modules/governance/views/components/pages/Milestone.vue +170 -0
- package/src/modules/governance/views/components/pages/Roadmap.vue +238 -0
- package/src/modules/governance/views/components/pages/Task.vue +393 -14
- package/src/modules/governance/views/components/pages/Tasks.vue +164 -10
- package/src/modules/governance/views/components/pages/Voting.vue +167 -20
- package/src/modules/governance/views/components/pages/Votings.vue +86 -9
- package/src/modules/governance/views/components/partials/EmptyState.vue +41 -0
- package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +73 -0
- package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +35 -0
- package/src/modules/governance/views/components/partials/VoteForm.vue +100 -0
- package/src/modules/governance/views/components/partials/VotingResults.vue +127 -0
- package/src/modules/governance/views/router/goverance.router.js +52 -1
- package/src/modules/governance/views/store/initiatives.js +10 -7
- package/src/modules/governance/views/store/tasks.js +10 -7
- package/src/modules/governance/views/store/votes.js +10 -7
- package/src/modules/governance/views/store/votings.js +9 -6
- package/src/modules/inventory/components/forms/AdjustmentForm.vue +1 -1
- package/src/modules/landing/components/sections/Examples.vue +1 -1
- package/src/modules/landing/components/sections/SectionEarn.vue +2 -2
- package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
- package/src/modules/landing/components/sections/SectionFeaturesImages.vue +1 -1
- package/src/modules/landing/components/sections/SectionFocus.vue +1 -1
- package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
- package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
- package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
- package/src/modules/landing/components/sections/SectionJoinUs.vue +1 -1
- package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
- package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +3 -3
- package/src/modules/marketplace/views/components/sections/SectionMenu.vue +1 -1
- package/src/modules/music/components/forms/AlbumForm.vue +2 -2
- package/src/modules/music/components/forms/ArtistForm.vue +4 -4
- package/src/modules/music/components/forms/PlaylistForm.vue +6 -6
- package/src/modules/music/components/forms/TrackForm.vue +4 -4
- package/src/modules/music/components/pages/Album.vue +8 -8
- package/src/modules/music/components/pages/Artist.vue +10 -10
- package/src/modules/music/components/pages/MusicLibrary.vue +4 -4
- package/src/modules/music/components/pages/Playlist.vue +5 -5
- package/src/modules/music/components/pages/Track.vue +9 -9
- package/src/modules/music/music.server.js +0 -1
- package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
- package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
- package/src/modules/notifications/notifications.server.js +26 -20
- package/src/modules/orders/components/blocks/CardOrder.vue +7 -7
- package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +1 -1
- package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
- package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +2 -2
- package/src/modules/orders/components/elements/PriceTotal.vue +1 -1
- package/src/modules/orders/components/pages/Favorites.vue +1 -1
- package/src/modules/orders/components/pages/OrderBackoffice.vue +7 -7
- 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/AskToLogin.vue +1 -1
- package/src/modules/orders/components/sections/Succes.vue +1 -1
- package/src/modules/organizations/components/blocks/CardOrganization.vue +3 -3
- package/src/modules/organizations/components/blocks/EmptyState.vue +1 -1
- package/src/modules/organizations/components/blocks/Rating.vue +2 -2
- package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +1 -1
- package/src/modules/organizations/components/forms/DepartmentForm.vue +2 -2
- 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 +2 -2
- package/src/modules/organizations/components/pages/Organization.new.vue +7 -7
- package/src/modules/organizations/components/pages/Organization.vue +6 -6
- package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +8 -8
- package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
- package/src/modules/products/components/blocks/CardCategory.vue +2 -2
- package/src/modules/products/components/blocks/CardPosition.vue +1 -1
- package/src/modules/products/components/blocks/CardProduct.vue +3 -3
- package/src/modules/products/components/blocks/ProductDiscounts.vue +2 -2
- package/src/modules/products/components/elements/Price.vue +4 -4
- package/src/modules/products/components/elements/QuantitySelector.vue +2 -2
- package/src/modules/products/components/forms/StockAuditForm.vue +1 -1
- package/src/modules/products/components/pages/Product.vue +2 -2
- package/src/modules/products/components/pages/Products.vue +4 -4
- package/src/modules/products/components/sections/EditAttributes.vue +3 -3
- package/src/modules/products/components/sections/EditDiscounts.vue +3 -3
- package/src/modules/products/components/sections/EditVariants.vue +5 -5
- package/src/modules/products/components/sections/FilterProducts.vue +3 -3
- package/src/modules/products/components/sections/HeroRecommendation.vue +2 -2
- package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
- package/src/modules/products/components/sections/ProductsRecommended.vue +1 -1
- package/src/modules/products/components/sections/SectionProduct.vue +2 -2
- package/src/modules/reports/components/sections/FormReport.vue +2 -2
- package/src/modules/spots/components/blocks/CardSpot.vue +5 -5
- package/src/modules/spots/components/pages/Spot.vue +2 -2
- package/src/modules/spots/components/pages/SpotEdit.vue +3 -3
- package/src/modules/wallet/views/components/pages/Wallet.vue +10 -10
- package/src/styles/base/all.scss +20 -0
- package/src/styles/config.scss +10 -9
- package/src/styles/typography.scss +13 -13
- package/dist/globals.observer-C_FYclgV.cjs +0 -78
- package/dist/globals.observer-MZsqaE6F.js +0 -79
- package/dist/main-8f945Ngn.cjs +0 -11
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -2
- package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js +0 -2
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs +0 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js +0 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +0 -1
- package/dist/tickets.controller-9zoaVPcx.cjs +0 -444
- package/dist/tickets.controller-C8sWVqbB.js +0 -428
- package/dist/wallet.server.cjs +0 -528
- package/dist/wallet.server.js +0 -511
- package/src/builder/modes/ssr.vite.dev.js +0 -180
- package/src/builder/ssr/ssr-render-html.vite.js +0 -35
- package/src/builder/vite/index.js +0 -13
- package/src/builder/vite/vite.config.api.js +0 -52
- package/src/builder/vite/vite.config.base.js +0 -110
- package/src/builder/vite/vite.config.spa.client.js +0 -81
- package/src/builder/vite/vite.config.ssr.client.js +0 -244
- package/src/builder/vite/vite.config.ssr.server.js +0 -74
- package/src/modules/governance/controllers/factories/initiatives.controller.js +0 -90
- package/src/modules/governance/controllers/factories/tasks.controller.js +0 -88
- package/src/modules/governance/controllers/factories/votes.controller.js +0 -64
- package/src/modules/governance/controllers/factories/votings.controller.js +0 -105
- package/src/modules/governance/views/store/projects.js +0 -148
- /package/src/modules/governance/{DESCRIPTION.MD → IGNORE-ITS FOR FUTURE-DESCRIPTION.MD} +0 -0
|
@@ -7,9 +7,9 @@ const CardUser = require("../../../auth/views/components/blocks/CardUser.vue.cjs
|
|
|
7
7
|
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
8
8
|
;/* empty css */
|
|
9
9
|
;/* empty css */
|
|
10
|
+
;/* empty css */
|
|
10
11
|
;/* empty css */
|
|
11
|
-
;/* empty css
|
|
12
|
-
;/* empty css */
|
|
12
|
+
;/* empty css */
|
|
13
13
|
;/* empty css */
|
|
14
14
|
;/* empty css */
|
|
15
15
|
;/* empty css */
|
|
@@ -19,12 +19,12 @@ require("vue-i18n");
|
|
|
19
19
|
;/* empty css */
|
|
20
20
|
;/* empty css */
|
|
21
21
|
;/* empty css */
|
|
22
|
-
;/* empty css
|
|
22
|
+
;/* empty css */
|
|
23
23
|
require("../../../../components/Menu/MenuItem.vue.cjs");
|
|
24
24
|
;/* empty css */
|
|
25
|
-
;/* empty css
|
|
25
|
+
;/* empty css */
|
|
26
26
|
;/* empty css */
|
|
27
|
-
;/* empty css
|
|
27
|
+
;/* empty css */
|
|
28
28
|
;/* empty css */
|
|
29
29
|
;/* empty css */
|
|
30
30
|
;/* empty css */
|
|
@@ -5,9 +5,9 @@ import _sfc_main$1 from "../../../auth/views/components/blocks/CardUser.vue.js";
|
|
|
5
5
|
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
6
6
|
/* empty css */
|
|
7
7
|
/* empty css */
|
|
8
|
+
/* empty css */
|
|
8
9
|
/* empty css */
|
|
9
|
-
/* empty css
|
|
10
|
-
/* empty css */
|
|
10
|
+
/* empty css */
|
|
11
11
|
/* empty css */
|
|
12
12
|
/* empty css */
|
|
13
13
|
/* empty css */
|
|
@@ -17,12 +17,12 @@ import "vue-i18n";
|
|
|
17
17
|
/* empty css */
|
|
18
18
|
/* empty css */
|
|
19
19
|
/* empty css */
|
|
20
|
-
/* empty css
|
|
20
|
+
/* empty css */
|
|
21
21
|
import "../../../../components/Menu/MenuItem.vue.js";
|
|
22
22
|
/* empty css */
|
|
23
|
-
/* empty css
|
|
23
|
+
/* empty css */
|
|
24
24
|
/* empty css */
|
|
25
|
-
/* empty css
|
|
25
|
+
/* empty css */
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
/* empty css */
|
|
@@ -18,7 +18,7 @@ const _hoisted_5 = {
|
|
|
18
18
|
};
|
|
19
19
|
const _hoisted_6 = {
|
|
20
20
|
key: 0,
|
|
21
|
-
class: "t-truncate pos-relative p-
|
|
21
|
+
class: "t-truncate pos-relative p-regular mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white"
|
|
22
22
|
};
|
|
23
23
|
const _hoisted_7 = { class: "t-truncate" };
|
|
24
24
|
const _hoisted_8 = {
|
|
@@ -95,7 +95,7 @@ const _sfc_main = {
|
|
|
95
95
|
__props.showTags && __props.organization.profile.tags?.length > 0 ? (vue.openBlock(), vue.createBlock(Chips.default, {
|
|
96
96
|
key: 0,
|
|
97
97
|
chips: __props.organization.profile.tags.slice(0, 3),
|
|
98
|
-
class: "pos-relative t-trimmed p-
|
|
98
|
+
class: "pos-relative t-trimmed p-regular"
|
|
99
99
|
}, {
|
|
100
100
|
default: vue.withCtx(() => [
|
|
101
101
|
__props.showFollowers ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
|
|
@@ -109,7 +109,7 @@ const _sfc_main = {
|
|
|
109
109
|
status: __props.organization.isSubscriber,
|
|
110
110
|
text: { create: "+", remove: "-" },
|
|
111
111
|
onUpdateMembership: _cache[0] || (_cache[0] = (event) => emits("updateMembership", event, "isSubscriber", "numberOfSubscribers")),
|
|
112
|
-
class: "i-
|
|
112
|
+
class: "i-medium"
|
|
113
113
|
}, null, 8, ["user", "target", "status"])) : vue.createCommentVNode("", true)
|
|
114
114
|
])) : vue.createCommentVNode("", true)
|
|
115
115
|
]),
|
package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardOrganization.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/blocks/CardOrganization.vue"],"sourcesContent":["<template>\n <div \n class=\"o-hidden pos-relative cursor-pointer bg-light \"\n @click=\"$router.push({name: 'Organization', params: {_id: organization._id}})\"\n >\n <div class=\"h-4r flex pos-relative\">\n\n <img loading=\"lazy\" \n v-if=\"organization.profile.photo && organization.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + organization.profile.photo\" \n class=\"h-4r w-4r radius-extra bg-white\" \n style=\"flex: 0 1 auto\"\n />\n\n <PlaceholderOrganizationPic\n v-else\n class=\"w-4r h-max radius-medium\"\n style=\"flex: 0 1 auto\"\n />\n \n <div class=\"pos-relative w-100 flex-h-center flex flex-column flex-child-1 flex-child mn-l-thin w-100\">\n \n <!-- <Text :text=\"organization.profile.name ? organization.profile.name : ''\" :maxLen=\"18\" class=\"h3 d-block\"/> -->\n <p class=\"h4 t-truncate w-100\">{{organization.profile.name}}</p>\n <!-- RATING -->\n <!-- <div v-if=\"showRating && organization.rating\" class=\"w-max star-container flex-v-center flex\">\n <img loading=\"lazy\" \n v-for=\"i in 5\"\n class=\"i-small mn-r-thin\"\n :src=\"i <= organization.rating.median ? '/icons/star.svg' : '/icons/star-stroke.svg'\"\n >\n\n <span class=\"p-small t-semi mn-r-thin\">{{organization.rating.median}}</span>\n <span class=\"p-small\">({{organization.rating.amount}})</span>\n </div> -->\n\n <div v-if=\"showFollowers || showTags\" class=\"mn-t-micro gap-micro flex-nowrap flex\">\n\n <Chips \n v-if=\"showTags && organization.profile.tags?.length > 0\" \n :chips=\"organization.profile.tags.slice(0,3)\"\n class=\"pos-relative t-trimmed p-
|
|
1
|
+
{"version":3,"file":"CardOrganization.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/blocks/CardOrganization.vue"],"sourcesContent":["<template>\n <div \n class=\"o-hidden pos-relative cursor-pointer bg-light \"\n @click=\"$router.push({name: 'Organization', params: {_id: organization._id}})\"\n >\n <div class=\"h-4r flex pos-relative\">\n\n <img loading=\"lazy\" \n v-if=\"organization.profile.photo && organization.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + organization.profile.photo\" \n class=\"h-4r w-4r radius-extra bg-white\" \n style=\"flex: 0 1 auto\"\n />\n\n <PlaceholderOrganizationPic\n v-else\n class=\"w-4r h-max radius-medium\"\n style=\"flex: 0 1 auto\"\n />\n \n <div class=\"pos-relative w-100 flex-h-center flex flex-column flex-child-1 flex-child mn-l-thin w-100\">\n \n <!-- <Text :text=\"organization.profile.name ? organization.profile.name : ''\" :maxLen=\"18\" class=\"h3 d-block\"/> -->\n <p class=\"h4 t-truncate w-100\">{{organization.profile.name}}</p>\n <!-- RATING -->\n <!-- <div v-if=\"showRating && organization.rating\" class=\"w-max star-container flex-v-center flex\">\n <img loading=\"lazy\" \n v-for=\"i in 5\"\n class=\"i-small mn-r-thin\"\n :src=\"i <= organization.rating.median ? '/icons/star.svg' : '/icons/star-stroke.svg'\"\n >\n\n <span class=\"p-small t-semi mn-r-thin\">{{organization.rating.median}}</span>\n <span class=\"p-small\">({{organization.rating.amount}})</span>\n </div> -->\n\n <div v-if=\"showFollowers || showTags\" class=\"mn-t-micro gap-micro flex-nowrap flex\">\n\n <Chips \n v-if=\"showTags && organization.profile.tags?.length > 0\" \n :chips=\"organization.profile.tags.slice(0,3)\"\n class=\"pos-relative t-trimmed p-regular\"\n >\n <div v-if=\"showFollowers\" class=\"t-truncate pos-relative p-regular mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white\">\n <p class=\"t-truncate\">{{organization.numberOfSubscribers}} followers</p>\n\n <ButtonToggleMembership\n v-if=\"\n user?._id \n && organization.owner !== user._id\n \"\n :user=\"user._id\"\n :type=\"'organization'\" \n :role=\"'subscriber'\" \n :target=\"organization._id\" \n :status=\"organization.isSubscriber\" \n :text=\"{create: '+', remove: '-'}\"\n @updateMembership=\"event => emits('updateMembership', event, 'isSubscriber', 'numberOfSubscribers')\"\n class=\"i-medium\" \n />\n </div>\n </Chips>\n </div>\n\n </div>\n\n </div>\n\n\n <div \n v-if=\"showProducts && organization.products\" \n class=\"mn-b-small t-nowrap mn-t-small w-100 flex-nowrap flex flex-v-center pd-small bg-white radius-medium\"\n >\n <IconTime class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-micro\">\n {{\n organization.distance ? \n organization.distance > 50 ? \n '3-5 days' : \n Math.ceil((5 + 5 + 3 * organization.distance) / 5) * 5 \n + '-' \n + Math.ceil((15 + 5 + 3 * organization.distance) / 5) * 5 \n + ' MIN' : 'Unavailable' \n }} \n </span>\n\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"t-transp t-grey mn-r-micro\">|</span>\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"mn-r-thin\">{{organization.distance ? organization.distance.toFixed(1) + 'KM' : ''}}</span>\n <!-- <span class=\"mn-r-thin\">{{organization.nearestSpotDistance}}</span> -->\n <!-- <IconPrice class=\"i-medium mn-r-micro\"/> -->\n <!-- <span class=\"mn-r-thin\">{{returnCurrency()}}500 </span> -->\n <IconShopcart class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-thin\"> {{organization.products.length}} products</span>\n </div>\n\n <div v-if=\"showProducts && organization.products?.length > 0\" class=\"w-100 o-scroll scroll-hide radius-medium\">\n <div class=\"w-max flex-nowrap flex gap-thin\">\n <CardOrderItem \n @click.stop=\"$router.push({name: 'Organization_Product', params: {_id: organization._id, product: product._id}})\" \n v-for=\"product in organization.products.slice(0,5)\" \n :key=\"product._id\" \n :editable=\"false\" \n :productId=\"product._id\"\n :variantId=\"product.variant\"\n :images=\"product.images\"\n :name=\"product.name\"\n :quantity=\"product.quantity || 1\"\n :unit=\"product.unit\"\n :dates=\"product.date\"\n :listing=\"product.listing\"\n :price=\"product.price\"\n class=\"pd-thin w-15r radius-medium bg-white\"\n \n />\n <button class=\"pd-thin w-15r radius-medium bg-main button\">\n View menu\n </button>\n </div>\n </div>\n\n </div>\n</template>\n\n<script setup>\n import { ref } from 'vue'\n import { useRouter } from 'vue-router'\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n import Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n import PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'\n\n import IconPrice from '@martyrs/src/modules/icons/entities/IconPrice.vue'\n import IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n import ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n\n const props = defineProps({\n // Model\n user: String,\n organization: Object,\n // View\n showProducts: {\n type: Boolean,\n default: false\n },\n showFollowers: {\n type: Boolean,\n default: true\n },\n showRating: {\n type: Boolean,\n default: false\n },\n showFeatured: {\n type: Boolean,\n default: true\n },\n showTags: {\n type: Boolean,\n default: true\n },\n });\n\n const emits = defineEmits(['updateMembership'])\n\n const router = useRouter();\n</script>"],"names":["useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsKE,UAAM,QAAQ;AAECA,cAAAA,UAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -16,7 +16,7 @@ const _hoisted_5 = {
|
|
|
16
16
|
};
|
|
17
17
|
const _hoisted_6 = {
|
|
18
18
|
key: 0,
|
|
19
|
-
class: "t-truncate pos-relative p-
|
|
19
|
+
class: "t-truncate pos-relative p-regular mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white"
|
|
20
20
|
};
|
|
21
21
|
const _hoisted_7 = { class: "t-truncate" };
|
|
22
22
|
const _hoisted_8 = {
|
|
@@ -93,7 +93,7 @@ const _sfc_main = {
|
|
|
93
93
|
__props.showTags && __props.organization.profile.tags?.length > 0 ? (openBlock(), createBlock(_sfc_main$1, {
|
|
94
94
|
key: 0,
|
|
95
95
|
chips: __props.organization.profile.tags.slice(0, 3),
|
|
96
|
-
class: "pos-relative t-trimmed p-
|
|
96
|
+
class: "pos-relative t-trimmed p-regular"
|
|
97
97
|
}, {
|
|
98
98
|
default: withCtx(() => [
|
|
99
99
|
__props.showFollowers ? (openBlock(), createElementBlock("div", _hoisted_6, [
|
|
@@ -107,7 +107,7 @@ const _sfc_main = {
|
|
|
107
107
|
status: __props.organization.isSubscriber,
|
|
108
108
|
text: { create: "+", remove: "-" },
|
|
109
109
|
onUpdateMembership: _cache[0] || (_cache[0] = (event) => emits("updateMembership", event, "isSubscriber", "numberOfSubscribers")),
|
|
110
|
-
class: "i-
|
|
110
|
+
class: "i-medium"
|
|
111
111
|
}, null, 8, ["user", "target", "status"])) : createCommentVNode("", true)
|
|
112
112
|
])) : createCommentVNode("", true)
|
|
113
113
|
]),
|
package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardOrganization.vue.js","sources":["../../../../../../../src/modules/organizations/components/blocks/CardOrganization.vue"],"sourcesContent":["<template>\n <div \n class=\"o-hidden pos-relative cursor-pointer bg-light \"\n @click=\"$router.push({name: 'Organization', params: {_id: organization._id}})\"\n >\n <div class=\"h-4r flex pos-relative\">\n\n <img loading=\"lazy\" \n v-if=\"organization.profile.photo && organization.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + organization.profile.photo\" \n class=\"h-4r w-4r radius-extra bg-white\" \n style=\"flex: 0 1 auto\"\n />\n\n <PlaceholderOrganizationPic\n v-else\n class=\"w-4r h-max radius-medium\"\n style=\"flex: 0 1 auto\"\n />\n \n <div class=\"pos-relative w-100 flex-h-center flex flex-column flex-child-1 flex-child mn-l-thin w-100\">\n \n <!-- <Text :text=\"organization.profile.name ? organization.profile.name : ''\" :maxLen=\"18\" class=\"h3 d-block\"/> -->\n <p class=\"h4 t-truncate w-100\">{{organization.profile.name}}</p>\n <!-- RATING -->\n <!-- <div v-if=\"showRating && organization.rating\" class=\"w-max star-container flex-v-center flex\">\n <img loading=\"lazy\" \n v-for=\"i in 5\"\n class=\"i-small mn-r-thin\"\n :src=\"i <= organization.rating.median ? '/icons/star.svg' : '/icons/star-stroke.svg'\"\n >\n\n <span class=\"p-small t-semi mn-r-thin\">{{organization.rating.median}}</span>\n <span class=\"p-small\">({{organization.rating.amount}})</span>\n </div> -->\n\n <div v-if=\"showFollowers || showTags\" class=\"mn-t-micro gap-micro flex-nowrap flex\">\n\n <Chips \n v-if=\"showTags && organization.profile.tags?.length > 0\" \n :chips=\"organization.profile.tags.slice(0,3)\"\n class=\"pos-relative t-trimmed p-
|
|
1
|
+
{"version":3,"file":"CardOrganization.vue.js","sources":["../../../../../../../src/modules/organizations/components/blocks/CardOrganization.vue"],"sourcesContent":["<template>\n <div \n class=\"o-hidden pos-relative cursor-pointer bg-light \"\n @click=\"$router.push({name: 'Organization', params: {_id: organization._id}})\"\n >\n <div class=\"h-4r flex pos-relative\">\n\n <img loading=\"lazy\" \n v-if=\"organization.profile.photo && organization.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + organization.profile.photo\" \n class=\"h-4r w-4r radius-extra bg-white\" \n style=\"flex: 0 1 auto\"\n />\n\n <PlaceholderOrganizationPic\n v-else\n class=\"w-4r h-max radius-medium\"\n style=\"flex: 0 1 auto\"\n />\n \n <div class=\"pos-relative w-100 flex-h-center flex flex-column flex-child-1 flex-child mn-l-thin w-100\">\n \n <!-- <Text :text=\"organization.profile.name ? organization.profile.name : ''\" :maxLen=\"18\" class=\"h3 d-block\"/> -->\n <p class=\"h4 t-truncate w-100\">{{organization.profile.name}}</p>\n <!-- RATING -->\n <!-- <div v-if=\"showRating && organization.rating\" class=\"w-max star-container flex-v-center flex\">\n <img loading=\"lazy\" \n v-for=\"i in 5\"\n class=\"i-small mn-r-thin\"\n :src=\"i <= organization.rating.median ? '/icons/star.svg' : '/icons/star-stroke.svg'\"\n >\n\n <span class=\"p-small t-semi mn-r-thin\">{{organization.rating.median}}</span>\n <span class=\"p-small\">({{organization.rating.amount}})</span>\n </div> -->\n\n <div v-if=\"showFollowers || showTags\" class=\"mn-t-micro gap-micro flex-nowrap flex\">\n\n <Chips \n v-if=\"showTags && organization.profile.tags?.length > 0\" \n :chips=\"organization.profile.tags.slice(0,3)\"\n class=\"pos-relative t-trimmed p-regular\"\n >\n <div v-if=\"showFollowers\" class=\"t-truncate pos-relative p-regular mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white\">\n <p class=\"t-truncate\">{{organization.numberOfSubscribers}} followers</p>\n\n <ButtonToggleMembership\n v-if=\"\n user?._id \n && organization.owner !== user._id\n \"\n :user=\"user._id\"\n :type=\"'organization'\" \n :role=\"'subscriber'\" \n :target=\"organization._id\" \n :status=\"organization.isSubscriber\" \n :text=\"{create: '+', remove: '-'}\"\n @updateMembership=\"event => emits('updateMembership', event, 'isSubscriber', 'numberOfSubscribers')\"\n class=\"i-medium\" \n />\n </div>\n </Chips>\n </div>\n\n </div>\n\n </div>\n\n\n <div \n v-if=\"showProducts && organization.products\" \n class=\"mn-b-small t-nowrap mn-t-small w-100 flex-nowrap flex flex-v-center pd-small bg-white radius-medium\"\n >\n <IconTime class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-micro\">\n {{\n organization.distance ? \n organization.distance > 50 ? \n '3-5 days' : \n Math.ceil((5 + 5 + 3 * organization.distance) / 5) * 5 \n + '-' \n + Math.ceil((15 + 5 + 3 * organization.distance) / 5) * 5 \n + ' MIN' : 'Unavailable' \n }} \n </span>\n\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"t-transp t-grey mn-r-micro\">|</span>\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"mn-r-thin\">{{organization.distance ? organization.distance.toFixed(1) + 'KM' : ''}}</span>\n <!-- <span class=\"mn-r-thin\">{{organization.nearestSpotDistance}}</span> -->\n <!-- <IconPrice class=\"i-medium mn-r-micro\"/> -->\n <!-- <span class=\"mn-r-thin\">{{returnCurrency()}}500 </span> -->\n <IconShopcart class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-thin\"> {{organization.products.length}} products</span>\n </div>\n\n <div v-if=\"showProducts && organization.products?.length > 0\" class=\"w-100 o-scroll scroll-hide radius-medium\">\n <div class=\"w-max flex-nowrap flex gap-thin\">\n <CardOrderItem \n @click.stop=\"$router.push({name: 'Organization_Product', params: {_id: organization._id, product: product._id}})\" \n v-for=\"product in organization.products.slice(0,5)\" \n :key=\"product._id\" \n :editable=\"false\" \n :productId=\"product._id\"\n :variantId=\"product.variant\"\n :images=\"product.images\"\n :name=\"product.name\"\n :quantity=\"product.quantity || 1\"\n :unit=\"product.unit\"\n :dates=\"product.date\"\n :listing=\"product.listing\"\n :price=\"product.price\"\n class=\"pd-thin w-15r radius-medium bg-white\"\n \n />\n <button class=\"pd-thin w-15r radius-medium bg-main button\">\n View menu\n </button>\n </div>\n </div>\n\n </div>\n</template>\n\n<script setup>\n import { ref } from 'vue'\n import { useRouter } from 'vue-router'\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n import Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n import PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'\n\n import IconPrice from '@martyrs/src/modules/icons/entities/IconPrice.vue'\n import IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n import ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n\n const props = defineProps({\n // Model\n user: String,\n organization: Object,\n // View\n showProducts: {\n type: Boolean,\n default: false\n },\n showFollowers: {\n type: Boolean,\n default: true\n },\n showRating: {\n type: Boolean,\n default: false\n },\n showFeatured: {\n type: Boolean,\n default: true\n },\n showTags: {\n type: Boolean,\n default: true\n },\n });\n\n const emits = defineEmits(['updateMembership'])\n\n const router = useRouter();\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsKE,UAAM,QAAQ;AAEC,cAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const _hoisted_1 = { class: "mn-b-big radius-medium pd-big bg-white" };
|
|
5
5
|
const _hoisted_2 = { class: "mn-b-regular" };
|
|
6
|
-
const _hoisted_3 = { class: "mn-b-small t-transp p-
|
|
6
|
+
const _hoisted_3 = { class: "mn-b-small t-transp p-regular" };
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
__name: "EmptyState",
|
|
9
9
|
props: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createElementBlock, openBlock, createElementVNode, toDisplayString } from "vue";
|
|
2
2
|
const _hoisted_1 = { class: "mn-b-big radius-medium pd-big bg-white" };
|
|
3
3
|
const _hoisted_2 = { class: "mn-b-regular" };
|
|
4
|
-
const _hoisted_3 = { class: "mn-b-small t-transp p-
|
|
4
|
+
const _hoisted_3 = { class: "mn-b-small t-transp p-regular" };
|
|
5
5
|
const _sfc_main = {
|
|
6
6
|
__name: "EmptyState",
|
|
7
7
|
props: {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const _hoisted_1 = { class: "w-100 mn-b-small star-container flex-v-center flex" };
|
|
5
|
-
const _hoisted_2 = { class: "p-
|
|
5
|
+
const _hoisted_2 = { class: "p-medium t-semi mn-r-small" };
|
|
6
6
|
const _hoisted_3 = { class: "" };
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
__name: "Rating",
|
|
@@ -23,7 +23,7 @@ const _sfc_main = {
|
|
|
23
23
|
vue.createElementVNode("span", _hoisted_2, vue.toDisplayString(__props.rating), 1),
|
|
24
24
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(5, (i) => {
|
|
25
25
|
return vue.createElementVNode("svg", {
|
|
26
|
-
class: vue.normalizeClass(["i-
|
|
26
|
+
class: vue.normalizeClass(["i-medium mn-r-small", { "t-transp": i > __props.rating }]),
|
|
27
27
|
width: "113",
|
|
28
28
|
height: "108",
|
|
29
29
|
viewBox: "0 0 113 108",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createElementBlock, openBlock, createElementVNode, toDisplayString, Fragment, renderList, normalizeClass } from "vue";
|
|
2
2
|
const _hoisted_1 = { class: "w-100 mn-b-small star-container flex-v-center flex" };
|
|
3
|
-
const _hoisted_2 = { class: "p-
|
|
3
|
+
const _hoisted_2 = { class: "p-medium t-semi mn-r-small" };
|
|
4
4
|
const _hoisted_3 = { class: "" };
|
|
5
5
|
const _sfc_main = {
|
|
6
6
|
__name: "Rating",
|
|
@@ -21,7 +21,7 @@ const _sfc_main = {
|
|
|
21
21
|
createElementVNode("span", _hoisted_2, toDisplayString(__props.rating), 1),
|
|
22
22
|
(openBlock(), createElementBlock(Fragment, null, renderList(5, (i) => {
|
|
23
23
|
return createElementVNode("svg", {
|
|
24
|
-
class: normalizeClass(["i-
|
|
24
|
+
class: normalizeClass(["i-medium mn-r-small", { "t-transp": i > __props.rating }]),
|
|
25
25
|
width: "113",
|
|
26
26
|
height: "108",
|
|
27
27
|
viewBox: "0 0 113 108",
|
package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs
CHANGED
|
@@ -115,7 +115,7 @@ const _sfc_main = {
|
|
|
115
115
|
}
|
|
116
116
|
return (_ctx, _cache) => {
|
|
117
117
|
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
118
|
-
_cache[1] || (_cache[1] = vue.createElementVNode("p", { class: "mn-b-thin t-transp p-
|
|
118
|
+
_cache[1] || (_cache[1] = vue.createElementVNode("p", { class: "mn-b-thin t-transp p-regular" }, "Select users to add to the organization:", -1)),
|
|
119
119
|
vue.createVNode(Feed.default, {
|
|
120
120
|
search: {
|
|
121
121
|
placeholder: "Search users...",
|
package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddExistingMembersForm.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/forms/AddExistingMembersForm.vue"],"sourcesContent":["<template>\n <div>\n <p class=\"mn-b-thin t-transp p-
|
|
1
|
+
{"version":3,"file":"AddExistingMembersForm.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/forms/AddExistingMembersForm.vue"],"sourcesContent":["<template>\n <div>\n <p class=\"mn-b-thin t-transp p-regular\">Select users to add to the organization:</p>\n\n <Feed\n :search=\"{\n placeholder: 'Search users...',\n class: 'bg-light mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No Users Found',\n description: 'No users match your search criteria.'\n },\n loading: {\n title: 'Loading users...'\n }\n }\"\n :store=\"{\n read: (options) => fetchFilteredUsers(options),\n state: null\n }\"\n :options=\"{}\"\n v-slot=\"{ items }\"\n class=\"bg-light pd-medium radius-medium h-max-30r o-scroll mn-b-thin\"\n >\n <div\n v-for=\"user in items\"\n :key=\"user._id\"\n @click=\"() => toggleUserSelection(user)\"\n class=\"pd-thin radius-medium w-100 mn-b-thin cursor-pointer hover-scale-1\"\n :class=\"getUserCardClass(user)\"\n >\n <div class=\"flex-nowrap flex-v-center flex gap-thin\">\n <div class=\"aspect-1x1 h-3r flex-child-default radius-small o-hidden\">\n <img\n v-if=\"user.profile?.photo\"\n :src=\"user.profile.photo\"\n alt=\"User photo\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <PlaceholderUserpic v-else class=\"w-100 h-100\" />\n </div>\n \n <div class=\"w-100\">\n <p class=\"t-medium\">{{ user.profile?.name || user.phone || user.email || 'Unnamed user' }}</p>\n <p class=\"t-small t-transp\">{{ user.email || user.phone || 'No contact info' }}</p>\n </div>\n\n <div v-if=\"isUserInOrganization(user)\" class=\"pd-nano pd-h-thin radius-thin bg-grey\">\n <span class=\"t-small\">Already member</span>\n </div>\n \n <div v-else-if=\"isUserSelected(user)\" class=\"pd-nano pd-h-thin radius-thin bg-green\">\n <IconCheck class=\"i-small\" fill=\"rgb(var(--white))\" />\n </div>\n </div>\n </div>\n </Feed>\n\n <div v-if=\"selectedUsers.length > 0\" class=\"mn-b-thin\">\n <p class=\"t-small t-transp\">Selected: {{ selectedUsers.length }} user(s)</p>\n </div>\n\n <Button\n :submit=\"addSelectedUsers\"\n :disabled=\"selectedUsers.length === 0\"\n class=\"w-100 bg-main\"\n >\n Add {{ selectedUsers.length }} user(s) to organization\n </Button>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\n\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue';\nimport IconCheck from '@martyrs/src/modules/icons/navigation/IconCheck.vue';\n\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js';\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n\nconst props = defineProps({\n organizationId: {\n type: String,\n required: true\n },\n existingMembers: {\n type: Array,\n default: () => []\n }\n});\n\nconst emit = defineEmits(['users-added']);\n\n// State\nconst selectedUsers = ref([]);\nconst organizationMembers = ref([]);\n\n// Check if user is already in organization\nfunction isUserInOrganization(user) {\n return organizationMembers.value.some(member => \n member.user._id === user._id || member.user === user._id\n );\n}\n\n// Check if user is selected\nfunction isUserSelected(user) {\n return selectedUsers.value.some(selected => selected._id === user._id);\n}\n\n// Get card styling based on user status\nfunction getUserCardClass(user) {\n if (isUserInOrganization(user)) {\n return 'bg-grey opacity-60 cursor-not-allowed';\n }\n if (isUserSelected(user)) {\n return 'bg-green-light';\n }\n return 'bg-white hover-bg-light';\n}\n\n// Toggle user selection\nfunction toggleUserSelection(user) {\n if (isUserInOrganization(user)) {\n globals.actions.setError({ message: 'This user is already a member of the organization' });\n return;\n }\n\n const index = selectedUsers.value.findIndex(u => u._id === user._id);\n if (index > -1) {\n selectedUsers.value.splice(index, 1);\n } else {\n selectedUsers.value.push(user);\n }\n}\n\n// Fetch users and organization members\nasync function fetchFilteredUsers(options) {\n try {\n // Fetch organization members\n const membersResponse = await membershipsStore.read({\n target: props.organizationId,\n role: ['member', 'owner']\n });\n organizationMembers.value = membersResponse || [];\n\n // Fetch all users\n const usersResponse = await users.actions.read(options);\n return usersResponse;\n } catch (error) {\n console.error('Error fetching users:', error);\n return [];\n }\n}\n\n// Add selected users to organization\nasync function addSelectedUsers() {\n if (selectedUsers.value.length === 0) return;\n\n try {\n const promises = selectedUsers.value.map(user => \n membershipsStore.create({\n user: user._id,\n type: 'organization',\n target: props.organizationId,\n role: 'member',\n label: 'member'\n })\n );\n\n const results = await Promise.all(promises);\n \n emit('users-added', results);\n selectedUsers.value = [];\n \n globals.actions.setSuccess({ \n message: `Successfully added ${results.length} user(s) to the organization` \n });\n } catch (error) {\n console.error('Error adding users:', error);\n globals.actions.setError(error);\n throw error;\n }\n}\n</script>"],"names":["ref","globals.actions","membershipsStore","users.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFA,UAAM,QAAQ;AAWd,UAAM,OAAO;AAGb,UAAM,gBAAgBA,IAAAA,IAAI,EAAE;AAC5B,UAAM,sBAAsBA,IAAAA,IAAI,EAAE;AAGlC,aAAS,qBAAqB,MAAM;AAClC,aAAO,oBAAoB,MAAM;AAAA,QAAK,YACpC,OAAO,KAAK,QAAQ,KAAK,OAAO,OAAO,SAAS,KAAK;AAAA,MACzD;AAAA,IACA;AAGA,aAAS,eAAe,MAAM;AAC5B,aAAO,cAAc,MAAM,KAAK,cAAY,SAAS,QAAQ,KAAK,GAAG;AAAA,IACvE;AAGA,aAAS,iBAAiB,MAAM;AAC9B,UAAI,qBAAqB,IAAI,GAAG;AAC9B,eAAO;AAAA,MACT;AACA,UAAI,eAAe,IAAI,GAAG;AACxB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAGA,aAAS,oBAAoB,MAAM;AACjC,UAAI,qBAAqB,IAAI,GAAG;AAC9BC,gBAAAA,QAAgB,SAAS,EAAE,SAAS,oDAAmD,CAAE;AACzF;AAAA,MACF;AAEA,YAAM,QAAQ,cAAc,MAAM,UAAU,OAAK,EAAE,QAAQ,KAAK,GAAG;AACnE,UAAI,QAAQ,IAAI;AACd,sBAAc,MAAM,OAAO,OAAO,CAAC;AAAA,MACrC,OAAO;AACL,sBAAc,MAAM,KAAK,IAAI;AAAA,MAC/B;AAAA,IACF;AAGA,mBAAe,mBAAmB,SAAS;AACzC,UAAI;AAEF,cAAM,kBAAkB,MAAMC,kBAAAA,QAAiB,KAAK;AAAA,UAClD,QAAQ,MAAM;AAAA,UACd,MAAM,CAAC,UAAU,OAAO;AAAA,QAC9B,CAAK;AACD,4BAAoB,QAAQ,mBAAmB,CAAA;AAG/C,cAAM,gBAAgB,MAAMC,cAAc,KAAK,OAAO;AACtD,eAAO;AAAA,MACT,SAAS,OAAO;AACd,gBAAQ,MAAM,yBAAyB,KAAK;AAC5C,eAAO,CAAA;AAAA,MACT;AAAA,IACF;AAGA,mBAAe,mBAAmB;AAChC,UAAI,cAAc,MAAM,WAAW,EAAG;AAEtC,UAAI;AACF,cAAM,WAAW,cAAc,MAAM;AAAA,UAAI,UACvCD,kBAAAA,QAAiB,OAAO;AAAA,YACtB,MAAM,KAAK;AAAA,YACX,MAAM;AAAA,YACN,QAAQ,MAAM;AAAA,YACd,MAAM;AAAA,YACN,OAAO;AAAA,UACf,CAAO;AAAA,QACP;AAEI,cAAM,UAAU,MAAM,QAAQ,IAAI,QAAQ;AAE1C,aAAK,eAAe,OAAO;AAC3B,sBAAc,QAAQ,CAAA;AAEtBD,gBAAAA,QAAgB,WAAW;AAAA,UACzB,SAAS,sBAAsB,QAAQ,MAAM;AAAA,QACnD,CAAK;AAAA,MACH,SAAS,OAAO;AACd,gBAAQ,MAAM,uBAAuB,KAAK;AAC1CA,gBAAAA,QAAgB,SAAS,KAAK;AAC9B,cAAM;AAAA,MACR;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js
CHANGED
|
@@ -113,7 +113,7 @@ const _sfc_main = {
|
|
|
113
113
|
}
|
|
114
114
|
return (_ctx, _cache) => {
|
|
115
115
|
return openBlock(), createElementBlock("div", null, [
|
|
116
|
-
_cache[1] || (_cache[1] = createElementVNode("p", { class: "mn-b-thin t-transp p-
|
|
116
|
+
_cache[1] || (_cache[1] = createElementVNode("p", { class: "mn-b-thin t-transp p-regular" }, "Select users to add to the organization:", -1)),
|
|
117
117
|
createVNode(_sfc_main$1, {
|
|
118
118
|
search: {
|
|
119
119
|
placeholder: "Search users...",
|
package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddExistingMembersForm.vue.js","sources":["../../../../../../../src/modules/organizations/components/forms/AddExistingMembersForm.vue"],"sourcesContent":["<template>\n <div>\n <p class=\"mn-b-thin t-transp p-
|
|
1
|
+
{"version":3,"file":"AddExistingMembersForm.vue.js","sources":["../../../../../../../src/modules/organizations/components/forms/AddExistingMembersForm.vue"],"sourcesContent":["<template>\n <div>\n <p class=\"mn-b-thin t-transp p-regular\">Select users to add to the organization:</p>\n\n <Feed\n :search=\"{\n placeholder: 'Search users...',\n class: 'bg-light mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No Users Found',\n description: 'No users match your search criteria.'\n },\n loading: {\n title: 'Loading users...'\n }\n }\"\n :store=\"{\n read: (options) => fetchFilteredUsers(options),\n state: null\n }\"\n :options=\"{}\"\n v-slot=\"{ items }\"\n class=\"bg-light pd-medium radius-medium h-max-30r o-scroll mn-b-thin\"\n >\n <div\n v-for=\"user in items\"\n :key=\"user._id\"\n @click=\"() => toggleUserSelection(user)\"\n class=\"pd-thin radius-medium w-100 mn-b-thin cursor-pointer hover-scale-1\"\n :class=\"getUserCardClass(user)\"\n >\n <div class=\"flex-nowrap flex-v-center flex gap-thin\">\n <div class=\"aspect-1x1 h-3r flex-child-default radius-small o-hidden\">\n <img\n v-if=\"user.profile?.photo\"\n :src=\"user.profile.photo\"\n alt=\"User photo\"\n class=\"w-100 h-100 object-fit-cover\"\n />\n <PlaceholderUserpic v-else class=\"w-100 h-100\" />\n </div>\n \n <div class=\"w-100\">\n <p class=\"t-medium\">{{ user.profile?.name || user.phone || user.email || 'Unnamed user' }}</p>\n <p class=\"t-small t-transp\">{{ user.email || user.phone || 'No contact info' }}</p>\n </div>\n\n <div v-if=\"isUserInOrganization(user)\" class=\"pd-nano pd-h-thin radius-thin bg-grey\">\n <span class=\"t-small\">Already member</span>\n </div>\n \n <div v-else-if=\"isUserSelected(user)\" class=\"pd-nano pd-h-thin radius-thin bg-green\">\n <IconCheck class=\"i-small\" fill=\"rgb(var(--white))\" />\n </div>\n </div>\n </div>\n </Feed>\n\n <div v-if=\"selectedUsers.length > 0\" class=\"mn-b-thin\">\n <p class=\"t-small t-transp\">Selected: {{ selectedUsers.length }} user(s)</p>\n </div>\n\n <Button\n :submit=\"addSelectedUsers\"\n :disabled=\"selectedUsers.length === 0\"\n class=\"w-100 bg-main\"\n >\n Add {{ selectedUsers.length }} user(s) to organization\n </Button>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\n\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue';\nimport IconCheck from '@martyrs/src/modules/icons/navigation/IconCheck.vue';\n\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js';\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\n\nconst props = defineProps({\n organizationId: {\n type: String,\n required: true\n },\n existingMembers: {\n type: Array,\n default: () => []\n }\n});\n\nconst emit = defineEmits(['users-added']);\n\n// State\nconst selectedUsers = ref([]);\nconst organizationMembers = ref([]);\n\n// Check if user is already in organization\nfunction isUserInOrganization(user) {\n return organizationMembers.value.some(member => \n member.user._id === user._id || member.user === user._id\n );\n}\n\n// Check if user is selected\nfunction isUserSelected(user) {\n return selectedUsers.value.some(selected => selected._id === user._id);\n}\n\n// Get card styling based on user status\nfunction getUserCardClass(user) {\n if (isUserInOrganization(user)) {\n return 'bg-grey opacity-60 cursor-not-allowed';\n }\n if (isUserSelected(user)) {\n return 'bg-green-light';\n }\n return 'bg-white hover-bg-light';\n}\n\n// Toggle user selection\nfunction toggleUserSelection(user) {\n if (isUserInOrganization(user)) {\n globals.actions.setError({ message: 'This user is already a member of the organization' });\n return;\n }\n\n const index = selectedUsers.value.findIndex(u => u._id === user._id);\n if (index > -1) {\n selectedUsers.value.splice(index, 1);\n } else {\n selectedUsers.value.push(user);\n }\n}\n\n// Fetch users and organization members\nasync function fetchFilteredUsers(options) {\n try {\n // Fetch organization members\n const membersResponse = await membershipsStore.read({\n target: props.organizationId,\n role: ['member', 'owner']\n });\n organizationMembers.value = membersResponse || [];\n\n // Fetch all users\n const usersResponse = await users.actions.read(options);\n return usersResponse;\n } catch (error) {\n console.error('Error fetching users:', error);\n return [];\n }\n}\n\n// Add selected users to organization\nasync function addSelectedUsers() {\n if (selectedUsers.value.length === 0) return;\n\n try {\n const promises = selectedUsers.value.map(user => \n membershipsStore.create({\n user: user._id,\n type: 'organization',\n target: props.organizationId,\n role: 'member',\n label: 'member'\n })\n );\n\n const results = await Promise.all(promises);\n \n emit('users-added', results);\n selectedUsers.value = [];\n \n globals.actions.setSuccess({ \n message: `Successfully added ${results.length} user(s) to the organization` \n });\n } catch (error) {\n console.error('Error adding users:', error);\n globals.actions.setError(error);\n throw error;\n }\n}\n</script>"],"names":["globals.actions","users.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFA,UAAM,QAAQ;AAWd,UAAM,OAAO;AAGb,UAAM,gBAAgB,IAAI,EAAE;AAC5B,UAAM,sBAAsB,IAAI,EAAE;AAGlC,aAAS,qBAAqB,MAAM;AAClC,aAAO,oBAAoB,MAAM;AAAA,QAAK,YACpC,OAAO,KAAK,QAAQ,KAAK,OAAO,OAAO,SAAS,KAAK;AAAA,MACzD;AAAA,IACA;AAGA,aAAS,eAAe,MAAM;AAC5B,aAAO,cAAc,MAAM,KAAK,cAAY,SAAS,QAAQ,KAAK,GAAG;AAAA,IACvE;AAGA,aAAS,iBAAiB,MAAM;AAC9B,UAAI,qBAAqB,IAAI,GAAG;AAC9B,eAAO;AAAA,MACT;AACA,UAAI,eAAe,IAAI,GAAG;AACxB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAGA,aAAS,oBAAoB,MAAM;AACjC,UAAI,qBAAqB,IAAI,GAAG;AAC9BA,kBAAgB,SAAS,EAAE,SAAS,oDAAmD,CAAE;AACzF;AAAA,MACF;AAEA,YAAM,QAAQ,cAAc,MAAM,UAAU,OAAK,EAAE,QAAQ,KAAK,GAAG;AACnE,UAAI,QAAQ,IAAI;AACd,sBAAc,MAAM,OAAO,OAAO,CAAC;AAAA,MACrC,OAAO;AACL,sBAAc,MAAM,KAAK,IAAI;AAAA,MAC/B;AAAA,IACF;AAGA,mBAAe,mBAAmB,SAAS;AACzC,UAAI;AAEF,cAAM,kBAAkB,MAAM,iBAAiB,KAAK;AAAA,UAClD,QAAQ,MAAM;AAAA,UACd,MAAM,CAAC,UAAU,OAAO;AAAA,QAC9B,CAAK;AACD,4BAAoB,QAAQ,mBAAmB,CAAA;AAG/C,cAAM,gBAAgB,MAAMC,QAAc,KAAK,OAAO;AACtD,eAAO;AAAA,MACT,SAAS,OAAO;AACd,gBAAQ,MAAM,yBAAyB,KAAK;AAC5C,eAAO,CAAA;AAAA,MACT;AAAA,IACF;AAGA,mBAAe,mBAAmB;AAChC,UAAI,cAAc,MAAM,WAAW,EAAG;AAEtC,UAAI;AACF,cAAM,WAAW,cAAc,MAAM;AAAA,UAAI,UACvC,iBAAiB,OAAO;AAAA,YACtB,MAAM,KAAK;AAAA,YACX,MAAM;AAAA,YACN,QAAQ,MAAM;AAAA,YACd,MAAM;AAAA,YACN,OAAO;AAAA,UACf,CAAO;AAAA,QACP;AAEI,cAAM,UAAU,MAAM,QAAQ,IAAI,QAAQ;AAE1C,aAAK,eAAe,OAAO;AAC3B,sBAAc,QAAQ,CAAA;AAEtBD,kBAAgB,WAAW;AAAA,UACzB,SAAS,sBAAsB,QAAQ,MAAM;AAAA,QACnD,CAAK;AAAA,MACH,SAAS,OAAO;AACd,gBAAQ,MAAM,uBAAuB,KAAK;AAC1CA,kBAAgB,SAAS,KAAK;AAC9B,cAAM;AAAA,MACR;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
5
|
const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
|
|
6
|
-
const Field = require("../../../../components/Field/Field.
|
|
6
|
+
const Field = require("../../../../components/Field/Field.vue2.cjs");
|
|
7
7
|
const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
|
|
8
8
|
const Button = require("../../../../components/Button/Button.vue.cjs");
|
|
9
9
|
const Popup = require("../../../../components/Popup/Popup.vue.cjs");
|
|
@@ -265,7 +265,7 @@ const _sfc_main = {
|
|
|
265
265
|
}, 8, ["actions"]),
|
|
266
266
|
vue.createElementVNode("div", _hoisted_4, [
|
|
267
267
|
_cache[5] || (_cache[5] = vue.createElementVNode("h3", { class: "mn-b-semi" }, "Department Settings", -1)),
|
|
268
|
-
_cache[6] || (_cache[6] = vue.createElementVNode("p", { class: "p-
|
|
268
|
+
_cache[6] || (_cache[6] = vue.createElementVNode("p", { class: "p-regular mn-b-small" }, "Please settings for your department:", -1)),
|
|
269
269
|
vue.createElementVNode("div", _hoisted_5, [
|
|
270
270
|
vue.createVNode(Checkbox.default, {
|
|
271
271
|
label: "Hidden department",
|
|
@@ -278,7 +278,7 @@ const _sfc_main = {
|
|
|
278
278
|
]),
|
|
279
279
|
vue.createElementVNode("div", _hoisted_6, [
|
|
280
280
|
_cache[7] || (_cache[7] = vue.createElementVNode("h3", { class: "mn-b-semi" }, "Accesses", -1)),
|
|
281
|
-
_cache[8] || (_cache[8] = vue.createElementVNode("p", { class: "p-
|
|
281
|
+
_cache[8] || (_cache[8] = vue.createElementVNode("p", { class: "p-regular mn-b-small" }, "Please select organization accesses for user in department:", -1)),
|
|
282
282
|
vue.createElementVNode("div", _hoisted_7, [
|
|
283
283
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentDepartment.accesses, (actions, category) => {
|
|
284
284
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartmentForm.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/forms/DepartmentForm.vue"],"sourcesContent":["<template>\n <div class=\"cols-1 gap-thin o-y-scroll\">\n <Block\n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div\n class=\"cols-2-fit-content\"\n >\n <UploadImage \n v-model:photo=\"currentDepartment.profile.photo\"\n :uploadPath=\"'organizations/' + currentDepartment.profile.name + '/departments'\"\n class=\"w-8r aspect-1x1 o-hidden mn-r-small radius-extra\" \n />\n <div class=\"w-100 flex-child-grow-1 flex-child\">\n <Field \n v-model:field=\"currentDepartment.profile.name\" \n label=\"Name\" \n placeholder=\"Department Name\" \n class=\"mn-b-small bg-white radius-small pd-medium\"\n />\n <Field \n v-model:field=\"currentDepartment.profile.description\" \n label=\"Description\" \n placeholder=\"Department description (max 120 symbols)\" \n class=\"bg-white radius-small pd-medium\"\n /> \n </div>\n </div>\n </Block>\n\n <Block\n title=\"Team\"\n placeholder=\"No members added yet\"\n :actions=\"[{\n label: '+',\n function: () => openMemberPopup()\n }]\"\n class=\"cols-1 gap-thin mn-b-thin\"\n > \n <CardUser \n class=\"h-4r bg-white pd-thin radius-medium w-100\" \n v-for=\"(member, index) in currentDepartment.members\" \n :key=\"member._id || index\" \n :user=\"member.user\" \n :photo=\"member.user.profile.photo\"\n :name=\"member.user.profile.name || member.user.phone || member.user.email || member.user._id\"\n :position=\"member.position\" \n :action=\"{\n label: {\n is: IconDelete,\n props: { class: 'i-medium', fill: 'rgb(var(--white)' }\n },\n method: () => removeMember(member)\n }\"\n />\n </Block>\n\n <div class=\"bg-light pd-medium o-hidden radius-medium mn-b-thin\">\n <h3 class=\"mn-b-semi\">Department Settings</h3>\n \n <p class=\"p-medium mn-b-small\">Please settings for your department:</p>\n <div class=\"cols-1 gap-thin\">\n <Checkbox \n label=\"Hidden department\"\n name=\"hidden\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n @update:radio=\"updated => currentDepartment.hidden = !currentDepartment.hidden\"\n :radio=\"currentDepartment.hidden\"\n />\n </div>\n </div>\n\n <div class=\"bg-light pd-medium o-hidden radius-medium\">\n <h3 class=\"mn-b-semi\">Accesses</h3>\n \n <p class=\"p-medium mn-b-small\">Please select organization accesses for user in department:</p>\n \n <div class=\"cols-1 gap-thin\">\n <div v-for=\"(actions, category) in currentDepartment.accesses\" :key=\"category\" class=\"mn-b-small\">\n <Spoiler :status=\"false\">\n <template #header=\"{ isOpen }\">\n <h4 class=\"cursor-pointer flex-v-center flex gap-thin\">\n {{ category.charAt(0).toUpperCase() + category.slice(1) }}\n <span class=\"t-small\">{{ isOpen ? '▼' : '▶' }}</span>\n </h4>\n </template>\n <template #content>\n <div class=\"cols-1 gap-thin mn-t-thin\">\n <Checkbox\n v-for=\"(value, action) in actions\"\n :key=\"action\"\n :label=\"action\"\n :name=\"action\"\n :radio=\"value\"\n @update:radio=\"updated => (currentDepartment.accesses[category][action] = !value)\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n />\n </div>\n </template>\n </Spoiler>\n </div>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"flex gap-thin mn-t-medium\">\n <Button\n v-if=\"editingDepartment\"\n :submit=\"onDelete\"\n :showSuccess=\"true\"\n :showLoader=\"true\"\n class=\"bg-red\"\n >\n Delete\n </Button>\n <Button\n :showSuccess=\"false\"\n :showLoader=\"false\"\n class=\"bg-grey t-white w-100\"\n @click=\"$emit('close')\"\n >\n Cancel\n </Button>\n <Button\n class=\"bg-main w-100\"\n :submit=\"saveDepartment\"\n >\n {{ editingDepartment ? 'Update Department' : 'Create Department' }}\n </Button>\n </div>\n\n <!-- Member Selection Popup -->\n <Popup \n title=\"Add member\" \n @close-popup=\"closeMemberPopup\" \n :isPopupOpen=\"isOpenAddMemberPopup\"\n class=\"bg-white w-max-30r radius-medium pd-big\"\n >\n <Feed\n :search=\"{\n placeholder: 'Search member...',\n class: 'bg-light mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No Members Found',\n description: 'Currently, there are no members in organization.'\n }\n }\"\n :store=\"{\n read: (options) => membershipsStore.read(options),\n state: null\n }\"\n :options=\"{\n target: organizationId,\n role: ['member', 'owner']\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"bg-light pd-medium w-min-20r w-max-40r radius-medium h-max-20r o-scroll\"\n >\n <CardUser\n v-for=\"(user, index) in items\" \n :key=\"user._id\"\n :user=\"user.user\"\n :photo=\"user.user.profile?.photo\"\n :name=\"user.user.profile?.name || user.user.phone || user.user.email\"\n :disabled=\"isDuplicateMember(user.user._id)\"\n @click=\"() => addMemberToDepartment(user.user)\"\n class=\"h-4r bg-white pd-thin radius-medium w-100 mn-b-thin\"\n :class=\"{ 'opacity-50 cursor-not-allowed': isDuplicateMember(user.user._id) }\"\n />\n </Feed>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive, computed } from 'vue';\nimport { useRoute } from 'vue-router';\n\nimport UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue';\n\nimport CardUser from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js';\nimport departmentsStore from '@martyrs/src/modules/organizations/store/departments.store.js';\n\nconst route = useRoute();\n\nconst props = defineProps({\n department: Object,\n organizationId: String\n});\n\nconst emit = defineEmits(['close', 'saved']);\n\n// State\nconst editingDepartment = computed(() => !!props.department?._id);\nconst isOpenAddMemberPopup = ref(false);\n\n// Create default department structure\nconst createDefaultDepartment = () => ({\n organization: props.organizationId,\n profile: {\n photo: '',\n name: '',\n description: '',\n categories: [],\n },\n address: '',\n location: {\n lat: null,\n lng: null,\n },\n worktime: [],\n delivery: [],\n payment: [],\n members: [],\n subdepartments: [],\n hidden: false,\n accesses: {\n categories: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n rents: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n spots: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n members: {\n read: false,\n edit: false,\n delete: false,\n },\n posts: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n events: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n tickets: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n gallery: {\n read: false,\n create: false,\n edit: false,\n delete: false,\n },\n inventory: {\n read: false,\n edit: false,\n delete: false,\n },\n products: {\n read: false,\n edit: false,\n delete: false,\n },\n orders: {\n read: false,\n confirm: false,\n delete: false,\n },\n departments: {\n read: false,\n edit: false,\n delete: false,\n },\n },\n});\n\n// Current department reactive state - create deep copy to avoid mutating original\nconst currentDepartment = reactive(\n props.department ? JSON.parse(JSON.stringify(props.department)) : createDefaultDepartment()\n);\n\n// Member management\nfunction openMemberPopup() {\n isOpenAddMemberPopup.value = true;\n}\n\nfunction closeMemberPopup() {\n isOpenAddMemberPopup.value = false;\n}\n\nfunction isDuplicateMember(userId) {\n return currentDepartment.members.some(member => \n member.user._id === userId || member._id === userId\n );\n}\n\nfunction addMemberToDepartment(user) {\n if (!isDuplicateMember(user._id)) {\n currentDepartment.members.push({ \n _id: user._id, \n user: user, \n position: 'Member' \n });\n closeMemberPopup();\n } else {\n globals.actions.setError({ message: 'This user is already a member of this department' });\n }\n}\n\nfunction removeMember(member) {\n if (confirm(\"Are you sure you want to remove this member?\")) {\n const index = currentDepartment.members.findIndex(m => \n (m.user._id === member.user._id) || (m._id === member._id)\n );\n if (index > -1) {\n currentDepartment.members.splice(index, 1);\n }\n }\n}\n\n// Save/Delete operations\nasync function saveDepartment() {\n try {\n // Prepare department data\n const departmentData = {\n ...currentDepartment,\n organization: props.organizationId\n };\n\n let result;\n if (editingDepartment.value) {\n // Update existing department\n result = await departmentsStore.update({\n ...departmentData,\n _id: props.department._id\n });\n } else {\n // Create new department\n result = await departmentsStore.create(departmentData);\n }\n\n emit('saved', result);\n emit('close');\n } catch (error) {\n console.error('Error saving department:', error);\n globals.actions.setError(error);\n throw error;\n }\n}\n\nasync function onDelete() {\n if (confirm(\"Are you sure you want to delete this department?\")) {\n try {\n await departmentsStore.delete({ _id: props.department._id });\n emit('saved', null);\n emit('close');\n } catch (error) {\n console.error('Error deleting department:', error);\n globals.actions.setError(error);\n }\n }\n}\n</script>"],"names":["useRoute","computed","ref","reactive","globals.actions","departmentsStore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DepartmentForm.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/forms/DepartmentForm.vue"],"sourcesContent":["<template>\n <div class=\"cols-1 gap-thin o-y-scroll\">\n <Block\n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div\n class=\"cols-2-fit-content\"\n >\n <UploadImage \n v-model:photo=\"currentDepartment.profile.photo\"\n :uploadPath=\"'organizations/' + currentDepartment.profile.name + '/departments'\"\n class=\"w-8r aspect-1x1 o-hidden mn-r-small radius-extra\" \n />\n <div class=\"w-100 flex-child-grow-1 flex-child\">\n <Field \n v-model:field=\"currentDepartment.profile.name\" \n label=\"Name\" \n placeholder=\"Department Name\" \n class=\"mn-b-small bg-white radius-small pd-medium\"\n />\n <Field \n v-model:field=\"currentDepartment.profile.description\" \n label=\"Description\" \n placeholder=\"Department description (max 120 symbols)\" \n class=\"bg-white radius-small pd-medium\"\n /> \n </div>\n </div>\n </Block>\n\n <Block\n title=\"Team\"\n placeholder=\"No members added yet\"\n :actions=\"[{\n label: '+',\n function: () => openMemberPopup()\n }]\"\n class=\"cols-1 gap-thin mn-b-thin\"\n > \n <CardUser \n class=\"h-4r bg-white pd-thin radius-medium w-100\" \n v-for=\"(member, index) in currentDepartment.members\" \n :key=\"member._id || index\" \n :user=\"member.user\" \n :photo=\"member.user.profile.photo\"\n :name=\"member.user.profile.name || member.user.phone || member.user.email || member.user._id\"\n :position=\"member.position\" \n :action=\"{\n label: {\n is: IconDelete,\n props: { class: 'i-medium', fill: 'rgb(var(--white)' }\n },\n method: () => removeMember(member)\n }\"\n />\n </Block>\n\n <div class=\"bg-light pd-medium o-hidden radius-medium mn-b-thin\">\n <h3 class=\"mn-b-semi\">Department Settings</h3>\n \n <p class=\"p-regular mn-b-small\">Please settings for your department:</p>\n <div class=\"cols-1 gap-thin\">\n <Checkbox \n label=\"Hidden department\"\n name=\"hidden\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n @update:radio=\"updated => currentDepartment.hidden = !currentDepartment.hidden\"\n :radio=\"currentDepartment.hidden\"\n />\n </div>\n </div>\n\n <div class=\"bg-light pd-medium o-hidden radius-medium\">\n <h3 class=\"mn-b-semi\">Accesses</h3>\n \n <p class=\"p-regular mn-b-small\">Please select organization accesses for user in department:</p>\n \n <div class=\"cols-1 gap-thin\">\n <div v-for=\"(actions, category) in currentDepartment.accesses\" :key=\"category\" class=\"mn-b-small\">\n <Spoiler :status=\"false\">\n <template #header=\"{ isOpen }\">\n <h4 class=\"cursor-pointer flex-v-center flex gap-thin\">\n {{ category.charAt(0).toUpperCase() + category.slice(1) }}\n <span class=\"t-small\">{{ isOpen ? '▼' : '▶' }}</span>\n </h4>\n </template>\n <template #content>\n <div class=\"cols-1 gap-thin mn-t-thin\">\n <Checkbox\n v-for=\"(value, action) in actions\"\n :key=\"action\"\n :label=\"action\"\n :name=\"action\"\n :radio=\"value\"\n @update:radio=\"updated => (currentDepartment.accesses[category][action] = !value)\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n />\n </div>\n </template>\n </Spoiler>\n </div>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"flex gap-thin mn-t-medium\">\n <Button\n v-if=\"editingDepartment\"\n :submit=\"onDelete\"\n :showSuccess=\"true\"\n :showLoader=\"true\"\n class=\"bg-red\"\n >\n Delete\n </Button>\n <Button\n :showSuccess=\"false\"\n :showLoader=\"false\"\n class=\"bg-grey t-white w-100\"\n @click=\"$emit('close')\"\n >\n Cancel\n </Button>\n <Button\n class=\"bg-main w-100\"\n :submit=\"saveDepartment\"\n >\n {{ editingDepartment ? 'Update Department' : 'Create Department' }}\n </Button>\n </div>\n\n <!-- Member Selection Popup -->\n <Popup \n title=\"Add member\" \n @close-popup=\"closeMemberPopup\" \n :isPopupOpen=\"isOpenAddMemberPopup\"\n class=\"bg-white w-max-30r radius-medium pd-big\"\n >\n <Feed\n :search=\"{\n placeholder: 'Search member...',\n class: 'bg-light mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No Members Found',\n description: 'Currently, there are no members in organization.'\n }\n }\"\n :store=\"{\n read: (options) => membershipsStore.read(options),\n state: null\n }\"\n :options=\"{\n target: organizationId,\n role: ['member', 'owner']\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"bg-light pd-medium w-min-20r w-max-40r radius-medium h-max-20r o-scroll\"\n >\n <CardUser\n v-for=\"(user, index) in items\" \n :key=\"user._id\"\n :user=\"user.user\"\n :photo=\"user.user.profile?.photo\"\n :name=\"user.user.profile?.name || user.user.phone || user.user.email\"\n :disabled=\"isDuplicateMember(user.user._id)\"\n @click=\"() => addMemberToDepartment(user.user)\"\n class=\"h-4r bg-white pd-thin radius-medium w-100 mn-b-thin\"\n :class=\"{ 'opacity-50 cursor-not-allowed': isDuplicateMember(user.user._id) }\"\n />\n </Feed>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive, computed } from 'vue';\nimport { useRoute } from 'vue-router';\n\nimport UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue';\n\nimport CardUser from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js';\nimport departmentsStore from '@martyrs/src/modules/organizations/store/departments.store.js';\n\nconst route = useRoute();\n\nconst props = defineProps({\n department: Object,\n organizationId: String\n});\n\nconst emit = defineEmits(['close', 'saved']);\n\n// State\nconst editingDepartment = computed(() => !!props.department?._id);\nconst isOpenAddMemberPopup = ref(false);\n\n// Create default department structure\nconst createDefaultDepartment = () => ({\n organization: props.organizationId,\n profile: {\n photo: '',\n name: '',\n description: '',\n categories: [],\n },\n address: '',\n location: {\n lat: null,\n lng: null,\n },\n worktime: [],\n delivery: [],\n payment: [],\n members: [],\n subdepartments: [],\n hidden: false,\n accesses: {\n categories: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n rents: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n spots: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n members: {\n read: false,\n edit: false,\n delete: false,\n },\n posts: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n events: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n tickets: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n gallery: {\n read: false,\n create: false,\n edit: false,\n delete: false,\n },\n inventory: {\n read: false,\n edit: false,\n delete: false,\n },\n products: {\n read: false,\n edit: false,\n delete: false,\n },\n orders: {\n read: false,\n confirm: false,\n delete: false,\n },\n departments: {\n read: false,\n edit: false,\n delete: false,\n },\n },\n});\n\n// Current department reactive state - create deep copy to avoid mutating original\nconst currentDepartment = reactive(\n props.department ? JSON.parse(JSON.stringify(props.department)) : createDefaultDepartment()\n);\n\n// Member management\nfunction openMemberPopup() {\n isOpenAddMemberPopup.value = true;\n}\n\nfunction closeMemberPopup() {\n isOpenAddMemberPopup.value = false;\n}\n\nfunction isDuplicateMember(userId) {\n return currentDepartment.members.some(member => \n member.user._id === userId || member._id === userId\n );\n}\n\nfunction addMemberToDepartment(user) {\n if (!isDuplicateMember(user._id)) {\n currentDepartment.members.push({ \n _id: user._id, \n user: user, \n position: 'Member' \n });\n closeMemberPopup();\n } else {\n globals.actions.setError({ message: 'This user is already a member of this department' });\n }\n}\n\nfunction removeMember(member) {\n if (confirm(\"Are you sure you want to remove this member?\")) {\n const index = currentDepartment.members.findIndex(m => \n (m.user._id === member.user._id) || (m._id === member._id)\n );\n if (index > -1) {\n currentDepartment.members.splice(index, 1);\n }\n }\n}\n\n// Save/Delete operations\nasync function saveDepartment() {\n try {\n // Prepare department data\n const departmentData = {\n ...currentDepartment,\n organization: props.organizationId\n };\n\n let result;\n if (editingDepartment.value) {\n // Update existing department\n result = await departmentsStore.update({\n ...departmentData,\n _id: props.department._id\n });\n } else {\n // Create new department\n result = await departmentsStore.create(departmentData);\n }\n\n emit('saved', result);\n emit('close');\n } catch (error) {\n console.error('Error saving department:', error);\n globals.actions.setError(error);\n throw error;\n }\n}\n\nasync function onDelete() {\n if (confirm(\"Are you sure you want to delete this department?\")) {\n try {\n await departmentsStore.delete({ _id: props.department._id });\n emit('saved', null);\n emit('close');\n } catch (error) {\n console.error('Error deleting department:', error);\n globals.actions.setError(error);\n }\n }\n}\n</script>"],"names":["useRoute","computed","ref","reactive","globals.actions","departmentsStore"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed, ref, reactive, createElementBlock, openBlock, createVNode, createElementVNode, withCtx, Fragment, renderList, createBlock, createTextVNode, toDisplayString, createCommentVNode, unref, normalizeClass } from "vue";
|
|
2
2
|
import { useRoute } from "vue-router";
|
|
3
3
|
import UploadImage from "../../../../components/UploadImage/UploadImage.vue.js";
|
|
4
|
-
import Field from "../../../../components/Field/Field.
|
|
4
|
+
import Field from "../../../../components/Field/Field.vue2.js";
|
|
5
5
|
import _sfc_main$4 from "../../../../components/Checkbox/Checkbox.vue.js";
|
|
6
6
|
import _sfc_main$6 from "../../../../components/Button/Button.vue.js";
|
|
7
7
|
import _sfc_main$7 from "../../../../components/Popup/Popup.vue.js";
|
|
@@ -263,7 +263,7 @@ const _sfc_main = {
|
|
|
263
263
|
}, 8, ["actions"]),
|
|
264
264
|
createElementVNode("div", _hoisted_4, [
|
|
265
265
|
_cache[5] || (_cache[5] = createElementVNode("h3", { class: "mn-b-semi" }, "Department Settings", -1)),
|
|
266
|
-
_cache[6] || (_cache[6] = createElementVNode("p", { class: "p-
|
|
266
|
+
_cache[6] || (_cache[6] = createElementVNode("p", { class: "p-regular mn-b-small" }, "Please settings for your department:", -1)),
|
|
267
267
|
createElementVNode("div", _hoisted_5, [
|
|
268
268
|
createVNode(_sfc_main$4, {
|
|
269
269
|
label: "Hidden department",
|
|
@@ -276,7 +276,7 @@ const _sfc_main = {
|
|
|
276
276
|
]),
|
|
277
277
|
createElementVNode("div", _hoisted_6, [
|
|
278
278
|
_cache[7] || (_cache[7] = createElementVNode("h3", { class: "mn-b-semi" }, "Accesses", -1)),
|
|
279
|
-
_cache[8] || (_cache[8] = createElementVNode("p", { class: "p-
|
|
279
|
+
_cache[8] || (_cache[8] = createElementVNode("p", { class: "p-regular mn-b-small" }, "Please select organization accesses for user in department:", -1)),
|
|
280
280
|
createElementVNode("div", _hoisted_7, [
|
|
281
281
|
(openBlock(true), createElementBlock(Fragment, null, renderList(currentDepartment.accesses, (actions2, category) => {
|
|
282
282
|
return openBlock(), createElementBlock("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartmentForm.vue.js","sources":["../../../../../../../src/modules/organizations/components/forms/DepartmentForm.vue"],"sourcesContent":["<template>\n <div class=\"cols-1 gap-thin o-y-scroll\">\n <Block\n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div\n class=\"cols-2-fit-content\"\n >\n <UploadImage \n v-model:photo=\"currentDepartment.profile.photo\"\n :uploadPath=\"'organizations/' + currentDepartment.profile.name + '/departments'\"\n class=\"w-8r aspect-1x1 o-hidden mn-r-small radius-extra\" \n />\n <div class=\"w-100 flex-child-grow-1 flex-child\">\n <Field \n v-model:field=\"currentDepartment.profile.name\" \n label=\"Name\" \n placeholder=\"Department Name\" \n class=\"mn-b-small bg-white radius-small pd-medium\"\n />\n <Field \n v-model:field=\"currentDepartment.profile.description\" \n label=\"Description\" \n placeholder=\"Department description (max 120 symbols)\" \n class=\"bg-white radius-small pd-medium\"\n /> \n </div>\n </div>\n </Block>\n\n <Block\n title=\"Team\"\n placeholder=\"No members added yet\"\n :actions=\"[{\n label: '+',\n function: () => openMemberPopup()\n }]\"\n class=\"cols-1 gap-thin mn-b-thin\"\n > \n <CardUser \n class=\"h-4r bg-white pd-thin radius-medium w-100\" \n v-for=\"(member, index) in currentDepartment.members\" \n :key=\"member._id || index\" \n :user=\"member.user\" \n :photo=\"member.user.profile.photo\"\n :name=\"member.user.profile.name || member.user.phone || member.user.email || member.user._id\"\n :position=\"member.position\" \n :action=\"{\n label: {\n is: IconDelete,\n props: { class: 'i-medium', fill: 'rgb(var(--white)' }\n },\n method: () => removeMember(member)\n }\"\n />\n </Block>\n\n <div class=\"bg-light pd-medium o-hidden radius-medium mn-b-thin\">\n <h3 class=\"mn-b-semi\">Department Settings</h3>\n \n <p class=\"p-medium mn-b-small\">Please settings for your department:</p>\n <div class=\"cols-1 gap-thin\">\n <Checkbox \n label=\"Hidden department\"\n name=\"hidden\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n @update:radio=\"updated => currentDepartment.hidden = !currentDepartment.hidden\"\n :radio=\"currentDepartment.hidden\"\n />\n </div>\n </div>\n\n <div class=\"bg-light pd-medium o-hidden radius-medium\">\n <h3 class=\"mn-b-semi\">Accesses</h3>\n \n <p class=\"p-medium mn-b-small\">Please select organization accesses for user in department:</p>\n \n <div class=\"cols-1 gap-thin\">\n <div v-for=\"(actions, category) in currentDepartment.accesses\" :key=\"category\" class=\"mn-b-small\">\n <Spoiler :status=\"false\">\n <template #header=\"{ isOpen }\">\n <h4 class=\"cursor-pointer flex-v-center flex gap-thin\">\n {{ category.charAt(0).toUpperCase() + category.slice(1) }}\n <span class=\"t-small\">{{ isOpen ? '▼' : '▶' }}</span>\n </h4>\n </template>\n <template #content>\n <div class=\"cols-1 gap-thin mn-t-thin\">\n <Checkbox\n v-for=\"(value, action) in actions\"\n :key=\"action\"\n :label=\"action\"\n :name=\"action\"\n :radio=\"value\"\n @update:radio=\"updated => (currentDepartment.accesses[category][action] = !value)\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n />\n </div>\n </template>\n </Spoiler>\n </div>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"flex gap-thin mn-t-medium\">\n <Button\n v-if=\"editingDepartment\"\n :submit=\"onDelete\"\n :showSuccess=\"true\"\n :showLoader=\"true\"\n class=\"bg-red\"\n >\n Delete\n </Button>\n <Button\n :showSuccess=\"false\"\n :showLoader=\"false\"\n class=\"bg-grey t-white w-100\"\n @click=\"$emit('close')\"\n >\n Cancel\n </Button>\n <Button\n class=\"bg-main w-100\"\n :submit=\"saveDepartment\"\n >\n {{ editingDepartment ? 'Update Department' : 'Create Department' }}\n </Button>\n </div>\n\n <!-- Member Selection Popup -->\n <Popup \n title=\"Add member\" \n @close-popup=\"closeMemberPopup\" \n :isPopupOpen=\"isOpenAddMemberPopup\"\n class=\"bg-white w-max-30r radius-medium pd-big\"\n >\n <Feed\n :search=\"{\n placeholder: 'Search member...',\n class: 'bg-light mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No Members Found',\n description: 'Currently, there are no members in organization.'\n }\n }\"\n :store=\"{\n read: (options) => membershipsStore.read(options),\n state: null\n }\"\n :options=\"{\n target: organizationId,\n role: ['member', 'owner']\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"bg-light pd-medium w-min-20r w-max-40r radius-medium h-max-20r o-scroll\"\n >\n <CardUser\n v-for=\"(user, index) in items\" \n :key=\"user._id\"\n :user=\"user.user\"\n :photo=\"user.user.profile?.photo\"\n :name=\"user.user.profile?.name || user.user.phone || user.user.email\"\n :disabled=\"isDuplicateMember(user.user._id)\"\n @click=\"() => addMemberToDepartment(user.user)\"\n class=\"h-4r bg-white pd-thin radius-medium w-100 mn-b-thin\"\n :class=\"{ 'opacity-50 cursor-not-allowed': isDuplicateMember(user.user._id) }\"\n />\n </Feed>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive, computed } from 'vue';\nimport { useRoute } from 'vue-router';\n\nimport UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue';\n\nimport CardUser from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js';\nimport departmentsStore from '@martyrs/src/modules/organizations/store/departments.store.js';\n\nconst route = useRoute();\n\nconst props = defineProps({\n department: Object,\n organizationId: String\n});\n\nconst emit = defineEmits(['close', 'saved']);\n\n// State\nconst editingDepartment = computed(() => !!props.department?._id);\nconst isOpenAddMemberPopup = ref(false);\n\n// Create default department structure\nconst createDefaultDepartment = () => ({\n organization: props.organizationId,\n profile: {\n photo: '',\n name: '',\n description: '',\n categories: [],\n },\n address: '',\n location: {\n lat: null,\n lng: null,\n },\n worktime: [],\n delivery: [],\n payment: [],\n members: [],\n subdepartments: [],\n hidden: false,\n accesses: {\n categories: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n rents: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n spots: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n members: {\n read: false,\n edit: false,\n delete: false,\n },\n posts: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n events: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n tickets: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n gallery: {\n read: false,\n create: false,\n edit: false,\n delete: false,\n },\n inventory: {\n read: false,\n edit: false,\n delete: false,\n },\n products: {\n read: false,\n edit: false,\n delete: false,\n },\n orders: {\n read: false,\n confirm: false,\n delete: false,\n },\n departments: {\n read: false,\n edit: false,\n delete: false,\n },\n },\n});\n\n// Current department reactive state - create deep copy to avoid mutating original\nconst currentDepartment = reactive(\n props.department ? JSON.parse(JSON.stringify(props.department)) : createDefaultDepartment()\n);\n\n// Member management\nfunction openMemberPopup() {\n isOpenAddMemberPopup.value = true;\n}\n\nfunction closeMemberPopup() {\n isOpenAddMemberPopup.value = false;\n}\n\nfunction isDuplicateMember(userId) {\n return currentDepartment.members.some(member => \n member.user._id === userId || member._id === userId\n );\n}\n\nfunction addMemberToDepartment(user) {\n if (!isDuplicateMember(user._id)) {\n currentDepartment.members.push({ \n _id: user._id, \n user: user, \n position: 'Member' \n });\n closeMemberPopup();\n } else {\n globals.actions.setError({ message: 'This user is already a member of this department' });\n }\n}\n\nfunction removeMember(member) {\n if (confirm(\"Are you sure you want to remove this member?\")) {\n const index = currentDepartment.members.findIndex(m => \n (m.user._id === member.user._id) || (m._id === member._id)\n );\n if (index > -1) {\n currentDepartment.members.splice(index, 1);\n }\n }\n}\n\n// Save/Delete operations\nasync function saveDepartment() {\n try {\n // Prepare department data\n const departmentData = {\n ...currentDepartment,\n organization: props.organizationId\n };\n\n let result;\n if (editingDepartment.value) {\n // Update existing department\n result = await departmentsStore.update({\n ...departmentData,\n _id: props.department._id\n });\n } else {\n // Create new department\n result = await departmentsStore.create(departmentData);\n }\n\n emit('saved', result);\n emit('close');\n } catch (error) {\n console.error('Error saving department:', error);\n globals.actions.setError(error);\n throw error;\n }\n}\n\nasync function onDelete() {\n if (confirm(\"Are you sure you want to delete this department?\")) {\n try {\n await departmentsStore.delete({ _id: props.department._id });\n emit('saved', null);\n emit('close');\n } catch (error) {\n console.error('Error deleting department:', error);\n globals.actions.setError(error);\n }\n }\n}\n</script>"],"names":["globals.actions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DepartmentForm.vue.js","sources":["../../../../../../../src/modules/organizations/components/forms/DepartmentForm.vue"],"sourcesContent":["<template>\n <div class=\"cols-1 gap-thin o-y-scroll\">\n <Block\n title=\"Profile\"\n class=\"mn-b-thin\"\n >\n <div\n class=\"cols-2-fit-content\"\n >\n <UploadImage \n v-model:photo=\"currentDepartment.profile.photo\"\n :uploadPath=\"'organizations/' + currentDepartment.profile.name + '/departments'\"\n class=\"w-8r aspect-1x1 o-hidden mn-r-small radius-extra\" \n />\n <div class=\"w-100 flex-child-grow-1 flex-child\">\n <Field \n v-model:field=\"currentDepartment.profile.name\" \n label=\"Name\" \n placeholder=\"Department Name\" \n class=\"mn-b-small bg-white radius-small pd-medium\"\n />\n <Field \n v-model:field=\"currentDepartment.profile.description\" \n label=\"Description\" \n placeholder=\"Department description (max 120 symbols)\" \n class=\"bg-white radius-small pd-medium\"\n /> \n </div>\n </div>\n </Block>\n\n <Block\n title=\"Team\"\n placeholder=\"No members added yet\"\n :actions=\"[{\n label: '+',\n function: () => openMemberPopup()\n }]\"\n class=\"cols-1 gap-thin mn-b-thin\"\n > \n <CardUser \n class=\"h-4r bg-white pd-thin radius-medium w-100\" \n v-for=\"(member, index) in currentDepartment.members\" \n :key=\"member._id || index\" \n :user=\"member.user\" \n :photo=\"member.user.profile.photo\"\n :name=\"member.user.profile.name || member.user.phone || member.user.email || member.user._id\"\n :position=\"member.position\" \n :action=\"{\n label: {\n is: IconDelete,\n props: { class: 'i-medium', fill: 'rgb(var(--white)' }\n },\n method: () => removeMember(member)\n }\"\n />\n </Block>\n\n <div class=\"bg-light pd-medium o-hidden radius-medium mn-b-thin\">\n <h3 class=\"mn-b-semi\">Department Settings</h3>\n \n <p class=\"p-regular mn-b-small\">Please settings for your department:</p>\n <div class=\"cols-1 gap-thin\">\n <Checkbox \n label=\"Hidden department\"\n name=\"hidden\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n @update:radio=\"updated => currentDepartment.hidden = !currentDepartment.hidden\"\n :radio=\"currentDepartment.hidden\"\n />\n </div>\n </div>\n\n <div class=\"bg-light pd-medium o-hidden radius-medium\">\n <h3 class=\"mn-b-semi\">Accesses</h3>\n \n <p class=\"p-regular mn-b-small\">Please select organization accesses for user in department:</p>\n \n <div class=\"cols-1 gap-thin\">\n <div v-for=\"(actions, category) in currentDepartment.accesses\" :key=\"category\" class=\"mn-b-small\">\n <Spoiler :status=\"false\">\n <template #header=\"{ isOpen }\">\n <h4 class=\"cursor-pointer flex-v-center flex gap-thin\">\n {{ category.charAt(0).toUpperCase() + category.slice(1) }}\n <span class=\"t-small\">{{ isOpen ? '▼' : '▶' }}</span>\n </h4>\n </template>\n <template #content>\n <div class=\"cols-1 gap-thin mn-t-thin\">\n <Checkbox\n v-for=\"(value, action) in actions\"\n :key=\"action\"\n :label=\"action\"\n :name=\"action\"\n :radio=\"value\"\n @update:radio=\"updated => (currentDepartment.accesses[category][action] = !value)\"\n class=\"w-100 mn-r-small bg-white radius-small pd-small\"\n />\n </div>\n </template>\n </Spoiler>\n </div>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"flex gap-thin mn-t-medium\">\n <Button\n v-if=\"editingDepartment\"\n :submit=\"onDelete\"\n :showSuccess=\"true\"\n :showLoader=\"true\"\n class=\"bg-red\"\n >\n Delete\n </Button>\n <Button\n :showSuccess=\"false\"\n :showLoader=\"false\"\n class=\"bg-grey t-white w-100\"\n @click=\"$emit('close')\"\n >\n Cancel\n </Button>\n <Button\n class=\"bg-main w-100\"\n :submit=\"saveDepartment\"\n >\n {{ editingDepartment ? 'Update Department' : 'Create Department' }}\n </Button>\n </div>\n\n <!-- Member Selection Popup -->\n <Popup \n title=\"Add member\" \n @close-popup=\"closeMemberPopup\" \n :isPopupOpen=\"isOpenAddMemberPopup\"\n class=\"bg-white w-max-30r radius-medium pd-big\"\n >\n <Feed\n :search=\"{\n placeholder: 'Search member...',\n class: 'bg-light mn-b-thin'\n }\"\n :states=\"{\n empty: {\n title: 'No Members Found',\n description: 'Currently, there are no members in organization.'\n }\n }\"\n :store=\"{\n read: (options) => membershipsStore.read(options),\n state: null\n }\"\n :options=\"{\n target: organizationId,\n role: ['member', 'owner']\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"bg-light pd-medium w-min-20r w-max-40r radius-medium h-max-20r o-scroll\"\n >\n <CardUser\n v-for=\"(user, index) in items\" \n :key=\"user._id\"\n :user=\"user.user\"\n :photo=\"user.user.profile?.photo\"\n :name=\"user.user.profile?.name || user.user.phone || user.user.email\"\n :disabled=\"isDuplicateMember(user.user._id)\"\n @click=\"() => addMemberToDepartment(user.user)\"\n class=\"h-4r bg-white pd-thin radius-medium w-100 mn-b-thin\"\n :class=\"{ 'opacity-50 cursor-not-allowed': isDuplicateMember(user.user._id) }\"\n />\n </Feed>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive, computed } from 'vue';\nimport { useRoute } from 'vue-router';\n\nimport UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue';\n\nimport CardUser from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js';\nimport departmentsStore from '@martyrs/src/modules/organizations/store/departments.store.js';\n\nconst route = useRoute();\n\nconst props = defineProps({\n department: Object,\n organizationId: String\n});\n\nconst emit = defineEmits(['close', 'saved']);\n\n// State\nconst editingDepartment = computed(() => !!props.department?._id);\nconst isOpenAddMemberPopup = ref(false);\n\n// Create default department structure\nconst createDefaultDepartment = () => ({\n organization: props.organizationId,\n profile: {\n photo: '',\n name: '',\n description: '',\n categories: [],\n },\n address: '',\n location: {\n lat: null,\n lng: null,\n },\n worktime: [],\n delivery: [],\n payment: [],\n members: [],\n subdepartments: [],\n hidden: false,\n accesses: {\n categories: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n rents: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n spots: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n members: {\n read: false,\n edit: false,\n delete: false,\n },\n posts: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n events: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n tickets: {\n create: false,\n read: false,\n edit: false,\n delete: false,\n },\n gallery: {\n read: false,\n create: false,\n edit: false,\n delete: false,\n },\n inventory: {\n read: false,\n edit: false,\n delete: false,\n },\n products: {\n read: false,\n edit: false,\n delete: false,\n },\n orders: {\n read: false,\n confirm: false,\n delete: false,\n },\n departments: {\n read: false,\n edit: false,\n delete: false,\n },\n },\n});\n\n// Current department reactive state - create deep copy to avoid mutating original\nconst currentDepartment = reactive(\n props.department ? JSON.parse(JSON.stringify(props.department)) : createDefaultDepartment()\n);\n\n// Member management\nfunction openMemberPopup() {\n isOpenAddMemberPopup.value = true;\n}\n\nfunction closeMemberPopup() {\n isOpenAddMemberPopup.value = false;\n}\n\nfunction isDuplicateMember(userId) {\n return currentDepartment.members.some(member => \n member.user._id === userId || member._id === userId\n );\n}\n\nfunction addMemberToDepartment(user) {\n if (!isDuplicateMember(user._id)) {\n currentDepartment.members.push({ \n _id: user._id, \n user: user, \n position: 'Member' \n });\n closeMemberPopup();\n } else {\n globals.actions.setError({ message: 'This user is already a member of this department' });\n }\n}\n\nfunction removeMember(member) {\n if (confirm(\"Are you sure you want to remove this member?\")) {\n const index = currentDepartment.members.findIndex(m => \n (m.user._id === member.user._id) || (m._id === member._id)\n );\n if (index > -1) {\n currentDepartment.members.splice(index, 1);\n }\n }\n}\n\n// Save/Delete operations\nasync function saveDepartment() {\n try {\n // Prepare department data\n const departmentData = {\n ...currentDepartment,\n organization: props.organizationId\n };\n\n let result;\n if (editingDepartment.value) {\n // Update existing department\n result = await departmentsStore.update({\n ...departmentData,\n _id: props.department._id\n });\n } else {\n // Create new department\n result = await departmentsStore.create(departmentData);\n }\n\n emit('saved', result);\n emit('close');\n } catch (error) {\n console.error('Error saving department:', error);\n globals.actions.setError(error);\n throw error;\n }\n}\n\nasync function onDelete() {\n if (confirm(\"Are you sure you want to delete this department?\")) {\n try {\n await departmentsStore.delete({ _id: props.department._id });\n emit('saved', null);\n emit('close');\n } catch (error) {\n console.error('Error deleting department:', error);\n globals.actions.setError(error);\n }\n }\n}\n</script>"],"names":["globals.actions"],"mappings":"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"}
|