@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
|
@@ -3,8 +3,8 @@ import { ref, onMounted, createElementBlock, openBlock, createElementVNode, crea
|
|
|
3
3
|
import Field from "../../../../../components/Field/Field.vue.js";
|
|
4
4
|
import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
|
|
5
5
|
import { useRoute, useRouter } from "vue-router";
|
|
6
|
-
import { state, actions
|
|
7
|
-
import
|
|
6
|
+
import { state, actions } from "../../store/auth.js";
|
|
7
|
+
import invitesStore from "../../../../organizations/store/invites.store.js";
|
|
8
8
|
import { validateInputs, validatePassword } from "../../validations/inputs.validation.js";
|
|
9
9
|
/* empty css */
|
|
10
10
|
const _hoisted_1 = { class: "t-left pd-medium" };
|
|
@@ -16,7 +16,7 @@ const _sfc_main = {
|
|
|
16
16
|
const route = useRoute();
|
|
17
17
|
const router = useRouter();
|
|
18
18
|
onMounted(async () => {
|
|
19
|
-
await
|
|
19
|
+
await invitesStore.read({ code: route.query.inviteCode });
|
|
20
20
|
});
|
|
21
21
|
async function onSubmit() {
|
|
22
22
|
try {
|
|
@@ -30,7 +30,7 @@ const _sfc_main = {
|
|
|
30
30
|
throw new Error();
|
|
31
31
|
}
|
|
32
32
|
try {
|
|
33
|
-
await actions
|
|
33
|
+
await actions.signup(state.user, route.query.type, route.query.inviteCode);
|
|
34
34
|
} catch (err) {
|
|
35
35
|
console.log(err);
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Invite.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/Invite.vue"],"sourcesContent":["<template>\n\t<section class=\"t-left pd-medium\">\n\t\t<!-- Header -->\n\t\t<h3 class=\"mn-b-small\">You have been invited to the organization</h3>\n\t\t<p class=\"mn-b-semi t-transp\">Please provide a password to complete the registration.</p>\n\t\t\n\t\t<!-- Form -->\n\t\t<div class=\"mn-b-semi radius-small o-hidden\">\n\t\t\t<Field \n\t\t\t\tv-model:field=\"auth.state.user.password\"\n\t\t\t\ttype=\"password\" \t\n\t\t\t\t:validation=\"passswordValidation\" \n\t\t\t\tlabel=\"Password\"\t\t\n\t\t\t\tplaceholder=\"******\" \n\t\t\t\tclass=\"mn-b-thin bg-light pd-medium radius-small\" \n\t\t\t/>\n\t\t\t<Field \n\t\t\t\tv-model:field=\"auth.state.user.passwordRepeat\"\n\t\t\t\ttype=\"password\" \t\n\t\t\t\tlabel=\"Repeat Password\"\t\t\n\t\t\t\tplaceholder=\"******\" \n\t\t\t\tclass=\"bg-light pd-medium radius-small\" \n\t\t\t\t\n\t\t\t/>\n\t\t</div>\n\t\t<!-- Button -->\n\t\t<Button \n\t\t\t:submit=\"onSubmit\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"w-100 bg-main mn-b-big\">\n\t\t\t<span>Join</span>\n\t\t</Button>\n\t</section> \n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import libs\nimport { computed, onMounted, ref, onBeforeMount } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n// Import state\nimport * as auth \t\tfrom '@martyrs/src/modules/auth/views/store/auth.js'\nimport
|
|
1
|
+
{"version":3,"file":"Invite.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/Invite.vue"],"sourcesContent":["<template>\n\t<section class=\"t-left pd-medium\">\n\t\t<!-- Header -->\n\t\t<h3 class=\"mn-b-small\">You have been invited to the organization</h3>\n\t\t<p class=\"mn-b-semi t-transp\">Please provide a password to complete the registration.</p>\n\t\t\n\t\t<!-- Form -->\n\t\t<div class=\"mn-b-semi radius-small o-hidden\">\n\t\t\t<Field \n\t\t\t\tv-model:field=\"auth.state.user.password\"\n\t\t\t\ttype=\"password\" \t\n\t\t\t\t:validation=\"passswordValidation\" \n\t\t\t\tlabel=\"Password\"\t\t\n\t\t\t\tplaceholder=\"******\" \n\t\t\t\tclass=\"mn-b-thin bg-light pd-medium radius-small\" \n\t\t\t/>\n\t\t\t<Field \n\t\t\t\tv-model:field=\"auth.state.user.passwordRepeat\"\n\t\t\t\ttype=\"password\" \t\n\t\t\t\tlabel=\"Repeat Password\"\t\t\n\t\t\t\tplaceholder=\"******\" \n\t\t\t\tclass=\"bg-light pd-medium radius-small\" \n\t\t\t\t\n\t\t\t/>\n\t\t</div>\n\t\t<!-- Button -->\n\t\t<Button \n\t\t\t:submit=\"onSubmit\" \n\t\t\t:callback=\"redirectTo\" \n\t\t\tclass=\"w-100 bg-main mn-b-big\">\n\t\t\t<span>Join</span>\n\t\t</Button>\n\t</section> \n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import libs\nimport { computed, onMounted, ref, onBeforeMount } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n// Import state\nimport * as auth \t\tfrom '@martyrs/src/modules/auth/views/store/auth.js'\nimport invitesStore from '@martyrs/src/modules/organizations/store/invites.store.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\nconst passswordValidation = ref(null)\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Lifecycles\nonMounted(async () => {\n\tawait invitesStore.read({ code: route.query.inviteCode })\n})\n// Methods\nasync function onSubmit() {\n\ttry {\n\t\tawait inputsValidation.validateInputs(\n\t\t\tpassswordValidation, \n\t\t\tinputsValidation.validatePassword, \n\t\t\tauth.state.user.password, \n\t\t\t'Некорректный пароль'\n\t\t)\n\t} catch (error) {\n\t\tthrow new Error\n\t}\n\ttry {\n\t\tawait auth.actions.signup(auth.state.user, route.query.type, route.query.inviteCode)\n\t} catch (err) {\n\t\tconsole.log(err)\n\t}\n}\n\nfunction redirectTo () {\n\trouter.push({ name: 'User Profile', \n\t\tparams: { \n\t\t\t_id: auth.state.user._id \n\t\t},\n\t\tquery: { \n\t\t\tafterAuth: 'true' \n\t\t}})\n}\n</script>\n\n<style lang=\"scss\">\n\t.slide-fade-enter-active {\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t.slide-fade-leave-active {\n\t transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n\n\t}\n\n\t.slide-fade-enter-from,\n\t.slide-fade-leave-to {\n\t\tposition: absolute;\n\t transform: translateX(20px);\n\t opacity: 0;\n\t left: 0;\n\t top: 0;\n\t}\n\n\t.slide-fade-leave-to {\n\n\t}\n</style>\n"],"names":["inputsValidation.validateInputs","inputsValidation.validatePassword","auth.state","auth.actions"],"mappings":";;;;;;;;;;;;;;AAgDA,UAAM,sBAAsB,IAAI,IAAI;AAEpC,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,cAAU,YAAY;AACrB,YAAM,aAAa,KAAK,EAAE,MAAM,MAAM,MAAM,WAAU,CAAE;AAAA,IACzD,CAAC;AAED,mBAAe,WAAW;AACzB,UAAI;AACH,cAAMA;AAAAA,UACL;AAAA,UACAC;AAAAA,UACAC,MAAW,KAAK;AAAA,UAChB;AAAA,QACH;AAAA,MACC,SAAS,OAAO;AACf,cAAM,IAAI;AAAA,MACX;AACA,UAAI;AACH,cAAMC,QAAa,OAAOD,MAAW,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,UAAU;AAAA,MACpF,SAAS,KAAK;AACb,gBAAQ,IAAI,GAAG;AAAA,MAChB;AAAA,IACD;AAEA,aAAS,aAAc;AACtB,aAAO,KAAK;AAAA,QAAE,MAAM;AAAA,QACnB,QAAQ;AAAA,UACP,KAAKA,MAAW,KAAK;AAAA,QACxB;AAAA,QACE,OAAO;AAAA,UACN,WAAW;AAAA,QACd;AAAA,MAAG,CAAC;AAAA,IACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -19,7 +19,8 @@ const PlaceholderUserpic = require("../../../../icons/placeholders/PlaceholderUs
|
|
|
19
19
|
const vueRouter = require("vue-router");
|
|
20
20
|
const auth = require("../../store/auth.cjs");
|
|
21
21
|
const users = require("../../store/users.cjs");
|
|
22
|
-
const
|
|
22
|
+
const memberships_store = require("../../../../organizations/store/memberships.store.cjs");
|
|
23
|
+
const mixins = require("../../../../globals/views/mixins/mixins.cjs");
|
|
23
24
|
require("./Profile.vue2.cjs");
|
|
24
25
|
const _hoisted_1 = {
|
|
25
26
|
key: 0,
|
|
@@ -55,22 +56,26 @@ const _sfc_main = {
|
|
|
55
56
|
const route = vueRouter.useRoute();
|
|
56
57
|
const router = vueRouter.useRouter();
|
|
57
58
|
const show = vue.ref(false);
|
|
58
|
-
|
|
59
|
-
const
|
|
59
|
+
vue.inject("store");
|
|
60
|
+
const { isModuleInstalled } = mixins.useGlobalMixins();
|
|
61
|
+
const modules = {
|
|
60
62
|
events: {
|
|
61
63
|
displayName: "Events",
|
|
62
64
|
route: "User Events",
|
|
63
|
-
icon: IconEvents.default
|
|
65
|
+
icon: IconEvents.default,
|
|
66
|
+
visible: () => true
|
|
64
67
|
},
|
|
65
68
|
organizations: {
|
|
66
69
|
displayName: "Groups",
|
|
67
70
|
route: "User Organizations",
|
|
68
|
-
icon: IconGroups.default
|
|
71
|
+
icon: IconGroups.default,
|
|
72
|
+
visible: () => true
|
|
69
73
|
},
|
|
70
74
|
blogposts: {
|
|
71
75
|
displayName: "Posts",
|
|
72
76
|
route: "User Posts",
|
|
73
|
-
icon: IconCommunity.default
|
|
77
|
+
icon: IconCommunity.default,
|
|
78
|
+
visible: () => true
|
|
74
79
|
},
|
|
75
80
|
orders: {
|
|
76
81
|
displayName: "Orders",
|
|
@@ -79,26 +84,12 @@ const _sfc_main = {
|
|
|
79
84
|
visible: (auth2) => auth2.state.user && (auth2.state.user._id === route.params._id || auth2.state.access && auth2.state.access.roles && (auth2.state.access.roles.includes("ROLE_MODERATOR") || auth2.state.access.roles.includes("ROLE_ADMIN")))
|
|
80
85
|
}
|
|
81
86
|
};
|
|
82
|
-
const filteredModules = vue.computed(() => {
|
|
83
|
-
return store.modules.map((moduleName) => {
|
|
84
|
-
return {
|
|
85
|
-
name: moduleName,
|
|
86
|
-
...moduleMapping[moduleName]
|
|
87
|
-
};
|
|
88
|
-
}).filter((module2) => {
|
|
89
|
-
if (!moduleMapping[module2.name]) return false;
|
|
90
|
-
if (module2.visible && typeof module2.visible === "function") {
|
|
91
|
-
return module2.visible(auth);
|
|
92
|
-
}
|
|
93
|
-
return true;
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
87
|
vue.onMounted(async () => {
|
|
97
88
|
await users.actions.read({ _id: route.params._id, user: auth.state.user._id });
|
|
98
89
|
show.value = true;
|
|
99
90
|
});
|
|
100
91
|
const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
|
|
101
|
-
|
|
92
|
+
memberships_store.default.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber);
|
|
102
93
|
};
|
|
103
94
|
function logout() {
|
|
104
95
|
auth.actions.logout();
|
|
@@ -195,39 +186,38 @@ const _sfc_main = {
|
|
|
195
186
|
}, null, 8, ["telegram", "facebook", "instagram", "twitter"])
|
|
196
187
|
]),
|
|
197
188
|
vue.createVNode(_component_RouterView),
|
|
198
|
-
|
|
199
|
-
key: 0,
|
|
200
|
-
class: "mn-b-regular bg-light"
|
|
201
|
-
}, {
|
|
189
|
+
vue.createVNode(Menu.default, { class: "mn-b-regular bg-light" }, {
|
|
202
190
|
default: vue.withCtx(() => [
|
|
203
|
-
(vue.openBlock(
|
|
204
|
-
return vue.openBlock(), vue.
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
191
|
+
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(modules, (module2, moduleName) => {
|
|
192
|
+
return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: moduleName }, [
|
|
193
|
+
vue.unref(isModuleInstalled)(moduleName) && (!module2.visible || module2.visible(auth)) ? (vue.openBlock(), vue.createBlock(MenuItem.default, {
|
|
194
|
+
key: 0,
|
|
195
|
+
onClick: ($event) => vue.unref(router).push({
|
|
196
|
+
name: `${module2.route}`,
|
|
197
|
+
params: {
|
|
198
|
+
_id: vue.unref(route).params._id,
|
|
199
|
+
user: vue.unref(route).params._id
|
|
200
|
+
}
|
|
201
|
+
}),
|
|
202
|
+
class: "profile-menu-item cursor-pointer"
|
|
203
|
+
}, {
|
|
204
|
+
default: vue.withCtx(() => [
|
|
205
|
+
module2.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(module2.icon), {
|
|
206
|
+
key: 0,
|
|
207
|
+
class: "i-semi",
|
|
208
|
+
icon: true
|
|
209
|
+
})) : vue.createCommentVNode("", true),
|
|
210
|
+
vue.createElementVNode("span", null, vue.toDisplayString(module2.displayName), 1)
|
|
211
|
+
]),
|
|
212
|
+
_: 2
|
|
213
|
+
}, 1032, ["onClick"])) : vue.createCommentVNode("", true)
|
|
214
|
+
], 64);
|
|
215
|
+
}), 64))
|
|
226
216
|
]),
|
|
227
217
|
_: 1
|
|
228
|
-
})
|
|
218
|
+
}),
|
|
229
219
|
auth.state.user._id === vue.unref(route).params._id ? (vue.openBlock(), vue.createBlock(Menu.default, {
|
|
230
|
-
key:
|
|
220
|
+
key: 0,
|
|
231
221
|
class: "bg-light"
|
|
232
222
|
}, {
|
|
233
223
|
default: vue.withCtx(() => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/Profile.vue"],"sourcesContent":["<template>\n\t<div \n\t\tv-if=\"show\"\n\t\tclass=\"for-transition bg-white w-100\"\n\t>\n\t\t<div \n\t\t\tv-if=\"users.state.current?.status === 'removed'\"\n\t\t\tclass=\"flex-center flex pd-medium radius-big bg-light uppercase t-semi w-100 h-100\"\n\t\t>\n\t\t\tSorry, user has been removed.\n\t\t</div>\n\n\t\t<div \n\t\t\tv-else\n\t\t\t_id=\"dash\" \n\t\t\tclass=\"pd-thin w-100\"\n\t\t>\n\t\t\t<!-- <Completion \n\t\t\t\tv-if=\"route.params._id === auth.state.user._id && show\" \n\t\t :user=\"auth.state.user._id\"\n\t\t :target=\"users.state.current\"\n\t\t :cta=\"false\" \n\t\t text_cta=\"Fill\"\n\t\t text=\"Profile completed at\"\n\t\t class=\"mn-b-medium mn-b-regular pd-medium radius-semi t-white bg-second\"\n\t\t\t/> -->\n\n\t\t\t<section \n\t\t\t\tclass=\"flex-center pos-relative flex flex-column t-center w-100 mn-b-regular radius-medium pd-medium bg-light\"\n\t\t\t>\n\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"route.params._id && route.params._id !== auth.state.user._id\"\n\t\t\t\t\t:label=\"'...'\" \n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra \"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\t:user=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:type=\"'user'\" \n\t\t\t\t\t\t\t:target=\"users.state.current._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<ButtonToggleMembership\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t :user=\"auth.state.user._id\"\n\t\t\t\t :type=\"'user'\" \n\t\t\t \t:role=\"'blocked'\" \n\t\t\t\t :target=\"users.state.current._id\" \n\t\t\t\t :status=\"users.state.current.isBlocked\" \n\t\t\t\t :text=\"{create: 'Block', remove: 'Unblock'}\"\n\t\t\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isBlocked')\"\n\t\t\t\t class=\"t-white mn-t-thin bg-red\" \n\t\t\t \t/>\n\t\t\t\t\t</section>\n\t </Dropdown>\t\n\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"route.params._id === auth.state.user._id\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'Profile Edit Profile', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: auth.state.user._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"users.state.current.profile.photo && users.state.current.profile.photo.length > 0\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + users.state.current.profile.photo\" \n\t\t\t\t\tclass=\"radius-extra bg-white mn-b-small object-fit-cover i-extra\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<PlaceholderUserpic \n\t\t\t\t\tv-else \n\t\t\t\t\tclass=\"radius-medium mn-b-small i-extra\"\n\t\t\t\t/>\n\n\t\t\t\t<h3 \n\t\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t\t>\n\t\t\t\t\t{{users.state.current.profile.name ? users.state.current.profile.name : 'Anonymous' }}\n\t\t\t\t</h3>\n\t\t\t\t\n\t\t\t\t<p \n\t\t\t\t\tv-if=\"users.state.current.username\"\n\t\t\t\t\tclass=\"mn-b-thin t-main t-semi\"\n\t\t\t\t>\n\t\t\t\t\t@{{ users.state.current.username ? users.state.current.username : 'Not specified' }}\n\t\t\t\t</p>\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"mn-b-small p-medium\"\n\t\t\t\t>\n\t\t\t\t {{ users.state.current.profile.description ? users.state.current.profile.description : 'Bio not specified' }}\n\t\t\t\t</p>\n\t\t\t\t\n\t\t\t\t<div class=\"mn-b-medium flex-center flex-nowrap flex\">\n\t\t\t\t\t<div \n\t\t\t\t\t v-for=\"(role,index) in users.state.current.roles\" \n\t\t\t\t\t class=\"pd-thin radius-small t-semi bg-white\" \n\t\t\t\t\t :class=\"{'mn-r-thin': index !== users.state.current.roles.length - 1}\"\n\t\t\t\t\t >\n\t\t\t\t\t\t{{role.icon}}\n\t\t\t\t\t\t{{role.name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"t-semi mn-b-small\"\n\t\t\t\t>\n\t\t\t\t\t<!-- 👍 3 212 likes · -->\n\t\t\t\t\t<!-- 💬 342 comments · -->\n\t\t\t\t\t👨👨👧👧 {{users.state.current.numberOfSubscribers}} followers\n\t\t\t\t</p>\n\t\t\t\t\n\t \t<ButtonToggleMembership\n\t \t\tv-if=\"auth.state.user._id && route.params._id && route.params._id !== auth.state.user._id\"\n\t\t :user=\"auth.state.user._id\"\n\t\t :type=\"'user'\" \n\t \t:role=\"'subscriber'\" \n\t\t :target=\"users.state.current._id\" \n\t\t :status=\"users.state.current.isSubscriber\" \n\t\t\t\t\t:text=\"{create: 'Follow', remove: 'Unfollow'}\"\n\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')\"\n\t\t class=\"w-min mn-b-medium\tmn-r-auto mn-l-auto\" \n\t \t/>\n\n\t \t<h4 \n\t \tv-if=\"Object.values(users.state.current.socials).some(value => value)\" \n\t \tclass=\"mn-t-small mn-b-thin\"\n\t >\n\t \t\tFind Me in Socials\n\t \t</h4>\n\t \t<Socials \n\t \t\t:telegram=\"users.state.current.socials.telegram\"\n\t \t\t:facebook=\"users.state.current.socials.facebook\"\n\t \t\t:instagram=\"users.state.current.socials.instagram\"\n\t \t\t:twitter=\"users.state.current.socials.twitter\"\n\t \t\tclass=\"mn-r-auto mn-l-auto\"\n\t \t/>\n\n\t\t\t</section>\n\t\t\t\n\t\t\t<RouterView />\n\n\t\t\t<Menu v-if=\"filteredModules.length > 0\" class=\"mn-b-regular bg-light\">\n\t <MenuItem \n\t v-for=\"module in filteredModules\" \n\t :key=\"module.name\"\n\t @click=\"router.push({\n\t name: `${module.route}`, \n\t params: {\n\t _id: route.params._id,\n\t user: route.params._id\n\t }\n\t })\" \n\t class=\"profile-menu-item cursor-pointer\"\n\t >\n\t <component \n\t :is=\"module.icon\" \n\t v-if=\"module.icon\"\n\t class=\"i-semi\" \n\t :icon=\"true\"\n\t />\n\t <span>{{ module.displayName }}</span>\n \t</MenuItem>\n \t\t</Menu>\n\t\t\t \n\t\t\t<Menu \n\t\t\t\tv-if=\"auth.state.user._id === route.params._id\"\n\t\t\t\tclass=\"bg-light\"\n\t\t\t>\n\t\t\t\t<MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Notifications', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tNotifications\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Profile Edit Profile', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tSettings\n\t\t\t </span>\n\t\t\t </MenuItem>\n\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Legal', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tAbout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t \n\t\t\t <MenuItem \n\t\t\t \tclass=\"cursor-pointer\"\n\t\t\t\t\t@click=\"logout()\"\n\t\t\t >\n\t\t\t <span \n\t\t\t \tclass=\"t-red\"\n\t\t\t >\n\t\t\t \tLogout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t</Menu>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n// Import components\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Completion from '@martyrs/src/components/Completion/Completion.vue'\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n// Org Module\nimport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n// Report Module\nimport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n// Community Module \nimport Activity from '@martyrs/src/modules/community/components/blocks/Activity.vue'; \nimport Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'\n// Icons Module\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n// Import libs\nimport { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\nimport * as memberships from '@martyrs/src/modules/organizations/store/memberships.js'\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Get organization _id from cookie\nconst show = ref(false)\n\nconst store = inject('store')\n\nconst moduleMapping = {\n events: {\n displayName: 'Events',\n route: 'User Events',\n icon: IconEvents\n },\n organizations: {\n displayName: 'Groups',\n route: 'User Organizations',\n icon: IconGroups\n },\n blogposts: {\n displayName: 'Posts',\n route: 'User Posts',\n icon: IconCommunity\n },\n orders: {\n displayName: 'Orders',\n route: 'UserOrdersList',\n icon: IconOrders,\n visible: (auth) => auth.state.user && (\n auth.state.user._id === route.params._id || \n (auth.state.access && auth.state.access.roles && \n (auth.state.access.roles.includes('ROLE_MODERATOR') || \n auth.state.access.roles.includes('ROLE_ADMIN'))\n )\n )\n }\n}\n\nconst filteredModules = computed(() => {\n return store.modules\n .map(moduleName => {\n return {\n name: moduleName,\n ...moduleMapping[moduleName]\n }\n })\n .filter(module => {\n // Проверяем существование маппинга для модуля\n if (!moduleMapping[module.name]) return false;\n \n // Проверяем видимость модуля, если есть условие visible\n if (module.visible && typeof module.visible === 'function') {\n return module.visible(auth);\n }\n \n // По умолчанию показываем модуль, если есть маппинг\n return true;\n })\n})\n\nonMounted(async () => {\n \tawait users.actions.read({ _id: route.params._id, user: auth.state.user._id });\n \tshow.value = true\n})\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n memberships.mutations.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)\n};\n\nfunction logout () {\n auth.actions.logout()\n\n router.push({name: 'Sign In'})\n}\n</script>\n\n<style lang=\"scss\">\n\t#header {\n\t\t// height: 3rem;\n\t}\n</style>\n"],"names":["useRoute","useRouter","ref","inject","IconEvents","IconGroups","IconCommunity","IconOrders","auth","computed","module","onMounted","users.actions","auth.state","memberships.mutations","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkRA,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAExB,UAAM,OAAOC,IAAAA,IAAI,KAAK;AAEtB,UAAM,QAAQC,IAAAA,OAAO,OAAO;AAE5B,UAAM,gBAAgB;AAAA,MACpB,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,MACV;AAAA,MACE,eAAe;AAAA,QACb,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,MACV;AAAA,MACE,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,cAAAA;AAAAA,MACV;AAAA,MACE,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,QACN,SAAS,CAACC,UAASA,MAAK,MAAM,SAC5BA,MAAK,MAAM,KAAK,QAAQ,MAAM,OAAO,OACpCA,MAAK,MAAM,UAAUA,MAAK,MAAM,OAAO,UACrCA,MAAK,MAAM,OAAO,MAAM,SAAS,gBAAgB,KACjDA,MAAK,MAAM,OAAO,MAAM,SAAS,YAAY;AAAA,MAGtD;AAAA,IACA;AAEA,UAAM,kBAAkBC,IAAAA,SAAS,MAAM;AACrC,aAAO,MAAM,QACV,IAAI,gBAAc;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,GAAG,cAAc,UAAU;AAAA,QACnC;AAAA,MACI,CAAC,EACA,OAAO,CAAAC,YAAU;AAEhB,YAAI,CAAC,cAAcA,QAAO,IAAI,EAAG,QAAO;AAGxC,YAAIA,QAAO,WAAW,OAAOA,QAAO,YAAY,YAAY;AAC1D,iBAAOA,QAAO,QAAQ,IAAI;AAAA,QAC5B;AAGA,eAAO;AAAA,MACT,CAAC;AAAA,IACL,CAAC;AAEDC,QAAAA,UAAU,YAAY;AACpB,YAAMC,cAAc,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMC,KAAAA,MAAW,KAAK,IAAG,CAAE;AAC7E,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,4BAAsB,uBAAuBC,MAAAA,MAAY,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACxH;AAEA,aAAS,SAAU;AACjBC,WAAAA,QAAa,OAAM;AAEnB,aAAO,KAAK,EAAC,MAAM,UAAS,CAAC;AAAA,IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Profile.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/Profile.vue"],"sourcesContent":["<template>\n\t<div \n\t\tv-if=\"show\"\n\t\tclass=\"for-transition bg-white w-100\"\n\t>\n\t\t<div \n\t\t\tv-if=\"users.state.current?.status === 'removed'\"\n\t\t\tclass=\"flex-center flex pd-medium radius-big bg-light uppercase t-semi w-100 h-100\"\n\t\t>\n\t\t\tSorry, user has been removed.\n\t\t</div>\n\n\t\t<div \n\t\t\tv-else\n\t\t\t_id=\"dash\" \n\t\t\tclass=\"pd-thin w-100\"\n\t\t>\n\t\t\t<!-- <Completion \n\t\t\t\tv-if=\"route.params._id === auth.state.user._id && show\" \n\t\t :user=\"auth.state.user._id\"\n\t\t :target=\"users.state.current\"\n\t\t :cta=\"false\" \n\t\t text_cta=\"Fill\"\n\t\t text=\"Profile completed at\"\n\t\t class=\"mn-b-medium mn-b-regular pd-medium radius-semi t-white bg-second\"\n\t\t\t/> -->\n\n\t\t\t<section \n\t\t\t\tclass=\"flex-center pos-relative flex flex-column t-center w-100 mn-b-regular radius-medium pd-medium bg-light\"\n\t\t\t>\n\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"route.params._id && route.params._id !== auth.state.user._id\"\n\t\t\t\t\t:label=\"'...'\" \n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra \"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\t:user=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:type=\"'user'\" \n\t\t\t\t\t\t\t:target=\"users.state.current._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<ButtonToggleMembership\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t :user=\"auth.state.user._id\"\n\t\t\t\t :type=\"'user'\" \n\t\t\t \t:role=\"'blocked'\" \n\t\t\t\t :target=\"users.state.current._id\" \n\t\t\t\t :status=\"users.state.current.isBlocked\" \n\t\t\t\t :text=\"{create: 'Block', remove: 'Unblock'}\"\n\t\t\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isBlocked')\"\n\t\t\t\t class=\"t-white mn-t-thin bg-red\" \n\t\t\t \t/>\n\t\t\t\t\t</section>\n\t </Dropdown>\t\n\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"route.params._id === auth.state.user._id\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'Profile Edit Profile', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: auth.state.user._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"users.state.current.profile.photo && users.state.current.profile.photo.length > 0\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + users.state.current.profile.photo\" \n\t\t\t\t\tclass=\"radius-extra bg-white mn-b-small object-fit-cover i-extra\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<PlaceholderUserpic \n\t\t\t\t\tv-else \n\t\t\t\t\tclass=\"radius-medium mn-b-small i-extra\"\n\t\t\t\t/>\n\n\t\t\t\t<h3 \n\t\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t\t>\n\t\t\t\t\t{{users.state.current.profile.name ? users.state.current.profile.name : 'Anonymous' }}\n\t\t\t\t</h3>\n\t\t\t\t\n\t\t\t\t<p \n\t\t\t\t\tv-if=\"users.state.current.username\"\n\t\t\t\t\tclass=\"mn-b-thin t-main t-semi\"\n\t\t\t\t>\n\t\t\t\t\t@{{ users.state.current.username ? users.state.current.username : 'Not specified' }}\n\t\t\t\t</p>\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"mn-b-small p-medium\"\n\t\t\t\t>\n\t\t\t\t {{ users.state.current.profile.description ? users.state.current.profile.description : 'Bio not specified' }}\n\t\t\t\t</p>\n\t\t\t\t\n\t\t\t\t<div class=\"mn-b-medium flex-center flex-nowrap flex\">\n\t\t\t\t\t<div \n\t\t\t\t\t v-for=\"(role,index) in users.state.current.roles\" \n\t\t\t\t\t class=\"pd-thin radius-small t-semi bg-white\" \n\t\t\t\t\t :class=\"{'mn-r-thin': index !== users.state.current.roles.length - 1}\"\n\t\t\t\t\t >\n\t\t\t\t\t\t{{role.icon}}\n\t\t\t\t\t\t{{role.name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"t-semi mn-b-small\"\n\t\t\t\t>\n\t\t\t\t\t<!-- 👍 3 212 likes · -->\n\t\t\t\t\t<!-- 💬 342 comments · -->\n\t\t\t\t\t👨👨👧👧 {{users.state.current.numberOfSubscribers}} followers\n\t\t\t\t</p>\n\t\t\t\t\n\t \t<ButtonToggleMembership\n\t \t\tv-if=\"auth.state.user._id && route.params._id && route.params._id !== auth.state.user._id\"\n\t\t :user=\"auth.state.user._id\"\n\t\t :type=\"'user'\" \n\t \t:role=\"'subscriber'\" \n\t\t :target=\"users.state.current._id\" \n\t\t :status=\"users.state.current.isSubscriber\" \n\t\t\t\t\t:text=\"{create: 'Follow', remove: 'Unfollow'}\"\n\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')\"\n\t\t class=\"w-min mn-b-medium\tmn-r-auto mn-l-auto\" \n\t \t/>\n\n\t \t<h4 \n\t \tv-if=\"Object.values(users.state.current.socials).some(value => value)\" \n\t \tclass=\"mn-t-small mn-b-thin\"\n\t >\n\t \t\tFind Me in Socials\n\t \t</h4>\n\t \t<Socials \n\t \t\t:telegram=\"users.state.current.socials.telegram\"\n\t \t\t:facebook=\"users.state.current.socials.facebook\"\n\t \t\t:instagram=\"users.state.current.socials.instagram\"\n\t \t\t:twitter=\"users.state.current.socials.twitter\"\n\t \t\tclass=\"mn-r-auto mn-l-auto\"\n\t \t/>\n\n\t\t\t</section>\n\t\t\t\n\t\t\t<RouterView />\n\n\t\t\t<Menu class=\"mn-b-regular bg-light\">\n\t <template v-for=\"(module, moduleName) in modules\" :key=\"moduleName\">\n\t <MenuItem \n\t v-if=\"isModuleInstalled(moduleName) && (!module.visible || module.visible(auth))\"\n\t @click=\"router.push({\n\t name: `${module.route}`, \n\t params: {\n\t _id: route.params._id,\n\t user: route.params._id\n\t }\n\t })\" \n\t class=\"profile-menu-item cursor-pointer\"\n\t >\n\t <component \n\t :is=\"module.icon\" \n\t v-if=\"module.icon\"\n\t class=\"i-semi\" \n\t :icon=\"true\"\n\t />\n\t <span>{{ module.displayName }}</span>\n\t </MenuItem>\n\t </template>\n \t\t</Menu>\n\t\t\t \n\t\t\t<Menu \n\t\t\t\tv-if=\"auth.state.user._id === route.params._id\"\n\t\t\t\tclass=\"bg-light\"\n\t\t\t>\n\t\t\t\t<MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Notifications', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tNotifications\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Profile Edit Profile', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tSettings\n\t\t\t </span>\n\t\t\t </MenuItem>\n\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Legal', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tAbout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t \n\t\t\t <MenuItem \n\t\t\t \tclass=\"cursor-pointer\"\n\t\t\t\t\t@click=\"logout()\"\n\t\t\t >\n\t\t\t <span \n\t\t\t \tclass=\"t-red\"\n\t\t\t >\n\t\t\t \tLogout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t</Menu>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n// Import components\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Completion from '@martyrs/src/components/Completion/Completion.vue'\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n// Org Module\nimport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n// Report Module\nimport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n// Community Module \nimport Activity from '@martyrs/src/modules/community/components/blocks/Activity.vue'; \nimport Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'\n// Icons Module\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n// Import libs\nimport { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Get organization _id from cookie\nconst show = ref(false)\n\nconst store = inject('store')\nconst { isModuleInstalled } = useGlobalMixins()\n\nconst modules = {\n events: {\n displayName: 'Events',\n route: 'User Events',\n icon: IconEvents,\n visible: () => true\n },\n organizations: {\n displayName: 'Groups',\n route: 'User Organizations',\n icon: IconGroups,\n visible: () => true\n },\n blogposts: {\n displayName: 'Posts',\n route: 'User Posts',\n icon: IconCommunity,\n visible: () => true\n },\n orders: {\n displayName: 'Orders',\n route: 'UserOrdersList',\n icon: IconOrders,\n visible: (auth) => auth.state.user && (\n auth.state.user._id === route.params._id || \n (auth.state.access && auth.state.access.roles && \n (auth.state.access.roles.includes('ROLE_MODERATOR') || \n auth.state.access.roles.includes('ROLE_ADMIN'))\n )\n )\n }\n}\n\n\nonMounted(async () => {\n \tawait users.actions.read({ _id: route.params._id, user: auth.state.user._id });\n \tshow.value = true\n})\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n membershipsStore.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)\n};\n\nfunction logout () {\n auth.actions.logout()\n\n router.push({name: 'Sign In'})\n}\n</script>\n\n<style lang=\"scss\">\n\t#header {\n\t\t// height: 3rem;\n\t}\n</style>\n"],"names":["useRoute","useRouter","ref","inject","useGlobalMixins","IconEvents","IconGroups","IconCommunity","IconOrders","auth","onMounted","users.actions","auth.state","membershipsStore","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoRA,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAExB,UAAM,OAAOC,IAAAA,IAAI,KAAK;AAERC,QAAAA,OAAO,OAAO;AAC5B,UAAM,EAAE,kBAAiB,IAAKC,OAAAA,gBAAe;AAE7C,UAAM,UAAU;AAAA,MACd,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,QACN,SAAS,MAAM;AAAA,MACnB;AAAA,MACE,eAAe;AAAA,QACb,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,QACN,SAAS,MAAM;AAAA,MACnB;AAAA,MACE,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,cAAAA;AAAAA,QACN,SAAS,MAAM;AAAA,MACnB;AAAA,MACE,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,QACN,SAAS,CAACC,UAASA,MAAK,MAAM,SAC5BA,MAAK,MAAM,KAAK,QAAQ,MAAM,OAAO,OACpCA,MAAK,MAAM,UAAUA,MAAK,MAAM,OAAO,UACrCA,MAAK,MAAM,OAAO,MAAM,SAAS,gBAAgB,KACjDA,MAAK,MAAM,OAAO,MAAM,SAAS,YAAY;AAAA,MAGtD;AAAA,IACA;AAGAC,QAAAA,UAAU,YAAY;AACpB,YAAMC,cAAc,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMC,KAAAA,MAAW,KAAK,IAAG,CAAE;AAC7E,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,gCAAiB,uBAAuBC,MAAAA,MAAY,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACnH;AAEA,aAAS,SAAU;AACjBC,WAAAA,QAAa,OAAM;AAEnB,aAAO,KAAK,EAAC,MAAM,UAAS,CAAC;AAAA,IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { ref, inject,
|
|
1
|
+
import { ref, inject, onMounted, resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, createBlock, unref, withCtx, toDisplayString, Fragment, renderList, normalizeClass, resolveDynamicComponent } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
4
|
/* empty css */
|
|
5
|
-
import _sfc_main$
|
|
6
|
-
import _sfc_main$
|
|
5
|
+
import _sfc_main$1 from "../../../../../components/Dropdown/Dropdown.vue2.js";
|
|
6
|
+
import _sfc_main$6 from "../../../../../components/Menu/Menu.vue2.js";
|
|
7
7
|
import _sfc_main$b from "../../../../../components/Menu/MenuItem.vue.js";
|
|
8
|
-
import _sfc_main$
|
|
9
|
-
import _sfc_main$
|
|
10
|
-
import _sfc_main$
|
|
11
|
-
import _sfc_main$
|
|
12
|
-
import _sfc_main$
|
|
13
|
-
import _sfc_main$
|
|
14
|
-
import _sfc_main$
|
|
15
|
-
import _sfc_main$
|
|
8
|
+
import _sfc_main$3 from "../../../../organizations/components/elements/ButtonToggleMembership.vue.js";
|
|
9
|
+
import _sfc_main$2 from "../../../../reports/components/sections/FormReport.vue.js";
|
|
10
|
+
import _sfc_main$5 from "../../../../organizations/components/blocks/Socials.vue.js";
|
|
11
|
+
import _sfc_main$a from "../../../../icons/entities/IconEvents.vue.js";
|
|
12
|
+
import _sfc_main$9 from "../../../../icons/entities/IconGroups.vue.js";
|
|
13
|
+
import _sfc_main$8 from "../../../../icons/entities/IconCommunity.vue.js";
|
|
14
|
+
import _sfc_main$7 from "../../../../icons/entities/IconOrders.vue.js";
|
|
15
|
+
import _sfc_main$4 from "../../../../icons/navigation/IconEdit.vue.js";
|
|
16
16
|
import PlaceholderUserpic from "../../../../icons/placeholders/PlaceholderUserpic.vue.js";
|
|
17
17
|
import { useRoute, useRouter } from "vue-router";
|
|
18
18
|
import * as auth from "../../store/auth.js";
|
|
19
19
|
import { state, actions as actions$1 } from "../../store/auth.js";
|
|
20
20
|
import { actions, state as state$1 } from "../../store/users.js";
|
|
21
|
-
import
|
|
21
|
+
import membershipsStore from "../../../../organizations/store/memberships.store.js";
|
|
22
|
+
import { useGlobalMixins } from "../../../../globals/views/mixins/mixins.js";
|
|
22
23
|
import "./Profile.vue2.js";
|
|
23
24
|
const _hoisted_1 = {
|
|
24
25
|
key: 0,
|
|
@@ -54,50 +55,40 @@ const _sfc_main = {
|
|
|
54
55
|
const route = useRoute();
|
|
55
56
|
const router = useRouter();
|
|
56
57
|
const show = ref(false);
|
|
57
|
-
|
|
58
|
-
const
|
|
58
|
+
inject("store");
|
|
59
|
+
const { isModuleInstalled } = useGlobalMixins();
|
|
60
|
+
const modules = {
|
|
59
61
|
events: {
|
|
60
62
|
displayName: "Events",
|
|
61
63
|
route: "User Events",
|
|
62
|
-
icon: _sfc_main$
|
|
64
|
+
icon: _sfc_main$a,
|
|
65
|
+
visible: () => true
|
|
63
66
|
},
|
|
64
67
|
organizations: {
|
|
65
68
|
displayName: "Groups",
|
|
66
69
|
route: "User Organizations",
|
|
67
|
-
icon: _sfc_main$
|
|
70
|
+
icon: _sfc_main$9,
|
|
71
|
+
visible: () => true
|
|
68
72
|
},
|
|
69
73
|
blogposts: {
|
|
70
74
|
displayName: "Posts",
|
|
71
75
|
route: "User Posts",
|
|
72
|
-
icon: _sfc_main$
|
|
76
|
+
icon: _sfc_main$8,
|
|
77
|
+
visible: () => true
|
|
73
78
|
},
|
|
74
79
|
orders: {
|
|
75
80
|
displayName: "Orders",
|
|
76
81
|
route: "UserOrdersList",
|
|
77
|
-
icon: _sfc_main$
|
|
82
|
+
icon: _sfc_main$7,
|
|
78
83
|
visible: (auth2) => auth2.state.user && (auth2.state.user._id === route.params._id || auth2.state.access && auth2.state.access.roles && (auth2.state.access.roles.includes("ROLE_MODERATOR") || auth2.state.access.roles.includes("ROLE_ADMIN")))
|
|
79
84
|
}
|
|
80
85
|
};
|
|
81
|
-
const filteredModules = computed(() => {
|
|
82
|
-
return store.modules.map((moduleName) => {
|
|
83
|
-
return {
|
|
84
|
-
name: moduleName,
|
|
85
|
-
...moduleMapping[moduleName]
|
|
86
|
-
};
|
|
87
|
-
}).filter((module) => {
|
|
88
|
-
if (!moduleMapping[module.name]) return false;
|
|
89
|
-
if (module.visible && typeof module.visible === "function") {
|
|
90
|
-
return module.visible(auth);
|
|
91
|
-
}
|
|
92
|
-
return true;
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
86
|
onMounted(async () => {
|
|
96
87
|
await actions.read({ _id: route.params._id, user: state.user._id });
|
|
97
88
|
show.value = true;
|
|
98
89
|
});
|
|
99
90
|
const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
|
|
100
|
-
|
|
91
|
+
membershipsStore.handleMembershipUpdate(state$1.current, membership, status, target, statusName, statusNumber);
|
|
101
92
|
};
|
|
102
93
|
function logout() {
|
|
103
94
|
actions$1.logout();
|
|
@@ -108,7 +99,7 @@ const _sfc_main = {
|
|
|
108
99
|
return show.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
109
100
|
state$1.current?.status === "removed" ? (openBlock(), createElementBlock("div", _hoisted_2, " Sorry, user has been removed. ")) : (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
110
101
|
createElementVNode("section", _hoisted_4, [
|
|
111
|
-
unref(route).params._id && unref(route).params._id !== state.user._id ? (openBlock(), createBlock(_sfc_main$
|
|
102
|
+
unref(route).params._id && unref(route).params._id !== state.user._id ? (openBlock(), createBlock(_sfc_main$1, {
|
|
112
103
|
key: 0,
|
|
113
104
|
label: "...",
|
|
114
105
|
align: "right",
|
|
@@ -116,7 +107,7 @@ const _sfc_main = {
|
|
|
116
107
|
}, {
|
|
117
108
|
default: withCtx(() => [
|
|
118
109
|
createElementVNode("section", _hoisted_5, [
|
|
119
|
-
createVNode(_sfc_main$
|
|
110
|
+
createVNode(_sfc_main$2, {
|
|
120
111
|
user: state.user._id,
|
|
121
112
|
type: "user",
|
|
122
113
|
target: state$1.current._id,
|
|
@@ -128,7 +119,7 @@ const _sfc_main = {
|
|
|
128
119
|
])),
|
|
129
120
|
_: 1
|
|
130
121
|
}, 8, ["user", "target"]),
|
|
131
|
-
state.user._id ? (openBlock(), createBlock(_sfc_main$
|
|
122
|
+
state.user._id ? (openBlock(), createBlock(_sfc_main$3, {
|
|
132
123
|
key: 0,
|
|
133
124
|
user: state.user._id,
|
|
134
125
|
type: "user",
|
|
@@ -143,7 +134,7 @@ const _sfc_main = {
|
|
|
143
134
|
]),
|
|
144
135
|
_: 1
|
|
145
136
|
})) : createCommentVNode("", true),
|
|
146
|
-
unref(route).params._id === state.user._id ? (openBlock(), createBlock(_sfc_main$
|
|
137
|
+
unref(route).params._id === state.user._id ? (openBlock(), createBlock(_sfc_main$4, {
|
|
147
138
|
key: 1,
|
|
148
139
|
onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$router.push({
|
|
149
140
|
name: "Profile Edit Profile",
|
|
@@ -173,7 +164,7 @@ const _sfc_main = {
|
|
|
173
164
|
}), 256))
|
|
174
165
|
]),
|
|
175
166
|
createElementVNode("p", _hoisted_11, " 👨👨👧👧 " + toDisplayString(state$1.current.numberOfSubscribers) + " followers ", 1),
|
|
176
|
-
state.user._id && unref(route).params._id && unref(route).params._id !== state.user._id ? (openBlock(), createBlock(_sfc_main$
|
|
167
|
+
state.user._id && unref(route).params._id && unref(route).params._id !== state.user._id ? (openBlock(), createBlock(_sfc_main$3, {
|
|
177
168
|
key: 5,
|
|
178
169
|
user: state.user._id,
|
|
179
170
|
type: "user",
|
|
@@ -185,7 +176,7 @@ const _sfc_main = {
|
|
|
185
176
|
class: "w-min mn-b-medium mn-r-auto mn-l-auto"
|
|
186
177
|
}, null, 8, ["user", "target", "status"])) : createCommentVNode("", true),
|
|
187
178
|
Object.values(state$1.current.socials).some((value) => value) ? (openBlock(), createElementBlock("h4", _hoisted_12, " Find Me in Socials ")) : createCommentVNode("", true),
|
|
188
|
-
createVNode(_sfc_main$
|
|
179
|
+
createVNode(_sfc_main$5, {
|
|
189
180
|
telegram: state$1.current.socials.telegram,
|
|
190
181
|
facebook: state$1.current.socials.facebook,
|
|
191
182
|
instagram: state$1.current.socials.instagram,
|
|
@@ -194,39 +185,38 @@ const _sfc_main = {
|
|
|
194
185
|
}, null, 8, ["telegram", "facebook", "instagram", "twitter"])
|
|
195
186
|
]),
|
|
196
187
|
createVNode(_component_RouterView),
|
|
197
|
-
|
|
198
|
-
key: 0,
|
|
199
|
-
class: "mn-b-regular bg-light"
|
|
200
|
-
}, {
|
|
188
|
+
createVNode(_sfc_main$6, { class: "mn-b-regular bg-light" }, {
|
|
201
189
|
default: withCtx(() => [
|
|
202
|
-
(openBlock(
|
|
203
|
-
return openBlock(),
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
190
|
+
(openBlock(), createElementBlock(Fragment, null, renderList(modules, (module, moduleName) => {
|
|
191
|
+
return openBlock(), createElementBlock(Fragment, { key: moduleName }, [
|
|
192
|
+
unref(isModuleInstalled)(moduleName) && (!module.visible || module.visible(auth)) ? (openBlock(), createBlock(_sfc_main$b, {
|
|
193
|
+
key: 0,
|
|
194
|
+
onClick: ($event) => unref(router).push({
|
|
195
|
+
name: `${module.route}`,
|
|
196
|
+
params: {
|
|
197
|
+
_id: unref(route).params._id,
|
|
198
|
+
user: unref(route).params._id
|
|
199
|
+
}
|
|
200
|
+
}),
|
|
201
|
+
class: "profile-menu-item cursor-pointer"
|
|
202
|
+
}, {
|
|
203
|
+
default: withCtx(() => [
|
|
204
|
+
module.icon ? (openBlock(), createBlock(resolveDynamicComponent(module.icon), {
|
|
205
|
+
key: 0,
|
|
206
|
+
class: "i-semi",
|
|
207
|
+
icon: true
|
|
208
|
+
})) : createCommentVNode("", true),
|
|
209
|
+
createElementVNode("span", null, toDisplayString(module.displayName), 1)
|
|
210
|
+
]),
|
|
211
|
+
_: 2
|
|
212
|
+
}, 1032, ["onClick"])) : createCommentVNode("", true)
|
|
213
|
+
], 64);
|
|
214
|
+
}), 64))
|
|
225
215
|
]),
|
|
226
216
|
_: 1
|
|
227
|
-
})
|
|
228
|
-
state.user._id === unref(route).params._id ? (openBlock(), createBlock(_sfc_main$
|
|
229
|
-
key:
|
|
217
|
+
}),
|
|
218
|
+
state.user._id === unref(route).params._id ? (openBlock(), createBlock(_sfc_main$6, {
|
|
219
|
+
key: 0,
|
|
230
220
|
class: "bg-light"
|
|
231
221
|
}, {
|
|
232
222
|
default: withCtx(() => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/Profile.vue"],"sourcesContent":["<template>\n\t<div \n\t\tv-if=\"show\"\n\t\tclass=\"for-transition bg-white w-100\"\n\t>\n\t\t<div \n\t\t\tv-if=\"users.state.current?.status === 'removed'\"\n\t\t\tclass=\"flex-center flex pd-medium radius-big bg-light uppercase t-semi w-100 h-100\"\n\t\t>\n\t\t\tSorry, user has been removed.\n\t\t</div>\n\n\t\t<div \n\t\t\tv-else\n\t\t\t_id=\"dash\" \n\t\t\tclass=\"pd-thin w-100\"\n\t\t>\n\t\t\t<!-- <Completion \n\t\t\t\tv-if=\"route.params._id === auth.state.user._id && show\" \n\t\t :user=\"auth.state.user._id\"\n\t\t :target=\"users.state.current\"\n\t\t :cta=\"false\" \n\t\t text_cta=\"Fill\"\n\t\t text=\"Profile completed at\"\n\t\t class=\"mn-b-medium mn-b-regular pd-medium radius-semi t-white bg-second\"\n\t\t\t/> -->\n\n\t\t\t<section \n\t\t\t\tclass=\"flex-center pos-relative flex flex-column t-center w-100 mn-b-regular radius-medium pd-medium bg-light\"\n\t\t\t>\n\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"route.params._id && route.params._id !== auth.state.user._id\"\n\t\t\t\t\t:label=\"'...'\" \n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra \"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\t:user=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:type=\"'user'\" \n\t\t\t\t\t\t\t:target=\"users.state.current._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<ButtonToggleMembership\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t :user=\"auth.state.user._id\"\n\t\t\t\t :type=\"'user'\" \n\t\t\t \t:role=\"'blocked'\" \n\t\t\t\t :target=\"users.state.current._id\" \n\t\t\t\t :status=\"users.state.current.isBlocked\" \n\t\t\t\t :text=\"{create: 'Block', remove: 'Unblock'}\"\n\t\t\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isBlocked')\"\n\t\t\t\t class=\"t-white mn-t-thin bg-red\" \n\t\t\t \t/>\n\t\t\t\t\t</section>\n\t </Dropdown>\t\n\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"route.params._id === auth.state.user._id\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'Profile Edit Profile', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: auth.state.user._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"users.state.current.profile.photo && users.state.current.profile.photo.length > 0\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + users.state.current.profile.photo\" \n\t\t\t\t\tclass=\"radius-extra bg-white mn-b-small object-fit-cover i-extra\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<PlaceholderUserpic \n\t\t\t\t\tv-else \n\t\t\t\t\tclass=\"radius-medium mn-b-small i-extra\"\n\t\t\t\t/>\n\n\t\t\t\t<h3 \n\t\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t\t>\n\t\t\t\t\t{{users.state.current.profile.name ? users.state.current.profile.name : 'Anonymous' }}\n\t\t\t\t</h3>\n\t\t\t\t\n\t\t\t\t<p \n\t\t\t\t\tv-if=\"users.state.current.username\"\n\t\t\t\t\tclass=\"mn-b-thin t-main t-semi\"\n\t\t\t\t>\n\t\t\t\t\t@{{ users.state.current.username ? users.state.current.username : 'Not specified' }}\n\t\t\t\t</p>\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"mn-b-small p-medium\"\n\t\t\t\t>\n\t\t\t\t {{ users.state.current.profile.description ? users.state.current.profile.description : 'Bio not specified' }}\n\t\t\t\t</p>\n\t\t\t\t\n\t\t\t\t<div class=\"mn-b-medium flex-center flex-nowrap flex\">\n\t\t\t\t\t<div \n\t\t\t\t\t v-for=\"(role,index) in users.state.current.roles\" \n\t\t\t\t\t class=\"pd-thin radius-small t-semi bg-white\" \n\t\t\t\t\t :class=\"{'mn-r-thin': index !== users.state.current.roles.length - 1}\"\n\t\t\t\t\t >\n\t\t\t\t\t\t{{role.icon}}\n\t\t\t\t\t\t{{role.name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"t-semi mn-b-small\"\n\t\t\t\t>\n\t\t\t\t\t<!-- 👍 3 212 likes · -->\n\t\t\t\t\t<!-- 💬 342 comments · -->\n\t\t\t\t\t👨👨👧👧 {{users.state.current.numberOfSubscribers}} followers\n\t\t\t\t</p>\n\t\t\t\t\n\t \t<ButtonToggleMembership\n\t \t\tv-if=\"auth.state.user._id && route.params._id && route.params._id !== auth.state.user._id\"\n\t\t :user=\"auth.state.user._id\"\n\t\t :type=\"'user'\" \n\t \t:role=\"'subscriber'\" \n\t\t :target=\"users.state.current._id\" \n\t\t :status=\"users.state.current.isSubscriber\" \n\t\t\t\t\t:text=\"{create: 'Follow', remove: 'Unfollow'}\"\n\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')\"\n\t\t class=\"w-min mn-b-medium\tmn-r-auto mn-l-auto\" \n\t \t/>\n\n\t \t<h4 \n\t \tv-if=\"Object.values(users.state.current.socials).some(value => value)\" \n\t \tclass=\"mn-t-small mn-b-thin\"\n\t >\n\t \t\tFind Me in Socials\n\t \t</h4>\n\t \t<Socials \n\t \t\t:telegram=\"users.state.current.socials.telegram\"\n\t \t\t:facebook=\"users.state.current.socials.facebook\"\n\t \t\t:instagram=\"users.state.current.socials.instagram\"\n\t \t\t:twitter=\"users.state.current.socials.twitter\"\n\t \t\tclass=\"mn-r-auto mn-l-auto\"\n\t \t/>\n\n\t\t\t</section>\n\t\t\t\n\t\t\t<RouterView />\n\n\t\t\t<Menu v-if=\"filteredModules.length > 0\" class=\"mn-b-regular bg-light\">\n\t <MenuItem \n\t v-for=\"module in filteredModules\" \n\t :key=\"module.name\"\n\t @click=\"router.push({\n\t name: `${module.route}`, \n\t params: {\n\t _id: route.params._id,\n\t user: route.params._id\n\t }\n\t })\" \n\t class=\"profile-menu-item cursor-pointer\"\n\t >\n\t <component \n\t :is=\"module.icon\" \n\t v-if=\"module.icon\"\n\t class=\"i-semi\" \n\t :icon=\"true\"\n\t />\n\t <span>{{ module.displayName }}</span>\n \t</MenuItem>\n \t\t</Menu>\n\t\t\t \n\t\t\t<Menu \n\t\t\t\tv-if=\"auth.state.user._id === route.params._id\"\n\t\t\t\tclass=\"bg-light\"\n\t\t\t>\n\t\t\t\t<MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Notifications', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tNotifications\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Profile Edit Profile', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tSettings\n\t\t\t </span>\n\t\t\t </MenuItem>\n\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Legal', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tAbout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t \n\t\t\t <MenuItem \n\t\t\t \tclass=\"cursor-pointer\"\n\t\t\t\t\t@click=\"logout()\"\n\t\t\t >\n\t\t\t <span \n\t\t\t \tclass=\"t-red\"\n\t\t\t >\n\t\t\t \tLogout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t</Menu>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n// Import components\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Completion from '@martyrs/src/components/Completion/Completion.vue'\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n// Org Module\nimport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n// Report Module\nimport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n// Community Module \nimport Activity from '@martyrs/src/modules/community/components/blocks/Activity.vue'; \nimport Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'\n// Icons Module\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n// Import libs\nimport { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\nimport * as memberships from '@martyrs/src/modules/organizations/store/memberships.js'\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Get organization _id from cookie\nconst show = ref(false)\n\nconst store = inject('store')\n\nconst moduleMapping = {\n events: {\n displayName: 'Events',\n route: 'User Events',\n icon: IconEvents\n },\n organizations: {\n displayName: 'Groups',\n route: 'User Organizations',\n icon: IconGroups\n },\n blogposts: {\n displayName: 'Posts',\n route: 'User Posts',\n icon: IconCommunity\n },\n orders: {\n displayName: 'Orders',\n route: 'UserOrdersList',\n icon: IconOrders,\n visible: (auth) => auth.state.user && (\n auth.state.user._id === route.params._id || \n (auth.state.access && auth.state.access.roles && \n (auth.state.access.roles.includes('ROLE_MODERATOR') || \n auth.state.access.roles.includes('ROLE_ADMIN'))\n )\n )\n }\n}\n\nconst filteredModules = computed(() => {\n return store.modules\n .map(moduleName => {\n return {\n name: moduleName,\n ...moduleMapping[moduleName]\n }\n })\n .filter(module => {\n // Проверяем существование маппинга для модуля\n if (!moduleMapping[module.name]) return false;\n \n // Проверяем видимость модуля, если есть условие visible\n if (module.visible && typeof module.visible === 'function') {\n return module.visible(auth);\n }\n \n // По умолчанию показываем модуль, если есть маппинг\n return true;\n })\n})\n\nonMounted(async () => {\n \tawait users.actions.read({ _id: route.params._id, user: auth.state.user._id });\n \tshow.value = true\n})\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n memberships.mutations.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)\n};\n\nfunction logout () {\n auth.actions.logout()\n\n router.push({name: 'Sign In'})\n}\n</script>\n\n<style lang=\"scss\">\n\t#header {\n\t\t// height: 3rem;\n\t}\n</style>\n"],"names":["IconEvents","IconGroups","IconCommunity","IconOrders","auth","users.actions","auth.state","memberships.mutations","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkRA,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,OAAO,IAAI,KAAK;AAEtB,UAAM,QAAQ,OAAO,OAAO;AAE5B,UAAM,gBAAgB;AAAA,MACpB,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMA;AAAAA,MACV;AAAA,MACE,eAAe;AAAA,QACb,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,MACV;AAAA,MACE,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,MACV;AAAA,MACE,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,QACN,SAAS,CAACC,UAASA,MAAK,MAAM,SAC5BA,MAAK,MAAM,KAAK,QAAQ,MAAM,OAAO,OACpCA,MAAK,MAAM,UAAUA,MAAK,MAAM,OAAO,UACrCA,MAAK,MAAM,OAAO,MAAM,SAAS,gBAAgB,KACjDA,MAAK,MAAM,OAAO,MAAM,SAAS,YAAY;AAAA,MAGtD;AAAA,IACA;AAEA,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,MAAM,QACV,IAAI,gBAAc;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,GAAG,cAAc,UAAU;AAAA,QACnC;AAAA,MACI,CAAC,EACA,OAAO,YAAU;AAEhB,YAAI,CAAC,cAAc,OAAO,IAAI,EAAG,QAAO;AAGxC,YAAI,OAAO,WAAW,OAAO,OAAO,YAAY,YAAY;AAC1D,iBAAO,OAAO,QAAQ,IAAI;AAAA,QAC5B;AAGA,eAAO;AAAA,MACT,CAAC;AAAA,IACL,CAAC;AAED,cAAU,YAAY;AACpB,YAAMC,QAAc,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMC,MAAW,KAAK,IAAG,CAAE;AAC7E,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,gBAAsB,uBAAuBC,QAAY,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACxH;AAEA,aAAS,SAAU;AACjBC,gBAAa,OAAM;AAEnB,aAAO,KAAK,EAAC,MAAM,UAAS,CAAC;AAAA,IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Profile.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/Profile.vue"],"sourcesContent":["<template>\n\t<div \n\t\tv-if=\"show\"\n\t\tclass=\"for-transition bg-white w-100\"\n\t>\n\t\t<div \n\t\t\tv-if=\"users.state.current?.status === 'removed'\"\n\t\t\tclass=\"flex-center flex pd-medium radius-big bg-light uppercase t-semi w-100 h-100\"\n\t\t>\n\t\t\tSorry, user has been removed.\n\t\t</div>\n\n\t\t<div \n\t\t\tv-else\n\t\t\t_id=\"dash\" \n\t\t\tclass=\"pd-thin w-100\"\n\t\t>\n\t\t\t<!-- <Completion \n\t\t\t\tv-if=\"route.params._id === auth.state.user._id && show\" \n\t\t :user=\"auth.state.user._id\"\n\t\t :target=\"users.state.current\"\n\t\t :cta=\"false\" \n\t\t text_cta=\"Fill\"\n\t\t text=\"Profile completed at\"\n\t\t class=\"mn-b-medium mn-b-regular pd-medium radius-semi t-white bg-second\"\n\t\t\t/> -->\n\n\t\t\t<section \n\t\t\t\tclass=\"flex-center pos-relative flex flex-column t-center w-100 mn-b-regular radius-medium pd-medium bg-light\"\n\t\t\t>\n\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"route.params._id && route.params._id !== auth.state.user._id\"\n\t\t\t\t\t:label=\"'...'\" \n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra \"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\t:user=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:type=\"'user'\" \n\t\t\t\t\t\t\t:target=\"users.state.current._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<ButtonToggleMembership\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t :user=\"auth.state.user._id\"\n\t\t\t\t :type=\"'user'\" \n\t\t\t \t:role=\"'blocked'\" \n\t\t\t\t :target=\"users.state.current._id\" \n\t\t\t\t :status=\"users.state.current.isBlocked\" \n\t\t\t\t :text=\"{create: 'Block', remove: 'Unblock'}\"\n\t\t\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isBlocked')\"\n\t\t\t\t class=\"t-white mn-t-thin bg-red\" \n\t\t\t \t/>\n\t\t\t\t\t</section>\n\t </Dropdown>\t\n\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"route.params._id === auth.state.user._id\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'Profile Edit Profile', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: auth.state.user._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"users.state.current.profile.photo && users.state.current.profile.photo.length > 0\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '') + users.state.current.profile.photo\" \n\t\t\t\t\tclass=\"radius-extra bg-white mn-b-small object-fit-cover i-extra\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<PlaceholderUserpic \n\t\t\t\t\tv-else \n\t\t\t\t\tclass=\"radius-medium mn-b-small i-extra\"\n\t\t\t\t/>\n\n\t\t\t\t<h3 \n\t\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t\t>\n\t\t\t\t\t{{users.state.current.profile.name ? users.state.current.profile.name : 'Anonymous' }}\n\t\t\t\t</h3>\n\t\t\t\t\n\t\t\t\t<p \n\t\t\t\t\tv-if=\"users.state.current.username\"\n\t\t\t\t\tclass=\"mn-b-thin t-main t-semi\"\n\t\t\t\t>\n\t\t\t\t\t@{{ users.state.current.username ? users.state.current.username : 'Not specified' }}\n\t\t\t\t</p>\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"mn-b-small p-medium\"\n\t\t\t\t>\n\t\t\t\t {{ users.state.current.profile.description ? users.state.current.profile.description : 'Bio not specified' }}\n\t\t\t\t</p>\n\t\t\t\t\n\t\t\t\t<div class=\"mn-b-medium flex-center flex-nowrap flex\">\n\t\t\t\t\t<div \n\t\t\t\t\t v-for=\"(role,index) in users.state.current.roles\" \n\t\t\t\t\t class=\"pd-thin radius-small t-semi bg-white\" \n\t\t\t\t\t :class=\"{'mn-r-thin': index !== users.state.current.roles.length - 1}\"\n\t\t\t\t\t >\n\t\t\t\t\t\t{{role.icon}}\n\t\t\t\t\t\t{{role.name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"t-semi mn-b-small\"\n\t\t\t\t>\n\t\t\t\t\t<!-- 👍 3 212 likes · -->\n\t\t\t\t\t<!-- 💬 342 comments · -->\n\t\t\t\t\t👨👨👧👧 {{users.state.current.numberOfSubscribers}} followers\n\t\t\t\t</p>\n\t\t\t\t\n\t \t<ButtonToggleMembership\n\t \t\tv-if=\"auth.state.user._id && route.params._id && route.params._id !== auth.state.user._id\"\n\t\t :user=\"auth.state.user._id\"\n\t\t :type=\"'user'\" \n\t \t:role=\"'subscriber'\" \n\t\t :target=\"users.state.current._id\" \n\t\t :status=\"users.state.current.isSubscriber\" \n\t\t\t\t\t:text=\"{create: 'Follow', remove: 'Unfollow'}\"\n\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')\"\n\t\t class=\"w-min mn-b-medium\tmn-r-auto mn-l-auto\" \n\t \t/>\n\n\t \t<h4 \n\t \tv-if=\"Object.values(users.state.current.socials).some(value => value)\" \n\t \tclass=\"mn-t-small mn-b-thin\"\n\t >\n\t \t\tFind Me in Socials\n\t \t</h4>\n\t \t<Socials \n\t \t\t:telegram=\"users.state.current.socials.telegram\"\n\t \t\t:facebook=\"users.state.current.socials.facebook\"\n\t \t\t:instagram=\"users.state.current.socials.instagram\"\n\t \t\t:twitter=\"users.state.current.socials.twitter\"\n\t \t\tclass=\"mn-r-auto mn-l-auto\"\n\t \t/>\n\n\t\t\t</section>\n\t\t\t\n\t\t\t<RouterView />\n\n\t\t\t<Menu class=\"mn-b-regular bg-light\">\n\t <template v-for=\"(module, moduleName) in modules\" :key=\"moduleName\">\n\t <MenuItem \n\t v-if=\"isModuleInstalled(moduleName) && (!module.visible || module.visible(auth))\"\n\t @click=\"router.push({\n\t name: `${module.route}`, \n\t params: {\n\t _id: route.params._id,\n\t user: route.params._id\n\t }\n\t })\" \n\t class=\"profile-menu-item cursor-pointer\"\n\t >\n\t <component \n\t :is=\"module.icon\" \n\t v-if=\"module.icon\"\n\t class=\"i-semi\" \n\t :icon=\"true\"\n\t />\n\t <span>{{ module.displayName }}</span>\n\t </MenuItem>\n\t </template>\n \t\t</Menu>\n\t\t\t \n\t\t\t<Menu \n\t\t\t\tv-if=\"auth.state.user._id === route.params._id\"\n\t\t\t\tclass=\"bg-light\"\n\t\t\t>\n\t\t\t\t<MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Notifications', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tNotifications\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Profile Edit Profile', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tSettings\n\t\t\t </span>\n\t\t\t </MenuItem>\n\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Legal', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tAbout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t \n\t\t\t <MenuItem \n\t\t\t \tclass=\"cursor-pointer\"\n\t\t\t\t\t@click=\"logout()\"\n\t\t\t >\n\t\t\t <span \n\t\t\t \tclass=\"t-red\"\n\t\t\t >\n\t\t\t \tLogout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t</Menu>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n// Import components\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Completion from '@martyrs/src/components/Completion/Completion.vue'\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n// Org Module\nimport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n// Report Module\nimport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n// Community Module \nimport Activity from '@martyrs/src/modules/community/components/blocks/Activity.vue'; \nimport Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'\n// Icons Module\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n// Import libs\nimport { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Get organization _id from cookie\nconst show = ref(false)\n\nconst store = inject('store')\nconst { isModuleInstalled } = useGlobalMixins()\n\nconst modules = {\n events: {\n displayName: 'Events',\n route: 'User Events',\n icon: IconEvents,\n visible: () => true\n },\n organizations: {\n displayName: 'Groups',\n route: 'User Organizations',\n icon: IconGroups,\n visible: () => true\n },\n blogposts: {\n displayName: 'Posts',\n route: 'User Posts',\n icon: IconCommunity,\n visible: () => true\n },\n orders: {\n displayName: 'Orders',\n route: 'UserOrdersList',\n icon: IconOrders,\n visible: (auth) => auth.state.user && (\n auth.state.user._id === route.params._id || \n (auth.state.access && auth.state.access.roles && \n (auth.state.access.roles.includes('ROLE_MODERATOR') || \n auth.state.access.roles.includes('ROLE_ADMIN'))\n )\n )\n }\n}\n\n\nonMounted(async () => {\n \tawait users.actions.read({ _id: route.params._id, user: auth.state.user._id });\n \tshow.value = true\n})\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n membershipsStore.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)\n};\n\nfunction logout () {\n auth.actions.logout()\n\n router.push({name: 'Sign In'})\n}\n</script>\n\n<style lang=\"scss\">\n\t#header {\n\t\t// height: 3rem;\n\t}\n</style>\n"],"names":["IconEvents","IconGroups","IconCommunity","IconOrders","auth","users.actions","auth.state","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoRA,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,OAAO,IAAI,KAAK;AAER,WAAO,OAAO;AAC5B,UAAM,EAAE,kBAAiB,IAAK,gBAAe;AAE7C,UAAM,UAAU;AAAA,MACd,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMA;AAAAA,QACN,SAAS,MAAM;AAAA,MACnB;AAAA,MACE,eAAe;AAAA,QACb,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,QACN,SAAS,MAAM;AAAA,MACnB;AAAA,MACE,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,QACN,SAAS,MAAM;AAAA,MACnB;AAAA,MACE,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,QACN,SAAS,CAACC,UAASA,MAAK,MAAM,SAC5BA,MAAK,MAAM,KAAK,QAAQ,MAAM,OAAO,OACpCA,MAAK,MAAM,UAAUA,MAAK,MAAM,OAAO,UACrCA,MAAK,MAAM,OAAO,MAAM,SAAS,gBAAgB,KACjDA,MAAK,MAAM,OAAO,MAAM,SAAS,YAAY;AAAA,MAGtD;AAAA,IACA;AAGA,cAAU,YAAY;AACpB,YAAMC,QAAc,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMC,MAAW,KAAK,IAAG,CAAE;AAC7E,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3F,uBAAiB,uBAAuBC,QAAY,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACnH;AAEA,aAAS,SAAU;AACjBC,gBAAa,OAAM;AAEnB,aAAO,KAAK,EAAC,MAAM,UAAS,CAAC;AAAA,IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -4,10 +4,9 @@ const vue = require("vue");
|
|
|
4
4
|
const vueI18n = require("vue-i18n");
|
|
5
5
|
const Slider = require("../../../../../components/Slider/Slider.vue.cjs");
|
|
6
6
|
;/* empty css */
|
|
7
|
-
const _hoisted_1 = { class: "
|
|
8
|
-
const _hoisted_2 = { class: "
|
|
9
|
-
const _hoisted_3 = { class: "t-center w-100
|
|
10
|
-
const _hoisted_4 = { class: "t-center t-transp w-100" };
|
|
7
|
+
const _hoisted_1 = { class: "h-100 pd-big" };
|
|
8
|
+
const _hoisted_2 = { class: "t-center w-100 mn-b-regular" };
|
|
9
|
+
const _hoisted_3 = { class: "t-center t-transp w-100" };
|
|
11
10
|
const _sfc_main = {
|
|
12
11
|
__name: "SliderFeatures",
|
|
13
12
|
setup(__props) {
|
|
@@ -24,18 +23,17 @@ const _sfc_main = {
|
|
|
24
23
|
default: vue.withCtx(() => [
|
|
25
24
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(features.value, (feature, index) => {
|
|
26
25
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
27
|
-
class: "carousel__slide",
|
|
26
|
+
class: "grid o-hidden h-100 carousel__slide",
|
|
27
|
+
style: { "grid-template-rows": "1fr auto" },
|
|
28
28
|
key: index
|
|
29
29
|
}, [
|
|
30
|
+
vue.createElementVNode("div", {
|
|
31
|
+
class: "h-100 background-div",
|
|
32
|
+
style: vue.normalizeStyle(`background-image: url(/features/${index}.png);`)
|
|
33
|
+
}, null, 4),
|
|
30
34
|
vue.createElementVNode("div", _hoisted_1, [
|
|
31
|
-
vue.createElementVNode("
|
|
32
|
-
|
|
33
|
-
style: vue.normalizeStyle(`background-image: url(/features/${index}.png);`)
|
|
34
|
-
}, null, 4),
|
|
35
|
-
vue.createElementVNode("div", _hoisted_2, [
|
|
36
|
-
vue.createElementVNode("h5", _hoisted_3, vue.toDisplayString(feature.title), 1),
|
|
37
|
-
vue.createElementVNode("p", _hoisted_4, vue.toDisplayString(feature.description), 1)
|
|
38
|
-
])
|
|
35
|
+
vue.createElementVNode("h5", _hoisted_2, vue.toDisplayString(feature.title), 1),
|
|
36
|
+
vue.createElementVNode("p", _hoisted_3, vue.toDisplayString(feature.description), 1)
|
|
39
37
|
])
|
|
40
38
|
]);
|
|
41
39
|
}), 128))
|