@ozdao/martyrs 0.2.546 → 0.2.548

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 (763) hide show
  1. package/dist/auth.server.cjs +9 -9
  2. package/dist/auth.server.js +9 -9
  3. package/dist/builder.cjs +12 -751
  4. package/dist/builder.js +21 -721
  5. package/dist/chats.server.cjs +61 -59
  6. package/dist/chats.server.js +61 -59
  7. package/dist/{common.schema-BzFEVNn3.cjs → common.schema-BtXLULba.cjs} +2 -2
  8. package/dist/{common.schema-Bw1O5_2Q.js → common.schema-GFSlNJo7.js} +2 -2
  9. package/dist/community.server.cjs +10 -10
  10. package/dist/community.server.js +10 -10
  11. package/dist/{credentials.schema-C9FB2EyY.js → credentials.schema--2vvcu8c.js} +2 -2
  12. package/dist/{credentials.schema-DwhGdrwC.cjs → credentials.schema-DVXaFnXl.cjs} +2 -2
  13. package/dist/{crud-Ed3dcRsC.js → crud-D_snnl2K.js} +78 -2
  14. package/dist/{crud-DGM6Xa1R.cjs → crud-pedHI2by.cjs} +78 -2
  15. package/dist/{engagement.schema-JADHu8pj.cjs → engagement.schema-DHw4iY_W.cjs} +2 -2
  16. package/dist/{engagement.schema-Dh1adRsn.js → engagement.schema-fh6W1fb_.js} +2 -2
  17. package/dist/events.server.cjs +452 -11
  18. package/dist/events.server.js +433 -9
  19. package/dist/files.server.cjs +2 -2
  20. package/dist/files.server.js +2 -2
  21. package/dist/gallery.server.cjs +5 -5
  22. package/dist/gallery.server.js +5 -5
  23. package/dist/globals.server.cjs +11 -373
  24. package/dist/globals.server.js +11 -356
  25. package/dist/globals.websocket-C2FxNmZ1.js +357 -0
  26. package/dist/globals.websocket-Cm72lPCs.cjs +374 -0
  27. package/dist/inventory.server.cjs +4 -5
  28. package/dist/inventory.server.js +2 -3
  29. package/dist/main-DvjCsGb1.cjs +11 -0
  30. package/dist/{main-d9n_ibdE.js → main-q-y0Lhcy.js} +28 -28
  31. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs +8 -8
  32. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs.map +1 -1
  33. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js +8 -8
  34. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js.map +1 -1
  35. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs +2 -2
  36. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs.map +1 -1
  37. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js +2 -2
  38. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -1
  39. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs +2 -2
  40. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +1 -1
  41. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js +2 -2
  42. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -1
  43. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs +8 -8
  44. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs.map +1 -1
  45. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js +8 -8
  46. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js.map +1 -1
  47. package/dist/martyrs/src/components/Button/Button.vue.cjs.map +1 -1
  48. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -1
  49. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs +3 -3
  50. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs.map +1 -1
  51. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +3 -3
  52. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  53. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs +1 -1
  54. package/dist/martyrs/src/components/Chips/Chips.vue2.js +1 -1
  55. package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs +4 -4
  56. package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +4 -4
  58. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +1 -1
  60. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
  61. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs +1 -1
  62. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
  63. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  64. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  66. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  67. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
  68. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
  69. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  70. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  71. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs +2 -2
  72. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +2 -2
  74. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -1
  75. package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs +1 -1
  76. package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs.map +1 -1
  77. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +1 -1
  78. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  79. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs → Spoiler.vue2.cjs} +2 -2
  80. package/dist/martyrs/src/components/Spoiler/Spoiler.vue2.cjs.map +1 -0
  81. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.js → Spoiler.vue2.js} +2 -2
  82. package/dist/martyrs/src/components/Spoiler/{Spoiler.vue.cjs.map → Spoiler.vue2.js.map} +1 -1
  83. package/dist/martyrs/src/components/Status/Snack.vue.cjs +1 -1
  84. package/dist/martyrs/src/components/Status/Snack.vue.cjs.map +1 -1
  85. package/dist/martyrs/src/components/Status/Snack.vue.js +1 -1
  86. package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -1
  87. package/dist/martyrs/src/components/Status/Status.vue.cjs +1 -1
  88. package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/components/Status/Status.vue.js +1 -1
  90. package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
  91. package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.cjs → UploadImage.vue2.cjs} +5 -5
  92. package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.cjs.map +1 -0
  93. package/dist/martyrs/src/components/UploadImage/{UploadImage.vue.js → UploadImage.vue2.js} +5 -5
  94. package/dist/martyrs/src/components/UploadImage/UploadImage.vue2.js.map +1 -0
  95. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +4 -4
  100. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +4 -4
  102. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  105. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  106. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +1 -1
  111. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  112. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  113. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +3 -3
  114. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
  115. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +3 -3
  116. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  117. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +2 -2
  118. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
  119. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +2 -2
  120. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  121. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
  122. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
  125. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  126. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  127. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +2 -2
  128. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
  129. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +2 -2
  130. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  131. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +2 -2
  132. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +1 -1
  133. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +2 -2
  134. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  135. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
  137. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
  138. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +2 -2
  140. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
  142. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +2 -2
  144. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs.map +1 -1
  145. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +2 -2
  146. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js.map +1 -1
  147. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js +1 -1
  150. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +4 -4
  152. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  153. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +4 -4
  154. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  156. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  157. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
  158. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  159. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
  160. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +4 -4
  162. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  163. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +4 -4
  164. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  165. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +2 -2
  166. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -1
  167. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +2 -2
  168. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  169. package/dist/martyrs/src/modules/globals/globals.client.cjs +0 -6
  170. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  171. package/dist/martyrs/src/modules/globals/globals.client.js +0 -6
  172. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  173. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +4 -1
  174. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +4 -1
  176. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
  177. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +4 -4
  178. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +4 -4
  180. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  181. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  182. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  183. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  184. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  185. package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.cjs +4 -4
  186. package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.js +4 -4
  187. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs +2 -2
  188. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -1
  189. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js +2 -2
  190. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -1
  191. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +31 -123
  192. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -1
  193. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +31 -123
  194. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +3 -3
  196. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  197. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +3 -3
  198. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  199. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs.map +1 -1
  201. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +1 -1
  202. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js.map +1 -1
  203. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +3 -3
  204. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +3 -3
  206. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +2 -2
  208. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs.map +1 -1
  209. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +2 -2
  210. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +10 -10
  212. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +10 -10
  214. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  218. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +3 -3
  220. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
  221. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +3 -3
  222. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +2 -2
  224. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -1
  225. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +2 -2
  226. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +3 -3
  228. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  229. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +3 -3
  230. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +1 -1
  232. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -1
  233. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  234. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +1 -1
  237. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +1 -1
  238. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +3 -3
  240. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
  241. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
  242. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  243. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
  244. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
  245. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
  246. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  247. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +4 -4
  248. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
  249. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +4 -4
  250. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
  251. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  252. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs.map +1 -1
  253. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  254. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  255. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +3 -3
  256. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -1
  257. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +3 -3
  258. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +5 -5
  260. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -1
  261. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +5 -5
  262. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +7 -7
  264. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
  265. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
  266. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +5 -5
  268. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -1
  269. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +5 -5
  270. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +8 -8
  272. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  273. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +8 -8
  274. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +10 -10
  276. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
  277. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +10 -10
  278. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +4 -4
  280. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
  281. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +4 -4
  282. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +5 -5
  284. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  285. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +5 -5
  286. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +9 -9
  288. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  289. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +9 -9
  290. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +2 -2
  292. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
  293. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
  294. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +2 -2
  296. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
  297. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +2 -2
  298. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  299. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs +8 -8
  300. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs.map +1 -1
  301. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +8 -8
  302. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  303. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +1 -1
  304. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -1
  305. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +1 -1
  306. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  307. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +4 -4
  308. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
  309. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +4 -4
  310. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +2 -2
  312. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -1
  313. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +2 -2
  314. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +1 -1
  316. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +1 -1
  317. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +1 -1
  318. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  319. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +8 -8
  320. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  321. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +8 -8
  322. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  323. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +1 -1
  324. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  325. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +1 -1
  326. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  327. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs +1 -1
  328. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs.map +1 -1
  329. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  330. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  331. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs +1 -1
  332. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +1 -1
  333. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +3 -3
  334. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +3 -3
  335. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +3 -3
  336. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map +1 -1
  337. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  338. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  339. package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.cjs +1 -1
  340. package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.js +1 -1
  341. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.cjs +2 -2
  342. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +2 -2
  343. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  344. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -1
  345. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  346. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  347. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +4 -4
  348. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -1
  349. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +4 -4
  350. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  351. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
  352. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -1
  353. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  354. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  355. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +5 -5
  356. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  357. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +5 -5
  358. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  359. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +3 -3
  360. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +3 -3
  361. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +7 -7
  362. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +7 -7
  364. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  365. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +8 -8
  366. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
  367. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +8 -8
  368. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
  369. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  370. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  371. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  372. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs.map +1 -1
  373. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  374. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  375. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +2 -2
  376. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  377. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +2 -2
  378. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  379. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  380. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs.map +1 -1
  381. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  382. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  383. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +4 -4
  384. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  385. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +4 -4
  386. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  387. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +3 -3
  388. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  389. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +3 -3
  390. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  391. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +4 -4
  392. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  393. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +4 -4
  394. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  395. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +2 -2
  396. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
  397. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +2 -2
  398. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  399. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.cjs → THC.vue2.cjs} +2 -2
  400. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +1 -0
  401. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.js → THC.vue2.js} +2 -2
  402. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +1 -0
  403. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  404. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  405. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  406. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  407. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  408. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  409. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +5 -5
  410. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  411. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -5
  412. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  413. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +3 -3
  414. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs.map +1 -1
  415. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +3 -3
  416. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  417. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +3 -3
  418. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs.map +1 -1
  419. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
  420. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +5 -5
  422. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
  423. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +5 -5
  424. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  425. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +4 -4
  426. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
  427. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +4 -4
  428. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  429. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +2 -2
  430. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
  431. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +2 -2
  432. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
  433. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  434. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
  435. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  436. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  437. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  438. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
  439. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  440. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  441. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
  442. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  443. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  444. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  445. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  446. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs.map +1 -1
  447. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  448. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
  449. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +6 -6
  450. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
  451. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +6 -6
  452. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  453. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  454. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  455. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +4 -4
  456. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs.map +1 -1
  457. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +4 -4
  458. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  459. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +4 -4
  460. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs.map +1 -1
  461. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +4 -4
  462. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  463. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  464. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +1 -1
  465. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  466. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  467. package/dist/martyrs.cjs.js +1 -1
  468. package/dist/martyrs.css +1 -1
  469. package/dist/martyrs.es.js +1 -1
  470. package/dist/{metadata.schema-RlxNv46L.cjs → metadata.schema-BGykn-_r.cjs} +2 -2
  471. package/dist/{metadata.schema-CWmcDJN7.js → metadata.schema-CIRR_WQ-.js} +2 -2
  472. package/dist/music.server.cjs +30 -33
  473. package/dist/music.server.js +30 -33
  474. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +2 -2
  475. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -1
  476. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js +2 -2
  477. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -1
  478. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs +13 -13
  479. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs.map +1 -1
  480. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js +13 -13
  481. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js.map +1 -1
  482. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs +3 -3
  483. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs.map +1 -1
  484. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js +3 -3
  485. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
  486. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs +10 -10
  487. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs.map +1 -1
  488. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js +10 -10
  489. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js.map +1 -1
  490. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs +2 -2
  491. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +1 -1
  492. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +2 -2
  493. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -1
  494. package/dist/notifications.server.cjs +22 -18
  495. package/dist/notifications.server.js +22 -18
  496. package/dist/orders.server.cjs +10 -10
  497. package/dist/orders.server.js +10 -10
  498. package/dist/organizations.server.cjs +13 -13
  499. package/dist/organizations.server.js +13 -13
  500. package/dist/{ownership.schema-D1p5XSpt.cjs → ownership.schema-CRYdbemm.cjs} +2 -2
  501. package/dist/{ownership.schema-BqH4v5vH.js → ownership.schema-fwwDf_e5.js} +2 -2
  502. package/dist/pages.server.cjs +2 -2
  503. package/dist/pages.server.js +2 -2
  504. package/dist/products.server.cjs +13 -13
  505. package/dist/products.server.js +13 -13
  506. package/dist/{profile.schema-BGAe5VN5.js → profile.schema-CjLOfG7b.js} +2 -2
  507. package/dist/{profile.schema-pidHrksV.cjs → profile.schema-l0Dk4Ptu.cjs} +2 -2
  508. package/dist/rents.server.cjs +2 -2
  509. package/dist/rents.server.js +2 -2
  510. package/dist/reports.server.cjs +2 -2
  511. package/dist/reports.server.js +2 -2
  512. package/dist/{socials.schema-CtpSF9dE.cjs → socials.schema-CqEHax2w.cjs} +2 -2
  513. package/dist/{socials.schema-BOZV82Mp.js → socials.schema-DxnnaBgO.js} +2 -2
  514. package/dist/spots.server.cjs +4 -4
  515. package/dist/spots.server.js +4 -4
  516. package/dist/style.css +75 -76
  517. package/dist/{web-BkaOiiSn.js → web-8cpb2Zat.js} +1 -1
  518. package/dist/{web-CROHFHoW.cjs → web-B0k809Uc.cjs} +1 -1
  519. package/package.json +8 -12
  520. package/src/builder/builder.js +0 -6
  521. package/src/components/Button/Button.vue +0 -1
  522. package/src/components/Calendar/Calendar.vue +2 -2
  523. package/src/components/Chips/Chips.vue +1 -1
  524. package/src/components/Countdown/Countdown.vue +4 -4
  525. package/src/components/EmptyState/EmptyState.vue +1 -1
  526. package/src/components/FieldBig/FieldBig.vue +1 -1
  527. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  528. package/src/components/LocationMarker/LocationMarker.vue +2 -2
  529. package/src/components/Menu/MenuItem.vue +1 -1
  530. package/src/components/Status/Snack.vue +1 -1
  531. package/src/components/Status/Status.vue +1 -1
  532. package/src/components/UploadImage/UploadImage.vue +2 -2
  533. package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
  534. package/src/modules/STYLES.MD +59 -77
  535. package/src/modules/TASK-CORE-TRANSFER.MD +62 -0
  536. package/src/modules/auth/views/components/pages/EnterPassword.vue +1 -1
  537. package/src/modules/auth/views/components/pages/Profile.vue +3 -3
  538. package/src/modules/auth/views/components/pages/ProfileEdit.vue +1 -1
  539. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  540. package/src/modules/backoffice/components/admin/Users.vue +1 -1
  541. package/src/modules/backoffice/components/pages/Dashboard.vue +3 -3
  542. package/src/modules/backoffice/components/partials/Sidebar.vue +2 -2
  543. package/src/modules/chats/components/sections/ChatWindow.vue +1 -1
  544. package/src/modules/chats/routes/chats.routes.js +6 -4
  545. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  546. package/src/modules/community/components/layouts/Community.vue +2 -2
  547. package/src/modules/community/components/sections/Comment.vue +1 -1
  548. package/src/modules/community/components/sections/Comments.vue +1 -1
  549. package/src/modules/constructor/components/elements/Card.vue +1 -1
  550. package/src/modules/constructor/components/sections/Constructor.vue +2 -2
  551. package/src/modules/constructor/components/sections/Viewer.vue +1 -1
  552. package/src/modules/events/TASKS.MD +0 -0
  553. package/src/modules/events/components/blocks/CardEvent.vue +4 -4
  554. package/src/modules/events/components/pages/Event.vue +3 -3
  555. package/src/modules/events/components/pages/Events.vue +4 -4
  556. package/src/modules/events/components/sections/SelectDate.vue +2 -2
  557. package/src/modules/globals/TASK.MD +9 -102
  558. package/src/modules/globals/globals.client.js +0 -7
  559. package/src/modules/globals/globals.server.js +14 -1
  560. package/src/modules/globals/views/classes/globals.app.js +8 -4
  561. package/src/modules/globals/views/components/blocks/CardHeader.vue +4 -4
  562. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
  563. package/src/modules/globals/views/components/elements/PhotoStack.vue +4 -4
  564. package/src/modules/globals/views/components/partials/CitySelection.vue +2 -2
  565. package/src/modules/globals/views/components/partials/Footer.centered.vue +6 -6
  566. package/src/modules/globals/views/components/partials/Footer.vue +31 -131
  567. package/src/modules/globals/views/components/partials/Header.vue +3 -3
  568. package/src/modules/globals/views/components/partials/LocationSelection.vue +1 -1
  569. package/src/modules/globals/views/components/partials/Navigation.vue +1 -1
  570. package/src/modules/globals/views/components/sections/SectionPageTitle.vue +2 -2
  571. package/src/modules/globals/views/components/sections/Walkthrough.vue +10 -10
  572. package/src/modules/governance/TASK-TRACKER.MD +192 -0
  573. package/src/modules/governance/controllers/routes/initiatives.routes.js +106 -11
  574. package/src/modules/governance/controllers/routes/milestones.routes.js +111 -0
  575. package/src/modules/governance/controllers/routes/tasks.routes.js +164 -11
  576. package/src/modules/governance/controllers/routes/votes.routes.js +50 -9
  577. package/src/modules/governance/controllers/routes/votings.routes.js +209 -12
  578. package/src/modules/governance/data/mockData.js +654 -0
  579. package/src/modules/governance/governance.server.js +6 -11
  580. package/src/modules/governance/middlewares/initiatives.verifier.js +197 -0
  581. package/src/modules/governance/middlewares/milestones.verifier.js +243 -0
  582. package/src/modules/governance/middlewares/tasks.verifier.js +224 -0
  583. package/src/modules/governance/middlewares/votes.verifier.js +115 -0
  584. package/src/modules/governance/middlewares/votings.verifier.js +237 -0
  585. package/src/modules/governance/models/initiative.model.js +14 -8
  586. package/src/modules/governance/models/task.model.js +13 -1
  587. package/src/modules/governance/models/voting.model.js +68 -2
  588. package/src/modules/governance/reactcode/.bolt/config.json +3 -0
  589. package/src/modules/governance/reactcode/.bolt/prompt +5 -0
  590. package/src/modules/governance/reactcode/eslint.config.js +28 -0
  591. package/src/modules/governance/reactcode/index.html +13 -0
  592. package/src/modules/governance/reactcode/package-lock.json +4229 -0
  593. package/src/modules/governance/reactcode/package.json +36 -0
  594. package/src/modules/governance/reactcode/postcss.config.js +6 -0
  595. package/src/modules/governance/reactcode/src/App.tsx +29 -0
  596. package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +258 -0
  597. package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +257 -0
  598. package/src/modules/governance/reactcode/src/components/EmptyState.tsx +29 -0
  599. package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +59 -0
  600. package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +58 -0
  601. package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +82 -0
  602. package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +70 -0
  603. package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +183 -0
  604. package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +100 -0
  605. package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +184 -0
  606. package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +74 -0
  607. package/src/modules/governance/reactcode/src/components/TaskCard.tsx +88 -0
  608. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +27 -0
  609. package/src/modules/governance/reactcode/src/components/VoteForm.tsx +96 -0
  610. package/src/modules/governance/reactcode/src/components/VotingCard.tsx +78 -0
  611. package/src/modules/governance/reactcode/src/components/VotingResults.tsx +155 -0
  612. package/src/modules/governance/reactcode/src/data/mockData.ts +1465 -0
  613. package/src/modules/governance/reactcode/src/index.css +3 -0
  614. package/src/modules/governance/reactcode/src/main.tsx +10 -0
  615. package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +569 -0
  616. package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +171 -0
  617. package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +182 -0
  618. package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +178 -0
  619. package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +256 -0
  620. package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +529 -0
  621. package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +191 -0
  622. package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +86 -0
  623. package/src/modules/governance/reactcode/src/vite-env.d.ts +1 -0
  624. package/src/modules/governance/reactcode/tailwind.config.js +8 -0
  625. package/src/modules/governance/reactcode/tsconfig.app.json +24 -0
  626. package/src/modules/governance/reactcode/tsconfig.json +7 -0
  627. package/src/modules/governance/reactcode/tsconfig.node.json +22 -0
  628. package/src/modules/governance/reactcode/vite.config.ts +10 -0
  629. package/src/modules/governance/seed-governance.js +348 -0
  630. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +58 -7
  631. package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +70 -0
  632. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +58 -7
  633. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +65 -7
  634. package/src/modules/governance/views/components/layouts/Governance.vue +23 -0
  635. package/src/modules/governance/views/components/pages/Governance.vue +44 -0
  636. package/src/modules/governance/views/components/pages/Initiative.vue +413 -8
  637. package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +159 -0
  638. package/src/modules/governance/views/components/pages/Initiatives.vue +164 -6
  639. package/src/modules/governance/views/components/pages/Milestone.vue +170 -0
  640. package/src/modules/governance/views/components/pages/Roadmap.vue +238 -0
  641. package/src/modules/governance/views/components/pages/Task.vue +393 -14
  642. package/src/modules/governance/views/components/pages/Tasks.vue +164 -10
  643. package/src/modules/governance/views/components/pages/Voting.vue +167 -20
  644. package/src/modules/governance/views/components/pages/Votings.vue +86 -9
  645. package/src/modules/governance/views/components/partials/EmptyState.vue +41 -0
  646. package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +73 -0
  647. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +35 -0
  648. package/src/modules/governance/views/components/partials/VoteForm.vue +100 -0
  649. package/src/modules/governance/views/components/partials/VotingResults.vue +127 -0
  650. package/src/modules/governance/views/router/goverance.router.js +52 -1
  651. package/src/modules/governance/views/store/initiatives.js +10 -7
  652. package/src/modules/governance/views/store/tasks.js +10 -7
  653. package/src/modules/governance/views/store/votes.js +10 -7
  654. package/src/modules/governance/views/store/votings.js +9 -6
  655. package/src/modules/inventory/components/forms/AdjustmentForm.vue +1 -1
  656. package/src/modules/landing/components/sections/Examples.vue +1 -1
  657. package/src/modules/landing/components/sections/SectionEarn.vue +2 -2
  658. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  659. package/src/modules/landing/components/sections/SectionFeaturesImages.vue +1 -1
  660. package/src/modules/landing/components/sections/SectionFocus.vue +1 -1
  661. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  662. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  663. package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
  664. package/src/modules/landing/components/sections/SectionJoinUs.vue +1 -1
  665. package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
  666. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
  667. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +3 -3
  668. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +1 -1
  669. package/src/modules/music/components/forms/AlbumForm.vue +2 -2
  670. package/src/modules/music/components/forms/ArtistForm.vue +4 -4
  671. package/src/modules/music/components/forms/PlaylistForm.vue +6 -6
  672. package/src/modules/music/components/forms/TrackForm.vue +4 -4
  673. package/src/modules/music/components/pages/Album.vue +8 -8
  674. package/src/modules/music/components/pages/Artist.vue +10 -10
  675. package/src/modules/music/components/pages/MusicLibrary.vue +4 -4
  676. package/src/modules/music/components/pages/Playlist.vue +5 -5
  677. package/src/modules/music/components/pages/Track.vue +9 -9
  678. package/src/modules/music/music.server.js +0 -1
  679. package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
  680. package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
  681. package/src/modules/notifications/notifications.server.js +26 -20
  682. package/src/modules/orders/components/blocks/CardOrder.vue +7 -7
  683. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +1 -1
  684. package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
  685. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +2 -2
  686. package/src/modules/orders/components/elements/PriceTotal.vue +1 -1
  687. package/src/modules/orders/components/pages/Favorites.vue +1 -1
  688. package/src/modules/orders/components/pages/OrderBackoffice.vue +7 -7
  689. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  690. package/src/modules/orders/components/partials/ShopCart.vue +1 -1
  691. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  692. package/src/modules/orders/components/sections/Succes.vue +1 -1
  693. package/src/modules/organizations/components/blocks/CardOrganization.vue +3 -3
  694. package/src/modules/organizations/components/blocks/EmptyState.vue +1 -1
  695. package/src/modules/organizations/components/blocks/Rating.vue +2 -2
  696. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +1 -1
  697. package/src/modules/organizations/components/forms/DepartmentForm.vue +2 -2
  698. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  699. package/src/modules/organizations/components/pages/Department.vue +2 -2
  700. package/src/modules/organizations/components/pages/DepartmentEdit.vue +2 -2
  701. package/src/modules/organizations/components/pages/Organization.new.vue +7 -7
  702. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  703. package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +8 -8
  704. package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
  705. package/src/modules/products/components/blocks/CardCategory.vue +2 -2
  706. package/src/modules/products/components/blocks/CardPosition.vue +1 -1
  707. package/src/modules/products/components/blocks/CardProduct.vue +3 -3
  708. package/src/modules/products/components/blocks/ProductDiscounts.vue +2 -2
  709. package/src/modules/products/components/elements/Price.vue +4 -4
  710. package/src/modules/products/components/elements/QuantitySelector.vue +2 -2
  711. package/src/modules/products/components/forms/StockAuditForm.vue +1 -1
  712. package/src/modules/products/components/pages/Product.vue +2 -2
  713. package/src/modules/products/components/pages/Products.vue +4 -4
  714. package/src/modules/products/components/sections/EditAttributes.vue +3 -3
  715. package/src/modules/products/components/sections/EditDiscounts.vue +3 -3
  716. package/src/modules/products/components/sections/EditVariants.vue +5 -5
  717. package/src/modules/products/components/sections/FilterProducts.vue +3 -3
  718. package/src/modules/products/components/sections/HeroRecommendation.vue +2 -2
  719. package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
  720. package/src/modules/products/components/sections/ProductsRecommended.vue +1 -1
  721. package/src/modules/products/components/sections/SectionProduct.vue +2 -2
  722. package/src/modules/reports/components/sections/FormReport.vue +2 -2
  723. package/src/modules/spots/components/blocks/CardSpot.vue +5 -5
  724. package/src/modules/spots/components/pages/Spot.vue +2 -2
  725. package/src/modules/spots/components/pages/SpotEdit.vue +3 -3
  726. package/src/modules/wallet/views/components/pages/Wallet.vue +4 -4
  727. package/src/styles/base/all.scss +20 -0
  728. package/src/styles/config.scss +10 -9
  729. package/src/styles/typography.scss +13 -13
  730. package/dist/globals.observer-C_FYclgV.cjs +0 -78
  731. package/dist/globals.observer-MZsqaE6F.js +0 -79
  732. package/dist/main-8f945Ngn.cjs +0 -11
  733. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -2
  734. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +0 -1
  735. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +0 -2
  736. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
  737. package/dist/martyrs/src/components/Spoiler/Spoiler.vue.js.map +0 -1
  738. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs.map +0 -1
  739. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +0 -1
  740. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs +0 -2
  741. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs.map +0 -1
  742. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js +0 -2
  743. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js.map +0 -1
  744. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
  745. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +0 -1
  746. package/dist/tickets.controller-9zoaVPcx.cjs +0 -444
  747. package/dist/tickets.controller-C8sWVqbB.js +0 -428
  748. package/dist/wallet.server.cjs +0 -528
  749. package/dist/wallet.server.js +0 -511
  750. package/src/builder/modes/ssr.vite.dev.js +0 -180
  751. package/src/builder/ssr/ssr-render-html.vite.js +0 -35
  752. package/src/builder/vite/index.js +0 -13
  753. package/src/builder/vite/vite.config.api.js +0 -52
  754. package/src/builder/vite/vite.config.base.js +0 -110
  755. package/src/builder/vite/vite.config.spa.client.js +0 -81
  756. package/src/builder/vite/vite.config.ssr.client.js +0 -244
  757. package/src/builder/vite/vite.config.ssr.server.js +0 -74
  758. package/src/modules/governance/controllers/factories/initiatives.controller.js +0 -90
  759. package/src/modules/governance/controllers/factories/tasks.controller.js +0 -88
  760. package/src/modules/governance/controllers/factories/votes.controller.js +0 -64
  761. package/src/modules/governance/controllers/factories/votings.controller.js +0 -105
  762. package/src/modules/governance/views/store/projects.js +0 -148
  763. /package/src/modules/governance/{DESCRIPTION.MD → IGNORE-ITS FOR FUTURE-DESCRIPTION.MD} +0 -0
@@ -17,7 +17,7 @@ const _hoisted_2 = { class: "mn-b-medium" };
17
17
  const _hoisted_3 = { class: "t-transp mn-b-medium" };
18
18
  const _hoisted_4 = {
19
19
  key: 0,
20
- class: "flex flex-wrap flex-h-center gap-medium"
20
+ class: "flex flex-wrap flex-h-center gap-regular"
21
21
  };
22
22
  const _hoisted_5 = ["href"];
23
23
  const _sfc_main = {
@@ -173,7 +173,7 @@ const _sfc_main = {
173
173
  class: "hover-scale-1 bg-light radius-small pd-thin transition-all"
174
174
  }, [
175
175
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(socialIcons[social.icon]), {
176
- class: "i-semi",
176
+ class: "i-medium",
177
177
  fill: "rgb(var(--dark))"
178
178
  }))
179
179
  ], 8, _hoisted_5);
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSubscribeNewsletter.vue.cjs","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-medium\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-semi\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n globals.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n globals.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n globals.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useI18n","ref","IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email","globals.setError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAKA,gBAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQC,IAAAA,IAAI,EAAE;AAClB,QAAI,qBAAqBA,IAAAA,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUC,SAAAA;AAAAA,MACV,WAAWC,UAAAA;AAAAA,MACX,UAAUC,SAAAA;AAAAA,MACV,SAASC,QAAAA;AAAAA,MACT,SAASC,QAAAA;AAAAA,MACT,UAAUC,SAAAA;AAAAA,MACV,UAAUC,SAAAA;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvCC,gBAAAA,SAAiB,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACnF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtCA,gBAAAA,SAAiB,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACrF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjBA,gBAAAA,SAAiB,KAAK;AACtB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FieldSubscribeNewsletter.vue.cjs","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-regular\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-medium\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n globals.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n globals.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n globals.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["useI18n","ref","IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email","globals.setError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAKA,gBAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQC,IAAAA,IAAI,EAAE;AAClB,QAAI,qBAAqBA,IAAAA,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUC,SAAAA;AAAAA,MACV,WAAWC,UAAAA;AAAAA,MACX,UAAUC,SAAAA;AAAAA,MACV,SAASC,QAAAA;AAAAA,MACT,SAASC,QAAAA;AAAAA,MACT,UAAUC,SAAAA;AAAAA,MACV,UAAUC,SAAAA;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvCC,gBAAAA,SAAiB,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACnF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtCA,gBAAAA,SAAiB,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACrF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjBA,gBAAAA,SAAiB,KAAK;AACtB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -15,7 +15,7 @@ const _hoisted_2 = { class: "mn-b-medium" };
15
15
  const _hoisted_3 = { class: "t-transp mn-b-medium" };
16
16
  const _hoisted_4 = {
17
17
  key: 0,
18
- class: "flex flex-wrap flex-h-center gap-medium"
18
+ class: "flex flex-wrap flex-h-center gap-regular"
19
19
  };
20
20
  const _hoisted_5 = ["href"];
21
21
  const _sfc_main = {
@@ -171,7 +171,7 @@ const _sfc_main = {
171
171
  class: "hover-scale-1 bg-light radius-small pd-thin transition-all"
172
172
  }, [
173
173
  (openBlock(), createBlock(resolveDynamicComponent(socialIcons[social.icon]), {
174
- class: "i-semi",
174
+ class: "i-medium",
175
175
  fill: "rgb(var(--dark))"
176
176
  }))
177
177
  ], 8, _hoisted_5);
@@ -1 +1 @@
1
- {"version":3,"file":"FieldSubscribeNewsletter.vue.js","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-medium\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-semi\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n globals.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n globals.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n globals.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email","globals.setError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAK,QAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQ,IAAI,EAAE;AAClB,QAAI,qBAAqB,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUA;AAAAA,MACV,WAAWC;AAAAA,MACX,UAAUC;AAAAA,MACV,SAASC;AAAAA,MACT,SAASC;AAAAA,MACT,UAAUC;AAAAA,MACV,UAAUC;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvCC,iBAAiB,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACnF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtCA,iBAAiB,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACrF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjBA,iBAAiB,KAAK;AACtB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FieldSubscribeNewsletter.vue.js","sources":["../../../../../../../src/modules/orders/components/elements/FieldSubscribeNewsletter.vue"],"sourcesContent":["<template>\n <FieldBig \n :input=\"email\" \n :typingSpeed=\"typingSpeed\"\n :loopTyping=\"loopTyping\"\n :enableTyping=\"enableTyping\"\n :placeholder=\"props.placeholder || t('orders.newsletter.placeholder')\"\n :action=\"props.action === false ? '' : props.action || t('orders.newsletter.action')\"\n :name=\"fieldName\"\n :id=\"fieldId\"\n @update:input=\"email = $event\"\n @action=\"sendApplication\"\n :showLoader=\"true\"\n :showSuccess=\"false\"\n :callbackDelay=\"100\"\n v-bind=\"$attrs\"\n >\n <Popup\n :isPopupOpen=\"isSuccessPopupOpen\"\n @close-popup=\"isSuccessPopupOpen = false\"\n align=\"center center\"\n class=\"bg-white t-black pd-big radius-big\"\n >\n <div class=\"t-center\">\n <h3 class=\"mn-b-medium\">{{ props.successTitle || t('orders.newsletter.success.title') }}</h3>\n <p class=\"t-transp mn-b-medium\">{{ props.successSubtitle || t('orders.newsletter.success.subtitle') }}</p>\n \n <div v-if=\"(props.socials || tm('orders.newsletter.socials')) && (props.socials || tm('orders.newsletter.socials')).length\" class=\"flex flex-wrap flex-h-center gap-regular\">\n <a\n v-for=\"social in (props.socials || tm('orders.newsletter.socials'))\"\n :key=\"social.name\"\n :href=\"social.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"hover-scale-1 bg-light radius-small pd-thin transition-all\"\n >\n <component\n :is=\"socialIcons[social.icon]\"\n class=\"i-medium\"\n :fill=\"'rgb(var(--dark))'\"\n />\n </a>\n </div>\n </div>\n </Popup>\n </FieldBig>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FieldBig from '@martyrs/src/components/FieldBig/FieldBig.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\nimport IconFacebook from '@martyrs/src/modules/icons/socials/facebook.vue'\nimport IconInstagram from '@martyrs/src/modules/icons/socials/instagram.vue'\nimport IconTelegram from '@martyrs/src/modules/icons/socials/telegram.vue'\nimport IconTwitter from '@martyrs/src/modules/icons/socials/twitter.vue'\nimport IconYoutube from '@martyrs/src/modules/icons/socials/youtube.vue'\nimport IconLinkedin from '@martyrs/src/modules/icons/socials/linkedin.vue'\nimport IconWhatsapp from '@martyrs/src/modules/icons/socials/whatsapp.vue'\n\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport applications from '@martyrs/src/modules/orders/store/applications.js'\n\nconst props = defineProps({\n // Тексты компонента\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n action: {\n type: String,\n default: null\n },\n successTitle: {\n type: String,\n default: null\n },\n successSubtitle: {\n type: String,\n default: null\n },\n socials: {\n type: Array,\n default: null\n },\n // Настройки поля\n typingSpeed: {\n type: Number,\n default: 75\n },\n loopTyping: {\n type: Boolean,\n default: false\n },\n enableTyping: {\n type: Boolean,\n default: false\n },\n fieldName: {\n type: String,\n default: 'newsletter-email'\n },\n fieldId: {\n type: String,\n default: null\n }\n})\n\n// Используем только глобальную локализацию\nconst { t, tm } = useI18n({\n useScope: 'global'\n})\n\nlet email = ref('')\nlet isSuccessPopupOpen = ref(false)\n\nconst socialIcons = {\n facebook: IconFacebook,\n instagram: IconInstagram,\n telegram: IconTelegram,\n twitter: IconTwitter,\n youtube: IconYoutube,\n linkedin: IconLinkedin,\n whatsapp: IconWhatsapp\n}\n\n// Функция валидации email\nfunction validateEmail(email) {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return emailRegex.test(email)\n}\n\nfunction showSuccessPopup() {\n isSuccessPopupOpen.value = true\n}\n\nasync function sendApplication() {\n // Валидация email перед отправкой\n if (!email.value || !email.value.trim()) {\n globals.setError({ message: t('validation.email.required') || 'Email is required' })\n return Promise.reject(new Error('Email is required'))\n }\n\n if (!validateEmail(email.value.trim())) {\n globals.setError({ message: t('validation.email.invalid') || 'Invalid email format' })\n return Promise.reject(new Error('Invalid email format'))\n }\n\n gtag('event', 'subscribe_newsletter', {\n 'event_category': 'conversion',\n 'event_label': 'Subscribe Newsletter'\n });\n\n try {\n let application = {\n type: 'newsletter',\n contacts: {\n email: email.value.trim()\n }\n };\n\n // Используем публичный API для создания заявки\n const response = await fetch(`${process.env.API_URL}/api/applications/public`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(application)\n });\n\n if (!response.ok) {\n throw new Error('Failed to create application');\n }\n\n const result = await response.json();\n\n showSuccessPopup()\n return Promise.resolve(result);\n } catch (error) {\n console.log(error)\n globals.setError(error)\n return Promise.reject(error);\n }\n}\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconFacebook","IconInstagram","IconTelegram","IconTwitter","IconYoutube","IconLinkedin","IconWhatsapp","email","globals.setError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAsDd,UAAM,EAAE,GAAG,GAAE,IAAK,QAAQ;AAAA,MACxB,UAAU;AAAA,IACZ,CAAC;AAED,QAAI,QAAQ,IAAI,EAAE;AAClB,QAAI,qBAAqB,IAAI,KAAK;AAElC,UAAM,cAAc;AAAA,MAClB,UAAUA;AAAAA,MACV,WAAWC;AAAAA,MACX,UAAUC;AAAAA,MACV,SAASC;AAAAA,MACT,SAASC;AAAAA,MACT,UAAUC;AAAAA,MACV,UAAUC;AAAAA,IACZ;AAGA,aAAS,cAAcC,QAAO;AAC5B,YAAM,aAAa;AACnB,aAAO,WAAW,KAAKA,MAAK;AAAA,IAC9B;AAEA,aAAS,mBAAmB;AAC1B,yBAAmB,QAAQ;AAAA,IAC7B;AAEA,mBAAe,kBAAkB;AAE/B,UAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MAAM,QAAQ;AACvCC,iBAAiB,EAAE,SAAS,EAAE,2BAA2B,KAAK,oBAAmB,CAAE;AACnF,eAAO,QAAQ,OAAO,IAAI,MAAM,mBAAmB,CAAC;AAAA,MACtD;AAEA,UAAI,CAAC,cAAc,MAAM,MAAM,KAAI,CAAE,GAAG;AACtCA,iBAAiB,EAAE,SAAS,EAAE,0BAA0B,KAAK,uBAAsB,CAAE;AACrF,eAAO,QAAQ,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAAA,MACzD;AAEA,WAAK,SAAS,wBAAwB;AAAA,QACpC,kBAAkB;AAAA,QAClB,eAAe;AAAA,MACnB,CAAG;AAED,UAAI;AACF,YAAI,cAAc;AAAA,UAChB,MAAM;AAAA,UACN,UAAU;AAAA,YACR,OAAO,MAAM,MAAM,KAAI;AAAA,UAC/B;AAAA,QACA;AAGI,cAAM,WAAW,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,4BAA4B;AAAA,UAC7E,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,UACxB;AAAA,UACM,MAAM,KAAK,UAAU,WAAW;AAAA,QACtC,CAAK;AAED,YAAI,CAAC,SAAS,IAAI;AAChB,gBAAM,IAAI,MAAM,8BAA8B;AAAA,QAChD;AAEA,cAAM,SAAS,MAAM,SAAS,KAAI;AAElC,yBAAgB;AAChB,eAAO,QAAQ,QAAQ,MAAM;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjBA,iBAAiB,KAAK;AACtB,eAAO,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -24,7 +24,7 @@ const _hoisted_11 = {
24
24
  };
25
25
  const _hoisted_12 = { class: "w-100 t-transp" };
26
26
  const _hoisted_13 = { class: "w-100 t-right" };
27
- const _hoisted_14 = { class: "p-semi flex flex-nowrap pd-b-small pd-t-small" };
27
+ const _hoisted_14 = { class: "p-medium flex flex-nowrap pd-b-small pd-t-small" };
28
28
  const _hoisted_15 = { class: "w-100 t-medium" };
29
29
  const _hoisted_16 = { class: "w-100 t-main t-medium t-right" };
30
30
  const _sfc_main = {
@@ -1 +1 @@
1
- {"version":3,"file":"PriceTotal.vue.cjs","sources":["../../../../../../../src/modules/orders/components/elements/PriceTotal.vue"],"sourcesContent":["<template>\n <div class=\"total-calculations\">\n <!-- Base price calculation -->\n <p class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('subtotal') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{totalPrice}}</span>\n </p>\n \n <!-- Platform fee (conditional) -->\n <p v-if=\"showFees\" class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('feesRate') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{feesRate}}</span>\n </p>\n \n <!-- VAT calculation (conditional) -->\n <p v-if=\"showVat\" class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('vat', { rate: vatRate * 100 }) }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{vatAmount}}</span>\n </p>\n\n <!-- Delivery fee (conditional) -->\n <p v-if=\"showDeliveryFee\" class=\"flex flex-nowrap br-black-transp-10 br-solid br-b pd-b-small pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('delivery') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{deliveryAmount}}</span>\n </p>\n \n <!-- Grand total -->\n <p class=\"p-semi flex flex-nowrap pd-b-small pd-t-small\">\n <span class=\"w-100 t-medium\">{{ t('intotal') }}</span>\n <span class=\"w-100 t-main t-medium t-right\">{{currency}}{{grandTotal}}</span>\n </p>\n </div>\n</template>\n\n\n<script setup>\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nconst props = defineProps({\n totalPrice: {\n type: Number,\n required: true\n },\n currency: {\n type: String,\n required: true\n },\n showFees: {\n type: Boolean,\n default: false\n },\n feesRate: {\n type: Number,\n default: 0\n },\n showVat: {\n type: Boolean,\n default: false\n },\n vatRate: {\n type: Number,\n default: 0\n },\n showDeliveryFee: {\n type: Boolean,\n default: false\n },\n deliveryRate: {\n type: Number,\n default: 0\n }\n});\n\nconst text = {\n messages: {\n en: {\n subtotal: 'Subtotal',\n feesRate: 'Platform Fee',\n vat: 'VAT ({rate}%)',\n delivery: 'Delivery',\n intotal: 'In Total'\n },\n ru: {\n subtotal: 'Подытог',\n feesRate: 'Плата за платформу',\n vat: 'НДС ({rate}%)',\n delivery: 'Доставка',\n intotal: 'Итого'\n }\n }\n};\n\nconst { t } = useI18n(text);\n\nconst formatPrice = (value) => value.toFixed(0);\n\nconst vatAmount = computed(() => {\n if (!props.showVat) return 0;\n return formatPrice(props.totalPrice * props.vatRate);\n});\n\nconst feesRate = computed(() => {\n if (!props.showFees) return 0;\n return formatPrice(props.totalPrice * props.feesRate);\n});\n\nconst deliveryAmount = computed(() => {\n if (!props.showDeliveryFee) return 0;\n return formatPrice(props.deliveryRate);\n});\n\nconst grandTotal = computed(() => {\n return formatPrice(\n parseFloat(props.totalPrice) +\n parseFloat(feesRate.value) +\n parseFloat(vatAmount.value) +\n parseFloat(deliveryAmount.value)\n );\n});\n</script>\n"],"names":["useI18n","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,UAAM,QAAQ;AAmCd,UAAM,OAAO;AAAA,MACX,UAAU;AAAA,QACR,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,QACf;AAAA,QACI,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,QACf;AAAA,MACA;AAAA,IACA;AAEA,UAAM,EAAE,EAAC,IAAKA,QAAAA,QAAQ,IAAI;AAE1B,UAAM,cAAc,CAAC,UAAU,MAAM,QAAQ,CAAC;AAE9C,UAAM,YAAYC,IAAAA,SAAS,MAAM;AAC/B,UAAI,CAAC,MAAM,QAAS,QAAO;AAC3B,aAAO,YAAY,MAAM,aAAa,MAAM,OAAO;AAAA,IACrD,CAAC;AAED,UAAM,WAAWA,IAAAA,SAAS,MAAM;AAC9B,UAAI,CAAC,MAAM,SAAU,QAAO;AAC5B,aAAO,YAAY,MAAM,aAAa,MAAM,QAAQ;AAAA,IACtD,CAAC;AAED,UAAM,iBAAiBA,IAAAA,SAAS,MAAM;AACpC,UAAI,CAAC,MAAM,gBAAiB,QAAO;AACnC,aAAO,YAAY,MAAM,YAAY;AAAA,IACvC,CAAC;AAED,UAAM,aAAaA,IAAAA,SAAS,MAAM;AAChC,aAAO;AAAA,QACL,WAAW,MAAM,UAAU,IAC3B,WAAW,SAAS,KAAK,IACzB,WAAW,UAAU,KAAK,IAC1B,WAAW,eAAe,KAAK;AAAA,MACnC;AAAA,IACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PriceTotal.vue.cjs","sources":["../../../../../../../src/modules/orders/components/elements/PriceTotal.vue"],"sourcesContent":["<template>\n <div class=\"total-calculations\">\n <!-- Base price calculation -->\n <p class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('subtotal') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{totalPrice}}</span>\n </p>\n \n <!-- Platform fee (conditional) -->\n <p v-if=\"showFees\" class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('feesRate') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{feesRate}}</span>\n </p>\n \n <!-- VAT calculation (conditional) -->\n <p v-if=\"showVat\" class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('vat', { rate: vatRate * 100 }) }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{vatAmount}}</span>\n </p>\n\n <!-- Delivery fee (conditional) -->\n <p v-if=\"showDeliveryFee\" class=\"flex flex-nowrap br-black-transp-10 br-solid br-b pd-b-small pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('delivery') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{deliveryAmount}}</span>\n </p>\n \n <!-- Grand total -->\n <p class=\"p-medium flex flex-nowrap pd-b-small pd-t-small\">\n <span class=\"w-100 t-medium\">{{ t('intotal') }}</span>\n <span class=\"w-100 t-main t-medium t-right\">{{currency}}{{grandTotal}}</span>\n </p>\n </div>\n</template>\n\n\n<script setup>\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nconst props = defineProps({\n totalPrice: {\n type: Number,\n required: true\n },\n currency: {\n type: String,\n required: true\n },\n showFees: {\n type: Boolean,\n default: false\n },\n feesRate: {\n type: Number,\n default: 0\n },\n showVat: {\n type: Boolean,\n default: false\n },\n vatRate: {\n type: Number,\n default: 0\n },\n showDeliveryFee: {\n type: Boolean,\n default: false\n },\n deliveryRate: {\n type: Number,\n default: 0\n }\n});\n\nconst text = {\n messages: {\n en: {\n subtotal: 'Subtotal',\n feesRate: 'Platform Fee',\n vat: 'VAT ({rate}%)',\n delivery: 'Delivery',\n intotal: 'In Total'\n },\n ru: {\n subtotal: 'Подытог',\n feesRate: 'Плата за платформу',\n vat: 'НДС ({rate}%)',\n delivery: 'Доставка',\n intotal: 'Итого'\n }\n }\n};\n\nconst { t } = useI18n(text);\n\nconst formatPrice = (value) => value.toFixed(0);\n\nconst vatAmount = computed(() => {\n if (!props.showVat) return 0;\n return formatPrice(props.totalPrice * props.vatRate);\n});\n\nconst feesRate = computed(() => {\n if (!props.showFees) return 0;\n return formatPrice(props.totalPrice * props.feesRate);\n});\n\nconst deliveryAmount = computed(() => {\n if (!props.showDeliveryFee) return 0;\n return formatPrice(props.deliveryRate);\n});\n\nconst grandTotal = computed(() => {\n return formatPrice(\n parseFloat(props.totalPrice) +\n parseFloat(feesRate.value) +\n parseFloat(vatAmount.value) +\n parseFloat(deliveryAmount.value)\n );\n});\n</script>\n"],"names":["useI18n","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,UAAM,QAAQ;AAmCd,UAAM,OAAO;AAAA,MACX,UAAU;AAAA,QACR,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,QACf;AAAA,QACI,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,QACf;AAAA,MACA;AAAA,IACA;AAEA,UAAM,EAAE,EAAC,IAAKA,QAAAA,QAAQ,IAAI;AAE1B,UAAM,cAAc,CAAC,UAAU,MAAM,QAAQ,CAAC;AAE9C,UAAM,YAAYC,IAAAA,SAAS,MAAM;AAC/B,UAAI,CAAC,MAAM,QAAS,QAAO;AAC3B,aAAO,YAAY,MAAM,aAAa,MAAM,OAAO;AAAA,IACrD,CAAC;AAED,UAAM,WAAWA,IAAAA,SAAS,MAAM;AAC9B,UAAI,CAAC,MAAM,SAAU,QAAO;AAC5B,aAAO,YAAY,MAAM,aAAa,MAAM,QAAQ;AAAA,IACtD,CAAC;AAED,UAAM,iBAAiBA,IAAAA,SAAS,MAAM;AACpC,UAAI,CAAC,MAAM,gBAAiB,QAAO;AACnC,aAAO,YAAY,MAAM,YAAY;AAAA,IACvC,CAAC;AAED,UAAM,aAAaA,IAAAA,SAAS,MAAM;AAChC,aAAO;AAAA,QACL,WAAW,MAAM,UAAU,IAC3B,WAAW,SAAS,KAAK,IACzB,WAAW,UAAU,KAAK,IAC1B,WAAW,eAAe,KAAK;AAAA,MACnC;AAAA,IACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -22,7 +22,7 @@ const _hoisted_11 = {
22
22
  };
23
23
  const _hoisted_12 = { class: "w-100 t-transp" };
24
24
  const _hoisted_13 = { class: "w-100 t-right" };
25
- const _hoisted_14 = { class: "p-semi flex flex-nowrap pd-b-small pd-t-small" };
25
+ const _hoisted_14 = { class: "p-medium flex flex-nowrap pd-b-small pd-t-small" };
26
26
  const _hoisted_15 = { class: "w-100 t-medium" };
27
27
  const _hoisted_16 = { class: "w-100 t-main t-medium t-right" };
28
28
  const _sfc_main = {
@@ -1 +1 @@
1
- {"version":3,"file":"PriceTotal.vue.js","sources":["../../../../../../../src/modules/orders/components/elements/PriceTotal.vue"],"sourcesContent":["<template>\n <div class=\"total-calculations\">\n <!-- Base price calculation -->\n <p class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('subtotal') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{totalPrice}}</span>\n </p>\n \n <!-- Platform fee (conditional) -->\n <p v-if=\"showFees\" class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('feesRate') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{feesRate}}</span>\n </p>\n \n <!-- VAT calculation (conditional) -->\n <p v-if=\"showVat\" class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('vat', { rate: vatRate * 100 }) }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{vatAmount}}</span>\n </p>\n\n <!-- Delivery fee (conditional) -->\n <p v-if=\"showDeliveryFee\" class=\"flex flex-nowrap br-black-transp-10 br-solid br-b pd-b-small pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('delivery') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{deliveryAmount}}</span>\n </p>\n \n <!-- Grand total -->\n <p class=\"p-semi flex flex-nowrap pd-b-small pd-t-small\">\n <span class=\"w-100 t-medium\">{{ t('intotal') }}</span>\n <span class=\"w-100 t-main t-medium t-right\">{{currency}}{{grandTotal}}</span>\n </p>\n </div>\n</template>\n\n\n<script setup>\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nconst props = defineProps({\n totalPrice: {\n type: Number,\n required: true\n },\n currency: {\n type: String,\n required: true\n },\n showFees: {\n type: Boolean,\n default: false\n },\n feesRate: {\n type: Number,\n default: 0\n },\n showVat: {\n type: Boolean,\n default: false\n },\n vatRate: {\n type: Number,\n default: 0\n },\n showDeliveryFee: {\n type: Boolean,\n default: false\n },\n deliveryRate: {\n type: Number,\n default: 0\n }\n});\n\nconst text = {\n messages: {\n en: {\n subtotal: 'Subtotal',\n feesRate: 'Platform Fee',\n vat: 'VAT ({rate}%)',\n delivery: 'Delivery',\n intotal: 'In Total'\n },\n ru: {\n subtotal: 'Подытог',\n feesRate: 'Плата за платформу',\n vat: 'НДС ({rate}%)',\n delivery: 'Доставка',\n intotal: 'Итого'\n }\n }\n};\n\nconst { t } = useI18n(text);\n\nconst formatPrice = (value) => value.toFixed(0);\n\nconst vatAmount = computed(() => {\n if (!props.showVat) return 0;\n return formatPrice(props.totalPrice * props.vatRate);\n});\n\nconst feesRate = computed(() => {\n if (!props.showFees) return 0;\n return formatPrice(props.totalPrice * props.feesRate);\n});\n\nconst deliveryAmount = computed(() => {\n if (!props.showDeliveryFee) return 0;\n return formatPrice(props.deliveryRate);\n});\n\nconst grandTotal = computed(() => {\n return formatPrice(\n parseFloat(props.totalPrice) +\n parseFloat(feesRate.value) +\n parseFloat(vatAmount.value) +\n parseFloat(deliveryAmount.value)\n );\n});\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,UAAM,QAAQ;AAmCd,UAAM,OAAO;AAAA,MACX,UAAU;AAAA,QACR,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,QACf;AAAA,QACI,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,QACf;AAAA,MACA;AAAA,IACA;AAEA,UAAM,EAAE,EAAC,IAAK,QAAQ,IAAI;AAE1B,UAAM,cAAc,CAAC,UAAU,MAAM,QAAQ,CAAC;AAE9C,UAAM,YAAY,SAAS,MAAM;AAC/B,UAAI,CAAC,MAAM,QAAS,QAAO;AAC3B,aAAO,YAAY,MAAM,aAAa,MAAM,OAAO;AAAA,IACrD,CAAC;AAED,UAAM,WAAW,SAAS,MAAM;AAC9B,UAAI,CAAC,MAAM,SAAU,QAAO;AAC5B,aAAO,YAAY,MAAM,aAAa,MAAM,QAAQ;AAAA,IACtD,CAAC;AAED,UAAM,iBAAiB,SAAS,MAAM;AACpC,UAAI,CAAC,MAAM,gBAAiB,QAAO;AACnC,aAAO,YAAY,MAAM,YAAY;AAAA,IACvC,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO;AAAA,QACL,WAAW,MAAM,UAAU,IAC3B,WAAW,SAAS,KAAK,IACzB,WAAW,UAAU,KAAK,IAC1B,WAAW,eAAe,KAAK;AAAA,MACnC;AAAA,IACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PriceTotal.vue.js","sources":["../../../../../../../src/modules/orders/components/elements/PriceTotal.vue"],"sourcesContent":["<template>\n <div class=\"total-calculations\">\n <!-- Base price calculation -->\n <p class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('subtotal') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{totalPrice}}</span>\n </p>\n \n <!-- Platform fee (conditional) -->\n <p v-if=\"showFees\" class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('feesRate') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{feesRate}}</span>\n </p>\n \n <!-- VAT calculation (conditional) -->\n <p v-if=\"showVat\" class=\"flex flex-nowrap pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('vat', { rate: vatRate * 100 }) }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{vatAmount}}</span>\n </p>\n\n <!-- Delivery fee (conditional) -->\n <p v-if=\"showDeliveryFee\" class=\"flex flex-nowrap br-black-transp-10 br-solid br-b pd-b-small pd-t-small\">\n <span class=\"w-100 t-transp\">{{ t('delivery') }}</span>\n <span class=\"w-100 t-right\">{{currency}}{{deliveryAmount}}</span>\n </p>\n \n <!-- Grand total -->\n <p class=\"p-medium flex flex-nowrap pd-b-small pd-t-small\">\n <span class=\"w-100 t-medium\">{{ t('intotal') }}</span>\n <span class=\"w-100 t-main t-medium t-right\">{{currency}}{{grandTotal}}</span>\n </p>\n </div>\n</template>\n\n\n<script setup>\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nconst props = defineProps({\n totalPrice: {\n type: Number,\n required: true\n },\n currency: {\n type: String,\n required: true\n },\n showFees: {\n type: Boolean,\n default: false\n },\n feesRate: {\n type: Number,\n default: 0\n },\n showVat: {\n type: Boolean,\n default: false\n },\n vatRate: {\n type: Number,\n default: 0\n },\n showDeliveryFee: {\n type: Boolean,\n default: false\n },\n deliveryRate: {\n type: Number,\n default: 0\n }\n});\n\nconst text = {\n messages: {\n en: {\n subtotal: 'Subtotal',\n feesRate: 'Platform Fee',\n vat: 'VAT ({rate}%)',\n delivery: 'Delivery',\n intotal: 'In Total'\n },\n ru: {\n subtotal: 'Подытог',\n feesRate: 'Плата за платформу',\n vat: 'НДС ({rate}%)',\n delivery: 'Доставка',\n intotal: 'Итого'\n }\n }\n};\n\nconst { t } = useI18n(text);\n\nconst formatPrice = (value) => value.toFixed(0);\n\nconst vatAmount = computed(() => {\n if (!props.showVat) return 0;\n return formatPrice(props.totalPrice * props.vatRate);\n});\n\nconst feesRate = computed(() => {\n if (!props.showFees) return 0;\n return formatPrice(props.totalPrice * props.feesRate);\n});\n\nconst deliveryAmount = computed(() => {\n if (!props.showDeliveryFee) return 0;\n return formatPrice(props.deliveryRate);\n});\n\nconst grandTotal = computed(() => {\n return formatPrice(\n parseFloat(props.totalPrice) +\n parseFloat(feesRate.value) +\n parseFloat(vatAmount.value) +\n parseFloat(deliveryAmount.value)\n );\n});\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,UAAM,QAAQ;AAmCd,UAAM,OAAO;AAAA,MACX,UAAU;AAAA,QACR,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,QACf;AAAA,QACI,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,SAAS;AAAA,QACf;AAAA,MACA;AAAA,IACA;AAEA,UAAM,EAAE,EAAC,IAAK,QAAQ,IAAI;AAE1B,UAAM,cAAc,CAAC,UAAU,MAAM,QAAQ,CAAC;AAE9C,UAAM,YAAY,SAAS,MAAM;AAC/B,UAAI,CAAC,MAAM,QAAS,QAAO;AAC3B,aAAO,YAAY,MAAM,aAAa,MAAM,OAAO;AAAA,IACrD,CAAC;AAED,UAAM,WAAW,SAAS,MAAM;AAC9B,UAAI,CAAC,MAAM,SAAU,QAAO;AAC5B,aAAO,YAAY,MAAM,aAAa,MAAM,QAAQ;AAAA,IACtD,CAAC;AAED,UAAM,iBAAiB,SAAS,MAAM;AACpC,UAAI,CAAC,MAAM,gBAAiB,QAAO;AACnC,aAAO,YAAY,MAAM,YAAY;AAAA,IACvC,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO;AAAA,QACL,WAAW,MAAM,UAAU,IAC3B,WAAW,SAAS,KAAK,IACzB,WAAW,UAAU,KAAK,IAC1B,WAAW,eAAe,KAAK;AAAA,MACnC;AAAA,IACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -28,7 +28,7 @@ const _hoisted_2 = {
28
28
  class: "mn-b-thin pos-relative w-100 bg-main radius-medium pd-medium"
29
29
  };
30
30
  const _hoisted_3 = { class: "mn-b-small flex-nowrap flex" };
31
- const _hoisted_4 = { class: "t-medium p-medium" };
31
+ const _hoisted_4 = { class: "t-medium p-regular" };
32
32
  const _hoisted_5 = { class: "p-small t-transp" };
33
33
  const _hoisted_6 = { class: "flex-nowrap flex gap-thin pos-relative" };
34
34
  const _hoisted_7 = { class: "flex gap-thin flex-column mn-b-thin" };
@@ -308,17 +308,17 @@ const _sfc_main = {
308
308
  vue.createElementVNode("div", _hoisted_10, [
309
309
  vue.createElementVNode("div", _hoisted_11, [
310
310
  vue.createElementVNode("div", _hoisted_12, [
311
- _cache[6] || (_cache[6] = vue.createElementVNode("span", { class: "d-block t-medium p-medium mn-b-thin" }, "Order is", -1)),
311
+ _cache[6] || (_cache[6] = vue.createElementVNode("span", { class: "d-block t-medium p-regular mn-b-thin" }, "Order is", -1)),
312
312
  vue.createElementVNode("span", _hoisted_13, vue.toDisplayString(order.value.status), 1),
313
313
  vue.createElementVNode("p", _hoisted_14, vue.toDisplayString(_ctx.formatDate(order.value.updatedAt, { language: vue.unref(locale) })), 1)
314
314
  ])
315
315
  ]),
316
316
  order.value.customer.target?.number ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15, [
317
- _cache[7] || (_cache[7] = vue.createElementVNode("p", { class: "w-100 t-medium p-medium" }, " Phone ", -1)),
317
+ _cache[7] || (_cache[7] = vue.createElementVNode("p", { class: "w-100 t-medium p-regular" }, " Phone ", -1)),
318
318
  vue.createElementVNode("p", _hoisted_16, vue.toDisplayString(order.value.customer.target?.number || "Not specified"), 1)
319
319
  ])) : vue.createCommentVNode("", true),
320
320
  vue.createElementVNode("div", _hoisted_17, [
321
- _cache[8] || (_cache[8] = vue.createElementVNode("p", { class: "t-medium p-medium" }, " Address ", -1)),
321
+ _cache[8] || (_cache[8] = vue.createElementVNode("p", { class: "t-medium p-regular" }, " Address ", -1)),
322
322
  vue.createElementVNode("p", _hoisted_18, vue.toDisplayString(order.value.delivery.address || order.value.delivery.spot[0]?.profile.name + (order.value.delivery.spot[0]?.address ? ", " + order.value.delivery.spot[0].address : "") || "Not specified"), 1)
323
323
  ]),
324
324
  order.value.comment ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_19, [
@@ -326,11 +326,11 @@ const _sfc_main = {
326
326
  vue.createElementVNode("p", null, vue.toDisplayString(order.value.comment), 1)
327
327
  ])) : vue.createCommentVNode("", true),
328
328
  vue.createElementVNode("div", _hoisted_20, [
329
- _cache[10] || (_cache[10] = vue.createElementVNode("p", { class: "t-medium p-medium" }, " Delivery ", -1)),
329
+ _cache[10] || (_cache[10] = vue.createElementVNode("p", { class: "t-medium p-regular" }, " Delivery ", -1)),
330
330
  vue.createElementVNode("p", _hoisted_21, vue.toDisplayString(order.value.delivery.type ? order.value.delivery.type : "Not specified"), 1)
331
331
  ]),
332
332
  vue.createElementVNode("div", _hoisted_22, [
333
- _cache[11] || (_cache[11] = vue.createElementVNode("p", { class: "mn-r-auto t-medium p-medium" }, " Payment ", -1)),
333
+ _cache[11] || (_cache[11] = vue.createElementVNode("p", { class: "mn-r-auto t-medium p-regular" }, " Payment ", -1)),
334
334
  vue.createElementVNode("p", _hoisted_23, vue.toDisplayString(order.value.payment.type ? order.value.payment.type : "Not specified"), 1),
335
335
  vue.createElementVNode("p", {
336
336
  onClick: _cache[3] || (_cache[3] = ($event) => vue.unref(route).meta.context !== "user" && vue.unref(route).meta.context !== "root" ? openPaymentPopup() : console.log("Context:", vue.unref(route).meta.context)),
@@ -341,7 +341,7 @@ const _sfc_main = {
341
341
  vue.unref(route).meta.context !== "user" && vue.unref(route).meta.context !== "root" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24, [
342
342
  vue.createElementVNode("div", _hoisted_25, [
343
343
  vue.createVNode(IconTime.default, {
344
- class: "i-semi t-transp",
344
+ class: "i-medium t-transp",
345
345
  fill: "rgb(var(--black)"
346
346
  }),
347
347
  vue.createElementVNode("p", _hoisted_26, [
@@ -403,6 +403,6 @@ const _sfc_main = {
403
403
  };
404
404
  }
405
405
  };
406
- const OrderBackoffice = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-895f54da"]]);
406
+ const OrderBackoffice = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e884c7df"]]);
407
407
  exports.default = OrderBackoffice;
408
408
  //# sourceMappingURL=OrderBackoffice.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderBackoffice.vue.cjs","sources":["../../../../../../../src/modules/orders/components/pages/OrderBackoffice.vue"],"sourcesContent":["<template>\n\t<div v-if=\"order && orderOrganization\" class=\"pd-thin bg-white\"> \n\n\t <div v-if=\"order\" class=\"mn-b-thin pos-relative w-100 bg-main radius-medium pd-medium\">\n\t \t<div class=\"mn-b-small flex-nowrap flex\">\n\t\t \t<p class=\"t-medium p-medium\">\n\t\t \tOrder No: <span class=\"p-small t-transp\">#{{order._id}}</span>\n\t\t </p>\n\t\t\t</div>\n\n\t \t<div class=\"flex-nowrap flex gap-thin pos-relative \">\n\t\t <div v-for=\"(status, index) in globals.state.options.orders.statuses\" :key=\"index\" class=\"w-20\">\n\t\t <div\n\t\t \tclass=\"bg-white br-anim br-glow radius-extra h-1r w-100\"\n\t\t :class=\"\n\t\t\t\t\t { 'br-glow-anim': isActiveStatus(index) },\n\t\t\t\t\t { 't-transp': !isActiveStatus(index) },\n\t\t\t\t\t { 'blink': order.status === status.value && getNextStatus(order.status) }\n\t\t\t\t\t \"\n\t\t />\n\t\t <div \n\t\t \t:class=\"{ 't-transp': !isActiveStatus(index) }\"\n\t\t\t\t\t class=\"mn-t-thin p-small t-medium uppercase\">{{ status.value }}</div>\n\t\t \t</div>\n\t\t\t </div>\n\t </div>\n\n \t<Popup \n title=\"Payment Status\" \n @close-popup=\"closePaymentPopup\" \n :isPopupOpen=\"isOpenPaymentPopup\"\n class=\"bg-light w-min-25r w-max-25r radius-medium pd-big\"\n >\n \t<Select \n v-model:select=\"selectedPayments.type\"\n :property=\"'value'\"\n label=\"Type\"\n :options=\"[\n {name: 'Cash', value: 'cash'}, \n {name: 'Card', value: 'card'}, \n {name: 'Bank Transfer', value: 'bank'},\n ]\"\n placeholder=\"Select type of payment\" \n size=\"small\"\n class=\"bg-white mn-b-thin pd-regular radius-small w-100\"\n />\n\n <Select \n v-model:select=\"selectedPayments.status\"\n :property=\"'value'\"\n label=\"Status\"\n :options=\"[\n {name: 'Unpaid', value: 'unpaid'}, \n {name: 'Paid', value: 'paid'}, \n {name: 'Refunded', value: 'refunded'},\n ]\"\n placeholder=\"Select status of payment\" \n size=\"small\"\n class=\"bg-white mn-b-small pd-regular radius-small w-100\"\n />\n\n\n <Button :submit=\"changePaymentStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>Change Status</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\t <Popup \n title=\"Change order status\" \n @close-popup=\"closeStatusPopup\" \n :isPopupOpen=\"isOpeStatusPopup\"\n class=\"bg-light w-min-30r w-max-30r radius-medium pd-big\"\n >\n\n\t\t\t<!-- Добавить выбор примерного времени -->\n\n \t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n \t\t\t<CardOrderItem\n \t\t\t\tv-for=\"(product, index) in order.positions\" \n \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n \t\t\t\t:editable=\"!order.status_history || order.status_history.length <= 1\" \n \t\t\t\t:productId=\"product._id\"\n \t\t\t\t:variantId=\"product.variant\"\n \t\t\t\t:images=\"product.images\"\n \t\t\t\t:name=\"product.name\"\n \t\t\t\t:quantity=\"product.quantity\"\n \t\t\t\t:unit=\"product.unit\"\n \t\t\t\t:dates=\"product.date\"\n \t\t\t\t:listing=\"product.listing\"\n \t\t\t\t:price=\"product.price\"\n \t\t\t\t:increase=\"() => orders.mutations.incrementItemQuantity(order, product._id, product.variant)\"\n\t :decrease=\"() => orders.mutations.decrementItemQuantity(order, product._id, product.variant)\"\n\t :remove=\"() => orders.mutations.removeProduct(order, product._id, product.variant)\"\n\t @updateRentDates=\"(productId, variantId, dates) => shopcart.actions.updateRentDates({ positions: order.positions, productId, variantId, dates })\"\n \t\t\t\tclass=\"bg-white radius-small pd-small\"\n \t\t\t/>\n </ul>\n \n <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n />\n\n \t<Button :submit=\"setNextStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>{{'Confirm Changing to ' + (getNextStatus(order.status)).label}}</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\n\t \n\t <div v-if=\"order\" class=\"gap-thin cols-2 mobile:cols-1\">\n\n\t <div class=\"w-100\">\n\n\n\t\t <CardOrganization \n\t\t \tv-if=\"orderOrganization[0]\"\n\t\t :organization=\"orderOrganization[0]\"\n\t\t :showRating=\"true\"\n\t\t :showFollowers=\"false\"\n\t\t :showProducts=\"false\"\n\t\t class=\"bg-light mn-b-thin w-100 o-hidden radius-medium pd-small \"\n\t\t />\n\n\n\t\t <div \n\t\t \tclass=\"mn-b-thin bg-light w-100 o-hidden radius-medium \"\n\t\t >\n\t\t \t<div class=\"pd-small flex-nowrap flex\">\n\t\t\t \t<div class=\"mn-r-auto\">\n\t\t\t\t \t<span class=\"d-block t-medium p-medium mn-b-thin\">Order is</span>\n\t\t\t\t\t <span class=\" t-lh-075 h2 d-block mn-b-small\">{{order.status}}</span>\n\t\t\t\t\t <p class=\"pd-thin radius-extra bg-black t-white w-max\">{{formatDate(order.updatedAt, {language: locale })}}</p>\n\t\t\t\t\t </div>\n\t\t\t\t\t <!-- <div class=\"t-right\">\n\t\t\t\t\t \tCancel order<br>\n\t\t\t\t\t \tExchange item\n\t\t\t\t\t \t<hr class=\"mn-b-thin mn-t-thin\">\n\t\t\t\t\t \tFor Delivery Queries Contact Us\n\t\t\t\t\t \t\n\t\t\t\t\t </div> -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"order.customer.target?.number\" class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"w-100 t-medium p-medium\">\n\t\t\t \tPhone\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t \t{{order.customer.target?.number || 'Not specified'}}\n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-medium\">\n\t\t\t \tAddress\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right\">\n\t\t\t\t\t\t\t{{order.delivery.address || (order.delivery.spot[0]?.profile.name + (order.delivery.spot[0]?.address ? ', ' + order.delivery.spot[0].address : '')) || 'Not specified'}}\n\t\t\t </p>\n\n\n\n\t\t\t </div>\n\n\n\t\t\t <div v-if=\"order.comment\" class=\"pos-relative radius-thin mn-t-zero mn-thin bg-fifth-transp-10 pd-small\">\n\t\t\t <p class=\"mn-b-thin t-transp uppercase p-small t-medium\">Comment</p>\n\t\t\t <p>{{order.comment}}</p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-medium\">\n\t\t\t \tDelivery\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t {{order.delivery.type ? order.delivery.type : 'Not specified'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"mn-r-auto t-medium p-medium\">\n\t\t\t \tPayment\n\t\t\t </p>\n\n\n\t\t\t <p class=\"w-max t-right\">\n\t\t\t {{order.payment.type ? order.payment.type : 'Not specified'}} \n\t\t\t </p>\n\n\t\t\t <p @click=\"route.meta.context !== 'user' && route.meta.context !== 'root' ? openPaymentPopup() : console.log('Context:', route.meta.context)\" class=\"w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right\">\n\t\t\t {{order.payment.status ? order.payment.status : 'Unpaid'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\n\t\t\t\t</div>\n\n\t\t\t\t<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\">\n\t\t \t\t<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\">\n\t\t \t\t\t<IconTime class=\"i-semi t-transp\" fill=\"rgb(var(--black)\" />\n\t\t <p class=\"t-medium mn-r-auto\"><span class=\"p-small t-transp\">Estimated Reaction</span><br>{{formatDate(order.deadline, { language: locale })}}</p>\n\t\t\t \t</div>\n\t\t\t \t<button v-if=\"getNextStatus(order.status)\" @click=\"openStatusPopup\" class=\"flex-child-default mn-l-auto bg-black t-white button\"> \n\t\t\t\t Mark as {{ (getNextStatus(order.status)).label }} \n\t\t\t\t </button>\n\t\t \t</div>\n\n\t\t\t<div class=\"bg-light radius-medium pd-medium mn-r-bold w-100\">\n\t\t <h3 class=\"mn-b-small\">Chat With Us</h3>\n\n\t\t <ChatPage\n\t\t \t:username=\"['Order', 'UserOrder'].includes(route.name) ? (order.user?.name || 'User') : 'Support'\"\n\t\t \t:user=\"auth.state.user._id\"\n\t\t \t:chatID=\"route.params.order\"\n\t\t \tclass=\"radius-semi bs-black bg-light o-hidden\"\n\t\t />\n\n\t </div>\n\t \t<!-- <StatusHistory \n\t \t\tv-if=\"orders.state.current.status_history\"\n\t \t\t:statuses=\"statuses\"\n\t \t\t:statusHistory=\"orders.state.current.status_history\"\n\t \t\t:statusCurrent=\"orders.state.current.status\"\n\t \t\t:edit=\"route.name === 'Order Edit'\"\n\t \t/> -->\n\n\t <!-- \t<button \n\t \t@click=\"requestPayment(order)\"\n\t \tv-if=\"\n\t \t\torder.status === 'Подтвержден' \n\t \t\t&& order.payment.type === 'Online'\n\t \t\t&& payment.Status !== 'CONFIRMED'\n\t \t\t&& payment.Status !== 'REFUNDED'\n\t \t\" \n\t \tclass='w-100 button'>Оплатить заказ</button> -->\n\t \t<span class=\"t-transp\" v-if=\"payment && payment.Status === 'CONFIRMED'\">Paid</span> \n\t </div> \n\n\t <div class=\"bg-light radius-medium pd-medium w-100\">\n\t \t\t<h3 class=\"mn-b-small\">Order Summary</h3>\n\n\t \t\t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n\t \t\t\t<CardOrderItem\n\t \t\t\t\tv-for=\"(product, index) in order.positions\" \n\t \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n\t \t\t\t\t:editable=\"false\" \n\t \t\t\t\t:productId=\"product._id\"\n\t \t\t\t\t:variantId=\"product.variant\"\n\t \t\t\t\t:images=\"product.images\"\n\t \t\t\t\t:name=\"product.name\"\n\t \t\t\t\t:quantity=\"product.quantity\"\n\t \t\t\t\t:unit=\"product.unit\"\n\t \t\t\t\t:dates=\"product.date\"\n\t \t\t\t\t:listing=\"product.listing\"\n\t \t\t\t\t:price=\"product.price\"\n\t \t\t\t\tclass=\"bg-white radius-small pd-small\"\n\t \t\t\t/>\n\t </ul>\n\t \n\t <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n\t\t\t\t :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n\n />\n \t</div>\n\n\t \n\t </div>\n\t</div>\t\t\n\n</template>\n\n\n<script setup=\"props\">\n\timport { computed, ref, onMounted } from 'vue'\n\timport { useRouter, useRoute } from 'vue-router'\n\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Popup from \"@martyrs/src/components/Popup/Popup.vue\";\n\n\timport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n\t// Block\n\timport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport ChatPage from '@martyrs/src/modules/chats/components/pages/ChatPage.vue';\n\n\timport StatusHistory from '@martyrs/src/modules/orders/components/blocks/StatusHistory.vue'\n\timport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\timport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n\n\timport * as globals \tfrom '@martyrs/src/modules/globals/views/store/globals.js'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as orders \tfrom '@martyrs/src/modules/orders/store/orders.js'\n\timport * as products \tfrom '@martyrs/src/modules/products/store/products.js'\n\timport * as organizations \tfrom '@martyrs/src/modules/organizations/store/organizations.js'\n\n\timport { useI18n } from 'vue-i18n';\n\timport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\t\n\tconst { locale } = useI18n();\n\tconst { returnCurrency } = useGlobalMixins();\n\n\tconst router = useRouter()\n\tconst route = useRoute()\n\n\tconst order = ref(null)\n\tconst productsOrganization = ref(null)\n\tconst orderOrganization = ref(null)\n\n\tconst statuses = globals.state.options.orders.statuses\n\tconst statusLabels = ['Created', 'Confirmed', 'Preparing', 'In use', 'Finished'];\n\n if (route.meta.context === 'user' && \n auth.state.user && \n route.params._id !== auth.state.user?._id && \n !auth.state.access?.roles?.includes('ROLE_MODERATOR') && \n !auth.state.access?.roles?.includes('ROLE_ADMIN')) {\n router.push('/401');\n }\n\n\tconst isOpeStatusPopup = ref(false);\n\tconst selectedMember = ref(null);\n\n\tfunction openStatusPopup(member) {\n\t isOpeStatusPopup.value = true;\n\t if (typeof member === \"number\") selectedMember.value = member;\n\t}\n\n\tfunction closeStatusPopup() {\n\t isOpeStatusPopup.value = false;\n\t selectedMember.value = null;\n\t}\n\n\tconst isOpenPaymentPopup = ref(false);\n\n\tconst selectedPayments = ref({\n\t\ttype: null,\n\t\tstatus: null\n\t});\n\n\tfunction openPaymentPopup() {\n\t selectedPayments.value.type = order.value.payment.type\n\t selectedPayments.value.status = order.value.payment.status\n\n\t isOpenPaymentPopup.value = true;\n\t}\n\n\tfunction closePaymentPopup() {\n\t isOpenPaymentPopup.value = false;\n\t}\n\n\tonMounted(async()=>{\n\t\torder.value = await orders.actions.read({_id: route.params.order})\n\t\torder.value = order.value[0]\n\n\t orderOrganization.value = await organizations.actions.read({\n\t _id: order.value?.owner.target._id,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t });\n\n\t})\n\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n\tlet cartTotalPrice = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start)\n const end = new Date(product.date.end)\n const diffTime = Math.abs(end - start)\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0));\n })\n\n\n let cartTotalAmount = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n })\n\n // Функция установки нового статуса\n\tasync function setStatus (newStatus) {\n\t orders.state.current.status = newStatus\n\n\t await orders.actions.update(orders.state.current)\n\t} \n\n\n\tfunction getNextStatus(currentStatus) {\n\t const currentIndex = globals.state.options.orders.statuses.findIndex(status => status.value === currentStatus);\n\n\t if (currentIndex !== -1 && currentIndex + 1 < statuses.length) {\n\t return globals.state.options.orders.statuses[currentIndex + 1];\n\t }\n\t return null; // If next status doesn't exist\n\t}\n\n\tconst isActiveStatus = (index) => {\n\t return globals.state.options.orders.statuses.slice(index).some(status => status.value === order.value.status);\n\t};\n\n async function changePaymentStatus() {\n if (selectedPayments.value.status && selectedPayments.value.type) {\n orders.state.current.payment = selectedPayments.value;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Payment status is void. Must handle somehow.');\n }\n\n\t\tclosePaymentPopup()\n }\n\n async function setNextStatus() {\n const nextStatus = getNextStatus(orders.state.current.status);\n\n if (nextStatus) {\n orders.state.current.status = nextStatus.value;\n \n // Обновляем позиции заказа из текущего состояния\n orders.state.current.positions = order.value.positions;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Next status is void. Must handle somehow.');\n }\n\n\t\tcloseStatusPopup()\n }\n\n async function cancelOrder() {\n \talert()\n\n orders.state.current.status = 'canceled';\n\n await orders.actions.update(orders.state.current)\n}\n\n\n async function confirmOrder() {\n \talert()\n\n orders.state.current.status = 'confirmed';\n\n await orders.actions.update(orders.state.current)\n\t}\n\n\tfunction calculateDeliveryTime(distance, date) {\n\t if (!distance) {\n\t return null;\n\t }\n\n\t const basePreparationTime = 10 * 60 * 1000; // Convert to milliseconds\n\t const travelTime = Math.ceil((15 + 5 + 3 * distance) / 5) * 5 * 60 * 1000;\n\n\t // Преобразование даты начала в миллисекунды и добавление времени подготовки и доставки\n\t const startTime = new Date(date).getTime();\n\t const estimatedDeliveryTime = new Date(startTime + basePreparationTime + travelTime);\n\n\t return estimatedDeliveryTime;\n\t}\n\n\n</script>\n\n<style lang=\"scss\" scoped>\n\t.blink {\n\t animation: blink-animation 1s ease infinite;\n\t}\n\n\t@keyframes blink-animation {\n\t 0%, 100% {\n\t opacity: 1;\n\t }\n\t 50% {\n\t opacity: 0.8;\n\t }\n\t}\n</style>"],"names":["useI18n","useGlobalMixins","useRouter","useRoute","ref","globals.state","auth.state","onMounted","orders.actions","organizations.actions","computed","orders.state","orders.getters"],"mappings":"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"}
1
+ {"version":3,"file":"OrderBackoffice.vue.cjs","sources":["../../../../../../../src/modules/orders/components/pages/OrderBackoffice.vue"],"sourcesContent":["<template>\n\t<div v-if=\"order && orderOrganization\" class=\"pd-thin bg-white\"> \n\n\t <div v-if=\"order\" class=\"mn-b-thin pos-relative w-100 bg-main radius-medium pd-medium\">\n\t \t<div class=\"mn-b-small flex-nowrap flex\">\n\t\t \t<p class=\"t-medium p-regular\">\n\t\t \tOrder No: <span class=\"p-small t-transp\">#{{order._id}}</span>\n\t\t </p>\n\t\t\t</div>\n\n\t \t<div class=\"flex-nowrap flex gap-thin pos-relative \">\n\t\t <div v-for=\"(status, index) in globals.state.options.orders.statuses\" :key=\"index\" class=\"w-20\">\n\t\t <div\n\t\t \tclass=\"bg-white br-anim br-glow radius-extra h-1r w-100\"\n\t\t :class=\"\n\t\t\t\t\t { 'br-glow-anim': isActiveStatus(index) },\n\t\t\t\t\t { 't-transp': !isActiveStatus(index) },\n\t\t\t\t\t { 'blink': order.status === status.value && getNextStatus(order.status) }\n\t\t\t\t\t \"\n\t\t />\n\t\t <div \n\t\t \t:class=\"{ 't-transp': !isActiveStatus(index) }\"\n\t\t\t\t\t class=\"mn-t-thin p-small t-medium uppercase\">{{ status.value }}</div>\n\t\t \t</div>\n\t\t\t </div>\n\t </div>\n\n \t<Popup \n title=\"Payment Status\" \n @close-popup=\"closePaymentPopup\" \n :isPopupOpen=\"isOpenPaymentPopup\"\n class=\"bg-light w-min-25r w-max-25r radius-medium pd-big\"\n >\n \t<Select \n v-model:select=\"selectedPayments.type\"\n :property=\"'value'\"\n label=\"Type\"\n :options=\"[\n {name: 'Cash', value: 'cash'}, \n {name: 'Card', value: 'card'}, \n {name: 'Bank Transfer', value: 'bank'},\n ]\"\n placeholder=\"Select type of payment\" \n size=\"small\"\n class=\"bg-white mn-b-thin pd-regular radius-small w-100\"\n />\n\n <Select \n v-model:select=\"selectedPayments.status\"\n :property=\"'value'\"\n label=\"Status\"\n :options=\"[\n {name: 'Unpaid', value: 'unpaid'}, \n {name: 'Paid', value: 'paid'}, \n {name: 'Refunded', value: 'refunded'},\n ]\"\n placeholder=\"Select status of payment\" \n size=\"small\"\n class=\"bg-white mn-b-small pd-regular radius-small w-100\"\n />\n\n\n <Button :submit=\"changePaymentStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>Change Status</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\t <Popup \n title=\"Change order status\" \n @close-popup=\"closeStatusPopup\" \n :isPopupOpen=\"isOpeStatusPopup\"\n class=\"bg-light w-min-30r w-max-30r radius-medium pd-big\"\n >\n\n\t\t\t<!-- Добавить выбор примерного времени -->\n\n \t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n \t\t\t<CardOrderItem\n \t\t\t\tv-for=\"(product, index) in order.positions\" \n \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n \t\t\t\t:editable=\"!order.status_history || order.status_history.length <= 1\" \n \t\t\t\t:productId=\"product._id\"\n \t\t\t\t:variantId=\"product.variant\"\n \t\t\t\t:images=\"product.images\"\n \t\t\t\t:name=\"product.name\"\n \t\t\t\t:quantity=\"product.quantity\"\n \t\t\t\t:unit=\"product.unit\"\n \t\t\t\t:dates=\"product.date\"\n \t\t\t\t:listing=\"product.listing\"\n \t\t\t\t:price=\"product.price\"\n \t\t\t\t:increase=\"() => orders.mutations.incrementItemQuantity(order, product._id, product.variant)\"\n\t :decrease=\"() => orders.mutations.decrementItemQuantity(order, product._id, product.variant)\"\n\t :remove=\"() => orders.mutations.removeProduct(order, product._id, product.variant)\"\n\t @updateRentDates=\"(productId, variantId, dates) => shopcart.actions.updateRentDates({ positions: order.positions, productId, variantId, dates })\"\n \t\t\t\tclass=\"bg-white radius-small pd-small\"\n \t\t\t/>\n </ul>\n \n <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n />\n\n \t<Button :submit=\"setNextStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>{{'Confirm Changing to ' + (getNextStatus(order.status)).label}}</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\n\t \n\t <div v-if=\"order\" class=\"gap-thin cols-2 mobile:cols-1\">\n\n\t <div class=\"w-100\">\n\n\n\t\t <CardOrganization \n\t\t \tv-if=\"orderOrganization[0]\"\n\t\t :organization=\"orderOrganization[0]\"\n\t\t :showRating=\"true\"\n\t\t :showFollowers=\"false\"\n\t\t :showProducts=\"false\"\n\t\t class=\"bg-light mn-b-thin w-100 o-hidden radius-medium pd-small \"\n\t\t />\n\n\n\t\t <div \n\t\t \tclass=\"mn-b-thin bg-light w-100 o-hidden radius-medium \"\n\t\t >\n\t\t \t<div class=\"pd-small flex-nowrap flex\">\n\t\t\t \t<div class=\"mn-r-auto\">\n\t\t\t\t \t<span class=\"d-block t-medium p-regular mn-b-thin\">Order is</span>\n\t\t\t\t\t <span class=\" t-lh-075 h2 d-block mn-b-small\">{{order.status}}</span>\n\t\t\t\t\t <p class=\"pd-thin radius-extra bg-black t-white w-max\">{{formatDate(order.updatedAt, {language: locale })}}</p>\n\t\t\t\t\t </div>\n\t\t\t\t\t <!-- <div class=\"t-right\">\n\t\t\t\t\t \tCancel order<br>\n\t\t\t\t\t \tExchange item\n\t\t\t\t\t \t<hr class=\"mn-b-thin mn-t-thin\">\n\t\t\t\t\t \tFor Delivery Queries Contact Us\n\t\t\t\t\t \t\n\t\t\t\t\t </div> -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"order.customer.target?.number\" class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"w-100 t-medium p-regular\">\n\t\t\t \tPhone\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t \t{{order.customer.target?.number || 'Not specified'}}\n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-regular\">\n\t\t\t \tAddress\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right\">\n\t\t\t\t\t\t\t{{order.delivery.address || (order.delivery.spot[0]?.profile.name + (order.delivery.spot[0]?.address ? ', ' + order.delivery.spot[0].address : '')) || 'Not specified'}}\n\t\t\t </p>\n\n\n\n\t\t\t </div>\n\n\n\t\t\t <div v-if=\"order.comment\" class=\"pos-relative radius-thin mn-t-zero mn-thin bg-fifth-transp-10 pd-small\">\n\t\t\t <p class=\"mn-b-thin t-transp uppercase p-small t-medium\">Comment</p>\n\t\t\t <p>{{order.comment}}</p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-regular\">\n\t\t\t \tDelivery\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t {{order.delivery.type ? order.delivery.type : 'Not specified'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"mn-r-auto t-medium p-regular\">\n\t\t\t \tPayment\n\t\t\t </p>\n\n\n\t\t\t <p class=\"w-max t-right\">\n\t\t\t {{order.payment.type ? order.payment.type : 'Not specified'}} \n\t\t\t </p>\n\n\t\t\t <p @click=\"route.meta.context !== 'user' && route.meta.context !== 'root' ? openPaymentPopup() : console.log('Context:', route.meta.context)\" class=\"w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right\">\n\t\t\t {{order.payment.status ? order.payment.status : 'Unpaid'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\n\t\t\t\t</div>\n\n\t\t\t\t<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\">\n\t\t \t\t<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\">\n\t\t \t\t\t<IconTime class=\"i-medium t-transp\" fill=\"rgb(var(--black)\" />\n\t\t <p class=\"t-medium mn-r-auto\"><span class=\"p-small t-transp\">Estimated Reaction</span><br>{{formatDate(order.deadline, { language: locale })}}</p>\n\t\t\t \t</div>\n\t\t\t \t<button v-if=\"getNextStatus(order.status)\" @click=\"openStatusPopup\" class=\"flex-child-default mn-l-auto bg-black t-white button\"> \n\t\t\t\t Mark as {{ (getNextStatus(order.status)).label }} \n\t\t\t\t </button>\n\t\t \t</div>\n\n\t\t\t<div class=\"bg-light radius-medium pd-medium mn-r-bold w-100\">\n\t\t <h3 class=\"mn-b-small\">Chat With Us</h3>\n\n\t\t <ChatPage\n\t\t \t:username=\"['Order', 'UserOrder'].includes(route.name) ? (order.user?.name || 'User') : 'Support'\"\n\t\t \t:user=\"auth.state.user._id\"\n\t\t \t:chatID=\"route.params.order\"\n\t\t \tclass=\"radius-semi bs-black bg-light o-hidden\"\n\t\t />\n\n\t </div>\n\t \t<!-- <StatusHistory \n\t \t\tv-if=\"orders.state.current.status_history\"\n\t \t\t:statuses=\"statuses\"\n\t \t\t:statusHistory=\"orders.state.current.status_history\"\n\t \t\t:statusCurrent=\"orders.state.current.status\"\n\t \t\t:edit=\"route.name === 'Order Edit'\"\n\t \t/> -->\n\n\t <!-- \t<button \n\t \t@click=\"requestPayment(order)\"\n\t \tv-if=\"\n\t \t\torder.status === 'Подтвержден' \n\t \t\t&& order.payment.type === 'Online'\n\t \t\t&& payment.Status !== 'CONFIRMED'\n\t \t\t&& payment.Status !== 'REFUNDED'\n\t \t\" \n\t \tclass='w-100 button'>Оплатить заказ</button> -->\n\t \t<span class=\"t-transp\" v-if=\"payment && payment.Status === 'CONFIRMED'\">Paid</span> \n\t </div> \n\n\t <div class=\"bg-light radius-medium pd-medium w-100\">\n\t \t\t<h3 class=\"mn-b-small\">Order Summary</h3>\n\n\t \t\t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n\t \t\t\t<CardOrderItem\n\t \t\t\t\tv-for=\"(product, index) in order.positions\" \n\t \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n\t \t\t\t\t:editable=\"false\" \n\t \t\t\t\t:productId=\"product._id\"\n\t \t\t\t\t:variantId=\"product.variant\"\n\t \t\t\t\t:images=\"product.images\"\n\t \t\t\t\t:name=\"product.name\"\n\t \t\t\t\t:quantity=\"product.quantity\"\n\t \t\t\t\t:unit=\"product.unit\"\n\t \t\t\t\t:dates=\"product.date\"\n\t \t\t\t\t:listing=\"product.listing\"\n\t \t\t\t\t:price=\"product.price\"\n\t \t\t\t\tclass=\"bg-white radius-small pd-small\"\n\t \t\t\t/>\n\t </ul>\n\t \n\t <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n\t\t\t\t :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n\n />\n \t</div>\n\n\t \n\t </div>\n\t</div>\t\t\n\n</template>\n\n\n<script setup=\"props\">\n\timport { computed, ref, onMounted } from 'vue'\n\timport { useRouter, useRoute } from 'vue-router'\n\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Popup from \"@martyrs/src/components/Popup/Popup.vue\";\n\n\timport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n\t// Block\n\timport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport ChatPage from '@martyrs/src/modules/chats/components/pages/ChatPage.vue';\n\n\timport StatusHistory from '@martyrs/src/modules/orders/components/blocks/StatusHistory.vue'\n\timport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\timport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n\n\timport * as globals \tfrom '@martyrs/src/modules/globals/views/store/globals.js'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as orders \tfrom '@martyrs/src/modules/orders/store/orders.js'\n\timport * as products \tfrom '@martyrs/src/modules/products/store/products.js'\n\timport * as organizations \tfrom '@martyrs/src/modules/organizations/store/organizations.js'\n\n\timport { useI18n } from 'vue-i18n';\n\timport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\t\n\tconst { locale } = useI18n();\n\tconst { returnCurrency } = useGlobalMixins();\n\n\tconst router = useRouter()\n\tconst route = useRoute()\n\n\tconst order = ref(null)\n\tconst productsOrganization = ref(null)\n\tconst orderOrganization = ref(null)\n\n\tconst statuses = globals.state.options.orders.statuses\n\tconst statusLabels = ['Created', 'Confirmed', 'Preparing', 'In use', 'Finished'];\n\n if (route.meta.context === 'user' && \n auth.state.user && \n route.params._id !== auth.state.user?._id && \n !auth.state.access?.roles?.includes('ROLE_MODERATOR') && \n !auth.state.access?.roles?.includes('ROLE_ADMIN')) {\n router.push('/401');\n }\n\n\tconst isOpeStatusPopup = ref(false);\n\tconst selectedMember = ref(null);\n\n\tfunction openStatusPopup(member) {\n\t isOpeStatusPopup.value = true;\n\t if (typeof member === \"number\") selectedMember.value = member;\n\t}\n\n\tfunction closeStatusPopup() {\n\t isOpeStatusPopup.value = false;\n\t selectedMember.value = null;\n\t}\n\n\tconst isOpenPaymentPopup = ref(false);\n\n\tconst selectedPayments = ref({\n\t\ttype: null,\n\t\tstatus: null\n\t});\n\n\tfunction openPaymentPopup() {\n\t selectedPayments.value.type = order.value.payment.type\n\t selectedPayments.value.status = order.value.payment.status\n\n\t isOpenPaymentPopup.value = true;\n\t}\n\n\tfunction closePaymentPopup() {\n\t isOpenPaymentPopup.value = false;\n\t}\n\n\tonMounted(async()=>{\n\t\torder.value = await orders.actions.read({_id: route.params.order})\n\t\torder.value = order.value[0]\n\n\t orderOrganization.value = await organizations.actions.read({\n\t _id: order.value?.owner.target._id,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t });\n\n\t})\n\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n\tlet cartTotalPrice = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start)\n const end = new Date(product.date.end)\n const diffTime = Math.abs(end - start)\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0));\n })\n\n\n let cartTotalAmount = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n })\n\n // Функция установки нового статуса\n\tasync function setStatus (newStatus) {\n\t orders.state.current.status = newStatus\n\n\t await orders.actions.update(orders.state.current)\n\t} \n\n\n\tfunction getNextStatus(currentStatus) {\n\t const currentIndex = globals.state.options.orders.statuses.findIndex(status => status.value === currentStatus);\n\n\t if (currentIndex !== -1 && currentIndex + 1 < statuses.length) {\n\t return globals.state.options.orders.statuses[currentIndex + 1];\n\t }\n\t return null; // If next status doesn't exist\n\t}\n\n\tconst isActiveStatus = (index) => {\n\t return globals.state.options.orders.statuses.slice(index).some(status => status.value === order.value.status);\n\t};\n\n async function changePaymentStatus() {\n if (selectedPayments.value.status && selectedPayments.value.type) {\n orders.state.current.payment = selectedPayments.value;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Payment status is void. Must handle somehow.');\n }\n\n\t\tclosePaymentPopup()\n }\n\n async function setNextStatus() {\n const nextStatus = getNextStatus(orders.state.current.status);\n\n if (nextStatus) {\n orders.state.current.status = nextStatus.value;\n \n // Обновляем позиции заказа из текущего состояния\n orders.state.current.positions = order.value.positions;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Next status is void. Must handle somehow.');\n }\n\n\t\tcloseStatusPopup()\n }\n\n async function cancelOrder() {\n \talert()\n\n orders.state.current.status = 'canceled';\n\n await orders.actions.update(orders.state.current)\n}\n\n\n async function confirmOrder() {\n \talert()\n\n orders.state.current.status = 'confirmed';\n\n await orders.actions.update(orders.state.current)\n\t}\n\n\tfunction calculateDeliveryTime(distance, date) {\n\t if (!distance) {\n\t return null;\n\t }\n\n\t const basePreparationTime = 10 * 60 * 1000; // Convert to milliseconds\n\t const travelTime = Math.ceil((15 + 5 + 3 * distance) / 5) * 5 * 60 * 1000;\n\n\t // Преобразование даты начала в миллисекунды и добавление времени подготовки и доставки\n\t const startTime = new Date(date).getTime();\n\t const estimatedDeliveryTime = new Date(startTime + basePreparationTime + travelTime);\n\n\t return estimatedDeliveryTime;\n\t}\n\n\n</script>\n\n<style lang=\"scss\" scoped>\n\t.blink {\n\t animation: blink-animation 1s ease infinite;\n\t}\n\n\t@keyframes blink-animation {\n\t 0%, 100% {\n\t opacity: 1;\n\t }\n\t 50% {\n\t opacity: 0.8;\n\t }\n\t}\n</style>"],"names":["useI18n","useGlobalMixins","useRouter","useRoute","ref","globals.state","auth.state","onMounted","orders.actions","organizations.actions","computed","orders.state","orders.getters"],"mappings":"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"}
@@ -26,7 +26,7 @@ const _hoisted_2 = {
26
26
  class: "mn-b-thin pos-relative w-100 bg-main radius-medium pd-medium"
27
27
  };
28
28
  const _hoisted_3 = { class: "mn-b-small flex-nowrap flex" };
29
- const _hoisted_4 = { class: "t-medium p-medium" };
29
+ const _hoisted_4 = { class: "t-medium p-regular" };
30
30
  const _hoisted_5 = { class: "p-small t-transp" };
31
31
  const _hoisted_6 = { class: "flex-nowrap flex gap-thin pos-relative" };
32
32
  const _hoisted_7 = { class: "flex gap-thin flex-column mn-b-thin" };
@@ -306,17 +306,17 @@ const _sfc_main = {
306
306
  createElementVNode("div", _hoisted_10, [
307
307
  createElementVNode("div", _hoisted_11, [
308
308
  createElementVNode("div", _hoisted_12, [
309
- _cache[6] || (_cache[6] = createElementVNode("span", { class: "d-block t-medium p-medium mn-b-thin" }, "Order is", -1)),
309
+ _cache[6] || (_cache[6] = createElementVNode("span", { class: "d-block t-medium p-regular mn-b-thin" }, "Order is", -1)),
310
310
  createElementVNode("span", _hoisted_13, toDisplayString(order.value.status), 1),
311
311
  createElementVNode("p", _hoisted_14, toDisplayString(_ctx.formatDate(order.value.updatedAt, { language: unref(locale) })), 1)
312
312
  ])
313
313
  ]),
314
314
  order.value.customer.target?.number ? (openBlock(), createElementBlock("div", _hoisted_15, [
315
- _cache[7] || (_cache[7] = createElementVNode("p", { class: "w-100 t-medium p-medium" }, " Phone ", -1)),
315
+ _cache[7] || (_cache[7] = createElementVNode("p", { class: "w-100 t-medium p-regular" }, " Phone ", -1)),
316
316
  createElementVNode("p", _hoisted_16, toDisplayString(order.value.customer.target?.number || "Not specified"), 1)
317
317
  ])) : createCommentVNode("", true),
318
318
  createElementVNode("div", _hoisted_17, [
319
- _cache[8] || (_cache[8] = createElementVNode("p", { class: "t-medium p-medium" }, " Address ", -1)),
319
+ _cache[8] || (_cache[8] = createElementVNode("p", { class: "t-medium p-regular" }, " Address ", -1)),
320
320
  createElementVNode("p", _hoisted_18, toDisplayString(order.value.delivery.address || order.value.delivery.spot[0]?.profile.name + (order.value.delivery.spot[0]?.address ? ", " + order.value.delivery.spot[0].address : "") || "Not specified"), 1)
321
321
  ]),
322
322
  order.value.comment ? (openBlock(), createElementBlock("div", _hoisted_19, [
@@ -324,11 +324,11 @@ const _sfc_main = {
324
324
  createElementVNode("p", null, toDisplayString(order.value.comment), 1)
325
325
  ])) : createCommentVNode("", true),
326
326
  createElementVNode("div", _hoisted_20, [
327
- _cache[10] || (_cache[10] = createElementVNode("p", { class: "t-medium p-medium" }, " Delivery ", -1)),
327
+ _cache[10] || (_cache[10] = createElementVNode("p", { class: "t-medium p-regular" }, " Delivery ", -1)),
328
328
  createElementVNode("p", _hoisted_21, toDisplayString(order.value.delivery.type ? order.value.delivery.type : "Not specified"), 1)
329
329
  ]),
330
330
  createElementVNode("div", _hoisted_22, [
331
- _cache[11] || (_cache[11] = createElementVNode("p", { class: "mn-r-auto t-medium p-medium" }, " Payment ", -1)),
331
+ _cache[11] || (_cache[11] = createElementVNode("p", { class: "mn-r-auto t-medium p-regular" }, " Payment ", -1)),
332
332
  createElementVNode("p", _hoisted_23, toDisplayString(order.value.payment.type ? order.value.payment.type : "Not specified"), 1),
333
333
  createElementVNode("p", {
334
334
  onClick: _cache[3] || (_cache[3] = ($event) => unref(route).meta.context !== "user" && unref(route).meta.context !== "root" ? openPaymentPopup() : console.log("Context:", unref(route).meta.context)),
@@ -339,7 +339,7 @@ const _sfc_main = {
339
339
  unref(route).meta.context !== "user" && unref(route).meta.context !== "root" ? (openBlock(), createElementBlock("div", _hoisted_24, [
340
340
  createElementVNode("div", _hoisted_25, [
341
341
  createVNode(IconTime, {
342
- class: "i-semi t-transp",
342
+ class: "i-medium t-transp",
343
343
  fill: "rgb(var(--black)"
344
344
  }),
345
345
  createElementVNode("p", _hoisted_26, [
@@ -401,7 +401,7 @@ const _sfc_main = {
401
401
  };
402
402
  }
403
403
  };
404
- const OrderBackoffice = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-895f54da"]]);
404
+ const OrderBackoffice = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e884c7df"]]);
405
405
  export {
406
406
  OrderBackoffice as default
407
407
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OrderBackoffice.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/OrderBackoffice.vue"],"sourcesContent":["<template>\n\t<div v-if=\"order && orderOrganization\" class=\"pd-thin bg-white\"> \n\n\t <div v-if=\"order\" class=\"mn-b-thin pos-relative w-100 bg-main radius-medium pd-medium\">\n\t \t<div class=\"mn-b-small flex-nowrap flex\">\n\t\t \t<p class=\"t-medium p-medium\">\n\t\t \tOrder No: <span class=\"p-small t-transp\">#{{order._id}}</span>\n\t\t </p>\n\t\t\t</div>\n\n\t \t<div class=\"flex-nowrap flex gap-thin pos-relative \">\n\t\t <div v-for=\"(status, index) in globals.state.options.orders.statuses\" :key=\"index\" class=\"w-20\">\n\t\t <div\n\t\t \tclass=\"bg-white br-anim br-glow radius-extra h-1r w-100\"\n\t\t :class=\"\n\t\t\t\t\t { 'br-glow-anim': isActiveStatus(index) },\n\t\t\t\t\t { 't-transp': !isActiveStatus(index) },\n\t\t\t\t\t { 'blink': order.status === status.value && getNextStatus(order.status) }\n\t\t\t\t\t \"\n\t\t />\n\t\t <div \n\t\t \t:class=\"{ 't-transp': !isActiveStatus(index) }\"\n\t\t\t\t\t class=\"mn-t-thin p-small t-medium uppercase\">{{ status.value }}</div>\n\t\t \t</div>\n\t\t\t </div>\n\t </div>\n\n \t<Popup \n title=\"Payment Status\" \n @close-popup=\"closePaymentPopup\" \n :isPopupOpen=\"isOpenPaymentPopup\"\n class=\"bg-light w-min-25r w-max-25r radius-medium pd-big\"\n >\n \t<Select \n v-model:select=\"selectedPayments.type\"\n :property=\"'value'\"\n label=\"Type\"\n :options=\"[\n {name: 'Cash', value: 'cash'}, \n {name: 'Card', value: 'card'}, \n {name: 'Bank Transfer', value: 'bank'},\n ]\"\n placeholder=\"Select type of payment\" \n size=\"small\"\n class=\"bg-white mn-b-thin pd-regular radius-small w-100\"\n />\n\n <Select \n v-model:select=\"selectedPayments.status\"\n :property=\"'value'\"\n label=\"Status\"\n :options=\"[\n {name: 'Unpaid', value: 'unpaid'}, \n {name: 'Paid', value: 'paid'}, \n {name: 'Refunded', value: 'refunded'},\n ]\"\n placeholder=\"Select status of payment\" \n size=\"small\"\n class=\"bg-white mn-b-small pd-regular radius-small w-100\"\n />\n\n\n <Button :submit=\"changePaymentStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>Change Status</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\t <Popup \n title=\"Change order status\" \n @close-popup=\"closeStatusPopup\" \n :isPopupOpen=\"isOpeStatusPopup\"\n class=\"bg-light w-min-30r w-max-30r radius-medium pd-big\"\n >\n\n\t\t\t<!-- Добавить выбор примерного времени -->\n\n \t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n \t\t\t<CardOrderItem\n \t\t\t\tv-for=\"(product, index) in order.positions\" \n \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n \t\t\t\t:editable=\"!order.status_history || order.status_history.length <= 1\" \n \t\t\t\t:productId=\"product._id\"\n \t\t\t\t:variantId=\"product.variant\"\n \t\t\t\t:images=\"product.images\"\n \t\t\t\t:name=\"product.name\"\n \t\t\t\t:quantity=\"product.quantity\"\n \t\t\t\t:unit=\"product.unit\"\n \t\t\t\t:dates=\"product.date\"\n \t\t\t\t:listing=\"product.listing\"\n \t\t\t\t:price=\"product.price\"\n \t\t\t\t:increase=\"() => orders.mutations.incrementItemQuantity(order, product._id, product.variant)\"\n\t :decrease=\"() => orders.mutations.decrementItemQuantity(order, product._id, product.variant)\"\n\t :remove=\"() => orders.mutations.removeProduct(order, product._id, product.variant)\"\n\t @updateRentDates=\"(productId, variantId, dates) => shopcart.actions.updateRentDates({ positions: order.positions, productId, variantId, dates })\"\n \t\t\t\tclass=\"bg-white radius-small pd-small\"\n \t\t\t/>\n </ul>\n \n <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n />\n\n \t<Button :submit=\"setNextStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>{{'Confirm Changing to ' + (getNextStatus(order.status)).label}}</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\n\t \n\t <div v-if=\"order\" class=\"gap-thin cols-2 mobile:cols-1\">\n\n\t <div class=\"w-100\">\n\n\n\t\t <CardOrganization \n\t\t \tv-if=\"orderOrganization[0]\"\n\t\t :organization=\"orderOrganization[0]\"\n\t\t :showRating=\"true\"\n\t\t :showFollowers=\"false\"\n\t\t :showProducts=\"false\"\n\t\t class=\"bg-light mn-b-thin w-100 o-hidden radius-medium pd-small \"\n\t\t />\n\n\n\t\t <div \n\t\t \tclass=\"mn-b-thin bg-light w-100 o-hidden radius-medium \"\n\t\t >\n\t\t \t<div class=\"pd-small flex-nowrap flex\">\n\t\t\t \t<div class=\"mn-r-auto\">\n\t\t\t\t \t<span class=\"d-block t-medium p-medium mn-b-thin\">Order is</span>\n\t\t\t\t\t <span class=\" t-lh-075 h2 d-block mn-b-small\">{{order.status}}</span>\n\t\t\t\t\t <p class=\"pd-thin radius-extra bg-black t-white w-max\">{{formatDate(order.updatedAt, {language: locale })}}</p>\n\t\t\t\t\t </div>\n\t\t\t\t\t <!-- <div class=\"t-right\">\n\t\t\t\t\t \tCancel order<br>\n\t\t\t\t\t \tExchange item\n\t\t\t\t\t \t<hr class=\"mn-b-thin mn-t-thin\">\n\t\t\t\t\t \tFor Delivery Queries Contact Us\n\t\t\t\t\t \t\n\t\t\t\t\t </div> -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"order.customer.target?.number\" class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"w-100 t-medium p-medium\">\n\t\t\t \tPhone\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t \t{{order.customer.target?.number || 'Not specified'}}\n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-medium\">\n\t\t\t \tAddress\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right\">\n\t\t\t\t\t\t\t{{order.delivery.address || (order.delivery.spot[0]?.profile.name + (order.delivery.spot[0]?.address ? ', ' + order.delivery.spot[0].address : '')) || 'Not specified'}}\n\t\t\t </p>\n\n\n\n\t\t\t </div>\n\n\n\t\t\t <div v-if=\"order.comment\" class=\"pos-relative radius-thin mn-t-zero mn-thin bg-fifth-transp-10 pd-small\">\n\t\t\t <p class=\"mn-b-thin t-transp uppercase p-small t-medium\">Comment</p>\n\t\t\t <p>{{order.comment}}</p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-medium\">\n\t\t\t \tDelivery\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t {{order.delivery.type ? order.delivery.type : 'Not specified'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"mn-r-auto t-medium p-medium\">\n\t\t\t \tPayment\n\t\t\t </p>\n\n\n\t\t\t <p class=\"w-max t-right\">\n\t\t\t {{order.payment.type ? order.payment.type : 'Not specified'}} \n\t\t\t </p>\n\n\t\t\t <p @click=\"route.meta.context !== 'user' && route.meta.context !== 'root' ? openPaymentPopup() : console.log('Context:', route.meta.context)\" class=\"w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right\">\n\t\t\t {{order.payment.status ? order.payment.status : 'Unpaid'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\n\t\t\t\t</div>\n\n\t\t\t\t<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\">\n\t\t \t\t<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\">\n\t\t \t\t\t<IconTime class=\"i-semi t-transp\" fill=\"rgb(var(--black)\" />\n\t\t <p class=\"t-medium mn-r-auto\"><span class=\"p-small t-transp\">Estimated Reaction</span><br>{{formatDate(order.deadline, { language: locale })}}</p>\n\t\t\t \t</div>\n\t\t\t \t<button v-if=\"getNextStatus(order.status)\" @click=\"openStatusPopup\" class=\"flex-child-default mn-l-auto bg-black t-white button\"> \n\t\t\t\t Mark as {{ (getNextStatus(order.status)).label }} \n\t\t\t\t </button>\n\t\t \t</div>\n\n\t\t\t<div class=\"bg-light radius-medium pd-medium mn-r-bold w-100\">\n\t\t <h3 class=\"mn-b-small\">Chat With Us</h3>\n\n\t\t <ChatPage\n\t\t \t:username=\"['Order', 'UserOrder'].includes(route.name) ? (order.user?.name || 'User') : 'Support'\"\n\t\t \t:user=\"auth.state.user._id\"\n\t\t \t:chatID=\"route.params.order\"\n\t\t \tclass=\"radius-semi bs-black bg-light o-hidden\"\n\t\t />\n\n\t </div>\n\t \t<!-- <StatusHistory \n\t \t\tv-if=\"orders.state.current.status_history\"\n\t \t\t:statuses=\"statuses\"\n\t \t\t:statusHistory=\"orders.state.current.status_history\"\n\t \t\t:statusCurrent=\"orders.state.current.status\"\n\t \t\t:edit=\"route.name === 'Order Edit'\"\n\t \t/> -->\n\n\t <!-- \t<button \n\t \t@click=\"requestPayment(order)\"\n\t \tv-if=\"\n\t \t\torder.status === 'Подтвержден' \n\t \t\t&& order.payment.type === 'Online'\n\t \t\t&& payment.Status !== 'CONFIRMED'\n\t \t\t&& payment.Status !== 'REFUNDED'\n\t \t\" \n\t \tclass='w-100 button'>Оплатить заказ</button> -->\n\t \t<span class=\"t-transp\" v-if=\"payment && payment.Status === 'CONFIRMED'\">Paid</span> \n\t </div> \n\n\t <div class=\"bg-light radius-medium pd-medium w-100\">\n\t \t\t<h3 class=\"mn-b-small\">Order Summary</h3>\n\n\t \t\t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n\t \t\t\t<CardOrderItem\n\t \t\t\t\tv-for=\"(product, index) in order.positions\" \n\t \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n\t \t\t\t\t:editable=\"false\" \n\t \t\t\t\t:productId=\"product._id\"\n\t \t\t\t\t:variantId=\"product.variant\"\n\t \t\t\t\t:images=\"product.images\"\n\t \t\t\t\t:name=\"product.name\"\n\t \t\t\t\t:quantity=\"product.quantity\"\n\t \t\t\t\t:unit=\"product.unit\"\n\t \t\t\t\t:dates=\"product.date\"\n\t \t\t\t\t:listing=\"product.listing\"\n\t \t\t\t\t:price=\"product.price\"\n\t \t\t\t\tclass=\"bg-white radius-small pd-small\"\n\t \t\t\t/>\n\t </ul>\n\t \n\t <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n\t\t\t\t :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n\n />\n \t</div>\n\n\t \n\t </div>\n\t</div>\t\t\n\n</template>\n\n\n<script setup=\"props\">\n\timport { computed, ref, onMounted } from 'vue'\n\timport { useRouter, useRoute } from 'vue-router'\n\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Popup from \"@martyrs/src/components/Popup/Popup.vue\";\n\n\timport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n\t// Block\n\timport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport ChatPage from '@martyrs/src/modules/chats/components/pages/ChatPage.vue';\n\n\timport StatusHistory from '@martyrs/src/modules/orders/components/blocks/StatusHistory.vue'\n\timport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\timport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n\n\timport * as globals \tfrom '@martyrs/src/modules/globals/views/store/globals.js'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as orders \tfrom '@martyrs/src/modules/orders/store/orders.js'\n\timport * as products \tfrom '@martyrs/src/modules/products/store/products.js'\n\timport * as organizations \tfrom '@martyrs/src/modules/organizations/store/organizations.js'\n\n\timport { useI18n } from 'vue-i18n';\n\timport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\t\n\tconst { locale } = useI18n();\n\tconst { returnCurrency } = useGlobalMixins();\n\n\tconst router = useRouter()\n\tconst route = useRoute()\n\n\tconst order = ref(null)\n\tconst productsOrganization = ref(null)\n\tconst orderOrganization = ref(null)\n\n\tconst statuses = globals.state.options.orders.statuses\n\tconst statusLabels = ['Created', 'Confirmed', 'Preparing', 'In use', 'Finished'];\n\n if (route.meta.context === 'user' && \n auth.state.user && \n route.params._id !== auth.state.user?._id && \n !auth.state.access?.roles?.includes('ROLE_MODERATOR') && \n !auth.state.access?.roles?.includes('ROLE_ADMIN')) {\n router.push('/401');\n }\n\n\tconst isOpeStatusPopup = ref(false);\n\tconst selectedMember = ref(null);\n\n\tfunction openStatusPopup(member) {\n\t isOpeStatusPopup.value = true;\n\t if (typeof member === \"number\") selectedMember.value = member;\n\t}\n\n\tfunction closeStatusPopup() {\n\t isOpeStatusPopup.value = false;\n\t selectedMember.value = null;\n\t}\n\n\tconst isOpenPaymentPopup = ref(false);\n\n\tconst selectedPayments = ref({\n\t\ttype: null,\n\t\tstatus: null\n\t});\n\n\tfunction openPaymentPopup() {\n\t selectedPayments.value.type = order.value.payment.type\n\t selectedPayments.value.status = order.value.payment.status\n\n\t isOpenPaymentPopup.value = true;\n\t}\n\n\tfunction closePaymentPopup() {\n\t isOpenPaymentPopup.value = false;\n\t}\n\n\tonMounted(async()=>{\n\t\torder.value = await orders.actions.read({_id: route.params.order})\n\t\torder.value = order.value[0]\n\n\t orderOrganization.value = await organizations.actions.read({\n\t _id: order.value?.owner.target._id,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t });\n\n\t})\n\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n\tlet cartTotalPrice = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start)\n const end = new Date(product.date.end)\n const diffTime = Math.abs(end - start)\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0));\n })\n\n\n let cartTotalAmount = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n })\n\n // Функция установки нового статуса\n\tasync function setStatus (newStatus) {\n\t orders.state.current.status = newStatus\n\n\t await orders.actions.update(orders.state.current)\n\t} \n\n\n\tfunction getNextStatus(currentStatus) {\n\t const currentIndex = globals.state.options.orders.statuses.findIndex(status => status.value === currentStatus);\n\n\t if (currentIndex !== -1 && currentIndex + 1 < statuses.length) {\n\t return globals.state.options.orders.statuses[currentIndex + 1];\n\t }\n\t return null; // If next status doesn't exist\n\t}\n\n\tconst isActiveStatus = (index) => {\n\t return globals.state.options.orders.statuses.slice(index).some(status => status.value === order.value.status);\n\t};\n\n async function changePaymentStatus() {\n if (selectedPayments.value.status && selectedPayments.value.type) {\n orders.state.current.payment = selectedPayments.value;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Payment status is void. Must handle somehow.');\n }\n\n\t\tclosePaymentPopup()\n }\n\n async function setNextStatus() {\n const nextStatus = getNextStatus(orders.state.current.status);\n\n if (nextStatus) {\n orders.state.current.status = nextStatus.value;\n \n // Обновляем позиции заказа из текущего состояния\n orders.state.current.positions = order.value.positions;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Next status is void. Must handle somehow.');\n }\n\n\t\tcloseStatusPopup()\n }\n\n async function cancelOrder() {\n \talert()\n\n orders.state.current.status = 'canceled';\n\n await orders.actions.update(orders.state.current)\n}\n\n\n async function confirmOrder() {\n \talert()\n\n orders.state.current.status = 'confirmed';\n\n await orders.actions.update(orders.state.current)\n\t}\n\n\tfunction calculateDeliveryTime(distance, date) {\n\t if (!distance) {\n\t return null;\n\t }\n\n\t const basePreparationTime = 10 * 60 * 1000; // Convert to milliseconds\n\t const travelTime = Math.ceil((15 + 5 + 3 * distance) / 5) * 5 * 60 * 1000;\n\n\t // Преобразование даты начала в миллисекунды и добавление времени подготовки и доставки\n\t const startTime = new Date(date).getTime();\n\t const estimatedDeliveryTime = new Date(startTime + basePreparationTime + travelTime);\n\n\t return estimatedDeliveryTime;\n\t}\n\n\n</script>\n\n<style lang=\"scss\" scoped>\n\t.blink {\n\t animation: blink-animation 1s ease infinite;\n\t}\n\n\t@keyframes blink-animation {\n\t 0%, 100% {\n\t opacity: 1;\n\t }\n\t 50% {\n\t opacity: 0.8;\n\t }\n\t}\n</style>"],"names":["globals.state","auth.state","orders.actions","organizations.actions","orders.state","orders.getters"],"mappings":"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"}
1
+ {"version":3,"file":"OrderBackoffice.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/OrderBackoffice.vue"],"sourcesContent":["<template>\n\t<div v-if=\"order && orderOrganization\" class=\"pd-thin bg-white\"> \n\n\t <div v-if=\"order\" class=\"mn-b-thin pos-relative w-100 bg-main radius-medium pd-medium\">\n\t \t<div class=\"mn-b-small flex-nowrap flex\">\n\t\t \t<p class=\"t-medium p-regular\">\n\t\t \tOrder No: <span class=\"p-small t-transp\">#{{order._id}}</span>\n\t\t </p>\n\t\t\t</div>\n\n\t \t<div class=\"flex-nowrap flex gap-thin pos-relative \">\n\t\t <div v-for=\"(status, index) in globals.state.options.orders.statuses\" :key=\"index\" class=\"w-20\">\n\t\t <div\n\t\t \tclass=\"bg-white br-anim br-glow radius-extra h-1r w-100\"\n\t\t :class=\"\n\t\t\t\t\t { 'br-glow-anim': isActiveStatus(index) },\n\t\t\t\t\t { 't-transp': !isActiveStatus(index) },\n\t\t\t\t\t { 'blink': order.status === status.value && getNextStatus(order.status) }\n\t\t\t\t\t \"\n\t\t />\n\t\t <div \n\t\t \t:class=\"{ 't-transp': !isActiveStatus(index) }\"\n\t\t\t\t\t class=\"mn-t-thin p-small t-medium uppercase\">{{ status.value }}</div>\n\t\t \t</div>\n\t\t\t </div>\n\t </div>\n\n \t<Popup \n title=\"Payment Status\" \n @close-popup=\"closePaymentPopup\" \n :isPopupOpen=\"isOpenPaymentPopup\"\n class=\"bg-light w-min-25r w-max-25r radius-medium pd-big\"\n >\n \t<Select \n v-model:select=\"selectedPayments.type\"\n :property=\"'value'\"\n label=\"Type\"\n :options=\"[\n {name: 'Cash', value: 'cash'}, \n {name: 'Card', value: 'card'}, \n {name: 'Bank Transfer', value: 'bank'},\n ]\"\n placeholder=\"Select type of payment\" \n size=\"small\"\n class=\"bg-white mn-b-thin pd-regular radius-small w-100\"\n />\n\n <Select \n v-model:select=\"selectedPayments.status\"\n :property=\"'value'\"\n label=\"Status\"\n :options=\"[\n {name: 'Unpaid', value: 'unpaid'}, \n {name: 'Paid', value: 'paid'}, \n {name: 'Refunded', value: 'refunded'},\n ]\"\n placeholder=\"Select status of payment\" \n size=\"small\"\n class=\"bg-white mn-b-small pd-regular radius-small w-100\"\n />\n\n\n <Button :submit=\"changePaymentStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>Change Status</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\t <Popup \n title=\"Change order status\" \n @close-popup=\"closeStatusPopup\" \n :isPopupOpen=\"isOpeStatusPopup\"\n class=\"bg-light w-min-30r w-max-30r radius-medium pd-big\"\n >\n\n\t\t\t<!-- Добавить выбор примерного времени -->\n\n \t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n \t\t\t<CardOrderItem\n \t\t\t\tv-for=\"(product, index) in order.positions\" \n \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n \t\t\t\t:editable=\"!order.status_history || order.status_history.length <= 1\" \n \t\t\t\t:productId=\"product._id\"\n \t\t\t\t:variantId=\"product.variant\"\n \t\t\t\t:images=\"product.images\"\n \t\t\t\t:name=\"product.name\"\n \t\t\t\t:quantity=\"product.quantity\"\n \t\t\t\t:unit=\"product.unit\"\n \t\t\t\t:dates=\"product.date\"\n \t\t\t\t:listing=\"product.listing\"\n \t\t\t\t:price=\"product.price\"\n \t\t\t\t:increase=\"() => orders.mutations.incrementItemQuantity(order, product._id, product.variant)\"\n\t :decrease=\"() => orders.mutations.decrementItemQuantity(order, product._id, product.variant)\"\n\t :remove=\"() => orders.mutations.removeProduct(order, product._id, product.variant)\"\n\t @updateRentDates=\"(productId, variantId, dates) => shopcart.actions.updateRentDates({ positions: order.positions, productId, variantId, dates })\"\n \t\t\t\tclass=\"bg-white radius-small pd-small\"\n \t\t\t/>\n </ul>\n \n <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n />\n\n \t<Button :submit=\"setNextStatus\" class=\"t-white w-100 bg-second\">\n\t\t\t\t<span>{{'Confirm Changing to ' + (getNextStatus(order.status)).label}}</span>\n\t\t\t</Button>\n\t \t</Popup>\n\n\n\t \n\t <div v-if=\"order\" class=\"gap-thin cols-2 mobile:cols-1\">\n\n\t <div class=\"w-100\">\n\n\n\t\t <CardOrganization \n\t\t \tv-if=\"orderOrganization[0]\"\n\t\t :organization=\"orderOrganization[0]\"\n\t\t :showRating=\"true\"\n\t\t :showFollowers=\"false\"\n\t\t :showProducts=\"false\"\n\t\t class=\"bg-light mn-b-thin w-100 o-hidden radius-medium pd-small \"\n\t\t />\n\n\n\t\t <div \n\t\t \tclass=\"mn-b-thin bg-light w-100 o-hidden radius-medium \"\n\t\t >\n\t\t \t<div class=\"pd-small flex-nowrap flex\">\n\t\t\t \t<div class=\"mn-r-auto\">\n\t\t\t\t \t<span class=\"d-block t-medium p-regular mn-b-thin\">Order is</span>\n\t\t\t\t\t <span class=\" t-lh-075 h2 d-block mn-b-small\">{{order.status}}</span>\n\t\t\t\t\t <p class=\"pd-thin radius-extra bg-black t-white w-max\">{{formatDate(order.updatedAt, {language: locale })}}</p>\n\t\t\t\t\t </div>\n\t\t\t\t\t <!-- <div class=\"t-right\">\n\t\t\t\t\t \tCancel order<br>\n\t\t\t\t\t \tExchange item\n\t\t\t\t\t \t<hr class=\"mn-b-thin mn-t-thin\">\n\t\t\t\t\t \tFor Delivery Queries Contact Us\n\t\t\t\t\t \t\n\t\t\t\t\t </div> -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"order.customer.target?.number\" class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"w-100 t-medium p-regular\">\n\t\t\t \tPhone\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t \t{{order.customer.target?.number || 'Not specified'}}\n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-regular\">\n\t\t\t \tAddress\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right\">\n\t\t\t\t\t\t\t{{order.delivery.address || (order.delivery.spot[0]?.profile.name + (order.delivery.spot[0]?.address ? ', ' + order.delivery.spot[0].address : '')) || 'Not specified'}}\n\t\t\t </p>\n\n\n\n\t\t\t </div>\n\n\n\t\t\t <div v-if=\"order.comment\" class=\"pos-relative radius-thin mn-t-zero mn-thin bg-fifth-transp-10 pd-small\">\n\t\t\t <p class=\"mn-b-thin t-transp uppercase p-small t-medium\">Comment</p>\n\t\t\t <p>{{order.comment}}</p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"t-medium p-regular\">\n\t\t\t \tDelivery\n\t\t\t </p>\n\n\t\t\t <p class=\"w-100 t-right \">\n\t\t\t {{order.delivery.type ? order.delivery.type : 'Not specified'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\t\t\t <div class=\"pd-small flex flex-nowrap flex-v-center br-t br-black-transp-10 br-solid\">\n\t\t\t \t<p class=\"mn-r-auto t-medium p-regular\">\n\t\t\t \tPayment\n\t\t\t </p>\n\n\n\t\t\t <p class=\"w-max t-right\">\n\t\t\t {{order.payment.type ? order.payment.type : 'Not specified'}} \n\t\t\t </p>\n\n\t\t\t <p @click=\"route.meta.context !== 'user' && route.meta.context !== 'root' ? openPaymentPopup() : console.log('Context:', route.meta.context)\" class=\"w-max pd-thin radius-small bg-second t-white mn-l-thin cursor-pointer hover-bg-black t-right\">\n\t\t\t {{order.payment.status ? order.payment.status : 'Unpaid'}} \n\t\t\t </p>\n\t\t\t </div>\n\n\n\t\t\t\t</div>\n\n\t\t\t\t<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\">\n\t\t \t\t<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\">\n\t\t \t\t\t<IconTime class=\"i-medium t-transp\" fill=\"rgb(var(--black)\" />\n\t\t <p class=\"t-medium mn-r-auto\"><span class=\"p-small t-transp\">Estimated Reaction</span><br>{{formatDate(order.deadline, { language: locale })}}</p>\n\t\t\t \t</div>\n\t\t\t \t<button v-if=\"getNextStatus(order.status)\" @click=\"openStatusPopup\" class=\"flex-child-default mn-l-auto bg-black t-white button\"> \n\t\t\t\t Mark as {{ (getNextStatus(order.status)).label }} \n\t\t\t\t </button>\n\t\t \t</div>\n\n\t\t\t<div class=\"bg-light radius-medium pd-medium mn-r-bold w-100\">\n\t\t <h3 class=\"mn-b-small\">Chat With Us</h3>\n\n\t\t <ChatPage\n\t\t \t:username=\"['Order', 'UserOrder'].includes(route.name) ? (order.user?.name || 'User') : 'Support'\"\n\t\t \t:user=\"auth.state.user._id\"\n\t\t \t:chatID=\"route.params.order\"\n\t\t \tclass=\"radius-semi bs-black bg-light o-hidden\"\n\t\t />\n\n\t </div>\n\t \t<!-- <StatusHistory \n\t \t\tv-if=\"orders.state.current.status_history\"\n\t \t\t:statuses=\"statuses\"\n\t \t\t:statusHistory=\"orders.state.current.status_history\"\n\t \t\t:statusCurrent=\"orders.state.current.status\"\n\t \t\t:edit=\"route.name === 'Order Edit'\"\n\t \t/> -->\n\n\t <!-- \t<button \n\t \t@click=\"requestPayment(order)\"\n\t \tv-if=\"\n\t \t\torder.status === 'Подтвержден' \n\t \t\t&& order.payment.type === 'Online'\n\t \t\t&& payment.Status !== 'CONFIRMED'\n\t \t\t&& payment.Status !== 'REFUNDED'\n\t \t\" \n\t \tclass='w-100 button'>Оплатить заказ</button> -->\n\t \t<span class=\"t-transp\" v-if=\"payment && payment.Status === 'CONFIRMED'\">Paid</span> \n\t </div> \n\n\t <div class=\"bg-light radius-medium pd-medium w-100\">\n\t \t\t<h3 class=\"mn-b-small\">Order Summary</h3>\n\n\t \t\t<ul class=\"flex gap-thin flex-column mn-b-thin\">\n\t \t\t\t<CardOrderItem\n\t \t\t\t\tv-for=\"(product, index) in order.positions\" \n\t \t\t\t\t:key=\"`${product._id}_${product.variant || 'no-variant'}_${index}`\"\n\t \t\t\t\t:editable=\"false\" \n\t \t\t\t\t:productId=\"product._id\"\n\t \t\t\t\t:variantId=\"product.variant\"\n\t \t\t\t\t:images=\"product.images\"\n\t \t\t\t\t:name=\"product.name\"\n\t \t\t\t\t:quantity=\"product.quantity\"\n\t \t\t\t\t:unit=\"product.unit\"\n\t \t\t\t\t:dates=\"product.date\"\n\t \t\t\t\t:listing=\"product.listing\"\n\t \t\t\t\t:price=\"product.price\"\n\t \t\t\t\tclass=\"bg-white radius-small pd-small\"\n\t \t\t\t/>\n\t </ul>\n\t \n\t <PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders?.showFees\"\n :feesRate=\"globals.state.options?.orders?.feesRate || 0\"\n :showVat=\"globals.state.options?.orders?.showVat\"\n :vatRate=\"globals.state.options?.orders?.vatRate || 0\"\n\t\t\t\t :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n\n />\n \t</div>\n\n\t \n\t </div>\n\t</div>\t\t\n\n</template>\n\n\n<script setup=\"props\">\n\timport { computed, ref, onMounted } from 'vue'\n\timport { useRouter, useRoute } from 'vue-router'\n\n\timport Button from '@martyrs/src/components/Button/Button.vue'\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Popup from \"@martyrs/src/components/Popup/Popup.vue\";\n\n\timport IconTime from '@martyrs/src/modules/icons/entities/IconTime.vue'\n\n\t// Block\n\timport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport ChatPage from '@martyrs/src/modules/chats/components/pages/ChatPage.vue';\n\n\timport StatusHistory from '@martyrs/src/modules/orders/components/blocks/StatusHistory.vue'\n\timport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\timport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n\n\timport * as globals \tfrom '@martyrs/src/modules/globals/views/store/globals.js'\n\timport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\timport * as orders \tfrom '@martyrs/src/modules/orders/store/orders.js'\n\timport * as products \tfrom '@martyrs/src/modules/products/store/products.js'\n\timport * as organizations \tfrom '@martyrs/src/modules/organizations/store/organizations.js'\n\n\timport { useI18n } from 'vue-i18n';\n\timport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js';\n\t\n\tconst { locale } = useI18n();\n\tconst { returnCurrency } = useGlobalMixins();\n\n\tconst router = useRouter()\n\tconst route = useRoute()\n\n\tconst order = ref(null)\n\tconst productsOrganization = ref(null)\n\tconst orderOrganization = ref(null)\n\n\tconst statuses = globals.state.options.orders.statuses\n\tconst statusLabels = ['Created', 'Confirmed', 'Preparing', 'In use', 'Finished'];\n\n if (route.meta.context === 'user' && \n auth.state.user && \n route.params._id !== auth.state.user?._id && \n !auth.state.access?.roles?.includes('ROLE_MODERATOR') && \n !auth.state.access?.roles?.includes('ROLE_ADMIN')) {\n router.push('/401');\n }\n\n\tconst isOpeStatusPopup = ref(false);\n\tconst selectedMember = ref(null);\n\n\tfunction openStatusPopup(member) {\n\t isOpeStatusPopup.value = true;\n\t if (typeof member === \"number\") selectedMember.value = member;\n\t}\n\n\tfunction closeStatusPopup() {\n\t isOpeStatusPopup.value = false;\n\t selectedMember.value = null;\n\t}\n\n\tconst isOpenPaymentPopup = ref(false);\n\n\tconst selectedPayments = ref({\n\t\ttype: null,\n\t\tstatus: null\n\t});\n\n\tfunction openPaymentPopup() {\n\t selectedPayments.value.type = order.value.payment.type\n\t selectedPayments.value.status = order.value.payment.status\n\n\t isOpenPaymentPopup.value = true;\n\t}\n\n\tfunction closePaymentPopup() {\n\t isOpenPaymentPopup.value = false;\n\t}\n\n\tonMounted(async()=>{\n\t\torder.value = await orders.actions.read({_id: route.params.order})\n\t\torder.value = order.value[0]\n\n\t orderOrganization.value = await organizations.actions.read({\n\t _id: order.value?.owner.target._id,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t });\n\n\t})\n\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n\tlet cartTotalPrice = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n // Проверяем тип листинга\n if (product.listing === 'rent') {\n const start = new Date(product.date.start)\n const end = new Date(product.date.end)\n const diffTime = Math.abs(end - start)\n return total + product.price * (Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1);\n } else {\n // Для обычных товаров умножаем на количество\n return total + product.price * (product.quantity || 1);\n }\n }, 0));\n })\n\n\n let cartTotalAmount = computed(() => {\n return Number(order.value?.positions.reduce((total, product) => {\n return total + product.quantity;\n }, 0));\n })\n\n // Функция установки нового статуса\n\tasync function setStatus (newStatus) {\n\t orders.state.current.status = newStatus\n\n\t await orders.actions.update(orders.state.current)\n\t} \n\n\n\tfunction getNextStatus(currentStatus) {\n\t const currentIndex = globals.state.options.orders.statuses.findIndex(status => status.value === currentStatus);\n\n\t if (currentIndex !== -1 && currentIndex + 1 < statuses.length) {\n\t return globals.state.options.orders.statuses[currentIndex + 1];\n\t }\n\t return null; // If next status doesn't exist\n\t}\n\n\tconst isActiveStatus = (index) => {\n\t return globals.state.options.orders.statuses.slice(index).some(status => status.value === order.value.status);\n\t};\n\n async function changePaymentStatus() {\n if (selectedPayments.value.status && selectedPayments.value.type) {\n orders.state.current.payment = selectedPayments.value;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Payment status is void. Must handle somehow.');\n }\n\n\t\tclosePaymentPopup()\n }\n\n async function setNextStatus() {\n const nextStatus = getNextStatus(orders.state.current.status);\n\n if (nextStatus) {\n orders.state.current.status = nextStatus.value;\n \n // Обновляем позиции заказа из текущего состояния\n orders.state.current.positions = order.value.positions;\n\n await orders.actions.update(orders.state.current)\n } else {\n console.error('Next status is void. Must handle somehow.');\n }\n\n\t\tcloseStatusPopup()\n }\n\n async function cancelOrder() {\n \talert()\n\n orders.state.current.status = 'canceled';\n\n await orders.actions.update(orders.state.current)\n}\n\n\n async function confirmOrder() {\n \talert()\n\n orders.state.current.status = 'confirmed';\n\n await orders.actions.update(orders.state.current)\n\t}\n\n\tfunction calculateDeliveryTime(distance, date) {\n\t if (!distance) {\n\t return null;\n\t }\n\n\t const basePreparationTime = 10 * 60 * 1000; // Convert to milliseconds\n\t const travelTime = Math.ceil((15 + 5 + 3 * distance) / 5) * 5 * 60 * 1000;\n\n\t // Преобразование даты начала в миллисекунды и добавление времени подготовки и доставки\n\t const startTime = new Date(date).getTime();\n\t const estimatedDeliveryTime = new Date(startTime + basePreparationTime + travelTime);\n\n\t return estimatedDeliveryTime;\n\t}\n\n\n</script>\n\n<style lang=\"scss\" scoped>\n\t.blink {\n\t animation: blink-animation 1s ease infinite;\n\t}\n\n\t@keyframes blink-animation {\n\t 0%, 100% {\n\t opacity: 1;\n\t }\n\t 50% {\n\t opacity: 0.8;\n\t }\n\t}\n</style>"],"names":["globals.state","auth.state","orders.actions","organizations.actions","orders.state","orders.getters"],"mappings":"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"}
@@ -13,7 +13,7 @@ const mixins = require("../../../globals/views/mixins/mixins.cjs");
13
13
  ;/* empty css */
14
14
  const _hoisted_1 = { class: "pd-big mobile:pd-medium pd-b-zero mobile:pd-b-zero flex-nowrap flex" };
15
15
  const _hoisted_2 = { class: "mn-b-medium w-100" };
16
- const _hoisted_3 = { class: "mn-b-thin p-semi" };
16
+ const _hoisted_3 = { class: "mn-b-thin p-medium" };
17
17
  const _hoisted_4 = { class: "t-transp p-small" };
18
18
  const _hoisted_5 = { class: "pd-big pd-t-zero mobile:pd-t-zero mobile:pd-medium h-70 flex flex-column w-100 pos-relative o-x-hidden o-y-scroll gap-small shopcart-content" };
19
19
  const _hoisted_6 = {