@ozdao/martyrs 0.2.519 → 0.2.520
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/chats.server.cjs +198 -1
- package/dist/chats.server.js +198 -1
- package/dist/{main-Wr1_4rwl.cjs → main-BM3GslOO.cjs} +6 -6
- package/dist/{main-DgGUrhjT.js → main-Qcn7YlTx.js} +1832 -1828
- package/dist/martyrs/src/components/Address/{Address.vue2.cjs → Address.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Address/{Address.vue2.js.map → Address.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Address/{Address.vue2.js → Address.vue.js} +2 -2
- package/dist/martyrs/src/components/Address/Address.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +0 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +0 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.cjs → LocationMarker.vue.cjs} +2 -2
- package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.js.map → LocationMarker.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.js → LocationMarker.vue.js} +2 -2
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -0
- 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/modules/auth/views/components/blocks/CardUser.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +40 -50
- 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 +59 -69
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs +11 -13
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +11 -13
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs +9 -0
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js +9 -0
- package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs +27 -11
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +28 -12
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs +62 -0
- 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 +63 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.cjs +60 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.cjs.map +1 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.js +60 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.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/BlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +50 -368
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +53 -371
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +0 -1
- 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 +0 -1
- 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 +2 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +7 -0
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +7 -0
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +180 -19
- 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 +181 -20
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/router/music.cjs +0 -1
- package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/router/music.js +0 -1
- package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +2 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -3
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -3
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
- 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/organizations/components/blocks/CardDepartment.vue.cjs +2 -24
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +5 -27
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs +4 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +4 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +195 -0
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +195 -0
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +402 -0
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +402 -0
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +86 -0
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +86 -0
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +10 -10
- 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 +11 -11
- 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 +279 -191
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +285 -197
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +5 -5
- 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 +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.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.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +42 -41
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +53 -52
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs +23 -16
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.js +35 -28
- package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/departments.router.cjs +0 -18
- package/dist/martyrs/src/modules/organizations/router/departments.router.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/departments.router.js +0 -18
- package/dist/martyrs/src/modules/organizations/router/departments.router.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/store/departments.store.cjs +6 -0
- package/dist/martyrs/src/modules/organizations/store/departments.store.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/departments.store.js +6 -0
- package/dist/martyrs/src/modules/organizations/store/departments.store.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/invites.store.cjs +6 -0
- package/dist/martyrs/src/modules/organizations/store/invites.store.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/invites.store.js +6 -0
- package/dist/martyrs/src/modules/organizations/store/invites.store.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs +20 -0
- package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/memberships.store.js +20 -0
- package/dist/martyrs/src/modules/organizations/store/memberships.store.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
- 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 +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +2 -2
- 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 +2 -2
- 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 +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +60 -272
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +62 -274
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/notifications.server.cjs +0 -24
- package/dist/notifications.server.js +0 -24
- package/dist/orders.server.cjs +1 -4
- package/dist/orders.server.js +1 -4
- package/dist/organizations.server.cjs +115 -39
- package/dist/organizations.server.js +115 -39
- package/dist/style.css +9 -9
- package/dist/{web-42I-Howt.cjs → web-B0cfxzgu.cjs} +1 -1
- package/dist/{web-ByhZ_fIu.js → web-DVR8m2fm.js} +1 -1
- package/package.json +1 -1
- package/src/components/Feed/Feed.old.vue +0 -1
- package/src/components/Feed/Feed.vue +0 -30
- package/src/modules/auth/FIXES.md +2 -26
- package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
- package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
- package/src/modules/auth/views/components/pages/Invite.vue +2 -2
- package/src/modules/auth/views/components/pages/Profile.vue +33 -48
- package/src/modules/auth/views/components/sections/SliderFeatures.vue +5 -7
- package/src/modules/auth/views/store/auth.js +15 -0
- package/src/modules/chats/CLAUDE.md +137 -0
- package/src/modules/chats/components/blocks/ChatMessage.vue +12 -0
- package/src/modules/chats/components/sections/ChatWindow.vue +84 -2
- package/src/modules/chats/controllers/chats.controller.js +187 -0
- package/src/modules/chats/models/chat.model.js +21 -0
- package/src/modules/chats/routes/chats.routes.js +46 -0
- package/src/modules/chats/store/chat.store.js +67 -0
- package/src/modules/community/components/layouts/Community.vue +2 -2
- package/src/modules/community/components/pages/Posts.vue +3 -328
- package/src/modules/events/components/pages/EditEventTickets.vue +1 -1
- package/src/modules/events/components/pages/Events.vue +2 -2
- package/src/modules/globals/views/mixins/mixins.js +7 -0
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +160 -8
- package/src/modules/notifications/controllers/notifications.controller.js +0 -6
- package/src/modules/notifications/services/notification.service.js +1 -17
- package/src/modules/notifications/services/web-push.service.js +0 -2
- package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +2 -2
- package/src/modules/orders/components/blocks/CardOrderVar1.vue +1 -1
- package/src/modules/orders/controllers/orders.controller.js +2 -4
- package/src/modules/organizations/CLAUDE.md +259 -0
- package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -22
- package/src/modules/organizations/components/blocks/Socials.vue +1 -1
- package/src/modules/organizations/components/elements/ButtonToggleMembership.vue +3 -3
- package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +191 -0
- package/src/modules/organizations/components/forms/DepartmentForm.vue +390 -0
- package/src/modules/organizations/components/forms/InviteForm.vue +81 -0
- package/src/modules/organizations/components/pages/Department.vue +10 -10
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +8 -8
- package/src/modules/organizations/components/pages/Members.vue +265 -171
- package/src/modules/organizations/components/pages/Organization.new.vue +172 -183
- package/src/modules/organizations/components/pages/Organization.vue +6 -6
- package/src/modules/organizations/components/pages/OrganizationEdit.vue +1 -1
- package/src/modules/organizations/components/pages/Organizations.vue +1 -1
- package/src/modules/organizations/components/sections/Organizations.vue +2 -2
- package/src/modules/organizations/components/sections/Publics.vue +4 -4
- package/src/modules/organizations/configs/navigation.organization.config.js +40 -39
- package/src/modules/organizations/controllers/departments.controller.js +53 -34
- package/src/modules/organizations/controllers/invites.controller.js +44 -5
- package/src/modules/organizations/controllers/memberships.controller.js +43 -4
- package/src/modules/organizations/organizations.client.js +24 -15
- package/src/modules/organizations/router/departments.router.js +0 -18
- package/src/modules/organizations/routes/departments.routes.js +6 -8
- package/src/modules/organizations/routes/invites.routes.js +6 -4
- package/src/modules/organizations/routes/memberships.routes.js +6 -5
- package/src/modules/organizations/store/departments.store.js +5 -0
- package/src/modules/organizations/store/invites.store.js +5 -0
- package/src/modules/organizations/store/memberships.store.js +23 -0
- package/src/modules/products/components/pages/Products.vue +0 -1
- package/src/modules/spots/components/blocks/CardSpot.vue +1 -1
- package/src/modules/spots/components/pages/Spots.vue +3 -203
- package/src/styles/base/all.scss +0 -15
- package/src/styles/typography.scss +20 -5
- package/dist/martyrs/src/components/Address/Address.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs +0 -76
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js +0 -76
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +0 -280
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +0 -280
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/departments.cjs +0 -121
- package/dist/martyrs/src/modules/organizations/store/departments.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/departments.js +0 -121
- package/dist/martyrs/src/modules/organizations/store/departments.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/invites.cjs +0 -64
- package/dist/martyrs/src/modules/organizations/store/invites.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/invites.js +0 -64
- package/dist/martyrs/src/modules/organizations/store/invites.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/memberships.cjs +0 -87
- package/dist/martyrs/src/modules/organizations/store/memberships.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/memberships.js +0 -87
- package/dist/martyrs/src/modules/organizations/store/memberships.js.map +0 -1
- package/src/CLAUDE.MD +0 -15
- package/src/modules/globals/controllers/classes/globals.websocket.ws.js +0 -102
- package/src/modules/globals/views/components/blocks/BlockFilter.vue +0 -60
- package/src/modules/organizations/store/departments.js +0 -137
- package/src/modules/organizations/store/invites.js +0 -76
- package/src/modules/organizations/store/memberships.js +0 -110
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormDelivery.vue.cjs","sources":["../../../../../../../src/modules/orders/components/sections/FormDelivery.vue"],"sourcesContent":["<template>\n <Block title=\"Delivery\">\n <h5 class=\"font-second mn-b-thin\">Select delivery type</h5>\n \n <div class=\"mn-b-small flex-nowrap flex\" v-if=\"availableDeliveryTypes.length\">\n <Radio \n v-for=\"type in availableDeliveryTypes\"\n :key=\"type\"\n v-model:radio=\"order.delivery.type\"\n :label=\"capitalize(type)\"\n :value=\"type\"\n class=\"bg-white field-wrapper cursor-pointer pd-medium radius-small w-100 mn-r-small\"\n />\n </div>\n <div v-else>No delivery options available.</div>\n\n <!-- Раздел для Pickup -->\n <template v-if=\"order.delivery.type === 'pickup'\">\n <h5 class=\"font-second mn-b-thin\">Select pickup spot</h5>\n <CardSpot\n v-for=\"(spot, index) in organization?.spots.filter(item => item.delivery?.includes('pickup'))\"\n :key=\"index\"\n :spot=\"spot\"\n :organization=\"order.organization\"\n :editAcess=\"false\"\n :showDeliveryOptions=\"false\"\n :showPaymentOptions=\"false\"\n :selected=\"order.delivery.spot === spot._id\"\n @click=\"() => order.delivery.spot = order.delivery.spot === spot._id ? null : spot._id\"\n class=\"field-wrapper cursor-pointer mn-b-thin radius-medium o-hidden bg-white\"\n />\n </template>\n\n <!-- Раздел для Courier -->\n <template v-else-if=\"order.delivery.type === 'courier' || order.delivery.type === 'post'\">\n <h5 class=\"font-second mn-b-thin\">Address</h5>\n <Address\n label=\"Location\" \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"order.delivery.address\" \n :location=\"order.delivery.location\" \n placeholder=\"Enter your address\" \n class=\"bg-white radius-tl-medium radius-tr-medium t-black pd-medium\"\n @update:location=\"newLocation => { order.delivery.location = newLocation; }\"\n @update:address=\"newAddress => { order.delivery.address = newAddress; }\"\n />\n <!-- Карта доставки -->\n <LocationMarker \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"order.delivery.address\" \n :location=\"order.delivery.location\"\n class=\"mn-b-thin radius-bl-medium radius-br-medium h-15r o-hidden\"\n @update:location=\"newLocation => { \n if (order.delivery.type === 'courier') order.delivery.location = newLocation;\n }\"\n @update:address=\"newAddress => { \n if (order.delivery.type === 'courier') order.delivery.address = newAddress;\n }\"\n />\n </template>\n <!-- Комментарии -->\n <Field \n v-model:field=\"order.comment\" \n placeholder=\"Comments regarding the address (apartment unit, floor level, building section)\"\n type=\"textarea\" \n class=\"bg-white pd-medium radius-small\"\n />\n </Block>\n</template>\n\n<script setup>\nimport { watch, computed, onMounted } from 'vue';\nimport { useRoute } from 'vue-router';\n\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue'; \nimport * as spotsModule from '@martyrs/src/modules/spots/store/spots.js';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Address from '@martyrs/src/components/Address/Address.vue';\nimport LocationMarker from '@martyrs/src/components/LocationMarker/LocationMarker.vue';\nimport Radio from '@martyrs/src/components/Radio/Radio.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\n\nconst props = defineProps({\n order: Object,\n organization: Object,\n});\n\nconst route = useRoute();\n\n// Сбрасываем spot при переключении типа доставки\nwatch(() => props.order.delivery.type, (newType) => {\n if (newType !== 'pickup') {\n props.order.delivery.spot = null;\n }\n});\n\n// Устанавливаем начальные данные из globals при монтировании\nonMounted(() => {\n if (globals.state.position) {\n props.order.delivery.address = globals.state.position.address;\n props.order.delivery.location = globals.state.position.location;\n }\n});\n\nconst availableDeliveryTypes = computed(() => {\n const types = new Set()\n props.organization?.spots?.forEach(spot => {\n spot.delivery?.forEach(type => types.add(type))\n })\n return Array.from(types)\n})\n\nfunction capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n</script>"],"names":["useRoute","watch","onMounted","globals.state","computed"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormDelivery.vue.cjs","sources":["../../../../../../../src/modules/orders/components/sections/FormDelivery.vue"],"sourcesContent":["<template>\n <Block title=\"Delivery\">\n <h5 class=\"font-second mn-b-thin\">Select delivery type</h5>\n \n <div class=\"mn-b-small flex-nowrap flex\" v-if=\"availableDeliveryTypes.length\">\n <Radio \n v-for=\"type in availableDeliveryTypes\"\n :key=\"type\"\n v-model:radio=\"order.delivery.type\"\n :label=\"capitalize(type)\"\n :value=\"type\"\n class=\"bg-white field-wrapper cursor-pointer pd-medium radius-small w-100 mn-r-small\"\n />\n </div>\n <div v-else>No delivery options available.</div>\n\n <!-- Раздел для Pickup -->\n <template v-if=\"order.delivery.type === 'pickup'\">\n <h5 class=\"font-second mn-b-thin\">Select pickup spot</h5>\n <CardSpot\n v-for=\"(spot, index) in organization?.spots.filter(item => item.delivery?.includes('pickup'))\"\n :key=\"index\"\n :spot=\"spot\"\n :organization=\"order.organization\"\n :editAcess=\"false\"\n :showDeliveryOptions=\"false\"\n :showPaymentOptions=\"false\"\n :selected=\"order.delivery.spot === spot._id\"\n @click=\"() => order.delivery.spot = order.delivery.spot === spot._id ? null : spot._id\"\n class=\"field-wrapper cursor-pointer mn-b-thin radius-medium o-hidden bg-white\"\n />\n </template>\n\n <!-- Раздел для Courier -->\n <template v-else-if=\"order.delivery.type === 'courier' || order.delivery.type === 'post'\">\n <h5 class=\"font-second mn-b-thin\">Address</h5>\n <Address\n label=\"Location\" \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"order.delivery.address\" \n :location=\"order.delivery.location\" \n placeholder=\"Enter your address\" \n class=\"bg-white radius-tl-medium radius-tr-medium t-black pd-medium\"\n @update:location=\"newLocation => { order.delivery.location = newLocation; }\"\n @update:address=\"newAddress => { order.delivery.address = newAddress; }\"\n />\n <!-- Карта доставки -->\n <LocationMarker \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"order.delivery.address\" \n :location=\"order.delivery.location\"\n class=\"mn-b-thin radius-bl-medium radius-br-medium h-15r o-hidden\"\n @update:location=\"newLocation => { \n if (order.delivery.type === 'courier') order.delivery.location = newLocation;\n }\"\n @update:address=\"newAddress => { \n if (order.delivery.type === 'courier') order.delivery.address = newAddress;\n }\"\n />\n </template>\n <!-- Комментарии -->\n <Field \n v-model:field=\"order.comment\" \n placeholder=\"Comments regarding the address (apartment unit, floor level, building section)\"\n type=\"textarea\" \n class=\"bg-white pd-medium radius-small\"\n />\n </Block>\n</template>\n\n<script setup>\nimport { watch, computed, onMounted } from 'vue';\nimport { useRoute } from 'vue-router';\n\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue'; \nimport * as spotsModule from '@martyrs/src/modules/spots/store/spots.js';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Address from '@martyrs/src/components/Address/Address.vue';\nimport LocationMarker from '@martyrs/src/components/LocationMarker/LocationMarker.vue';\nimport Radio from '@martyrs/src/components/Radio/Radio.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\n\nconst props = defineProps({\n order: Object,\n organization: Object,\n});\n\nconst route = useRoute();\n\n// Сбрасываем spot при переключении типа доставки\nwatch(() => props.order.delivery.type, (newType) => {\n if (newType !== 'pickup') {\n props.order.delivery.spot = null;\n }\n});\n\n// Устанавливаем начальные данные из globals при монтировании\nonMounted(() => {\n if (globals.state.position) {\n props.order.delivery.address = globals.state.position.address;\n props.order.delivery.location = globals.state.position.location;\n }\n});\n\nconst availableDeliveryTypes = computed(() => {\n const types = new Set()\n props.organization?.spots?.forEach(spot => {\n spot.delivery?.forEach(type => types.add(type))\n })\n return Array.from(types)\n})\n\nfunction capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n</script>"],"names":["useRoute","watch","onMounted","globals.state","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFA,UAAM,QAAQ;AAKAA,cAAAA,SAAQ;AAGtBC,QAAAA,MAAM,MAAM,MAAM,MAAM,SAAS,MAAM,CAAC,YAAY;AAClD,UAAI,YAAY,UAAU;AACxB,cAAM,MAAM,SAAS,OAAO;AAAA,MAC9B;AAAA,IACF,CAAC;AAGDC,QAAAA,UAAU,MAAM;AACd,UAAIC,QAAAA,MAAc,UAAU;AAC1B,cAAM,MAAM,SAAS,UAAUA,QAAAA,MAAc,SAAS;AACtD,cAAM,MAAM,SAAS,WAAWA,QAAAA,MAAc,SAAS;AAAA,MACzD;AAAA,IACF,CAAC;AAED,UAAM,yBAAyBC,IAAAA,SAAS,MAAM;AAC5C,YAAM,QAAQ,oBAAI,IAAG;AACrB,YAAM,cAAc,OAAO,QAAQ,UAAQ;AACzC,aAAK,UAAU,QAAQ,UAAQ,MAAM,IAAI,IAAI,CAAC;AAAA,MAChD,CAAC;AACD,aAAO,MAAM,KAAK,KAAK;AAAA,IACzB,CAAC;AAED,aAAS,WAAW,KAAK;AACvB,aAAO,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;AAAA,IAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -6,7 +6,6 @@ import { useRoute } from "vue-router";
|
|
|
6
6
|
/* empty css */
|
|
7
7
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
8
8
|
import _sfc_main$2 from "../../../../components/Radio/Radio.vue.js";
|
|
9
|
-
/* empty css */
|
|
10
9
|
import { state } from "../../../globals/views/store/globals.js";
|
|
11
10
|
/* empty css */
|
|
12
11
|
/* empty css */
|
|
@@ -15,8 +14,8 @@ import { state } from "../../../globals/views/store/globals.js";
|
|
|
15
14
|
import CardSpot from "../../../spots/components/blocks/CardSpot.vue.js";
|
|
16
15
|
import "../../../spots/store/spots.js";
|
|
17
16
|
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
18
|
-
import _sfc_main$3 from "../../../../components/Address/Address.
|
|
19
|
-
import _sfc_main$4 from "../../../../components/LocationMarker/LocationMarker.
|
|
17
|
+
import _sfc_main$3 from "../../../../components/Address/Address.vue.js";
|
|
18
|
+
import _sfc_main$4 from "../../../../components/LocationMarker/LocationMarker.vue.js";
|
|
20
19
|
const _hoisted_1 = {
|
|
21
20
|
key: 0,
|
|
22
21
|
class: "mn-b-small flex-nowrap flex"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormDelivery.vue.js","sources":["../../../../../../../src/modules/orders/components/sections/FormDelivery.vue"],"sourcesContent":["<template>\n <Block title=\"Delivery\">\n <h5 class=\"font-second mn-b-thin\">Select delivery type</h5>\n \n <div class=\"mn-b-small flex-nowrap flex\" v-if=\"availableDeliveryTypes.length\">\n <Radio \n v-for=\"type in availableDeliveryTypes\"\n :key=\"type\"\n v-model:radio=\"order.delivery.type\"\n :label=\"capitalize(type)\"\n :value=\"type\"\n class=\"bg-white field-wrapper cursor-pointer pd-medium radius-small w-100 mn-r-small\"\n />\n </div>\n <div v-else>No delivery options available.</div>\n\n <!-- Раздел для Pickup -->\n <template v-if=\"order.delivery.type === 'pickup'\">\n <h5 class=\"font-second mn-b-thin\">Select pickup spot</h5>\n <CardSpot\n v-for=\"(spot, index) in organization?.spots.filter(item => item.delivery?.includes('pickup'))\"\n :key=\"index\"\n :spot=\"spot\"\n :organization=\"order.organization\"\n :editAcess=\"false\"\n :showDeliveryOptions=\"false\"\n :showPaymentOptions=\"false\"\n :selected=\"order.delivery.spot === spot._id\"\n @click=\"() => order.delivery.spot = order.delivery.spot === spot._id ? null : spot._id\"\n class=\"field-wrapper cursor-pointer mn-b-thin radius-medium o-hidden bg-white\"\n />\n </template>\n\n <!-- Раздел для Courier -->\n <template v-else-if=\"order.delivery.type === 'courier' || order.delivery.type === 'post'\">\n <h5 class=\"font-second mn-b-thin\">Address</h5>\n <Address\n label=\"Location\" \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"order.delivery.address\" \n :location=\"order.delivery.location\" \n placeholder=\"Enter your address\" \n class=\"bg-white radius-tl-medium radius-tr-medium t-black pd-medium\"\n @update:location=\"newLocation => { order.delivery.location = newLocation; }\"\n @update:address=\"newAddress => { order.delivery.address = newAddress; }\"\n />\n <!-- Карта доставки -->\n <LocationMarker \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"order.delivery.address\" \n :location=\"order.delivery.location\"\n class=\"mn-b-thin radius-bl-medium radius-br-medium h-15r o-hidden\"\n @update:location=\"newLocation => { \n if (order.delivery.type === 'courier') order.delivery.location = newLocation;\n }\"\n @update:address=\"newAddress => { \n if (order.delivery.type === 'courier') order.delivery.address = newAddress;\n }\"\n />\n </template>\n <!-- Комментарии -->\n <Field \n v-model:field=\"order.comment\" \n placeholder=\"Comments regarding the address (apartment unit, floor level, building section)\"\n type=\"textarea\" \n class=\"bg-white pd-medium radius-small\"\n />\n </Block>\n</template>\n\n<script setup>\nimport { watch, computed, onMounted } from 'vue';\nimport { useRoute } from 'vue-router';\n\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue'; \nimport * as spotsModule from '@martyrs/src/modules/spots/store/spots.js';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Address from '@martyrs/src/components/Address/Address.vue';\nimport LocationMarker from '@martyrs/src/components/LocationMarker/LocationMarker.vue';\nimport Radio from '@martyrs/src/components/Radio/Radio.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\n\nconst props = defineProps({\n order: Object,\n organization: Object,\n});\n\nconst route = useRoute();\n\n// Сбрасываем spot при переключении типа доставки\nwatch(() => props.order.delivery.type, (newType) => {\n if (newType !== 'pickup') {\n props.order.delivery.spot = null;\n }\n});\n\n// Устанавливаем начальные данные из globals при монтировании\nonMounted(() => {\n if (globals.state.position) {\n props.order.delivery.address = globals.state.position.address;\n props.order.delivery.location = globals.state.position.location;\n }\n});\n\nconst availableDeliveryTypes = computed(() => {\n const types = new Set()\n props.organization?.spots?.forEach(spot => {\n spot.delivery?.forEach(type => types.add(type))\n })\n return Array.from(types)\n})\n\nfunction capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n</script>"],"names":["globals.state"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormDelivery.vue.js","sources":["../../../../../../../src/modules/orders/components/sections/FormDelivery.vue"],"sourcesContent":["<template>\n <Block title=\"Delivery\">\n <h5 class=\"font-second mn-b-thin\">Select delivery type</h5>\n \n <div class=\"mn-b-small flex-nowrap flex\" v-if=\"availableDeliveryTypes.length\">\n <Radio \n v-for=\"type in availableDeliveryTypes\"\n :key=\"type\"\n v-model:radio=\"order.delivery.type\"\n :label=\"capitalize(type)\"\n :value=\"type\"\n class=\"bg-white field-wrapper cursor-pointer pd-medium radius-small w-100 mn-r-small\"\n />\n </div>\n <div v-else>No delivery options available.</div>\n\n <!-- Раздел для Pickup -->\n <template v-if=\"order.delivery.type === 'pickup'\">\n <h5 class=\"font-second mn-b-thin\">Select pickup spot</h5>\n <CardSpot\n v-for=\"(spot, index) in organization?.spots.filter(item => item.delivery?.includes('pickup'))\"\n :key=\"index\"\n :spot=\"spot\"\n :organization=\"order.organization\"\n :editAcess=\"false\"\n :showDeliveryOptions=\"false\"\n :showPaymentOptions=\"false\"\n :selected=\"order.delivery.spot === spot._id\"\n @click=\"() => order.delivery.spot = order.delivery.spot === spot._id ? null : spot._id\"\n class=\"field-wrapper cursor-pointer mn-b-thin radius-medium o-hidden bg-white\"\n />\n </template>\n\n <!-- Раздел для Courier -->\n <template v-else-if=\"order.delivery.type === 'courier' || order.delivery.type === 'post'\">\n <h5 class=\"font-second mn-b-thin\">Address</h5>\n <Address\n label=\"Location\" \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"order.delivery.address\" \n :location=\"order.delivery.location\" \n placeholder=\"Enter your address\" \n class=\"bg-white radius-tl-medium radius-tr-medium t-black pd-medium\"\n @update:location=\"newLocation => { order.delivery.location = newLocation; }\"\n @update:address=\"newAddress => { order.delivery.address = newAddress; }\"\n />\n <!-- Карта доставки -->\n <LocationMarker \n :apiKey=\"GOOGLE_MAPS_API_KEY\" \n :address=\"order.delivery.address\" \n :location=\"order.delivery.location\"\n class=\"mn-b-thin radius-bl-medium radius-br-medium h-15r o-hidden\"\n @update:location=\"newLocation => { \n if (order.delivery.type === 'courier') order.delivery.location = newLocation;\n }\"\n @update:address=\"newAddress => { \n if (order.delivery.type === 'courier') order.delivery.address = newAddress;\n }\"\n />\n </template>\n <!-- Комментарии -->\n <Field \n v-model:field=\"order.comment\" \n placeholder=\"Comments regarding the address (apartment unit, floor level, building section)\"\n type=\"textarea\" \n class=\"bg-white pd-medium radius-small\"\n />\n </Block>\n</template>\n\n<script setup>\nimport { watch, computed, onMounted } from 'vue';\nimport { useRoute } from 'vue-router';\n\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport CardSpot from '@martyrs/src/modules/spots/components/blocks/CardSpot.vue'; \nimport * as spotsModule from '@martyrs/src/modules/spots/store/spots.js';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport Block from '@martyrs/src/components/Block/Block.vue';\nimport Address from '@martyrs/src/components/Address/Address.vue';\nimport LocationMarker from '@martyrs/src/components/LocationMarker/LocationMarker.vue';\nimport Radio from '@martyrs/src/components/Radio/Radio.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\n\nconst props = defineProps({\n order: Object,\n organization: Object,\n});\n\nconst route = useRoute();\n\n// Сбрасываем spot при переключении типа доставки\nwatch(() => props.order.delivery.type, (newType) => {\n if (newType !== 'pickup') {\n props.order.delivery.spot = null;\n }\n});\n\n// Устанавливаем начальные данные из globals при монтировании\nonMounted(() => {\n if (globals.state.position) {\n props.order.delivery.address = globals.state.position.address;\n props.order.delivery.location = globals.state.position.location;\n }\n});\n\nconst availableDeliveryTypes = computed(() => {\n const types = new Set()\n props.organization?.spots?.forEach(spot => {\n spot.delivery?.forEach(type => types.add(type))\n })\n return Array.from(types)\n})\n\nfunction capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n</script>"],"names":["globals.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFA,UAAM,QAAQ;AAKA,aAAQ;AAGtB,UAAM,MAAM,MAAM,MAAM,SAAS,MAAM,CAAC,YAAY;AAClD,UAAI,YAAY,UAAU;AACxB,cAAM,MAAM,SAAS,OAAO;AAAA,MAC9B;AAAA,IACF,CAAC;AAGD,cAAU,MAAM;AACd,UAAIA,MAAc,UAAU;AAC1B,cAAM,MAAM,SAAS,UAAUA,MAAc,SAAS;AACtD,cAAM,MAAM,SAAS,WAAWA,MAAc,SAAS;AAAA,MACzD;AAAA,IACF,CAAC;AAED,UAAM,yBAAyB,SAAS,MAAM;AAC5C,YAAM,QAAQ,oBAAI,IAAG;AACrB,YAAM,cAAc,OAAO,QAAQ,UAAQ;AACzC,aAAK,UAAU,QAAQ,UAAQ,MAAM,IAAI,IAAI,CAAC;AAAA,MAChD,CAAC;AACD,aAAO,MAAM,KAAK,KAAK;AAAA,IACzB,CAAC;AAED,aAAS,WAAW,KAAK;AACvB,aAAO,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;AAAA,IAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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 Block = require("../../../../components/Block/Block.vue.cjs");
|
|
5
|
-
const Select = require("../../../../components/Select/Select.
|
|
5
|
+
const Select = require("../../../../components/Select/Select.vue.cjs");
|
|
6
6
|
const _hoisted_1 = { class: "mn-b-small flex-nowrap flex" };
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
__name: "FormPayment",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, createBlock, openBlock, withCtx, createElementVNode, createVNode } from "vue";
|
|
2
2
|
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
3
|
-
import Select from "../../../../components/Select/Select.
|
|
3
|
+
import Select from "../../../../components/Select/Select.vue.js";
|
|
4
4
|
const _hoisted_1 = { class: "mn-b-small flex-nowrap flex" };
|
|
5
5
|
const _sfc_main = {
|
|
6
6
|
__name: "FormPayment",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
|
|
5
4
|
;/* empty css */
|
|
6
5
|
;/* empty css */
|
|
7
6
|
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
@@ -18,31 +17,10 @@ const _sfc_main = {
|
|
|
18
17
|
organization: Object
|
|
19
18
|
},
|
|
20
19
|
setup(__props) {
|
|
21
|
-
const props = __props;
|
|
22
20
|
return (_ctx, _cache) => {
|
|
23
|
-
const _component_router_link = vue.resolveComponent("router-link");
|
|
24
21
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
25
22
|
vue.createElementVNode("div", _hoisted_2, [
|
|
26
|
-
vue.createVNode(_component_router_link, {
|
|
27
|
-
to: {
|
|
28
|
-
name: "Department Edit",
|
|
29
|
-
params: {
|
|
30
|
-
_id: props.organization,
|
|
31
|
-
department: __props.department._id
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
class: "cursor-pointer pos-absolute pos-t-regular pos-r-regular radius-extra pd-thin bg-second"
|
|
35
|
-
}, {
|
|
36
|
-
default: vue.withCtx(() => [
|
|
37
|
-
vue.createVNode(IconEdit.default, {
|
|
38
|
-
class: "i-regular",
|
|
39
|
-
classes: "fill-white"
|
|
40
|
-
})
|
|
41
|
-
]),
|
|
42
|
-
_: 1
|
|
43
|
-
}, 8, ["to"]),
|
|
44
23
|
vue.createElementVNode("h3", {
|
|
45
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$router.push(`/organizations/${props.organization}/departments/${__props.department._id}`)),
|
|
46
24
|
class: "mn-b-small w-100",
|
|
47
25
|
innerHTML: __props.department.profile.name
|
|
48
26
|
}, null, 8, _hoisted_3),
|
|
@@ -56,7 +34,7 @@ const _sfc_main = {
|
|
|
56
34
|
photo: member.user.profile.photo,
|
|
57
35
|
name: member.user.profile.name || member.user.phone || member.user.email || member.user._id,
|
|
58
36
|
position: member.position,
|
|
59
|
-
onClick: ($event) => _ctx.$router.push(
|
|
37
|
+
onClick: ($event) => _ctx.$router.push({ name: "User Profile", params: { _id: member.user._id } })
|
|
60
38
|
}, null, 8, ["user", "photo", "name", "position", "onClick"]);
|
|
61
39
|
}), 128))
|
|
62
40
|
])
|
|
@@ -65,6 +43,6 @@ const _sfc_main = {
|
|
|
65
43
|
};
|
|
66
44
|
}
|
|
67
45
|
};
|
|
68
|
-
const CardDepartment = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
46
|
+
const CardDepartment = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-d50948c2"]]);
|
|
69
47
|
exports.default = CardDepartment;
|
|
70
48
|
//# sourceMappingURL=CardDepartment.vue.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardDepartment.vue.cjs","sources":[
|
|
1
|
+
{"version":3,"file":"CardDepartment.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
|
|
1
|
+
import { createElementBlock, openBlock, createElementVNode, createCommentVNode, Fragment, renderList, createBlock } from "vue";
|
|
3
2
|
/* empty css */
|
|
4
3
|
/* empty css */
|
|
5
4
|
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
6
|
-
import _sfc_main$
|
|
5
|
+
import _sfc_main$1 from "../../../auth/views/components/blocks/CardUser.vue.js";
|
|
7
6
|
/* empty css */
|
|
8
7
|
const _hoisted_1 = { class: "" };
|
|
9
8
|
const _hoisted_2 = { class: "pd-medium w-100" };
|
|
@@ -16,45 +15,24 @@ const _sfc_main = {
|
|
|
16
15
|
organization: Object
|
|
17
16
|
},
|
|
18
17
|
setup(__props) {
|
|
19
|
-
const props = __props;
|
|
20
18
|
return (_ctx, _cache) => {
|
|
21
|
-
const _component_router_link = resolveComponent("router-link");
|
|
22
19
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
23
20
|
createElementVNode("div", _hoisted_2, [
|
|
24
|
-
createVNode(_component_router_link, {
|
|
25
|
-
to: {
|
|
26
|
-
name: "Department Edit",
|
|
27
|
-
params: {
|
|
28
|
-
_id: props.organization,
|
|
29
|
-
department: __props.department._id
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
class: "cursor-pointer pos-absolute pos-t-regular pos-r-regular radius-extra pd-thin bg-second"
|
|
33
|
-
}, {
|
|
34
|
-
default: withCtx(() => [
|
|
35
|
-
createVNode(_sfc_main$1, {
|
|
36
|
-
class: "i-regular",
|
|
37
|
-
classes: "fill-white"
|
|
38
|
-
})
|
|
39
|
-
]),
|
|
40
|
-
_: 1
|
|
41
|
-
}, 8, ["to"]),
|
|
42
21
|
createElementVNode("h3", {
|
|
43
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$router.push(`/organizations/${props.organization}/departments/${__props.department._id}`)),
|
|
44
22
|
class: "mn-b-small w-100",
|
|
45
23
|
innerHTML: __props.department.profile.name
|
|
46
24
|
}, null, 8, _hoisted_3),
|
|
47
25
|
createElementVNode("ul", null, [
|
|
48
26
|
__props.department.members.length < 1 ? (openBlock(), createElementBlock("li", _hoisted_4, "No members in department")) : createCommentVNode("", true),
|
|
49
27
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.department.members, (member, index) => {
|
|
50
|
-
return openBlock(), createBlock(_sfc_main$
|
|
28
|
+
return openBlock(), createBlock(_sfc_main$1, {
|
|
51
29
|
class: "h-4r pd-small br-solid br-1px br-black-transp-5 radius-small mn-b-thin",
|
|
52
30
|
key: index,
|
|
53
31
|
user: member.user,
|
|
54
32
|
photo: member.user.profile.photo,
|
|
55
33
|
name: member.user.profile.name || member.user.phone || member.user.email || member.user._id,
|
|
56
34
|
position: member.position,
|
|
57
|
-
onClick: ($event) => _ctx.$router.push(
|
|
35
|
+
onClick: ($event) => _ctx.$router.push({ name: "User Profile", params: { _id: member.user._id } })
|
|
58
36
|
}, null, 8, ["user", "photo", "name", "position", "onClick"]);
|
|
59
37
|
}), 128))
|
|
60
38
|
])
|
|
@@ -63,7 +41,7 @@ const _sfc_main = {
|
|
|
63
41
|
};
|
|
64
42
|
}
|
|
65
43
|
};
|
|
66
|
-
const CardDepartment = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
44
|
+
const CardDepartment = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d50948c2"]]);
|
|
67
45
|
export {
|
|
68
46
|
CardDepartment as default
|
|
69
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardDepartment.vue.js","sources":[
|
|
1
|
+
{"version":3,"file":"CardDepartment.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -87,7 +87,10 @@ const _sfc_main = {
|
|
|
87
87
|
target: "_blank",
|
|
88
88
|
class: "i-big bg-second t-white flex-nowrap flex-center flex radius-extra"
|
|
89
89
|
}, [
|
|
90
|
-
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(resolveSocialIcon(social.name)), {
|
|
90
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(resolveSocialIcon(social.name)), {
|
|
91
|
+
fill: "rgb(var(--white))",
|
|
92
|
+
class: "i-medium"
|
|
93
|
+
}))
|
|
91
94
|
], 8, _hoisted_2);
|
|
92
95
|
}), 128))
|
|
93
96
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socials.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/blocks/Socials.vue"],"sourcesContent":["<template>\n <div class=\"gap-small flex-nowrap flex\">\n <a \n v-for=\"social in socialLinks\" \n :key=\"social.name\"\n :href=\"social.href\" \n target=\"_blank\" \n class=\"i-big bg-second t-white flex-nowrap flex-center flex radius-extra\"\n >\n <component :is=\"resolveSocialIcon(social.name)\" class=\"i-medium\"></component>\n </a> \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, resolveComponent } from \"vue\";\n\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconReddit from '@martyrs/src/modules/icons/socials/reddit.vue'\nimport IconLine from '@martyrs/src/modules/icons/socials/line.vue'\nimport IconDribble from '@martyrs/src/modules/icons/socials/dribbble.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\n\n\nconst props = defineProps({\n telegram: {\n type: String,\n default: ''\n },\n facebook: {\n type: String,\n default: ''\n },\n instagram: {\n type: String,\n default: ''\n },\n twitter: {\n type: String,\n default: ''\n },\n reddit: {\n type: String,\n default: ''\n },\n line: {\n type: String,\n default: ''\n },\n dribbble: {\n type: String,\n default: ''\n },\n youtube: {\n type: String,\n default: ''\n }\n});\n\nconst socialLinks = computed(() => {\n const networks = [\n {name: 'telegram', base: 'https://t.me/'},\n {name: 'facebook', base: 'https://www.facebook.com/'},\n {name: 'instagram', base: 'https://www.instagram.com/'},\n {name: 'twitter', base: 'https://twitter.com/'},\n {name: 'reddit', base: 'https://www.reddit.com/user/'},\n {name: 'line', base: ''}, \n {name: 'dribbble', base: 'https://dribbble.com/'},\n {name: 'youtube', base: 'https://youtube.com/@'}\n ];\n\n return networks\n .filter(network => props[network.name])\n .map(network => ({ \n name: network.name, \n href: network.base + props[network.name] \n }));\n});\n\n\nfunction resolveSocialIcon(name) {\n const icons = {\n telegram: IconTelegram,\n facebook: IconFacebook,\n instagram: IconInstagram,\n twitter: IconTwitter,\n reddit: IconReddit,\n line: IconLine,\n dribbble: IconDribble,\n youtube: IconYoutube\n };\n\n return icons[name] || null;\n}\n</script>\n"],"names":["computed","IconTelegram","IconFacebook","IconInstagram","IconTwitter","IconReddit","IconLine","IconDribble","IconYoutube"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,QAAQ;AAmCd,UAAM,cAAcA,IAAAA,SAAS,MAAM;AAC/B,YAAM,WAAW;AAAA,QACb,EAAC,MAAM,YAAY,MAAM,gBAAe;AAAA,QACxC,EAAC,MAAM,YAAY,MAAM,4BAA2B;AAAA,QACpD,EAAC,MAAM,aAAa,MAAM,6BAA4B;AAAA,QACtD,EAAC,MAAM,WAAW,MAAM,uBAAsB;AAAA,QAC9C,EAAC,MAAM,UAAU,MAAM,+BAA8B;AAAA,QACrD,EAAC,MAAM,QAAQ,MAAM,GAAE;AAAA,QACvB,EAAC,MAAM,YAAY,MAAM,wBAAuB;AAAA,QAChD,EAAC,MAAM,WAAW,MAAM,wBAAuB;AAAA,MACvD;AAEI,aAAO,SACF,OAAO,aAAW,MAAM,QAAQ,IAAI,CAAC,EACrC,IAAI,cAAY;AAAA,QACb,MAAM,QAAQ;AAAA,QACd,MAAM,QAAQ,OAAO,MAAM,QAAQ,IAAI;AAAA,MACnD,EAAU;AAAA,IACV,CAAC;AAGD,aAAS,kBAAkB,MAAM;AAC7B,YAAM,QAAQ;AAAA,QACV,UAAUC,SAAAA;AAAAA,QACV,UAAUC,SAAAA;AAAAA,QACV,WAAWC,UAAAA;AAAAA,QACX,SAASC,QAAAA;AAAAA,QACT,QAAQC,OAAAA;AAAAA,QACR,MAAMC,KAAAA;AAAAA,QACN,UAAUC,SAAAA;AAAAA,QACV,SAASC,QAAAA;AAAAA,MACjB;AAEI,aAAO,MAAM,IAAI,KAAK;AAAA,IAC1B
|
|
1
|
+
{"version":3,"file":"Socials.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/blocks/Socials.vue"],"sourcesContent":["<template>\n <div class=\"gap-small flex-nowrap flex\">\n <a \n v-for=\"social in socialLinks\" \n :key=\"social.name\"\n :href=\"social.href\" \n target=\"_blank\" \n class=\"i-big bg-second t-white flex-nowrap flex-center flex radius-extra\"\n >\n <component :is=\"resolveSocialIcon(social.name)\" :fill=\"'rgb(var(--white))'\" class=\"i-medium\"></component>\n </a> \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, resolveComponent } from \"vue\";\n\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconReddit from '@martyrs/src/modules/icons/socials/reddit.vue'\nimport IconLine from '@martyrs/src/modules/icons/socials/line.vue'\nimport IconDribble from '@martyrs/src/modules/icons/socials/dribbble.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\n\n\nconst props = defineProps({\n telegram: {\n type: String,\n default: ''\n },\n facebook: {\n type: String,\n default: ''\n },\n instagram: {\n type: String,\n default: ''\n },\n twitter: {\n type: String,\n default: ''\n },\n reddit: {\n type: String,\n default: ''\n },\n line: {\n type: String,\n default: ''\n },\n dribbble: {\n type: String,\n default: ''\n },\n youtube: {\n type: String,\n default: ''\n }\n});\n\nconst socialLinks = computed(() => {\n const networks = [\n {name: 'telegram', base: 'https://t.me/'},\n {name: 'facebook', base: 'https://www.facebook.com/'},\n {name: 'instagram', base: 'https://www.instagram.com/'},\n {name: 'twitter', base: 'https://twitter.com/'},\n {name: 'reddit', base: 'https://www.reddit.com/user/'},\n {name: 'line', base: ''}, \n {name: 'dribbble', base: 'https://dribbble.com/'},\n {name: 'youtube', base: 'https://youtube.com/@'}\n ];\n\n return networks\n .filter(network => props[network.name])\n .map(network => ({ \n name: network.name, \n href: network.base + props[network.name] \n }));\n});\n\n\nfunction resolveSocialIcon(name) {\n const icons = {\n telegram: IconTelegram,\n facebook: IconFacebook,\n instagram: IconInstagram,\n twitter: IconTwitter,\n reddit: IconReddit,\n line: IconLine,\n dribbble: IconDribble,\n youtube: IconYoutube\n };\n\n return icons[name] || null;\n}\n</script>\n"],"names":["computed","IconTelegram","IconFacebook","IconInstagram","IconTwitter","IconReddit","IconLine","IconDribble","IconYoutube"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,QAAQ;AAmCd,UAAM,cAAcA,IAAAA,SAAS,MAAM;AAC/B,YAAM,WAAW;AAAA,QACb,EAAC,MAAM,YAAY,MAAM,gBAAe;AAAA,QACxC,EAAC,MAAM,YAAY,MAAM,4BAA2B;AAAA,QACpD,EAAC,MAAM,aAAa,MAAM,6BAA4B;AAAA,QACtD,EAAC,MAAM,WAAW,MAAM,uBAAsB;AAAA,QAC9C,EAAC,MAAM,UAAU,MAAM,+BAA8B;AAAA,QACrD,EAAC,MAAM,QAAQ,MAAM,GAAE;AAAA,QACvB,EAAC,MAAM,YAAY,MAAM,wBAAuB;AAAA,QAChD,EAAC,MAAM,WAAW,MAAM,wBAAuB;AAAA,MACvD;AAEI,aAAO,SACF,OAAO,aAAW,MAAM,QAAQ,IAAI,CAAC,EACrC,IAAI,cAAY;AAAA,QACb,MAAM,QAAQ;AAAA,QACd,MAAM,QAAQ,OAAO,MAAM,QAAQ,IAAI;AAAA,MACnD,EAAU;AAAA,IACV,CAAC;AAGD,aAAS,kBAAkB,MAAM;AAC7B,YAAM,QAAQ;AAAA,QACV,UAAUC,SAAAA;AAAAA,QACV,UAAUC,SAAAA;AAAAA,QACV,WAAWC,UAAAA;AAAAA,QACX,SAASC,QAAAA;AAAAA,QACT,QAAQC,OAAAA;AAAAA,QACR,MAAMC,KAAAA;AAAAA,QACN,UAAUC,SAAAA;AAAAA,QACV,SAASC,QAAAA;AAAAA,MACjB;AAEI,aAAO,MAAM,IAAI,KAAK;AAAA,IAC1B;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -85,7 +85,10 @@ const _sfc_main = {
|
|
|
85
85
|
target: "_blank",
|
|
86
86
|
class: "i-big bg-second t-white flex-nowrap flex-center flex radius-extra"
|
|
87
87
|
}, [
|
|
88
|
-
(openBlock(), createBlock(resolveDynamicComponent(resolveSocialIcon(social.name)), {
|
|
88
|
+
(openBlock(), createBlock(resolveDynamicComponent(resolveSocialIcon(social.name)), {
|
|
89
|
+
fill: "rgb(var(--white))",
|
|
90
|
+
class: "i-medium"
|
|
91
|
+
}))
|
|
89
92
|
], 8, _hoisted_2);
|
|
90
93
|
}), 128))
|
|
91
94
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socials.vue.js","sources":["../../../../../../../src/modules/organizations/components/blocks/Socials.vue"],"sourcesContent":["<template>\n <div class=\"gap-small flex-nowrap flex\">\n <a \n v-for=\"social in socialLinks\" \n :key=\"social.name\"\n :href=\"social.href\" \n target=\"_blank\" \n class=\"i-big bg-second t-white flex-nowrap flex-center flex radius-extra\"\n >\n <component :is=\"resolveSocialIcon(social.name)\" class=\"i-medium\"></component>\n </a> \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, resolveComponent } from \"vue\";\n\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconReddit from '@martyrs/src/modules/icons/socials/reddit.vue'\nimport IconLine from '@martyrs/src/modules/icons/socials/line.vue'\nimport IconDribble from '@martyrs/src/modules/icons/socials/dribbble.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\n\n\nconst props = defineProps({\n telegram: {\n type: String,\n default: ''\n },\n facebook: {\n type: String,\n default: ''\n },\n instagram: {\n type: String,\n default: ''\n },\n twitter: {\n type: String,\n default: ''\n },\n reddit: {\n type: String,\n default: ''\n },\n line: {\n type: String,\n default: ''\n },\n dribbble: {\n type: String,\n default: ''\n },\n youtube: {\n type: String,\n default: ''\n }\n});\n\nconst socialLinks = computed(() => {\n const networks = [\n {name: 'telegram', base: 'https://t.me/'},\n {name: 'facebook', base: 'https://www.facebook.com/'},\n {name: 'instagram', base: 'https://www.instagram.com/'},\n {name: 'twitter', base: 'https://twitter.com/'},\n {name: 'reddit', base: 'https://www.reddit.com/user/'},\n {name: 'line', base: ''}, \n {name: 'dribbble', base: 'https://dribbble.com/'},\n {name: 'youtube', base: 'https://youtube.com/@'}\n ];\n\n return networks\n .filter(network => props[network.name])\n .map(network => ({ \n name: network.name, \n href: network.base + props[network.name] \n }));\n});\n\n\nfunction resolveSocialIcon(name) {\n const icons = {\n telegram: IconTelegram,\n facebook: IconFacebook,\n instagram: IconInstagram,\n twitter: IconTwitter,\n reddit: IconReddit,\n line: IconLine,\n dribbble: IconDribble,\n youtube: IconYoutube\n };\n\n return icons[name] || null;\n}\n</script>\n"],"names":["IconTelegram","IconFacebook","IconInstagram","IconTwitter","IconReddit","IconLine","IconDribble","IconYoutube"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,QAAQ;AAmCd,UAAM,cAAc,SAAS,MAAM;AAC/B,YAAM,WAAW;AAAA,QACb,EAAC,MAAM,YAAY,MAAM,gBAAe;AAAA,QACxC,EAAC,MAAM,YAAY,MAAM,4BAA2B;AAAA,QACpD,EAAC,MAAM,aAAa,MAAM,6BAA4B;AAAA,QACtD,EAAC,MAAM,WAAW,MAAM,uBAAsB;AAAA,QAC9C,EAAC,MAAM,UAAU,MAAM,+BAA8B;AAAA,QACrD,EAAC,MAAM,QAAQ,MAAM,GAAE;AAAA,QACvB,EAAC,MAAM,YAAY,MAAM,wBAAuB;AAAA,QAChD,EAAC,MAAM,WAAW,MAAM,wBAAuB;AAAA,MACvD;AAEI,aAAO,SACF,OAAO,aAAW,MAAM,QAAQ,IAAI,CAAC,EACrC,IAAI,cAAY;AAAA,QACb,MAAM,QAAQ;AAAA,QACd,MAAM,QAAQ,OAAO,MAAM,QAAQ,IAAI;AAAA,MACnD,EAAU;AAAA,IACV,CAAC;AAGD,aAAS,kBAAkB,MAAM;AAC7B,YAAM,QAAQ;AAAA,QACV,UAAUA;AAAAA,QACV,UAAUC;AAAAA,QACV,WAAWC;AAAAA,QACX,SAASC;AAAAA,QACT,QAAQC;AAAAA,QACR,MAAMC;AAAAA,QACN,UAAUC;AAAAA,QACV,SAASC;AAAAA,MACjB;AAEI,aAAO,MAAM,IAAI,KAAK;AAAA,IAC1B
|
|
1
|
+
{"version":3,"file":"Socials.vue.js","sources":["../../../../../../../src/modules/organizations/components/blocks/Socials.vue"],"sourcesContent":["<template>\n <div class=\"gap-small flex-nowrap flex\">\n <a \n v-for=\"social in socialLinks\" \n :key=\"social.name\"\n :href=\"social.href\" \n target=\"_blank\" \n class=\"i-big bg-second t-white flex-nowrap flex-center flex radius-extra\"\n >\n <component :is=\"resolveSocialIcon(social.name)\" :fill=\"'rgb(var(--white))'\" class=\"i-medium\"></component>\n </a> \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, resolveComponent } from \"vue\";\n\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconReddit from '@martyrs/src/modules/icons/socials/reddit.vue'\nimport IconLine from '@martyrs/src/modules/icons/socials/line.vue'\nimport IconDribble from '@martyrs/src/modules/icons/socials/dribbble.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\n\n\nconst props = defineProps({\n telegram: {\n type: String,\n default: ''\n },\n facebook: {\n type: String,\n default: ''\n },\n instagram: {\n type: String,\n default: ''\n },\n twitter: {\n type: String,\n default: ''\n },\n reddit: {\n type: String,\n default: ''\n },\n line: {\n type: String,\n default: ''\n },\n dribbble: {\n type: String,\n default: ''\n },\n youtube: {\n type: String,\n default: ''\n }\n});\n\nconst socialLinks = computed(() => {\n const networks = [\n {name: 'telegram', base: 'https://t.me/'},\n {name: 'facebook', base: 'https://www.facebook.com/'},\n {name: 'instagram', base: 'https://www.instagram.com/'},\n {name: 'twitter', base: 'https://twitter.com/'},\n {name: 'reddit', base: 'https://www.reddit.com/user/'},\n {name: 'line', base: ''}, \n {name: 'dribbble', base: 'https://dribbble.com/'},\n {name: 'youtube', base: 'https://youtube.com/@'}\n ];\n\n return networks\n .filter(network => props[network.name])\n .map(network => ({ \n name: network.name, \n href: network.base + props[network.name] \n }));\n});\n\n\nfunction resolveSocialIcon(name) {\n const icons = {\n telegram: IconTelegram,\n facebook: IconFacebook,\n instagram: IconInstagram,\n twitter: IconTwitter,\n reddit: IconReddit,\n line: IconLine,\n dribbble: IconDribble,\n youtube: IconYoutube\n };\n\n return icons[name] || null;\n}\n</script>\n"],"names":["IconTelegram","IconFacebook","IconInstagram","IconTwitter","IconReddit","IconLine","IconDribble","IconYoutube"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,QAAQ;AAmCd,UAAM,cAAc,SAAS,MAAM;AAC/B,YAAM,WAAW;AAAA,QACb,EAAC,MAAM,YAAY,MAAM,gBAAe;AAAA,QACxC,EAAC,MAAM,YAAY,MAAM,4BAA2B;AAAA,QACpD,EAAC,MAAM,aAAa,MAAM,6BAA4B;AAAA,QACtD,EAAC,MAAM,WAAW,MAAM,uBAAsB;AAAA,QAC9C,EAAC,MAAM,UAAU,MAAM,+BAA8B;AAAA,QACrD,EAAC,MAAM,QAAQ,MAAM,GAAE;AAAA,QACvB,EAAC,MAAM,YAAY,MAAM,wBAAuB;AAAA,QAChD,EAAC,MAAM,WAAW,MAAM,wBAAuB;AAAA,MACvD;AAEI,aAAO,SACF,OAAO,aAAW,MAAM,QAAQ,IAAI,CAAC,EACrC,IAAI,cAAY;AAAA,QACb,MAAM,QAAQ;AAAA,QACd,MAAM,QAAQ,OAAO,MAAM,QAAQ,IAAI;AAAA,MACnD,EAAU;AAAA,IACV,CAAC;AAGD,aAAS,kBAAkB,MAAM;AAC7B,YAAM,QAAQ;AAAA,QACV,UAAUA;AAAAA,QACV,UAAUC;AAAAA,QACV,WAAWC;AAAAA,QACX,SAASC;AAAAA,QACT,QAAQC;AAAAA,QACR,MAAMC;AAAAA,QACN,UAAUC;AAAAA,QACV,SAASC;AAAAA,MACjB;AAEI,aAAO,MAAM,IAAI,KAAK;AAAA,IAC1B;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const Button = require("../../../../components/Button/Button.vue.cjs");
|
|
5
5
|
require("../../../auth/views/store/auth.cjs");
|
|
6
|
-
const
|
|
6
|
+
const memberships_store = require("../../store/memberships.store.cjs");
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
__name: "ButtonToggleMembership",
|
|
9
9
|
props: {
|
|
@@ -54,7 +54,7 @@ const _sfc_main = {
|
|
|
54
54
|
role: props.role,
|
|
55
55
|
target: props.target
|
|
56
56
|
};
|
|
57
|
-
const response = await
|
|
57
|
+
const response = await memberships_store.default.create(membershipData);
|
|
58
58
|
emits("updateMembership", {
|
|
59
59
|
membership: response,
|
|
60
60
|
target: props.target,
|
|
@@ -73,7 +73,7 @@ const _sfc_main = {
|
|
|
73
73
|
target: props.target
|
|
74
74
|
};
|
|
75
75
|
try {
|
|
76
|
-
const response = await
|
|
76
|
+
const response = await memberships_store.default.delete(membershipData);
|
|
77
77
|
emits("updateMembership", {
|
|
78
78
|
membership: response,
|
|
79
79
|
target: props.target,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonToggleMembership.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/elements/ButtonToggleMembership.vue"],"sourcesContent":["<template>\n <Button\n :submit=\"toggleMembership\"\n :showSucces=\"false\"\n class=\"bg-main button-small button\"\n >\n {{ !status ? props.text.create : props.text.remove }}\n</Button>\n</template>\n\n<script setup>\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n \n import { ref } from 'vue'\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import
|
|
1
|
+
{"version":3,"file":"ButtonToggleMembership.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/elements/ButtonToggleMembership.vue"],"sourcesContent":["<template>\n <Button\n :submit=\"toggleMembership\"\n :showSucces=\"false\"\n class=\"bg-main button-small button\"\n >\n {{ !status ? props.text.create : props.text.remove }}\n</Button>\n</template>\n\n<script setup>\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n \n import { ref } from 'vue'\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\n\n const emits = defineEmits(['updateMembership'])\n\n const props = defineProps({\n user: {\n type: String,\n required: true\n },\n type: {\n type: String,\n required: true\n },\n role: {\n type: String,\n required: false\n },\n target: {\n type: String,\n required: true\n },\n text: {\n type: Object,\n default: {\n create: 'join',\n remove: 'leave'\n }\n },\n status: {\n type: Boolean,\n required: true\n }\n });\n\n const toggleMembership = async () => {\n if (!props.status) {\n await createMembership();\n } else {\n await removeMembership();\n }\n }\n\n async function createMembership() {\n try {\n const membershipData = {\n user: props.user,\n type: props.type,\n role: props.role,\n target: props.target\n };\n\n const response = await membershipsStore.create(membershipData);\n\n emits('updateMembership', { \n membership: response, \n target: props.target, \n status: true,\n });\n } catch (error) {\n console.log(error)\n throw error;\n }\n }\n\n async function removeMembership(targetId) {\n const membershipData = {\n user: props.user,\n type: props.type,\n role: props.role,\n target: props.target\n };\n\n try {\n const response = await membershipsStore.delete(membershipData);\n\n emits('updateMembership', {\n membership: response, \n target: props.target, \n status: false,\n });\n } catch (error) {\n console.log(error)\n throw error;\n }\n }\n</script>"],"names":["membershipsStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBE,UAAM,QAAQ;AAEd,UAAM,QAAQ;AA8Bd,UAAM,mBAAmB,YAAY;AACnC,UAAI,CAAC,MAAM,QAAQ;AACjB,cAAM,iBAAgB;AAAA,MACxB,OAAO;AACL,cAAM,iBAAgB;AAAA,MACxB;AAAA,IACF;AAEA,mBAAe,mBAAmB;AAChC,UAAI;AACF,cAAM,iBAAiB;AAAA,UACrB,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,UACZ,QAAQ,MAAM;AAAA,QACtB;AAEM,cAAM,WAAW,MAAMA,0BAAiB,OAAO,cAAc;AAE7D,cAAM,oBAAoB;AAAA,UACxB,YAAY;AAAA,UACZ,QAAQ,MAAM;AAAA,UACd,QAAQ;AAAA,QAChB,CAAO;AAAA,MACH,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjB,cAAM;AAAA,MACR;AAAA,IACF;AAEA,mBAAe,iBAAiB,UAAU;AACxC,YAAM,iBAAiB;AAAA,QACrB,MAAM,MAAM;AAAA,QACZ,MAAM,MAAM;AAAA,QACZ,MAAM,MAAM;AAAA,QACZ,QAAQ,MAAM;AAAA,MACpB;AAEI,UAAI;AACF,cAAM,WAAW,MAAMA,0BAAiB,OAAO,cAAc;AAE7D,cAAM,oBAAoB;AAAA,UACxB,YAAY;AAAA,UACZ,QAAQ,MAAM;AAAA,UACd,QAAQ;AAAA,QAChB,CAAO;AAAA,MACH,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjB,cAAM;AAAA,MACT;AAAA,IACF;;;;;;;;;;;;;;;;"}
|
package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createBlock, openBlock, withCtx, createTextVNode, toDisplayString } from "vue";
|
|
2
2
|
import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
|
|
3
3
|
import "../../../auth/views/store/auth.js";
|
|
4
|
-
import
|
|
4
|
+
import membershipsStore from "../../store/memberships.store.js";
|
|
5
5
|
const _sfc_main = {
|
|
6
6
|
__name: "ButtonToggleMembership",
|
|
7
7
|
props: {
|
|
@@ -52,7 +52,7 @@ const _sfc_main = {
|
|
|
52
52
|
role: props.role,
|
|
53
53
|
target: props.target
|
|
54
54
|
};
|
|
55
|
-
const response = await
|
|
55
|
+
const response = await membershipsStore.create(membershipData);
|
|
56
56
|
emits("updateMembership", {
|
|
57
57
|
membership: response,
|
|
58
58
|
target: props.target,
|
|
@@ -71,7 +71,7 @@ const _sfc_main = {
|
|
|
71
71
|
target: props.target
|
|
72
72
|
};
|
|
73
73
|
try {
|
|
74
|
-
const response = await
|
|
74
|
+
const response = await membershipsStore.delete(membershipData);
|
|
75
75
|
emits("updateMembership", {
|
|
76
76
|
membership: response,
|
|
77
77
|
target: props.target,
|
package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonToggleMembership.vue.js","sources":["../../../../../../../src/modules/organizations/components/elements/ButtonToggleMembership.vue"],"sourcesContent":["<template>\n <Button\n :submit=\"toggleMembership\"\n :showSucces=\"false\"\n class=\"bg-main button-small button\"\n >\n {{ !status ? props.text.create : props.text.remove }}\n</Button>\n</template>\n\n<script setup>\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n \n import { ref } from 'vue'\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import
|
|
1
|
+
{"version":3,"file":"ButtonToggleMembership.vue.js","sources":["../../../../../../../src/modules/organizations/components/elements/ButtonToggleMembership.vue"],"sourcesContent":["<template>\n <Button\n :submit=\"toggleMembership\"\n :showSucces=\"false\"\n class=\"bg-main button-small button\"\n >\n {{ !status ? props.text.create : props.text.remove }}\n</Button>\n</template>\n\n<script setup>\n import Button from \"@martyrs/src/components/Button/Button.vue\";\n \n import { ref } from 'vue'\n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\n\n const emits = defineEmits(['updateMembership'])\n\n const props = defineProps({\n user: {\n type: String,\n required: true\n },\n type: {\n type: String,\n required: true\n },\n role: {\n type: String,\n required: false\n },\n target: {\n type: String,\n required: true\n },\n text: {\n type: Object,\n default: {\n create: 'join',\n remove: 'leave'\n }\n },\n status: {\n type: Boolean,\n required: true\n }\n });\n\n const toggleMembership = async () => {\n if (!props.status) {\n await createMembership();\n } else {\n await removeMembership();\n }\n }\n\n async function createMembership() {\n try {\n const membershipData = {\n user: props.user,\n type: props.type,\n role: props.role,\n target: props.target\n };\n\n const response = await membershipsStore.create(membershipData);\n\n emits('updateMembership', { \n membership: response, \n target: props.target, \n status: true,\n });\n } catch (error) {\n console.log(error)\n throw error;\n }\n }\n\n async function removeMembership(targetId) {\n const membershipData = {\n user: props.user,\n type: props.type,\n role: props.role,\n target: props.target\n };\n\n try {\n const response = await membershipsStore.delete(membershipData);\n\n emits('updateMembership', {\n membership: response, \n target: props.target, \n status: false,\n });\n } catch (error) {\n console.log(error)\n throw error;\n }\n }\n</script>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBE,UAAM,QAAQ;AAEd,UAAM,QAAQ;AA8Bd,UAAM,mBAAmB,YAAY;AACnC,UAAI,CAAC,MAAM,QAAQ;AACjB,cAAM,iBAAgB;AAAA,MACxB,OAAO;AACL,cAAM,iBAAgB;AAAA,MACxB;AAAA,IACF;AAEA,mBAAe,mBAAmB;AAChC,UAAI;AACF,cAAM,iBAAiB;AAAA,UACrB,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,UACZ,MAAM,MAAM;AAAA,UACZ,QAAQ,MAAM;AAAA,QACtB;AAEM,cAAM,WAAW,MAAM,iBAAiB,OAAO,cAAc;AAE7D,cAAM,oBAAoB;AAAA,UACxB,YAAY;AAAA,UACZ,QAAQ,MAAM;AAAA,UACd,QAAQ;AAAA,QAChB,CAAO;AAAA,MACH,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjB,cAAM;AAAA,MACR;AAAA,IACF;AAEA,mBAAe,iBAAiB,UAAU;AACxC,YAAM,iBAAiB;AAAA,QACrB,MAAM,MAAM;AAAA,QACZ,MAAM,MAAM;AAAA,QACZ,MAAM,MAAM;AAAA,QACZ,QAAQ,MAAM;AAAA,MACpB;AAEI,UAAI;AACF,cAAM,WAAW,MAAM,iBAAiB,OAAO,cAAc;AAE7D,cAAM,oBAAoB;AAAA,UACxB,YAAY;AAAA,UACZ,QAAQ,MAAM;AAAA,UACd,QAAQ;AAAA,QAChB,CAAO;AAAA,MACH,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjB,cAAM;AAAA,MACT;AAAA,IACF;;;;;;;;;;;;;;;"}
|
package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const Button = require("../../../../components/Button/Button.vue.cjs");
|
|
5
|
+
const Feed = require("../../../../components/Feed/Feed.vue.cjs");
|
|
6
|
+
const PlaceholderUserpic = require("../../../icons/placeholders/PlaceholderUserpic.vue.cjs");
|
|
7
|
+
const IconCheck = require("../../../icons/navigation/IconCheck.vue.cjs");
|
|
8
|
+
const users = require("../../../auth/views/store/users.cjs");
|
|
9
|
+
const memberships_store = require("../../store/memberships.store.cjs");
|
|
10
|
+
const globals = require("../../../globals/views/store/globals.cjs");
|
|
11
|
+
const _hoisted_1 = ["onClick"];
|
|
12
|
+
const _hoisted_2 = { class: "flex-nowrap flex-v-center flex gap-thin" };
|
|
13
|
+
const _hoisted_3 = { class: "aspect-1x1 h-3r flex-child-default radius-small o-hidden" };
|
|
14
|
+
const _hoisted_4 = ["src"];
|
|
15
|
+
const _hoisted_5 = { class: "w-100" };
|
|
16
|
+
const _hoisted_6 = { class: "t-medium" };
|
|
17
|
+
const _hoisted_7 = { class: "t-small t-transp" };
|
|
18
|
+
const _hoisted_8 = {
|
|
19
|
+
key: 0,
|
|
20
|
+
class: "pd-nano pd-h-thin radius-thin bg-grey"
|
|
21
|
+
};
|
|
22
|
+
const _hoisted_9 = {
|
|
23
|
+
key: 1,
|
|
24
|
+
class: "pd-nano pd-h-thin radius-thin bg-green"
|
|
25
|
+
};
|
|
26
|
+
const _hoisted_10 = {
|
|
27
|
+
key: 0,
|
|
28
|
+
class: "mn-b-thin"
|
|
29
|
+
};
|
|
30
|
+
const _hoisted_11 = { class: "t-small t-transp" };
|
|
31
|
+
const _sfc_main = {
|
|
32
|
+
__name: "AddExistingMembersForm",
|
|
33
|
+
props: {
|
|
34
|
+
organizationId: {
|
|
35
|
+
type: String,
|
|
36
|
+
required: true
|
|
37
|
+
},
|
|
38
|
+
existingMembers: {
|
|
39
|
+
type: Array,
|
|
40
|
+
default: () => []
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
emits: ["users-added"],
|
|
44
|
+
setup(__props, { emit: __emit }) {
|
|
45
|
+
const props = __props;
|
|
46
|
+
const emit = __emit;
|
|
47
|
+
const selectedUsers = vue.ref([]);
|
|
48
|
+
const organizationMembers = vue.ref([]);
|
|
49
|
+
function isUserInOrganization(user) {
|
|
50
|
+
return organizationMembers.value.some(
|
|
51
|
+
(member) => member.user._id === user._id || member.user === user._id
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
function isUserSelected(user) {
|
|
55
|
+
return selectedUsers.value.some((selected) => selected._id === user._id);
|
|
56
|
+
}
|
|
57
|
+
function getUserCardClass(user) {
|
|
58
|
+
if (isUserInOrganization(user)) {
|
|
59
|
+
return "bg-grey opacity-60 cursor-not-allowed";
|
|
60
|
+
}
|
|
61
|
+
if (isUserSelected(user)) {
|
|
62
|
+
return "bg-green-light";
|
|
63
|
+
}
|
|
64
|
+
return "bg-white hover-bg-light";
|
|
65
|
+
}
|
|
66
|
+
function toggleUserSelection(user) {
|
|
67
|
+
if (isUserInOrganization(user)) {
|
|
68
|
+
globals.actions.setError({ message: "This user is already a member of the organization" });
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const index = selectedUsers.value.findIndex((u) => u._id === user._id);
|
|
72
|
+
if (index > -1) {
|
|
73
|
+
selectedUsers.value.splice(index, 1);
|
|
74
|
+
} else {
|
|
75
|
+
selectedUsers.value.push(user);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async function fetchFilteredUsers(options) {
|
|
79
|
+
try {
|
|
80
|
+
const membersResponse = await memberships_store.default.read({
|
|
81
|
+
target: props.organizationId,
|
|
82
|
+
role: ["member", "owner"]
|
|
83
|
+
});
|
|
84
|
+
organizationMembers.value = membersResponse || [];
|
|
85
|
+
const usersResponse = await users.actions.read(options);
|
|
86
|
+
return usersResponse;
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.error("Error fetching users:", error);
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async function addSelectedUsers() {
|
|
93
|
+
if (selectedUsers.value.length === 0) return;
|
|
94
|
+
try {
|
|
95
|
+
const promises = selectedUsers.value.map(
|
|
96
|
+
(user) => memberships_store.default.create({
|
|
97
|
+
user: user._id,
|
|
98
|
+
type: "organization",
|
|
99
|
+
target: props.organizationId,
|
|
100
|
+
role: "member",
|
|
101
|
+
label: "member"
|
|
102
|
+
})
|
|
103
|
+
);
|
|
104
|
+
const results = await Promise.all(promises);
|
|
105
|
+
emit("users-added", results);
|
|
106
|
+
selectedUsers.value = [];
|
|
107
|
+
globals.actions.setSuccess({
|
|
108
|
+
message: `Successfully added ${results.length} user(s) to the organization`
|
|
109
|
+
});
|
|
110
|
+
} catch (error) {
|
|
111
|
+
console.error("Error adding users:", error);
|
|
112
|
+
globals.actions.setError(error);
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return (_ctx, _cache) => {
|
|
117
|
+
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
118
|
+
_cache[1] || (_cache[1] = vue.createElementVNode("p", { class: "mn-b-thin t-transp p-medium" }, "Select users to add to the organization:", -1)),
|
|
119
|
+
vue.createVNode(Feed.default, {
|
|
120
|
+
search: {
|
|
121
|
+
placeholder: "Search users...",
|
|
122
|
+
class: "bg-light mn-b-thin"
|
|
123
|
+
},
|
|
124
|
+
states: {
|
|
125
|
+
empty: {
|
|
126
|
+
title: "No Users Found",
|
|
127
|
+
description: "No users match your search criteria."
|
|
128
|
+
},
|
|
129
|
+
loading: {
|
|
130
|
+
title: "Loading users..."
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
store: {
|
|
134
|
+
read: (options) => fetchFilteredUsers(options),
|
|
135
|
+
state: null
|
|
136
|
+
},
|
|
137
|
+
options: {},
|
|
138
|
+
class: "bg-light pd-medium radius-medium h-max-30r o-scroll mn-b-thin"
|
|
139
|
+
}, {
|
|
140
|
+
default: vue.withCtx(({ items }) => [
|
|
141
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (user) => {
|
|
142
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
143
|
+
key: user._id,
|
|
144
|
+
onClick: () => toggleUserSelection(user),
|
|
145
|
+
class: vue.normalizeClass(["pd-thin radius-medium w-100 mn-b-thin cursor-pointer hover-scale-1", getUserCardClass(user)])
|
|
146
|
+
}, [
|
|
147
|
+
vue.createElementVNode("div", _hoisted_2, [
|
|
148
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
149
|
+
user.profile?.photo ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
150
|
+
key: 0,
|
|
151
|
+
src: user.profile.photo,
|
|
152
|
+
alt: "User photo",
|
|
153
|
+
class: "w-100 h-100 object-fit-cover"
|
|
154
|
+
}, null, 8, _hoisted_4)) : (vue.openBlock(), vue.createBlock(PlaceholderUserpic.default, {
|
|
155
|
+
key: 1,
|
|
156
|
+
class: "w-100 h-100"
|
|
157
|
+
}))
|
|
158
|
+
]),
|
|
159
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
160
|
+
vue.createElementVNode("p", _hoisted_6, vue.toDisplayString(user.profile?.name || user.phone || user.email || "Unnamed user"), 1),
|
|
161
|
+
vue.createElementVNode("p", _hoisted_7, vue.toDisplayString(user.email || user.phone || "No contact info"), 1)
|
|
162
|
+
]),
|
|
163
|
+
isUserInOrganization(user) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8, _cache[0] || (_cache[0] = [
|
|
164
|
+
vue.createElementVNode("span", { class: "t-small" }, "Already member", -1)
|
|
165
|
+
]))) : isUserSelected(user) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
|
|
166
|
+
vue.createVNode(IconCheck.default, {
|
|
167
|
+
class: "i-small",
|
|
168
|
+
fill: "rgb(var(--white))"
|
|
169
|
+
})
|
|
170
|
+
])) : vue.createCommentVNode("", true)
|
|
171
|
+
])
|
|
172
|
+
], 10, _hoisted_1);
|
|
173
|
+
}), 128))
|
|
174
|
+
]),
|
|
175
|
+
_: 1
|
|
176
|
+
}, 8, ["store"]),
|
|
177
|
+
selectedUsers.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10, [
|
|
178
|
+
vue.createElementVNode("p", _hoisted_11, "Selected: " + vue.toDisplayString(selectedUsers.value.length) + " user(s)", 1)
|
|
179
|
+
])) : vue.createCommentVNode("", true),
|
|
180
|
+
vue.createVNode(Button.default, {
|
|
181
|
+
submit: addSelectedUsers,
|
|
182
|
+
disabled: selectedUsers.value.length === 0,
|
|
183
|
+
class: "w-100 bg-main"
|
|
184
|
+
}, {
|
|
185
|
+
default: vue.withCtx(() => [
|
|
186
|
+
vue.createTextVNode(" Add " + vue.toDisplayString(selectedUsers.value.length) + " user(s) to organization ", 1)
|
|
187
|
+
]),
|
|
188
|
+
_: 1
|
|
189
|
+
}, 8, ["disabled"])
|
|
190
|
+
]);
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
exports.default = _sfc_main;
|
|
195
|
+
//# sourceMappingURL=AddExistingMembersForm.vue.cjs.map
|