@ozdao/martyrs 0.2.485 → 0.2.487
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/Media-B2jWzwLB.cjs +1 -0
- package/dist/{Media-DlUBwVWs.js → Media-DZ5_ItXQ.js} +3 -3
- package/dist/_virtual/index.cjs +4 -4
- package/dist/_virtual/index.js +4 -4
- package/dist/_virtual/index2.cjs +4 -4
- package/dist/_virtual/index2.js +4 -4
- package/dist/auth.server.cjs +3 -24
- package/dist/auth.server.js +2 -23
- package/dist/{authJwt-DBB51Iql.cjs → authJwt-D35KyJlE.cjs} +31 -2
- package/dist/{authJwt-DcYNNwcr.js → authJwt-DqxhUym0.js} +31 -2
- package/dist/chats.server.cjs +1 -1
- package/dist/chats.server.js +1 -1
- package/dist/community.server.cjs +1 -1
- package/dist/community.server.js +1 -1
- package/dist/crud-BDIArc5A.cjs +1096 -0
- package/dist/crud-DJvpe0aZ.js +1097 -0
- package/dist/events.server.cjs +1 -1
- package/dist/events.server.js +1 -1
- package/dist/files.server.cjs +1 -1
- package/dist/files.server.js +1 -1
- package/dist/gallery.server.cjs +1 -1
- package/dist/gallery.server.js +1 -1
- package/dist/globals.server.cjs +3 -322
- package/dist/globals.server.js +1 -303
- package/dist/globals.websocket-DzvdIBf6.js +306 -0
- package/dist/globals.websocket-k6_B1T7k.cjs +322 -0
- package/dist/{index-CsJwdsBW.js → index-CVuQC4k1.js} +1 -1
- package/dist/{index-YNOkL1mu.cjs → index-DiSKVCaA.cjs} +1 -1
- package/dist/main-C6_DPWGX.cjs +11 -0
- package/dist/{main-CK6rC5Sz.js → main-nQmkbWsW.js} +2291 -2224
- package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
- package/dist/martyrs/src/components/{DatePicker → Calendar}/Calendar.vue.cjs +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/{DatePicker → Calendar}/Calendar.vue.js +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue.js.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +5 -6
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +5 -6
- package/dist/martyrs/src/components/Field/Field.vue2.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +10 -9
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +13 -12
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.cjs +2 -2
- package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +2 -2
- package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
- package/dist/martyrs/src/components/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
- package/dist/martyrs/src/components/Select/Select.vue.cjs +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +5 -5
- 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.js +5 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -2
- 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 +3 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +10 -10
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +5 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +23 -23
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +4 -4
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +13 -13
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +3 -3
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +25 -25
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +16 -16
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +9 -2
- 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 +9 -2
- 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 +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +24 -58
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +24 -58
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +2 -2
- 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/blocks/PopupAuth.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
- 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/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +2 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +2 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs +6 -0
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.js +6 -0
- package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/axios-instance.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/axios-instance.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs +100 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js +100 -0
- package/dist/martyrs/src/modules/globals/views/utils/query-serializer.js.map +1 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +224 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +224 -0
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs +40 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js +40 -0
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.cjs +6 -6
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.js +6 -6
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs +10 -12
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +11 -13
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/icons.client.cjs +48 -4
- package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/icons.client.js +172 -128
- package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs +5 -7
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js +5 -7
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +6 -11
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +62 -6
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +189 -133
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs +25 -17
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.js +25 -17
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/line.vue.cjs +23 -14
- package/dist/martyrs/src/modules/icons/socials/line.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/line.vue.js +23 -14
- package/dist/martyrs/src/modules/icons/socials/line.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs +26 -17
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js +26 -17
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs +29 -20
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +29 -20
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/vk.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/vk.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/vk.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs +21 -12
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.js +21 -12
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +87 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +87 -0
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +83 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +83 -0
- package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +83 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +83 -0
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs +68 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js +68 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +162 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +162 -0
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +437 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +437 -0
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +416 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +416 -0
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +174 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +174 -0
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +80 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +80 -0
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +554 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +554 -0
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +104 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +104 -0
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +314 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +314 -0
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/AlbumEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +467 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +467 -0
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/ArtistEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +256 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +256 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +248 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +248 -0
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +580 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +580 -0
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs +14 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js +14 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/PlaylistEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +473 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +473 -0
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +111 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +111 -0
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +28 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +28 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs +23 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js +23 -0
- package/dist/martyrs/src/modules/music/components/pages/TrackEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +227 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +227 -0
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +85 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +85 -0
- package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +71 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +71 -0
- package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js.map +1 -0
- package/dist/martyrs/src/modules/music/music.client.cjs +137 -0
- package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/music.client.js +137 -0
- package/dist/martyrs/src/modules/music/music.client.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/albums.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/albums.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/albums.js +34 -0
- package/dist/martyrs/src/modules/music/router/albums.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/artists.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/artists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/artists.js +34 -0
- package/dist/martyrs/src/modules/music/router/artists.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/music.cjs +47 -0
- package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/music.js +47 -0
- package/dist/martyrs/src/modules/music/router/music.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/playlists.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/playlists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/playlists.js +34 -0
- package/dist/martyrs/src/modules/music/router/playlists.js.map +1 -0
- package/dist/martyrs/src/modules/music/router/tracks.cjs +34 -0
- package/dist/martyrs/src/modules/music/router/tracks.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/router/tracks.js +34 -0
- package/dist/martyrs/src/modules/music/router/tracks.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/albums.cjs +167 -0
- package/dist/martyrs/src/modules/music/store/albums.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/albums.js +167 -0
- package/dist/martyrs/src/modules/music/store/albums.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/artists.cjs +160 -0
- package/dist/martyrs/src/modules/music/store/artists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/artists.js +160 -0
- package/dist/martyrs/src/modules/music/store/artists.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/genres.cjs +123 -0
- package/dist/martyrs/src/modules/music/store/genres.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/genres.js +123 -0
- package/dist/martyrs/src/modules/music/store/genres.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/player.cjs +297 -0
- package/dist/martyrs/src/modules/music/store/player.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/player.js +297 -0
- package/dist/martyrs/src/modules/music/store/player.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/playlists.cjs +182 -0
- package/dist/martyrs/src/modules/music/store/playlists.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/playlists.js +182 -0
- package/dist/martyrs/src/modules/music/store/playlists.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/search.cjs +109 -0
- package/dist/martyrs/src/modules/music/store/search.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/search.js +109 -0
- package/dist/martyrs/src/modules/music/store/search.js.map +1 -0
- package/dist/martyrs/src/modules/music/store/tracks.cjs +184 -0
- package/dist/martyrs/src/modules/music/store/tracks.cjs.map +1 -0
- package/dist/martyrs/src/modules/music/store/tracks.js +184 -0
- package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -0
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +5 -5
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +16 -16
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +16 -16
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +17 -17
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +8 -8
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -1
- 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 +2 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +2 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js +8 -8
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js +12 -12
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +13 -13
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +11 -11
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +18 -18
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +7 -7
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +13 -13
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +17 -17
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -0
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -0
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -0
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -0
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.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 +14 -14
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +9 -9
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +2 -2
- 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 +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +38 -36
- package/dist/music.server.cjs +2021 -0
- package/dist/music.server.js +2021 -0
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/orders.server.cjs +1 -1
- package/dist/orders.server.js +1 -1
- package/dist/organizations.server.cjs +1 -1
- package/dist/organizations.server.js +1 -1
- package/dist/products.server.cjs +3 -1093
- package/dist/products.server.js +2 -1092
- package/dist/rents.server.cjs +1 -1
- package/dist/rents.server.js +1 -1
- package/dist/socials.schema-BOZV82Mp.js +25 -0
- package/dist/socials.schema-CtpSF9dE.cjs +24 -0
- package/dist/style.css +230 -46
- package/dist/wallet.server.cjs +1 -1
- package/dist/wallet.server.js +1 -1
- package/package.json +1 -1
- package/src/.martyrs/filemap.json +2 -2
- package/src/components/Feed/Feed.vue +1 -1
- package/src/components/Field/Field.vue +13 -8
- package/src/components/FieldBig/FieldBig.vue +3 -5
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/Media/Media.vue +1 -1
- package/src/components/Select/Select.vue +1 -1
- package/src/components/Status/Snack.vue +83 -0
- package/src/components/index.js +2 -0
- package/src/main.js +6 -0
- package/src/modules/auth/controllers/middlewares/authJwt.js +59 -6
- package/src/modules/events/components/pages/EditEvent.vue +1 -1
- package/src/modules/globals/views/classes/globals.store.js +31 -66
- package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
- package/src/modules/globals/views/components/partials/FooterAlt.vue +363 -0
- package/src/modules/globals/views/store/globals.js +42 -0
- package/src/modules/globals/views/utils/axios-instance.js +15 -1
- package/src/modules/globals/views/utils/query-serializer.js +182 -0
- package/src/modules/icons/components/IconSearchPopup.vue +254 -0
- package/src/modules/icons/entities/IconAddress.vue +17 -0
- package/src/modules/icons/entities/IconDate.vue +3 -3
- package/src/modules/icons/entities/IconEmail.vue +14 -0
- package/src/modules/icons/entities/IconMusic.vue +3 -3
- package/src/modules/icons/entities/IconPhone.vue +14 -0
- package/src/modules/icons/icons.client.js +85 -31
- package/src/modules/icons/icons.server.js +292 -0
- package/src/modules/icons/navigation/IconCross.vue +4 -16
- package/src/modules/icons/navigation/IconPause.vue +9 -24
- package/src/modules/icons/navigation/IconRefresh.vue +9 -24
- package/src/modules/icons/pages/IconsPage.vue +78 -2
- package/src/modules/icons/routes/icons.routes.js +81 -0
- package/src/modules/icons/socials/dribbble.vue +11 -2
- package/src/modules/icons/socials/facebook.vue +11 -2
- package/src/modules/icons/socials/instagram.vue +11 -4
- package/src/modules/icons/socials/line.vue +11 -2
- package/src/modules/icons/socials/linkedin.vue +11 -2
- package/src/modules/icons/socials/reddit.vue +10 -1
- package/src/modules/icons/socials/telegram.vue +11 -2
- package/src/modules/icons/socials/twitter.vue +11 -2
- package/src/modules/icons/socials/vk.vue +11 -2
- package/src/modules/icons/socials/whatsapp.vue +12 -0
- package/src/modules/icons/socials/youtube.vue +11 -2
- package/src/modules/music/.claude/settings.local.json +8 -0
- package/src/modules/music/CLAUDE.md +312 -0
- package/src/modules/music/components/SidebarMusic.vue +8 -8
- package/src/modules/music/components/cards/AlbumCard.vue +2 -2
- package/src/modules/music/components/cards/ArtistCard.vue +2 -2
- package/src/modules/music/components/cards/PlaylistCard.vue +2 -2
- package/src/modules/music/components/cards/TrackCard.vue +1 -1
- package/src/modules/music/components/cards/TrackListCard.vue +135 -0
- package/src/modules/music/components/forms/AlbumForm.vue +463 -0
- package/src/modules/music/components/{pages → forms}/ArtistForm.vue +127 -96
- package/src/modules/music/components/forms/PlaylistForm.vue +10 -10
- package/src/modules/music/components/forms/SearchForm.vue +1 -1
- package/src/modules/music/components/forms/TrackForm.vue +577 -0
- package/src/modules/music/components/layouts/MusicLayout.vue +35 -41
- package/src/modules/music/components/pages/{AlbumDetail.vue → Album.vue} +42 -20
- package/src/modules/music/components/pages/AlbumCreate.vue +7 -0
- package/src/modules/music/components/pages/AlbumEdit.vue +14 -0
- package/src/modules/music/components/pages/{ArtistDetail.vue → Artist.vue} +9 -9
- package/src/modules/music/components/pages/ArtistCreate.vue +7 -0
- package/src/modules/music/components/pages/ArtistEdit.vue +14 -0
- package/src/modules/music/components/pages/MusicHome.vue +86 -67
- package/src/modules/music/components/pages/MusicLibrary.vue +136 -105
- package/src/modules/music/components/pages/{PlaylistDetail.vue → Playlist.vue} +56 -34
- package/src/modules/music/components/pages/PlaylistCreate.vue +7 -0
- package/src/modules/music/components/pages/PlaylistEdit.vue +14 -0
- package/src/modules/music/components/pages/SearchResults.vue +49 -27
- package/src/modules/music/components/pages/{TrackDetail.vue → Track.vue} +36 -14
- package/src/modules/music/components/pages/TrackCreate.vue +23 -0
- package/src/modules/music/components/pages/TrackEdit.vue +14 -0
- package/src/modules/music/components/player/MusicPlayer.vue +2 -2
- package/src/modules/music/middlewares/albums.verifier.js +234 -0
- package/src/modules/music/middlewares/artists.verifier.js +213 -0
- package/src/modules/music/middlewares/genres.verifier.js +148 -0
- package/src/modules/music/middlewares/playlists.verifier.js +219 -0
- package/src/modules/music/middlewares/tracks.verifier.js +263 -0
- package/src/modules/music/music.client.js +31 -33
- package/src/modules/music/music.server.js +33 -26
- package/src/modules/music/router/albums.js +31 -0
- package/src/modules/music/router/artists.js +31 -0
- package/src/modules/music/router/music.js +14 -65
- package/src/modules/music/router/playlists.js +31 -0
- package/src/modules/music/router/tracks.js +31 -0
- package/src/modules/music/routes/albums.routes.js +126 -0
- package/src/modules/music/routes/artists.routes.js +171 -0
- package/src/modules/music/routes/genres.routes.js +118 -0
- package/src/modules/music/routes/playlists.routes.js +239 -0
- package/src/modules/music/routes/tracks.routes.js +149 -0
- package/src/modules/music/store/artists.js +17 -7
- package/src/modules/music/store/genres.js +150 -0
- package/src/modules/music/store/playlists.js +19 -6
- package/src/modules/music/store/tracks.js +9 -2
- package/src/modules/products/components/pages/Product.vue +1 -1
- package/dist/Media-ByPHBvAU.cjs +0 -1
- package/dist/main-137vO86w.cjs +0 -11
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
- package/dist/martyrs/src/components/DatePicker/Calendar.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/DatePicker/Calendar.vue.js.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
- package/src/modules/music/components/forms/UploadForm.vue +0 -313
- package/src/modules/music/components/lists/AlbumList.vue +0 -25
- package/src/modules/music/components/lists/ArtistList.vue +0 -280
- package/src/modules/music/components/lists/PlaylistList.vue +0 -25
- package/src/modules/music/components/lists/TrackList.vue +0 -175
- package/src/modules/music/components/pages/ArtistManager.vue +0 -277
- package/src/modules/music/components/pages/MusicUpload.vue +0 -44
- package/src/modules/music/controllers/album.controller.js +0 -82
- package/src/modules/music/controllers/artist.controller.js +0 -99
- package/src/modules/music/controllers/genre.controller.js +0 -63
- package/src/modules/music/controllers/music.controller.js +0 -145
- package/src/modules/music/controllers/playlist.controller.js +0 -146
- package/src/modules/music/routes/album.routes.js +0 -28
- package/src/modules/music/routes/artist.routes.js +0 -30
- package/src/modules/music/routes/genre.routes.js +0 -28
- package/src/modules/music/routes/music.routes.js +0 -106
- package/src/modules/music/routes/playlist.routes.js +0 -47
- /package/src/components/{DatePicker → Calendar}/Calendar.vue +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackofficeGallery.vue.cjs","sources":["../../../../../../../src/modules/gallery/components/sections/BackofficeGallery.vue"],"sourcesContent":["<template>\n <div class=\"cols-1 gap-thin pd-thin\">\n <SectionPageTitle\n title=\"Gallery\"\n @update:tabs_current=\"(update) => tab = update\"\n :tabs_current=\"tab\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Featured', value: 'featured' },\n { name: 'Published', value: 'published' },\n { name: 'Draft', value: 'draft' },\n { name: 'Archived', value: 'archived' }\n ]\"\n :actions=\"[\n ...(hasAccess(route.params._id, 'gallery', 'create', auth.state.accesses, auth.state.access.roles) ? [{ method: () => openPhotoPopup(null), label: 'Add Photo' }] : [])\n ]\"\n class=\"mn-b-small bg-light bg-light radius-big\"\n />\n\n <Feed\n v-model:items=\"photos\"\n v-model:sort=\"sort\"\n v-model:date=\"date\"\n :states=\"{\n empty: {\n title: 'No Photos Found',\n description: 'Currently, there are no photos in gallery.'\n },\n }\"\n :store=\"{\n read: (options) => gallery.read(options)\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n ...(tab !== 'all' && { status: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-3 mobile:cols-1 gap-thin\"\n >\n <div v-for=\"item in items\" :key=\"item._id\" class=\"bg-light radius-small flex-column pos-relative flex-wrap\">\n\n <CardHeader \n :entity=\"item\"\n :entityType=\"'photo'\"\n :user=\"auth.state.user._id\"\n :owner=\"item.creator\" \n :creator=\"item.creator\"\n :date=\"item.createdAt\"\n :actions=\"[\n ...(hasAccess(route.params._id, 'gallery', 'delete', auth.state.accesses, auth.state.access.roles) ? [{ method: () => deletePhoto(item), label: 'Delete' }] : []),\n ...(hasAccess(route.params._id, 'gallery', 'edit', auth.state.accesses, auth.state.access.roles) ? [\n ...(item.status !== 'archived' ? [{ method: () => changeStatus(item, 'archived'), label: 'Archive' }] : []),\n ...(item.status !== 'published' ? [{ method: () => changeStatus(item, 'published'), label: 'Publish' }] : []),\n ...(item.status !== 'draft' ? [{ method: () => changeStatus(item, 'draft'), label: 'Draft' }] : [])\n ] : [])\n ]\"\n class=\"pd-small mn-b-small\"\n />\n\n <div class=\"pos-relative\">\n <img loading=\"lazy\" \n :src=\"(FILE_SERVER_URL || '') + item.cover\" \n class=\"w-100 h-20r object-fit-contain bg-black \" @click=\"openPreviewPopup(item)\" \n />\n <div \n class=\"pos-absolute pos-t-0 pos-r-0 pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-r-small mn-t-small w-min bg-second radius-extra\"\n >\n {{item.status}}\n </div>\n </div>\n \n <div class=\"pd-small\">\n <Chips \n v-if=\"item.tags?.length > 0\" \n :chips=\"item.tags\"\n />\n </div>\n </div>\n </Feed>\n\n <Popup \n @close-popup=\"closePreviewPopup\" \n :isPopupOpen=\"isOpenPreviewPopup\"\n class=\"bg-black o-hidden w-100 h-100 radius-big\"\n >\n <PhotoViewer\n :photoUrl=\"selectedPhoto.image\"\n />\n </Popup>\n\n <Popup \n title=\"Add Photo\" \n @close-popup=\"closePhotoPopup\" \n :isPopupOpen=\"isOpenPhotoPopup\"\n class=\"bg-white w-max-30r radius-big pd-big\"\n >\n <img loading=\"lazy\" \n v-if=\"selectedImage.cover\" \n :src=\"selectedImage.cover\" \n class=\"radius-small w-100 mn-b-small h-20r object-fit-cover \" \n />\n\n <EditImages \n :images=\"uploadedImages\" \n :uploadPath=\"'/photos'\" \n @update:images=\"onUpdatedImages\" \n class=\"mn-b-semi bg-light radius-medium\"\n />\n\n <BlockTags\n @tags-changed=\"newTags => selectedImage.tags = newTags\"\n :tags=\"selectedImage.tags\"\n :tagsSuggested=\"[\n {text: 'people' },\n {text: 'events' },\n {text: 'place' },\n {text: 'food' },\n {text: 'drinks' },\n {text: 'special' },\n ]\"\n class=\"mn-b-semi\"\n />\n\n <div class=\"flex-nowrap flex gap-thin\">\n <Button \n :submit=\"() => createPhoto('draft')\" \n :callback=\"closePhotoPopup\" \n class=\"t-nowrap bg-second w-100\"\n >\n To drafts\n </Button>\n <Button \n :submit=\"() => createPhoto('published')\" \n :callback=\"closePhotoPopup\" \n class=\"bg-main w-100\"\n >\n Publish\n </Button>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, reactive, computed } from 'vue'\nimport { useRoute } from 'vue-router'\n\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue'\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport SelectMulti from '@martyrs/src/components/SelectMulti/SelectMulti.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PhotoViewer from '@martyrs/src/components/PhotoViewer/PhotoViewer.vue'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js';\n \nimport gallery from '@martyrs/src/modules/gallery/store/gallery.js';\n\nimport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\nimport SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\n\nimport EditImages from '@martyrs/src/components/EditImages/EditImages.vue';\nimport BlockTags from '@martyrs/src/components/FieldTags/BlockTags.vue';\n\nconst route = useRoute();\n\n// Tabs\nconst tab = ref('all')\n// Sort\nlet sort = ref({\n param: 'createdAt',\n order: 'desc',\n options: [{\n label: 'Date',\n value: 'createdAt'\n },{\n label: 'Popularity',\n value: 'views'\n },{\n label: 'Creator',\n value: 'creator'\n }]\n})\n// Date\nlet date = ref({\n start: null,\n end: null\n})\n// Popup\n// Preview Photo\nconst isOpenPreviewPopup = ref(false);\nfunction openPreviewPopup(photo) {\n isOpenPreviewPopup.value = true;\n selectedPhoto.value = photo;\n}\nfunction closePreviewPopup() {\n isOpenPreviewPopup.value = false;\n selectedPhoto.value = null;\n}\n// Add Photo\nconst isOpenPhotoPopup = ref(false);\nfunction openPhotoPopup(photo) {\n isOpenPhotoPopup.value = true;\n selectedPhoto.value = photo;\n}\nfunction closePhotoPopup() {\n isOpenPhotoPopup.value = false;\n selectedPhoto.value = null;\n uploadedImages.value = [];\n selectedImage.value = { tags: null, image: null };\n}\n// Selected Photo\nconst selectedPhoto = ref(null);\nconst selectedCategory = ref('all')\nconst selectedImage = ref({\n tags: null,\n image: null\n})\nconst uploadedImages = ref([])\nconst onUpdatedImages = (newImages) => {\n uploadedImages.value = newImages\n}\n// Gallery Grid\nconst photos = ref([])\n\nconst deletePhoto = async (item) => {\n let deletedPhoto = JSON.parse(JSON.stringify(item));\n\n deletedPhoto.owner.target = deletedPhoto.owner.target._id\n deletedPhoto.creator.target = deletedPhoto.creator.target._id\n\n await gallery.delete(deletedPhoto);\n\n gallery.removeItem(deletedPhoto, photos.value)\n};\n\nconst changeStatus = async (item, status) => {\n let updatedPhoto = JSON.parse(JSON.stringify(item));\n\n updatedPhoto.status = status\n\n updatedPhoto.owner.target = updatedPhoto.owner.target._id\n updatedPhoto.creator.target = updatedPhoto.creator.target._id\n\n updatedPhoto = await gallery.update(updatedPhoto)\n gallery.updateItem(updatedPhoto, photos.value)\n}\n\nconst createPhoto = async (status) => {\n if (uploadedImages.length < 1) {\n alert('Upload at least 1 image')\n return\n }\n\n let createdPhotos = await gallery.create({\n images: uploadedImages.value,\n tags: selectedImage.value.tags,\n status: status,\n owner: {\n type: 'Organization',\n target: route.params._id\n },\n creator: {\n type: 'User',\n target: auth.state.user._id\n }\n })\n\n for (let createdPhoto of createdPhotos) {\n gallery.addItem(createdPhoto, photos.value)\n }\n}\n</script>\n\n<style scoped>\n</style>"],"names":["useRoute","ref","gallery","auth.state"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BackofficeGallery.vue.cjs","sources":["../../../../../../../src/modules/gallery/components/sections/BackofficeGallery.vue"],"sourcesContent":["<template>\n <div class=\"cols-1 gap-thin pd-thin\">\n <SectionPageTitle\n title=\"Gallery\"\n @update:tabs_current=\"(update) => tab = update\"\n :tabs_current=\"tab\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Featured', value: 'featured' },\n { name: 'Published', value: 'published' },\n { name: 'Draft', value: 'draft' },\n { name: 'Archived', value: 'archived' }\n ]\"\n :actions=\"[\n ...(hasAccess(route.params._id, 'gallery', 'create', auth.state.accesses, auth.state.access.roles) ? [{ method: () => openPhotoPopup(null), label: 'Add Photo' }] : [])\n ]\"\n class=\"mn-b-small bg-light bg-light radius-big\"\n />\n\n <Feed\n v-model:items=\"photos\"\n v-model:sort=\"sort\"\n v-model:date=\"date\"\n :states=\"{\n empty: {\n title: 'No Photos Found',\n description: 'Currently, there are no photos in gallery.'\n },\n }\"\n :store=\"{\n read: (options) => gallery.read(options)\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n ...(tab !== 'all' && { status: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-3 mobile:cols-1 gap-thin\"\n >\n <div v-for=\"item in items\" :key=\"item._id\" class=\"bg-light radius-small flex-column pos-relative flex-wrap\">\n\n <CardHeader \n :entity=\"item\"\n :entityType=\"'photo'\"\n :user=\"auth.state.user._id\"\n :owner=\"item.creator\" \n :creator=\"item.creator\"\n :date=\"item.createdAt\"\n :actions=\"[\n ...(hasAccess(route.params._id, 'gallery', 'delete', auth.state.accesses, auth.state.access.roles) ? [{ method: () => deletePhoto(item), label: 'Delete' }] : []),\n ...(hasAccess(route.params._id, 'gallery', 'edit', auth.state.accesses, auth.state.access.roles) ? [\n ...(item.status !== 'archived' ? [{ method: () => changeStatus(item, 'archived'), label: 'Archive' }] : []),\n ...(item.status !== 'published' ? [{ method: () => changeStatus(item, 'published'), label: 'Publish' }] : []),\n ...(item.status !== 'draft' ? [{ method: () => changeStatus(item, 'draft'), label: 'Draft' }] : [])\n ] : [])\n ]\"\n class=\"pd-small mn-b-small\"\n />\n\n <div class=\"pos-relative\">\n <img loading=\"lazy\" \n :src=\"(FILE_SERVER_URL || '') + item.cover\" \n class=\"w-100 h-20r object-fit-contain bg-black \" @click=\"openPreviewPopup(item)\" \n />\n <div \n class=\"pos-absolute pos-t-0 pos-r-0 pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-r-small mn-t-small w-min bg-second radius-extra\"\n >\n {{item.status}}\n </div>\n </div>\n \n <div class=\"pd-small\">\n <Chips \n v-if=\"item.tags?.length > 0\" \n :chips=\"item.tags\"\n />\n </div>\n </div>\n </Feed>\n\n <Popup \n @close-popup=\"closePreviewPopup\" \n :isPopupOpen=\"isOpenPreviewPopup\"\n class=\"bg-black o-hidden w-100 h-100 radius-big\"\n >\n <PhotoViewer\n :photoUrl=\"selectedPhoto.image\"\n />\n </Popup>\n\n <Popup \n title=\"Add Photo\" \n @close-popup=\"closePhotoPopup\" \n :isPopupOpen=\"isOpenPhotoPopup\"\n class=\"bg-white w-max-30r radius-big pd-big\"\n >\n <img loading=\"lazy\" \n v-if=\"selectedImage.cover\" \n :src=\"selectedImage.cover\" \n class=\"radius-small w-100 mn-b-small h-20r object-fit-cover \" \n />\n\n <EditImages \n :images=\"uploadedImages\" \n :uploadPath=\"'/photos'\" \n @update:images=\"onUpdatedImages\" \n class=\"mn-b-semi bg-light radius-medium\"\n />\n\n <BlockTags\n @tags-changed=\"newTags => selectedImage.tags = newTags\"\n :tags=\"selectedImage.tags\"\n :tagsSuggested=\"[\n {text: 'people' },\n {text: 'events' },\n {text: 'place' },\n {text: 'food' },\n {text: 'drinks' },\n {text: 'special' },\n ]\"\n class=\"mn-b-semi\"\n />\n\n <div class=\"flex-nowrap flex gap-thin\">\n <Button \n :submit=\"() => createPhoto('draft')\" \n :callback=\"closePhotoPopup\" \n class=\"t-nowrap bg-second w-100\"\n >\n To drafts\n </Button>\n <Button \n :submit=\"() => createPhoto('published')\" \n :callback=\"closePhotoPopup\" \n class=\"bg-main w-100\"\n >\n Publish\n </Button>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, reactive, computed } from 'vue'\nimport { useRoute } from 'vue-router'\n\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue'\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport SelectMulti from '@martyrs/src/components/SelectMulti/SelectMulti.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PhotoViewer from '@martyrs/src/components/PhotoViewer/PhotoViewer.vue'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js';\n \nimport gallery from '@martyrs/src/modules/gallery/store/gallery.js';\n\nimport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\nimport SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\n\nimport EditImages from '@martyrs/src/components/EditImages/EditImages.vue';\nimport BlockTags from '@martyrs/src/components/FieldTags/BlockTags.vue';\n\nconst route = useRoute();\n\n// Tabs\nconst tab = ref('all')\n// Sort\nlet sort = ref({\n param: 'createdAt',\n order: 'desc',\n options: [{\n label: 'Date',\n value: 'createdAt'\n },{\n label: 'Popularity',\n value: 'views'\n },{\n label: 'Creator',\n value: 'creator'\n }]\n})\n// Date\nlet date = ref({\n start: null,\n end: null\n})\n// Popup\n// Preview Photo\nconst isOpenPreviewPopup = ref(false);\nfunction openPreviewPopup(photo) {\n isOpenPreviewPopup.value = true;\n selectedPhoto.value = photo;\n}\nfunction closePreviewPopup() {\n isOpenPreviewPopup.value = false;\n selectedPhoto.value = null;\n}\n// Add Photo\nconst isOpenPhotoPopup = ref(false);\nfunction openPhotoPopup(photo) {\n isOpenPhotoPopup.value = true;\n selectedPhoto.value = photo;\n}\nfunction closePhotoPopup() {\n isOpenPhotoPopup.value = false;\n selectedPhoto.value = null;\n uploadedImages.value = [];\n selectedImage.value = { tags: null, image: null };\n}\n// Selected Photo\nconst selectedPhoto = ref(null);\nconst selectedCategory = ref('all')\nconst selectedImage = ref({\n tags: null,\n image: null\n})\nconst uploadedImages = ref([])\nconst onUpdatedImages = (newImages) => {\n uploadedImages.value = newImages\n}\n// Gallery Grid\nconst photos = ref([])\n\nconst deletePhoto = async (item) => {\n let deletedPhoto = JSON.parse(JSON.stringify(item));\n\n deletedPhoto.owner.target = deletedPhoto.owner.target._id\n deletedPhoto.creator.target = deletedPhoto.creator.target._id\n\n await gallery.delete(deletedPhoto);\n\n gallery.removeItem(deletedPhoto, photos.value)\n};\n\nconst changeStatus = async (item, status) => {\n let updatedPhoto = JSON.parse(JSON.stringify(item));\n\n updatedPhoto.status = status\n\n updatedPhoto.owner.target = updatedPhoto.owner.target._id\n updatedPhoto.creator.target = updatedPhoto.creator.target._id\n\n updatedPhoto = await gallery.update(updatedPhoto)\n gallery.updateItem(updatedPhoto, photos.value)\n}\n\nconst createPhoto = async (status) => {\n if (uploadedImages.length < 1) {\n alert('Upload at least 1 image')\n return\n }\n\n let createdPhotos = await gallery.create({\n images: uploadedImages.value,\n tags: selectedImage.value.tags,\n status: status,\n owner: {\n type: 'Organization',\n target: route.params._id\n },\n creator: {\n type: 'User',\n target: auth.state.user._id\n }\n })\n\n for (let createdPhoto of createdPhotos) {\n gallery.addItem(createdPhoto, photos.value)\n }\n}\n</script>\n\n<style scoped>\n</style>"],"names":["useRoute","ref","gallery","auth.state"],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ref, createElementBlock, openBlock, createVNode, unref, isRef, withCtx, Fragment, renderList, createElementVNode, toDisplayString, createBlock, createCommentVNode, createTextVNode } from "vue";
|
|
2
2
|
import { useRoute } from "vue-router";
|
|
3
|
-
|
|
4
|
-
import _sfc_main$
|
|
3
|
+
/* empty css */
|
|
4
|
+
import _sfc_main$8 from "../../../../components/Button/Button.vue.js";
|
|
5
|
+
import _sfc_main$4 from "../../../../components/Chips/Chips.vue.js";
|
|
5
6
|
/* empty css */
|
|
6
|
-
import _sfc_main$5 from "../../../../components/Popup/Popup.
|
|
7
|
+
import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
|
|
7
8
|
import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
|
|
8
9
|
import PhotoViewer from "../../../../components/PhotoViewer/PhotoViewer.vue.js";
|
|
9
10
|
import { state } from "../../../auth/views/store/auth.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackofficeGallery.vue.js","sources":["../../../../../../../src/modules/gallery/components/sections/BackofficeGallery.vue"],"sourcesContent":["<template>\n <div class=\"cols-1 gap-thin pd-thin\">\n <SectionPageTitle\n title=\"Gallery\"\n @update:tabs_current=\"(update) => tab = update\"\n :tabs_current=\"tab\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Featured', value: 'featured' },\n { name: 'Published', value: 'published' },\n { name: 'Draft', value: 'draft' },\n { name: 'Archived', value: 'archived' }\n ]\"\n :actions=\"[\n ...(hasAccess(route.params._id, 'gallery', 'create', auth.state.accesses, auth.state.access.roles) ? [{ method: () => openPhotoPopup(null), label: 'Add Photo' }] : [])\n ]\"\n class=\"mn-b-small bg-light bg-light radius-big\"\n />\n\n <Feed\n v-model:items=\"photos\"\n v-model:sort=\"sort\"\n v-model:date=\"date\"\n :states=\"{\n empty: {\n title: 'No Photos Found',\n description: 'Currently, there are no photos in gallery.'\n },\n }\"\n :store=\"{\n read: (options) => gallery.read(options)\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n ...(tab !== 'all' && { status: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-3 mobile:cols-1 gap-thin\"\n >\n <div v-for=\"item in items\" :key=\"item._id\" class=\"bg-light radius-small flex-column pos-relative flex-wrap\">\n\n <CardHeader \n :entity=\"item\"\n :entityType=\"'photo'\"\n :user=\"auth.state.user._id\"\n :owner=\"item.creator\" \n :creator=\"item.creator\"\n :date=\"item.createdAt\"\n :actions=\"[\n ...(hasAccess(route.params._id, 'gallery', 'delete', auth.state.accesses, auth.state.access.roles) ? [{ method: () => deletePhoto(item), label: 'Delete' }] : []),\n ...(hasAccess(route.params._id, 'gallery', 'edit', auth.state.accesses, auth.state.access.roles) ? [\n ...(item.status !== 'archived' ? [{ method: () => changeStatus(item, 'archived'), label: 'Archive' }] : []),\n ...(item.status !== 'published' ? [{ method: () => changeStatus(item, 'published'), label: 'Publish' }] : []),\n ...(item.status !== 'draft' ? [{ method: () => changeStatus(item, 'draft'), label: 'Draft' }] : [])\n ] : [])\n ]\"\n class=\"pd-small mn-b-small\"\n />\n\n <div class=\"pos-relative\">\n <img loading=\"lazy\" \n :src=\"(FILE_SERVER_URL || '') + item.cover\" \n class=\"w-100 h-20r object-fit-contain bg-black \" @click=\"openPreviewPopup(item)\" \n />\n <div \n class=\"pos-absolute pos-t-0 pos-r-0 pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-r-small mn-t-small w-min bg-second radius-extra\"\n >\n {{item.status}}\n </div>\n </div>\n \n <div class=\"pd-small\">\n <Chips \n v-if=\"item.tags?.length > 0\" \n :chips=\"item.tags\"\n />\n </div>\n </div>\n </Feed>\n\n <Popup \n @close-popup=\"closePreviewPopup\" \n :isPopupOpen=\"isOpenPreviewPopup\"\n class=\"bg-black o-hidden w-100 h-100 radius-big\"\n >\n <PhotoViewer\n :photoUrl=\"selectedPhoto.image\"\n />\n </Popup>\n\n <Popup \n title=\"Add Photo\" \n @close-popup=\"closePhotoPopup\" \n :isPopupOpen=\"isOpenPhotoPopup\"\n class=\"bg-white w-max-30r radius-big pd-big\"\n >\n <img loading=\"lazy\" \n v-if=\"selectedImage.cover\" \n :src=\"selectedImage.cover\" \n class=\"radius-small w-100 mn-b-small h-20r object-fit-cover \" \n />\n\n <EditImages \n :images=\"uploadedImages\" \n :uploadPath=\"'/photos'\" \n @update:images=\"onUpdatedImages\" \n class=\"mn-b-semi bg-light radius-medium\"\n />\n\n <BlockTags\n @tags-changed=\"newTags => selectedImage.tags = newTags\"\n :tags=\"selectedImage.tags\"\n :tagsSuggested=\"[\n {text: 'people' },\n {text: 'events' },\n {text: 'place' },\n {text: 'food' },\n {text: 'drinks' },\n {text: 'special' },\n ]\"\n class=\"mn-b-semi\"\n />\n\n <div class=\"flex-nowrap flex gap-thin\">\n <Button \n :submit=\"() => createPhoto('draft')\" \n :callback=\"closePhotoPopup\" \n class=\"t-nowrap bg-second w-100\"\n >\n To drafts\n </Button>\n <Button \n :submit=\"() => createPhoto('published')\" \n :callback=\"closePhotoPopup\" \n class=\"bg-main w-100\"\n >\n Publish\n </Button>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, reactive, computed } from 'vue'\nimport { useRoute } from 'vue-router'\n\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue'\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport SelectMulti from '@martyrs/src/components/SelectMulti/SelectMulti.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PhotoViewer from '@martyrs/src/components/PhotoViewer/PhotoViewer.vue'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js';\n \nimport gallery from '@martyrs/src/modules/gallery/store/gallery.js';\n\nimport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\nimport SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\n\nimport EditImages from '@martyrs/src/components/EditImages/EditImages.vue';\nimport BlockTags from '@martyrs/src/components/FieldTags/BlockTags.vue';\n\nconst route = useRoute();\n\n// Tabs\nconst tab = ref('all')\n// Sort\nlet sort = ref({\n param: 'createdAt',\n order: 'desc',\n options: [{\n label: 'Date',\n value: 'createdAt'\n },{\n label: 'Popularity',\n value: 'views'\n },{\n label: 'Creator',\n value: 'creator'\n }]\n})\n// Date\nlet date = ref({\n start: null,\n end: null\n})\n// Popup\n// Preview Photo\nconst isOpenPreviewPopup = ref(false);\nfunction openPreviewPopup(photo) {\n isOpenPreviewPopup.value = true;\n selectedPhoto.value = photo;\n}\nfunction closePreviewPopup() {\n isOpenPreviewPopup.value = false;\n selectedPhoto.value = null;\n}\n// Add Photo\nconst isOpenPhotoPopup = ref(false);\nfunction openPhotoPopup(photo) {\n isOpenPhotoPopup.value = true;\n selectedPhoto.value = photo;\n}\nfunction closePhotoPopup() {\n isOpenPhotoPopup.value = false;\n selectedPhoto.value = null;\n uploadedImages.value = [];\n selectedImage.value = { tags: null, image: null };\n}\n// Selected Photo\nconst selectedPhoto = ref(null);\nconst selectedCategory = ref('all')\nconst selectedImage = ref({\n tags: null,\n image: null\n})\nconst uploadedImages = ref([])\nconst onUpdatedImages = (newImages) => {\n uploadedImages.value = newImages\n}\n// Gallery Grid\nconst photos = ref([])\n\nconst deletePhoto = async (item) => {\n let deletedPhoto = JSON.parse(JSON.stringify(item));\n\n deletedPhoto.owner.target = deletedPhoto.owner.target._id\n deletedPhoto.creator.target = deletedPhoto.creator.target._id\n\n await gallery.delete(deletedPhoto);\n\n gallery.removeItem(deletedPhoto, photos.value)\n};\n\nconst changeStatus = async (item, status) => {\n let updatedPhoto = JSON.parse(JSON.stringify(item));\n\n updatedPhoto.status = status\n\n updatedPhoto.owner.target = updatedPhoto.owner.target._id\n updatedPhoto.creator.target = updatedPhoto.creator.target._id\n\n updatedPhoto = await gallery.update(updatedPhoto)\n gallery.updateItem(updatedPhoto, photos.value)\n}\n\nconst createPhoto = async (status) => {\n if (uploadedImages.length < 1) {\n alert('Upload at least 1 image')\n return\n }\n\n let createdPhotos = await gallery.create({\n images: uploadedImages.value,\n tags: selectedImage.value.tags,\n status: status,\n owner: {\n type: 'Organization',\n target: route.params._id\n },\n creator: {\n type: 'User',\n target: auth.state.user._id\n }\n })\n\n for (let createdPhoto of createdPhotos) {\n gallery.addItem(createdPhoto, photos.value)\n }\n}\n</script>\n\n<style scoped>\n</style>"],"names":["auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA2KA,UAAM,QAAQ,SAAU;AAGxB,UAAM,MAAM,IAAI,KAAK;AAErB,QAAI,OAAO,IAAI;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACX,GAAI;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACX,GAAI;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACR,CAAA;AAAA,IACH,CAAC;AAED,QAAI,OAAO,IAAI;AAAA,MACb,OAAO;AAAA,MACP,KAAK;AAAA,IACP,CAAC;AAGD,UAAM,qBAAqB,IAAI,KAAK;AACpC,aAAS,iBAAiB,OAAO;AAC/B,yBAAmB,QAAQ;AAC3B,oBAAc,QAAQ;AAAA,IACxB;AACA,aAAS,oBAAoB;AAC3B,yBAAmB,QAAQ;AAC3B,oBAAc,QAAQ;AAAA,IACxB;AAEA,UAAM,mBAAmB,IAAI,KAAK;AAClC,aAAS,eAAe,OAAO;AAC7B,uBAAiB,QAAQ;AACzB,oBAAc,QAAQ;AAAA,IACxB;AACA,aAAS,kBAAkB;AACzB,uBAAiB,QAAQ;AACzB,oBAAc,QAAQ;AACtB,qBAAe,QAAQ,CAAE;AACzB,oBAAc,QAAQ,EAAE,MAAM,MAAM,OAAO,KAAM;AAAA,IACnD;AAEA,UAAM,gBAAgB,IAAI,IAAI;AACL,QAAI,KAAK;AAClC,UAAM,gBAAgB,IAAI;AAAA,MACxB,MAAM;AAAA,MACN,OAAO;AAAA,IACT,CAAC;AACD,UAAM,iBAAiB,IAAI,CAAE,CAAA;AAC7B,UAAM,kBAAkB,CAAC,cAAc;AACrC,qBAAe,QAAQ;AAAA,IACzB;AAEA,UAAM,SAAS,IAAI,CAAE,CAAA;AAErB,UAAM,cAAc,OAAO,SAAS;AAClC,UAAI,eAAe,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAElD,mBAAa,MAAM,SAAS,aAAa,MAAM,OAAO;AACtD,mBAAa,QAAQ,SAAS,aAAa,QAAQ,OAAO;AAE1D,YAAM,QAAQ,OAAO,YAAY;AAEjC,cAAQ,WAAW,cAAc,OAAO,KAAK;AAAA,IAC/C;AAEA,UAAM,eAAe,OAAO,MAAM,WAAW;AAC3C,UAAI,eAAe,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAElD,mBAAa,SAAS;AAEtB,mBAAa,MAAM,SAAS,aAAa,MAAM,OAAO;AACtD,mBAAa,QAAQ,SAAS,aAAa,QAAQ,OAAO;AAE1D,qBAAe,MAAM,QAAQ,OAAO,YAAY;AAChD,cAAQ,WAAW,cAAc,OAAO,KAAK;AAAA,IAC/C;AAEA,UAAM,cAAc,OAAO,WAAW;AACpC,UAAI,eAAe,SAAS,GAAG;AAC7B,cAAM,yBAAyB;AAC/B;AAAA,MACJ;AAEE,UAAI,gBAAgB,MAAM,QAAQ,OAAO;AAAA,QACvC,QAAQ,eAAe;AAAA,QACvB,MAAM,cAAc,MAAM;AAAA,QAC1B;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,UACN,QAAQ,MAAM,OAAO;AAAA,QACtB;AAAA,QACD,SAAS;AAAA,UACP,MAAM;AAAA,UACN,QAAQA,MAAW,KAAK;AAAA,QAC9B;AAAA,MACG,CAAA;AAED,eAAS,gBAAgB,eAAe;AACtC,gBAAQ,QAAQ,cAAc,OAAO,KAAK;AAAA,MAC9C;AAAA,IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"BackofficeGallery.vue.js","sources":["../../../../../../../src/modules/gallery/components/sections/BackofficeGallery.vue"],"sourcesContent":["<template>\n <div class=\"cols-1 gap-thin pd-thin\">\n <SectionPageTitle\n title=\"Gallery\"\n @update:tabs_current=\"(update) => tab = update\"\n :tabs_current=\"tab\"\n :tabs=\"[\n { name: 'All', value: 'all' },\n { name: 'Featured', value: 'featured' },\n { name: 'Published', value: 'published' },\n { name: 'Draft', value: 'draft' },\n { name: 'Archived', value: 'archived' }\n ]\"\n :actions=\"[\n ...(hasAccess(route.params._id, 'gallery', 'create', auth.state.accesses, auth.state.access.roles) ? [{ method: () => openPhotoPopup(null), label: 'Add Photo' }] : [])\n ]\"\n class=\"mn-b-small bg-light bg-light radius-big\"\n />\n\n <Feed\n v-model:items=\"photos\"\n v-model:sort=\"sort\"\n v-model:date=\"date\"\n :states=\"{\n empty: {\n title: 'No Photos Found',\n description: 'Currently, there are no photos in gallery.'\n },\n }\"\n :store=\"{\n read: (options) => gallery.read(options)\n }\"\n :options=\"{\n limit: 15,\n owner: route.params._id,\n ...(tab !== 'all' && { status: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"cols-3 mobile:cols-1 gap-thin\"\n >\n <div v-for=\"item in items\" :key=\"item._id\" class=\"bg-light radius-small flex-column pos-relative flex-wrap\">\n\n <CardHeader \n :entity=\"item\"\n :entityType=\"'photo'\"\n :user=\"auth.state.user._id\"\n :owner=\"item.creator\" \n :creator=\"item.creator\"\n :date=\"item.createdAt\"\n :actions=\"[\n ...(hasAccess(route.params._id, 'gallery', 'delete', auth.state.accesses, auth.state.access.roles) ? [{ method: () => deletePhoto(item), label: 'Delete' }] : []),\n ...(hasAccess(route.params._id, 'gallery', 'edit', auth.state.accesses, auth.state.access.roles) ? [\n ...(item.status !== 'archived' ? [{ method: () => changeStatus(item, 'archived'), label: 'Archive' }] : []),\n ...(item.status !== 'published' ? [{ method: () => changeStatus(item, 'published'), label: 'Publish' }] : []),\n ...(item.status !== 'draft' ? [{ method: () => changeStatus(item, 'draft'), label: 'Draft' }] : [])\n ] : [])\n ]\"\n class=\"pd-small mn-b-small\"\n />\n\n <div class=\"pos-relative\">\n <img loading=\"lazy\" \n :src=\"(FILE_SERVER_URL || '') + item.cover\" \n class=\"w-100 h-20r object-fit-contain bg-black \" @click=\"openPreviewPopup(item)\" \n />\n <div \n class=\"pos-absolute pos-t-0 pos-r-0 pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-r-small mn-t-small w-min bg-second radius-extra\"\n >\n {{item.status}}\n </div>\n </div>\n \n <div class=\"pd-small\">\n <Chips \n v-if=\"item.tags?.length > 0\" \n :chips=\"item.tags\"\n />\n </div>\n </div>\n </Feed>\n\n <Popup \n @close-popup=\"closePreviewPopup\" \n :isPopupOpen=\"isOpenPreviewPopup\"\n class=\"bg-black o-hidden w-100 h-100 radius-big\"\n >\n <PhotoViewer\n :photoUrl=\"selectedPhoto.image\"\n />\n </Popup>\n\n <Popup \n title=\"Add Photo\" \n @close-popup=\"closePhotoPopup\" \n :isPopupOpen=\"isOpenPhotoPopup\"\n class=\"bg-white w-max-30r radius-big pd-big\"\n >\n <img loading=\"lazy\" \n v-if=\"selectedImage.cover\" \n :src=\"selectedImage.cover\" \n class=\"radius-small w-100 mn-b-small h-20r object-fit-cover \" \n />\n\n <EditImages \n :images=\"uploadedImages\" \n :uploadPath=\"'/photos'\" \n @update:images=\"onUpdatedImages\" \n class=\"mn-b-semi bg-light radius-medium\"\n />\n\n <BlockTags\n @tags-changed=\"newTags => selectedImage.tags = newTags\"\n :tags=\"selectedImage.tags\"\n :tagsSuggested=\"[\n {text: 'people' },\n {text: 'events' },\n {text: 'place' },\n {text: 'food' },\n {text: 'drinks' },\n {text: 'special' },\n ]\"\n class=\"mn-b-semi\"\n />\n\n <div class=\"flex-nowrap flex gap-thin\">\n <Button \n :submit=\"() => createPhoto('draft')\" \n :callback=\"closePhotoPopup\" \n class=\"t-nowrap bg-second w-100\"\n >\n To drafts\n </Button>\n <Button \n :submit=\"() => createPhoto('published')\" \n :callback=\"closePhotoPopup\" \n class=\"bg-main w-100\"\n >\n Publish\n </Button>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, onMounted, reactive, computed } from 'vue'\nimport { useRoute } from 'vue-router'\n\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Select from '@martyrs/src/components/Select/Select.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue'\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport SelectMulti from '@martyrs/src/components/SelectMulti/SelectMulti.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PhotoViewer from '@martyrs/src/components/PhotoViewer/PhotoViewer.vue'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js';\n \nimport gallery from '@martyrs/src/modules/gallery/store/gallery.js';\n\nimport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\nimport SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\n\nimport EditImages from '@martyrs/src/components/EditImages/EditImages.vue';\nimport BlockTags from '@martyrs/src/components/FieldTags/BlockTags.vue';\n\nconst route = useRoute();\n\n// Tabs\nconst tab = ref('all')\n// Sort\nlet sort = ref({\n param: 'createdAt',\n order: 'desc',\n options: [{\n label: 'Date',\n value: 'createdAt'\n },{\n label: 'Popularity',\n value: 'views'\n },{\n label: 'Creator',\n value: 'creator'\n }]\n})\n// Date\nlet date = ref({\n start: null,\n end: null\n})\n// Popup\n// Preview Photo\nconst isOpenPreviewPopup = ref(false);\nfunction openPreviewPopup(photo) {\n isOpenPreviewPopup.value = true;\n selectedPhoto.value = photo;\n}\nfunction closePreviewPopup() {\n isOpenPreviewPopup.value = false;\n selectedPhoto.value = null;\n}\n// Add Photo\nconst isOpenPhotoPopup = ref(false);\nfunction openPhotoPopup(photo) {\n isOpenPhotoPopup.value = true;\n selectedPhoto.value = photo;\n}\nfunction closePhotoPopup() {\n isOpenPhotoPopup.value = false;\n selectedPhoto.value = null;\n uploadedImages.value = [];\n selectedImage.value = { tags: null, image: null };\n}\n// Selected Photo\nconst selectedPhoto = ref(null);\nconst selectedCategory = ref('all')\nconst selectedImage = ref({\n tags: null,\n image: null\n})\nconst uploadedImages = ref([])\nconst onUpdatedImages = (newImages) => {\n uploadedImages.value = newImages\n}\n// Gallery Grid\nconst photos = ref([])\n\nconst deletePhoto = async (item) => {\n let deletedPhoto = JSON.parse(JSON.stringify(item));\n\n deletedPhoto.owner.target = deletedPhoto.owner.target._id\n deletedPhoto.creator.target = deletedPhoto.creator.target._id\n\n await gallery.delete(deletedPhoto);\n\n gallery.removeItem(deletedPhoto, photos.value)\n};\n\nconst changeStatus = async (item, status) => {\n let updatedPhoto = JSON.parse(JSON.stringify(item));\n\n updatedPhoto.status = status\n\n updatedPhoto.owner.target = updatedPhoto.owner.target._id\n updatedPhoto.creator.target = updatedPhoto.creator.target._id\n\n updatedPhoto = await gallery.update(updatedPhoto)\n gallery.updateItem(updatedPhoto, photos.value)\n}\n\nconst createPhoto = async (status) => {\n if (uploadedImages.length < 1) {\n alert('Upload at least 1 image')\n return\n }\n\n let createdPhotos = await gallery.create({\n images: uploadedImages.value,\n tags: selectedImage.value.tags,\n status: status,\n owner: {\n type: 'Organization',\n target: route.params._id\n },\n creator: {\n type: 'User',\n target: auth.state.user._id\n }\n })\n\n for (let createdPhoto of createdPhotos) {\n gallery.addItem(createdPhoto, photos.value)\n }\n}\n</script>\n\n<style scoped>\n</style>"],"names":["auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2KA,UAAM,QAAQ,SAAU;AAGxB,UAAM,MAAM,IAAI,KAAK;AAErB,QAAI,OAAO,IAAI;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,CAAC;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,MACX,GAAI;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACX,GAAI;AAAA,QACA,OAAO;AAAA,QACP,OAAO;AAAA,MACR,CAAA;AAAA,IACH,CAAC;AAED,QAAI,OAAO,IAAI;AAAA,MACb,OAAO;AAAA,MACP,KAAK;AAAA,IACP,CAAC;AAGD,UAAM,qBAAqB,IAAI,KAAK;AACpC,aAAS,iBAAiB,OAAO;AAC/B,yBAAmB,QAAQ;AAC3B,oBAAc,QAAQ;AAAA,IACxB;AACA,aAAS,oBAAoB;AAC3B,yBAAmB,QAAQ;AAC3B,oBAAc,QAAQ;AAAA,IACxB;AAEA,UAAM,mBAAmB,IAAI,KAAK;AAClC,aAAS,eAAe,OAAO;AAC7B,uBAAiB,QAAQ;AACzB,oBAAc,QAAQ;AAAA,IACxB;AACA,aAAS,kBAAkB;AACzB,uBAAiB,QAAQ;AACzB,oBAAc,QAAQ;AACtB,qBAAe,QAAQ,CAAE;AACzB,oBAAc,QAAQ,EAAE,MAAM,MAAM,OAAO,KAAM;AAAA,IACnD;AAEA,UAAM,gBAAgB,IAAI,IAAI;AACL,QAAI,KAAK;AAClC,UAAM,gBAAgB,IAAI;AAAA,MACxB,MAAM;AAAA,MACN,OAAO;AAAA,IACT,CAAC;AACD,UAAM,iBAAiB,IAAI,CAAE,CAAA;AAC7B,UAAM,kBAAkB,CAAC,cAAc;AACrC,qBAAe,QAAQ;AAAA,IACzB;AAEA,UAAM,SAAS,IAAI,CAAE,CAAA;AAErB,UAAM,cAAc,OAAO,SAAS;AAClC,UAAI,eAAe,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAElD,mBAAa,MAAM,SAAS,aAAa,MAAM,OAAO;AACtD,mBAAa,QAAQ,SAAS,aAAa,QAAQ,OAAO;AAE1D,YAAM,QAAQ,OAAO,YAAY;AAEjC,cAAQ,WAAW,cAAc,OAAO,KAAK;AAAA,IAC/C;AAEA,UAAM,eAAe,OAAO,MAAM,WAAW;AAC3C,UAAI,eAAe,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAElD,mBAAa,SAAS;AAEtB,mBAAa,MAAM,SAAS,aAAa,MAAM,OAAO;AACtD,mBAAa,QAAQ,SAAS,aAAa,QAAQ,OAAO;AAE1D,qBAAe,MAAM,QAAQ,OAAO,YAAY;AAChD,cAAQ,WAAW,cAAc,OAAO,KAAK;AAAA,IAC/C;AAEA,UAAM,cAAc,OAAO,WAAW;AACpC,UAAI,eAAe,SAAS,GAAG;AAC7B,cAAM,yBAAyB;AAC/B;AAAA,MACJ;AAEE,UAAI,gBAAgB,MAAM,QAAQ,OAAO;AAAA,QACvC,QAAQ,eAAe;AAAA,QACvB,MAAM,cAAc,MAAM;AAAA,QAC1B;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,UACN,QAAQ,MAAM,OAAO;AAAA,QACtB;AAAA,QACD,SAAS;AAAA,UACP,MAAM;AAAA,UACN,QAAQA,MAAW,KAAK;AAAA,QAC9B;AAAA,MACG,CAAA;AAED,eAAS,gBAAgB,eAAe;AACtC,gBAAQ,QAAQ,cAAc,OAAO,KAAK;AAAA,MAC9C;AAAA,IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const index = require("../../../../../../_virtual/
|
|
3
|
+
const index = require("../../../../../../_virtual/index.cjs");
|
|
4
4
|
class I18nManager {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.moduleLocales = /* @__PURE__ */ new Map();
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const globals = require("../store/globals.cjs");
|
|
5
|
+
const querySerializer = require("../utils/query-serializer.cjs");
|
|
5
6
|
class Store {
|
|
6
7
|
constructor(apiUrl) {
|
|
7
8
|
this.state = vue.reactive({
|
|
@@ -12,67 +13,32 @@ class Store {
|
|
|
12
13
|
}
|
|
13
14
|
// Simplified request method with enhanced debugging
|
|
14
15
|
async request(endpoint, options = {}) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
headers: {}
|
|
21
|
-
};
|
|
16
|
+
let url = endpoint.startsWith("http") ? endpoint : `${this.apiUrl}${endpoint}`;
|
|
17
|
+
if (options.params) {
|
|
18
|
+
url = querySerializer.buildURL(url, options.params);
|
|
19
|
+
delete options.params;
|
|
20
|
+
}
|
|
22
21
|
const finalOptions = {
|
|
23
|
-
|
|
22
|
+
credentials: "include",
|
|
23
|
+
headers: {},
|
|
24
24
|
...options
|
|
25
25
|
};
|
|
26
|
-
if (!finalOptions.headers["Content-Type"]
|
|
26
|
+
if (finalOptions.body && !finalOptions.headers["Content-Type"]) {
|
|
27
27
|
finalOptions.headers["Content-Type"] = "application/json";
|
|
28
|
-
finalOptions.body = JSON.stringify(
|
|
28
|
+
finalOptions.body = JSON.stringify(finalOptions.body);
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
);
|
|
39
|
-
const response = await fetch(url, finalOptions);
|
|
40
|
-
console.log(`Response status: ${response.status}`);
|
|
41
|
-
const responseHeaders = {};
|
|
42
|
-
response.headers.forEach((value, key) => {
|
|
43
|
-
responseHeaders[key] = value;
|
|
44
|
-
});
|
|
45
|
-
console.log("Response headers:", responseHeaders);
|
|
46
|
-
if (!response.ok) {
|
|
47
|
-
let errorData;
|
|
48
|
-
try {
|
|
49
|
-
errorData = await response.json();
|
|
50
|
-
} catch (jsonError) {
|
|
51
|
-
console.error("Failed to parse error response as JSON:", jsonError);
|
|
52
|
-
errorData = { message: "Failed to parse server response" };
|
|
53
|
-
}
|
|
54
|
-
console.error("Server returned error:", errorData);
|
|
55
|
-
const error = new Error(errorData.message || `Server returned ${response.status}`);
|
|
56
|
-
error.status = response.status;
|
|
57
|
-
error.errorCode = errorData.errorCode || "UNKNOWN_ERROR";
|
|
58
|
-
error.responseText = await response.text().catch(() => "Unable to get response text");
|
|
59
|
-
throw error;
|
|
60
|
-
}
|
|
61
|
-
const data = await response.json();
|
|
62
|
-
console.log("Response data received successfully");
|
|
63
|
-
return data;
|
|
64
|
-
} catch (error) {
|
|
65
|
-
console.error("Request failed:", error);
|
|
66
|
-
if (error.name === "TypeError" && error.message.includes("Failed to fetch")) {
|
|
67
|
-
console.error("Network error detected. This might indicate a CORS issue, network connectivity problem, or the server is down.");
|
|
68
|
-
const enhancedError = new Error("Network error: Unable to connect to the server");
|
|
69
|
-
enhancedError.originalError = error;
|
|
70
|
-
globals.setError(enhancedError);
|
|
71
|
-
throw enhancedError;
|
|
30
|
+
console.log(`→ ${finalOptions.method || "GET"} ${url}`);
|
|
31
|
+
const res = await fetch(url, finalOptions);
|
|
32
|
+
if (!res.ok) {
|
|
33
|
+
const err = new Error(`Status ${res.status}`);
|
|
34
|
+
err.status = res.status;
|
|
35
|
+
try {
|
|
36
|
+
err.info = await res.json();
|
|
37
|
+
} catch {
|
|
72
38
|
}
|
|
73
|
-
|
|
74
|
-
throw error;
|
|
39
|
+
throw err;
|
|
75
40
|
}
|
|
41
|
+
return res.json();
|
|
76
42
|
}
|
|
77
43
|
async create(item) {
|
|
78
44
|
console.log("Creating item:", item);
|
|
@@ -95,11 +61,11 @@ class Store {
|
|
|
95
61
|
throw error;
|
|
96
62
|
}
|
|
97
63
|
}
|
|
98
|
-
|
|
99
|
-
|
|
64
|
+
// вместо текущего read()
|
|
65
|
+
async read(params = {}) {
|
|
66
|
+
console.log("Reading items with params:", params);
|
|
100
67
|
try {
|
|
101
|
-
const
|
|
102
|
-
const result = await this.request(`/read?${queryParams}`);
|
|
68
|
+
const result = await this.request("/read", { params });
|
|
103
69
|
console.log(`Read operation returned ${result.length || 0} items`);
|
|
104
70
|
return result;
|
|
105
71
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.store.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.store.js"],"sourcesContent":["import { reactive } from 'vue';\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n\nclass Store {\n constructor(apiUrl) {\n this.state = reactive({\n items: [],\n current: {},\n });\n this.apiUrl = apiUrl;\n // console.log(`Store initialized with API URL: ${apiUrl}`);\n }\n\n // Simplified request method with enhanced debugging\n async request(endpoint, options = {}) {\n const url = endpoint.startsWith('http') ? endpoint : `${this.apiUrl}${endpoint}`;\n console.log(`Making request to: ${url}`, { method: options.method || 'GET' });\n\n const defaultOptions = {\n credentials: 'include', // Assumes credentials needed for each request\n headers: {},\n };\n const finalOptions = {\n ...defaultOptions,\n ...options,\n };\n\n // Set default headers if content type is not explicitly set\n if (!finalOptions.headers['Content-Type'] && options.body) {\n finalOptions.headers['Content-Type'] = 'application/json';\n finalOptions.body = JSON.stringify(options.body);\n }\n\n try {\n console.log(\n 'Request options:',\n JSON.stringify({\n method: finalOptions.method,\n headers: finalOptions.headers,\n bodyLength: finalOptions.body ? JSON.stringify(finalOptions.body).length : 0,\n })\n );\n\n const response = await fetch(url, finalOptions);\n console.log(`Response status: ${response.status}`);\n\n // Log response headers for debugging\n const responseHeaders = {};\n response.headers.forEach((value, key) => {\n responseHeaders[key] = value;\n });\n console.log('Response headers:', responseHeaders);\n\n if (!response.ok) {\n let errorData;\n try {\n errorData = await response.json();\n } catch (jsonError) {\n console.error('Failed to parse error response as JSON:', jsonError);\n errorData = { message: 'Failed to parse server response' };\n }\n\n console.error('Server returned error:', errorData);\n const error = new Error(errorData.message || `Server returned ${response.status}`);\n error.status = response.status;\n error.errorCode = errorData.errorCode || 'UNKNOWN_ERROR';\n error.responseText = await response.text().catch(() => 'Unable to get response text');\n throw error;\n }\n\n const data = await response.json();\n console.log('Response data received successfully');\n return data;\n } catch (error) {\n console.error('Request failed:', error);\n if (error.name === 'TypeError' && error.message.includes('Failed to fetch')) {\n console.error('Network error detected. This might indicate a CORS issue, network connectivity problem, or the server is down.');\n const enhancedError = new Error('Network error: Unable to connect to the server');\n enhancedError.originalError = error;\n setError(enhancedError);\n throw enhancedError;\n }\n\n setError(error);\n throw error;\n }\n }\n\n async create(item) {\n console.log('Creating item:', item);\n try {\n const result = await this.request('/create', {\n method: 'POST',\n body: item,\n });\n console.log('Create operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Create operation failed:', error);\n // Log specific error details\n if (error.status) {\n console.error(`HTTP Status: ${error.status}`);\n }\n if (error.errorCode) {\n console.error(`Error Code: ${error.errorCode}`);\n }\n setError(error);\n throw error;\n }\n }\n\n async read(options = {}) {\n console.log('Reading items with options:', options);\n try {\n const queryParams = new URLSearchParams(options).toString();\n const result = await this.request(`/read?${queryParams}`);\n console.log(`Read operation returned ${result.length || 0} items`);\n return result;\n } catch (error) {\n console.error('Read operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n async update(item) {\n console.log('Updating item:', item);\n try {\n const result = await this.request('/update', {\n method: 'PUT',\n body: item,\n });\n console.log('Update operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Update operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n async delete(item) {\n console.log('Deleting item:', item);\n try {\n const result = await this.request(`/delete`, {\n method: 'DELETE',\n body: item,\n });\n console.log('Delete operation succeeded');\n return result;\n } catch (error) {\n console.error('Delete operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n // Enhanced Mutations utilizing Vue reactivity system efficiently\n setItems(items, state) {\n console.log(`Setting ${items.length} items in state`);\n const targetState = state || this.state.items;\n if (Array.isArray(targetState)) {\n targetState.splice(0, targetState.length, ...items);\n } else {\n console.error('Target state is not an array in setItems');\n }\n }\n\n addItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const existingItemIndex = targetState.findIndex(i => i[property] === item[property]);\n\n if (existingItemIndex === -1) {\n console.log('Adding new item to state');\n targetState.splice(0, 0, item);\n } else {\n console.log('Updating existing item in state');\n Object.assign(targetState[existingItemIndex], item);\n }\n }\n\n updateItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Replacing item in state');\n targetState.splice(index, 1, item);\n } else {\n console.log('Item not found for update in state');\n }\n }\n\n removeItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n // Поиск и удаление элемента по указанному ключу\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Removing item from state');\n targetState.splice(index, 1);\n } else {\n console.log('Item not found for removal from state');\n }\n }\n}\n\nexport default Store;\n"],"names":["reactive","setError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"globals.store.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.store.js"],"sourcesContent":["import { reactive } from 'vue';\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\nimport { buildURL } from '../utils/query-serializer.js';\n\nclass Store {\n constructor(apiUrl) {\n this.state = reactive({\n items: [],\n current: {},\n });\n this.apiUrl = apiUrl;\n // console.log(`Store initialized with API URL: ${apiUrl}`);\n }\n\n // Simplified request method with enhanced debugging\n async request(endpoint, options = {}) {\n // собираем URL\n let url = endpoint.startsWith('http')\n ? endpoint\n : `${this.apiUrl}${endpoint}`;\n\n // если есть params — используем axios-like сериализацию\n if (options.params) {\n url = buildURL(url, options.params);\n delete options.params;\n }\n\n // по умолчанию GET, include credentials\n const finalOptions = {\n credentials: 'include',\n headers: {},\n ...options,\n };\n\n // если есть body — JSONify\n if (finalOptions.body && !finalOptions.headers['Content-Type']) {\n finalOptions.headers['Content-Type'] = 'application/json';\n finalOptions.body = JSON.stringify(finalOptions.body);\n }\n\n console.log(`→ ${finalOptions.method || 'GET'} ${url}`);\n const res = await fetch(url, finalOptions);\n if (!res.ok) {\n const err = new Error(`Status ${res.status}`);\n err.status = res.status;\n try { err.info = await res.json(); } catch {}\n throw err;\n }\n return res.json();\n }\n\n async create(item) {\n console.log('Creating item:', item);\n try {\n const result = await this.request('/create', {\n method: 'POST',\n body: item,\n });\n console.log('Create operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Create operation failed:', error);\n // Log specific error details\n if (error.status) {\n console.error(`HTTP Status: ${error.status}`);\n }\n if (error.errorCode) {\n console.error(`Error Code: ${error.errorCode}`);\n }\n setError(error);\n throw error;\n }\n }\n\n // вместо текущего read()\n async read(params = {}) {\n console.log('Reading items with params:', params);\n try {\n // передаём все параметры в this.request через params\n const result = await this.request('/read', { params });\n console.log(`Read operation returned ${result.length || 0} items`);\n return result;\n } catch (error) {\n console.error('Read operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n\n async update(item) {\n console.log('Updating item:', item);\n try {\n const result = await this.request('/update', {\n method: 'PUT',\n body: item,\n });\n console.log('Update operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Update operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n async delete(item) {\n console.log('Deleting item:', item);\n try {\n const result = await this.request(`/delete`, {\n method: 'DELETE',\n body: item,\n });\n console.log('Delete operation succeeded');\n return result;\n } catch (error) {\n console.error('Delete operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n // Enhanced Mutations utilizing Vue reactivity system efficiently\n setItems(items, state) {\n console.log(`Setting ${items.length} items in state`);\n const targetState = state || this.state.items;\n if (Array.isArray(targetState)) {\n targetState.splice(0, targetState.length, ...items);\n } else {\n console.error('Target state is not an array in setItems');\n }\n }\n\n addItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const existingItemIndex = targetState.findIndex(i => i[property] === item[property]);\n\n if (existingItemIndex === -1) {\n console.log('Adding new item to state');\n targetState.splice(0, 0, item);\n } else {\n console.log('Updating existing item in state');\n Object.assign(targetState[existingItemIndex], item);\n }\n }\n\n updateItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Replacing item in state');\n targetState.splice(index, 1, item);\n } else {\n console.log('Item not found for update in state');\n }\n }\n\n removeItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n // Поиск и удаление элемента по указанному ключу\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Removing item from state');\n targetState.splice(index, 1);\n } else {\n console.log('Item not found for removal from state');\n }\n }\n}\n\nexport default Store;\n"],"names":["reactive","buildURL","setError"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { reactive } from "vue";
|
|
2
2
|
import { setError } from "../store/globals.js";
|
|
3
|
+
import { buildURL } from "../utils/query-serializer.js";
|
|
3
4
|
class Store {
|
|
4
5
|
constructor(apiUrl) {
|
|
5
6
|
this.state = reactive({
|
|
@@ -10,67 +11,32 @@ class Store {
|
|
|
10
11
|
}
|
|
11
12
|
// Simplified request method with enhanced debugging
|
|
12
13
|
async request(endpoint, options = {}) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
headers: {}
|
|
19
|
-
};
|
|
14
|
+
let url = endpoint.startsWith("http") ? endpoint : `${this.apiUrl}${endpoint}`;
|
|
15
|
+
if (options.params) {
|
|
16
|
+
url = buildURL(url, options.params);
|
|
17
|
+
delete options.params;
|
|
18
|
+
}
|
|
20
19
|
const finalOptions = {
|
|
21
|
-
|
|
20
|
+
credentials: "include",
|
|
21
|
+
headers: {},
|
|
22
22
|
...options
|
|
23
23
|
};
|
|
24
|
-
if (!finalOptions.headers["Content-Type"]
|
|
24
|
+
if (finalOptions.body && !finalOptions.headers["Content-Type"]) {
|
|
25
25
|
finalOptions.headers["Content-Type"] = "application/json";
|
|
26
|
-
finalOptions.body = JSON.stringify(
|
|
26
|
+
finalOptions.body = JSON.stringify(finalOptions.body);
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
);
|
|
37
|
-
const response = await fetch(url, finalOptions);
|
|
38
|
-
console.log(`Response status: ${response.status}`);
|
|
39
|
-
const responseHeaders = {};
|
|
40
|
-
response.headers.forEach((value, key) => {
|
|
41
|
-
responseHeaders[key] = value;
|
|
42
|
-
});
|
|
43
|
-
console.log("Response headers:", responseHeaders);
|
|
44
|
-
if (!response.ok) {
|
|
45
|
-
let errorData;
|
|
46
|
-
try {
|
|
47
|
-
errorData = await response.json();
|
|
48
|
-
} catch (jsonError) {
|
|
49
|
-
console.error("Failed to parse error response as JSON:", jsonError);
|
|
50
|
-
errorData = { message: "Failed to parse server response" };
|
|
51
|
-
}
|
|
52
|
-
console.error("Server returned error:", errorData);
|
|
53
|
-
const error = new Error(errorData.message || `Server returned ${response.status}`);
|
|
54
|
-
error.status = response.status;
|
|
55
|
-
error.errorCode = errorData.errorCode || "UNKNOWN_ERROR";
|
|
56
|
-
error.responseText = await response.text().catch(() => "Unable to get response text");
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
const data = await response.json();
|
|
60
|
-
console.log("Response data received successfully");
|
|
61
|
-
return data;
|
|
62
|
-
} catch (error) {
|
|
63
|
-
console.error("Request failed:", error);
|
|
64
|
-
if (error.name === "TypeError" && error.message.includes("Failed to fetch")) {
|
|
65
|
-
console.error("Network error detected. This might indicate a CORS issue, network connectivity problem, or the server is down.");
|
|
66
|
-
const enhancedError = new Error("Network error: Unable to connect to the server");
|
|
67
|
-
enhancedError.originalError = error;
|
|
68
|
-
setError(enhancedError);
|
|
69
|
-
throw enhancedError;
|
|
28
|
+
console.log(`→ ${finalOptions.method || "GET"} ${url}`);
|
|
29
|
+
const res = await fetch(url, finalOptions);
|
|
30
|
+
if (!res.ok) {
|
|
31
|
+
const err = new Error(`Status ${res.status}`);
|
|
32
|
+
err.status = res.status;
|
|
33
|
+
try {
|
|
34
|
+
err.info = await res.json();
|
|
35
|
+
} catch {
|
|
70
36
|
}
|
|
71
|
-
|
|
72
|
-
throw error;
|
|
37
|
+
throw err;
|
|
73
38
|
}
|
|
39
|
+
return res.json();
|
|
74
40
|
}
|
|
75
41
|
async create(item) {
|
|
76
42
|
console.log("Creating item:", item);
|
|
@@ -93,11 +59,11 @@ class Store {
|
|
|
93
59
|
throw error;
|
|
94
60
|
}
|
|
95
61
|
}
|
|
96
|
-
|
|
97
|
-
|
|
62
|
+
// вместо текущего read()
|
|
63
|
+
async read(params = {}) {
|
|
64
|
+
console.log("Reading items with params:", params);
|
|
98
65
|
try {
|
|
99
|
-
const
|
|
100
|
-
const result = await this.request(`/read?${queryParams}`);
|
|
66
|
+
const result = await this.request("/read", { params });
|
|
101
67
|
console.log(`Read operation returned ${result.length || 0} items`);
|
|
102
68
|
return result;
|
|
103
69
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.store.js","sources":["../../../../../../../src/modules/globals/views/classes/globals.store.js"],"sourcesContent":["import { reactive } from 'vue';\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n\nclass Store {\n constructor(apiUrl) {\n this.state = reactive({\n items: [],\n current: {},\n });\n this.apiUrl = apiUrl;\n // console.log(`Store initialized with API URL: ${apiUrl}`);\n }\n\n // Simplified request method with enhanced debugging\n async request(endpoint, options = {}) {\n const url = endpoint.startsWith('http') ? endpoint : `${this.apiUrl}${endpoint}`;\n console.log(`Making request to: ${url}`, { method: options.method || 'GET' });\n\n const defaultOptions = {\n credentials: 'include', // Assumes credentials needed for each request\n headers: {},\n };\n const finalOptions = {\n ...defaultOptions,\n ...options,\n };\n\n // Set default headers if content type is not explicitly set\n if (!finalOptions.headers['Content-Type'] && options.body) {\n finalOptions.headers['Content-Type'] = 'application/json';\n finalOptions.body = JSON.stringify(options.body);\n }\n\n try {\n console.log(\n 'Request options:',\n JSON.stringify({\n method: finalOptions.method,\n headers: finalOptions.headers,\n bodyLength: finalOptions.body ? JSON.stringify(finalOptions.body).length : 0,\n })\n );\n\n const response = await fetch(url, finalOptions);\n console.log(`Response status: ${response.status}`);\n\n // Log response headers for debugging\n const responseHeaders = {};\n response.headers.forEach((value, key) => {\n responseHeaders[key] = value;\n });\n console.log('Response headers:', responseHeaders);\n\n if (!response.ok) {\n let errorData;\n try {\n errorData = await response.json();\n } catch (jsonError) {\n console.error('Failed to parse error response as JSON:', jsonError);\n errorData = { message: 'Failed to parse server response' };\n }\n\n console.error('Server returned error:', errorData);\n const error = new Error(errorData.message || `Server returned ${response.status}`);\n error.status = response.status;\n error.errorCode = errorData.errorCode || 'UNKNOWN_ERROR';\n error.responseText = await response.text().catch(() => 'Unable to get response text');\n throw error;\n }\n\n const data = await response.json();\n console.log('Response data received successfully');\n return data;\n } catch (error) {\n console.error('Request failed:', error);\n if (error.name === 'TypeError' && error.message.includes('Failed to fetch')) {\n console.error('Network error detected. This might indicate a CORS issue, network connectivity problem, or the server is down.');\n const enhancedError = new Error('Network error: Unable to connect to the server');\n enhancedError.originalError = error;\n setError(enhancedError);\n throw enhancedError;\n }\n\n setError(error);\n throw error;\n }\n }\n\n async create(item) {\n console.log('Creating item:', item);\n try {\n const result = await this.request('/create', {\n method: 'POST',\n body: item,\n });\n console.log('Create operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Create operation failed:', error);\n // Log specific error details\n if (error.status) {\n console.error(`HTTP Status: ${error.status}`);\n }\n if (error.errorCode) {\n console.error(`Error Code: ${error.errorCode}`);\n }\n setError(error);\n throw error;\n }\n }\n\n async read(options = {}) {\n console.log('Reading items with options:', options);\n try {\n const queryParams = new URLSearchParams(options).toString();\n const result = await this.request(`/read?${queryParams}`);\n console.log(`Read operation returned ${result.length || 0} items`);\n return result;\n } catch (error) {\n console.error('Read operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n async update(item) {\n console.log('Updating item:', item);\n try {\n const result = await this.request('/update', {\n method: 'PUT',\n body: item,\n });\n console.log('Update operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Update operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n async delete(item) {\n console.log('Deleting item:', item);\n try {\n const result = await this.request(`/delete`, {\n method: 'DELETE',\n body: item,\n });\n console.log('Delete operation succeeded');\n return result;\n } catch (error) {\n console.error('Delete operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n // Enhanced Mutations utilizing Vue reactivity system efficiently\n setItems(items, state) {\n console.log(`Setting ${items.length} items in state`);\n const targetState = state || this.state.items;\n if (Array.isArray(targetState)) {\n targetState.splice(0, targetState.length, ...items);\n } else {\n console.error('Target state is not an array in setItems');\n }\n }\n\n addItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const existingItemIndex = targetState.findIndex(i => i[property] === item[property]);\n\n if (existingItemIndex === -1) {\n console.log('Adding new item to state');\n targetState.splice(0, 0, item);\n } else {\n console.log('Updating existing item in state');\n Object.assign(targetState[existingItemIndex], item);\n }\n }\n\n updateItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Replacing item in state');\n targetState.splice(index, 1, item);\n } else {\n console.log('Item not found for update in state');\n }\n }\n\n removeItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n // Поиск и удаление элемента по указанному ключу\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Removing item from state');\n targetState.splice(index, 1);\n } else {\n console.log('Item not found for removal from state');\n }\n }\n}\n\nexport default Store;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"globals.store.js","sources":["../../../../../../../src/modules/globals/views/classes/globals.store.js"],"sourcesContent":["import { reactive } from 'vue';\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\nimport { buildURL } from '../utils/query-serializer.js';\n\nclass Store {\n constructor(apiUrl) {\n this.state = reactive({\n items: [],\n current: {},\n });\n this.apiUrl = apiUrl;\n // console.log(`Store initialized with API URL: ${apiUrl}`);\n }\n\n // Simplified request method with enhanced debugging\n async request(endpoint, options = {}) {\n // собираем URL\n let url = endpoint.startsWith('http')\n ? endpoint\n : `${this.apiUrl}${endpoint}`;\n\n // если есть params — используем axios-like сериализацию\n if (options.params) {\n url = buildURL(url, options.params);\n delete options.params;\n }\n\n // по умолчанию GET, include credentials\n const finalOptions = {\n credentials: 'include',\n headers: {},\n ...options,\n };\n\n // если есть body — JSONify\n if (finalOptions.body && !finalOptions.headers['Content-Type']) {\n finalOptions.headers['Content-Type'] = 'application/json';\n finalOptions.body = JSON.stringify(finalOptions.body);\n }\n\n console.log(`→ ${finalOptions.method || 'GET'} ${url}`);\n const res = await fetch(url, finalOptions);\n if (!res.ok) {\n const err = new Error(`Status ${res.status}`);\n err.status = res.status;\n try { err.info = await res.json(); } catch {}\n throw err;\n }\n return res.json();\n }\n\n async create(item) {\n console.log('Creating item:', item);\n try {\n const result = await this.request('/create', {\n method: 'POST',\n body: item,\n });\n console.log('Create operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Create operation failed:', error);\n // Log specific error details\n if (error.status) {\n console.error(`HTTP Status: ${error.status}`);\n }\n if (error.errorCode) {\n console.error(`Error Code: ${error.errorCode}`);\n }\n setError(error);\n throw error;\n }\n }\n\n // вместо текущего read()\n async read(params = {}) {\n console.log('Reading items with params:', params);\n try {\n // передаём все параметры в this.request через params\n const result = await this.request('/read', { params });\n console.log(`Read operation returned ${result.length || 0} items`);\n return result;\n } catch (error) {\n console.error('Read operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n\n async update(item) {\n console.log('Updating item:', item);\n try {\n const result = await this.request('/update', {\n method: 'PUT',\n body: item,\n });\n console.log('Update operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Update operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n async delete(item) {\n console.log('Deleting item:', item);\n try {\n const result = await this.request(`/delete`, {\n method: 'DELETE',\n body: item,\n });\n console.log('Delete operation succeeded');\n return result;\n } catch (error) {\n console.error('Delete operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n // Enhanced Mutations utilizing Vue reactivity system efficiently\n setItems(items, state) {\n console.log(`Setting ${items.length} items in state`);\n const targetState = state || this.state.items;\n if (Array.isArray(targetState)) {\n targetState.splice(0, targetState.length, ...items);\n } else {\n console.error('Target state is not an array in setItems');\n }\n }\n\n addItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const existingItemIndex = targetState.findIndex(i => i[property] === item[property]);\n\n if (existingItemIndex === -1) {\n console.log('Adding new item to state');\n targetState.splice(0, 0, item);\n } else {\n console.log('Updating existing item in state');\n Object.assign(targetState[existingItemIndex], item);\n }\n }\n\n updateItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Replacing item in state');\n targetState.splice(index, 1, item);\n } else {\n console.log('Item not found for update in state');\n }\n }\n\n removeItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n // Поиск и удаление элемента по указанному ключу\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Removing item from state');\n targetState.splice(index, 1);\n } else {\n console.log('Item not found for removal from state');\n }\n }\n}\n\nexport default Store;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
const Popup = require("../../../../../components/Popup/Popup.
|
|
4
|
+
const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
|
|
5
5
|
const _hoisted_1 = { class: "mn-b-medium" };
|
|
6
6
|
const _hoisted_2 = { class: "flex-nowrap flex-justify-end flex gap-thin" };
|
|
7
7
|
const _hoisted_3 = ["onClick"];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toRefs, createBlock, openBlock, unref, withCtx, createElementVNode, toDisplayString, createElementBlock, Fragment, renderList } from "vue";
|
|
2
|
-
import _sfc_main$1 from "../../../../../components/Popup/Popup.
|
|
2
|
+
import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
|
|
3
3
|
const _hoisted_1 = { class: "mn-b-medium" };
|
|
4
4
|
const _hoisted_2 = { class: "flex-nowrap flex-justify-end flex gap-thin" };
|
|
5
5
|
const _hoisted_3 = ["onClick"];
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const IconSearch = require("../../../../icons/navigation/IconSearch.vue.cjs");
|
|
5
|
-
const Field = require("../../../../../components/Field/Field.
|
|
5
|
+
const Field = require("../../../../../components/Field/Field.vue2.cjs");
|
|
6
6
|
const _hoisted_1 = { class: "flex-v-center flex-nowrap flex pd-small bg-light w-100 radius-medium" };
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
__name: "BlockSearch",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, watch, createElementBlock, openBlock, createVNode } from "vue";
|
|
2
2
|
import _sfc_main$1 from "../../../../icons/navigation/IconSearch.vue.js";
|
|
3
|
-
import
|
|
3
|
+
import _sfc_main$2 from "../../../../../components/Field/Field.vue2.js";
|
|
4
4
|
const _hoisted_1 = { class: "flex-v-center flex-nowrap flex pd-small bg-light w-100 radius-medium" };
|
|
5
5
|
const _sfc_main = {
|
|
6
6
|
__name: "BlockSearch",
|
|
@@ -38,7 +38,7 @@ const _sfc_main = {
|
|
|
38
38
|
return (_ctx, _cache) => {
|
|
39
39
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
40
40
|
createVNode(_sfc_main$1, { class: "i-medium t-transp mn-r-thin" }),
|
|
41
|
-
createVNode(
|
|
41
|
+
createVNode(_sfc_main$2, {
|
|
42
42
|
field: stateSearch.value,
|
|
43
43
|
"onUpdate:field": [
|
|
44
44
|
_cache[0] || (_cache[0] = ($event) => stateSearch.value = $event),
|
|
@@ -9,7 +9,7 @@ const PlaceholderOrganizationPic = require("../../../../icons/placeholders/Place
|
|
|
9
9
|
const IconEllipsis = require("../../../../icons/navigation/IconEllipsis.vue.cjs");
|
|
10
10
|
const FormReport = require("../../../../reports/components/sections/FormReport.vue.cjs");
|
|
11
11
|
;/* empty css */
|
|
12
|
-
;/* empty css
|
|
12
|
+
;/* empty css */
|
|
13
13
|
require("../../../../auth/views/store/auth.cjs");
|
|
14
14
|
require("../../../../organizations/store/memberships.cjs");
|
|
15
15
|
const PhotoStack = require("../elements/PhotoStack.vue.cjs");
|
|
@@ -7,7 +7,7 @@ import PlaceholderOrganizationPic from "../../../../icons/placeholders/Placehold
|
|
|
7
7
|
import _sfc_main$4 from "../../../../icons/navigation/IconEllipsis.vue.js";
|
|
8
8
|
import _sfc_main$5 from "../../../../reports/components/sections/FormReport.vue.js";
|
|
9
9
|
/* empty css */
|
|
10
|
-
/* empty css
|
|
10
|
+
/* empty css */
|
|
11
11
|
import "../../../../auth/views/store/auth.js";
|
|
12
12
|
import "../../../../organizations/store/memberships.js";
|
|
13
13
|
import _sfc_main$2 from "../elements/PhotoStack.vue.js";
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
|
-
const Popup = require("../../../../../components/Popup/Popup.
|
|
6
|
-
const Button = require("../../../../../components/Button/Button.
|
|
5
|
+
const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
|
|
6
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
7
7
|
const _hoisted_1 = { class: "t-center" };
|
|
8
8
|
const _hoisted_2 = { class: "mn-b-medium" };
|
|
9
9
|
const _hoisted_3 = { class: "mn-b-semi t-transp" };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createBlock, openBlock, withCtx, createElementVNode, toDisplayString, createVNode, createTextVNode } from "vue";
|
|
2
2
|
import { useRouter, useRoute } from "vue-router";
|
|
3
|
-
import _sfc_main$1 from "../../../../../components/Popup/Popup.
|
|
4
|
-
import _sfc_main$2 from "../../../../../components/Button/Button.
|
|
3
|
+
import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
|
|
4
|
+
import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
|
|
5
5
|
const _hoisted_1 = { class: "t-center" };
|
|
6
6
|
const _hoisted_2 = { class: "mn-b-medium" };
|
|
7
7
|
const _hoisted_3 = { class: "mn-b-semi t-transp" };
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueI18n = require("vue-i18n");
|
|
5
|
-
const Popup = require("../../../../../components/Popup/Popup.
|
|
5
|
+
const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
|
|
6
6
|
const Loader = require("../../../../../components/Loader/Loader.vue2.cjs");
|
|
7
|
-
const Calendar = require("../../../../../components/
|
|
8
|
-
const Button = require("../../../../../components/Button/Button.
|
|
7
|
+
const Calendar = require("../../../../../components/Calendar/Calendar.vue.cjs");
|
|
8
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
9
9
|
const IconShopcartAdd = require("../../../../icons/actions/IconShopcartAdd.vue.cjs");
|
|
10
10
|
const PriceTotal = require("../../../../orders/components/elements/PriceTotal.vue.cjs");
|
|
11
11
|
const rents_store = require("../../../../rents/views/store/rents.store.cjs");
|