@ozdao/martyrs 0.2.452 → 0.2.453
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Media-Bx_un17A.js → Media-BsgJlo-X.js} +1 -1
- package/dist/{Media-_5Qittnv.mjs → Media-CxRfrG2S.mjs} +1 -1
- package/dist/{main-DZCereaK.mjs → main-7FA_ai95.mjs} +2 -2
- package/dist/{main-AHluqkEA.js → main-Zocv7IVl.js} +2 -2
- 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 +1 -1
- package/dist/martyrs/src/components/Button/Button.vue.js +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/Feed/Feed.vue.cjs +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
- package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.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/Slider/Slider.vue.cjs +1 -1
- package/dist/martyrs/src/components/Slider/Slider.vue.js +1 -1
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs → Tooltip.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.js → Tooltip.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue.cjs.map → Tooltip.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +3 -3
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.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.cjs.map +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/SignIn.vue.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 +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- 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/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/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 +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
- 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/events/components/sections/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.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 +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
- 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 +13 -51
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +13 -51
- package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +38 -6
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +38 -6
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +27 -17
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +27 -17
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -3
- 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 +1 -3
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +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 +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +4 -4
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +4 -4
- package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +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/orders/store/shopcart.cjs +0 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.js +0 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.js.map +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/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/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 +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- 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 +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/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/Images360.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/Images360.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 +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
- 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 +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
- 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/PopularProducts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/PopularProducts.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 +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/style.css +1 -53
- package/package.json +1 -1
- package/src/components/Feed/Feed.vue +1 -1
- package/src/modules/auth/views/components/layouts/Auth.vue +2 -2
- package/src/modules/auth/views/components/pages/SignIn.vue +1 -1
- package/src/modules/globals/views/components/layouts/App.vue +5 -94
- package/src/modules/globals/views/components/layouts/Client.vue +45 -5
- package/src/modules/globals/views/mixins/mixins.js +35 -18
- package/src/modules/icons/logos/Logotype.vue +1 -1
- package/src/modules/marketplace/views/components/pages/Catalog.vue +1 -3
- package/src/modules/orders/components/partials/ShopCart.vue +4 -15
- package/src/modules/orders/store/shopcart.js +0 -2
- package/src/styles/base/borders.scss +7 -1
- package/src/styles/layout.scss +3 -41
- 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/Loader/Loader.vue.js.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.vue.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixins.js","sources":["../../../../../../../src/modules/globals/views/mixins/mixins.js"],"sourcesContent":["import * as globals from '@martyrs/src/modules/globals/views/store/globals'\n\n// useGlobalMixins.js\nexport function useGlobalMixins() {\n const isClientSide = typeof window !== 'undefined'\n\n const isAdmin = (roles) => {\n if (roles) {\n const isAdmin = roles.includes('ROLE_ADMIN') ? roles.includes('ROLE_ADMIN') : false;\n\n if (isAdmin !== true) {\n return false\n }\n\n return true\n } else {\n return false\n }\n }\n \n const hasAccess = (organizationId, rightCategory = null, rightType = null, accesses, roles) => {\n // Если пользователь админ, то сразу даем доступ\n if (isAdmin(roles)) {\n return true;\n }\n \n const accessArray = accesses;\n \n // Проверяем существование записи для организации\n const organizationAccess = accessArray.find(access => access.organization === organizationId);\n \n // Если переданы только organizationId и accesses - проверяем только членство\n if (rightCategory === null && rightType === null) {\n return Boolean(organizationAccess); // если организация найдена - значит член\n }\n\n // Для проверки прав сначала проверяем существование организации\n if (!organizationAccess) {\n return false;\n }\n\n const categoryAccess = organizationAccess.rights[rightCategory];\n if (!categoryAccess) {\n return false;\n }\n return categoryAccess[rightType] === true;\n };\n\n\n const returnCurrency = () => {\n const currency = globals.state.options.currency || '$'\n return currency\n }\n\n const formatPrice = (number) => {\n const currency = returnCurrency();\n let formattedNumber = number.toFixed(2).replace('.', ',').replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\n return `${currency}${formattedNumber}`;\n }\n\nconst formatDate = (d, options = {}) => {\n var fixedDate = new Date(d);\n\n // Определяем параметры локализации\n const formatOptions = {\n year: 'numeric',\n month: 'long', // название месяца\n day: '2-digit', // день с ведущим нулем\n hour: '2-digit', // часы с ведущим нулем\n minute: '2-digit', // минуты с ведущим нулем\n hour12: false, // 24-часовой формат времени\n ...options // дополнительные настройки\n };\n\n // Язык, по умолчанию \"ru\" (русский)\n const locale = options.language || 'ru';\n\n // Используем Intl.DateTimeFormat для локализации\n const dateFormatter = new Intl.DateTimeFormat(locale, formatOptions);\n\n var format = {\n dateOnly: options.dateOnly || false,\n timeOnly: options.timeOnly || false,\n dayMonth: options.dayMonth || false,\n dayTime: options.dayTime || false,\n monthYear: options.monthYear || false,\n yearOnly: options.yearOnly || false,\n custom: options.custom || \"\",\n monthName: options.monthName || false, // Новый параметр для вывода названия месяца\n language: options.language || 'ru' // Язык, по умолчанию русский\n };\n\n if (format.dateOnly) {\n return dateFormatter.format(fixedDate).split(',')[0]; // Выводим только дату\n } else if (format.timeOnly) {\n return new Intl.DateTimeFormat(locale, { hour: '2-digit', minute: '2-digit', hour12: false }).format(fixedDate); // Выводим только время\n } else if (format.dayMonth) {\n return new Intl.DateTimeFormat(locale, { day: '2-digit', month: 'short' }).format(fixedDate); // день и месяц\n } else if (format.dayTime) {\n return new Intl.DateTimeFormat(locale, { day: '2-digit', month: 'short', hour: '2-digit', minute: '2-digit', hour12: false }).format(fixedDate); // день и время\n } else if (format.monthYear) {\n return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(fixedDate); // месяц и год\n } else if (format.yearOnly) {\n return new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(fixedDate); // только год\n } else if (format.custom) {\n // Для пользовательского формата с подстановкой\n return format.custom.replace(\"yyyy\", fixedDate.getFullYear())\n .replace(\"mm\", (\"0\" + (fixedDate.getMonth() + 1)).slice(-2)) // добавление ведущего нуля\n .replace(\"dd\", (\"0\" + fixedDate.getDate()).slice(-2)) // добавление ведущего нуля\n .replace(\"hh\", (\"0\" + fixedDate.getHours()).slice(-2)) // добавление ведущего нуля\n .replace(\"min\", (\"0\" + fixedDate.getMinutes()).slice(-2)); // добавление ведущего нуля\n }\n\n // Вернуть полную дату в стандартном формате\n return dateFormatter.format(fixedDate);\n}\n\n const formateText = (text, maxLength = 16) => {\n // Return empty string if text is undefined or null\n if (!text) return '';\n \n // If text is shorter than or equal to maxLength, return it as is\n if (text.length <= maxLength) {\n return text;\n }\n \n // Otherwise truncate and add ellipsis\n return text.substring(0, maxLength) + '...';\n }\n\n\n const normalizeUrlParam = (param) => {\n if (!param) param = ''\n\n return param\n .toLowerCase()\n .replace(/ /g, '-')\n .replace(/[^a-z0-9-]/g, '');\n }\n\n const joinArrayToUrl = (arr) => {\n return arr.join('/')\n }\n\n function generateFilters(selectedFilters) {\n const filters = [];\n \n // Process all selected filters\n for (const [key, values] of Object.entries(selectedFilters)) {\n if (values && values.length > 0) {\n // Skip special filters (these are handled separately)\n if (key !== 'prices' && key !== 'delivery' && key !== 'categories') {\n filters.push({\n parameter: key,\n caseSensitive: false,\n values: Array.isArray(values) ? values : [values]\n });\n }\n }\n }\n \n return filters.length > 0 ? JSON.stringify(filters) : undefined;\n }\n\n const getMarketplaceLink = (categories, country, state, city) => {\n let country_normalized = country ? normalizeUrlParam(country) : '';\n let state_normalized = state ? normalizeUrlParam(state) : '';\n let city_normalized = city ? normalizeUrlParam(city) : '';\n\n let base = '/marketplace';\n base += country_normalized ? `/${country_normalized}` : '';\n base += country_normalized && state_normalized ? `/${state_normalized}` : '';\n base += country_normalized && state_normalized && city_normalized ? `/${city_normalized}` : '';\n\n if (categories && categories.length) {\n base += `?categories=${categories.join(\",\")}`;\n }\n\n return base;\n }\n\n const getSpotsLink = (country, state, city) => {\n let country_normalized = country ? normalizeUrlParam(country) : '';\n let state_normalized = state ? normalizeUrlParam(state) : '';\n let city_normalized = city ? normalizeUrlParam(city) : '';\n\n let base = '/spots';\n base += country_normalized ? `/${country_normalized}` : '';\n base += country_normalized && state_normalized ? `/${state_normalized}` : '';\n base += country_normalized && state_normalized && city_normalized ? `/${city_normalized}` : '';\n\n return base;\n }\n\n const getCssVar = (name) => {\n if (!isClientSide) return '' // SSR fallback\n return getComputedStyle(document.documentElement)\n .getPropertyValue(name)\n .trim()\n }\n\n const isMediaMax = (varName) => {\n if (!isClientSide) return false\n const maxWidth = getCssVar(varName)\n return window.matchMedia(`(max-width: ${maxWidth})`).matches\n }\n\n const isMediaMin = (varName) => {\n if (!isClientSide) return false\n const minWidth = getCssVar(varName)\n return window.matchMedia(`(min-width: ${minWidth})`).matches\n }\n\n\n const isFlipPhone = () => isMediaMax('--flip-phone-max')\n const isPhone = () => isMediaMax('--phone-landscape-max')\n const isTabletPortrait = () => window.matchMedia(\n `(min-width: ${getCssVar('--tablet-portrait-min')}) and (max-width: ${getCssVar('--tablet-portrait-max')})`\n ).matches\n const isTabletLandscape = () => window.matchMedia(\n `(min-width: ${getCssVar('--tablet-landscape-min')}) and (max-width: ${getCssVar('--tablet-landscape-max')})`\n ).matches\n const isTablet = () => isTabletPortrait() || isTabletLandscape()\n\n const isDesktop = () => window.matchMedia(\n `(min-width: ${getCssVar('--desktop-min')}) and (max-width: ${getCssVar('--desktop-max')})`\n ).matches\n const isXLDesktop = () => window.matchMedia(\n `(min-width: ${getCssVar('--xl-desktop-min')}) and (max-width: ${getCssVar('--xl-desktop-max')})`\n ).matches\n const isXXLDesktop = () => isMediaMin('--xxl-desktop-min')\n\n\n return {\n isAdmin,\n hasAccess,\n returnCurrency,\n formatPrice,\n formatDate,\n formateText,\n normalizeUrlParam,\n joinArrayToUrl,\n getMarketplaceLink,\n getSpotsLink,\n generateFilters,\n // Брейкпоинты\n getCssVar,\n isMediaMax,\n isMediaMin,\n isFlipPhone,\n isPhone,\n isTabletPortrait,\n isTabletLandscape,\n isTablet,\n isDesktop,\n isXLDesktop,\n isXXLDesktop,\n\n }\n}\n\n// Экспорт для глобальной регистрации\nexport const globalMixins = {\n methods: useGlobalMixins()\n}"],"names":["isAdmin","globals.state","state"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mixins.js","sources":["../../../../../../../src/modules/globals/views/mixins/mixins.js"],"sourcesContent":["import * as globals from '@martyrs/src/modules/globals/views/store/globals'\n\n// useGlobalMixins.js\nexport function useGlobalMixins() {\n\n\n const isAdmin = (roles) => {\n if (roles) {\n const isAdmin = roles.includes('ROLE_ADMIN') ? roles.includes('ROLE_ADMIN') : false;\n\n if (isAdmin !== true) {\n return false\n }\n\n return true\n } else {\n return false\n }\n }\n \n const hasAccess = (organizationId, rightCategory = null, rightType = null, accesses, roles) => {\n // Если пользователь админ, то сразу даем доступ\n if (isAdmin(roles)) {\n return true;\n }\n \n const accessArray = accesses;\n \n // Проверяем существование записи для организации\n const organizationAccess = accessArray.find(access => access.organization === organizationId);\n \n // Если переданы только organizationId и accesses - проверяем только членство\n if (rightCategory === null && rightType === null) {\n return Boolean(organizationAccess); // если организация найдена - значит член\n }\n\n // Для проверки прав сначала проверяем существование организации\n if (!organizationAccess) {\n return false;\n }\n\n const categoryAccess = organizationAccess.rights[rightCategory];\n if (!categoryAccess) {\n return false;\n }\n return categoryAccess[rightType] === true;\n };\n\n\n const returnCurrency = () => {\n const currency = globals.state.options.currency || '$'\n return currency\n }\n\n const formatPrice = (number) => {\n const currency = returnCurrency();\n let formattedNumber = number.toFixed(2).replace('.', ',').replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\n return `${currency}${formattedNumber}`;\n }\n\nconst formatDate = (d, options = {}) => {\n var fixedDate = new Date(d);\n\n // Определяем параметры локализации\n const formatOptions = {\n year: 'numeric',\n month: 'long', // название месяца\n day: '2-digit', // день с ведущим нулем\n hour: '2-digit', // часы с ведущим нулем\n minute: '2-digit', // минуты с ведущим нулем\n hour12: false, // 24-часовой формат времени\n ...options // дополнительные настройки\n };\n\n // Язык, по умолчанию \"ru\" (русский)\n const locale = options.language || 'ru';\n\n // Используем Intl.DateTimeFormat для локализации\n const dateFormatter = new Intl.DateTimeFormat(locale, formatOptions);\n\n var format = {\n dateOnly: options.dateOnly || false,\n timeOnly: options.timeOnly || false,\n dayMonth: options.dayMonth || false,\n dayTime: options.dayTime || false,\n monthYear: options.monthYear || false,\n yearOnly: options.yearOnly || false,\n custom: options.custom || \"\",\n monthName: options.monthName || false, // Новый параметр для вывода названия месяца\n language: options.language || 'ru' // Язык, по умолчанию русский\n };\n\n if (format.dateOnly) {\n return dateFormatter.format(fixedDate).split(',')[0]; // Выводим только дату\n } else if (format.timeOnly) {\n return new Intl.DateTimeFormat(locale, { hour: '2-digit', minute: '2-digit', hour12: false }).format(fixedDate); // Выводим только время\n } else if (format.dayMonth) {\n return new Intl.DateTimeFormat(locale, { day: '2-digit', month: 'short' }).format(fixedDate); // день и месяц\n } else if (format.dayTime) {\n return new Intl.DateTimeFormat(locale, { day: '2-digit', month: 'short', hour: '2-digit', minute: '2-digit', hour12: false }).format(fixedDate); // день и время\n } else if (format.monthYear) {\n return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(fixedDate); // месяц и год\n } else if (format.yearOnly) {\n return new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(fixedDate); // только год\n } else if (format.custom) {\n // Для пользовательского формата с подстановкой\n return format.custom.replace(\"yyyy\", fixedDate.getFullYear())\n .replace(\"mm\", (\"0\" + (fixedDate.getMonth() + 1)).slice(-2)) // добавление ведущего нуля\n .replace(\"dd\", (\"0\" + fixedDate.getDate()).slice(-2)) // добавление ведущего нуля\n .replace(\"hh\", (\"0\" + fixedDate.getHours()).slice(-2)) // добавление ведущего нуля\n .replace(\"min\", (\"0\" + fixedDate.getMinutes()).slice(-2)); // добавление ведущего нуля\n }\n\n // Вернуть полную дату в стандартном формате\n return dateFormatter.format(fixedDate);\n}\n\n const formateText = (text, maxLength = 16) => {\n // Return empty string if text is undefined or null\n if (!text) return '';\n \n // If text is shorter than or equal to maxLength, return it as is\n if (text.length <= maxLength) {\n return text;\n }\n \n // Otherwise truncate and add ellipsis\n return text.substring(0, maxLength) + '...';\n }\n\n\n const normalizeUrlParam = (param) => {\n if (!param) param = ''\n\n return param\n .toLowerCase()\n .replace(/ /g, '-')\n .replace(/[^a-z0-9-]/g, '');\n }\n\n const joinArrayToUrl = (arr) => {\n return arr.join('/')\n }\n\n function generateFilters(selectedFilters) {\n const filters = [];\n \n // Process all selected filters\n for (const [key, values] of Object.entries(selectedFilters)) {\n if (values && values.length > 0) {\n // Skip special filters (these are handled separately)\n if (key !== 'prices' && key !== 'delivery' && key !== 'categories') {\n filters.push({\n parameter: key,\n caseSensitive: false,\n values: Array.isArray(values) ? values : [values]\n });\n }\n }\n }\n \n return filters.length > 0 ? JSON.stringify(filters) : undefined;\n }\n\n const getMarketplaceLink = (categories, country, state, city) => {\n let country_normalized = country ? normalizeUrlParam(country) : '';\n let state_normalized = state ? normalizeUrlParam(state) : '';\n let city_normalized = city ? normalizeUrlParam(city) : '';\n\n let base = '/marketplace';\n base += country_normalized ? `/${country_normalized}` : '';\n base += country_normalized && state_normalized ? `/${state_normalized}` : '';\n base += country_normalized && state_normalized && city_normalized ? `/${city_normalized}` : '';\n\n if (categories && categories.length) {\n base += `?categories=${categories.join(\",\")}`;\n }\n\n return base;\n }\n\n const getSpotsLink = (country, state, city) => {\n let country_normalized = country ? normalizeUrlParam(country) : '';\n let state_normalized = state ? normalizeUrlParam(state) : '';\n let city_normalized = city ? normalizeUrlParam(city) : '';\n\n let base = '/spots';\n base += country_normalized ? `/${country_normalized}` : '';\n base += country_normalized && state_normalized ? `/${state_normalized}` : '';\n base += country_normalized && state_normalized && city_normalized ? `/${city_normalized}` : '';\n\n return base;\n }\n\n const isClientSide = typeof window !== 'undefined' && typeof document !== 'undefined'\n\n const getCssVar = (name) => {\n if (!isClientSide) return '' // SSR fallback\n return getComputedStyle(document.documentElement)\n .getPropertyValue(name)\n .trim()\n }\n\n const matchMediaSafe = (query) => {\n if (!isClientSide) return { matches: false }\n return window.matchMedia(query)\n }\n\n const isMediaMax = (varName) => {\n const maxWidth = getCssVar(varName)\n return matchMediaSafe(`(max-width: ${maxWidth})`).matches\n }\n\n const isMediaMin = (varName) => {\n const minWidth = getCssVar(varName)\n return matchMediaSafe(`(min-width: ${minWidth})`).matches\n }\n\n const isFlipPhone = () => isMediaMax('--flip-phone-max')\n const isPhone = () => isMediaMax('--phone-landscape-max')\n\n const isTabletPortrait = () => {\n const min = getCssVar('--tablet-portrait-min')\n const max = getCssVar('--tablet-portrait-max')\n return matchMediaSafe(`(min-width: ${min}) and (max-width: ${max})`).matches\n }\n\n const isTabletLandscape = () => {\n const min = getCssVar('--tablet-landscape-min')\n const max = getCssVar('--tablet-landscape-max')\n return matchMediaSafe(`(min-width: ${min}) and (max-width: ${max})`).matches\n }\n\n const isTablet = () => isTabletPortrait() || isTabletLandscape()\n\n const isDesktop = () => {\n const min = getCssVar('--desktop-min')\n const max = getCssVar('--desktop-max')\n return matchMediaSafe(`(min-width: ${min}) and (max-width: ${max})`).matches\n }\n\n const isXLDesktop = () => {\n const min = getCssVar('--xl-desktop-min')\n const max = getCssVar('--xl-desktop-max')\n return matchMediaSafe(`(min-width: ${min}) and (max-width: ${max})`).matches\n }\n\n const isXXLDesktop = () => isMediaMin('--xxl-desktop-min')\n\n\n return {\n isAdmin,\n hasAccess,\n returnCurrency,\n formatPrice,\n formatDate,\n formateText,\n normalizeUrlParam,\n joinArrayToUrl,\n getMarketplaceLink,\n getSpotsLink,\n generateFilters,\n // Брейкпоинты\n getCssVar,\n isMediaMax,\n isMediaMin,\n isFlipPhone,\n isPhone,\n isTabletPortrait,\n isTabletLandscape,\n isTablet,\n isDesktop,\n isXLDesktop,\n isXXLDesktop,\n\n }\n}\n\n// Экспорт для глобальной регистрации\nexport const globalMixins = {\n methods: useGlobalMixins()\n}"],"names":["isAdmin","globals.state","state"],"mappings":"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"}
|
|
@@ -18,9 +18,7 @@ const _sfc_main = {
|
|
|
18
18
|
"onUpdate:sort": _cache[0] || (_cache[0] = ($event) => marketplace.state.sort = $event),
|
|
19
19
|
filter: marketplace.state.filter,
|
|
20
20
|
"onUpdate:filter": _cache[1] || (_cache[1] = ($event) => marketplace.state.filter = $event),
|
|
21
|
-
search:
|
|
22
|
-
autofocus: true
|
|
23
|
-
},
|
|
21
|
+
search: true,
|
|
24
22
|
showLoadMore: false,
|
|
25
23
|
states: {
|
|
26
24
|
empty: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Catalog.vue.cjs","sources":["../../../../../../../../src/modules/marketplace/views/components/pages/Catalog.vue"],"sourcesContent":["<template>\n\t<Feed\n\t\tv-model:sort=\"marketplace.state.sort\"\n\t\tv-model:filter=\"marketplace.state.filter\"\n :search=\"
|
|
1
|
+
{"version":3,"file":"Catalog.vue.cjs","sources":["../../../../../../../../src/modules/marketplace/views/components/pages/Catalog.vue"],"sourcesContent":["<template>\n\t<Feed\n\t\tv-model:sort=\"marketplace.state.sort\"\n\t\tv-model:filter=\"marketplace.state.filter\"\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Shops Found',\n description: 'Currently, there are no shops.'\n },\n }\"\n :store=\"{\n read: (options) => organization.actions.read(options)\n }\"\n :options=\"{\n country: route.params.country,\n\t state: route.params.state,\n\t city: route.params.city,\n\t categories: route.query.categories,\n\t prices: route.query.prices,\n\t delivery: route.query.delivery,\n\t location: globals.state.position?.location,\n\t lookup: ['products','spots'],\n\t contain: ['products'],\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <CardOrganization \n\t v-for=\"organization in items\" \n\t :key=\"organization._id\"\n\t :organization=\"organization\"\n\t :showRating=\"true\"\n\t :showFollowers=\"false\"\n\t :showProducts=\"true\"\n\t class=\"bg-light w-100 o-hidden radius-medium pd-small \"\n\t />\n </Feed>\n</template>\n\n<script setup>\n\timport { computed,reactive,ref, onMounted,watch } from 'vue'\n\timport { useRoute } from 'vue-router'\n\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\t\n\timport * as organization from '@martyrs/src/modules/organizations/store/organizations'\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals'\n\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport * as marketplace from '../../store/marketplace';\n\t\n\tconst route = useRoute()\n</script>\n\n<style lang=\"scss\">\n</style>\n"],"names":["useRoute"],"mappings":";;;;;;;;;;;;AAwDC,UAAM,QAAQA,UAAQ,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -16,9 +16,7 @@ const _sfc_main = {
|
|
|
16
16
|
"onUpdate:sort": _cache[0] || (_cache[0] = ($event) => state$1.sort = $event),
|
|
17
17
|
filter: state$1.filter,
|
|
18
18
|
"onUpdate:filter": _cache[1] || (_cache[1] = ($event) => state$1.filter = $event),
|
|
19
|
-
search:
|
|
20
|
-
autofocus: true
|
|
21
|
-
},
|
|
19
|
+
search: true,
|
|
22
20
|
showLoadMore: false,
|
|
23
21
|
states: {
|
|
24
22
|
empty: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Catalog.vue.js","sources":["../../../../../../../../src/modules/marketplace/views/components/pages/Catalog.vue"],"sourcesContent":["<template>\n\t<Feed\n\t\tv-model:sort=\"marketplace.state.sort\"\n\t\tv-model:filter=\"marketplace.state.filter\"\n :search=\"
|
|
1
|
+
{"version":3,"file":"Catalog.vue.js","sources":["../../../../../../../../src/modules/marketplace/views/components/pages/Catalog.vue"],"sourcesContent":["<template>\n\t<Feed\n\t\tv-model:sort=\"marketplace.state.sort\"\n\t\tv-model:filter=\"marketplace.state.filter\"\n :search=\"true\"\n :showLoadMore=\"false\"\n :states=\"{\n empty: {\n title: 'No Shops Found',\n description: 'Currently, there are no shops.'\n },\n }\"\n :store=\"{\n read: (options) => organization.actions.read(options)\n }\"\n :options=\"{\n country: route.params.country,\n\t state: route.params.state,\n\t city: route.params.city,\n\t categories: route.query.categories,\n\t prices: route.query.prices,\n\t delivery: route.query.delivery,\n\t location: globals.state.position?.location,\n\t lookup: ['products','spots'],\n\t contain: ['products'],\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"rows-1 gap-thin\"\n >\n <CardOrganization \n\t v-for=\"organization in items\" \n\t :key=\"organization._id\"\n\t :organization=\"organization\"\n\t :showRating=\"true\"\n\t :showFollowers=\"false\"\n\t :showProducts=\"true\"\n\t class=\"bg-light w-100 o-hidden radius-medium pd-small \"\n\t />\n </Feed>\n</template>\n\n<script setup>\n\timport { computed,reactive,ref, onMounted,watch } from 'vue'\n\timport { useRoute } from 'vue-router'\n\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\t\n\timport * as organization from '@martyrs/src/modules/organizations/store/organizations'\n\timport * as globals from '@martyrs/src/modules/globals/views/store/globals'\n\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport * as marketplace from '../../store/marketplace';\n\t\n\tconst route = useRoute()\n</script>\n\n<style lang=\"scss\">\n</style>\n"],"names":[],"mappings":";;;;;;;;;;AAwDC,UAAM,QAAQ,SAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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 Loader = require("../../../../../components/Loader/Loader.
|
|
4
|
+
const Loader = require("../../../../../components/Loader/Loader.vue2.cjs");
|
|
5
5
|
const vueRouter = require("vue-router");
|
|
6
6
|
const vueI18n = require("vue-i18n");
|
|
7
7
|
const categories = require("../../../../products/store/categories.cjs");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createVNode, createTextVNode, Transition, withCtx, Fragment, renderList, createBlock, createCommentVNode, normalizeClass, toDisplayString } from "vue";
|
|
2
|
-
import Loader from "../../../../../components/Loader/Loader.
|
|
2
|
+
import Loader from "../../../../../components/Loader/Loader.vue2.js";
|
|
3
3
|
import { useRouter } from "vue-router";
|
|
4
4
|
import { useI18n } from "vue-i18n";
|
|
5
5
|
import { actions as actions$1 } from "../../../../products/store/categories.js";
|
|
@@ -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.vue2.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.vue2.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";
|
|
@@ -4,13 +4,13 @@ const vue = require("vue");
|
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
5
|
const Button = require("../../../../components/Button/Button.vue.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");
|
|
@@ -2,13 +2,13 @@ import { ref, onMounted, computed, createElementBlock, createCommentVNode, openB
|
|
|
2
2
|
import { useRouter, useRoute } from "vue-router";
|
|
3
3
|
import _sfc_main$2 from "../../../../components/Button/Button.vue.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";
|
|
@@ -4,11 +4,11 @@ const vue = require("vue");
|
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
5
|
const Button = require("../../../../components/Button/Button.vue.cjs");
|
|
6
6
|
const Tab = require("../../../../components/Tab/Tab.vue.cjs");
|
|
7
|
-
const Popup = require("../../../../components/Popup/Popup.
|
|
7
|
+
const Popup = require("../../../../components/Popup/Popup.vue2.cjs");
|
|
8
8
|
const Block = require("../../../../components/Block/Block.vue.cjs");
|
|
9
9
|
const Feed = require("../../../../components/Feed/Feed.vue.cjs");
|
|
10
10
|
const CardOrderItem = require("../blocks/CardOrderItem.vue.cjs");
|
|
11
|
-
;/* empty css
|
|
11
|
+
;/* empty css */
|
|
12
12
|
;/* empty css */
|
|
13
13
|
const CardUser = require("../../../auth/views/components/blocks/CardUser.vue.cjs");
|
|
14
14
|
const FormAddCustomer = require("../sections/FormAddCustomer.vue.cjs");
|
|
@@ -2,11 +2,11 @@ import { computed, ref, onMounted, createElementBlock, openBlock, createVNode, c
|
|
|
2
2
|
import { useRoute, useRouter } from "vue-router";
|
|
3
3
|
import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
|
|
4
4
|
import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
|
|
5
|
-
import _sfc_main$4 from "../../../../components/Popup/Popup.
|
|
5
|
+
import _sfc_main$4 from "../../../../components/Popup/Popup.vue2.js";
|
|
6
6
|
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
7
7
|
import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
|
|
8
8
|
import _sfc_main$6 from "../blocks/CardOrderItem.vue.js";
|
|
9
|
-
/* empty css
|
|
9
|
+
/* empty css */
|
|
10
10
|
/* empty css */
|
|
11
11
|
import _sfc_main$7 from "../../../auth/views/components/blocks/CardUser.vue.js";
|
|
12
12
|
import _sfc_main$a from "../sections/FormAddCustomer.vue.js";
|
|
@@ -10,16 +10,16 @@ const globals = require("../../../globals/views/store/globals.cjs");
|
|
|
10
10
|
const auth = require("../../../auth/views/store/auth.cjs");
|
|
11
11
|
const shopcart = require("../../store/shopcart.cjs");
|
|
12
12
|
;/* empty css */
|
|
13
|
-
const _hoisted_1 = { class: "flex-nowrap flex" };
|
|
13
|
+
const _hoisted_1 = { class: "pd-big mobile:pd-medium pd-b-zero mobile:pd-b-zero flex-nowrap flex" };
|
|
14
14
|
const _hoisted_2 = { class: "mn-b-medium w-100" };
|
|
15
15
|
const _hoisted_3 = { class: "mn-b-thin p-big" };
|
|
16
16
|
const _hoisted_4 = { class: "t-transp p-small" };
|
|
17
|
-
const _hoisted_5 = { class: "h-
|
|
17
|
+
const _hoisted_5 = { class: "pd-big mobile:pd-medium h-70 flex flex-column w-100 pos-relative o-x-hidden o-y-scroll gap-small shopcart-content" };
|
|
18
18
|
const _hoisted_6 = {
|
|
19
19
|
key: 0,
|
|
20
20
|
class: "mn-t-medium"
|
|
21
21
|
};
|
|
22
|
-
const _hoisted_7 = { class: "
|
|
22
|
+
const _hoisted_7 = { class: "h-30 transition-ease-in-out pd-b-medium pd-t-medium pd-big transition-cubic bg-light t-black" };
|
|
23
23
|
const _hoisted_8 = {
|
|
24
24
|
key: 0,
|
|
25
25
|
class: "mn-b-small total-price"
|
|
@@ -59,7 +59,7 @@ const _sfc_main = {
|
|
|
59
59
|
return (_ctx, _cache) => {
|
|
60
60
|
var _a, _b, _c, _d;
|
|
61
61
|
return vue.openBlock(), vue.createElementBlock("section", {
|
|
62
|
-
class: vue.normalizeClass(["z-index-5 transition-ease-in-out
|
|
62
|
+
class: vue.normalizeClass(["z-index-5 flex flex-column transition-ease-in-out bg-white shop-cart", { "shop-cart-active": shopcart.state.currentState === true }])
|
|
63
63
|
}, [
|
|
64
64
|
vue.createElementVNode("div", _hoisted_1, [
|
|
65
65
|
vue.createElementVNode("div", _hoisted_2, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShopCart.vue.cjs","sources":["../../../../../../../src/modules/orders/components/partials/ShopCart.vue"],"sourcesContent":["<template>\n\t<section class=\"z-index-5 transition-ease-in-out
|
|
1
|
+
{"version":3,"file":"ShopCart.vue.cjs","sources":["../../../../../../../src/modules/orders/components/partials/ShopCart.vue"],"sourcesContent":["<template>\n\t<section class=\"z-index-5 flex flex-column transition-ease-in-out bg-white shop-cart\" :class=\"{'shop-cart-active':shopcart.state.currentState === true}\">\n <!-- ---------------------------------------------------------------- -->\n <!-- 01. Popup Header -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"pd-big mobile:pd-medium pd-b-zero mobile:pd-b-zero flex-nowrap flex\">\n <div class=\"mn-b-medium w-100\">\n <h4 class=\"mn-b-thin p-big\">{{t('title')}}</h4>\n <p class=\"t-transp p-small\">{{t('subtitle')}} {{ t('positions', { count: StoreCartAmount }) }}</p>\n </div>\n <IconCross @click=\"shopcart.actions.toggleShopcart\" class=\"cursor-pointer i-medium button-icon\"/>\n </div>\n <!-- ---------------------------------------------------------------- -->\n <!-- 02. Popup Content -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"pd-big mobile:pd-medium h-70 flex flex-column w-100 pos-relative o-x-hidden o-y-scroll gap-small shopcart-content\">\n <!-- Empty State -->\n <p v-if=\"!(shopcart.state.positions.length > 0)\" class=\"mn-t-medium\"><i>{{t('emptystate')}}</i></p>\n <!-- Shopcart positions -->\n <CardOrderItem \n v-for=\"product in shopcart.state.positions\" \n :key=\"product._id\" \n :editable=\"true\" \n :product=\"product\" \n :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n @updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n />\n </div>\n <!-- ---------------------------------------------------------------- -->\n <!-- 03. Footer -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"h-30 transition-ease-in-out pd-b-medium pd-t-medium pd-big transition-cubic bg-light t-black\">\n <div v-if=\"shopcart.state.positions.length > 0\" class=\"mn-b-small total-price\">\n <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate\"\n />\n </div>\n <button v-if=\"shopcart.state.positions.length > 0\" @click=\"openOrder()\" class=\"bg-main t-black w-100 button\">{{ t('fastorder') }}</button>\n </div> \n\n <!-- ---------------------------------------------------------------- -->\n <!-- 04. Color Overlay -->\n <!-- ---------------------------------------------------------------- -->\n <transition name=\"fade\">\n <teleport to=\"#app-wrapper\" v-if=\"shopcart.state.currentState\">\n\n <div \n v-if=\"shopcart.state.currentState\"\n @click=\"() => shopcart.state.currentState = false\"\n class=\"color-overlay z-index-3\"\n :class=\"{'active':shopcart.state.currentState === true}\"\n >\n </div>\n </teleport>\n </transition>\n </section>\n</template>\n\n\n<script setup>\n /////////////////////////////\n // COMPONENT DEPENDENCIES\n /////////////////////////////\n\timport { computed,onMounted } from 'vue'\n // Route\n import { useRouter,useRoute } from 'vue-router'\n // i18n\n import { useI18n } from 'vue-i18n'\n // Components\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n import PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\n import IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\n import * as globals from '@martyrs/src/modules/globals/views/store/globals';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth';\n import * as shopcart from '@martyrs/src/modules/orders/store/shopcart';\n /////////////////////////////\n // CREATED\n /////////////////////////////\n const route = useRoute()\n const router = useRouter()\n // Accessing state\n const cartTotalPrice = shopcart.getters.cartTotalPrice\n const StoreCartAmount = shopcart.getters.cartTotalAmount\n // \n // router.beforeEach((to, from, next) => {\n // if (shopcart.state.currentState === true) {\n // shopcart.actions.toggleShopcart();\n // }\n // next(); // Убедитесь, что вызываете next() для продолжения перехода по роуту\n // });\n\n /////////////////////////////\n // LOCALIZATION\n /////////////////////////////\n const text = {\n messages: {\n en: {\n title: 'Your order',\n subtitle: 'You have',\n positions: 'no products in shop cart | 1 product in shop cart | {count} products in shop card',\n emptystate: \"You don't have any positions in your shop cart yet. Maybe something needs to be added?\",\n intotal: 'In total',\n fastorder: 'Checkout'\n },\n ru: {\n title: 'Ваш заказ',\n subtitle: 'У вас',\n positions: 'нет товаров в корзине | 1 товар в корзине | {count} товаров в корзине',\n emptystate: \"У вас еще нет товаров в корзине. Может стоит что-нибудь добавить?\",\n intotal: 'Итого',\n fastorder: 'Подтвердить заказ'\n }\n }\n }\n\n const { t } = useI18n(text)\n /////////////////////////////\n // MOUNTED\n /////////////////////////////\n function openOrder() {\n // store.dispatch(\"shopcart/toggleShopCart\");\n // store.dispatch(\"shopcart/setSearch\");\n !globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id ? router.push({name: 'Sign In', query: { returnUrl: '/orders/form'}}) : router.push({name: 'CreateOrder'}) \n shopcart.actions.toggleShopcart();\n }\n</script>\n\n<style lang=\"scss\">\n.shop-cart {\n display: block;\n position: fixed;\n\n right: -33%;\n top: 0;\n\n height: 100%;\n width: 33%;\n\n overflow-y: scroll; \n}\n\n.shop-cart-active {\n right: 0;\n\n}\n\n@media screen and (max-width: 1025px) {\n .shop-cart {\n width: 100%;\n right: -100%;\n\n .shopcart-footer {\n width: 100%;\n right: -100%;\n }\n\n &-active {\n right: 0;\n\n .shopcart-footer {\n right: 0;\n }\n }\n }\n}\n</style>\n\n\n"],"names":["useRoute","useRouter","shopcart.getters","useI18n","globals.state","auth.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFgBA,cAAQ,SAAA;AACtB,UAAM,SAASC,UAAS,UAAA;AAExB,UAAM,iBAAiBC,SAAAA,QAAiB;AACxC,UAAM,kBAAkBA,SAAAA,QAAiB;AAYzC,UAAM,OAAO;AAAA,MACX,UAAU;AAAA,QACR,IAAI;AAAA,UACF,OAAO;AAAA,UACP,UAAU;AAAA,UACV,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,WAAW;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,UACF,OAAO;AAAA,UACP,UAAU;AAAA,UACV,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,WAAW;AAAA,QACnB;AAAA,MACA;AAAA,IACA;AAEE,UAAM,EAAE,MAAMC,QAAAA,QAAQ,IAAI;AAI1B,aAAS,YAAY;AAGnB,OAACC,cAAc,QAAQ,OAAO,8BAA8B,CAACC,WAAW,KAAK,MAAO,OAAO,KAAK,EAAC,MAAM,WAAW,OAAO,EAAE,WAAW,eAAc,EAAC,CAAC,IAAM,OAAO,KAAK,EAAC,MAAM,cAAa,CAAC;AAC7LC,eAAAA,QAAiB,eAAgB;AAAA,IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -8,16 +8,16 @@ import { state as state$1 } from "../../../globals/views/store/globals.js";
|
|
|
8
8
|
import { state as state$2 } from "../../../auth/views/store/auth.js";
|
|
9
9
|
import { getters, state, actions } from "../../store/shopcart.js";
|
|
10
10
|
/* empty css */
|
|
11
|
-
const _hoisted_1 = { class: "flex-nowrap flex" };
|
|
11
|
+
const _hoisted_1 = { class: "pd-big mobile:pd-medium pd-b-zero mobile:pd-b-zero flex-nowrap flex" };
|
|
12
12
|
const _hoisted_2 = { class: "mn-b-medium w-100" };
|
|
13
13
|
const _hoisted_3 = { class: "mn-b-thin p-big" };
|
|
14
14
|
const _hoisted_4 = { class: "t-transp p-small" };
|
|
15
|
-
const _hoisted_5 = { class: "h-
|
|
15
|
+
const _hoisted_5 = { class: "pd-big mobile:pd-medium h-70 flex flex-column w-100 pos-relative o-x-hidden o-y-scroll gap-small shopcart-content" };
|
|
16
16
|
const _hoisted_6 = {
|
|
17
17
|
key: 0,
|
|
18
18
|
class: "mn-t-medium"
|
|
19
19
|
};
|
|
20
|
-
const _hoisted_7 = { class: "
|
|
20
|
+
const _hoisted_7 = { class: "h-30 transition-ease-in-out pd-b-medium pd-t-medium pd-big transition-cubic bg-light t-black" };
|
|
21
21
|
const _hoisted_8 = {
|
|
22
22
|
key: 0,
|
|
23
23
|
class: "mn-b-small total-price"
|
|
@@ -57,7 +57,7 @@ const _sfc_main = {
|
|
|
57
57
|
return (_ctx, _cache) => {
|
|
58
58
|
var _a, _b, _c, _d;
|
|
59
59
|
return openBlock(), createElementBlock("section", {
|
|
60
|
-
class: normalizeClass(["z-index-5 transition-ease-in-out
|
|
60
|
+
class: normalizeClass(["z-index-5 flex flex-column transition-ease-in-out bg-white shop-cart", { "shop-cart-active": state.currentState === true }])
|
|
61
61
|
}, [
|
|
62
62
|
createElementVNode("div", _hoisted_1, [
|
|
63
63
|
createElementVNode("div", _hoisted_2, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShopCart.vue.js","sources":["../../../../../../../src/modules/orders/components/partials/ShopCart.vue"],"sourcesContent":["<template>\n\t<section class=\"z-index-5 transition-ease-in-out
|
|
1
|
+
{"version":3,"file":"ShopCart.vue.js","sources":["../../../../../../../src/modules/orders/components/partials/ShopCart.vue"],"sourcesContent":["<template>\n\t<section class=\"z-index-5 flex flex-column transition-ease-in-out bg-white shop-cart\" :class=\"{'shop-cart-active':shopcart.state.currentState === true}\">\n <!-- ---------------------------------------------------------------- -->\n <!-- 01. Popup Header -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"pd-big mobile:pd-medium pd-b-zero mobile:pd-b-zero flex-nowrap flex\">\n <div class=\"mn-b-medium w-100\">\n <h4 class=\"mn-b-thin p-big\">{{t('title')}}</h4>\n <p class=\"t-transp p-small\">{{t('subtitle')}} {{ t('positions', { count: StoreCartAmount }) }}</p>\n </div>\n <IconCross @click=\"shopcart.actions.toggleShopcart\" class=\"cursor-pointer i-medium button-icon\"/>\n </div>\n <!-- ---------------------------------------------------------------- -->\n <!-- 02. Popup Content -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"pd-big mobile:pd-medium h-70 flex flex-column w-100 pos-relative o-x-hidden o-y-scroll gap-small shopcart-content\">\n <!-- Empty State -->\n <p v-if=\"!(shopcart.state.positions.length > 0)\" class=\"mn-t-medium\"><i>{{t('emptystate')}}</i></p>\n <!-- Shopcart positions -->\n <CardOrderItem \n v-for=\"product in shopcart.state.positions\" \n :key=\"product._id\" \n :editable=\"true\" \n :product=\"product\" \n :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n @updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n />\n </div>\n <!-- ---------------------------------------------------------------- -->\n <!-- 03. Footer -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"h-30 transition-ease-in-out pd-b-medium pd-t-medium pd-big transition-cubic bg-light t-black\">\n <div v-if=\"shopcart.state.positions.length > 0\" class=\"mn-b-small total-price\">\n <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate\"\n />\n </div>\n <button v-if=\"shopcart.state.positions.length > 0\" @click=\"openOrder()\" class=\"bg-main t-black w-100 button\">{{ t('fastorder') }}</button>\n </div> \n\n <!-- ---------------------------------------------------------------- -->\n <!-- 04. Color Overlay -->\n <!-- ---------------------------------------------------------------- -->\n <transition name=\"fade\">\n <teleport to=\"#app-wrapper\" v-if=\"shopcart.state.currentState\">\n\n <div \n v-if=\"shopcart.state.currentState\"\n @click=\"() => shopcart.state.currentState = false\"\n class=\"color-overlay z-index-3\"\n :class=\"{'active':shopcart.state.currentState === true}\"\n >\n </div>\n </teleport>\n </transition>\n </section>\n</template>\n\n\n<script setup>\n /////////////////////////////\n // COMPONENT DEPENDENCIES\n /////////////////////////////\n\timport { computed,onMounted } from 'vue'\n // Route\n import { useRouter,useRoute } from 'vue-router'\n // i18n\n import { useI18n } from 'vue-i18n'\n // Components\n import CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue';\n import PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\n import IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\n import * as globals from '@martyrs/src/modules/globals/views/store/globals';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth';\n import * as shopcart from '@martyrs/src/modules/orders/store/shopcart';\n /////////////////////////////\n // CREATED\n /////////////////////////////\n const route = useRoute()\n const router = useRouter()\n // Accessing state\n const cartTotalPrice = shopcart.getters.cartTotalPrice\n const StoreCartAmount = shopcart.getters.cartTotalAmount\n // \n // router.beforeEach((to, from, next) => {\n // if (shopcart.state.currentState === true) {\n // shopcart.actions.toggleShopcart();\n // }\n // next(); // Убедитесь, что вызываете next() для продолжения перехода по роуту\n // });\n\n /////////////////////////////\n // LOCALIZATION\n /////////////////////////////\n const text = {\n messages: {\n en: {\n title: 'Your order',\n subtitle: 'You have',\n positions: 'no products in shop cart | 1 product in shop cart | {count} products in shop card',\n emptystate: \"You don't have any positions in your shop cart yet. Maybe something needs to be added?\",\n intotal: 'In total',\n fastorder: 'Checkout'\n },\n ru: {\n title: 'Ваш заказ',\n subtitle: 'У вас',\n positions: 'нет товаров в корзине | 1 товар в корзине | {count} товаров в корзине',\n emptystate: \"У вас еще нет товаров в корзине. Может стоит что-нибудь добавить?\",\n intotal: 'Итого',\n fastorder: 'Подтвердить заказ'\n }\n }\n }\n\n const { t } = useI18n(text)\n /////////////////////////////\n // MOUNTED\n /////////////////////////////\n function openOrder() {\n // store.dispatch(\"shopcart/toggleShopCart\");\n // store.dispatch(\"shopcart/setSearch\");\n !globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id ? router.push({name: 'Sign In', query: { returnUrl: '/orders/form'}}) : router.push({name: 'CreateOrder'}) \n shopcart.actions.toggleShopcart();\n }\n</script>\n\n<style lang=\"scss\">\n.shop-cart {\n display: block;\n position: fixed;\n\n right: -33%;\n top: 0;\n\n height: 100%;\n width: 33%;\n\n overflow-y: scroll; \n}\n\n.shop-cart-active {\n right: 0;\n\n}\n\n@media screen and (max-width: 1025px) {\n .shop-cart {\n width: 100%;\n right: -100%;\n\n .shopcart-footer {\n width: 100%;\n right: -100%;\n }\n\n &-active {\n right: 0;\n\n .shopcart-footer {\n right: 0;\n }\n }\n }\n}\n</style>\n\n\n"],"names":["shopcart.getters","globals.state","auth.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFgB,aAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,iBAAiBA,QAAiB;AACxC,UAAM,kBAAkBA,QAAiB;AAYzC,UAAM,OAAO;AAAA,MACX,UAAU;AAAA,QACR,IAAI;AAAA,UACF,OAAO;AAAA,UACP,UAAU;AAAA,UACV,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,WAAW;AAAA,QACZ;AAAA,QACD,IAAI;AAAA,UACF,OAAO;AAAA,UACP,UAAU;AAAA,UACV,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,WAAW;AAAA,QACnB;AAAA,MACA;AAAA,IACA;AAEE,UAAM,EAAE,MAAM,QAAQ,IAAI;AAI1B,aAAS,YAAY;AAGnB,OAACC,QAAc,QAAQ,OAAO,8BAA8B,CAACC,QAAW,KAAK,MAAO,OAAO,KAAK,EAAC,MAAM,WAAW,OAAO,EAAE,WAAW,eAAc,EAAC,CAAC,IAAM,OAAO,KAAK,EAAC,MAAM,cAAa,CAAC;AAC7LC,cAAiB,eAAgB;AAAA,IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
|
-
;/* empty css
|
|
5
|
+
;/* empty css */
|
|
6
6
|
;/* empty css */
|
|
7
7
|
const Field = require("../../../../components/Field/Field.vue.cjs");
|
|
8
8
|
const Radio = require("../../../../components/Radio/Radio.vue.cjs");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { watch, onMounted, computed, createBlock, openBlock, withCtx, createElementVNode, createElementBlock, createCommentVNode, createVNode, Fragment, renderList } from "vue";
|
|
2
2
|
import { useRoute } from "vue-router";
|
|
3
|
-
/* empty css
|
|
3
|
+
/* empty css */
|
|
4
4
|
/* empty css */
|
|
5
5
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
6
6
|
import _sfc_main$2 from "../../../../components/Radio/Radio.vue.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopcart.cjs","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { reactive, watch, computed } from \"vue\";\n// Dependencies\nimport Cookies from 'js-cookie'\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n createCartItem(product, organization, type = 'sale') {\n return {\n _id: product._id,\n images: product.images,\n name: product.name,\n price: product.price,\n price_currency: product.price_currency,\n listing: product.listing,\n quantity: 1,\n org_id: organization,\n type: type\n };\n },\n\n saveToStorage() {\n localStorage.setItem(CART_STORAGE_KEY, JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n \n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price &&\n serverProduct.name === product.name &&\n serverProduct.available !== false;\n }\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId});\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n }\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n \n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n \n if (!serverProduct || \n serverProduct.price !== product.price || \n serverProduct.name !== product.name || \n serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(\n product => !invalidProducts.includes(product._id)\n );\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n\n toggleShopcart () {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n } \n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n\n addProductToCart(product, organization, date) {\n const cartItem = state.positions.find(\n (item) => item._id === product._id\n );\n\n if (cartItem) {\n cartItem.quantity++;\n } else {\n state.positions.push({\n _id: product._id,\n images: product.images,\n name: product.name,\n listing: product.listing,\n price: product.price,\n price_currency: product.price_currency,\n quantity: 1,\n date: date, \n org_id: organization, // Добавляем _id организации к каждому продукту\n });\n }\n\n // Обновляем объект корзины в localStorage, включая _id организации\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: organization // Сохраняем _id организации в корне объекта корзины\n }));\n },\n\n\n removeProduct(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n \n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n\n decrementItemQuantity(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n const cartItemIndex = state.positions.indexOf(cartItem);\n \n if (cartItemIndex > -1) {\n cartItem.quantity--;\n \n if (cartItem.quantity < 1) {\n state.positions.splice(cartItemIndex, 1);\n }\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n\n incrementItemQuantity(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n\n if (cartItem) {\n cartItem.quantity++;\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n updateRentDates({ productId, dates }) {\n const product = state.positions.find(p => p._id === productId)\n\n if (product) {\n product.date = dates // Предполагается, что dates — объект { start, end }\n }\n\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n },\n\n\n resetShopcart() {\n state.positions = [];\n \n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start)\n const end = new Date(product.date.end)\n const diffTime = Math.abs(end - start)\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0));\n }),\n cartTotalAmount: computed(() => {\n return Number(state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = []\nhistory.push(state) \n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState)\n})\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport {\n state,\n actions,\n getters\n}"],"names":["reactive","computed","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shopcart.cjs","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { reactive, watch, computed } from \"vue\";\n// Dependencies\nimport Cookies from 'js-cookie'\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n createCartItem(product, organization, type = 'sale') {\n return {\n _id: product._id,\n images: product.images,\n name: product.name,\n price: product.price,\n listing: product.listing,\n quantity: 1,\n org_id: organization,\n type: type\n };\n },\n\n saveToStorage() {\n localStorage.setItem(CART_STORAGE_KEY, JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n \n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price &&\n serverProduct.name === product.name &&\n serverProduct.available !== false;\n }\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId});\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n }\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n \n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n \n if (!serverProduct || \n serverProduct.price !== product.price || \n serverProduct.name !== product.name || \n serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(\n product => !invalidProducts.includes(product._id)\n );\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n\n toggleShopcart () {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n } \n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n\n addProductToCart(product, organization, date) {\n const cartItem = state.positions.find(\n (item) => item._id === product._id\n );\n\n if (cartItem) {\n cartItem.quantity++;\n } else {\n state.positions.push({\n _id: product._id,\n images: product.images,\n name: product.name,\n listing: product.listing,\n price: product.price,\n quantity: 1,\n date: date, \n org_id: organization, // Добавляем _id организации к каждому продукту\n });\n }\n\n // Обновляем объект корзины в localStorage, включая _id организации\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: organization // Сохраняем _id организации в корне объекта корзины\n }));\n },\n\n\n removeProduct(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n \n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n\n decrementItemQuantity(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n const cartItemIndex = state.positions.indexOf(cartItem);\n \n if (cartItemIndex > -1) {\n cartItem.quantity--;\n \n if (cartItem.quantity < 1) {\n state.positions.splice(cartItemIndex, 1);\n }\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n\n incrementItemQuantity(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n\n if (cartItem) {\n cartItem.quantity++;\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n updateRentDates({ productId, dates }) {\n const product = state.positions.find(p => p._id === productId)\n\n if (product) {\n product.date = dates // Предполагается, что dates — объект { start, end }\n }\n\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n },\n\n\n resetShopcart() {\n state.positions = [];\n \n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start)\n const end = new Date(product.date.end)\n const diffTime = Math.abs(end - start)\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0));\n }),\n cartTotalAmount: computed(() => {\n return Number(state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = []\nhistory.push(state) \n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState)\n})\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport {\n state,\n actions,\n getters\n}"],"names":["reactive","computed","watch"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopcart.js","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { reactive, watch, computed } from \"vue\";\n// Dependencies\nimport Cookies from 'js-cookie'\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n createCartItem(product, organization, type = 'sale') {\n return {\n _id: product._id,\n images: product.images,\n name: product.name,\n price: product.price,\n price_currency: product.price_currency,\n listing: product.listing,\n quantity: 1,\n org_id: organization,\n type: type\n };\n },\n\n saveToStorage() {\n localStorage.setItem(CART_STORAGE_KEY, JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n \n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price &&\n serverProduct.name === product.name &&\n serverProduct.available !== false;\n }\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId});\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n }\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n \n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n \n if (!serverProduct || \n serverProduct.price !== product.price || \n serverProduct.name !== product.name || \n serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(\n product => !invalidProducts.includes(product._id)\n );\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n\n toggleShopcart () {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n } \n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n\n addProductToCart(product, organization, date) {\n const cartItem = state.positions.find(\n (item) => item._id === product._id\n );\n\n if (cartItem) {\n cartItem.quantity++;\n } else {\n state.positions.push({\n _id: product._id,\n images: product.images,\n name: product.name,\n listing: product.listing,\n price: product.price,\n price_currency: product.price_currency,\n quantity: 1,\n date: date, \n org_id: organization, // Добавляем _id организации к каждому продукту\n });\n }\n\n // Обновляем объект корзины в localStorage, включая _id организации\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: organization // Сохраняем _id организации в корне объекта корзины\n }));\n },\n\n\n removeProduct(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n \n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n\n decrementItemQuantity(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n const cartItemIndex = state.positions.indexOf(cartItem);\n \n if (cartItemIndex > -1) {\n cartItem.quantity--;\n \n if (cartItem.quantity < 1) {\n state.positions.splice(cartItemIndex, 1);\n }\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n\n incrementItemQuantity(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n\n if (cartItem) {\n cartItem.quantity++;\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n updateRentDates({ productId, dates }) {\n const product = state.positions.find(p => p._id === productId)\n\n if (product) {\n product.date = dates // Предполагается, что dates — объект { start, end }\n }\n\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n },\n\n\n resetShopcart() {\n state.positions = [];\n \n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start)\n const end = new Date(product.date.end)\n const diffTime = Math.abs(end - start)\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0));\n }),\n cartTotalAmount: computed(() => {\n return Number(state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = []\nhistory.push(state) \n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState)\n})\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport {\n state,\n actions,\n getters\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shopcart.js","sources":["../../../../../../src/modules/orders/store/shopcart.js"],"sourcesContent":["/////////////////////////////\n// DEPENDENCIES\n/////////////////////////////\nimport { reactive, watch, computed } from \"vue\";\n// Dependencies\nimport Cookies from 'js-cookie'\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n\n/////////////////////////////\n// State\n/////////////////////////////\nconst state = reactive({\n organization: null,\n positions: [],\n currentState: false\n});\n\n/////////////////////////////\n// Helpers\n/////////////////////////////\nconst helpers = {\n createCartItem(product, organization, type = 'sale') {\n return {\n _id: product._id,\n images: product.images,\n name: product.name,\n price: product.price,\n listing: product.listing,\n quantity: 1,\n org_id: organization,\n type: type\n };\n },\n\n saveToStorage() {\n localStorage.setItem(CART_STORAGE_KEY, JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n },\n\n async validateProduct(product) {\n const serverProduct = await api.fetchProduct(product._id);\n \n if (!serverProduct) {\n return false;\n }\n\n return serverProduct.price === product.price &&\n serverProduct.name === product.name &&\n serverProduct.available !== false;\n }\n};\n\n/////////////////////////////\n// SYNC PRODUCT IN SHOPCART\n/////////////////////////////\n// Constants\nconst CART_STORAGE_KEY = 'shopcart';\nconst SYNC_INTERVAL = 30000; // 30 seconds in milliseconds\n\n// API service\nconst api = {\n async fetchProduct(productId) {\n try {\n const response = await fetch(`/api/products/read`, { _id: productId});\n return await response.json();\n } catch (error) {\n console.error('Failed to fetch product:', error);\n return null;\n }\n }\n};\n\nasync function syncWithServer() {\n try {\n const invalidProducts = [];\n \n for (let i = 0; i < state.positions.length; i++) {\n const product = state.positions[i];\n const serverProduct = await api.fetchProduct(product._id);\n \n if (!serverProduct || \n serverProduct.price !== product.price || \n serverProduct.name !== product.name || \n serverProduct.available === false) {\n invalidProducts.push(product._id);\n }\n }\n\n if (invalidProducts.length > 0) {\n state.positions = state.positions.filter(\n product => !invalidProducts.includes(product._id)\n );\n helpers.saveToStorage();\n setError('Some products were removed from cart due to changes on server');\n }\n } catch (error) {\n console.error('Failed to sync with server:', error);\n }\n}\n// Initialize periodic sync\nlet syncInterval;\n\nconst startPeriodicSync = () => {\n syncInterval = setInterval(syncWithServer, SYNC_INTERVAL);\n};\n\nconst stopPeriodicSync = () => {\n if (syncInterval) {\n clearInterval(syncInterval);\n }\n};\n\n// Start sync when module is imported\n// startPeriodicSync();\n/////////////////////////////\n// Actions\n/////////////////////////////\nconst actions = {\n\n toggleShopcart () {\n state.currentState = state.currentState ? false : true;\n },\n\n setShopcart() {\n try {\n const storedShopcart = localStorage.getItem('shopcart');\n\n if (storedShopcart) {\n const shopcartData = JSON.parse(storedShopcart);\n state.positions = shopcartData.positions; // Восстанавливаем продукты\n state.organization = shopcartData.organization; // Восстанавливаем _id организации\n } \n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n\n\n addProductToCart(product, organization, date) {\n const cartItem = state.positions.find(\n (item) => item._id === product._id\n );\n\n if (cartItem) {\n cartItem.quantity++;\n } else {\n state.positions.push({\n _id: product._id,\n images: product.images,\n name: product.name,\n listing: product.listing,\n price: product.price,\n quantity: 1,\n date: date, \n org_id: organization, // Добавляем _id организации к каждому продукту\n });\n }\n\n // Обновляем объект корзины в localStorage, включая _id организации\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: organization // Сохраняем _id организации в корне объекта корзины\n }));\n },\n\n\n removeProduct(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n const cartItemIndex = state.positions.indexOf(cartItem);\n\n if (cartItemIndex > -1) {\n state.positions.splice(cartItemIndex, 1);\n \n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n\n decrementItemQuantity(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n const cartItemIndex = state.positions.indexOf(cartItem);\n \n if (cartItemIndex > -1) {\n cartItem.quantity--;\n \n if (cartItem.quantity < 1) {\n state.positions.splice(cartItemIndex, 1);\n }\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n\n incrementItemQuantity(_id) {\n const cartItem = state.positions.find(\n (item) => item._id === _id\n );\n\n if (cartItem) {\n cartItem.quantity++;\n\n // Сохраняем весь объект корзины, а не только позиции\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n }\n },\n\n updateRentDates({ productId, dates }) {\n const product = state.positions.find(p => p._id === productId)\n\n if (product) {\n product.date = dates // Предполагается, что dates — объект { start, end }\n }\n\n localStorage.setItem('shopcart', JSON.stringify({\n positions: state.positions,\n organization: state.organization\n }));\n },\n\n\n resetShopcart() {\n state.positions = [];\n \n localStorage.removeItem('shopcart');\n },\n};\n\n/////////////////////////////\n// Getters\n/////////////////////////////\nconst getters = {\n cartTotalPrice: computed(() => {\n return Number(state.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start)\n const end = new Date(product.date.end)\n const diffTime = Math.abs(end - start)\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0));\n }),\n cartTotalAmount: computed(() => {\n return Number(state.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n }),\n getStoreCartState: computed(() => {\n return Number(state.currentState);\n }),\n};\n/////////////////////////////\n// History\n/////////////////////////////\nconst history = []\nhistory.push(state) \n\n/////////////////////////////\n// Watch\n/////////////////////////////\nwatch(state, (newState, oldState) => {\n history.push(newState)\n})\n\n/////////////////////////////\n// Module Export\n/////////////////////////////\nexport {\n state,\n actions,\n getters\n}"],"names":[],"mappings":";;;AAYK,MAAC,QAAQ,SAAS;AAAA,EACrB,cAAc;AAAA,EACd,WAAW,CAAE;AAAA,EACb,cAAc;AAChB,CAAC;AAwGI,MAAC,UAAU;AAAA,EAEd,iBAAkB;AAChB,UAAM,eAAe,MAAM,eAAe,QAAQ;AAAA,EACnD;AAAA,EAED,cAAc;AACZ,QAAI;AACF,YAAM,iBAAiB,aAAa,QAAQ,UAAU;AAEtD,UAAI,gBAAgB;AAClB,cAAM,eAAe,KAAK,MAAM,cAAc;AAC9C,cAAM,YAAY,aAAa;AAC/B,cAAM,eAAe,aAAa;AAAA,MACnC;AAAA,IACF,SAAQ,OAAO;AACd,cAAQ,MAAM,KAAK;AACnB,YAAM;AAAA,IACZ;AAAA,EACG;AAAA,EAGD,iBAAiB,SAAS,cAAc,MAAM;AAC5C,UAAM,WAAW,MAAM,UAAU;AAAA,MAC/B,CAAC,SAAS,KAAK,QAAQ,QAAQ;AAAA,IAChC;AAED,QAAI,UAAU;AACZ,eAAS;AAAA,IACf,OAAW;AACL,YAAM,UAAU,KAAK;AAAA,QACnB,KAAK,QAAQ;AAAA,QACb,QAAQ,QAAQ;AAAA,QAChB,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,QACjB,OAAO,QAAQ;AAAA,QACf,UAAU;AAAA,QACV;AAAA,QACA,QAAQ;AAAA;AAAA,MAChB,CAAO;AAAA,IACP;AAGI,iBAAa,QAAQ,YAAY,KAAK,UAAU;AAAA,MAC9C,WAAW,MAAM;AAAA,MACjB;AAAA;AAAA,IACN,CAAK,CAAC;AAAA,EACH;AAAA,EAGD,cAAc,KAAK;AACjB,UAAM,WAAW,MAAM,UAAU;AAAA,MAC/B,CAAC,SAAS,KAAK,QAAQ;AAAA,IACxB;AACD,UAAM,gBAAgB,MAAM,UAAU,QAAQ,QAAQ;AAEtD,QAAI,gBAAgB,IAAI;AACtB,YAAM,UAAU,OAAO,eAAe,CAAC;AAGvC,mBAAa,QAAQ,YAAY,KAAK,UAAU;AAAA,QAC9C,WAAW,MAAM;AAAA,QACjB,cAAc,MAAM;AAAA,MAC5B,CAAO,CAAC;AAAA,IACR;AAAA,EACG;AAAA,EAGD,sBAAsB,KAAK;AACzB,UAAM,WAAW,MAAM,UAAU;AAAA,MAC/B,CAAC,SAAS,KAAK,QAAQ;AAAA,IACxB;AACD,UAAM,gBAAgB,MAAM,UAAU,QAAQ,QAAQ;AAEtD,QAAI,gBAAgB,IAAI;AACtB,eAAS;AAET,UAAI,SAAS,WAAW,GAAG;AACzB,cAAM,UAAU,OAAO,eAAe,CAAC;AAAA,MAC/C;AAGM,mBAAa,QAAQ,YAAY,KAAK,UAAU;AAAA,QAC9C,WAAW,MAAM;AAAA,QACjB,cAAc,MAAM;AAAA,MAC5B,CAAO,CAAC;AAAA,IACR;AAAA,EACG;AAAA,EAGD,sBAAsB,KAAK;AACzB,UAAM,WAAW,MAAM,UAAU;AAAA,MAC/B,CAAC,SAAS,KAAK,QAAQ;AAAA,IACxB;AAED,QAAI,UAAU;AACZ,eAAS;AAGT,mBAAa,QAAQ,YAAY,KAAK,UAAU;AAAA,QAC9C,WAAW,MAAM;AAAA,QACjB,cAAc,MAAM;AAAA,MAC5B,CAAO,CAAC;AAAA,IACR;AAAA,EACG;AAAA,EAED,gBAAgB,EAAE,WAAW,SAAS;AACpC,UAAM,UAAU,MAAM,UAAU,KAAK,OAAK,EAAE,QAAQ,SAAS;AAE7D,QAAI,SAAS;AACX,cAAQ,OAAO;AAAA,IACrB;AAEI,iBAAa,QAAQ,YAAY,KAAK,UAAU;AAAA,MAC9C,WAAW,MAAM;AAAA,MACjB,cAAc,MAAM;AAAA,IAC1B,CAAK,CAAC;AAAA,EACH;AAAA,EAGD,gBAAgB;AACd,UAAM,YAAY,CAAE;AAEpB,iBAAa,WAAW,UAAU;AAAA,EACnC;AACH;AAKK,MAAC,UAAU;AAAA,EACd,gBAAgB,SAAS,MAAM;AAC7B,WAAO,OAAO,MAAM,UAAU,OAAO,CAAC,OAAO,YAAY;AAEvD,UAAI,QAAQ,YAAY,QAAQ;AAC9B,cAAM,QAAQ,IAAI,KAAK,QAAQ,KAAK,KAAK;AACzC,cAAM,MAAM,IAAI,KAAK,QAAQ,KAAK,GAAG;AACrC,cAAM,WAAW,KAAK,IAAI,MAAM,KAAK;AACrC,eAAO,QAAQ,QAAQ,SAAS,KAAK,KAAK,YAAY,MAAO,KAAK,KAAK,GAAG,IAAI;AAAA,MACtF,OAAa;AAEL,eAAO,QAAQ,QAAQ,SAAS,QAAQ,YAAY;AAAA,MAC5D;AAAA,IACK,GAAE,CAAC,CAAC;AAAA,EACT,CAAG;AAAA,EACD,iBAAiB,SAAS,MAAM;AAC9B,WAAO,OAAO,MAAM,UAAU,OAAO,CAAC,OAAO,YAAY;AACvD,aAAO,QAAQ,QAAQ;AAAA,IACxB,GAAE,CAAC,CAAC;AAAA,EACT,CAAG;AAAA,EACD,mBAAmB,SAAS,MAAM;AAChC,WAAO,OAAO,MAAM,YAAY;AAAA,EACpC,CAAG;AACH;AAUA,MAAM,OAAO,CAAC,UAAU,aAAa;AAErC,CAAC;"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
5
|
const CardOrderItem = require("../../../orders/components/blocks/CardOrderItem.vue.cjs");
|
|
6
|
-
const Chips = require("../../../../components/Chips/Chips.
|
|
6
|
+
const Chips = require("../../../../components/Chips/Chips.vue.cjs");
|
|
7
7
|
const PlaceholderOrganizationPic = require("../../../icons/placeholders/PlaceholderOrganizationPic.vue.cjs");
|
|
8
8
|
const IconPrice = require("../../../icons/entities/IconPrice.vue.cjs");
|
|
9
9
|
const IconShopcart = require("../../../icons/entities/IconShopcart.vue.cjs");
|