@ozdao/martyrs 0.2.466 → 0.2.467
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 +1 -1
- package/dist/_virtual/index.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.js.map +1 -0
- package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor}/preferences/dist/esm/index.cjs +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/index.cjs.map +1 -0
- package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor}/preferences/dist/esm/index.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/index.js.map +1 -0
- package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor}/preferences/dist/esm/web.cjs +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/web.cjs.map +1 -0
- package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor}/preferences/dist/esm/web.js +1 -1
- package/dist/martyrs/node_modules/.pnpm/@capacitor_preferences@7.0.1_@capacitor_core@7.2.0/node_modules/@capacitor/preferences/dist/esm/web.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/constants.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/constants.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/format.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/format.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/RFC3966.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/RFC3966.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getNumberType.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getNumberType.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isObject.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isObject.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/parseDigits.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/parseDigits.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isPossible.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isPossible.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isValid.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/isValid.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/normalizeArguments.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/normalizeArguments.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parse.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parse.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber_.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/tools/semver-compare.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/tools/semver-compare.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/metadata.min.json.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/metadata.min.json.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/withMetadataArgument.cjs.map +1 -0
- package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js.map +1 -0
- package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
- package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue.cjs → Popup.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Popup/{Popup.vue.js → Popup.vue2.js} +2 -2
- package/dist/martyrs/src/components/Popup/{Popup.vue.cjs.map → Popup.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.cjs → SelectMulti.vue.cjs} +2 -2
- package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js.map → SelectMulti.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js → SelectMulti.vue.js} +2 -2
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +1 -0
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.cjs → Tooltip.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js.map → Tooltip.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs +2 -5
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js +2 -5
- package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +4 -4
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +3 -3
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +3 -3
- 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/Navigation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.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/plugins/AlertDialog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/plugins/AlertDialog.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.js +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +10 -0
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +11 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js +1 -1
- package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +64 -8
- 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 +65 -9
- 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 +3 -3
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +11 -0
- 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 +11 -0
- 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 +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +35 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +35 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/{martyrs → node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +1 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
- package/dist/{martyrs → node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs +6 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +6 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/{martyrs → node_modules/.pnpm/uuid@11.1.0}/node_modules/uuid/dist/esm-browser/rng.cjs +4 -4
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +15 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs +11 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +11 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs +21 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +21 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/package.json +1 -1
- package/src/modules/auth/views/store/auth.js +1 -7
- package/src/modules/marketplace/views/components/pages/Catalog.vue +11 -0
- package/src/modules/orders/components/pages/OrderCreate.vue +54 -10
- package/src/modules/organizations/components/pages/Organization.vue +11 -0
- package/src/modules/products/components/pages/Product.vue +32 -7
- package/dist/martyrs/node_modules/@capacitor/core/dist/index.cjs.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/core/dist/index.js.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/index.cjs.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/index.js.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/web.cjs.map +0 -1
- package/dist/martyrs/node_modules/@capacitor/preferences/dist/esm/web.js.map +0 -1
- package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
- package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
- package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
- package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/ParseError.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/ParseError.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/constants.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/constants.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/format.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/format.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/RFC3966.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/RFC3966.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getNumberType.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getNumberType.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isObject.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isObject.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/parseDigits.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/parseDigits.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/isPossible.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/isPossible.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/isValid.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/isValid.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/metadata.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/metadata.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/normalizeArguments.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/normalizeArguments.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parse.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parse.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber_.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/tools/semver-compare.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/es6/tools/semver-compare.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/metadata.min.json.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/metadata.min.json.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/min/exports/withMetadataArgument.cjs.map +0 -1
- package/dist/martyrs/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs +0 -5
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +0 -15
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -17
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +0 -17
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs +0 -13
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +0 -13
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs +0 -8
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +0 -1
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +0 -1
- /package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_core@7.2.0/node_modules/@capacitor}/core/dist/index.cjs +0 -0
- /package/dist/martyrs/node_modules/{@capacitor → .pnpm/@capacitor_core@7.2.0/node_modules/@capacitor}/core/dist/index.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/ParseError.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/ParseError.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/PhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/PhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/constants.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/constants.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/format.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/format.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/RFC3966.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/RFC3966.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/applyInternationalSeparatorStyle.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/applyInternationalSeparatorStyle.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/checkNumberLength.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/checkNumberLength.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extension/createExtensionPattern.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extension/createExtensionPattern.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extension/extractExtension.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extension/extractExtension.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractCountryCallingCode.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractCountryCallingCode.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractNationalNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractNationalNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractPhoneContext.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/extractPhoneContext.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/formatNationalNumberUsingFormat.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/formatNationalNumberUsingFormat.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getCountryByCallingCode.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getCountryByCallingCode.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getCountryByNationalNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getCountryByNationalNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getIddPrefix.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getIddPrefix.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getNumberType.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getNumberType.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getPossibleCountriesForNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/getPossibleCountriesForNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/isObject.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/isObject.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/isViablePhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/isViablePhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/matchesEntirely.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/matchesEntirely.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/parseDigits.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/parseDigits.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/stripIddPrefix.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/helpers/stripIddPrefix.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/isPossible.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/isPossible.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/isValid.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/isValid.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/metadata.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/metadata.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/normalizeArguments.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/normalizeArguments.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parse.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parse.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parseIncompletePhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parseIncompletePhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumberWithError_.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumberWithError_.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumber_.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/parsePhoneNumber_.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/tools/semver-compare.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/es6/tools/semver-compare.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/metadata.min.json.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/metadata.min.json.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/min/exports/parsePhoneNumber.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/min/exports/parsePhoneNumber.js +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/min/exports/withMetadataArgument.cjs +0 -0
- /package/dist/martyrs/node_modules/{libphonenumber-js → .pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js}/min/exports/withMetadataArgument.js +0 -0
- /package/dist/{martyrs → node_modules/.pnpm/@vue_shared@3.5.13}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +0 -0
- /package/dist/{martyrs → node_modules/.pnpm/@vue_shared@3.5.13}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.cjs +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.cjs.map +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.js +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.client.js","sources":["../../../../../src/modules/notifications/notifications.client.js"],"sourcesContent":["import { watch, toRefs } from \"vue\";\n// Router import \nimport routerNotifications from './router/notifications.router.js'; \n// Store \nimport * as storeNotifications from './store/notifications.store.js'; \n// Auth store import\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n// Global WebSocket import\nimport globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\n// Layouts \nimport NotificationsLayout from './components/layouts/NotificationsLayout.vue'; \n// Sections \nimport NotificationsList from './components/sections/NotificationsList.vue'; \nimport NotificationPreferences from './components/sections/NotificationPreferences.vue'; \n// Pages \nimport Notifications from './components/pages/Notifications.vue'; \n// Components \nimport NotificationBadge from './components/elements/NotificationBadge.vue'; \nimport NotificationItem from './components/blocks/NotificationItem.vue'; \n\n/**\n * Capacitor Push Notification handler\n */\nclass CapacitorPushHandler {\n constructor(store) {\n this.store = store;\n this.pushNotifications = null;\n this.device = null;\n this.isInitialized = false;\n }\n\n /**\n * Initialize Capacitor plugins\n */\n async initialize() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n try {\n // Dynamic imports to prevent errors in web environment\n const { Capacitor } = await import('@capacitor/core');\n const { PushNotifications } = await import('@capacitor/push-notifications');\n const { Device } = await import('@capacitor/device');\n \n this.capacitor = Capacitor;\n this.pushNotifications = PushNotifications;\n this.device = Device;\n \n // Only proceed if running on a native platform\n if (!this.capacitor.isNativePlatform()) {\n return false;\n }\n \n this.isInitialized = true;\n return true;\n } catch (error) {\n console.error('Error importing Capacitor plugins:', error);\n return false;\n }\n }\n\n /**\n * Request permission and register for push notifications\n */\n async requestPermissions() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (!this.isInitialized) {\n const initialized = await this.initialize();\n if (!initialized) return false;\n }\n\n try {\n // Request permission\n const permissionResult = await this.pushNotifications.requestPermissions();\n if (permissionResult.receive !== 'granted') {\n console.log('Push notification permission denied');\n return false;\n }\n \n // Set up event listeners\n this._setupListeners();\n \n // Register with Apple/Google\n await this.pushNotifications.register();\n return true;\n } catch (error) {\n console.error('Error requesting push notification permissions:', error);\n return false;\n }\n }\n\n /**\n * Setup push notification event listeners\n */\n _setupListeners() {\n // Registration event\n this.pushNotifications.addListener('registration', \n this._handleRegistration.bind(this)\n );\n \n // Notification received event\n this.pushNotifications.addListener('pushNotificationReceived',\n this._handleNotificationReceived.bind(this)\n );\n \n // Notification action performed event\n this.pushNotifications.addListener('pushNotificationActionPerformed',\n this._handleNotificationAction.bind(this)\n );\n }\n\n /**\n * Handle registration token received\n */\n async _handleRegistration(token) {\n try {\n // Get device info\n const deviceInfo = await this.device.getInfo();\n const deviceId = await this.device.getId();\n \n // Prepare device data\n const deviceData = {\n deviceId: deviceId.uuid,\n deviceType: deviceInfo.platform.toLowerCase(),\n deviceToken: token.value\n };\n \n // Register device with backend\n await this.store.notifications.actions.registerDevice(deviceData);\n } catch (error) {\n console.error('Error handling push registration:', error);\n }\n }\n\n /**\n * Handle received notification\n */\n _handleNotificationReceived(notification) {\n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n title: notification.title,\n body: notification.body,\n data: notification.data || {}\n });\n }\n\n /**\n * Handle notification action (when user taps on notification)\n */\n _handleNotificationAction(actionData) {\n if (actionData.notification && actionData.notification.data) {\n this.store.notifications.actions.handleNotificationAction(\n actionData.notification.data\n );\n }\n }\n\n /**\n * Remove push notification listeners\n */\n removeListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n \n if (this.pushNotifications) {\n this.pushNotifications.removeAllListeners();\n }\n }\n}\n\n/**\n * Notification Manager for coordinating WebSocket and Push notifications\n */\nclass NotificationManager {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.pushHandler = new CapacitorPushHandler(store);\n this.initialized = false;\n this.isServer = typeof window === 'undefined';\n }\n\n /**\n * Initialize notifications\n */\n async initialize() {\n if (this.initialized || this.isServer) return;\n \n // Get current user ID from auth store instead of localStorage\n const userId = this.store.auth.state.user?._id;\n if (!userId) {\n console.warn('Cannot initialize notifications: No user ID found in auth store');\n return;\n }\n \n // Initialize WebSocket for realtime notifications\n await globalWebSocket.connect(userId);\n \n // Initialize push notifications for mobile if enabled\n if (this.options.enablePush !== false) {\n await this.pushHandler.requestPermissions();\n }\n \n this.initialized = true;\n \n // Fetch existing notifications\n await this.store.notifications.actions.getNotifications(userId);\n }\n\n /**\n * Disconnect and clean up\n */\n disconnect() {\n if (this.isServer) return;\n \n globalWebSocket.removeModuleListeners('notifications');\n this.pushHandler.removeListeners();\n this.initialized = false;\n }\n}\n\n/**\n * Server-side utility for pre-fetching notification data\n */\nconst SSRUtils = {\n /**\n * Pre-fetch notifications for SSR\n * @param {Object} store - Store instance\n * @param {Object} context - SSR context\n */\n async prefetchNotifications(store, context) {\n try {\n const userId = store.auth.state.user?._id;\n if (userId) {\n // Fetch notifications without WebSocket or push setup\n await store.notifications.actions.getNotifications(userId);\n }\n } catch (error) {\n console.error('Error pre-fetching notifications for SSR:', error);\n }\n }\n};\n\n/**\n * Function to initialize the notifications module\n * @param {Object} app - Vue app instance\n * @param {Object} store - Vuex/Pinia store\n * @param {Object} router - Vue Router instance\n * @param {Object} options - Configuration options\n */\nfunction initializeNotifications(app, store, router, options = {}) {\n // Add routes and store\n const route = options.route || 'User Profile Root';\n router.addRoute(route, routerNotifications);\n store.addStore('notifications', storeNotifications);\n \n // Initialize global WebSocket if needed\n if (options.wsUrl) {\n globalWebSocket.initialize({ wsUrl: options.wsUrl });\n }\n \n // Create notification manager\n const notificationManager = new NotificationManager(store, {\n enablePush: options.enablePush !== false,\n maxReconnectAttempts: options.maxReconnectAttempts || 5,\n reconnectDelay: options.reconnectDelay || 3000,\n pingInterval: options.pingInterval || 30000\n });\n \n // Attach notification manager to store for access in components\n store.notificationManager = notificationManager;\n \n // Don't auto-initialize on server\n const isServer = typeof window === 'undefined';\n const autoInit = !isServer && options.autoInit !== false;\n \n if (autoInit) {\n // Initialize after auth is confirmed\n const isAuthenticated = store.auth.state.isAuthenticated;\n const userId = store.auth.state.user?._id;\n \n if (isAuthenticated && userId) {\n notificationManager.initialize();\n }\n \n // Watch for user login/logout using auth store\n watch(() => store.auth.state.isAuthenticated, (isAuthenticated) => {\n if (isAuthenticated) {\n notificationManager.initialize();\n } else {\n notificationManager.disconnect();\n store.notifications.mutations.resetNotifications();\n }\n });\n }\n \n // Provide composable for components to access notification functionality\n app.provide('useNotifications', () => {\n return {\n ...toRefs(store.notifications.state),\n ...store.notifications.actions,\n ...store.notifications.mutations,\n init: notificationManager.initialize.bind(notificationManager),\n disconnect: notificationManager.disconnect.bind(notificationManager),\n isServer\n };\n });\n \n return notificationManager;\n}\n\n// Module export\nconst ModuleNotifications = {\n initialize: initializeNotifications,\n SSR: SSRUtils, // Export SSR utilities\n views: {\n store: {\n storeNotifications,\n },\n router: {\n routerNotifications\n },\n components: {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout\n }\n }\n};\n\n// Component exports\nexport {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n // SSR Utilities\n SSRUtils\n};\n\nexport default ModuleNotifications;\n"],"names":["routerNotifications","storeNotifications","isAuthenticated"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notifications.client.js","sources":["../../../../../src/modules/notifications/notifications.client.js"],"sourcesContent":["import { watch, toRefs } from \"vue\";\n// Router import \nimport routerNotifications from './router/notifications.router.js'; \n// Store \nimport * as storeNotifications from './store/notifications.store.js'; \n// Auth store import\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\n// Global WebSocket import\nimport globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';\n// Layouts \nimport NotificationsLayout from './components/layouts/NotificationsLayout.vue'; \n// Sections \nimport NotificationsList from './components/sections/NotificationsList.vue'; \nimport NotificationPreferences from './components/sections/NotificationPreferences.vue'; \n// Pages \nimport Notifications from './components/pages/Notifications.vue'; \n// Components \nimport NotificationBadge from './components/elements/NotificationBadge.vue'; \nimport NotificationItem from './components/blocks/NotificationItem.vue'; \n\n/**\n * Capacitor Push Notification handler\n */\nclass CapacitorPushHandler {\n constructor(store) {\n this.store = store;\n this.pushNotifications = null;\n this.device = null;\n this.isInitialized = false;\n }\n\n /**\n * Initialize Capacitor plugins\n */\n async initialize() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n try {\n // Dynamic imports to prevent errors in web environment\n const { Capacitor } = await import('@capacitor/core');\n const { PushNotifications } = await import('@capacitor/push-notifications');\n const { Device } = await import('@capacitor/device');\n \n this.capacitor = Capacitor;\n this.pushNotifications = PushNotifications;\n this.device = Device;\n \n // Only proceed if running on a native platform\n if (!this.capacitor.isNativePlatform()) {\n return false;\n }\n \n this.isInitialized = true;\n return true;\n } catch (error) {\n console.error('Error importing Capacitor plugins:', error);\n return false;\n }\n }\n\n /**\n * Request permission and register for push notifications\n */\n async requestPermissions() {\n // Skip if running in SSR\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (!this.isInitialized) {\n const initialized = await this.initialize();\n if (!initialized) return false;\n }\n\n try {\n // Request permission\n const permissionResult = await this.pushNotifications.requestPermissions();\n if (permissionResult.receive !== 'granted') {\n console.log('Push notification permission denied');\n return false;\n }\n \n // Set up event listeners\n this._setupListeners();\n \n // Register with Apple/Google\n await this.pushNotifications.register();\n return true;\n } catch (error) {\n console.error('Error requesting push notification permissions:', error);\n return false;\n }\n }\n\n /**\n * Setup push notification event listeners\n */\n _setupListeners() {\n // Registration event\n this.pushNotifications.addListener('registration', \n this._handleRegistration.bind(this)\n );\n \n // Notification received event\n this.pushNotifications.addListener('pushNotificationReceived',\n this._handleNotificationReceived.bind(this)\n );\n \n // Notification action performed event\n this.pushNotifications.addListener('pushNotificationActionPerformed',\n this._handleNotificationAction.bind(this)\n );\n }\n\n /**\n * Handle registration token received\n */\n async _handleRegistration(token) {\n try {\n // Get device info\n const deviceInfo = await this.device.getInfo();\n const deviceId = await this.device.getId();\n \n // Prepare device data\n const deviceData = {\n deviceId: deviceId.uuid,\n deviceType: deviceInfo.platform.toLowerCase(),\n deviceToken: token.value\n };\n \n // Register device with backend\n await this.store.notifications.actions.registerDevice(deviceData);\n } catch (error) {\n console.error('Error handling push registration:', error);\n }\n }\n\n /**\n * Handle received notification\n */\n _handleNotificationReceived(notification) {\n // Add notification to store\n this.store.notifications.actions.addLocalNotification({\n title: notification.title,\n body: notification.body,\n data: notification.data || {}\n });\n }\n\n /**\n * Handle notification action (when user taps on notification)\n */\n _handleNotificationAction(actionData) {\n if (actionData.notification && actionData.notification.data) {\n this.store.notifications.actions.handleNotificationAction(\n actionData.notification.data\n );\n }\n }\n\n /**\n * Remove push notification listeners\n */\n removeListeners() {\n if (typeof window === 'undefined') {\n return;\n }\n \n if (this.pushNotifications) {\n this.pushNotifications.removeAllListeners();\n }\n }\n}\n\n/**\n * Notification Manager for coordinating WebSocket and Push notifications\n */\nclass NotificationManager {\n constructor(store, options = {}) {\n this.store = store;\n this.options = options;\n this.pushHandler = new CapacitorPushHandler(store);\n this.initialized = false;\n this.isServer = typeof window === 'undefined';\n }\n\n /**\n * Initialize notifications\n */\n async initialize() {\n if (this.initialized || this.isServer) return;\n \n // Get current user ID from auth store instead of localStorage\n const userId = this.store.auth.state.user?._id;\n if (!userId) {\n console.warn('Cannot initialize notifications: No user ID found in auth store');\n return;\n }\n \n // Initialize WebSocket for realtime notifications\n await globalWebSocket.connect(userId);\n \n // Initialize push notifications for mobile if enabled\n if (this.options.enablePush !== false) {\n await this.pushHandler.requestPermissions();\n }\n \n this.initialized = true;\n \n // Fetch existing notifications\n await this.store.notifications.actions.getNotifications(userId);\n }\n\n /**\n * Disconnect and clean up\n */\n disconnect() {\n if (this.isServer) return;\n \n globalWebSocket.removeModuleListeners('notifications');\n this.pushHandler.removeListeners();\n this.initialized = false;\n }\n}\n\n/**\n * Server-side utility for pre-fetching notification data\n */\nconst SSRUtils = {\n /**\n * Pre-fetch notifications for SSR\n * @param {Object} store - Store instance\n * @param {Object} context - SSR context\n */\n async prefetchNotifications(store, context) {\n try {\n const userId = store.auth.state.user?._id;\n if (userId) {\n // Fetch notifications without WebSocket or push setup\n await store.notifications.actions.getNotifications(userId);\n }\n } catch (error) {\n console.error('Error pre-fetching notifications for SSR:', error);\n }\n }\n};\n\n/**\n * Function to initialize the notifications module\n * @param {Object} app - Vue app instance\n * @param {Object} store - Vuex/Pinia store\n * @param {Object} router - Vue Router instance\n * @param {Object} options - Configuration options\n */\nfunction initializeNotifications(app, store, router, options = {}) {\n // Add routes and store\n const route = options.route || 'User Profile Root';\n router.addRoute(route, routerNotifications);\n store.addStore('notifications', storeNotifications);\n \n // Initialize global WebSocket if needed\n if (options.wsUrl) {\n globalWebSocket.initialize({ wsUrl: options.wsUrl });\n }\n \n // Create notification manager\n const notificationManager = new NotificationManager(store, {\n enablePush: options.enablePush !== false,\n maxReconnectAttempts: options.maxReconnectAttempts || 5,\n reconnectDelay: options.reconnectDelay || 3000,\n pingInterval: options.pingInterval || 30000\n });\n \n // Attach notification manager to store for access in components\n store.notificationManager = notificationManager;\n \n // Don't auto-initialize on server\n const isServer = typeof window === 'undefined';\n const autoInit = !isServer && options.autoInit !== false;\n \n if (autoInit) {\n // Initialize after auth is confirmed\n const isAuthenticated = store.auth.state.isAuthenticated;\n const userId = store.auth.state.user?._id;\n \n if (isAuthenticated && userId) {\n notificationManager.initialize();\n }\n \n // Watch for user login/logout using auth store\n watch(() => store.auth.state.isAuthenticated, (isAuthenticated) => {\n if (isAuthenticated) {\n notificationManager.initialize();\n } else {\n notificationManager.disconnect();\n store.notifications.mutations.resetNotifications();\n }\n });\n }\n \n // Provide composable for components to access notification functionality\n app.provide('useNotifications', () => {\n return {\n ...toRefs(store.notifications.state),\n ...store.notifications.actions,\n ...store.notifications.mutations,\n init: notificationManager.initialize.bind(notificationManager),\n disconnect: notificationManager.disconnect.bind(notificationManager),\n isServer\n };\n });\n \n return notificationManager;\n}\n\n// Module export\nconst ModuleNotifications = {\n initialize: initializeNotifications,\n SSR: SSRUtils, // Export SSR utilities\n views: {\n store: {\n storeNotifications,\n },\n router: {\n routerNotifications\n },\n components: {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout\n }\n }\n};\n\n// Component exports\nexport {\n // Elements\n NotificationBadge,\n // Blocks\n NotificationItem,\n // Sections\n NotificationsList,\n NotificationPreferences,\n // Pages\n Notifications,\n // Layouts\n NotificationsLayout,\n // SSR Utilities\n SSRUtils\n};\n\nexport default ModuleNotifications;\n"],"names":["routerNotifications","storeNotifications","isAuthenticated"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
const Tooltip = require("../../../../components/Tooltip/Tooltip.
|
|
4
|
+
const Tooltip = require("../../../../components/Tooltip/Tooltip.vue.cjs");
|
|
5
5
|
const IconStatusCreated = require("../icons/IconStatusCreated.vue.cjs");
|
|
6
6
|
const IconStatusConfirmed = require("../icons/IconStatusConfirmed.vue.cjs");
|
|
7
7
|
const IconStatusInUse = require("../icons/IconStatusInUse.vue.cjs");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, normalizeClass, Fragment, renderList, toDisplayString, createVNode, withCtx, createBlock, resolveDynamicComponent } from "vue";
|
|
2
|
-
import _sfc_main$7 from "../../../../components/Tooltip/Tooltip.
|
|
2
|
+
import _sfc_main$7 from "../../../../components/Tooltip/Tooltip.vue.js";
|
|
3
3
|
import _sfc_main$6 from "../icons/IconStatusCreated.vue.js";
|
|
4
4
|
import _sfc_main$5 from "../icons/IconStatusConfirmed.vue.js";
|
|
5
5
|
import _sfc_main$2 from "../icons/IconStatusInUse.vue.js";
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
|
-
const Button = require("../../../../components/Button/Button.
|
|
5
|
+
const Button = require("../../../../components/Button/Button.vue2.cjs");
|
|
6
6
|
const Select = require("../../../../components/Select/Select.vue.cjs");
|
|
7
|
-
const Popup = require("../../../../components/Popup/Popup.
|
|
7
|
+
const Popup = require("../../../../components/Popup/Popup.vue2.cjs");
|
|
8
8
|
const IconTime = require("../../../icons/entities/IconTime.vue.cjs");
|
|
9
9
|
const CardOrderItem = require("../blocks/CardOrderItem.vue.cjs");
|
|
10
10
|
const CardOrganization = require("../../../organizations/components/blocks/CardOrganization.vue.cjs");
|
|
11
11
|
const ChatPage = require("../../../chats/components/pages/ChatPage.vue.cjs");
|
|
12
12
|
const PriceTotal = require("../elements/PriceTotal.vue.cjs");
|
|
13
|
-
;/* empty css
|
|
13
|
+
;/* empty css */
|
|
14
14
|
const globals = require("../../../globals/views/store/globals.cjs");
|
|
15
15
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
16
16
|
const orders = require("../../store/orders.cjs");
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ref, onMounted, computed, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, createTextVNode, toDisplayString, Fragment, renderList, normalizeClass, withCtx, createBlock, unref } from "vue";
|
|
2
2
|
import { useRouter, useRoute } from "vue-router";
|
|
3
|
-
import _sfc_main$2 from "../../../../components/Button/Button.
|
|
3
|
+
import _sfc_main$2 from "../../../../components/Button/Button.vue2.js";
|
|
4
4
|
import Select from "../../../../components/Select/Select.vue.js";
|
|
5
|
-
import _sfc_main$1 from "../../../../components/Popup/Popup.
|
|
5
|
+
import _sfc_main$1 from "../../../../components/Popup/Popup.vue2.js";
|
|
6
6
|
import IconTime from "../../../icons/entities/IconTime.vue.js";
|
|
7
7
|
import _sfc_main$3 from "../blocks/CardOrderItem.vue.js";
|
|
8
8
|
import _sfc_main$5 from "../../../organizations/components/blocks/CardOrganization.vue.js";
|
|
9
9
|
import _sfc_main$6 from "../../../chats/components/pages/ChatPage.vue.js";
|
|
10
10
|
import _sfc_main$4 from "../elements/PriceTotal.vue.js";
|
|
11
|
-
/* empty css
|
|
11
|
+
/* empty css */
|
|
12
12
|
import { state } from "../../../globals/views/store/globals.js";
|
|
13
13
|
import { state as state$1 } from "../../../auth/views/store/auth.js";
|
|
14
14
|
import { actions, state as state$2, getters, mutations } from "../../store/orders.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
+
const Button = require("../../../../components/Button/Button.vue2.cjs");
|
|
4
5
|
const CardOrderItem = require("../blocks/CardOrderItem.vue.cjs");
|
|
5
6
|
const AskToLogin = require("../sections/AskToLogin.vue.cjs");
|
|
6
7
|
const Succes = require("../sections/Succes.vue.cjs");
|
|
@@ -10,6 +11,7 @@ const FormCustomerDetails = require("../sections/FormCustomerDetails.vue.cjs");
|
|
|
10
11
|
const FormDelivery = require("../sections/FormDelivery.vue.cjs");
|
|
11
12
|
const FormPayment = require("../sections/FormPayment.vue.cjs");
|
|
12
13
|
const vueRouter = require("vue-router");
|
|
14
|
+
const mixins = require("../../../globals/views/mixins/mixins.cjs");
|
|
13
15
|
const globals = require("../../../globals/views/store/globals.cjs");
|
|
14
16
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
15
17
|
const shopcart = require("../../store/shopcart.cjs");
|
|
@@ -29,7 +31,6 @@ const _hoisted_4 = {
|
|
|
29
31
|
};
|
|
30
32
|
const _hoisted_5 = { class: "flex gap-thin flex-wrap mn-b-thin" };
|
|
31
33
|
const _hoisted_6 = { class: "mn-b-thin" };
|
|
32
|
-
const _hoisted_7 = ["disabled"];
|
|
33
34
|
const _sfc_main = {
|
|
34
35
|
__name: "OrderCreate",
|
|
35
36
|
emits: ["page-loading", "page-loaded"],
|
|
@@ -38,6 +39,7 @@ const _sfc_main = {
|
|
|
38
39
|
const isLocationLoading = vue.ref(false);
|
|
39
40
|
vueRouter.useRoute();
|
|
40
41
|
const router = vueRouter.useRouter();
|
|
42
|
+
const { returnCurrency } = mixins.useGlobalMixins();
|
|
41
43
|
const order = vue.computed(() => orders.state.current);
|
|
42
44
|
vue.computed(() => users.state.current);
|
|
43
45
|
const cartTotalPrice = shopcart.getters.cartTotalPrice;
|
|
@@ -54,7 +56,7 @@ const _sfc_main = {
|
|
|
54
56
|
}
|
|
55
57
|
orders.mutations.resetOrder();
|
|
56
58
|
vue.onMounted(async () => {
|
|
57
|
-
var _a;
|
|
59
|
+
var _a, _b, _c;
|
|
58
60
|
emits("page-loading");
|
|
59
61
|
isLocationLoading.value = true;
|
|
60
62
|
if (auth.state.user._id) {
|
|
@@ -71,6 +73,26 @@ const _sfc_main = {
|
|
|
71
73
|
});
|
|
72
74
|
isLocationLoading.value = false;
|
|
73
75
|
emits("page-loaded");
|
|
76
|
+
if (typeof gtag === "function") {
|
|
77
|
+
gtag("event", "begin_checkout", {
|
|
78
|
+
currency: returnCurrency(),
|
|
79
|
+
// Замените на вашу валюту
|
|
80
|
+
value: cartTotalPrice || 0,
|
|
81
|
+
items: shopcart.state.positions.map((item) => {
|
|
82
|
+
var _a2, _b2, _c2, _d;
|
|
83
|
+
return {
|
|
84
|
+
item_id: (_a2 = item.product) == null ? void 0 : _a2._id,
|
|
85
|
+
item_name: (_b2 = item.product) == null ? void 0 : _b2.name,
|
|
86
|
+
price: item.price || 0,
|
|
87
|
+
quantity: item.quantity || 1,
|
|
88
|
+
item_category: ((_c2 = item.product) == null ? void 0 : _c2.category) || "",
|
|
89
|
+
item_brand: ((_d = orderOrganization.value) == null ? void 0 : _d.profile.name) || ""
|
|
90
|
+
};
|
|
91
|
+
}),
|
|
92
|
+
organization: (_b = orderOrganization.value) == null ? void 0 : _b.profile.name,
|
|
93
|
+
location: ((_c = globals.state.position) == null ? void 0 : _c.location) || "unknown"
|
|
94
|
+
});
|
|
95
|
+
}
|
|
74
96
|
});
|
|
75
97
|
vue.watch(
|
|
76
98
|
() => orders.state.current.delivery,
|
|
@@ -127,6 +149,7 @@ const _sfc_main = {
|
|
|
127
149
|
}
|
|
128
150
|
});
|
|
129
151
|
async function handleCreate() {
|
|
152
|
+
var _a, _b, _c;
|
|
130
153
|
orders.state.current.status = "created";
|
|
131
154
|
orders.state.current.owner = {
|
|
132
155
|
target: orderOrganization.value[0]._id,
|
|
@@ -150,6 +173,34 @@ const _sfc_main = {
|
|
|
150
173
|
orders.state.current.referralCode = referralCode;
|
|
151
174
|
}
|
|
152
175
|
let order2 = await orders.actions.create(orders.state.current);
|
|
176
|
+
if (order2) {
|
|
177
|
+
if (typeof gtag === "function") {
|
|
178
|
+
gtag("event", "purchase", {
|
|
179
|
+
transaction_id: order2._id,
|
|
180
|
+
value: cartTotalPrice || 0,
|
|
181
|
+
currency: returnCurrency(),
|
|
182
|
+
// Замените на вашу валюту
|
|
183
|
+
tax: 0,
|
|
184
|
+
// Если есть данные о налоге
|
|
185
|
+
shipping: deliveryCost.value,
|
|
186
|
+
// Если есть данные о доставке
|
|
187
|
+
items: shopcart.state.positions.map((item) => {
|
|
188
|
+
var _a2, _b2, _c2;
|
|
189
|
+
return {
|
|
190
|
+
item_id: (_a2 = item.product) == null ? void 0 : _a2._id,
|
|
191
|
+
item_name: (_b2 = item.product) == null ? void 0 : _b2.name,
|
|
192
|
+
price: item.price || 0,
|
|
193
|
+
quantity: item.quantity || 1,
|
|
194
|
+
item_category: ((_c2 = item.product) == null ? void 0 : _c2.category) || ""
|
|
195
|
+
};
|
|
196
|
+
}),
|
|
197
|
+
organization: (_b = (_a = orderOrganization.value) == null ? void 0 : _a.profile) == null ? void 0 : _b.name,
|
|
198
|
+
location: ((_c = globals.state.position) == null ? void 0 : _c.location) || "unknown",
|
|
199
|
+
referral_code: referralCode || null,
|
|
200
|
+
user_id: auth.state.user._id || "anonymous"
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
153
204
|
if (order2) {
|
|
154
205
|
await router.push({
|
|
155
206
|
name: "Order",
|
|
@@ -210,7 +261,7 @@ const _sfc_main = {
|
|
|
210
261
|
vue.createVNode(PriceTotal.default, {
|
|
211
262
|
totalPrice: vue.unref(cartTotalPrice),
|
|
212
263
|
deliveryRate: deliveryCost.value,
|
|
213
|
-
currency:
|
|
264
|
+
currency: vue.unref(returnCurrency)(),
|
|
214
265
|
showFees: (_a = globals.state.options) == null ? void 0 : _a.orders.showFees,
|
|
215
266
|
feesRate: ((_b = globals.state.options) == null ? void 0 : _b.orders.feesRate) || 0,
|
|
216
267
|
showVat: (_c = globals.state.options) == null ? void 0 : _c.orders.showVat,
|
|
@@ -218,12 +269,17 @@ const _sfc_main = {
|
|
|
218
269
|
showDeliveryFee: (_e = globals.state.options) == null ? void 0 : _e.orders.showDeliveryFee
|
|
219
270
|
}, null, 8, ["totalPrice", "deliveryRate", "currency", "showFees", "feesRate", "showVat", "vatRate", "showDeliveryFee"])
|
|
220
271
|
]),
|
|
221
|
-
orders.state.current.status !== true && shopcart.state.positions.length > 0 ? (vue.openBlock(), vue.
|
|
272
|
+
orders.state.current.status !== true && shopcart.state.positions.length > 0 ? (vue.openBlock(), vue.createBlock(Button.default, {
|
|
222
273
|
key: 0,
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
},
|
|
274
|
+
submit: () => handleCreate(),
|
|
275
|
+
class: "bg-main mn-b-small pd-small radius-big w-100 button",
|
|
276
|
+
disabled: errorName.value || errorPhoneOrMessenger.value || _ctx.errorCity || errorAddress.value || errorDelivery.value || errorPayment.value || isLocationLoading.value
|
|
277
|
+
}, {
|
|
278
|
+
default: vue.withCtx(() => _cache[0] || (_cache[0] = [
|
|
279
|
+
vue.createElementVNode("span", null, "Place an Order", -1)
|
|
280
|
+
])),
|
|
281
|
+
_: 1
|
|
282
|
+
}, 8, ["submit", "disabled"])) : vue.createCommentVNode("", true),
|
|
227
283
|
_cache[2] || (_cache[2] = vue.createElementVNode("p", { class: "mn-b-thin" }, [
|
|
228
284
|
vue.createTextVNode(" I agree that placing the order places me under an obligation to make a payment in accordance with "),
|
|
229
285
|
vue.createElementVNode("a", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderCreate.vue.cjs","sources":["../../../../../../../src/modules/orders/components/pages/OrderCreate.vue"],"sourcesContent":["<template>\n\n<section class=\"bg-white pd-thin\">\n\n\t<!-- Ask to login -->\n\t<AskToLogin class=\"mn-b-thin\" v-if=\"auth.state.access.status === false\" /> \n\n\t<!-- Order form -->\n\t<div class=\"gap-small mn-b-thin cols-2\">\n\t\t<!-- Empty State -->\n\t\t<EmptyState \n\t\t\tv-if=\"shopcart.state.positions < 1\" \n\t\t/>\t\n\n\t\t<Succes \n\t\t\tv-if=\"order.status === true && shopcart.state.positions.length > 0\" \n\t\t\t:order=\"order\" \n\t\t/>\n\t\t<!-- Order Form -->\n\t\t<div\n\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\" \n\t\t\tclass=\"rows-1 gap-thin\"\n\t\t>\n\t\t\t<FormCustomerDetails\n\t\t\t\t:customer=\"orders.state.current.customer\"\n\t\t\t/>\n\t\t\t<FormPayment \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t<FormDelivery \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t\n\t\t</div>\n\n\t\t<!-- Order positions -->\n\t\t<div \n\t\t\tv-if=\"shopcart.state.positions.length > 0\" \n\t\t\tclass=\"bg-white br-solid br-light br-1px pd-medium radius-medium\"\n\t\t>\n\t\t\t<h4 class=\"font-second mn-b-thin\">Your Order</h4>\n\n\t\t\t<ul class=\"flex gap-thin flex-wrap mn-b-thin\">\n\t\t\t\t<CardOrderItem \n\t\t\t\t\tv-for=\"product in shopcart.state.positions\" \n\t\t\t\t\t:key=\"product._id\" \n\t\t\t\t\t:editable=\"true\" \n\t\t\t\t\t:product=\"product\" \n\t :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n\t :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n\t :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n\t\t\t\t\t@updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n\t class=\"w-100 bg-white \"\n\t />\n\t\t\t</ul>\n\n\t\t\t\t<div \n\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t>\t\n\t\t\t\t<PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n />\n\t\t\t</div>\n\t\t\t<!-- Send order -->\n\t\t <button \n\t\t \tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t \t:disabled=\"\n\t\t errorName \n\t\t || errorPhoneOrMessenger \n\t\t || errorCity \n\t\t || errorAddress \n\t\t || errorDelivery \n\t\t || errorPayment\n\t\t || isLocationLoading\n\t\t \"\n\t\t @click=\"handleCreate()\" \n\t\t class=\"bg-main mn-b-small pd-small radius-big w-100 button\"\n\t\t >\n\t\t Place an Order\n\t\t </button>\n\n\t\t <p class='mn-b-thin'>\n\t\t\t\tI agree that placing the order places me under an obligation to make a payment in accordance with <a class=\"t-semi font-second t-second\" href=\"/legal/terms-of-use\" target=\"_blank\">Terms of Use.</a>\n\t\t\t</p>\n\t\t\t<p >\n\t\t\t\t\n\t\t\t</p>\n\t\t</div>\n\n\t</div>\n\n\t\n\t\n</section>\n\n</template>\n\n\n<script setup>\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import components\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Block\nimport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n// Sections\nimport AskToLogin from '@martyrs/src/modules/orders/components/sections/AskToLogin.vue'\nimport Succes from '@martyrs/src/modules/orders/components/sections/Succes.vue'\nimport EmptyState from '@martyrs/src/modules/orders/components/sections/EmptyState.vue'\n\nimport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\nimport FormCustomerDetails from '@martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue'\nimport FormDelivery from '@martyrs/src/modules/orders/components/sections/FormDelivery.vue'\nimport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import libs\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { useRoute,useRouter } from 'vue-router'\n// Store\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations';\nimport * as orders from '@martyrs/src/modules/orders/store/orders';\nimport * as users from '@martyrs/src/modules/auth/views/store/users';\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Variables and computed\n//////////////////////////////////////////////////////////////////////////////////////////////////\nconst isLocationLoading = ref(false)\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\n// COMPUTED\nconst order = computed(() => orders.state.current)\nconst user = computed(() => users.state.current)\n\nconst cartTotalPrice = shopcart.getters.cartTotalPrice\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n// Organization\nconst orderOrganization = ref({})\n\n\nif (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id) { \n\trouter.push({name: 'Sign In'})\t\n}\n\n\norders.mutations.resetOrder()\n\nonMounted(async()=> {\n\t emits('page-loading');\n\n\tisLocationLoading.value = true\n\n\n\tif (auth.state.user._id) {\n\t\tlet data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });\n\t\torders.state.current.customer.profile.name = users.state.current.profile.name\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t}\n\n\torders.state.current.organization = shopcart.state.organization\n\n\torderOrganization.value = await organizations.actions.read({\n\t _id: shopcart.state.organization,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t})\n\t\n isLocationLoading.value = false\n emits('page-loaded');\n})\n\n\nwatch(\n () => orders.state.current.delivery,\n async (newVal) => {\n if (newVal?.location) {\n \tisLocationLoading.value = true\n\n orderOrganization.value = await organizations.actions.read({\n _id: shopcart.state.organization,\n location: newVal.location,\n lookup: ['spots']\n })\n\n isLocationLoading.value = false\n }\n },\n { deep: true }\n)\n\n\n/////////////////////////////\n// Store Verification\n/////////////////////////////\nconst errorName = computed(() => {\n if (orders.state.current.customer.name?.length < 2) { return true } else { return false }\n});\n\nconst errorPhoneOrMessenger = computed(() => {\n const hasMessengerType = orders.state.current.customer.messenger?.type;\n const hasMessengerValue = orders.state.current.customer.messenger?.value?.length >\t 2;\n const hasPhone = orders.state.current.customer.number?.length > 0;\n // Ошибка, если нет ни номера телефона, ни корректного типа и значения мессенджера\n return !hasPhone && !(hasMessengerType && hasMessengerValue);\n});\n\nconst errorAddress = computed(() => {\n const type = orders.state.current.delivery.type;\n if (type === \"pickup\") {\n return !orders.state.current.delivery.spot;\n } else if (type === \"courier\" || type === \"mail\") {\n const address = orders.state.current.delivery.address;\n return !address || typeof address !== 'string' || address.length < 2;\n }\n return false;\n});\n\nconst errorDelivery = computed(() => {\n if (orders.state.current.delivery.type) {return false } else {return true } \n})\n\nconst errorPayment = computed(() => {\n if (orders.state.current.payment.type) { return false } else {return true } \n})\n/////////////////////////////\n// Methods\n/////////////////////////////\nasync function handleCreate() {\n\n\torders.state.current.status = 'created';\n\n\torders.state.current.owner = {\n\t\ttarget: orderOrganization.value[0]._id,\n\t\ttype: 'organization'\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.creator = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.customer = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\torders.state.current.positions = shopcart.state.positions\n\n \tconst referralCode = localStorage.getItem('referalCode');\n \n if (referralCode) {\n orders.state.current.referralCode = referralCode;\n }\n\n let order = await orders.actions.create(orders.state.current);\n\n if (order) {\n \tawait router.push({\n \t\tname: 'Order',\n \t\tparams: {\n \t\t\torder: order._id\n \t\t}\n \t})\n \t\t\n \tshopcart.actions.resetShopcart()\n\n } else {\n \talert('something wrong')\n }\n}\n</script>\n\n<style lang=\"scss\">\n\n.round-wrapper {\n\tposition: relative;\n\n\t.round {\n\t\tmargin: 0;\n\t\tmargin-right: 1rem;\n\t}\n\n\tinput:checked {\n\t\tbackground: #00ff88;\n\t}\n\n\t.round-checkmark {\n\t\tposition: absolute;\n\t\twidth: 0.5rem;\n\t\theight: 0.5rem;\n\t\tbackground: white;\n\n\t\tleft: 0.5rem;\n\t\ttop: 0.5rem;\n\n\t\topacity: 1;\n\t}\n}\n</style>"],"names":["ref","useRoute","useRouter","computed","orders.state","users.state","shopcart.getters","globals.state","orders.getters","auth.state","orders.mutations","onMounted","users.actions","shopcart.state","organizations.actions","watch","order","orders.actions","shopcart.actions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrderCreate.vue.cjs","sources":["../../../../../../../src/modules/orders/components/pages/OrderCreate.vue"],"sourcesContent":["<template>\n\n<section class=\"bg-white pd-thin\">\n\n\t<!-- Ask to login -->\n\t<AskToLogin class=\"mn-b-thin\" v-if=\"auth.state.access.status === false\" /> \n\n\t<!-- Order form -->\n\t<div class=\"gap-small mn-b-thin cols-2\">\n\t\t<!-- Empty State -->\n\t\t<EmptyState \n\t\t\tv-if=\"shopcart.state.positions < 1\" \n\t\t/>\t\n\n\t\t<Succes \n\t\t\tv-if=\"order.status === true && shopcart.state.positions.length > 0\" \n\t\t\t:order=\"order\" \n\t\t/>\n\t\t<!-- Order Form -->\n\t\t<div\n\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\" \n\t\t\tclass=\"rows-1 gap-thin\"\n\t\t>\n\t\t\t<FormCustomerDetails\n\t\t\t\t:customer=\"orders.state.current.customer\"\n\t\t\t/>\n\t\t\t<FormPayment \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t<FormDelivery \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t\n\t\t</div>\n\n\t\t<!-- Order positions -->\n\t\t<div \n\t\t\tv-if=\"shopcart.state.positions.length > 0\" \n\t\t\tclass=\"bg-white br-solid br-light br-1px pd-medium radius-medium\"\n\t\t>\n\t\t\t<h4 class=\"font-second mn-b-thin\">Your Order</h4>\n\n\t\t\t<ul class=\"flex gap-thin flex-wrap mn-b-thin\">\n\t\t\t\t<CardOrderItem \n\t\t\t\t\tv-for=\"product in shopcart.state.positions\" \n\t\t\t\t\t:key=\"product._id\" \n\t\t\t\t\t:editable=\"true\" \n\t\t\t\t\t:product=\"product\" \n\t :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n\t :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n\t :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n\t\t\t\t\t@updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n\t class=\"w-100 bg-white \"\n\t />\n\t\t\t</ul>\n\n\t\t\t\t<div \n\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t>\t\n\t\t\t\t<PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n />\n\t\t\t</div>\n\t\t\t<!-- Send order -->\n\t\t <Button\n v-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n :submit=\"() => handleCreate()\"\n class=\"bg-main mn-b-small pd-small radius-big w-100 button\"\n :disabled=\"\n\t\t errorName \n\t\t || errorPhoneOrMessenger \n\t\t || errorCity \n\t\t || errorAddress \n\t\t || errorDelivery \n\t\t || errorPayment\n\t\t || isLocationLoading\n\t\t \"\n >\n <span>Place an Order</span>\n </Button>\n\n\t\t <p class='mn-b-thin'>\n\t\t\t\tI agree that placing the order places me under an obligation to make a payment in accordance with <a class=\"t-semi font-second t-second\" href=\"/legal/terms-of-use\" target=\"_blank\">Terms of Use.</a>\n\t\t\t</p>\n\t\t\t<p >\n\t\t\t\t\n\t\t\t</p>\n\t\t</div>\n\n\t</div>\n\n\t\n\t\n</section>\n\n</template>\n\n\n<script setup>\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import components\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Block\nimport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n// Sections\nimport AskToLogin from '@martyrs/src/modules/orders/components/sections/AskToLogin.vue'\nimport Succes from '@martyrs/src/modules/orders/components/sections/Succes.vue'\nimport EmptyState from '@martyrs/src/modules/orders/components/sections/EmptyState.vue'\n\nimport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\nimport FormCustomerDetails from '@martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue'\nimport FormDelivery from '@martyrs/src/modules/orders/components/sections/FormDelivery.vue'\nimport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import libs\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { useRoute,useRouter } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/globals/views/mixins/mixins.js\"\n\n// Store\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations';\nimport * as orders from '@martyrs/src/modules/orders/store/orders';\nimport * as users from '@martyrs/src/modules/auth/views/store/users';\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Variables and computed\n//////////////////////////////////////////////////////////////////////////////////////////////////\nconst isLocationLoading = ref(false)\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\nconst { returnCurrency } = useGlobalMixins()\n// COMPUTED\nconst order = computed(() => orders.state.current)\nconst user = computed(() => users.state.current)\n\nconst cartTotalPrice = shopcart.getters.cartTotalPrice\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n// Organization\nconst orderOrganization = ref({})\n\n\nif (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id) { \n\trouter.push({name: 'Sign In'})\t\n}\n\n\norders.mutations.resetOrder()\n\nonMounted(async()=> {\n\temits('page-loading');\n\n\tisLocationLoading.value = true\n\n\n\tif (auth.state.user._id) {\n\t\tlet data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });\n\t\torders.state.current.customer.profile.name = users.state.current.profile.name\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t}\n\n\torders.state.current.organization = shopcart.state.organization\n\n\torderOrganization.value = await organizations.actions.read({\n\t _id: shopcart.state.organization,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t})\n\t\n \tisLocationLoading.value = false\n emits('page-loaded');\n\n if (typeof gtag === 'function') {\n gtag('event', 'begin_checkout', {\n currency: returnCurrency(), // Замените на вашу валюту\n value: cartTotalPrice || 0,\n items: shopcart.state.positions.map(item => ({\n item_id: item.product?._id,\n item_name: item.product?.name,\n price: item.price || 0,\n quantity: item.quantity || 1,\n item_category: item.product?.category || '',\n item_brand: orderOrganization.value?.profile.name || ''\n })),\n organization: orderOrganization.value?.profile.name,\n location: globals.state.position?.location || 'unknown'\n });\n }\n})\n\n\nwatch(\n () => orders.state.current.delivery,\n async (newVal) => {\n if (newVal?.location) {\n \tisLocationLoading.value = true\n\n orderOrganization.value = await organizations.actions.read({\n _id: shopcart.state.organization,\n location: newVal.location,\n lookup: ['spots']\n })\n\n isLocationLoading.value = false\n }\n },\n { deep: true }\n)\n\n\n/////////////////////////////\n// Store Verification\n/////////////////////////////\nconst errorName = computed(() => {\n if (orders.state.current.customer.name?.length < 2) { return true } else { return false }\n});\n\nconst errorPhoneOrMessenger = computed(() => {\n const hasMessengerType = orders.state.current.customer.messenger?.type;\n const hasMessengerValue = orders.state.current.customer.messenger?.value?.length >\t 2;\n const hasPhone = orders.state.current.customer.number?.length > 0;\n // Ошибка, если нет ни номера телефона, ни корректного типа и значения мессенджера\n return !hasPhone && !(hasMessengerType && hasMessengerValue);\n});\n\nconst errorAddress = computed(() => {\n const type = orders.state.current.delivery.type;\n if (type === \"pickup\") {\n return !orders.state.current.delivery.spot;\n } else if (type === \"courier\" || type === \"mail\") {\n const address = orders.state.current.delivery.address;\n return !address || typeof address !== 'string' || address.length < 2;\n }\n return false;\n});\n\nconst errorDelivery = computed(() => {\n if (orders.state.current.delivery.type) {return false } else {return true } \n})\n\nconst errorPayment = computed(() => {\n if (orders.state.current.payment.type) { return false } else {return true } \n})\n/////////////////////////////\n// Methods\n/////////////////////////////\nasync function handleCreate() {\n\n\torders.state.current.status = 'created';\n\n\torders.state.current.owner = {\n\t\ttarget: orderOrganization.value[0]._id,\n\t\ttype: 'organization'\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.creator = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.customer = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\torders.state.current.positions = shopcart.state.positions\n\n \tconst referralCode = localStorage.getItem('referalCode');\n \n if (referralCode) {\n orders.state.current.referralCode = referralCode;\n }\n\n let order = await orders.actions.create(orders.state.current);\n\n if (order) {\n\t if (typeof gtag === 'function') {\n\t gtag('event', 'purchase', {\n\t transaction_id: order._id,\n\t value: cartTotalPrice || 0,\n\t currency: returnCurrency(), // Замените на вашу валюту\n\t tax: 0, // Если есть данные о налоге\n\t shipping: deliveryCost.value, // Если есть данные о доставке\n\t items: shopcart.state.positions.map(item => ({\n\t item_id: item.product?._id,\n\t item_name: item.product?.name ,\n\t price: item.price || 0,\n\t quantity: item.quantity || 1,\n\t item_category: item.product?.category || ''\n\t })),\n\t organization: orderOrganization.value?.profile?.name,\n\t location: globals.state.position?.location || 'unknown',\n\t referral_code: referralCode || null,\n\t user_id: auth.state.user._id || 'anonymous'\n\t });\n\t }\n\t}\n\n if (order) {\n \tawait router.push({\n \t\tname: 'Order',\n \t\tparams: {\n \t\t\torder: order._id\n \t\t}\n \t})\n \t\t\n \tshopcart.actions.resetShopcart()\n\n } else {\n \talert('something wrong')\n }\n}\n</script>\n\n<style lang=\"scss\">\n\n.round-wrapper {\n\tposition: relative;\n\n\t.round {\n\t\tmargin: 0;\n\t\tmargin-right: 1rem;\n\t}\n\n\tinput:checked {\n\t\tbackground: #00ff88;\n\t}\n\n\t.round-checkmark {\n\t\tposition: absolute;\n\t\twidth: 0.5rem;\n\t\theight: 0.5rem;\n\t\tbackground: white;\n\n\t\tleft: 0.5rem;\n\t\ttop: 0.5rem;\n\n\t\topacity: 1;\n\t}\n}\n</style>"],"names":["ref","useRoute","useRouter","useGlobalMixins","computed","orders.state","users.state","shopcart.getters","globals.state","orders.getters","auth.state","orders.mutations","onMounted","users.actions","shopcart.state","organizations.actions","_a","_b","_c","watch","order","orders.actions","shopcart.actions"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ref, computed, onMounted, watch, createElementBlock, openBlock, createBlock, createCommentVNode, createElementVNode, createVNode, Fragment, renderList, unref, createTextVNode } from "vue";
|
|
1
|
+
import { ref, computed, onMounted, watch, createElementBlock, openBlock, createBlock, createCommentVNode, createElementVNode, createVNode, Fragment, renderList, unref, withCtx, createTextVNode } from "vue";
|
|
2
|
+
import _sfc_main$9 from "../../../../components/Button/Button.vue2.js";
|
|
2
3
|
import _sfc_main$7 from "../blocks/CardOrderItem.vue.js";
|
|
3
4
|
import _sfc_main$1 from "../sections/AskToLogin.vue.js";
|
|
4
5
|
import _sfc_main$3 from "../sections/Succes.vue.js";
|
|
@@ -8,6 +9,7 @@ import _sfc_main$4 from "../sections/FormCustomerDetails.vue.js";
|
|
|
8
9
|
import _sfc_main$6 from "../sections/FormDelivery.vue.js";
|
|
9
10
|
import _sfc_main$5 from "../sections/FormPayment.vue.js";
|
|
10
11
|
import { useRoute, useRouter } from "vue-router";
|
|
12
|
+
import { useGlobalMixins } from "../../../globals/views/mixins/mixins.js";
|
|
11
13
|
import { state as state$2 } from "../../../globals/views/store/globals.js";
|
|
12
14
|
import { state as state$3 } from "../../../auth/views/store/auth.js";
|
|
13
15
|
import { getters, state as state$4, actions as actions$2 } from "../../store/shopcart.js";
|
|
@@ -27,7 +29,6 @@ const _hoisted_4 = {
|
|
|
27
29
|
};
|
|
28
30
|
const _hoisted_5 = { class: "flex gap-thin flex-wrap mn-b-thin" };
|
|
29
31
|
const _hoisted_6 = { class: "mn-b-thin" };
|
|
30
|
-
const _hoisted_7 = ["disabled"];
|
|
31
32
|
const _sfc_main = {
|
|
32
33
|
__name: "OrderCreate",
|
|
33
34
|
emits: ["page-loading", "page-loaded"],
|
|
@@ -36,6 +37,7 @@ const _sfc_main = {
|
|
|
36
37
|
const isLocationLoading = ref(false);
|
|
37
38
|
useRoute();
|
|
38
39
|
const router = useRouter();
|
|
40
|
+
const { returnCurrency } = useGlobalMixins();
|
|
39
41
|
const order = computed(() => state.current);
|
|
40
42
|
computed(() => state$1.current);
|
|
41
43
|
const cartTotalPrice = getters.cartTotalPrice;
|
|
@@ -52,7 +54,7 @@ const _sfc_main = {
|
|
|
52
54
|
}
|
|
53
55
|
mutations.resetOrder();
|
|
54
56
|
onMounted(async () => {
|
|
55
|
-
var _a;
|
|
57
|
+
var _a, _b, _c;
|
|
56
58
|
emits("page-loading");
|
|
57
59
|
isLocationLoading.value = true;
|
|
58
60
|
if (state$3.user._id) {
|
|
@@ -69,6 +71,26 @@ const _sfc_main = {
|
|
|
69
71
|
});
|
|
70
72
|
isLocationLoading.value = false;
|
|
71
73
|
emits("page-loaded");
|
|
74
|
+
if (typeof gtag === "function") {
|
|
75
|
+
gtag("event", "begin_checkout", {
|
|
76
|
+
currency: returnCurrency(),
|
|
77
|
+
// Замените на вашу валюту
|
|
78
|
+
value: cartTotalPrice || 0,
|
|
79
|
+
items: state$4.positions.map((item) => {
|
|
80
|
+
var _a2, _b2, _c2, _d;
|
|
81
|
+
return {
|
|
82
|
+
item_id: (_a2 = item.product) == null ? void 0 : _a2._id,
|
|
83
|
+
item_name: (_b2 = item.product) == null ? void 0 : _b2.name,
|
|
84
|
+
price: item.price || 0,
|
|
85
|
+
quantity: item.quantity || 1,
|
|
86
|
+
item_category: ((_c2 = item.product) == null ? void 0 : _c2.category) || "",
|
|
87
|
+
item_brand: ((_d = orderOrganization.value) == null ? void 0 : _d.profile.name) || ""
|
|
88
|
+
};
|
|
89
|
+
}),
|
|
90
|
+
organization: (_b = orderOrganization.value) == null ? void 0 : _b.profile.name,
|
|
91
|
+
location: ((_c = state$2.position) == null ? void 0 : _c.location) || "unknown"
|
|
92
|
+
});
|
|
93
|
+
}
|
|
72
94
|
});
|
|
73
95
|
watch(
|
|
74
96
|
() => state.current.delivery,
|
|
@@ -125,6 +147,7 @@ const _sfc_main = {
|
|
|
125
147
|
}
|
|
126
148
|
});
|
|
127
149
|
async function handleCreate() {
|
|
150
|
+
var _a, _b, _c;
|
|
128
151
|
state.current.status = "created";
|
|
129
152
|
state.current.owner = {
|
|
130
153
|
target: orderOrganization.value[0]._id,
|
|
@@ -148,6 +171,34 @@ const _sfc_main = {
|
|
|
148
171
|
state.current.referralCode = referralCode;
|
|
149
172
|
}
|
|
150
173
|
let order2 = await actions$3.create(state.current);
|
|
174
|
+
if (order2) {
|
|
175
|
+
if (typeof gtag === "function") {
|
|
176
|
+
gtag("event", "purchase", {
|
|
177
|
+
transaction_id: order2._id,
|
|
178
|
+
value: cartTotalPrice || 0,
|
|
179
|
+
currency: returnCurrency(),
|
|
180
|
+
// Замените на вашу валюту
|
|
181
|
+
tax: 0,
|
|
182
|
+
// Если есть данные о налоге
|
|
183
|
+
shipping: deliveryCost.value,
|
|
184
|
+
// Если есть данные о доставке
|
|
185
|
+
items: state$4.positions.map((item) => {
|
|
186
|
+
var _a2, _b2, _c2;
|
|
187
|
+
return {
|
|
188
|
+
item_id: (_a2 = item.product) == null ? void 0 : _a2._id,
|
|
189
|
+
item_name: (_b2 = item.product) == null ? void 0 : _b2.name,
|
|
190
|
+
price: item.price || 0,
|
|
191
|
+
quantity: item.quantity || 1,
|
|
192
|
+
item_category: ((_c2 = item.product) == null ? void 0 : _c2.category) || ""
|
|
193
|
+
};
|
|
194
|
+
}),
|
|
195
|
+
organization: (_b = (_a = orderOrganization.value) == null ? void 0 : _a.profile) == null ? void 0 : _b.name,
|
|
196
|
+
location: ((_c = state$2.position) == null ? void 0 : _c.location) || "unknown",
|
|
197
|
+
referral_code: referralCode || null,
|
|
198
|
+
user_id: state$3.user._id || "anonymous"
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
151
202
|
if (order2) {
|
|
152
203
|
await router.push({
|
|
153
204
|
name: "Order",
|
|
@@ -208,7 +259,7 @@ const _sfc_main = {
|
|
|
208
259
|
createVNode(_sfc_main$8, {
|
|
209
260
|
totalPrice: unref(cartTotalPrice),
|
|
210
261
|
deliveryRate: deliveryCost.value,
|
|
211
|
-
currency:
|
|
262
|
+
currency: unref(returnCurrency)(),
|
|
212
263
|
showFees: (_a = state$2.options) == null ? void 0 : _a.orders.showFees,
|
|
213
264
|
feesRate: ((_b = state$2.options) == null ? void 0 : _b.orders.feesRate) || 0,
|
|
214
265
|
showVat: (_c = state$2.options) == null ? void 0 : _c.orders.showVat,
|
|
@@ -216,12 +267,17 @@ const _sfc_main = {
|
|
|
216
267
|
showDeliveryFee: (_e = state$2.options) == null ? void 0 : _e.orders.showDeliveryFee
|
|
217
268
|
}, null, 8, ["totalPrice", "deliveryRate", "currency", "showFees", "feesRate", "showVat", "vatRate", "showDeliveryFee"])
|
|
218
269
|
]),
|
|
219
|
-
state.current.status !== true && state$4.positions.length > 0 ? (openBlock(),
|
|
270
|
+
state.current.status !== true && state$4.positions.length > 0 ? (openBlock(), createBlock(_sfc_main$9, {
|
|
220
271
|
key: 0,
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
},
|
|
272
|
+
submit: () => handleCreate(),
|
|
273
|
+
class: "bg-main mn-b-small pd-small radius-big w-100 button",
|
|
274
|
+
disabled: errorName.value || errorPhoneOrMessenger.value || _ctx.errorCity || errorAddress.value || errorDelivery.value || errorPayment.value || isLocationLoading.value
|
|
275
|
+
}, {
|
|
276
|
+
default: withCtx(() => _cache[0] || (_cache[0] = [
|
|
277
|
+
createElementVNode("span", null, "Place an Order", -1)
|
|
278
|
+
])),
|
|
279
|
+
_: 1
|
|
280
|
+
}, 8, ["submit", "disabled"])) : createCommentVNode("", true),
|
|
225
281
|
_cache[2] || (_cache[2] = createElementVNode("p", { class: "mn-b-thin" }, [
|
|
226
282
|
createTextVNode(" I agree that placing the order places me under an obligation to make a payment in accordance with "),
|
|
227
283
|
createElementVNode("a", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderCreate.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/OrderCreate.vue"],"sourcesContent":["<template>\n\n<section class=\"bg-white pd-thin\">\n\n\t<!-- Ask to login -->\n\t<AskToLogin class=\"mn-b-thin\" v-if=\"auth.state.access.status === false\" /> \n\n\t<!-- Order form -->\n\t<div class=\"gap-small mn-b-thin cols-2\">\n\t\t<!-- Empty State -->\n\t\t<EmptyState \n\t\t\tv-if=\"shopcart.state.positions < 1\" \n\t\t/>\t\n\n\t\t<Succes \n\t\t\tv-if=\"order.status === true && shopcart.state.positions.length > 0\" \n\t\t\t:order=\"order\" \n\t\t/>\n\t\t<!-- Order Form -->\n\t\t<div\n\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\" \n\t\t\tclass=\"rows-1 gap-thin\"\n\t\t>\n\t\t\t<FormCustomerDetails\n\t\t\t\t:customer=\"orders.state.current.customer\"\n\t\t\t/>\n\t\t\t<FormPayment \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t<FormDelivery \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t\n\t\t</div>\n\n\t\t<!-- Order positions -->\n\t\t<div \n\t\t\tv-if=\"shopcart.state.positions.length > 0\" \n\t\t\tclass=\"bg-white br-solid br-light br-1px pd-medium radius-medium\"\n\t\t>\n\t\t\t<h4 class=\"font-second mn-b-thin\">Your Order</h4>\n\n\t\t\t<ul class=\"flex gap-thin flex-wrap mn-b-thin\">\n\t\t\t\t<CardOrderItem \n\t\t\t\t\tv-for=\"product in shopcart.state.positions\" \n\t\t\t\t\t:key=\"product._id\" \n\t\t\t\t\t:editable=\"true\" \n\t\t\t\t\t:product=\"product\" \n\t :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n\t :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n\t :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n\t\t\t\t\t@updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n\t class=\"w-100 bg-white \"\n\t />\n\t\t\t</ul>\n\n\t\t\t\t<div \n\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t>\t\n\t\t\t\t<PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n />\n\t\t\t</div>\n\t\t\t<!-- Send order -->\n\t\t <button \n\t\t \tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t \t:disabled=\"\n\t\t errorName \n\t\t || errorPhoneOrMessenger \n\t\t || errorCity \n\t\t || errorAddress \n\t\t || errorDelivery \n\t\t || errorPayment\n\t\t || isLocationLoading\n\t\t \"\n\t\t @click=\"handleCreate()\" \n\t\t class=\"bg-main mn-b-small pd-small radius-big w-100 button\"\n\t\t >\n\t\t Place an Order\n\t\t </button>\n\n\t\t <p class='mn-b-thin'>\n\t\t\t\tI agree that placing the order places me under an obligation to make a payment in accordance with <a class=\"t-semi font-second t-second\" href=\"/legal/terms-of-use\" target=\"_blank\">Terms of Use.</a>\n\t\t\t</p>\n\t\t\t<p >\n\t\t\t\t\n\t\t\t</p>\n\t\t</div>\n\n\t</div>\n\n\t\n\t\n</section>\n\n</template>\n\n\n<script setup>\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import components\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Block\nimport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n// Sections\nimport AskToLogin from '@martyrs/src/modules/orders/components/sections/AskToLogin.vue'\nimport Succes from '@martyrs/src/modules/orders/components/sections/Succes.vue'\nimport EmptyState from '@martyrs/src/modules/orders/components/sections/EmptyState.vue'\n\nimport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\nimport FormCustomerDetails from '@martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue'\nimport FormDelivery from '@martyrs/src/modules/orders/components/sections/FormDelivery.vue'\nimport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import libs\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { useRoute,useRouter } from 'vue-router'\n// Store\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations';\nimport * as orders from '@martyrs/src/modules/orders/store/orders';\nimport * as users from '@martyrs/src/modules/auth/views/store/users';\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Variables and computed\n//////////////////////////////////////////////////////////////////////////////////////////////////\nconst isLocationLoading = ref(false)\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\n// COMPUTED\nconst order = computed(() => orders.state.current)\nconst user = computed(() => users.state.current)\n\nconst cartTotalPrice = shopcart.getters.cartTotalPrice\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n// Organization\nconst orderOrganization = ref({})\n\n\nif (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id) { \n\trouter.push({name: 'Sign In'})\t\n}\n\n\norders.mutations.resetOrder()\n\nonMounted(async()=> {\n\t emits('page-loading');\n\n\tisLocationLoading.value = true\n\n\n\tif (auth.state.user._id) {\n\t\tlet data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });\n\t\torders.state.current.customer.profile.name = users.state.current.profile.name\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t}\n\n\torders.state.current.organization = shopcart.state.organization\n\n\torderOrganization.value = await organizations.actions.read({\n\t _id: shopcart.state.organization,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t})\n\t\n isLocationLoading.value = false\n emits('page-loaded');\n})\n\n\nwatch(\n () => orders.state.current.delivery,\n async (newVal) => {\n if (newVal?.location) {\n \tisLocationLoading.value = true\n\n orderOrganization.value = await organizations.actions.read({\n _id: shopcart.state.organization,\n location: newVal.location,\n lookup: ['spots']\n })\n\n isLocationLoading.value = false\n }\n },\n { deep: true }\n)\n\n\n/////////////////////////////\n// Store Verification\n/////////////////////////////\nconst errorName = computed(() => {\n if (orders.state.current.customer.name?.length < 2) { return true } else { return false }\n});\n\nconst errorPhoneOrMessenger = computed(() => {\n const hasMessengerType = orders.state.current.customer.messenger?.type;\n const hasMessengerValue = orders.state.current.customer.messenger?.value?.length >\t 2;\n const hasPhone = orders.state.current.customer.number?.length > 0;\n // Ошибка, если нет ни номера телефона, ни корректного типа и значения мессенджера\n return !hasPhone && !(hasMessengerType && hasMessengerValue);\n});\n\nconst errorAddress = computed(() => {\n const type = orders.state.current.delivery.type;\n if (type === \"pickup\") {\n return !orders.state.current.delivery.spot;\n } else if (type === \"courier\" || type === \"mail\") {\n const address = orders.state.current.delivery.address;\n return !address || typeof address !== 'string' || address.length < 2;\n }\n return false;\n});\n\nconst errorDelivery = computed(() => {\n if (orders.state.current.delivery.type) {return false } else {return true } \n})\n\nconst errorPayment = computed(() => {\n if (orders.state.current.payment.type) { return false } else {return true } \n})\n/////////////////////////////\n// Methods\n/////////////////////////////\nasync function handleCreate() {\n\n\torders.state.current.status = 'created';\n\n\torders.state.current.owner = {\n\t\ttarget: orderOrganization.value[0]._id,\n\t\ttype: 'organization'\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.creator = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.customer = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\torders.state.current.positions = shopcart.state.positions\n\n \tconst referralCode = localStorage.getItem('referalCode');\n \n if (referralCode) {\n orders.state.current.referralCode = referralCode;\n }\n\n let order = await orders.actions.create(orders.state.current);\n\n if (order) {\n \tawait router.push({\n \t\tname: 'Order',\n \t\tparams: {\n \t\t\torder: order._id\n \t\t}\n \t})\n \t\t\n \tshopcart.actions.resetShopcart()\n\n } else {\n \talert('something wrong')\n }\n}\n</script>\n\n<style lang=\"scss\">\n\n.round-wrapper {\n\tposition: relative;\n\n\t.round {\n\t\tmargin: 0;\n\t\tmargin-right: 1rem;\n\t}\n\n\tinput:checked {\n\t\tbackground: #00ff88;\n\t}\n\n\t.round-checkmark {\n\t\tposition: absolute;\n\t\twidth: 0.5rem;\n\t\theight: 0.5rem;\n\t\tbackground: white;\n\n\t\tleft: 0.5rem;\n\t\ttop: 0.5rem;\n\n\t\topacity: 1;\n\t}\n}\n</style>"],"names":["orders.state","users.state","shopcart.getters","globals.state","orders.getters","auth.state","orders.mutations","users.actions","shopcart.state","organizations.actions","order","orders.actions","shopcart.actions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrderCreate.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/OrderCreate.vue"],"sourcesContent":["<template>\n\n<section class=\"bg-white pd-thin\">\n\n\t<!-- Ask to login -->\n\t<AskToLogin class=\"mn-b-thin\" v-if=\"auth.state.access.status === false\" /> \n\n\t<!-- Order form -->\n\t<div class=\"gap-small mn-b-thin cols-2\">\n\t\t<!-- Empty State -->\n\t\t<EmptyState \n\t\t\tv-if=\"shopcart.state.positions < 1\" \n\t\t/>\t\n\n\t\t<Succes \n\t\t\tv-if=\"order.status === true && shopcart.state.positions.length > 0\" \n\t\t\t:order=\"order\" \n\t\t/>\n\t\t<!-- Order Form -->\n\t\t<div\n\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\" \n\t\t\tclass=\"rows-1 gap-thin\"\n\t\t>\n\t\t\t<FormCustomerDetails\n\t\t\t\t:customer=\"orders.state.current.customer\"\n\t\t\t/>\n\t\t\t<FormPayment \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t<FormDelivery \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t\n\t\t</div>\n\n\t\t<!-- Order positions -->\n\t\t<div \n\t\t\tv-if=\"shopcart.state.positions.length > 0\" \n\t\t\tclass=\"bg-white br-solid br-light br-1px pd-medium radius-medium\"\n\t\t>\n\t\t\t<h4 class=\"font-second mn-b-thin\">Your Order</h4>\n\n\t\t\t<ul class=\"flex gap-thin flex-wrap mn-b-thin\">\n\t\t\t\t<CardOrderItem \n\t\t\t\t\tv-for=\"product in shopcart.state.positions\" \n\t\t\t\t\t:key=\"product._id\" \n\t\t\t\t\t:editable=\"true\" \n\t\t\t\t\t:product=\"product\" \n\t :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n\t :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n\t :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n\t\t\t\t\t@updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n\t class=\"w-100 bg-white \"\n\t />\n\t\t\t</ul>\n\n\t\t\t\t<div \n\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t>\t\n\t\t\t\t<PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n />\n\t\t\t</div>\n\t\t\t<!-- Send order -->\n\t\t <Button\n v-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n :submit=\"() => handleCreate()\"\n class=\"bg-main mn-b-small pd-small radius-big w-100 button\"\n :disabled=\"\n\t\t errorName \n\t\t || errorPhoneOrMessenger \n\t\t || errorCity \n\t\t || errorAddress \n\t\t || errorDelivery \n\t\t || errorPayment\n\t\t || isLocationLoading\n\t\t \"\n >\n <span>Place an Order</span>\n </Button>\n\n\t\t <p class='mn-b-thin'>\n\t\t\t\tI agree that placing the order places me under an obligation to make a payment in accordance with <a class=\"t-semi font-second t-second\" href=\"/legal/terms-of-use\" target=\"_blank\">Terms of Use.</a>\n\t\t\t</p>\n\t\t\t<p >\n\t\t\t\t\n\t\t\t</p>\n\t\t</div>\n\n\t</div>\n\n\t\n\t\n</section>\n\n</template>\n\n\n<script setup>\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import components\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Block\nimport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n// Sections\nimport AskToLogin from '@martyrs/src/modules/orders/components/sections/AskToLogin.vue'\nimport Succes from '@martyrs/src/modules/orders/components/sections/Succes.vue'\nimport EmptyState from '@martyrs/src/modules/orders/components/sections/EmptyState.vue'\n\nimport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\nimport FormCustomerDetails from '@martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue'\nimport FormDelivery from '@martyrs/src/modules/orders/components/sections/FormDelivery.vue'\nimport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import libs\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { useRoute,useRouter } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/globals/views/mixins/mixins.js\"\n\n// Store\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations';\nimport * as orders from '@martyrs/src/modules/orders/store/orders';\nimport * as users from '@martyrs/src/modules/auth/views/store/users';\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Variables and computed\n//////////////////////////////////////////////////////////////////////////////////////////////////\nconst isLocationLoading = ref(false)\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\nconst { returnCurrency } = useGlobalMixins()\n// COMPUTED\nconst order = computed(() => orders.state.current)\nconst user = computed(() => users.state.current)\n\nconst cartTotalPrice = shopcart.getters.cartTotalPrice\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n// Organization\nconst orderOrganization = ref({})\n\n\nif (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id) { \n\trouter.push({name: 'Sign In'})\t\n}\n\n\norders.mutations.resetOrder()\n\nonMounted(async()=> {\n\temits('page-loading');\n\n\tisLocationLoading.value = true\n\n\n\tif (auth.state.user._id) {\n\t\tlet data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });\n\t\torders.state.current.customer.profile.name = users.state.current.profile.name\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t}\n\n\torders.state.current.organization = shopcart.state.organization\n\n\torderOrganization.value = await organizations.actions.read({\n\t _id: shopcart.state.organization,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t})\n\t\n \tisLocationLoading.value = false\n emits('page-loaded');\n\n if (typeof gtag === 'function') {\n gtag('event', 'begin_checkout', {\n currency: returnCurrency(), // Замените на вашу валюту\n value: cartTotalPrice || 0,\n items: shopcart.state.positions.map(item => ({\n item_id: item.product?._id,\n item_name: item.product?.name,\n price: item.price || 0,\n quantity: item.quantity || 1,\n item_category: item.product?.category || '',\n item_brand: orderOrganization.value?.profile.name || ''\n })),\n organization: orderOrganization.value?.profile.name,\n location: globals.state.position?.location || 'unknown'\n });\n }\n})\n\n\nwatch(\n () => orders.state.current.delivery,\n async (newVal) => {\n if (newVal?.location) {\n \tisLocationLoading.value = true\n\n orderOrganization.value = await organizations.actions.read({\n _id: shopcart.state.organization,\n location: newVal.location,\n lookup: ['spots']\n })\n\n isLocationLoading.value = false\n }\n },\n { deep: true }\n)\n\n\n/////////////////////////////\n// Store Verification\n/////////////////////////////\nconst errorName = computed(() => {\n if (orders.state.current.customer.name?.length < 2) { return true } else { return false }\n});\n\nconst errorPhoneOrMessenger = computed(() => {\n const hasMessengerType = orders.state.current.customer.messenger?.type;\n const hasMessengerValue = orders.state.current.customer.messenger?.value?.length >\t 2;\n const hasPhone = orders.state.current.customer.number?.length > 0;\n // Ошибка, если нет ни номера телефона, ни корректного типа и значения мессенджера\n return !hasPhone && !(hasMessengerType && hasMessengerValue);\n});\n\nconst errorAddress = computed(() => {\n const type = orders.state.current.delivery.type;\n if (type === \"pickup\") {\n return !orders.state.current.delivery.spot;\n } else if (type === \"courier\" || type === \"mail\") {\n const address = orders.state.current.delivery.address;\n return !address || typeof address !== 'string' || address.length < 2;\n }\n return false;\n});\n\nconst errorDelivery = computed(() => {\n if (orders.state.current.delivery.type) {return false } else {return true } \n})\n\nconst errorPayment = computed(() => {\n if (orders.state.current.payment.type) { return false } else {return true } \n})\n/////////////////////////////\n// Methods\n/////////////////////////////\nasync function handleCreate() {\n\n\torders.state.current.status = 'created';\n\n\torders.state.current.owner = {\n\t\ttarget: orderOrganization.value[0]._id,\n\t\ttype: 'organization'\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.creator = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.customer = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\torders.state.current.positions = shopcart.state.positions\n\n \tconst referralCode = localStorage.getItem('referalCode');\n \n if (referralCode) {\n orders.state.current.referralCode = referralCode;\n }\n\n let order = await orders.actions.create(orders.state.current);\n\n if (order) {\n\t if (typeof gtag === 'function') {\n\t gtag('event', 'purchase', {\n\t transaction_id: order._id,\n\t value: cartTotalPrice || 0,\n\t currency: returnCurrency(), // Замените на вашу валюту\n\t tax: 0, // Если есть данные о налоге\n\t shipping: deliveryCost.value, // Если есть данные о доставке\n\t items: shopcart.state.positions.map(item => ({\n\t item_id: item.product?._id,\n\t item_name: item.product?.name ,\n\t price: item.price || 0,\n\t quantity: item.quantity || 1,\n\t item_category: item.product?.category || ''\n\t })),\n\t organization: orderOrganization.value?.profile?.name,\n\t location: globals.state.position?.location || 'unknown',\n\t referral_code: referralCode || null,\n\t user_id: auth.state.user._id || 'anonymous'\n\t });\n\t }\n\t}\n\n if (order) {\n \tawait router.push({\n \t\tname: 'Order',\n \t\tparams: {\n \t\t\torder: order._id\n \t\t}\n \t})\n \t\t\n \tshopcart.actions.resetShopcart()\n\n } else {\n \talert('something wrong')\n }\n}\n</script>\n\n<style lang=\"scss\">\n\n.round-wrapper {\n\tposition: relative;\n\n\t.round {\n\t\tmargin: 0;\n\t\tmargin-right: 1rem;\n\t}\n\n\tinput:checked {\n\t\tbackground: #00ff88;\n\t}\n\n\t.round-checkmark {\n\t\tposition: absolute;\n\t\twidth: 0.5rem;\n\t\theight: 0.5rem;\n\t\tbackground: white;\n\n\t\tleft: 0.5rem;\n\t\ttop: 0.5rem;\n\n\t\topacity: 1;\n\t}\n}\n</style>"],"names":["orders.state","users.state","shopcart.getters","globals.state","orders.getters","auth.state","orders.mutations","users.actions","shopcart.state","organizations.actions","_a","_b","_c","order","orders.actions","shopcart.actions"],"mappings":"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"}
|