@ozdao/martyrs 0.2.487 → 0.2.489
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/_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 +1 -1
- package/dist/auth.server.js +1 -1
- package/dist/{authJwt-D35KyJlE.cjs → authJwt-BIZ2GIfT.cjs} +0 -27
- package/dist/{authJwt-DqxhUym0.js → authJwt-J1csaMWA.js} +0 -27
- package/dist/builder.cjs +10 -0
- package/dist/builder.js +10 -0
- package/dist/chats.server.cjs +1 -1
- package/dist/chats.server.js +1 -1
- package/dist/community.server.cjs +3 -3
- package/dist/community.server.js +3 -3
- package/dist/{crud-BDIArc5A.cjs → crud-B-kQw3Z5.cjs} +5 -4
- package/dist/{crud-DJvpe0aZ.js → crud-Cwx5VlSm.js} +5 -4
- package/dist/events.server.cjs +3 -3
- package/dist/events.server.js +3 -3
- package/dist/files.server.cjs +31 -14
- package/dist/files.server.js +31 -14
- package/dist/gallery.server.cjs +2 -2
- package/dist/gallery.server.js +2 -2
- package/dist/{globals.abac-Cm9e8Jdk.cjs → globals.abac-CPXLas7N.cjs} +1 -1
- package/dist/{globals.abac-DBV_kaOq.js → globals.abac-DNdtSYop.js} +1 -1
- package/dist/{index-DiSKVCaA.cjs → index-BFxqqmgh.cjs} +1 -1
- package/dist/{index-CVuQC4k1.js → index-_Edcmck_.js} +1 -1
- package/dist/main-CmuUC0tl.cjs +11 -0
- package/dist/{main-nQmkbWsW.js → main-IVRL6IjM.js} +2949 -2666
- package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +3 -3
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +3 -3
- package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue.cjs +31 -5
- package/dist/martyrs/src/components/Calendar/Calendar.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Calendar/Calendar.vue.js +32 -6
- package/dist/martyrs/src/components/Calendar/Calendar.vue.js.map +1 -1
- package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs +4 -4
- package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js +4 -4
- package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs +28 -19
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +29 -20
- package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +20 -9
- package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +22 -11
- package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +29 -26
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +45 -42
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue2.cjs → Field.vue.cjs} +15 -9
- package/dist/martyrs/src/components/Field/Field.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +16 -10
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +25 -24
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +27 -26
- package/dist/martyrs/src/components/FieldBig/FieldBig.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/Loader/Loader.vue2.cjs +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.js +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.cjs +27 -15
- package/dist/martyrs/src/components/Select/Select.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.js +28 -16
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
- package/dist/martyrs/src/components/Status/Snack.vue.cjs +63 -0
- package/dist/martyrs/src/components/Status/Snack.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Status/Snack.vue.js +63 -0
- package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -0
- package/dist/martyrs/src/components/Tab/Tab.vue2.cjs +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/Tab/Tab.vue2.js +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +3 -2
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +3 -2
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +0 -1
- 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 +0 -1
- 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 +1 -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 +1 -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/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 +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +5 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +6 -6
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +5 -5
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +23 -23
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +3 -3
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +3 -3
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +4 -4
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +4 -4
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -4
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -4
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +12 -12
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +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/constructor/components/sections/Viewer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +33 -30
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +36 -33
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +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 -2
- 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 +26 -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 +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +15 -15
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +8 -8
- 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 +8 -8
- 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 +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs +9 -5
- package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js +9 -5
- package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +18 -24
- package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js +19 -25
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -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 +2 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/locales/en.cjs +9 -1
- package/dist/martyrs/src/modules/globals/locales/en.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/locales/en.js +9 -1
- package/dist/martyrs/src/modules/globals/locales/en.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 +5 -2
- 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 +5 -2
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +16 -15
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +17 -16
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +16 -20
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +16 -20
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +14 -7
- 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 +14 -7
- 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 +11 -3
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +11 -3
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/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/partials/Sidebar.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.cjs +17 -7
- package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.js +18 -8
- package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/router/addRoutes.cjs +4 -1
- package/dist/martyrs/src/modules/globals/views/router/addRoutes.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/router/addRoutes.js +4 -1
- package/dist/martyrs/src/modules/globals/views/router/addRoutes.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs +30 -0
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.js +30 -0
- package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
- package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.cjs +32 -0
- package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.js +32 -0
- package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.js.map +1 -0
- package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.cjs +4 -2
- package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.js +5 -3
- package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/icons.client.cjs +4 -0
- package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/icons.client.js +108 -104
- package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +3 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +138 -136
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.cjs +1 -1
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/skeletons/SkeletonEventShort.vue.js.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs +11 -7
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +11 -7
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +2 -2
- package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +0 -13
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +0 -13
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +14 -14
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +19 -19
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +13 -13
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +22 -22
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +11 -11
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +2 -2
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +2 -2
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs +8 -8
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +8 -8
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +98 -73
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +99 -74
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +82 -57
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +82 -57
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +22 -14
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +22 -14
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +205 -36
- 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 +208 -39
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +20 -11
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +20 -11
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -2
- 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 +1 -2
- 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 +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.cjs +6 -0
- package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.js +6 -0
- package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs +75 -94
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.js +75 -94
- package/dist/martyrs/src/modules/orders/store/shopcart.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +11 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +11 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
- 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/Department.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -3
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +16 -17
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +16 -16
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +3 -3
- 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 +1 -2
- 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 +1 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +3 -3
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs +0 -3
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.js +18 -21
- package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.cjs +0 -2
- package/dist/martyrs/src/modules/organizations/router/organizations.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/organizations.js +0 -2
- package/dist/martyrs/src/modules/organizations/router/organizations.js.map +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -2
- 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 +1 -2
- 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 +1 -2
- 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 +1 -2
- 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 +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +7 -4
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +7 -4
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs +18 -21
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +19 -22
- package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +48 -45
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +49 -46
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +13 -21
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +23 -31
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +29 -18
- 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 +29 -18
- 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 +5 -7
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +21 -23
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +3 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +3 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +6 -6
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +12 -12
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +11 -3
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +11 -3
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +8 -16
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +8 -16
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +80 -61
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +100 -81
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +8 -14
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +9 -15
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/products.client.cjs +1 -13
- package/dist/martyrs/src/modules/products/products.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/products.client.js +36 -48
- package/dist/martyrs/src/modules/products/products.client.js.map +1 -1
- package/dist/martyrs/src/modules/products/store/products.cjs +4 -4
- package/dist/martyrs/src/modules/products/store/products.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/store/products.js +4 -4
- package/dist/martyrs/src/modules/products/store/products.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +3 -3
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +3 -3
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +12 -4
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +15 -7
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +41 -33
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +42 -34
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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/Spot.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +13 -13
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +8 -8
- 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 +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +20 -20
- package/dist/music.server.cjs +3 -3
- package/dist/music.server.js +3 -3
- package/dist/notifications.server.cjs +1 -1
- package/dist/notifications.server.js +1 -1
- package/dist/orders.server.cjs +155 -64
- package/dist/orders.server.js +155 -64
- package/dist/organizations.server.cjs +25 -4
- package/dist/organizations.server.js +25 -4
- package/dist/{ownership.schema-CCZX5vfw.js → ownership.schema-BqH4v5vH.js} +2 -2
- package/dist/{ownership.schema-DCosqOc1.cjs → ownership.schema-D1p5XSpt.cjs} +2 -2
- package/dist/products.server.cjs +64 -288
- package/dist/products.server.js +64 -288
- package/dist/rents.server.cjs +35 -13
- package/dist/rents.server.js +35 -13
- package/dist/style.css +198 -201
- package/dist/wallet.server.cjs +1 -1
- package/dist/wallet.server.js +1 -1
- package/dist/web-BXhlxo6M.cjs +1 -0
- package/dist/web-Czi05iGG.js +54 -0
- package/package.json +1 -1
- package/src/builder/rspack/rspack.config.base.js +14 -0
- package/src/components/Breadcrumbs/Breadcrumbs.vue +200 -62
- package/src/components/Button/Button.vue +1 -1
- package/src/components/Calendar/Calendar.vue +53 -3
- package/src/components/Countdown/Countdown.vue +4 -4
- package/src/components/DatePicker/DatePicker.vue +32 -22
- package/src/components/Feed/Carousel.vue +18 -3
- package/src/components/Feed/Feed.vue +24 -31
- package/src/components/Field/Field.vue +9 -31
- package/src/components/FieldBig/FieldBig.vue +17 -18
- package/src/components/Loader/Loader.vue +1 -8
- package/src/components/Menu/MenuItem.vue +1 -1
- package/src/components/Select/Select.vue +19 -27
- package/src/components/Status/Snack.vue +4 -2
- package/src/components/Tab/Tab.vue +2 -2
- package/src/components/UploadImageMultiple/UploadImageMultiple.vue +9 -14
- package/src/main.js +2 -0
- package/src/modules/auth/controllers/middlewares/authJwt.js +0 -29
- package/src/modules/auth/views/components/pages/ResetPassword.vue +1 -1
- package/src/modules/auth/views/components/pages/SignIn.vue +1 -1
- package/src/modules/auth/views/components/pages/SignUp.vue +1 -1
- package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
- package/src/modules/backoffice/components/admin/Users.vue +1 -1
- package/src/modules/backoffice/components/partials/Sidebar.vue +3 -3
- package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
- package/src/modules/community/components/layouts/Community.vue +5 -5
- package/src/modules/community/components/pages/Blog.vue +1 -1
- package/src/modules/community/components/sections/Comments.vue +1 -1
- package/src/modules/constructor/components/sections/Viewer.vue +1 -1
- package/src/modules/events/components/blocks/CardEvent.vue +35 -29
- package/src/modules/events/components/pages/Event.vue +4 -3
- package/src/modules/events/components/pages/Events.vue +3 -3
- package/src/modules/events/components/pages/EventsBackoffice.vue +1 -1
- package/src/modules/events/components/sections/FeaturedEvents.vue +8 -4
- package/src/modules/events/components/sections/List.vue +17 -18
- package/src/modules/events/components/sections/SelectDate.vue +2 -2
- package/src/modules/files/controllers/files.controller.js +14 -3
- package/src/modules/files/middlewares/server/middlewareBusboy.js +46 -17
- package/src/modules/globals/controllers/classes/crud/crud.controller.js +5 -2
- package/src/modules/globals/controllers/classes/crud/crud.js +1 -1
- package/src/modules/globals/controllers/classes/crud/crud.service.js +0 -1
- package/src/modules/globals/controllers/classes/globals.abac.js +1 -1
- package/src/modules/globals/locales/en.js +8 -0
- package/src/modules/globals/models/schemas/ownership.schema.js +2 -2
- package/src/modules/globals/views/classes/globals.store.js +8 -2
- package/src/modules/globals/views/components/blocks/BlockSearch.vue +12 -17
- package/src/modules/globals/views/components/blocks/CardHeader.vue +9 -11
- package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +19 -9
- package/src/modules/globals/views/components/layouts/Client.vue +15 -9
- package/src/modules/globals/views/components/partials/CitySelection.vue +1 -1
- package/src/modules/globals/views/components/partials/FooterAlt.vue +1 -1
- package/src/modules/globals/views/components/partials/Sidebar.vue +1 -1
- package/src/modules/globals/views/components/sections/Walkthrough.vue +2 -2
- package/src/modules/globals/views/plugins/date-picker.plugin.js +17 -7
- package/src/modules/globals/views/router/addRoutes.js +4 -1
- package/src/modules/globals/views/store/globals.js +1 -1
- package/src/modules/icons/actions/IconOpenLink.vue +14 -0
- package/src/modules/icons/entities/IconInfo.vue +2 -2
- package/src/modules/icons/icons.client.js +8 -0
- package/src/modules/icons/pages/IconsPage.vue +2 -0
- package/src/modules/icons/skeletons/SkeletonEventShort.vue +2 -2
- package/src/modules/icons/socials/telegram.vue +2 -2
- package/src/modules/inventory/components/forms/AdjustmentForm.vue +225 -0
- package/src/modules/inventory/components/forms/ColumnSettingsMenu.vue +80 -0
- package/src/modules/inventory/components/forms/HistoryView.vue +134 -0
- package/src/modules/inventory/components/forms/StockAlertsForm.vue +181 -0
- package/src/modules/{products/components/pages/Leftovers.vue → inventory/components/pages/Inventory.vue} +60 -41
- package/src/modules/{products/components/pages/LeftoverEdit.vue → inventory/components/pages/InventoryEdit.vue} +131 -86
- package/src/modules/inventory/docs/README.md +291 -0
- package/src/modules/inventory/inventory.client.js +65 -0
- package/src/modules/inventory/inventory.server.js +8 -5
- package/src/modules/inventory/middlewares/stock.alerts.verifier.js +194 -0
- package/src/modules/inventory/models/stock.alerts.model.js +45 -0
- package/src/modules/inventory/models/stock.audit.model.js +60 -0
- package/src/modules/inventory/models/stock.availability.model.js +6 -6
- package/src/modules/inventory/policies/inventory.policies.js +28 -28
- package/src/modules/inventory/router/inventory.router.js +28 -0
- package/src/modules/inventory/routes/inventory.routes.js +8 -4
- package/src/modules/inventory/routes/stock.alerts.routes.js +43 -0
- package/src/modules/inventory/services/inventory.crud.js +204 -21
- package/src/modules/inventory/services/inventory.verifier.js +67 -11
- package/src/modules/inventory/store/ inventory.store.js +4 -2
- package/src/modules/inventory/store/stock.alerts.store.js +5 -0
- package/src/modules/inventory/tests/inventory.test.js +281 -0
- package/src/modules/landing/components/sections/SectionEarn.vue +1 -1
- package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
- package/src/modules/landing/components/sections/SectionFeaturesImages.vue +1 -1
- package/src/modules/landing/components/sections/SectionFocus.vue +1 -1
- package/src/modules/landing/components/sections/SectionGuide.vue +1 -1
- package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
- package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
- package/src/modules/landing/components/sections/SectionJoinUs.vue +1 -1
- package/src/modules/landing/components/sections/SectionMobileApp.vue +1 -1
- package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +14 -14
- package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
- package/src/modules/orders/components/blocks/CardOrder.vue +7 -7
- package/src/modules/orders/components/blocks/CardOrderItem.vue +96 -91
- package/src/modules/orders/components/blocks/CardOrderUser.vue +1 -1
- package/src/modules/orders/components/elements/PriceTotal.vue +1 -1
- package/src/modules/orders/components/pages/Favorites.vue +1 -1
- package/src/modules/orders/components/pages/OrderBackoffice.vue +59 -29
- package/src/modules/orders/components/pages/OrderCreate.vue +15 -7
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +201 -16
- package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
- package/src/modules/orders/components/partials/ShopCart.vue +17 -8
- package/src/modules/orders/components/sections/Succes.vue +1 -1
- package/src/modules/orders/controllers/orders.controller.js +175 -77
- package/src/modules/orders/orders.client.js +6 -0
- package/src/modules/orders/routes/orders.routes.js +15 -10
- package/src/modules/orders/store/shopcart.js +54 -131
- package/src/modules/organizations/components/blocks/CardOrganization.vue +9 -1
- package/src/modules/organizations/components/blocks/Rating.vue +1 -1
- package/src/modules/organizations/components/pages/Department.vue +1 -1
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +0 -1
- package/src/modules/organizations/components/pages/Organization.vue +2 -2
- package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +3 -3
- package/src/modules/organizations/components/pages/Organizations.vue +1 -1
- package/src/modules/organizations/components/sections/DetailsTabSection.vue +1 -1
- package/src/modules/organizations/configs/navigation.organization.config.js +3 -3
- package/src/modules/organizations/controllers/utils/lookupConfigs.js +22 -1
- package/src/modules/organizations/models/schemas/accesses.schema.js +1 -1
- package/src/modules/organizations/organizations.client.js +0 -3
- package/src/modules/organizations/router/organizations.js +0 -2
- package/src/modules/products/components/blocks/CardProduct.vue +1 -1
- package/src/modules/products/components/blocks/ProductVariants.vue +5 -5
- package/src/modules/products/components/elements/Price.vue +1 -1
- package/src/modules/products/components/forms/StockHistoryView.vue +4 -4
- package/src/modules/products/components/pages/Categories.vue +4 -2
- package/src/modules/products/components/pages/CategoryEdit.vue +23 -10
- package/src/modules/products/components/pages/Product.vue +28 -78
- package/src/modules/products/components/pages/ProductEdit.vue +3 -12
- package/src/modules/products/components/pages/Products.vue +3 -2
- package/src/modules/products/components/sections/EditIngredients.vue +11 -2
- package/src/modules/products/components/sections/EditRecommended.vue +3 -14
- package/src/modules/products/components/sections/EditVariants.vue +52 -25
- package/src/modules/products/components/sections/FilterProducts.vue +3 -3
- package/src/modules/products/components/sections/HeroRecommendation.vue +1 -1
- package/src/modules/products/components/sections/ProductConfigurator.vue +5 -11
- package/src/modules/products/components/sections/SectionProduct.vue +2 -2
- package/src/modules/products/controllers/configs/products.lookup.config.js +52 -80
- package/src/modules/products/controllers/products.controller.js +2 -2
- package/src/modules/products/middlewares/variants.verifier.js +1 -1
- package/src/modules/products/products.client.js +0 -12
- package/src/modules/products/products.server.js +0 -8
- package/src/modules/products/routes/variants.routes.js +0 -59
- package/src/modules/products/store/products.js +4 -4
- package/src/modules/rents/controllers/services/rents.services.js +41 -11
- package/src/modules/rents/models/rent.model.js +1 -0
- package/src/modules/rents/views/components/pages/GanttChart.vue +1 -1
- package/src/modules/rents/views/components/pages/RentsEdit.vue +10 -2
- package/src/modules/spots/components/blocks/CardSpot.vue +14 -11
- package/src/modules/spots/components/pages/Spot.vue +1 -1
- package/src/modules/wallet/views/components/pages/Wallet.vue +2 -2
- package/src/styles/base/all.scss +10 -1
- package/src/styles/base/borders.scss +234 -155
- package/src/styles/layout.scss +36 -0
- package/src/styles/typography.scss +12 -4
- package/dist/Media-B2jWzwLB.cjs +0 -1
- package/dist/Media-DZ5_ItXQ.js +0 -111
- package/dist/main-C6_DPWGX.cjs +0 -11
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +0 -184
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +0 -184
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs +0 -67
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js +0 -67
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterOptions.vue.js.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs +0 -91
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js +0 -91
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterPrice.vue.js.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterRange.vue2.cjs +0 -64
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterRange.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterRange.vue2.js +0 -64
- package/dist/martyrs/src/modules/globals/views/components/sections/filters/FilterRange.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/EditArray.vue.cjs +0 -80
- package/dist/martyrs/src/modules/organizations/components/blocks/EditArray.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/EditArray.vue.js +0 -80
- package/dist/martyrs/src/modules/organizations/components/blocks/EditArray.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardLeftover.vue.cjs +0 -118
- package/dist/martyrs/src/modules/products/components/blocks/CardLeftover.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardLeftover.vue.js +0 -118
- package/dist/martyrs/src/modules/products/components/blocks/CardLeftover.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/forms/ColumnSettingsMenu.vue.cjs +0 -73
- package/dist/martyrs/src/modules/products/components/forms/ColumnSettingsMenu.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/forms/ColumnSettingsMenu.vue.js +0 -73
- package/dist/martyrs/src/modules/products/components/forms/ColumnSettingsMenu.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.cjs +0 -101
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js +0 -101
- package/dist/martyrs/src/modules/products/components/forms/ReorderSettingsForm.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs +0 -135
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js +0 -135
- package/dist/martyrs/src/modules/products/components/forms/StockAuditForm.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/forms/StockHistoryView.vue.cjs +0 -148
- package/dist/martyrs/src/modules/products/components/forms/StockHistoryView.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/forms/StockHistoryView.vue.js +0 -148
- package/dist/martyrs/src/modules/products/components/forms/StockHistoryView.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +0 -345
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +0 -345
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +0 -316
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +0 -316
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js.map +0 -1
- package/dist/martyrs/src/modules/products/router/leftovers.router.cjs +0 -51
- package/dist/martyrs/src/modules/products/router/leftovers.router.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/router/leftovers.router.js +0 -51
- package/dist/martyrs/src/modules/products/router/leftovers.router.js.map +0 -1
- package/dist/martyrs/src/modules/products/store/leftovers.cjs +0 -111
- package/dist/martyrs/src/modules/products/store/leftovers.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/store/leftovers.js +0 -111
- package/dist/martyrs/src/modules/products/store/leftovers.js.map +0 -1
- package/src/modules/inventory/models/stock.inventory.model.js +0 -38
- package/src/modules/organizations/components/blocks/EditArray.vue +0 -147
- package/src/modules/products/components/blocks/CardLeftover.vue +0 -117
- package/src/modules/products/controllers/leftovers.controller.js +0 -117
- package/src/modules/products/models/leftover.model.js +0 -105
- package/src/modules/products/router/leftovers.router.js +0 -40
- package/src/modules/products/routes/leftovers.routes.js +0 -15
- package/src/modules/products/store/leftovers.js +0 -121
|
@@ -1,12 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
require("../../globals/views/store/globals.cjs");
|
|
4
|
+
const globals = require("../../globals/views/store/globals.cjs");
|
|
5
5
|
const state = vue.reactive({
|
|
6
6
|
organization: null,
|
|
7
7
|
positions: [],
|
|
8
8
|
currentState: false
|
|
9
9
|
});
|
|
10
|
+
const helpers = {
|
|
11
|
+
saveToStorage() {
|
|
12
|
+
localStorage.setItem(
|
|
13
|
+
CART_STORAGE_KEY,
|
|
14
|
+
JSON.stringify({
|
|
15
|
+
positions: state.positions,
|
|
16
|
+
organization: state.organization
|
|
17
|
+
})
|
|
18
|
+
);
|
|
19
|
+
},
|
|
20
|
+
async validateProduct(product) {
|
|
21
|
+
const serverProduct = await api.fetchProduct(product._id);
|
|
22
|
+
if (!serverProduct) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const CART_STORAGE_KEY = "shopcart";
|
|
29
|
+
const api = {
|
|
30
|
+
async fetchProduct(productId) {
|
|
31
|
+
try {
|
|
32
|
+
const response = await fetch(`/api/products/read`, { _id: productId });
|
|
33
|
+
return await response.json();
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error("Failed to fetch product:", error);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
10
40
|
const actions = {
|
|
11
41
|
toggleShopcart() {
|
|
12
42
|
state.currentState = state.currentState ? false : true;
|
|
@@ -24,127 +54,78 @@ const actions = {
|
|
|
24
54
|
throw error;
|
|
25
55
|
}
|
|
26
56
|
},
|
|
27
|
-
addProductToCart(product, organization, date) {
|
|
28
|
-
|
|
29
|
-
|
|
57
|
+
addProductToCart(product, variant, organization, date, quantity = 1) {
|
|
58
|
+
var _a;
|
|
59
|
+
console.log("Adding product with variant to cart", { product: product._id, variant: variant._id, quantity });
|
|
60
|
+
state.organization = organization;
|
|
61
|
+
const cartItem = state.positions.find(
|
|
62
|
+
(item) => item._id === product._id && item.variant === variant._id
|
|
63
|
+
);
|
|
30
64
|
if (cartItem) {
|
|
31
|
-
cartItem.quantity
|
|
65
|
+
cartItem.quantity += quantity;
|
|
32
66
|
} else {
|
|
33
67
|
state.positions.push({
|
|
34
68
|
_id: product._id,
|
|
35
|
-
images: product.images,
|
|
69
|
+
images: ((_a = variant.images) == null ? void 0 : _a.length) > 0 ? variant.images : product.images,
|
|
36
70
|
name: product.name,
|
|
37
71
|
listing: product.listing,
|
|
38
|
-
price: product.price,
|
|
39
|
-
quantity
|
|
72
|
+
price: variant.price || product.price,
|
|
73
|
+
quantity,
|
|
74
|
+
unit: variant.unit || product.unit,
|
|
40
75
|
date,
|
|
76
|
+
variant: variant._id,
|
|
41
77
|
org_id: organization
|
|
42
|
-
// Добавляем _id организации к каждому продукту
|
|
43
78
|
});
|
|
44
79
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"shopcart",
|
|
48
|
-
JSON.stringify({
|
|
49
|
-
positions: state.positions,
|
|
50
|
-
organization
|
|
51
|
-
// Сохраняем _id организации в корне объекта корзины
|
|
52
|
-
})
|
|
53
|
-
);
|
|
80
|
+
helpers.saveToStorage();
|
|
81
|
+
globals.setSnack("Product added to cart");
|
|
54
82
|
},
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
(position) => position.product._id === variantItem._id && position.variantId === variantItem.variantId
|
|
60
|
-
);
|
|
61
|
-
if (existingPosition) {
|
|
62
|
-
existingPosition.quantity += 1;
|
|
63
|
-
if (selectedDates) {
|
|
64
|
-
existingPosition.selectedDates = selectedDates;
|
|
65
|
-
}
|
|
66
|
-
} else {
|
|
67
|
-
const position = {
|
|
68
|
-
product: {
|
|
69
|
-
_id: variantItem._id,
|
|
70
|
-
name: variantItem.name,
|
|
71
|
-
price: variantItem.price,
|
|
72
|
-
sku: variantItem.sku
|
|
73
|
-
},
|
|
74
|
-
variantId: variantItem.variantId,
|
|
75
|
-
attributes: variantItem.attributes || [],
|
|
76
|
-
quantity: 1,
|
|
77
|
-
price: variantItem.price
|
|
78
|
-
};
|
|
79
|
-
if (selectedDates) {
|
|
80
|
-
position.selectedDates = selectedDates;
|
|
81
|
-
}
|
|
82
|
-
state.positions.push(position);
|
|
83
|
+
removeProduct(productId, variantId = null) {
|
|
84
|
+
const cartItemIndex = state.positions.findIndex((item) => {
|
|
85
|
+
if (variantId) {
|
|
86
|
+
return item._id === productId && item.variant === variantId;
|
|
83
87
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return true;
|
|
87
|
-
} catch (error) {
|
|
88
|
-
console.error("Error adding variant to cart:", error);
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
removeProduct(_id) {
|
|
93
|
-
const cartItem = state.positions.find((item) => item._id === _id);
|
|
94
|
-
const cartItemIndex = state.positions.indexOf(cartItem);
|
|
88
|
+
return item._id === productId;
|
|
89
|
+
});
|
|
95
90
|
if (cartItemIndex > -1) {
|
|
96
91
|
state.positions.splice(cartItemIndex, 1);
|
|
97
|
-
|
|
98
|
-
"shopcart",
|
|
99
|
-
JSON.stringify({
|
|
100
|
-
positions: state.positions,
|
|
101
|
-
organization: state.organization
|
|
102
|
-
})
|
|
103
|
-
);
|
|
92
|
+
helpers.saveToStorage();
|
|
104
93
|
}
|
|
105
94
|
},
|
|
106
|
-
decrementItemQuantity(
|
|
107
|
-
const cartItem = state.positions.find((item) =>
|
|
108
|
-
|
|
109
|
-
|
|
95
|
+
decrementItemQuantity(productId, variantId = null) {
|
|
96
|
+
const cartItem = state.positions.find((item) => {
|
|
97
|
+
if (variantId) {
|
|
98
|
+
return item._id === productId && item.variant === variantId;
|
|
99
|
+
}
|
|
100
|
+
return item._id === productId;
|
|
101
|
+
});
|
|
102
|
+
if (cartItem) {
|
|
110
103
|
cartItem.quantity--;
|
|
111
104
|
if (cartItem.quantity < 1) {
|
|
112
|
-
state.positions.
|
|
105
|
+
const index = state.positions.indexOf(cartItem);
|
|
106
|
+
state.positions.splice(index, 1);
|
|
113
107
|
}
|
|
114
|
-
|
|
115
|
-
"shopcart",
|
|
116
|
-
JSON.stringify({
|
|
117
|
-
positions: state.positions,
|
|
118
|
-
organization: state.organization
|
|
119
|
-
})
|
|
120
|
-
);
|
|
108
|
+
helpers.saveToStorage();
|
|
121
109
|
}
|
|
122
110
|
},
|
|
123
|
-
incrementItemQuantity(
|
|
124
|
-
const cartItem = state.positions.find((item) =>
|
|
111
|
+
incrementItemQuantity(productId, variantId = null) {
|
|
112
|
+
const cartItem = state.positions.find((item) => {
|
|
113
|
+
if (variantId) {
|
|
114
|
+
return item._id === productId && item.variant === variantId;
|
|
115
|
+
}
|
|
116
|
+
return item._id === productId;
|
|
117
|
+
});
|
|
125
118
|
if (cartItem) {
|
|
126
119
|
cartItem.quantity++;
|
|
127
|
-
|
|
128
|
-
"shopcart",
|
|
129
|
-
JSON.stringify({
|
|
130
|
-
positions: state.positions,
|
|
131
|
-
organization: state.organization
|
|
132
|
-
})
|
|
133
|
-
);
|
|
120
|
+
helpers.saveToStorage();
|
|
134
121
|
}
|
|
135
122
|
},
|
|
136
|
-
updateRentDates({ productId, dates }) {
|
|
137
|
-
const product = state.positions.find((p) => p._id === productId);
|
|
123
|
+
updateRentDates({ productId, variantId, dates }) {
|
|
124
|
+
const product = state.positions.find((p) => p._id === productId && p.variant === variantId);
|
|
138
125
|
if (product) {
|
|
139
126
|
product.date = dates;
|
|
140
127
|
}
|
|
141
|
-
|
|
142
|
-
"shopcart",
|
|
143
|
-
JSON.stringify({
|
|
144
|
-
positions: state.positions,
|
|
145
|
-
organization: state.organization
|
|
146
|
-
})
|
|
147
|
-
);
|
|
128
|
+
helpers.saveToStorage();
|
|
148
129
|
},
|
|
149
130
|
resetShopcart() {
|
|
150
131
|
state.positions = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopcart.cjs","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { computed, reactive, watch } from 'vue';\n// Dependencies\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false,\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n createCartItem(product, organization, type = 'sale') {\n return {\n _id: product._id,\n images: product.images,\n name: product.name,\n price: product.price,\n listing: product.listing,\n quantity: 1,\n org_id: organization,\n type: type,\n };\n },\n\n saveToStorage() {\n localStorage.setItem(\n CART_STORAGE_KEY,\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;\n },\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId });\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n },\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n\n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct || serverProduct.price !== product.price || serverProduct.name !== product.name || serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(product => !invalidProducts.includes(product._id));\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n toggleShopcart() {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n addProductToCart(product, organization, date) {\n console.log('organization shopcart is', organization);\n const cartItem = state.positions.find(item => item._id === product._id);\n\n if (cartItem) {\n cartItem.quantity++;\n } else {\n state.positions.push({\n _id: product._id,\n images: product.images,\n name: product.name,\n listing: product.listing,\n price: product.price,\n quantity: 1,\n date: date,\n org_id: organization, // Добавляем _id организации к каждому продукту\n });\n }\n state.organization = organization;\n\n // Обновляем объект корзины в localStorage, включая _id организации\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: organization, // Сохраняем _id организации в корне объекта корзины\n })\n );\n },\n\n async addVariantToCart(variantItem, organizationId, selectedDates = null) {\n try {\n // Убедимся, что организация установлена \n state.organization = organizationId;\n \n // Проверим, есть ли этот вариант уже в корзине\n const existingPosition = state.positions.find(\n position => position.product._id === variantItem._id && position.variantId === variantItem.variantId\n );\n \n if (existingPosition) {\n // Обновляем существующую позицию\n existingPosition.quantity += 1;\n \n // Если есть выбранные даты для аренды, обновляем их\n if (selectedDates) {\n existingPosition.selectedDates = selectedDates;\n }\n } else {\n // Создаем новую позицию\n const position = {\n product: {\n _id: variantItem._id,\n name: variantItem.name,\n price: variantItem.price,\n sku: variantItem.sku\n },\n variantId: variantItem.variantId,\n attributes: variantItem.attributes || [],\n quantity: 1,\n price: variantItem.price,\n };\n \n // Добавляем даты для товаров с арендой\n if (selectedDates) {\n position.selectedDates = selectedDates;\n }\n \n // Добавляем позицию в корзину\n state.positions.push(position);\n }\n \n // Обновляем локальное хранилище\n updateLocalStorage();\n \n // Отправляем уведомление о добавлении в корзину\n showNotification('Product added to cart');\n \n return true;\n } catch (error) {\n console.error('Error adding variant to cart:', error);\n return false;\n }\n },\n\n\n removeProduct(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n decrementItemQuantity(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n cartItem.quantity--;\n\n if (cartItem.quantity < 1) {\n state.positions.splice(cartItemIndex, 1);\n }\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n incrementItemQuantity(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n\n if (cartItem) {\n cartItem.quantity++;\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n updateRentDates({ productId, dates }) {\n const product = state.positions.find(p => p._id === productId);\n\n if (product) {\n product.date = dates; // Предполагается, что dates — объект { start, end }\n }\n\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n resetShopcart() {\n state.positions = [];\n\n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start);\n const end = new Date(product.date.end);\n const diffTime = Math.abs(end - start);\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0)\n );\n }),\n cartTotalAmount: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0)\n );\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, state };\n"],"names":["reactive","computed","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shopcart.cjs","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { computed, reactive, watch } from 'vue';\n// Dependencies\n// Globals\nimport { setError, setSnack } from '@martyrs/src/modules/globals/views/store/globals.js';\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false,\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n saveToStorage() {\n localStorage.setItem(\n CART_STORAGE_KEY,\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;\n },\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId });\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n },\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n\n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct || serverProduct.price !== product.price || serverProduct.name !== product.name || serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(product => !invalidProducts.includes(product._id));\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n toggleShopcart() {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n addProductToCart(product, variant, organization, date, quantity = 1) {\n console.log('Adding product with variant to cart', { product: product._id, variant: variant._id, quantity });\n \n // Убедимся, что организация установлена\n state.organization = organization;\n \n // Ищем позицию с таким же товаром и вариантом\n const cartItem = state.positions.find(\n item => item._id === product._id && item.variant === variant._id\n );\n\n if (cartItem) {\n cartItem.quantity += quantity;\n } else {\n state.positions.push({\n _id: product._id,\n images: variant.images?.length > 0 ? variant.images : product.images,\n name: product.name,\n listing: product.listing,\n price: variant.price || product.price,\n quantity: quantity,\n unit: variant.unit || product.unit,\n date: date,\n variant: variant._id,\n org_id: organization,\n });\n }\n\n // Сохраняем в localStorage\n helpers.saveToStorage();\n \n // Отправляем уведомление\n setSnack('Product added to cart');\n },\n\n\n\n removeProduct(productId, variantId = null) {\n const cartItemIndex = state.positions.findIndex(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n helpers.saveToStorage();\n }\n },\n\n decrementItemQuantity(productId, variantId = null) {\n const cartItem = state.positions.find(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItem) {\n cartItem.quantity--;\n\n if (cartItem.quantity < 1) {\n const index = state.positions.indexOf(cartItem);\n state.positions.splice(index, 1);\n }\n\n helpers.saveToStorage();\n }\n },\n\n incrementItemQuantity(productId, variantId = null) {\n const cartItem = state.positions.find(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItem) {\n cartItem.quantity++;\n helpers.saveToStorage();\n }\n },\n\n updateRentDates({ productId, variantId, dates }) {\n const product = state.positions.find(p => p._id === productId && p.variant === variantId);\n\n if (product) {\n product.date = dates;\n }\n\n helpers.saveToStorage();\n },\n\n resetShopcart() {\n state.positions = [];\n\n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start);\n const end = new Date(product.date.end);\n const diffTime = Math.abs(end - start);\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0)\n );\n }),\n cartTotalAmount: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0)\n );\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, state };\n"],"names":["reactive","setSnack","computed","watch"],"mappings":"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"}
|
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
import { reactive, computed, watch } from "vue";
|
|
2
|
-
import "../../globals/views/store/globals.js";
|
|
2
|
+
import { setSnack } from "../../globals/views/store/globals.js";
|
|
3
3
|
const state = reactive({
|
|
4
4
|
organization: null,
|
|
5
5
|
positions: [],
|
|
6
6
|
currentState: false
|
|
7
7
|
});
|
|
8
|
+
const helpers = {
|
|
9
|
+
saveToStorage() {
|
|
10
|
+
localStorage.setItem(
|
|
11
|
+
CART_STORAGE_KEY,
|
|
12
|
+
JSON.stringify({
|
|
13
|
+
positions: state.positions,
|
|
14
|
+
organization: state.organization
|
|
15
|
+
})
|
|
16
|
+
);
|
|
17
|
+
},
|
|
18
|
+
async validateProduct(product) {
|
|
19
|
+
const serverProduct = await api.fetchProduct(product._id);
|
|
20
|
+
if (!serverProduct) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const CART_STORAGE_KEY = "shopcart";
|
|
27
|
+
const api = {
|
|
28
|
+
async fetchProduct(productId) {
|
|
29
|
+
try {
|
|
30
|
+
const response = await fetch(`/api/products/read`, { _id: productId });
|
|
31
|
+
return await response.json();
|
|
32
|
+
} catch (error) {
|
|
33
|
+
console.error("Failed to fetch product:", error);
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
8
38
|
const actions = {
|
|
9
39
|
toggleShopcart() {
|
|
10
40
|
state.currentState = state.currentState ? false : true;
|
|
@@ -22,127 +52,78 @@ const actions = {
|
|
|
22
52
|
throw error;
|
|
23
53
|
}
|
|
24
54
|
},
|
|
25
|
-
addProductToCart(product, organization, date) {
|
|
26
|
-
|
|
27
|
-
|
|
55
|
+
addProductToCart(product, variant, organization, date, quantity = 1) {
|
|
56
|
+
var _a;
|
|
57
|
+
console.log("Adding product with variant to cart", { product: product._id, variant: variant._id, quantity });
|
|
58
|
+
state.organization = organization;
|
|
59
|
+
const cartItem = state.positions.find(
|
|
60
|
+
(item) => item._id === product._id && item.variant === variant._id
|
|
61
|
+
);
|
|
28
62
|
if (cartItem) {
|
|
29
|
-
cartItem.quantity
|
|
63
|
+
cartItem.quantity += quantity;
|
|
30
64
|
} else {
|
|
31
65
|
state.positions.push({
|
|
32
66
|
_id: product._id,
|
|
33
|
-
images: product.images,
|
|
67
|
+
images: ((_a = variant.images) == null ? void 0 : _a.length) > 0 ? variant.images : product.images,
|
|
34
68
|
name: product.name,
|
|
35
69
|
listing: product.listing,
|
|
36
|
-
price: product.price,
|
|
37
|
-
quantity
|
|
70
|
+
price: variant.price || product.price,
|
|
71
|
+
quantity,
|
|
72
|
+
unit: variant.unit || product.unit,
|
|
38
73
|
date,
|
|
74
|
+
variant: variant._id,
|
|
39
75
|
org_id: organization
|
|
40
|
-
// Добавляем _id организации к каждому продукту
|
|
41
76
|
});
|
|
42
77
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"shopcart",
|
|
46
|
-
JSON.stringify({
|
|
47
|
-
positions: state.positions,
|
|
48
|
-
organization
|
|
49
|
-
// Сохраняем _id организации в корне объекта корзины
|
|
50
|
-
})
|
|
51
|
-
);
|
|
78
|
+
helpers.saveToStorage();
|
|
79
|
+
setSnack("Product added to cart");
|
|
52
80
|
},
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
(position) => position.product._id === variantItem._id && position.variantId === variantItem.variantId
|
|
58
|
-
);
|
|
59
|
-
if (existingPosition) {
|
|
60
|
-
existingPosition.quantity += 1;
|
|
61
|
-
if (selectedDates) {
|
|
62
|
-
existingPosition.selectedDates = selectedDates;
|
|
63
|
-
}
|
|
64
|
-
} else {
|
|
65
|
-
const position = {
|
|
66
|
-
product: {
|
|
67
|
-
_id: variantItem._id,
|
|
68
|
-
name: variantItem.name,
|
|
69
|
-
price: variantItem.price,
|
|
70
|
-
sku: variantItem.sku
|
|
71
|
-
},
|
|
72
|
-
variantId: variantItem.variantId,
|
|
73
|
-
attributes: variantItem.attributes || [],
|
|
74
|
-
quantity: 1,
|
|
75
|
-
price: variantItem.price
|
|
76
|
-
};
|
|
77
|
-
if (selectedDates) {
|
|
78
|
-
position.selectedDates = selectedDates;
|
|
79
|
-
}
|
|
80
|
-
state.positions.push(position);
|
|
81
|
+
removeProduct(productId, variantId = null) {
|
|
82
|
+
const cartItemIndex = state.positions.findIndex((item) => {
|
|
83
|
+
if (variantId) {
|
|
84
|
+
return item._id === productId && item.variant === variantId;
|
|
81
85
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return true;
|
|
85
|
-
} catch (error) {
|
|
86
|
-
console.error("Error adding variant to cart:", error);
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
removeProduct(_id) {
|
|
91
|
-
const cartItem = state.positions.find((item) => item._id === _id);
|
|
92
|
-
const cartItemIndex = state.positions.indexOf(cartItem);
|
|
86
|
+
return item._id === productId;
|
|
87
|
+
});
|
|
93
88
|
if (cartItemIndex > -1) {
|
|
94
89
|
state.positions.splice(cartItemIndex, 1);
|
|
95
|
-
|
|
96
|
-
"shopcart",
|
|
97
|
-
JSON.stringify({
|
|
98
|
-
positions: state.positions,
|
|
99
|
-
organization: state.organization
|
|
100
|
-
})
|
|
101
|
-
);
|
|
90
|
+
helpers.saveToStorage();
|
|
102
91
|
}
|
|
103
92
|
},
|
|
104
|
-
decrementItemQuantity(
|
|
105
|
-
const cartItem = state.positions.find((item) =>
|
|
106
|
-
|
|
107
|
-
|
|
93
|
+
decrementItemQuantity(productId, variantId = null) {
|
|
94
|
+
const cartItem = state.positions.find((item) => {
|
|
95
|
+
if (variantId) {
|
|
96
|
+
return item._id === productId && item.variant === variantId;
|
|
97
|
+
}
|
|
98
|
+
return item._id === productId;
|
|
99
|
+
});
|
|
100
|
+
if (cartItem) {
|
|
108
101
|
cartItem.quantity--;
|
|
109
102
|
if (cartItem.quantity < 1) {
|
|
110
|
-
state.positions.
|
|
103
|
+
const index = state.positions.indexOf(cartItem);
|
|
104
|
+
state.positions.splice(index, 1);
|
|
111
105
|
}
|
|
112
|
-
|
|
113
|
-
"shopcart",
|
|
114
|
-
JSON.stringify({
|
|
115
|
-
positions: state.positions,
|
|
116
|
-
organization: state.organization
|
|
117
|
-
})
|
|
118
|
-
);
|
|
106
|
+
helpers.saveToStorage();
|
|
119
107
|
}
|
|
120
108
|
},
|
|
121
|
-
incrementItemQuantity(
|
|
122
|
-
const cartItem = state.positions.find((item) =>
|
|
109
|
+
incrementItemQuantity(productId, variantId = null) {
|
|
110
|
+
const cartItem = state.positions.find((item) => {
|
|
111
|
+
if (variantId) {
|
|
112
|
+
return item._id === productId && item.variant === variantId;
|
|
113
|
+
}
|
|
114
|
+
return item._id === productId;
|
|
115
|
+
});
|
|
123
116
|
if (cartItem) {
|
|
124
117
|
cartItem.quantity++;
|
|
125
|
-
|
|
126
|
-
"shopcart",
|
|
127
|
-
JSON.stringify({
|
|
128
|
-
positions: state.positions,
|
|
129
|
-
organization: state.organization
|
|
130
|
-
})
|
|
131
|
-
);
|
|
118
|
+
helpers.saveToStorage();
|
|
132
119
|
}
|
|
133
120
|
},
|
|
134
|
-
updateRentDates({ productId, dates }) {
|
|
135
|
-
const product = state.positions.find((p) => p._id === productId);
|
|
121
|
+
updateRentDates({ productId, variantId, dates }) {
|
|
122
|
+
const product = state.positions.find((p) => p._id === productId && p.variant === variantId);
|
|
136
123
|
if (product) {
|
|
137
124
|
product.date = dates;
|
|
138
125
|
}
|
|
139
|
-
|
|
140
|
-
"shopcart",
|
|
141
|
-
JSON.stringify({
|
|
142
|
-
positions: state.positions,
|
|
143
|
-
organization: state.organization
|
|
144
|
-
})
|
|
145
|
-
);
|
|
126
|
+
helpers.saveToStorage();
|
|
146
127
|
},
|
|
147
128
|
resetShopcart() {
|
|
148
129
|
state.positions = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopcart.js","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { computed, reactive, watch } from 'vue';\n// Dependencies\n// Globals\nimport { setError } from '@martyrs/src/modules/globals/views/store/globals.js';\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false,\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n createCartItem(product, organization, type = 'sale') {\n return {\n _id: product._id,\n images: product.images,\n name: product.name,\n price: product.price,\n listing: product.listing,\n quantity: 1,\n org_id: organization,\n type: type,\n };\n },\n\n saveToStorage() {\n localStorage.setItem(\n CART_STORAGE_KEY,\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;\n },\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId });\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n },\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n\n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct || serverProduct.price !== product.price || serverProduct.name !== product.name || serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(product => !invalidProducts.includes(product._id));\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n toggleShopcart() {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n addProductToCart(product, organization, date) {\n console.log('organization shopcart is', organization);\n const cartItem = state.positions.find(item => item._id === product._id);\n\n if (cartItem) {\n cartItem.quantity++;\n } else {\n state.positions.push({\n _id: product._id,\n images: product.images,\n name: product.name,\n listing: product.listing,\n price: product.price,\n quantity: 1,\n date: date,\n org_id: organization, // Добавляем _id организации к каждому продукту\n });\n }\n state.organization = organization;\n\n // Обновляем объект корзины в localStorage, включая _id организации\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: organization, // Сохраняем _id организации в корне объекта корзины\n })\n );\n },\n\n async addVariantToCart(variantItem, organizationId, selectedDates = null) {\n try {\n // Убедимся, что организация установлена \n state.organization = organizationId;\n \n // Проверим, есть ли этот вариант уже в корзине\n const existingPosition = state.positions.find(\n position => position.product._id === variantItem._id && position.variantId === variantItem.variantId\n );\n \n if (existingPosition) {\n // Обновляем существующую позицию\n existingPosition.quantity += 1;\n \n // Если есть выбранные даты для аренды, обновляем их\n if (selectedDates) {\n existingPosition.selectedDates = selectedDates;\n }\n } else {\n // Создаем новую позицию\n const position = {\n product: {\n _id: variantItem._id,\n name: variantItem.name,\n price: variantItem.price,\n sku: variantItem.sku\n },\n variantId: variantItem.variantId,\n attributes: variantItem.attributes || [],\n quantity: 1,\n price: variantItem.price,\n };\n \n // Добавляем даты для товаров с арендой\n if (selectedDates) {\n position.selectedDates = selectedDates;\n }\n \n // Добавляем позицию в корзину\n state.positions.push(position);\n }\n \n // Обновляем локальное хранилище\n updateLocalStorage();\n \n // Отправляем уведомление о добавлении в корзину\n showNotification('Product added to cart');\n \n return true;\n } catch (error) {\n console.error('Error adding variant to cart:', error);\n return false;\n }\n },\n\n\n removeProduct(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n decrementItemQuantity(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n cartItem.quantity--;\n\n if (cartItem.quantity < 1) {\n state.positions.splice(cartItemIndex, 1);\n }\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n incrementItemQuantity(_id) {\n const cartItem = state.positions.find(item => item._id === _id);\n\n if (cartItem) {\n cartItem.quantity++;\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n }\n },\n\n updateRentDates({ productId, dates }) {\n const product = state.positions.find(p => p._id === productId);\n\n if (product) {\n product.date = dates; // Предполагается, что dates — объект { start, end }\n }\n\n localStorage.setItem(\n 'shopcart',\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n resetShopcart() {\n state.positions = [];\n\n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start);\n const end = new Date(product.date.end);\n const diffTime = Math.abs(end - start);\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0)\n );\n }),\n cartTotalAmount: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0)\n );\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, state };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shopcart.js","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { computed, reactive, watch } from 'vue';\n// Dependencies\n// Globals\nimport { setError, setSnack } from '@martyrs/src/modules/globals/views/store/globals.js';\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false,\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n saveToStorage() {\n localStorage.setItem(\n CART_STORAGE_KEY,\n JSON.stringify({\n positions: state.positions,\n organization: state.organization,\n })\n );\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price && serverProduct.name === product.name && serverProduct.available !== false;\n },\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId });\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n },\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n\n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n\n if (!serverProduct || serverProduct.price !== product.price || serverProduct.name !== product.name || serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(product => !invalidProducts.includes(product._id));\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n toggleShopcart() {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n addProductToCart(product, variant, organization, date, quantity = 1) {\n console.log('Adding product with variant to cart', { product: product._id, variant: variant._id, quantity });\n \n // Убедимся, что организация установлена\n state.organization = organization;\n \n // Ищем позицию с таким же товаром и вариантом\n const cartItem = state.positions.find(\n item => item._id === product._id && item.variant === variant._id\n );\n\n if (cartItem) {\n cartItem.quantity += quantity;\n } else {\n state.positions.push({\n _id: product._id,\n images: variant.images?.length > 0 ? variant.images : product.images,\n name: product.name,\n listing: product.listing,\n price: variant.price || product.price,\n quantity: quantity,\n unit: variant.unit || product.unit,\n date: date,\n variant: variant._id,\n org_id: organization,\n });\n }\n\n // Сохраняем в localStorage\n helpers.saveToStorage();\n \n // Отправляем уведомление\n setSnack('Product added to cart');\n },\n\n\n\n removeProduct(productId, variantId = null) {\n const cartItemIndex = state.positions.findIndex(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n helpers.saveToStorage();\n }\n },\n\n decrementItemQuantity(productId, variantId = null) {\n const cartItem = state.positions.find(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItem) {\n cartItem.quantity--;\n\n if (cartItem.quantity < 1) {\n const index = state.positions.indexOf(cartItem);\n state.positions.splice(index, 1);\n }\n\n helpers.saveToStorage();\n }\n },\n\n incrementItemQuantity(productId, variantId = null) {\n const cartItem = state.positions.find(item => {\n if (variantId) {\n return item._id === productId && item.variant === variantId;\n }\n return item._id === productId;\n });\n\n if (cartItem) {\n cartItem.quantity++;\n helpers.saveToStorage();\n }\n },\n\n updateRentDates({ productId, variantId, dates }) {\n const product = state.positions.find(p => p._id === productId && p.variant === variantId);\n\n if (product) {\n product.date = dates;\n }\n\n helpers.saveToStorage();\n },\n\n resetShopcart() {\n state.positions = [];\n\n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start);\n const end = new Date(product.date.end);\n const diffTime = Math.abs(end - start);\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0)\n );\n }),\n cartTotalAmount: computed(() => {\n return Number(\n state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0)\n );\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = [];\nhistory.push(state);\n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport { actions, getters, state };\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
5
|
const CardOrderItem = require("../../../orders/components/blocks/CardOrderItem.vue.cjs");
|
|
6
|
-
const Chips = require("../../../../components/Chips/Chips.
|
|
6
|
+
const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
|
|
7
7
|
const PlaceholderOrganizationPic = require("../../../icons/placeholders/PlaceholderOrganizationPic.vue.cjs");
|
|
8
8
|
const IconShopcart = require("../../../icons/entities/IconShopcart.vue.cjs");
|
|
9
9
|
const IconTime = require("../../../icons/entities/IconTime.vue.cjs");
|
|
@@ -137,9 +137,17 @@ const _sfc_main = {
|
|
|
137
137
|
onClick: vue.withModifiers(($event) => _ctx.$router.push({ name: "Organization_Product", params: { _id: __props.organization._id, product: product._id } }), ["stop"]),
|
|
138
138
|
key: product._id,
|
|
139
139
|
editable: false,
|
|
140
|
-
product,
|
|
140
|
+
productId: product._id,
|
|
141
|
+
variantId: product.variant,
|
|
142
|
+
images: product.images,
|
|
143
|
+
name: product.name,
|
|
144
|
+
quantity: product.quantity || 1,
|
|
145
|
+
unit: product.unit,
|
|
146
|
+
dates: product.date,
|
|
147
|
+
listing: product.listing,
|
|
148
|
+
price: product.price,
|
|
141
149
|
class: "pd-thin w-15r radius-medium bg-white"
|
|
142
|
-
}, null, 8, ["onClick", "
|
|
150
|
+
}, null, 8, ["onClick", "productId", "variantId", "images", "name", "quantity", "unit", "dates", "listing", "price"]);
|
|
143
151
|
}), 128)),
|
|
144
152
|
_cache[2] || (_cache[2] = vue.createElementVNode("button", { class: "pd-thin w-15r radius-medium bg-main button" }, " View menu ", -1))
|
|
145
153
|
])
|
package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardOrganization.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/blocks/CardOrganization.vue"],"sourcesContent":["<template>\n <div \n class=\"o-hidden pos-relative cursor-pointer bg-light \"\n @click=\"$router.push({name: 'Organization', params: {_id: organization._id}})\"\n >\n <div class=\"h-4r flex pos-relative\">\n\n <img loading=\"lazy\" \n v-if=\"organization.profile.photo && organization.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + organization.profile.photo\" \n class=\"h-4r w-4r radius-extra bg-white\" \n style=\"flex: 0 1 auto\"\n />\n\n <PlaceholderOrganizationPic\n v-else\n class=\"w-4r h-max radius-medium\"\n style=\"flex: 0 1 auto\"\n />\n \n <div class=\"pos-relative w-100 flex-h-center flex flex-column flex-child-1 flex-child mn-l-thin w-100\">\n \n <!-- <Text :text=\"organization.profile.name ? organization.profile.name : ''\" :maxLen=\"18\" class=\"h3 d-block\"/> -->\n <p class=\"h4 t-truncate w-100\">{{organization.profile.name}}</p>\n <!-- RATING -->\n <!-- <div v-if=\"showRating && organization.rating\" class=\"w-max star-container flex-v-center flex\">\n <img loading=\"lazy\" \n v-for=\"i in 5\"\n class=\"i-small mn-r-thin\"\n :src=\"i <= organization.rating.median ? '/icons/star.svg' : '/icons/star-stroke.svg'\"\n >\n\n <span class=\"p-small t-semi mn-r-thin\">{{organization.rating.median}}</span>\n <span class=\"p-small\">({{organization.rating.amount}})</span>\n </div> -->\n\n <div v-if=\"showFollowers || showTags\" class=\"mn-t-micro gap-micro flex-nowrap flex\">\n\n <Chips \n v-if=\"showTags && organization.profile.tags?.length > 0\" \n :chips=\"organization.profile.tags.slice(0,3)\"\n class=\"pos-relative t-trimmed p-medium\"\n >\n <div v-if=\"showFollowers\" class=\"t-truncate pos-relative p-medium mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white\">\n <p class=\"t-truncate\">{{organization.numberOfSubscribers}} followers</p>\n\n <ButtonToggleMembership\n v-if=\"\n user?._id \n && organization.owner !== user._id\n \"\n :user=\"user._id\"\n :type=\"'organization'\" \n :role=\"'subscriber'\" \n :target=\"organization._id\" \n :status=\"organization.isSubscriber\" \n :text=\"{create: '+', remove: '-'}\"\n @updateMembership=\"event => emits('updateMembership', event, 'isSubscriber', 'numberOfSubscribers')\"\n class=\"i-semi\" \n />\n </div>\n </Chips>\n </div>\n\n </div>\n\n </div>\n\n\n <div \n v-if=\"showProducts && organization.products\" \n class=\"mn-b-small t-nowrap mn-t-small w-100 flex-nowrap flex flex-v-center pd-small bg-white radius-medium\"\n >\n <IconTime class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-micro\">\n {{\n organization.distance ? \n organization.distance > 50 ? \n '3-5 days' : \n Math.ceil((5 + 5 + 3 * organization.distance) / 5) * 5 \n + '-' \n + Math.ceil((15 + 5 + 3 * organization.distance) / 5) * 5 \n + ' MIN' : 'Unavailable' \n }} \n </span>\n\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"t-transp t-grey mn-r-micro\">|</span>\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"mn-r-thin\">{{organization.distance ? organization.distance.toFixed(1) + 'KM' : ''}}</span>\n <!-- <span class=\"mn-r-thin\">{{organization.nearestSpotDistance}}</span> -->\n <!-- <IconPrice class=\"i-medium mn-r-micro\"/> -->\n <!-- <span class=\"mn-r-thin\">{{returnCurrency()}}500 </span> -->\n <IconShopcart class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-thin\"> {{organization.products.length}} products</span>\n </div>\n\n <div v-if=\"showProducts && organization.products?.length > 0\" class=\"w-100 o-scroll scroll-hide radius-medium\">\n <div class=\"w-max flex-nowrap flex gap-thin\">\n <CardOrderItem \n @click.stop=\"$router.push({name: 'Organization_Product', params: {_id: organization._id, product: product._id}})\" \n v-for=\"product in organization.products.slice(0,5)\" \n :key=\"product._id\" \n :editable=\"false\" \n :product=\"product\" \n class=\"pd-thin w-15r radius-medium bg-white\"\n \n />\n <button class=\"pd-thin w-15r radius-medium bg-main button\">\n View menu\n </button>\n </div>\n </div>\n\n </div>\n</template>\n\n<script setup>\n import { ref } from 'vue'\n import { useRouter } from 'vue-router'\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n import Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n import PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'\n\n import IconPrice from '@martyrs/src/modules/icons/entities/IconPrice.vue'\n import IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n import ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n\n const props = defineProps({\n // Model\n user: String,\n organization: Object,\n // View\n showProducts: {\n type: Boolean,\n default: false\n },\n showFollowers: {\n type: Boolean,\n default: true\n },\n showRating: {\n type: Boolean,\n default: false\n },\n showFeatured: {\n type: Boolean,\n default: true\n },\n showTags: {\n type: Boolean,\n default: true\n },\n });\n\n const emits = defineEmits(['updateMembership'])\n\n const router = useRouter();\n</script>"],"names":["useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"CardOrganization.vue.cjs","sources":["../../../../../../../src/modules/organizations/components/blocks/CardOrganization.vue"],"sourcesContent":["<template>\n <div \n class=\"o-hidden pos-relative cursor-pointer bg-light \"\n @click=\"$router.push({name: 'Organization', params: {_id: organization._id}})\"\n >\n <div class=\"h-4r flex pos-relative\">\n\n <img loading=\"lazy\" \n v-if=\"organization.profile.photo && organization.profile.photo.length > 0\"\n :src=\"(FILE_SERVER_URL || '') + organization.profile.photo\" \n class=\"h-4r w-4r radius-extra bg-white\" \n style=\"flex: 0 1 auto\"\n />\n\n <PlaceholderOrganizationPic\n v-else\n class=\"w-4r h-max radius-medium\"\n style=\"flex: 0 1 auto\"\n />\n \n <div class=\"pos-relative w-100 flex-h-center flex flex-column flex-child-1 flex-child mn-l-thin w-100\">\n \n <!-- <Text :text=\"organization.profile.name ? organization.profile.name : ''\" :maxLen=\"18\" class=\"h3 d-block\"/> -->\n <p class=\"h4 t-truncate w-100\">{{organization.profile.name}}</p>\n <!-- RATING -->\n <!-- <div v-if=\"showRating && organization.rating\" class=\"w-max star-container flex-v-center flex\">\n <img loading=\"lazy\" \n v-for=\"i in 5\"\n class=\"i-small mn-r-thin\"\n :src=\"i <= organization.rating.median ? '/icons/star.svg' : '/icons/star-stroke.svg'\"\n >\n\n <span class=\"p-small t-semi mn-r-thin\">{{organization.rating.median}}</span>\n <span class=\"p-small\">({{organization.rating.amount}})</span>\n </div> -->\n\n <div v-if=\"showFollowers || showTags\" class=\"mn-t-micro gap-micro flex-nowrap flex\">\n\n <Chips \n v-if=\"showTags && organization.profile.tags?.length > 0\" \n :chips=\"organization.profile.tags.slice(0,3)\"\n class=\"pos-relative t-trimmed p-medium\"\n >\n <div v-if=\"showFollowers\" class=\"t-truncate pos-relative p-medium mn-r-nano d-inline-block w-max pd-b-micro pd-t-micro pd-r-thin pd-l-thin radius-small t-medium bg-white\">\n <p class=\"t-truncate\">{{organization.numberOfSubscribers}} followers</p>\n\n <ButtonToggleMembership\n v-if=\"\n user?._id \n && organization.owner !== user._id\n \"\n :user=\"user._id\"\n :type=\"'organization'\" \n :role=\"'subscriber'\" \n :target=\"organization._id\" \n :status=\"organization.isSubscriber\" \n :text=\"{create: '+', remove: '-'}\"\n @updateMembership=\"event => emits('updateMembership', event, 'isSubscriber', 'numberOfSubscribers')\"\n class=\"i-semi\" \n />\n </div>\n </Chips>\n </div>\n\n </div>\n\n </div>\n\n\n <div \n v-if=\"showProducts && organization.products\" \n class=\"mn-b-small t-nowrap mn-t-small w-100 flex-nowrap flex flex-v-center pd-small bg-white radius-medium\"\n >\n <IconTime class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-micro\">\n {{\n organization.distance ? \n organization.distance > 50 ? \n '3-5 days' : \n Math.ceil((5 + 5 + 3 * organization.distance) / 5) * 5 \n + '-' \n + Math.ceil((15 + 5 + 3 * organization.distance) / 5) * 5 \n + ' MIN' : 'Unavailable' \n }} \n </span>\n\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"t-transp t-grey mn-r-micro\">|</span>\n <span v-if=\"organization.distance && organization.distance < 50\" class=\"mn-r-thin\">{{organization.distance ? organization.distance.toFixed(1) + 'KM' : ''}}</span>\n <!-- <span class=\"mn-r-thin\">{{organization.nearestSpotDistance}}</span> -->\n <!-- <IconPrice class=\"i-medium mn-r-micro\"/> -->\n <!-- <span class=\"mn-r-thin\">{{returnCurrency()}}500 </span> -->\n <IconShopcart class=\"i-medium t-transp mn-r-micro\"/>\n <span class=\"mn-r-thin\"> {{organization.products.length}} products</span>\n </div>\n\n <div v-if=\"showProducts && organization.products?.length > 0\" class=\"w-100 o-scroll scroll-hide radius-medium\">\n <div class=\"w-max flex-nowrap flex gap-thin\">\n <CardOrderItem \n @click.stop=\"$router.push({name: 'Organization_Product', params: {_id: organization._id, product: product._id}})\" \n v-for=\"product in organization.products.slice(0,5)\" \n :key=\"product._id\" \n :editable=\"false\" \n :productId=\"product._id\"\n :variantId=\"product.variant\"\n :images=\"product.images\"\n :name=\"product.name\"\n :quantity=\"product.quantity || 1\"\n :unit=\"product.unit\"\n :dates=\"product.date\"\n :listing=\"product.listing\"\n :price=\"product.price\"\n class=\"pd-thin w-15r radius-medium bg-white\"\n \n />\n <button class=\"pd-thin w-15r radius-medium bg-main button\">\n View menu\n </button>\n </div>\n </div>\n\n </div>\n</template>\n\n<script setup>\n import { ref } from 'vue'\n import { useRouter } from 'vue-router'\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n import Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n import PlaceholderOrganizationPic from '@martyrs/src/modules/icons/placeholders/PlaceholderOrganizationPic.vue'\n\n import IconPrice from '@martyrs/src/modules/icons/entities/IconPrice.vue'\n import IconShopcart from '@martyrs/src/modules/icons/entities/IconShopcart.vue'\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n import ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n\n const props = defineProps({\n // Model\n user: String,\n organization: Object,\n // View\n showProducts: {\n type: Boolean,\n default: false\n },\n showFollowers: {\n type: Boolean,\n default: true\n },\n showRating: {\n type: Boolean,\n default: false\n },\n showFeatured: {\n type: Boolean,\n default: true\n },\n showTags: {\n type: Boolean,\n default: true\n },\n });\n\n const emits = defineEmits(['updateMembership'])\n\n const router = useRouter();\n</script>"],"names":["useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsKE,UAAM,QAAQ;AAECA,cAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|