@ozdao/martyrs 0.2.428 → 0.2.430

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 (165) hide show
  1. package/dist/community.server.js +1 -1
  2. package/dist/community.server.mjs +1 -1
  3. package/dist/events.server.js +1 -1
  4. package/dist/events.server.mjs +1 -1
  5. package/dist/gallery.server.js +1 -1
  6. package/dist/gallery.server.mjs +1 -1
  7. package/dist/{globals.logger-Deb_8o7C.mjs → globals.cache-BT6q3vOf.mjs} +0 -33
  8. package/dist/{globals.logger-BuG0pN80.js → globals.cache-CwWvNGFQ.js} +0 -33
  9. package/dist/globals.logger-BdjooLaD.js +34 -0
  10. package/dist/globals.logger-DusiFsxN.mjs +35 -0
  11. package/dist/martyrs/src/modules/chats/components/pages/ChatPage.vue.cjs +13 -3
  12. package/dist/martyrs/src/modules/chats/components/pages/ChatPage.vue.cjs.map +1 -1
  13. package/dist/martyrs/src/modules/chats/components/pages/ChatPage.vue.js +14 -4
  14. package/dist/martyrs/src/modules/chats/components/pages/ChatPage.vue.js.map +1 -1
  15. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs +24 -6
  16. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
  17. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +25 -7
  18. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  19. package/dist/martyrs/src/modules/chats/store/chat.store.cjs +7 -8
  20. package/dist/martyrs/src/modules/chats/store/chat.store.cjs.map +1 -1
  21. package/dist/martyrs/src/modules/chats/store/chat.store.js +7 -8
  22. package/dist/martyrs/src/modules/chats/store/chat.store.js.map +1 -1
  23. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs +6 -8
  24. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs.map +1 -1
  25. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js +6 -8
  26. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js.map +1 -1
  27. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +11 -8
  28. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  29. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +11 -8
  30. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  31. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +5 -5
  32. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  33. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +5 -5
  34. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  35. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +17 -9
  36. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  37. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +17 -9
  38. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  39. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs +16 -4
  40. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
  41. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js +16 -4
  42. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
  43. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs.map +1 -1
  45. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  46. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  47. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +7 -1
  48. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
  49. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +7 -1
  50. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  51. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +112 -0
  52. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -0
  53. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +112 -0
  54. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -0
  55. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs +2 -2
  56. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +2 -2
  58. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  59. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +18 -12
  60. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
  61. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +18 -12
  62. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  63. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +200 -92
  64. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +213 -105
  66. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +9 -12
  68. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  69. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +10 -13
  70. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  71. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +14 -6
  72. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +23 -15
  74. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  75. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +16 -99
  76. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs.map +1 -1
  77. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +16 -99
  78. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
  79. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +2 -2
  80. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  81. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +2 -2
  82. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  83. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +99 -99
  84. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
  85. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +102 -102
  86. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
  87. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +14 -8
  88. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +15 -9
  90. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/orders/store/orders.cjs +51 -0
  92. package/dist/martyrs/src/modules/orders/store/orders.cjs.map +1 -1
  93. package/dist/martyrs/src/modules/orders/store/orders.js +51 -0
  94. package/dist/martyrs/src/modules/orders/store/orders.js.map +1 -1
  95. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +59 -56
  96. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +63 -60
  98. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/organizations/store/organizations.cjs +0 -2
  100. package/dist/martyrs/src/modules/organizations/store/organizations.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/organizations/store/organizations.js +1 -3
  102. package/dist/martyrs/src/modules/organizations/store/organizations.js.map +1 -1
  103. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +4 -3
  104. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  105. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -4
  106. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  107. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +15 -12
  108. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +15 -12
  110. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/spots/store/spots.cjs +2 -2
  112. package/dist/martyrs/src/modules/spots/store/spots.cjs.map +1 -1
  113. package/dist/martyrs/src/modules/spots/store/spots.js +2 -2
  114. package/dist/martyrs/src/modules/spots/store/spots.js.map +1 -1
  115. package/dist/martyrs.css +1 -1
  116. package/dist/orders.server.js +11 -4
  117. package/dist/orders.server.mjs +10 -3
  118. package/dist/organizations.server.js +33 -30
  119. package/dist/organizations.server.mjs +33 -30
  120. package/dist/products.server.js +1 -1
  121. package/dist/products.server.mjs +1 -1
  122. package/dist/{queryProcessor-CCmHM0yi.mjs → queryProcessor-CWnMIe2U.mjs} +4 -1
  123. package/dist/{queryProcessor-CwQakZkT.js → queryProcessor-D6GuKfTV.js} +4 -1
  124. package/dist/rents.server.js +4 -3
  125. package/dist/rents.server.mjs +3 -2
  126. package/dist/spots.server.js +41 -12
  127. package/dist/spots.server.mjs +41 -12
  128. package/dist/style.css +57 -65
  129. package/dist/wallet.server.js +1 -1
  130. package/dist/wallet.server.mjs +1 -1
  131. package/package.json +1 -1
  132. package/src/modules/chats/components/pages/ChatPage.vue +18 -23
  133. package/src/modules/chats/components/sections/ChatWindow.vue +55 -38
  134. package/src/modules/chats/store/chat.store.js +20 -21
  135. package/src/modules/globals/controllers/utils/queryProcessor.js +2 -1
  136. package/src/modules/globals/views/classes/globals.websocket.js +10 -11
  137. package/src/modules/globals/views/components/layouts/Client.vue +21 -15
  138. package/src/modules/globals/views/components/partials/Header.vue +3 -4
  139. package/src/modules/globals/views/components/partials/Navigation.vue +17 -19
  140. package/src/modules/globals/views/components/partials/Sidebar.vue +20 -9
  141. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +1 -1
  142. package/src/modules/notifications/components/elements/NotificationBadge.vue +7 -0
  143. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +106 -0
  144. package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -2
  145. package/src/modules/orders/components/blocks/CardOrderUser.vue +16 -9
  146. package/src/modules/orders/components/pages/OrderBackoffice.vue +146 -77
  147. package/src/modules/orders/components/pages/OrderCreate.vue +7 -12
  148. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +15 -3
  149. package/src/modules/orders/components/pages/Orders.vue +10 -93
  150. package/src/modules/orders/components/partials/ShopCart.vue +2 -2
  151. package/src/modules/orders/components/sections/FormDelivery.vue +35 -43
  152. package/src/modules/orders/components/sections/FormPayment.vue +17 -7
  153. package/src/modules/orders/controllers/orders.controller.js +12 -1
  154. package/src/modules/orders/store/orders.js +65 -0
  155. package/src/modules/organizations/components/pages/Organization.vue +48 -47
  156. package/src/modules/organizations/controllers/organizations.controller.js +57 -47
  157. package/src/modules/organizations/store/organizations.js +6 -6
  158. package/src/modules/products/components/pages/Products.vue +4 -3
  159. package/src/modules/spots/components/blocks/CardSpot.vue +8 -7
  160. package/src/modules/spots/controllers/spots.controller.js +47 -14
  161. package/src/modules/spots/routes/spots.routes.js +2 -3
  162. package/src/modules/spots/store/spots.js +4 -4
  163. package/src/styles/base/shadow_transitions_hover_refactor.scss +1 -0
  164. package/src/modules/landing/components/sections/HowToBuyWDR.vue +0 -130
  165. package/src/modules/landing/components/sections/WhatIsWDRSection.vue +0 -116
@@ -7,41 +7,20 @@ const Block = require("../../../../components/Block/Block.vue.cjs");
7
7
  const orders = require("../../store/orders.cjs");
8
8
  const auth = require("../../../auth/views/store/auth.cjs");
9
9
  const CardOrderUser = require("../blocks/CardOrderUser.vue.cjs");
10
- const CardHeader = require("../../../globals/views/components/blocks/CardHeader.vue.cjs");
10
+ const CardOrderBackoffice = require("../blocks/CardOrderBackoffice.vue.cjs");
11
11
  const SectionPageTitle = require("../../../globals/views/components/sections/SectionPageTitle.vue.cjs");
12
12
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
13
- const IconTime = require("../../../icons/entities/IconTime.vue.cjs");
14
13
  const _hoisted_1 = { class: "mobile:pd-thin pd-medium" };
15
14
  const _hoisted_2 = { class: "gap-micro flex-nowrap flex" };
16
15
  const _hoisted_3 = { class: "w-100 bg-white radius-small pd-small" };
17
16
  const _hoisted_4 = { class: "w-100 bg-white radius-small pd-small" };
18
17
  const _hoisted_5 = { class: "w-100 bg-white radius-small pd-small" };
19
- const _hoisted_6 = { class: "mn-b-small pd-small bg-white radius-small flex-nowrap flex" };
20
- const _hoisted_7 = { class: "w-100" };
21
- const _hoisted_8 = { class: "t-truncate" };
22
- const _hoisted_9 = { class: "w-100 t-right" };
23
- const _hoisted_10 = { class: "mn-b-thin" };
24
- const _hoisted_11 = { class: "cols-1 mn-b-small gap-thin pd-small bg-white radius-small" };
25
- const _hoisted_12 = { class: "mn-r-auto" };
26
- const _hoisted_13 = { class: "t-right" };
27
- const _hoisted_14 = { class: "t-transp" };
28
- const _hoisted_15 = { key: 0 };
29
- const _hoisted_16 = { class: "mn-r-auto" };
30
- const _hoisted_17 = { class: "t-right" };
31
- const _hoisted_18 = { class: "t-transp" };
32
- const _hoisted_19 = { class: "pd-small bg-white radius-small gap-micro flex-v-center flex-nowrap flex" };
33
- const _hoisted_20 = { class: "t-medium mn-r-auto" };
34
- const _hoisted_21 = { class: "flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin bg-main" };
35
- const _hoisted_22 = {
36
- key: 0,
37
- class: "pos-relative radius-small bg-fifth-transp-10 mn-t-thin pd-small"
38
- };
39
18
  const _sfc_main = {
40
19
  __name: "Orders",
41
20
  setup(__props) {
42
21
  const route = vueRouter.useRoute();
43
22
  vueRouter.useRouter();
44
- const spoiler = vue.ref(false);
23
+ vue.ref(false);
45
24
  const tab = vue.ref("all");
46
25
  const totalPrice = vue.computed(() => {
47
26
  return calculateTotalSum(orders.state.all);
@@ -71,8 +50,9 @@ const _sfc_main = {
71
50
  key: 0,
72
51
  title: "Orders",
73
52
  actions: [
74
- ...vue.unref(route).meta.context !== "user" ? [{ to: { name: "BackofficeAdminCreateOrder" }, label: "Create Order" }] : []
75
- ],
53
+ vue.unref(route).meta.context === "backoffice" && { to: { name: "BackofficeAdminCreateOrder" }, label: "Create Order" },
54
+ vue.unref(route).meta.context === "organization" && { to: { name: "OrganizationAdminCreateOrder", params: { _id: vue.unref(route).params._id } }, label: "Create Order" }
55
+ ].filter(Boolean),
76
56
  class: "mn-b-small"
77
57
  }, null, 8, ["actions"])) : vue.createCommentVNode("", true),
78
58
  vue.unref(route).meta.context !== "user" ? (vue.openBlock(), vue.createBlock(Block.default, {
@@ -83,15 +63,15 @@ const _sfc_main = {
83
63
  default: vue.withCtx(() => [
84
64
  vue.createElementVNode("div", _hoisted_2, [
85
65
  vue.createElementVNode("div", _hoisted_3, [
86
- _cache[1] || (_cache[1] = vue.createElementVNode("p", { class: "mn-b-thin" }, "Total", -1)),
66
+ _cache[0] || (_cache[0] = vue.createElementVNode("p", { class: "mn-b-thin" }, "Total", -1)),
87
67
  vue.createElementVNode("h3", null, vue.toDisplayString(_ctx.formatPrice(totalPrice.value)), 1)
88
68
  ]),
89
69
  vue.createElementVNode("div", _hoisted_4, [
90
- _cache[2] || (_cache[2] = vue.createElementVNode("p", { class: "mn-b-thin" }, "Paid", -1)),
70
+ _cache[1] || (_cache[1] = vue.createElementVNode("p", { class: "mn-b-thin" }, "Paid", -1)),
91
71
  vue.createElementVNode("h3", null, vue.toDisplayString(_ctx.formatPrice(totalPriceUnpaid.value)), 1)
92
72
  ]),
93
73
  vue.createElementVNode("div", _hoisted_5, [
94
- _cache[3] || (_cache[3] = vue.createElementVNode("p", { class: "mn-b-thin" }, "Unpaid", -1)),
74
+ _cache[2] || (_cache[2] = vue.createElementVNode("p", { class: "mn-b-thin" }, "Unpaid", -1)),
95
75
  vue.createElementVNode("h3", null, vue.toDisplayString(_ctx.formatPrice(totalPrice.value)), 1)
96
76
  ])
97
77
  ])
@@ -111,7 +91,7 @@ const _sfc_main = {
111
91
  },
112
92
  options: {
113
93
  limit: 15,
114
- ...vue.unref(route).meta.context === "organization" && { organization: vue.unref(route).params._id },
94
+ ...vue.unref(route).meta.context === "organization" && { owner: vue.unref(route).params._id },
115
95
  ...vue.unref(route).meta.context === "user" && { customer: vue.unref(route).params._id },
116
96
  ...tab.value !== "all" && { status: tab.value }
117
97
  },
@@ -125,79 +105,16 @@ const _sfc_main = {
125
105
  to: {
126
106
  name: vue.unref(route).meta.context === "backoffice" ? "BackofficeOrderEdit" : "OrganizationOrderEdit",
127
107
  params: vue.unref(route).meta.context === "backoffice" ? { order: order._id } : { order: order._id, organization: order.owner.target || order.owner._id }
128
- },
129
- class: "bg-light pos-relative pd-medium radius-big"
108
+ }
130
109
  }, {
131
110
  default: vue.withCtx(() => [
132
- vue.createVNode(CardHeader.default, {
133
- entity: order,
134
- entityType: "order",
111
+ vue.createVNode(CardOrderBackoffice.default, {
112
+ order,
135
113
  user: auth.state.user,
136
- owner: order.creator,
137
- creator: order.creator,
138
- date: order.createdAt,
139
- class: "mn-b-small"
140
- }, null, 8, ["entity", "user", "owner", "creator", "date"]),
141
- vue.createElementVNode("div", _hoisted_6, [
142
- vue.createElementVNode("div", _hoisted_7, [
143
- vue.createElementVNode("p", _hoisted_8, vue.toDisplayString(order.delivery.address || "Not specified"), 1)
144
- ]),
145
- vue.createElementVNode("div", _hoisted_9, [
146
- vue.createElementVNode("h3", _hoisted_10, vue.toDisplayString(_ctx.returnCurrency()) + vue.toDisplayString(orders.getters.getTotal(order.positions)), 1),
147
- vue.createElementVNode("p", null, "#" + vue.toDisplayString(order._id.slice(0, 4) + "..." + order._id.slice(-4)), 1)
148
- ])
149
- ]),
150
- vue.createElementVNode("div", _hoisted_11, [
151
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(order.positions.slice(0, 2), (position, index) => {
152
- return vue.openBlock(), vue.createElementBlock("div", {
153
- key: index,
154
- class: "w-100 flex"
155
- }, [
156
- vue.createElementVNode("p", _hoisted_12, vue.toDisplayString(position.name), 1),
157
- vue.createElementVNode("p", _hoisted_13, [
158
- vue.createTextVNode(vue.toDisplayString(position.quantity) + " " + vue.toDisplayString(position.type) + " x " + vue.toDisplayString(position.price) + " ", 1),
159
- vue.createElementVNode("span", _hoisted_14, vue.toDisplayString(_ctx.returnCurrency()), 1)
160
- ])
161
- ]);
162
- }), 128)),
163
- vue.createVNode(vue.Transition, { name: "fade" }, {
164
- default: vue.withCtx(() => [
165
- spoiler.value && order.positions.length > 2 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15, [
166
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(order.positions.slice(2), (position, index) => {
167
- return vue.openBlock(), vue.createElementBlock("div", {
168
- key: index + 2,
169
- class: "w-100 flex"
170
- }, [
171
- vue.createElementVNode("p", _hoisted_16, vue.toDisplayString(position.name), 1),
172
- vue.createElementVNode("p", _hoisted_17, [
173
- vue.createTextVNode(vue.toDisplayString(position.quantity) + " " + vue.toDisplayString(position.type) + " x " + vue.toDisplayString(position.price) + " ", 1),
174
- vue.createElementVNode("span", _hoisted_18, vue.toDisplayString(_ctx.returnCurrency()), 1)
175
- ])
176
- ]);
177
- }), 128))
178
- ])) : vue.createCommentVNode("", true)
179
- ]),
180
- _: 2
181
- }, 1024),
182
- order.positions.length > 2 ? (vue.openBlock(), vue.createElementBlock("button", {
183
- key: 0,
184
- onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => spoiler.value = !spoiler.value, ["prevent"])),
185
- class: "radius-big bg-light-transp-50 pd-nano w-100 flex-center flex"
186
- }, vue.toDisplayString(!spoiler.value ? `+${order.positions.length - 2} more` : `Hide`), 1)) : vue.createCommentVNode("", true)
187
- ]),
188
- vue.createElementVNode("div", _hoisted_19, [
189
- vue.createVNode(IconTime.default, {
190
- class: "i-semi t-transp",
191
- fill: "rgb(var(--black)"
192
- }),
193
- vue.createElementVNode("p", _hoisted_20, vue.toDisplayString(_ctx.formatDate(order.deadline)), 1),
194
- vue.createElementVNode("span", _hoisted_21, vue.toDisplayString(order.status), 1),
195
- _cache[4] || (_cache[4] = vue.createElementVNode("span", { class: "flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin t-white bg-red" }, " Unpaid ", -1))
196
- ]),
197
- order.comment ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_22, [
198
- _cache[5] || (_cache[5] = vue.createElementVNode("p", { class: "mn-b-thin t-transp uppercase p-small t-medium" }, "Comment", -1)),
199
- vue.createElementVNode("p", null, vue.toDisplayString(order.comment), 1)
200
- ])) : vue.createCommentVNode("", true)
114
+ formatDate: _ctx.formatDate,
115
+ getTotal: orders.getters.getTotal,
116
+ currency: _ctx.returnCurrency()
117
+ }, null, 8, ["order", "user", "formatDate", "getTotal", "currency"])
201
118
  ]),
202
119
  _: 2
203
120
  }, 1032, ["to"]);
@@ -1 +1 @@
1
- {"version":3,"file":"Orders.vue.cjs","sources":["../../../../../../../src/modules/orders/components/pages/Orders.vue"],"sourcesContent":["<template>\n <div class=\"mobile:pd-thin pd-medium\"> \n <SectionPageTitle\n v-if=\"!MOBILE_APP\"\n title=\"Orders\"\n :actions=\"[\n ...(route.meta.context !== 'user' ? [{ to: { name: 'BackofficeAdminCreateOrder'}, label: 'Create Order' }] : [])\n ]\"\n class=\"mn-b-small\"\n />\n\n <Block\n v-if=\"route.meta.context !== 'user'\"\n title=\"Balance\"\n class=\"mn-b-small\"\n >\n <div class=\"gap-micro flex-nowrap flex\">\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Total</p>\n <h3>{{formatPrice(totalPrice)}}</h3>\n </div>\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Paid</p>\n <h3>{{formatPrice(totalPriceUnpaid)}}</h3>\n </div>\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Unpaid</p>\n <h3>{{formatPrice(totalPrice)}}</h3>\n </div>\n </div>\n\n </Block>\n\n <Feed\n :search=\"true\"\n :states=\"{\n empty: {\n title: 'No Orders Found',\n description: 'Currently, there are no orders.'\n }\n }\"\n :store=\"{\n read: (options) => orders.actions.read(options)\n }\"\n :options=\"{\n limit: 15,\n ...(route.meta.context === 'organization' && { organization: route.params._id }),\n ...(route.meta.context === 'user' && { customer: route.params._id }),\n ...(tab !== 'all' && { status: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-3\"\n >\n <router-link \n v-if=\"route.meta.context !== 'user'\"\n v-for=\"order in items\" \n :to=\"{ \n name: route.meta.context === 'backoffice' ? 'BackofficeOrderEdit' : 'OrganizationOrderEdit', \n params: route.meta.context === 'backoffice' \n ? { order: order._id } \n : { order: order._id, organization: order.owner.target || order.owner._id }\n }\" \n class=\"bg-light pos-relative pd-medium radius-big\"\n >\n <CardHeader \n :entity=\"order\"\n :entityType=\"'order'\"\n :user=\"auth.state.user\"\n :owner=\"order.creator\" \n :creator=\"order.creator\"\n :date=\"order.createdAt\"\n class=\"mn-b-small\"\n />\n\n <div class=\"mn-b-small pd-small bg-white radius-small flex-nowrap flex\"> \n <div class=\"w-100\">\n <!-- <h3 class=\"mn-b-thin\">{{order.customer.target.profile?.name || order.customer.target.phone || order.customer.target.email || 'No name'}}</h3> -->\n <p class=\"t-truncate\">{{order.delivery.address || 'Not specified'}}</p> \n </div>\n\n <div class=\" w-100 t-right\">\n <h3 class=\"mn-b-thin\">{{returnCurrency()}}{{orders.getters.getTotal(order.positions)}}</h3>\n <p>#{{order._id.slice(0, 4) + '...' + order._id.slice(-4)}}</p> \n </div>\n </div>\n \n <div class=\"cols-1 mn-b-small gap-thin pd-small bg-white radius-small\">\n <!-- Always display the first two positions -->\n <div\n v-for=\"(position, index) in order.positions.slice(0, 2)\"\n :key=\"index\"\n class=\"w-100 flex\"\n >\n <p class=\"mn-r-auto\">{{ position.name }}</p>\n <p class=\"t-right\">\n {{ position.quantity }} {{ position.type }}\n x\n {{ position.price }}\n <span class=\"t-transp\">{{ returnCurrency() }}</span>\n </p>\n </div>\n\n <transition name=\"fade\">\n <!-- Display the rest of the positions if there are more than two and spoiler is true -->\n <div v-if=\"spoiler && order.positions.length > 2\">\n <div\n v-for=\"(position, index) in order.positions.slice(2)\"\n :key=\"index + 2\"\n class=\"w-100 flex\"\n >\n <p class=\"mn-r-auto\">{{ position.name }}</p>\n <p class=\"t-right\">\n {{ position.quantity }} {{ position.type }}\n x\n {{ position.price }}\n <span class=\"t-transp\">{{ returnCurrency() }}</span>\n </p>\n </div>\n </div>\n </transition>\n\n <!-- Toggle button for additional positions, visible only if there are more than two positions -->\n <button\n v-if=\"order.positions.length > 2\"\n @click.prevent=\"spoiler = !spoiler\"\n class=\"radius-big bg-light-transp-50 pd-nano w-100 flex-center flex\"\n >\n {{ !spoiler ? `+${order.positions.length - 2} more` : `Hide` }} \n </button>\n </div>\n\n\n <div class=\"pd-small bg-white radius-small gap-micro flex-v-center flex-nowrap flex\"> \n <IconTime class=\"i-semi t-transp\" fill=\"rgb(var(--black)\" />\n <p class=\"t-medium mn-r-auto\">{{formatDate(order.deadline)}}</p>\n\n <span \n class=\"flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin bg-main\"\n >\n {{order.status}}\n </span>\n\n <span \n class=\"flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin t-white bg-red\"\n >\n Unpaid\n </span>\n </div>\n \n\n <div v-if=\"order.comment\" class=\"pos-relative radius-small bg-fifth-transp-10 mn-t-thin pd-small\">\n <p class=\"mn-b-thin t-transp uppercase p-small t-medium\">Comment</p>\n <p>{{order.comment}}</p>\n </div>\n </router-link>\n\n <router-link \n v-if=\"route.meta.context === 'user'\"\n v-for=\"order in items\" \n :to=\"{ \n name: 'UserOrder', \n params: { \n order: order._id \n }\n }\" \n >\n <CardOrderUser\n :orderId=\"order._id\"\n :status=\"order.status\"\n :createdAt=\"order.createdAt\"\n :updatedAt=\"order.updatedAt\"\n :positions=\"order.positions\"\n :total=\"orders.getters.getTotal(order.positions)\"\n />\n </router-link>\n </Feed>\n </div>\n</template>\n\n<script setup>\n import { computed, onMounted, reactive, ref } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import Tab from '@martyrs/src/components/Tab/Tab.vue'\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import * as orders from '@martyrs/src/modules/orders/store/orders';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\n import CardOrder from '@martyrs/src/modules/orders/components/blocks/CardOrder.vue'\n\n import CardOrderUser from '@martyrs/src/modules/orders/components/blocks/CardOrderUser.vue'\n import CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\n import SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\n\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n const route = useRoute();\n const router = useRouter();\n\n const spoiler = ref(false)\n\n // Tab logic\n const tab = ref('all')\n\n const totalPrice = computed(() => {\n return calculateTotalSum(orders.state.all)\n });\n\n const totalPriceUnpaid = computed(() => {\n return calculateSum(orders.state.all,'unpaid')\n });\n\n \n function calculateTotalSum(orders) {\n return orders.reduce((totalSum, item) => {\n return totalSum + item.positions.reduce((sum, position) => sum + position.price, 0);\n }, 0);\n }\n\n function calculateSum(orders, status) {\n return orders.reduce((totalSum, item) => {\n if (item.payment.status === status) {\n return totalSum + item.positions.reduce((sum, position) => sum + position.price, 0);\n }\n return totalSum;\n }, 0);\n }\n\n\n onMounted(async () => {\n \n });\n</script>\n"],"names":["useRoute","useRouter","ref","computed","orders.state","orders","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0ME,UAAM,QAAQA,UAAAA,SAAU;AACTC,cAAS,UAAA;AAExB,UAAM,UAAUC,IAAAA,IAAI,KAAK;AAGzB,UAAM,MAAMA,IAAAA,IAAI,KAAK;AAErB,UAAM,aAAaC,IAAAA,SAAS,MAAM;AAChC,aAAO,kBAAkBC,OAAAA,MAAa,GAAG;AAAA,IAC7C,CAAG;AAEA,UAAM,mBAAmBD,IAAAA,SAAS,MAAM;AACvC,aAAO,aAAaC,aAAa,KAAI,QAAQ;AAAA,IACjD,CAAG;AAGD,aAAS,kBAAkBC,SAAQ;AACjC,aAAOA,QAAO,OAAO,CAAC,UAAU,SAAS;AACvC,eAAO,WAAW,KAAK,UAAU,OAAO,CAAC,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,MACnF,GAAE,CAAC;AAAA,IACR;AAEE,aAAS,aAAaA,SAAQ,QAAQ;AACpC,aAAOA,QAAO,OAAO,CAAC,UAAU,SAAS;AACvC,YAAI,KAAK,QAAQ,WAAW,QAAQ;AAClC,iBAAO,WAAW,KAAK,UAAU,OAAO,CAAC,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,QAC1F;AACM,eAAO;AAAA,MACR,GAAE,CAAC;AAAA,IACR;AAGEC,QAAAA,UAAU,YAAY;AAAA,IAExB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Orders.vue.cjs","sources":["../../../../../../../src/modules/orders/components/pages/Orders.vue"],"sourcesContent":["<template>\n <div class=\"mobile:pd-thin pd-medium\"> \n <SectionPageTitle\n v-if=\"!MOBILE_APP\"\n title=\"Orders\"\n :actions=\"[\n route.meta.context === 'backoffice' && { to: { name: 'BackofficeAdminCreateOrder' }, label: 'Create Order' },\n route.meta.context === 'organization' && { to: { name: 'OrganizationAdminCreateOrder', params: { _id: route.params._id}}, label: 'Create Order' }\n ].filter(Boolean)\"\n class=\"mn-b-small\"\n />\n\n <Block\n v-if=\"route.meta.context !== 'user'\"\n title=\"Balance\"\n class=\"mn-b-small\"\n >\n <div class=\"gap-micro flex-nowrap flex\">\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Total</p>\n <h3>{{formatPrice(totalPrice)}}</h3>\n </div>\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Paid</p>\n <h3>{{formatPrice(totalPriceUnpaid)}}</h3>\n </div>\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Unpaid</p>\n <h3>{{formatPrice(totalPrice)}}</h3>\n </div>\n </div>\n\n </Block>\n\n <Feed\n :search=\"true\"\n :states=\"{\n empty: {\n title: 'No Orders Found',\n description: 'Currently, there are no orders.'\n }\n }\"\n :store=\"{\n read: (options) => orders.actions.read(options)\n }\"\n :options=\"{\n limit: 15,\n ...(route.meta.context === 'organization' && { owner: route.params._id }),\n ...(route.meta.context === 'user' && { customer: route.params._id }),\n ...(tab !== 'all' && { status: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-3\"\n >\n <router-link \n v-if=\"route.meta.context !== 'user'\"\n v-for=\"order in items\" \n :to=\"{ \n name: route.meta.context === 'backoffice' ? 'BackofficeOrderEdit' : 'OrganizationOrderEdit', \n params: route.meta.context === 'backoffice' \n ? { order: order._id } \n : { order: order._id, organization: order.owner.target || order.owner._id }\n }\" \n >\n <CardOrderBackoffice \n :order=\"order\"\n :user=\"auth.state.user\"\n :formatDate=\"formatDate\"\n :getTotal=\"orders.getters.getTotal\"\n :currency=\"returnCurrency()\"\n />\n </router-link>\n\n <router-link \n v-if=\"route.meta.context === 'user'\"\n v-for=\"order in items\" \n :to=\"{ \n name: 'UserOrder', \n params: { \n order: order._id \n }\n }\" \n >\n <CardOrderUser\n :orderId=\"order._id\"\n :status=\"order.status\"\n :createdAt=\"order.createdAt\"\n :updatedAt=\"order.updatedAt\"\n :positions=\"order.positions\"\n :total=\"orders.getters.getTotal(order.positions)\"\n />\n </router-link>\n </Feed>\n </div>\n</template>\n\n<script setup>\n import { computed, onMounted, reactive, ref } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import Tab from '@martyrs/src/components/Tab/Tab.vue'\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import * as orders from '@martyrs/src/modules/orders/store/orders';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\n import CardOrder from '@martyrs/src/modules/orders/components/blocks/CardOrder.vue'\n\n import CardOrderUser from '@martyrs/src/modules/orders/components/blocks/CardOrderUser.vue'\n import CardOrderBackoffice from '@martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue'\n\n import SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\n\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n const route = useRoute();\n const router = useRouter();\n\n const spoiler = ref(false)\n\n // Tab logic\n const tab = ref('all')\n\n const totalPrice = computed(() => {\n return calculateTotalSum(orders.state.all)\n });\n\n const totalPriceUnpaid = computed(() => {\n return calculateSum(orders.state.all,'unpaid')\n });\n\n \n function calculateTotalSum(orders) {\n return orders.reduce((totalSum, item) => {\n return totalSum + item.positions.reduce((sum, position) => sum + position.price, 0);\n }, 0);\n }\n\n function calculateSum(orders, status) {\n return orders.reduce((totalSum, item) => {\n if (item.payment.status === status) {\n return totalSum + item.positions.reduce((sum, position) => sum + position.price, 0);\n }\n return totalSum;\n }, 0);\n }\n\n\n onMounted(async () => {\n \n });\n</script>\n"],"names":["useRoute","useRouter","ref","computed","orders.state","orders","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuHE,UAAM,QAAQA,UAAAA,SAAU;AACTC,cAAS,UAAA;AAERC,QAAAA,IAAI,KAAK;AAGzB,UAAM,MAAMA,IAAAA,IAAI,KAAK;AAErB,UAAM,aAAaC,IAAAA,SAAS,MAAM;AAChC,aAAO,kBAAkBC,OAAAA,MAAa,GAAG;AAAA,IAC7C,CAAG;AAEA,UAAM,mBAAmBD,IAAAA,SAAS,MAAM;AACvC,aAAO,aAAaC,aAAa,KAAI,QAAQ;AAAA,IACjD,CAAG;AAGD,aAAS,kBAAkBC,SAAQ;AACjC,aAAOA,QAAO,OAAO,CAAC,UAAU,SAAS;AACvC,eAAO,WAAW,KAAK,UAAU,OAAO,CAAC,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,MACnF,GAAE,CAAC;AAAA,IACR;AAEE,aAAS,aAAaA,SAAQ,QAAQ;AACpC,aAAOA,QAAO,OAAO,CAAC,UAAU,SAAS;AACvC,YAAI,KAAK,QAAQ,WAAW,QAAQ;AAClC,iBAAO,WAAW,KAAK,UAAU,OAAO,CAAC,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,QAC1F;AACM,eAAO;AAAA,MACR,GAAE,CAAC;AAAA,IACR;AAGEC,QAAAA,UAAU,YAAY;AAAA,IAExB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,45 +1,24 @@
1
- import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createBlock, createCommentVNode, createVNode, unref, withCtx, createElementVNode, toDisplayString, Fragment, renderList, createTextVNode, Transition, withModifiers } from "vue";
1
+ import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createBlock, createCommentVNode, createVNode, unref, withCtx, createElementVNode, toDisplayString, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  /* empty css */
4
4
  import _sfc_main$2 from "../../../../components/Block/Block.vue.js";
5
5
  import { state, actions, getters } from "../../store/orders.js";
6
6
  import { state as state$1 } from "../../../auth/views/store/auth.js";
7
7
  import CardOrderUser from "../blocks/CardOrderUser.vue.js";
8
- import _sfc_main$4 from "../../../globals/views/components/blocks/CardHeader.vue.js";
8
+ import _sfc_main$4 from "../blocks/CardOrderBackoffice.vue.js";
9
9
  import _sfc_main$1 from "../../../globals/views/components/sections/SectionPageTitle.vue.js";
10
10
  import _sfc_main$3 from "../../../../components/Feed/Feed.vue.js";
11
- import IconTime from "../../../icons/entities/IconTime.vue.js";
12
11
  const _hoisted_1 = { class: "mobile:pd-thin pd-medium" };
13
12
  const _hoisted_2 = { class: "gap-micro flex-nowrap flex" };
14
13
  const _hoisted_3 = { class: "w-100 bg-white radius-small pd-small" };
15
14
  const _hoisted_4 = { class: "w-100 bg-white radius-small pd-small" };
16
15
  const _hoisted_5 = { class: "w-100 bg-white radius-small pd-small" };
17
- const _hoisted_6 = { class: "mn-b-small pd-small bg-white radius-small flex-nowrap flex" };
18
- const _hoisted_7 = { class: "w-100" };
19
- const _hoisted_8 = { class: "t-truncate" };
20
- const _hoisted_9 = { class: "w-100 t-right" };
21
- const _hoisted_10 = { class: "mn-b-thin" };
22
- const _hoisted_11 = { class: "cols-1 mn-b-small gap-thin pd-small bg-white radius-small" };
23
- const _hoisted_12 = { class: "mn-r-auto" };
24
- const _hoisted_13 = { class: "t-right" };
25
- const _hoisted_14 = { class: "t-transp" };
26
- const _hoisted_15 = { key: 0 };
27
- const _hoisted_16 = { class: "mn-r-auto" };
28
- const _hoisted_17 = { class: "t-right" };
29
- const _hoisted_18 = { class: "t-transp" };
30
- const _hoisted_19 = { class: "pd-small bg-white radius-small gap-micro flex-v-center flex-nowrap flex" };
31
- const _hoisted_20 = { class: "t-medium mn-r-auto" };
32
- const _hoisted_21 = { class: "flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin bg-main" };
33
- const _hoisted_22 = {
34
- key: 0,
35
- class: "pos-relative radius-small bg-fifth-transp-10 mn-t-thin pd-small"
36
- };
37
16
  const _sfc_main = {
38
17
  __name: "Orders",
39
18
  setup(__props) {
40
19
  const route = useRoute();
41
20
  useRouter();
42
- const spoiler = ref(false);
21
+ ref(false);
43
22
  const tab = ref("all");
44
23
  const totalPrice = computed(() => {
45
24
  return calculateTotalSum(state.all);
@@ -69,8 +48,9 @@ const _sfc_main = {
69
48
  key: 0,
70
49
  title: "Orders",
71
50
  actions: [
72
- ...unref(route).meta.context !== "user" ? [{ to: { name: "BackofficeAdminCreateOrder" }, label: "Create Order" }] : []
73
- ],
51
+ unref(route).meta.context === "backoffice" && { to: { name: "BackofficeAdminCreateOrder" }, label: "Create Order" },
52
+ unref(route).meta.context === "organization" && { to: { name: "OrganizationAdminCreateOrder", params: { _id: unref(route).params._id } }, label: "Create Order" }
53
+ ].filter(Boolean),
74
54
  class: "mn-b-small"
75
55
  }, null, 8, ["actions"])) : createCommentVNode("", true),
76
56
  unref(route).meta.context !== "user" ? (openBlock(), createBlock(_sfc_main$2, {
@@ -81,15 +61,15 @@ const _sfc_main = {
81
61
  default: withCtx(() => [
82
62
  createElementVNode("div", _hoisted_2, [
83
63
  createElementVNode("div", _hoisted_3, [
84
- _cache[1] || (_cache[1] = createElementVNode("p", { class: "mn-b-thin" }, "Total", -1)),
64
+ _cache[0] || (_cache[0] = createElementVNode("p", { class: "mn-b-thin" }, "Total", -1)),
85
65
  createElementVNode("h3", null, toDisplayString(_ctx.formatPrice(totalPrice.value)), 1)
86
66
  ]),
87
67
  createElementVNode("div", _hoisted_4, [
88
- _cache[2] || (_cache[2] = createElementVNode("p", { class: "mn-b-thin" }, "Paid", -1)),
68
+ _cache[1] || (_cache[1] = createElementVNode("p", { class: "mn-b-thin" }, "Paid", -1)),
89
69
  createElementVNode("h3", null, toDisplayString(_ctx.formatPrice(totalPriceUnpaid.value)), 1)
90
70
  ]),
91
71
  createElementVNode("div", _hoisted_5, [
92
- _cache[3] || (_cache[3] = createElementVNode("p", { class: "mn-b-thin" }, "Unpaid", -1)),
72
+ _cache[2] || (_cache[2] = createElementVNode("p", { class: "mn-b-thin" }, "Unpaid", -1)),
93
73
  createElementVNode("h3", null, toDisplayString(_ctx.formatPrice(totalPrice.value)), 1)
94
74
  ])
95
75
  ])
@@ -109,7 +89,7 @@ const _sfc_main = {
109
89
  },
110
90
  options: {
111
91
  limit: 15,
112
- ...unref(route).meta.context === "organization" && { organization: unref(route).params._id },
92
+ ...unref(route).meta.context === "organization" && { owner: unref(route).params._id },
113
93
  ...unref(route).meta.context === "user" && { customer: unref(route).params._id },
114
94
  ...tab.value !== "all" && { status: tab.value }
115
95
  },
@@ -123,79 +103,16 @@ const _sfc_main = {
123
103
  to: {
124
104
  name: unref(route).meta.context === "backoffice" ? "BackofficeOrderEdit" : "OrganizationOrderEdit",
125
105
  params: unref(route).meta.context === "backoffice" ? { order: order._id } : { order: order._id, organization: order.owner.target || order.owner._id }
126
- },
127
- class: "bg-light pos-relative pd-medium radius-big"
106
+ }
128
107
  }, {
129
108
  default: withCtx(() => [
130
109
  createVNode(_sfc_main$4, {
131
- entity: order,
132
- entityType: "order",
110
+ order,
133
111
  user: state$1.user,
134
- owner: order.creator,
135
- creator: order.creator,
136
- date: order.createdAt,
137
- class: "mn-b-small"
138
- }, null, 8, ["entity", "user", "owner", "creator", "date"]),
139
- createElementVNode("div", _hoisted_6, [
140
- createElementVNode("div", _hoisted_7, [
141
- createElementVNode("p", _hoisted_8, toDisplayString(order.delivery.address || "Not specified"), 1)
142
- ]),
143
- createElementVNode("div", _hoisted_9, [
144
- createElementVNode("h3", _hoisted_10, toDisplayString(_ctx.returnCurrency()) + toDisplayString(getters.getTotal(order.positions)), 1),
145
- createElementVNode("p", null, "#" + toDisplayString(order._id.slice(0, 4) + "..." + order._id.slice(-4)), 1)
146
- ])
147
- ]),
148
- createElementVNode("div", _hoisted_11, [
149
- (openBlock(true), createElementBlock(Fragment, null, renderList(order.positions.slice(0, 2), (position, index) => {
150
- return openBlock(), createElementBlock("div", {
151
- key: index,
152
- class: "w-100 flex"
153
- }, [
154
- createElementVNode("p", _hoisted_12, toDisplayString(position.name), 1),
155
- createElementVNode("p", _hoisted_13, [
156
- createTextVNode(toDisplayString(position.quantity) + " " + toDisplayString(position.type) + " x " + toDisplayString(position.price) + " ", 1),
157
- createElementVNode("span", _hoisted_14, toDisplayString(_ctx.returnCurrency()), 1)
158
- ])
159
- ]);
160
- }), 128)),
161
- createVNode(Transition, { name: "fade" }, {
162
- default: withCtx(() => [
163
- spoiler.value && order.positions.length > 2 ? (openBlock(), createElementBlock("div", _hoisted_15, [
164
- (openBlock(true), createElementBlock(Fragment, null, renderList(order.positions.slice(2), (position, index) => {
165
- return openBlock(), createElementBlock("div", {
166
- key: index + 2,
167
- class: "w-100 flex"
168
- }, [
169
- createElementVNode("p", _hoisted_16, toDisplayString(position.name), 1),
170
- createElementVNode("p", _hoisted_17, [
171
- createTextVNode(toDisplayString(position.quantity) + " " + toDisplayString(position.type) + " x " + toDisplayString(position.price) + " ", 1),
172
- createElementVNode("span", _hoisted_18, toDisplayString(_ctx.returnCurrency()), 1)
173
- ])
174
- ]);
175
- }), 128))
176
- ])) : createCommentVNode("", true)
177
- ]),
178
- _: 2
179
- }, 1024),
180
- order.positions.length > 2 ? (openBlock(), createElementBlock("button", {
181
- key: 0,
182
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => spoiler.value = !spoiler.value, ["prevent"])),
183
- class: "radius-big bg-light-transp-50 pd-nano w-100 flex-center flex"
184
- }, toDisplayString(!spoiler.value ? `+${order.positions.length - 2} more` : `Hide`), 1)) : createCommentVNode("", true)
185
- ]),
186
- createElementVNode("div", _hoisted_19, [
187
- createVNode(IconTime, {
188
- class: "i-semi t-transp",
189
- fill: "rgb(var(--black)"
190
- }),
191
- createElementVNode("p", _hoisted_20, toDisplayString(_ctx.formatDate(order.deadline)), 1),
192
- createElementVNode("span", _hoisted_21, toDisplayString(order.status), 1),
193
- _cache[4] || (_cache[4] = createElementVNode("span", { class: "flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin t-white bg-red" }, " Unpaid ", -1))
194
- ]),
195
- order.comment ? (openBlock(), createElementBlock("div", _hoisted_22, [
196
- _cache[5] || (_cache[5] = createElementVNode("p", { class: "mn-b-thin t-transp uppercase p-small t-medium" }, "Comment", -1)),
197
- createElementVNode("p", null, toDisplayString(order.comment), 1)
198
- ])) : createCommentVNode("", true)
112
+ formatDate: _ctx.formatDate,
113
+ getTotal: getters.getTotal,
114
+ currency: _ctx.returnCurrency()
115
+ }, null, 8, ["order", "user", "formatDate", "getTotal", "currency"])
199
116
  ]),
200
117
  _: 2
201
118
  }, 1032, ["to"]);
@@ -1 +1 @@
1
- {"version":3,"file":"Orders.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/Orders.vue"],"sourcesContent":["<template>\n <div class=\"mobile:pd-thin pd-medium\"> \n <SectionPageTitle\n v-if=\"!MOBILE_APP\"\n title=\"Orders\"\n :actions=\"[\n ...(route.meta.context !== 'user' ? [{ to: { name: 'BackofficeAdminCreateOrder'}, label: 'Create Order' }] : [])\n ]\"\n class=\"mn-b-small\"\n />\n\n <Block\n v-if=\"route.meta.context !== 'user'\"\n title=\"Balance\"\n class=\"mn-b-small\"\n >\n <div class=\"gap-micro flex-nowrap flex\">\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Total</p>\n <h3>{{formatPrice(totalPrice)}}</h3>\n </div>\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Paid</p>\n <h3>{{formatPrice(totalPriceUnpaid)}}</h3>\n </div>\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Unpaid</p>\n <h3>{{formatPrice(totalPrice)}}</h3>\n </div>\n </div>\n\n </Block>\n\n <Feed\n :search=\"true\"\n :states=\"{\n empty: {\n title: 'No Orders Found',\n description: 'Currently, there are no orders.'\n }\n }\"\n :store=\"{\n read: (options) => orders.actions.read(options)\n }\"\n :options=\"{\n limit: 15,\n ...(route.meta.context === 'organization' && { organization: route.params._id }),\n ...(route.meta.context === 'user' && { customer: route.params._id }),\n ...(tab !== 'all' && { status: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-3\"\n >\n <router-link \n v-if=\"route.meta.context !== 'user'\"\n v-for=\"order in items\" \n :to=\"{ \n name: route.meta.context === 'backoffice' ? 'BackofficeOrderEdit' : 'OrganizationOrderEdit', \n params: route.meta.context === 'backoffice' \n ? { order: order._id } \n : { order: order._id, organization: order.owner.target || order.owner._id }\n }\" \n class=\"bg-light pos-relative pd-medium radius-big\"\n >\n <CardHeader \n :entity=\"order\"\n :entityType=\"'order'\"\n :user=\"auth.state.user\"\n :owner=\"order.creator\" \n :creator=\"order.creator\"\n :date=\"order.createdAt\"\n class=\"mn-b-small\"\n />\n\n <div class=\"mn-b-small pd-small bg-white radius-small flex-nowrap flex\"> \n <div class=\"w-100\">\n <!-- <h3 class=\"mn-b-thin\">{{order.customer.target.profile?.name || order.customer.target.phone || order.customer.target.email || 'No name'}}</h3> -->\n <p class=\"t-truncate\">{{order.delivery.address || 'Not specified'}}</p> \n </div>\n\n <div class=\" w-100 t-right\">\n <h3 class=\"mn-b-thin\">{{returnCurrency()}}{{orders.getters.getTotal(order.positions)}}</h3>\n <p>#{{order._id.slice(0, 4) + '...' + order._id.slice(-4)}}</p> \n </div>\n </div>\n \n <div class=\"cols-1 mn-b-small gap-thin pd-small bg-white radius-small\">\n <!-- Always display the first two positions -->\n <div\n v-for=\"(position, index) in order.positions.slice(0, 2)\"\n :key=\"index\"\n class=\"w-100 flex\"\n >\n <p class=\"mn-r-auto\">{{ position.name }}</p>\n <p class=\"t-right\">\n {{ position.quantity }} {{ position.type }}\n x\n {{ position.price }}\n <span class=\"t-transp\">{{ returnCurrency() }}</span>\n </p>\n </div>\n\n <transition name=\"fade\">\n <!-- Display the rest of the positions if there are more than two and spoiler is true -->\n <div v-if=\"spoiler && order.positions.length > 2\">\n <div\n v-for=\"(position, index) in order.positions.slice(2)\"\n :key=\"index + 2\"\n class=\"w-100 flex\"\n >\n <p class=\"mn-r-auto\">{{ position.name }}</p>\n <p class=\"t-right\">\n {{ position.quantity }} {{ position.type }}\n x\n {{ position.price }}\n <span class=\"t-transp\">{{ returnCurrency() }}</span>\n </p>\n </div>\n </div>\n </transition>\n\n <!-- Toggle button for additional positions, visible only if there are more than two positions -->\n <button\n v-if=\"order.positions.length > 2\"\n @click.prevent=\"spoiler = !spoiler\"\n class=\"radius-big bg-light-transp-50 pd-nano w-100 flex-center flex\"\n >\n {{ !spoiler ? `+${order.positions.length - 2} more` : `Hide` }} \n </button>\n </div>\n\n\n <div class=\"pd-small bg-white radius-small gap-micro flex-v-center flex-nowrap flex\"> \n <IconTime class=\"i-semi t-transp\" fill=\"rgb(var(--black)\" />\n <p class=\"t-medium mn-r-auto\">{{formatDate(order.deadline)}}</p>\n\n <span \n class=\"flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin bg-main\"\n >\n {{order.status}}\n </span>\n\n <span \n class=\"flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-b-nano pd-t-nano pd-r-thin pd-l-thin t-white bg-red\"\n >\n Unpaid\n </span>\n </div>\n \n\n <div v-if=\"order.comment\" class=\"pos-relative radius-small bg-fifth-transp-10 mn-t-thin pd-small\">\n <p class=\"mn-b-thin t-transp uppercase p-small t-medium\">Comment</p>\n <p>{{order.comment}}</p>\n </div>\n </router-link>\n\n <router-link \n v-if=\"route.meta.context === 'user'\"\n v-for=\"order in items\" \n :to=\"{ \n name: 'UserOrder', \n params: { \n order: order._id \n }\n }\" \n >\n <CardOrderUser\n :orderId=\"order._id\"\n :status=\"order.status\"\n :createdAt=\"order.createdAt\"\n :updatedAt=\"order.updatedAt\"\n :positions=\"order.positions\"\n :total=\"orders.getters.getTotal(order.positions)\"\n />\n </router-link>\n </Feed>\n </div>\n</template>\n\n<script setup>\n import { computed, onMounted, reactive, ref } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import Tab from '@martyrs/src/components/Tab/Tab.vue'\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import * as orders from '@martyrs/src/modules/orders/store/orders';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\n import CardOrder from '@martyrs/src/modules/orders/components/blocks/CardOrder.vue'\n\n import CardOrderUser from '@martyrs/src/modules/orders/components/blocks/CardOrderUser.vue'\n import CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\n import SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\n\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n const route = useRoute();\n const router = useRouter();\n\n const spoiler = ref(false)\n\n // Tab logic\n const tab = ref('all')\n\n const totalPrice = computed(() => {\n return calculateTotalSum(orders.state.all)\n });\n\n const totalPriceUnpaid = computed(() => {\n return calculateSum(orders.state.all,'unpaid')\n });\n\n \n function calculateTotalSum(orders) {\n return orders.reduce((totalSum, item) => {\n return totalSum + item.positions.reduce((sum, position) => sum + position.price, 0);\n }, 0);\n }\n\n function calculateSum(orders, status) {\n return orders.reduce((totalSum, item) => {\n if (item.payment.status === status) {\n return totalSum + item.positions.reduce((sum, position) => sum + position.price, 0);\n }\n return totalSum;\n }, 0);\n }\n\n\n onMounted(async () => {\n \n });\n</script>\n"],"names":["orders.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0ME,UAAM,QAAQ,SAAU;AACT,cAAS;AAExB,UAAM,UAAU,IAAI,KAAK;AAGzB,UAAM,MAAM,IAAI,KAAK;AAErB,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,kBAAkBA,MAAa,GAAG;AAAA,IAC7C,CAAG;AAEA,UAAM,mBAAmB,SAAS,MAAM;AACvC,aAAO,aAAaA,MAAa,KAAI,QAAQ;AAAA,IACjD,CAAG;AAGD,aAAS,kBAAkB,QAAQ;AACjC,aAAO,OAAO,OAAO,CAAC,UAAU,SAAS;AACvC,eAAO,WAAW,KAAK,UAAU,OAAO,CAAC,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,MACnF,GAAE,CAAC;AAAA,IACR;AAEE,aAAS,aAAa,QAAQ,QAAQ;AACpC,aAAO,OAAO,OAAO,CAAC,UAAU,SAAS;AACvC,YAAI,KAAK,QAAQ,WAAW,QAAQ;AAClC,iBAAO,WAAW,KAAK,UAAU,OAAO,CAAC,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,QAC1F;AACM,eAAO;AAAA,MACR,GAAE,CAAC;AAAA,IACR;AAGE,cAAU,YAAY;AAAA,IAExB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Orders.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/Orders.vue"],"sourcesContent":["<template>\n <div class=\"mobile:pd-thin pd-medium\"> \n <SectionPageTitle\n v-if=\"!MOBILE_APP\"\n title=\"Orders\"\n :actions=\"[\n route.meta.context === 'backoffice' && { to: { name: 'BackofficeAdminCreateOrder' }, label: 'Create Order' },\n route.meta.context === 'organization' && { to: { name: 'OrganizationAdminCreateOrder', params: { _id: route.params._id}}, label: 'Create Order' }\n ].filter(Boolean)\"\n class=\"mn-b-small\"\n />\n\n <Block\n v-if=\"route.meta.context !== 'user'\"\n title=\"Balance\"\n class=\"mn-b-small\"\n >\n <div class=\"gap-micro flex-nowrap flex\">\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Total</p>\n <h3>{{formatPrice(totalPrice)}}</h3>\n </div>\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Paid</p>\n <h3>{{formatPrice(totalPriceUnpaid)}}</h3>\n </div>\n <div class=\"w-100 bg-white radius-small pd-small\">\n <p class=\"mn-b-thin\">Unpaid</p>\n <h3>{{formatPrice(totalPrice)}}</h3>\n </div>\n </div>\n\n </Block>\n\n <Feed\n :search=\"true\"\n :states=\"{\n empty: {\n title: 'No Orders Found',\n description: 'Currently, there are no orders.'\n }\n }\"\n :store=\"{\n read: (options) => orders.actions.read(options)\n }\"\n :options=\"{\n limit: 15,\n ...(route.meta.context === 'organization' && { owner: route.params._id }),\n ...(route.meta.context === 'user' && { customer: route.params._id }),\n ...(tab !== 'all' && { status: tab })\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-3\"\n >\n <router-link \n v-if=\"route.meta.context !== 'user'\"\n v-for=\"order in items\" \n :to=\"{ \n name: route.meta.context === 'backoffice' ? 'BackofficeOrderEdit' : 'OrganizationOrderEdit', \n params: route.meta.context === 'backoffice' \n ? { order: order._id } \n : { order: order._id, organization: order.owner.target || order.owner._id }\n }\" \n >\n <CardOrderBackoffice \n :order=\"order\"\n :user=\"auth.state.user\"\n :formatDate=\"formatDate\"\n :getTotal=\"orders.getters.getTotal\"\n :currency=\"returnCurrency()\"\n />\n </router-link>\n\n <router-link \n v-if=\"route.meta.context === 'user'\"\n v-for=\"order in items\" \n :to=\"{ \n name: 'UserOrder', \n params: { \n order: order._id \n }\n }\" \n >\n <CardOrderUser\n :orderId=\"order._id\"\n :status=\"order.status\"\n :createdAt=\"order.createdAt\"\n :updatedAt=\"order.updatedAt\"\n :positions=\"order.positions\"\n :total=\"orders.getters.getTotal(order.positions)\"\n />\n </router-link>\n </Feed>\n </div>\n</template>\n\n<script setup>\n import { computed, onMounted, reactive, ref } from 'vue';\n import { useRoute, useRouter } from 'vue-router';\n\n import Tab from '@martyrs/src/components/Tab/Tab.vue'\n import Block from '@martyrs/src/components/Block/Block.vue';\n\n import * as orders from '@martyrs/src/modules/orders/store/orders';\n import * as auth from '@martyrs/src/modules/auth/views/store/auth';\n\n import CardOrder from '@martyrs/src/modules/orders/components/blocks/CardOrder.vue'\n\n import CardOrderUser from '@martyrs/src/modules/orders/components/blocks/CardOrderUser.vue'\n import CardOrderBackoffice from '@martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue'\n\n import SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\n\n import Feed from '@martyrs/src/components/Feed/Feed.vue'\n\n import IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n const route = useRoute();\n const router = useRouter();\n\n const spoiler = ref(false)\n\n // Tab logic\n const tab = ref('all')\n\n const totalPrice = computed(() => {\n return calculateTotalSum(orders.state.all)\n });\n\n const totalPriceUnpaid = computed(() => {\n return calculateSum(orders.state.all,'unpaid')\n });\n\n \n function calculateTotalSum(orders) {\n return orders.reduce((totalSum, item) => {\n return totalSum + item.positions.reduce((sum, position) => sum + position.price, 0);\n }, 0);\n }\n\n function calculateSum(orders, status) {\n return orders.reduce((totalSum, item) => {\n if (item.payment.status === status) {\n return totalSum + item.positions.reduce((sum, position) => sum + position.price, 0);\n }\n return totalSum;\n }, 0);\n }\n\n\n onMounted(async () => {\n \n });\n</script>\n"],"names":["orders.state"],"mappings":";;;;;;;;;;;;;;;;;;AAuHE,UAAM,QAAQ,SAAU;AACT,cAAS;AAER,QAAI,KAAK;AAGzB,UAAM,MAAM,IAAI,KAAK;AAErB,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,kBAAkBA,MAAa,GAAG;AAAA,IAC7C,CAAG;AAEA,UAAM,mBAAmB,SAAS,MAAM;AACvC,aAAO,aAAaA,MAAa,KAAI,QAAQ;AAAA,IACjD,CAAG;AAGD,aAAS,kBAAkB,QAAQ;AACjC,aAAO,OAAO,OAAO,CAAC,UAAU,SAAS;AACvC,eAAO,WAAW,KAAK,UAAU,OAAO,CAAC,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,MACnF,GAAE,CAAC;AAAA,IACR;AAEE,aAAS,aAAa,QAAQ,QAAQ;AACpC,aAAO,OAAO,OAAO,CAAC,UAAU,SAAS;AACvC,YAAI,KAAK,QAAQ,WAAW,QAAQ;AAClC,iBAAO,WAAW,KAAK,UAAU,OAAO,CAAC,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,QAC1F;AACM,eAAO;AAAA,MACR,GAAE,CAAC;AAAA,IACR;AAGE,cAAU,YAAY;AAAA,IAExB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -10,11 +10,11 @@ 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: "mn-t-medium flex-nowrap flex" };
13
+ const _hoisted_1 = { class: "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: "rows-1 gap-small mn-b-big shopcart-content" };
17
+ const _hoisted_5 = { class: "h-100 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"
@@ -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 pd-big mobile:pd-medium bg-white shop-cart\" :class=\"{'shop-cart-active':shopcart.state.currentState === true}\">\n <!-- ---------------------------------------------------------------- -->\n <!-- 01. Popup Header -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"mn-t-medium 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=\"rows-1 gap-small mn-b-big 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=\"shopcart-footer 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?.showFees\"\n :feesRate=\"globals.state.options?.feesRate\"\n :showVat=\"globals.state.options?.showVat\"\n :vatRate=\"globals.state.options?.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\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 .shopcart-footer {\n position: fixed;\n bottom: 0;\n \n width: 33%;\n right: -33%;\n }\n}\n\n.shop-cart-active {\n right: 0;\n\n .shopcart-footer {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFgBA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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 pd-big mobile:pd-medium bg-white shop-cart\" :class=\"{'shop-cart-active':shopcart.state.currentState === true}\">\n <!-- ---------------------------------------------------------------- -->\n <!-- 01. Popup Header -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"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=\"h-100 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=\"shopcart-footer 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?.showFees\"\n :feesRate=\"globals.state.options?.feesRate\"\n :showVat=\"globals.state.options?.showVat\"\n :vatRate=\"globals.state.options?.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\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 .shopcart-footer {\n position: fixed;\n bottom: 0;\n \n width: 33%;\n right: -33%;\n }\n}\n\n.shop-cart-active {\n right: 0;\n\n .shopcart-footer {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFgBA,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,11 +8,11 @@ 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: "mn-t-medium flex-nowrap flex" };
11
+ const _hoisted_1 = { class: "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: "rows-1 gap-small mn-b-big shopcart-content" };
15
+ const _hoisted_5 = { class: "h-100 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"
@@ -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 pd-big mobile:pd-medium bg-white shop-cart\" :class=\"{'shop-cart-active':shopcart.state.currentState === true}\">\n <!-- ---------------------------------------------------------------- -->\n <!-- 01. Popup Header -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"mn-t-medium 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=\"rows-1 gap-small mn-b-big 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=\"shopcart-footer 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?.showFees\"\n :feesRate=\"globals.state.options?.feesRate\"\n :showVat=\"globals.state.options?.showVat\"\n :vatRate=\"globals.state.options?.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\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 .shopcart-footer {\n position: fixed;\n bottom: 0;\n \n width: 33%;\n right: -33%;\n }\n}\n\n.shop-cart-active {\n right: 0;\n\n .shopcart-footer {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFgB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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 pd-big mobile:pd-medium bg-white shop-cart\" :class=\"{'shop-cart-active':shopcart.state.currentState === true}\">\n <!-- ---------------------------------------------------------------- -->\n <!-- 01. Popup Header -->\n <!-- ---------------------------------------------------------------- -->\n <div class=\"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=\"h-100 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=\"shopcart-footer 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?.showFees\"\n :feesRate=\"globals.state.options?.feesRate\"\n :showVat=\"globals.state.options?.showVat\"\n :vatRate=\"globals.state.options?.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\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 .shopcart-footer {\n position: fixed;\n bottom: 0;\n \n width: 33%;\n right: -33%;\n }\n}\n\n.shop-cart-active {\n right: 0;\n\n .shopcart-footer {\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFgB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}