@ozdao/martyrs 0.2.445 → 0.2.447

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.
Files changed (201) hide show
  1. package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
  2. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  3. package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
  4. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
  5. package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
  6. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
  7. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
  8. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
  9. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  10. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  11. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  12. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  13. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  14. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  15. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  16. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  17. package/dist/martyrs/src/components/Popup/{Popup.vue.cjs → Popup.vue2.cjs} +2 -2
  18. package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +1 -0
  19. package/dist/martyrs/src/components/Popup/{Popup.vue.js → Popup.vue2.js} +2 -2
  20. package/dist/martyrs/src/components/Popup/{Popup.vue.cjs.map → Popup.vue2.js.map} +1 -1
  21. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.cjs → SelectMulti.vue.cjs} +2 -2
  22. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js.map → SelectMulti.vue.cjs.map} +1 -1
  23. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue2.js → SelectMulti.vue.js} +2 -2
  24. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +1 -0
  25. package/dist/martyrs/src/components/Tab/{Tab.vue2.cjs → Tab.vue.cjs} +2 -2
  26. package/dist/martyrs/src/components/Tab/{Tab.vue2.js.map → Tab.vue.cjs.map} +1 -1
  27. package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
  28. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
  29. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.cjs → Tooltip.vue.cjs} +2 -2
  30. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js.map → Tooltip.vue.cjs.map} +1 -1
  31. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
  32. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
  33. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  34. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  38. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  39. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  40. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  41. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  51. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  53. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  55. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
  56. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  57. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  59. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +1 -1
  61. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  63. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  64. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  65. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  71. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  73. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +1 -1
  75. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  77. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  78. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  79. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs.map +1 -1
  80. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js.map +1 -1
  81. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  82. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  83. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  85. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  87. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  89. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  91. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +2 -2
  92. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  93. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +2 -2
  94. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  95. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
  97. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +34 -8
  98. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +1 -1
  99. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +34 -8
  100. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +28 -19
  102. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  103. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +29 -20
  104. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  105. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +32 -21
  106. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  107. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +34 -23
  108. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +3 -3
  110. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
  111. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  113. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +12 -4
  114. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  115. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +25 -17
  116. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  117. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  119. package/dist/martyrs/src/modules/orders/store/orders.cjs +11 -0
  120. package/dist/martyrs/src/modules/orders/store/orders.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/orders/store/orders.js +11 -0
  122. package/dist/martyrs/src/modules/orders/store/orders.js.map +1 -1
  123. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  125. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  126. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  127. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +4 -4
  128. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +4 -4
  129. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
  130. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
  131. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +2 -2
  132. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
  133. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -3
  134. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  135. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  137. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
  138. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
  139. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  141. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  143. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  145. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  147. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  149. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  151. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  153. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  155. package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.cjs +2 -2
  156. package/dist/martyrs/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  157. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  159. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +6 -6
  160. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  161. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +6 -6
  162. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  164. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  165. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  167. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  169. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +1 -1
  171. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  173. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
  174. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
  175. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  176. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  177. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  179. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  180. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  181. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  182. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  183. package/dist/style.css +3 -3
  184. package/package.json +1 -1
  185. package/src/modules/globals/views/components/blocks/BlockFilter.vue +1 -1
  186. package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -2
  187. package/src/modules/orders/components/elements/PriceTotal.vue +28 -2
  188. package/src/modules/orders/components/pages/OrderBackoffice.vue +14 -2
  189. package/src/modules/orders/components/pages/OrderCreate.vue +39 -24
  190. package/src/modules/orders/components/partials/ShopCart.vue +12 -5
  191. package/src/modules/orders/store/orders.js +14 -0
  192. package/src/modules/products/components/pages/Product.vue +6 -5
  193. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
  194. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
  195. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
  196. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  197. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  198. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +0 -1
  199. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.cjs.map +0 -1
  200. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +0 -1
  201. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +0 -1
@@ -7,8 +7,8 @@ import { state, actions } from "../../store/products.js";
7
7
  import "../../store/categories.js";
8
8
  import { state as state$2, actions as actions$1 } from "../../../orders/store/shopcart.js";
9
9
  import _sfc_main$6 from "../../../../components/Button/Button.vue.js";
10
- /* empty css */
11
- import _sfc_main$3 from "../../../../components/Tab/Tab.vue2.js";
10
+ /* empty css */
11
+ import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
12
12
  import _sfc_main$5 from "../../../globals/views/components/blocks/PopupDateSelector.vue.js";
13
13
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
14
14
  import _sfc_main$4 from "../../../icons/actions/IconShopcartAdd.vue.js";
@@ -160,10 +160,10 @@ const _sfc_main = {
160
160
  createVNode(_sfc_main$5, {
161
161
  product: product.value,
162
162
  isOpen: isPopupOpen.value,
163
- showFees: (_a = state$1.options) == null ? void 0 : _a.showFees,
164
- feesRate: ((_b = state$1.options) == null ? void 0 : _b.feesRate) || 0.15,
165
- showVat: (_c = state$1.options) == null ? void 0 : _c.showVat,
166
- vatRate: ((_d = state$1.options) == null ? void 0 : _d.vatRate) || 0,
163
+ showFees: (_a = state$1.options) == null ? void 0 : _a.orders.showFees,
164
+ feesRate: ((_b = state$1.options) == null ? void 0 : _b.orders.feesRate) || 0.15,
165
+ showVat: (_c = state$1.options) == null ? void 0 : _c.orders.showVat,
166
+ vatRate: ((_d = state$1.options) == null ? void 0 : _d.orders.vatRate) || 0,
167
167
  onConfirm: (selectedDates) => addToCart(product.value, selectedDates),
168
168
  onClose: closePopup
169
169
  }, null, 8, ["product", "isOpen", "showFees", "feesRate", "showVat", "vatRate", "onConfirm"])
@@ -1 +1 @@
1
- {"version":3,"file":"Product.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Product.vue"],"sourcesContent":["<template>\n <div v-if=\"products.state.current\" class=\"h-100 w-100 mobile:pd-thin pd-big bg-white\">\n <div class=\"cols-2-1_2 w-100 gap-medium\">\n\n <ImagesThumbnails\n :images=\"images\"\n :product=\"product\"\n />\n\n <div class=\"pos-relative w-100 h-100 flex-column flex-h-center flex\">\n <IconEdit\n v-if=\"accesses && hasAccess(route.params._id, 'products', 'edit', accesses)\"\n @click=\"$router.push({ name: 'ProductEdit', params: { _id: product.owner.target, product: product._id } })\"\n class=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n />\n <h2 class=\"w-100 h1-product mn-b-small\">{{ product.name }}</h2>\n <Price :product=\"product\" size=\"big\" class=\"flex gap-micro flex-center pd-small br-solid br-1px br-black-transp-10 w-max mn-b-medium\" />\n\n <div v-if=\"product.description || product.specification\" class=\"h-min-5r o-hidden radius-small bg-light mn-b-medium pos-relative\">\n <Tab\n v-model:selected=\"tabProduct\"\n :tabs=\"[\n {name: 'Description', value: 'description'},\n {name: 'Specifications', value: 'specifications'}\n ]\"\n tabClass=\"pd-thin bg-white radius-thin p-small uppercase t-medium\"\n class=\"gap-micro bg-light pos-relative z-index-2 pd-thin br-solid br-b br-black-transp-10\"\n />\n <transition name=\"slide-fade\">\n <div v-if=\"tabProduct === 'description'\" class=\"pd-medium\">\n <p v-if=\"product.description && !product.localization < 1 && !recommendation\" class=\"w-100 t-transp\">\n {{ product.description }}\n </p>\n <p v-if=\"product.localization && product.localization.length > 1 && !recommendation\" class=\"w-100 t-transp\">\n {{ t('description') }}\n </p>\n </div>\n <div v-else class=\"cols-2 pd-medium w-100 gap-small\">\n <div\n v-if=\"product.information.length > 0\"\n v-for=\"information in product.information\"\n class=\"w-100 pd-small radius-small bg-white product-information\"\n >\n <p class=\"t-demi\">{{ information.name }}</p>\n <p>{{ information.value }}</p>\n </div>\n </div>\n </transition>\n </div>\n\n <div class=\"w-max-33r\">\n <div class=\"w-max-33r\">\n\t\t <div v-if=\"product.listing === 'rent'\">\n\t\t <button @click=\"openPopup\" class=\"cursor-pointer pd-small radius-big w-max mobile:w-100 bg-main button\">\n\t\t <div class=\"gap-thin flex flex-center flex-nowrap\">\n\t\t <IconShopcartAdd class=\"i-semi\" />\n\t\t <span>{{ t('addtoorder') }}</span>\n\t\t </div>\n\t\t </button>\n\t\t <PopupDateSelector\n\t\t :product=\"product\"\n\t\t :isOpen=\"isPopupOpen\"\n\t\t :showFees=\"globals.state.options?.showFees\"\n :feesRate=\"globals.state.options?.feesRate || 0.15\"\n :showVat=\"globals.state.options?.showVat\"\n :vatRate=\"globals.state.options?.vatRate || 0\"\n\t\t :onConfirm=\"selectedDates => addToCart(product, selectedDates)\"\n\t\t @close=\"closePopup\"\n\t\t />\n\t\t </div>\n\t <div v-else>\n\t <Button\n\t v-if=\"product.available > 0\"\n\t @click=\"addToCart(product, null)\"\n\t class=\"h-3r w-100 bg-main button\"\n\t >\n\t <div class=\"gap-thin flex flex-center flex-nowrap\">\n\t <IconShopcartAdd class=\"i-semi\" />\n\t <span>{{ t('addtoorder') }}</span>\n\t </div>\n\t </Button>\n\t <div\n\t v-else\n\t class=\"flex-center flex uppercase radius-big t-black w-max pd-small t-medium bg-grey h-3r w-100 mn-r-smallbutton\"\n\t >\n\t Out of Stock\n\t </div>\n\t </div>\n\t </div>\n </div>\n </div>\n </div>\n\n <div class=\"h-max mn-t-big pos-relative\">\n <h3 class=\"pd-b-small\">Most Popular</h3>\n <PopularProducts class=\"mn-r-big-negative mn-l-big-negative\"/>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed, ref, onMounted } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth'\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals'\nimport * as products from '@martyrs/src/modules/products/store/products'\nimport * as categories from '@martyrs/src/modules/products/store/categories'\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart'\n\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Calendar from '@martyrs/src/components/DatePicker/Calendar.vue'\nimport PopupDateSelector from '@martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue'\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue'\nimport ImagesThumbnails from '@martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue'\nimport Price from '@martyrs/src/modules/products/components/elements/Price.vue'\nimport PopularProducts from '@martyrs/src/modules/products/components/sections/PopularProducts.vue'\n\nconst route = useRoute()\nconst router = useRouter()\n\nconst product = computed(() => products.state.current)\nconst images = computed(() => products.state.current.images)\n\nconst tabProduct = ref('description')\n\nconst text = {\n en: { addtoorder: 'Add to Cart', fastorder: 'Fast Order' },\n ru: { addtoorder: 'Добавить в корзину', fastorder: 'Быстрый заказ' }\n}\n\nconst { t } = useI18n({ messages: text })\n\nconst isPopupOpen = ref(false)\n\nfunction openPopup() {\n isPopupOpen.value = true\n}\n\nfunction closePopup() {\n isPopupOpen.value = false\n}\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n \nconst pageProduct = ref(null)\n products.state.current = null\n// products.mutations.resetProduct()\nonMounted(async () => {\n\n emits('page-loading');\n await products.actions.read({ _id: route.params.product })\n emits('page-loaded');\n\n\n // route.meta.title.en = product.value.name\n // route.meta.title.ru = roduct.value.name\n\n})\n\n// onBeforeMounted\n\nfunction validateToCard(product) {\n return !(product.available > 0)\n}\n\nasync function addToCart(product, selectedDates = null) {\n try {\n if (shopcart.state.organization !== product.owner.target) {\n shopcart.state.organization = product.owner.target\n shopcart.state.positions = []\n }\n await shopcart.actions.addProductToCart(product, product.owner.target, selectedDates)\n return true\n } catch (error) {\n console.error('Ошибка при добавлении товара в корзину:', error)\n throw error\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["products.state","products.actions","product","shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyHA,UAAM,QAAQ,SAAQ;AACP,cAAS;AAExB,UAAM,UAAU,SAAS,MAAMA,MAAe,OAAO;AACrD,UAAM,SAAS,SAAS,MAAMA,MAAe,QAAQ,MAAM;AAE3D,UAAM,aAAa,IAAI,aAAa;AAEpC,UAAM,OAAO;AAAA,MACX,IAAI,EAAE,YAAY,eAAe,WAAW,aAAc;AAAA,MAC1D,IAAI,EAAE,YAAY,sBAAsB,WAAW,gBAAe;AAAA,IACpE;AAEA,UAAM,EAAE,EAAC,IAAK,QAAQ,EAAE,UAAU,KAAM,CAAA;AAExC,UAAM,cAAc,IAAI,KAAK;AAE7B,aAAS,YAAY;AACnB,kBAAY,QAAQ;AAAA,IACtB;AAEA,aAAS,aAAa;AACpB,kBAAY,QAAQ;AAAA,IACtB;AAEA,UAAM,QAAQ;AAEM,QAAI,IAAI;AAC3BA,UAAe,UAAU;AAE1B,cAAU,YAAY;AAEnB,YAAM,cAAc;AACrB,YAAMC,QAAiB,KAAK,EAAE,KAAK,MAAM,OAAO,QAAS,CAAA;AACzD,YAAM,aAAa;AAAA,IAMrB,CAAC;AAQD,mBAAe,UAAUC,UAAS,gBAAgB,MAAM;AACtD,UAAI;AACF,YAAIC,QAAe,iBAAiBD,SAAQ,MAAM,QAAQ;AACxDC,kBAAe,eAAeD,SAAQ,MAAM;AAC5CC,kBAAe,YAAY,CAAA;AAAA,QACjC;AACI,cAAMC,UAAiB,iBAAiBF,UAASA,SAAQ,MAAM,QAAQ,aAAa;AACpF,eAAO;AAAA,MACR,SAAQ,OAAO;AACd,gBAAQ,MAAM,2CAA2C,KAAK;AAC9D,cAAM;AAAA,MACV;AAAA,IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Product.vue.js","sources":["../../../../../../../src/modules/products/components/pages/Product.vue"],"sourcesContent":["<template>\n <div v-if=\"products.state.current\" class=\"h-100 w-100 mobile:pd-thin pd-big bg-white\">\n <div class=\"cols-2-1_2 w-100 gap-medium\">\n\n <ImagesThumbnails\n :images=\"images\"\n :product=\"product\"\n />\n\n <div class=\"pos-relative w-100 h-100 flex-column flex-h-center flex\">\n <IconEdit\n v-if=\"accesses && hasAccess(route.params._id, 'products', 'edit', accesses)\"\n @click=\"$router.push({ name: 'ProductEdit', params: { _id: product.owner.target, product: product._id } })\"\n class=\"pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n />\n <h2 class=\"w-100 h1-product mn-b-small\">{{ product.name }}</h2>\n <Price :product=\"product\" size=\"big\" class=\"flex gap-micro flex-center pd-small br-solid br-1px br-black-transp-10 w-max mn-b-medium\" />\n\n <div v-if=\"product.description || product.specification\" class=\"h-min-5r o-hidden radius-small bg-light mn-b-medium pos-relative\">\n <Tab\n v-model:selected=\"tabProduct\"\n :tabs=\"[\n {name: 'Description', value: 'description'},\n {name: 'Specifications', value: 'specifications'}\n ]\"\n tabClass=\"pd-thin bg-white radius-thin p-small uppercase t-medium\"\n class=\"gap-micro bg-light pos-relative z-index-2 pd-thin br-solid br-b br-black-transp-10\"\n />\n <transition name=\"slide-fade\">\n <div v-if=\"tabProduct === 'description'\" class=\"pd-medium\">\n <p v-if=\"product.description && !product.localization < 1 && !recommendation\" class=\"w-100 t-transp\">\n {{ product.description }}\n </p>\n <p v-if=\"product.localization && product.localization.length > 1 && !recommendation\" class=\"w-100 t-transp\">\n {{ t('description') }}\n </p>\n </div>\n <div v-else class=\"cols-2 pd-medium w-100 gap-small\">\n <div\n v-if=\"product.information.length > 0\"\n v-for=\"information in product.information\"\n class=\"w-100 pd-small radius-small bg-white product-information\"\n >\n <p class=\"t-demi\">{{ information.name }}</p>\n <p>{{ information.value }}</p>\n </div>\n </div>\n </transition>\n </div>\n\n <div class=\"w-max-33r\">\n <div class=\"w-max-33r\">\n\t\t <div v-if=\"product.listing === 'rent'\">\n\t\t <button @click=\"openPopup\" class=\"cursor-pointer pd-small radius-big w-max mobile:w-100 bg-main button\">\n\t\t <div class=\"gap-thin flex flex-center flex-nowrap\">\n\t\t <IconShopcartAdd class=\"i-semi\" />\n\t\t <span>{{ t('addtoorder') }}</span>\n\t\t </div>\n\t\t </button>\n\t\t <PopupDateSelector\n\t\t :product=\"product\"\n\t\t :isOpen=\"isPopupOpen\"\n\t\t :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0.15\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n\t\t :onConfirm=\"selectedDates => addToCart(product, selectedDates)\"\n\t\t @close=\"closePopup\"\n\t\t />\n\t\t </div>\n\t <div v-else>\n\t <Button\n\t v-if=\"product.available > 0\"\n\t @click=\"addToCart(product, null)\"\n\t class=\"h-3r w-100 bg-main button\"\n\t >\n\t <div class=\"gap-thin flex flex-center flex-nowrap\">\n\t <IconShopcartAdd class=\"i-semi\" />\n\t <span>{{ t('addtoorder') }}</span>\n\t </div>\n\t </Button>\n\t <div\n\t v-else\n\t class=\"flex-center flex uppercase radius-big t-black w-max pd-small t-medium bg-grey h-3r w-100 mn-r-smallbutton\"\n\t >\n\t Out of Stock\n\t </div>\n\t </div>\n\t </div>\n </div>\n </div>\n </div>\n\n <div class=\"h-max mn-t-big pos-relative\">\n <h3 class=\"pd-b-small\">Most Popular</h3>\n <PopularProducts class=\"mn-r-big-negative mn-l-big-negative\"/>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { computed, ref, onMounted } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth'\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals'\nimport * as products from '@martyrs/src/modules/products/store/products'\nimport * as categories from '@martyrs/src/modules/products/store/categories'\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart'\n\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Calendar from '@martyrs/src/components/DatePicker/Calendar.vue'\nimport PopupDateSelector from '@martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue'\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconShopcartAdd from '@martyrs/src/modules/icons/actions/IconShopcartAdd.vue'\nimport ImagesThumbnails from '@martyrs/src/modules/products/components/blocks/ImagesThumbnails.vue'\nimport Price from '@martyrs/src/modules/products/components/elements/Price.vue'\nimport PopularProducts from '@martyrs/src/modules/products/components/sections/PopularProducts.vue'\n\nconst route = useRoute()\nconst router = useRouter()\n\nconst product = computed(() => products.state.current)\nconst images = computed(() => products.state.current.images)\n\nconst tabProduct = ref('description')\n\nconst text = {\n en: { addtoorder: 'Add to Cart', fastorder: 'Fast Order' },\n ru: { addtoorder: 'Добавить в корзину', fastorder: 'Быстрый заказ' }\n}\n\nconst { t } = useI18n({ messages: text })\n\nconst isPopupOpen = ref(false)\n\nfunction openPopup() {\n isPopupOpen.value = true\n}\n\nfunction closePopup() {\n isPopupOpen.value = false\n}\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n \nconst pageProduct = ref(null)\n products.state.current = null\n// products.mutations.resetProduct()\nonMounted(async () => {\n\n emits('page-loading');\n await products.actions.read({ _id: route.params.product })\n emits('page-loaded');\n\n\n // route.meta.title.en = product.value.name\n // route.meta.title.ru = roduct.value.name\n\n})\n\n// onBeforeMounted\n\nfunction validateToCard(product) {\n return !(product.available > 0)\n}\n\nasync function addToCart(product, selectedDates = null) {\n try {\n if (shopcart.state.organization !== product.owner.target) {\n shopcart.state.organization = product.owner.target\n shopcart.state.positions = []\n }\n await shopcart.actions.addProductToCart(product, product.owner.target, selectedDates)\n return true\n } catch (error) {\n console.error('Ошибка при добавлении товара в корзину:', error)\n throw error\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["products.state","products.actions","product","shopcart.state","shopcart.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0HA,UAAM,QAAQ,SAAQ;AACP,cAAS;AAExB,UAAM,UAAU,SAAS,MAAMA,MAAe,OAAO;AACrD,UAAM,SAAS,SAAS,MAAMA,MAAe,QAAQ,MAAM;AAE3D,UAAM,aAAa,IAAI,aAAa;AAEpC,UAAM,OAAO;AAAA,MACX,IAAI,EAAE,YAAY,eAAe,WAAW,aAAc;AAAA,MAC1D,IAAI,EAAE,YAAY,sBAAsB,WAAW,gBAAe;AAAA,IACpE;AAEA,UAAM,EAAE,EAAC,IAAK,QAAQ,EAAE,UAAU,KAAM,CAAA;AAExC,UAAM,cAAc,IAAI,KAAK;AAE7B,aAAS,YAAY;AACnB,kBAAY,QAAQ;AAAA,IACtB;AAEA,aAAS,aAAa;AACpB,kBAAY,QAAQ;AAAA,IACtB;AAEA,UAAM,QAAQ;AAEM,QAAI,IAAI;AAC3BA,UAAe,UAAU;AAE1B,cAAU,YAAY;AAEpB,YAAM,cAAc;AACpB,YAAMC,QAAiB,KAAK,EAAE,KAAK,MAAM,OAAO,QAAS,CAAA;AACzD,YAAM,aAAa;AAAA,IAMrB,CAAC;AAQD,mBAAe,UAAUC,UAAS,gBAAgB,MAAM;AACtD,UAAI;AACF,YAAIC,QAAe,iBAAiBD,SAAQ,MAAM,QAAQ;AACxDC,kBAAe,eAAeD,SAAQ,MAAM;AAC5CC,kBAAe,YAAY,CAAA;AAAA,QACjC;AACI,cAAMC,UAAiB,iBAAiBF,UAASA,SAAQ,MAAM,QAAQ,aAAa;AACpF,eAAO;AAAA,MACR,SAAQ,OAAO;AACd,gBAAQ,MAAM,2CAA2C,KAAK;AAC9D,cAAM;AAAA,MACV;AAAA,IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,11 +5,11 @@ const vueRouter = require("vue-router");
5
5
  require("vue-i18n");
6
6
  ;/* empty css */
7
7
  const Block = require("../../../../components/Block/Block.vue.cjs");
8
- ;/* empty css */
8
+ ;/* empty css */
9
9
  const Field = require("../../../../components/Field/Field.vue.cjs");
10
10
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
11
11
  const Button = require("../../../../components/Button/Button.vue.cjs");
12
- const Popup = require("../../../../components/Popup/Popup.vue.cjs");
12
+ const Popup = require("../../../../components/Popup/Popup.vue2.cjs");
13
13
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
14
14
  const Tree = require("../../../../components/Tree/Tree.vue.cjs");
15
15
  const EditImages = require("../../../../components/EditImages/EditImages.vue2.cjs");
@@ -3,11 +3,11 @@ import { useRoute, useRouter } from "vue-router";
3
3
  import "vue-i18n";
4
4
  /* empty css */
5
5
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
6
- /* empty css */
6
+ /* empty css */
7
7
  import Field from "../../../../components/Field/Field.vue.js";
8
8
  import _sfc_main$6 from "../../../../components/Checkbox/Checkbox.vue.js";
9
9
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
10
- import _sfc_main$9 from "../../../../components/Popup/Popup.vue.js";
10
+ import _sfc_main$9 from "../../../../components/Popup/Popup.vue2.js";
11
11
  import _sfc_main$a from "../../../../components/Feed/Feed.vue.js";
12
12
  import _sfc_main$5 from "../../../../components/Tree/Tree.vue.js";
13
13
  import _sfc_main$3 from "../../../../components/EditImages/EditImages.vue2.js";
@@ -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
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
7
  ;/* empty css */
8
8
  require("vue-i18n");
@@ -1,6 +1,6 @@
1
1
  import { ref, watch, onMounted, onUnmounted, resolveComponent, createElementBlock, openBlock, createCommentVNode, createBlock, createElementVNode, unref, createVNode, renderSlot, withCtx, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$2 from "../../../../components/Tab/Tab.vue2.js";
3
+ import _sfc_main$2 from "../../../../components/Tab/Tab.vue.js";
4
4
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
5
5
  /* empty css */
6
6
  import "vue-i18n";
@@ -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 Button = require("../../../../components/Button/Button.vue.cjs");
5
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
6
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
7
7
  const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
8
8
  const Images360 = require("../blocks/Images360.vue.cjs");
@@ -1,6 +1,6 @@
1
1
  import { computed, ref, createElementBlock, openBlock, createElementVNode, createBlock, createCommentVNode, createVNode, unref, toDisplayString, Transition, withCtx, Fragment, renderList, createTextVNode } from "vue";
2
2
  import _sfc_main$4 from "../../../../components/Button/Button.vue.js";
3
- import _sfc_main$3 from "../../../../components/Tab/Tab.vue2.js";
3
+ import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
4
4
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
5
5
  import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
6
6
  import Images360 from "../blocks/Images360.vue.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 Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
4
+ const Tab = require("../../../../../components/Tab/Tab.vue.cjs");
5
5
  const Select = require("../../../../../components/Select/Select.vue.cjs");
6
6
  const IconChevronRight = require("../../../../icons/navigation/IconChevronRight.vue.cjs");
7
7
  const IconChevronLeft = require("../../../../icons/navigation/IconChevronLeft.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { useCssVars, ref, computed, watch, onMounted, nextTick, createElementBlock, openBlock, createElementVNode, createVNode, withDirectives, Fragment, renderList, toDisplayString, vModelSelect, createCommentVNode, normalizeClass, normalizeStyle } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
3
  import Select from "../../../../../components/Select/Select.vue.js";
4
4
  import IconChevronRight from "../../../../icons/navigation/IconChevronRight.vue.js";
5
5
  import IconChevronLeft from "../../../../icons/navigation/IconChevronLeft.vue.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 Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
4
+ const Tab = require("../../../../../components/Tab/Tab.vue.cjs");
5
5
  const Feed = require("../../../../../components/Feed/Feed.vue.cjs");
6
6
  ;/* empty css */
7
7
  const GanttChart = require("./GanttChart.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { ref, createElementBlock, openBlock, createElementVNode, createVNode, unref, toDisplayString, withCtx } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
3
  import _sfc_main$2 from "../../../../../components/Feed/Feed.vue.js";
4
4
  /* empty css */
5
5
  import GanttChart from "./GanttChart.vue.js";
@@ -4,8 +4,8 @@ const vue = require("vue");
4
4
  const Block = require("../../../../../components/Block/Block.vue.cjs");
5
5
  const Field = require("../../../../../components/Field/Field.vue.cjs");
6
6
  const Feed = require("../../../../../components/Feed/Feed.vue.cjs");
7
- const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
8
- ;/* empty css */
7
+ const Popup = require("../../../../../components/Popup/Popup.vue2.cjs");
8
+ ;/* empty css */
9
9
  ;/* empty css */
10
10
  const CardOrderItem = require("../../../../orders/components/blocks/CardOrderItem.vue.cjs");
11
11
  const vueRouter = require("vue-router");
@@ -2,8 +2,8 @@ import { ref, computed, onMounted, createElementBlock, openBlock, createElementV
2
2
  import _sfc_main$4 from "../../../../../components/Block/Block.vue.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/Feed/Feed.vue.js";
5
- import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
6
- /* empty css */
5
+ import _sfc_main$1 from "../../../../../components/Popup/Popup.vue2.js";
6
+ /* empty css */
7
7
  /* empty css */
8
8
  import _sfc_main$3 from "../../../../orders/components/blocks/CardOrderItem.vue.js";
9
9
  import { useRoute, useRouter } from "vue-router";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Popup = require("../../../../components/Popup/Popup.vue.cjs");
4
+ const Popup = require("../../../../components/Popup/Popup.vue2.cjs");
5
5
  const Button = require("../../../../components/Button/Button.vue.cjs");
6
6
  const Select = require("../../../../components/Select/Select.vue.cjs");
7
7
  const reports = require("../../store/reports.cjs");
@@ -1,5 +1,5 @@
1
1
  import { reactive, ref, createElementBlock, openBlock, renderSlot, createVNode, withCtx, createElementVNode, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../components/Popup/Popup.vue.js";
2
+ import _sfc_main$1 from "../../../../components/Popup/Popup.vue2.js";
3
3
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
4
4
  import Select from "../../../../components/Select/Select.vue.js";
5
5
  import { actions } from "../../store/reports.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
5
5
  const IconCheckmark = require("../../../icons/navigation/IconCheckmark.vue.cjs");
6
- const Chips = require("../../../../components/Chips/Chips.vue2.cjs");
6
+ const Chips = require("../../../../components/Chips/Chips.vue.cjs");
7
7
  const Map = require("../../../../components/Map/Map.vue.cjs");
8
8
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.cjs");
9
9
  const _hoisted_1 = { class: "pos-relative cols-2-1_3" };
@@ -1,7 +1,7 @@
1
1
  import { createElementBlock, openBlock, createVNode, createElementVNode, createBlock, createCommentVNode, toDisplayString } from "vue";
2
2
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
3
3
  import _sfc_main$2 from "../../../icons/navigation/IconCheckmark.vue.js";
4
- import _sfc_main$3 from "../../../../components/Chips/Chips.vue2.js";
4
+ import _sfc_main$3 from "../../../../components/Chips/Chips.vue.js";
5
5
  import Map from "../../../../components/Map/Map.vue.js";
6
6
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
7
7
  const _hoisted_1 = { class: "pos-relative cols-2-1_3" };
@@ -5,7 +5,7 @@ const vueRouter = require("vue-router");
5
5
  const vueI18n = require("vue-i18n");
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
- ;/* empty css */
8
+ ;/* empty css */
9
9
  const globals = require("../../../globals/views/store/globals.cjs");
10
10
  const categories = require("../../../products/store/categories.cjs");
11
11
  const marketplace = require("../../../marketplace/views/store/marketplace.cjs");
@@ -3,7 +3,7 @@ import { useRoute, useRouter } from "vue-router";
3
3
  import { useI18n } from "vue-i18n";
4
4
  /* empty css */
5
5
  /* empty css */
6
- /* empty css */
6
+ /* empty css */
7
7
  import { state as state$1 } from "../../../globals/views/store/globals.js";
8
8
  import { actions, state as state$2 } from "../../../products/store/categories.js";
9
9
  import { state } from "../../../marketplace/views/store/marketplace.js";
@@ -4,7 +4,7 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Block = require("../../../../components/Block/Block.vue.cjs");
6
6
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
7
- ;/* empty css */
7
+ ;/* empty css */
8
8
  const Field = require("../../../../components/Field/Field.vue.cjs");
9
9
  const Select = require("../../../../components/Select/Select.vue.cjs");
10
10
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
@@ -12,7 +12,7 @@ const Address = require("../../../../components/Address/Address.vue2.cjs");
12
12
  const LocationMarker = require("../../../../components/LocationMarker/LocationMarker.vue2.cjs");
13
13
  const Button = require("../../../../components/Button/Button.vue.cjs");
14
14
  require("vue-i18n");
15
- ;/* empty css */
15
+ ;/* empty css */
16
16
  const spots = require("../../store/spots.cjs");
17
17
  const _hoisted_1 = { class: "for-transition w-100 cols-1 pd-thin gap-thin" };
18
18
  const _hoisted_2 = { class: "mn-r-auto" };
@@ -2,7 +2,7 @@ import { ref, onMounted, createElementBlock, openBlock, createVNode, createEleme
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
4
4
  import _sfc_main$3 from "../../../../components/UploadImage/UploadImage.vue.js";
5
- /* empty css */
5
+ /* empty css */
6
6
  import Field from "../../../../components/Field/Field.vue.js";
7
7
  import Select from "../../../../components/Select/Select.vue.js";
8
8
  import _sfc_main$4 from "../../../../components/Checkbox/Checkbox.vue.js";
@@ -10,7 +10,7 @@ import _sfc_main$5 from "../../../../components/Address/Address.vue2.js";
10
10
  import _sfc_main$6 from "../../../../components/LocationMarker/LocationMarker.vue2.js";
11
11
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
12
12
  import "vue-i18n";
13
- /* empty css */
13
+ /* empty css */
14
14
  import { actions, state } from "../../store/spots.js";
15
15
  const _hoisted_1 = { class: "for-transition w-100 cols-1 pd-thin gap-thin" };
16
16
  const _hoisted_2 = { class: "mn-r-auto" };
package/dist/style.css CHANGED
@@ -2578,10 +2578,10 @@ to {
2578
2578
  }
2579
2579
  .vue-select-header {
2580
2580
  height: 3rem;
2581
- }.blink[data-v-c30b339c] {
2582
- animation: blink-animation-c30b339c 1s ease infinite;
2581
+ }.blink[data-v-529cceb6] {
2582
+ animation: blink-animation-529cceb6 1s ease infinite;
2583
2583
  }
2584
- @keyframes blink-animation-c30b339c {
2584
+ @keyframes blink-animation-529cceb6 {
2585
2585
  0%, 100% {
2586
2586
  opacity: 1;
2587
2587
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/martyrs",
3
- "version": "0.2.445",
3
+ "version": "0.2.447",
4
4
  "description": "Fullstack framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -4,7 +4,7 @@ import { ref } from 'vue';
4
4
  import Checkbox from "@martyrs/src/components/Checkbox/Checkbox.vue";
5
5
  import Spoiler from "@martyrs/src/components/Spoiler/Spoiler.vue"
6
6
 
7
- import IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'
7
+ import IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'
8
8
 
9
9
  const props = defineProps({
10
10
  title: {
@@ -23,11 +23,11 @@
23
23
  <div>
24
24
  <p>
25
25
  <span class="t-second mn-r-micro d-inline-block t-demi">
26
- {{ product.price_currency || returnCurrency() }}{{ (product.listing === 'rent' ? (rentalDays || product.quantity || 0) : (product.quantity || 0)) * product.price }}
26
+ {{ returnCurrency() }}{{ (product.listing === 'rent' ? (rentalDays || product.quantity || 0) : (product.quantity || 0)) * product.price }}
27
27
  </span>
28
28
 
29
29
  <span class="p-small t-transp">
30
- <template v-if="product.quantity">{{product.price_currency || returnCurrency() }}{{product.price}} </template>
30
+ <template v-if="product.quantity">{{returnCurrency() }}{{product.price}} </template>
31
31
  ×
32
32
  <template v-if="product.listing === 'rent' && rentDates.start && rentDates.end">
33
33
  {{ rentalDays }} days
@@ -13,10 +13,16 @@
13
13
  </p>
14
14
 
15
15
  <!-- VAT calculation (conditional) -->
16
- <p v-if="showVat" class="flex flex-nowrap br-black-transp-10 br-solid br-b pd-b-small pd-t-small">
16
+ <p v-if="showVat" class="flex flex-nowrap pd-t-small">
17
17
  <span class="w-100 t-transp">{{ t('vat', { rate: vatRate * 100 }) }}</span>
18
18
  <span class="w-100 t-right">{{currency}}{{vatAmount}}</span>
19
19
  </p>
20
+
21
+ <!-- Delivery fee (conditional) -->
22
+ <p v-if="showDeliveryFee" class="flex flex-nowrap br-black-transp-10 br-solid br-b pd-b-small pd-t-small">
23
+ <span class="w-100 t-transp">{{ t('delivery') }}</span>
24
+ <span class="w-100 t-right">{{currency}}{{deliveryAmount}}</span>
25
+ </p>
20
26
 
21
27
  <!-- Grand total -->
22
28
  <p class="p-big flex flex-nowrap pd-b-small pd-t-small">
@@ -55,6 +61,14 @@ const props = defineProps({
55
61
  vatRate: {
56
62
  type: Number,
57
63
  default: 0
64
+ },
65
+ showDeliveryFee: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ deliveryRate: {
70
+ type: Number,
71
+ default: 0
58
72
  }
59
73
  });
60
74
 
@@ -64,12 +78,14 @@ const text = {
64
78
  subtotal: 'Subtotal',
65
79
  feesRate: 'Platform Fee',
66
80
  vat: 'VAT ({rate}%)',
81
+ delivery: 'Delivery',
67
82
  intotal: 'In Total'
68
83
  },
69
84
  ru: {
70
85
  subtotal: 'Подытог',
71
86
  feesRate: 'Плата за платформу',
72
87
  vat: 'НДС ({rate}%)',
88
+ delivery: 'Доставка',
73
89
  intotal: 'Итого'
74
90
  }
75
91
  }
@@ -89,7 +105,17 @@ const feesRate = computed(() => {
89
105
  return formatPrice(props.totalPrice * props.feesRate);
90
106
  });
91
107
 
108
+ const deliveryAmount = computed(() => {
109
+ if (!props.showDeliveryFee) return 0;
110
+ return formatPrice(props.deliveryRate);
111
+ });
112
+
92
113
  const grandTotal = computed(() => {
93
- return formatPrice(parseFloat(props.totalPrice) + parseFloat(feesRate.value) + parseFloat(vatAmount.value));
114
+ return formatPrice(
115
+ parseFloat(props.totalPrice) +
116
+ parseFloat(feesRate.value) +
117
+ parseFloat(vatAmount.value) +
118
+ parseFloat(deliveryAmount.value)
119
+ );
94
120
  });
95
121
  </script>
@@ -176,7 +176,7 @@
176
176
  {{order.payment.type ? order.payment.type : 'Not specified'}}
177
177
  </p>
178
178
 
179
- <p @click="openPaymentPopup" class="w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right">
179
+ <p @click="route.meta.context !== 'user' && route.meta.context !== 'root' ? openPaymentPopup : console.log('hello')" class="w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right">
180
180
  {{order.payment.status ? order.payment.status : 'Unpaid'}}
181
181
  </p>
182
182
  </div>
@@ -184,7 +184,7 @@
184
184
 
185
185
  </div>
186
186
 
187
- <div v-if="route.meta.context !== 'user'" class="o-y-scroll bg-light pd-thin mn-b-thin pd-thin radius-medium flex-nowrap flex">
187
+ <div v-if="route.meta.context !== 'user' && route.meta.context !== 'root'" class="o-y-scroll bg-light pd-thin mn-b-thin pd-thin radius-medium flex-nowrap flex">
188
188
  <div class="flex-child-default mn-r-small w-max flex-v-center gap-thin flex-nowrap flex pd-thin radius-small bg-light-transp-20">
189
189
  <IconTime class="i-semi t-transp" fill="rgb(var(--black)" />
190
190
  <p class="t-medium mn-r-auto"><span class="p-small t-transp">Estimated Reaction</span><br>{{formatDate(order.deadline, { language: locale })}}</p>
@@ -239,11 +239,14 @@
239
239
 
240
240
  <PriceTotal
241
241
  :totalPrice="cartTotalPrice"
242
+ :deliveryRate="deliveryCost"
242
243
  :currency="returnCurrency()"
243
244
  :showFees="globals.state.options?.orders?.showFees"
244
245
  :feesRate="globals.state.options?.orders?.feesRate || 0"
245
246
  :showVat="globals.state.options?.orders?.showVat"
246
247
  :vatRate="globals.state.options?.orders?.vatRate || 0"
248
+ :showDeliveryFee="globals.state.options?.orders.showDeliveryFee"
249
+
247
250
  />
248
251
  </div>
249
252
 
@@ -345,6 +348,15 @@
345
348
 
346
349
  })
347
350
 
351
+
352
+ const deliveryCost = computed(() => {
353
+ const type = orders.state.current.delivery.type
354
+ const distance = orderOrganization.value[0]?.distance || 0
355
+ const config = globals.state.options?.orders?.delivery_formula || {}
356
+
357
+ return orders.getters.getDeliveryPrice(type, distance, config)
358
+ })
359
+
348
360
  let cartTotalPrice = computed(() => {
349
361
  return Number(order.value?.positions.reduce((total, product) => {
350
362
  // Проверяем тип листинга
@@ -58,16 +58,18 @@
58
58
  />
59
59
  </ul>
60
60
 
61
- <div
61
+ <div
62
62
  class="mn-b-thin"
63
63
  >
64
64
  <PriceTotal
65
65
  :totalPrice="cartTotalPrice"
66
+ :deliveryRate="deliveryCost"
66
67
  :currency="returnCurrency()"
67
- :showFees="globals.state.options?.showFees"
68
- :feesRate="globals.state.options?.feesRate || 0"
69
- :showVat="globals.state.options?.showVat"
70
- :vatRate="globals.state.options?.vatRate || 0"
68
+ :showFees="globals.state.options?.orders.showFees"
69
+ :feesRate="globals.state.options?.orders.feesRate || 0"
70
+ :showVat="globals.state.options?.orders.showVat"
71
+ :vatRate="globals.state.options?.orders.vatRate || 0"
72
+ :showDeliveryFee="globals.state.options?.orders.showDeliveryFee"
71
73
  />
72
74
  </div>
73
75
  <!-- Send order -->
@@ -80,6 +82,7 @@
80
82
  || errorAddress
81
83
  || errorDelivery
82
84
  || errorPayment
85
+ || isLocationLoading
83
86
  "
84
87
  @click="handleCreate()"
85
88
  class="bg-main mn-b-small pd-small radius-big w-100 button"
@@ -134,7 +137,8 @@ import * as orders from '@martyrs/src/modules/orders/store/orders';
134
137
  import * as users from '@martyrs/src/modules/auth/views/store/users';
135
138
  ///////////////////////////////////////////////////////////////////////////////////////////////////
136
139
  // Variables and computed
137
- ///////////////////////////////////////////////////////////////////////////////////////////////////
140
+ //////////////////////////////////////////////////////////////////////////////////////////////////
141
+ const isLocationLoading = ref(false)
138
142
  // Accessing router and store
139
143
  const route = useRoute()
140
144
  const router = useRouter()
@@ -144,21 +148,14 @@ const user = computed(() => users.state.current)
144
148
 
145
149
  const cartTotalPrice = shopcart.getters.cartTotalPrice
146
150
 
147
-
148
151
  const deliveryCost = computed(() => {
149
- if (orders.state.current.delivery.type === 'pickup') return 0;
150
- if (orders.state.current.delivery.type === 'mail') return 350;
151
- if (orders.state.current.delivery.type === 'courier') {
152
- const distance = orderOrganization.value[0]?.distance || 0;
153
- return Math.trunc(100 + 20 * distance - 7.5 * (distance / 10));
154
- }
155
- return 0;
156
- });
152
+ const type = orders.state.current.delivery.type
153
+ const distance = orderOrganization.value[0]?.distance || 0
154
+ const config = globals.state.options?.orders?.delivery_formula || {}
155
+
156
+ return orders.getters.getDeliveryPrice(type, distance, config)
157
+ })
157
158
 
158
- // Computed property for total cost
159
- const totalCost = computed(() => {
160
- return deliveryCost.value + cartTotalPrice.value.value;
161
- });
162
159
  // Organization
163
160
  const orderOrganization = ref({})
164
161
 
@@ -168,7 +165,7 @@ if (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user
168
165
  }
169
166
 
170
167
  onMounted(async()=> {
171
-
168
+ isLocationLoading.value = true
172
169
 
173
170
  if (auth.state.user._id) {
174
171
  let data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });
@@ -184,8 +181,30 @@ onMounted(async()=> {
184
181
  location: globals.state.position?.location,
185
182
  lookup: ['spots']
186
183
  })
184
+
185
+ isLocationLoading.value = false
187
186
  })
188
187
 
188
+
189
+ watch(
190
+ () => orders.state.current.delivery,
191
+ async (newVal) => {
192
+ if (newVal?.location) {
193
+ isLocationLoading.value = true
194
+
195
+ orderOrganization.value = await organizations.actions.read({
196
+ _id: shopcart.state.organization,
197
+ location: newVal.location,
198
+ lookup: ['spots']
199
+ })
200
+
201
+ isLocationLoading.value = false
202
+ }
203
+ },
204
+ { deep: true }
205
+ )
206
+
207
+
189
208
  /////////////////////////////
190
209
  // Store Verification
191
210
  /////////////////////////////
@@ -247,10 +266,6 @@ async function handleCreate() {
247
266
 
248
267
  orders.state.current.positions = shopcart.state.positions
249
268
 
250
- watch(() => shopcart.state.positions, (newVal) => {
251
- if (newVal) orders.state.current.positions === newVal
252
- })
253
-
254
269
  const referralCode = localStorage.getItem('referalCode');
255
270
 
256
271
  if (referralCode) {