@ozdao/martyrs 0.2.470 → 0.2.472

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 (284) hide show
  1. package/dist/{Media-CR0V1zvB.js → Media-DW8RLbfM.js} +1 -1
  2. package/dist/{Media-C4Ges_Sd.mjs → Media-y_TX6us_.mjs} +1 -1
  3. package/dist/_virtual/index.cjs +1 -1
  4. package/dist/_virtual/index.js +1 -1
  5. package/dist/auth.server.js +1 -1
  6. package/dist/auth.server.mjs +1 -1
  7. package/dist/chats.server.js +1 -1
  8. package/dist/chats.server.mjs +1 -1
  9. package/dist/community.server.js +1 -1
  10. package/dist/community.server.mjs +1 -1
  11. package/dist/events.server.js +1 -1
  12. package/dist/events.server.mjs +1 -1
  13. package/dist/files.server.js +1 -1
  14. package/dist/files.server.mjs +1 -1
  15. package/dist/gallery.server.js +1 -1
  16. package/dist/gallery.server.mjs +1 -1
  17. package/dist/{index-DQqZReAr.js → index-CVXl1rB5.js} +0 -1
  18. package/dist/{index-DICZTQ-1.mjs → index-Df8vtZx7.mjs} +0 -1
  19. package/dist/{main-CsZAG5Wz.js → main-CCfQH-Dd.js} +2 -2
  20. package/dist/{main-CTcal9qN.mjs → main-CgmHzhq5.mjs} +74 -74
  21. package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +1 -1
  22. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
  23. package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
  24. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  25. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
  26. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  27. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs +5 -0
  28. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs.map +1 -0
  29. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  30. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  31. package/dist/{node_modules/.pnpm/uuid@11.1.0 → martyrs}/node_modules/uuid/dist/esm-browser/rng.cjs +4 -4
  32. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.cjs.map +1 -0
  33. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
  34. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
  35. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs +17 -0
  36. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs.map +1 -0
  37. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
  38. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
  39. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs +13 -0
  40. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs.map +1 -0
  41. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
  42. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
  43. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs +8 -0
  44. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs.map +1 -0
  45. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  46. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  47. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  48. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  49. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  50. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  51. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  52. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  53. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  54. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  55. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs +5 -5
  56. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js +5 -5
  58. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/Tab/{Tab.vue2.cjs → Tab.vue.cjs} +2 -2
  60. package/dist/martyrs/src/components/Tab/{Tab.vue2.js.map → Tab.vue.cjs.map} +1 -1
  61. package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
  62. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
  63. package/dist/martyrs/src/components/Tree/Tree.vue.cjs +3 -1
  64. package/dist/martyrs/src/components/Tree/Tree.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/components/Tree/Tree.vue.js +3 -1
  66. package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  69. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  71. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  73. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  75. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  77. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  79. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  81. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  85. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +1 -0
  86. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  87. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -0
  88. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  89. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  91. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  93. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +107 -21
  94. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
  95. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +107 -21
  96. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
  97. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +10 -14
  98. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  99. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +12 -16
  100. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  103. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +7 -13
  104. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  105. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +7 -13
  106. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  107. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +6 -7
  108. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +7 -8
  110. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  113. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  115. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  117. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  118. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
  119. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
  120. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
  121. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  123. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  125. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  127. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  129. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +11 -5
  130. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +12 -6
  132. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +34 -13
  134. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +35 -14
  136. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +20 -9
  138. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  139. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +21 -10
  140. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  141. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  143. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  145. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -1
  146. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  147. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -1
  148. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  151. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  153. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +1 -1
  155. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  157. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  159. package/dist/martyrs.cjs.js +1 -1
  160. package/dist/martyrs.css +1 -1
  161. package/dist/martyrs.es.js +1 -1
  162. package/dist/notifications.server.js +35 -2
  163. package/dist/notifications.server.mjs +35 -2
  164. package/dist/orders.server.js +3 -3
  165. package/dist/orders.server.mjs +3 -3
  166. package/dist/organizations.server.js +1 -1
  167. package/dist/organizations.server.mjs +1 -1
  168. package/dist/products.server.js +78 -53
  169. package/dist/products.server.mjs +78 -53
  170. package/dist/rents.server.js +1 -1
  171. package/dist/rents.server.mjs +1 -1
  172. package/dist/style.css +37 -38
  173. package/dist/wallet.server.js +1 -1
  174. package/dist/wallet.server.mjs +1 -1
  175. package/package.json +2 -1
  176. package/src/components/Feed/Feed.vue +2 -7
  177. package/src/components/Skeleton/Skeleton.vue +4 -5
  178. package/src/components/Tree/Tree.vue +5 -2
  179. package/src/modules/auth/controllers/middlewares/authJwt.js +1 -1
  180. package/src/modules/auth/views/store/auth.js +2 -1
  181. package/src/modules/globals/controllers/classes/globals.crud.js +2 -2
  182. package/src/modules/globals/views/classes/globals.store.js +119 -31
  183. package/src/modules/globals/views/components/partials/Navigation.vue +11 -10
  184. package/src/modules/globals/views/utils/vue-app-renderer.js +7 -16
  185. package/src/modules/icons/entities/IconMusic.vue +14 -0
  186. package/src/modules/icons/navigation/IconCheck.vue +31 -0
  187. package/src/modules/icons/navigation/IconHeart.vue +26 -0
  188. package/src/modules/icons/navigation/IconPause.vue +31 -0
  189. package/src/modules/icons/navigation/IconPlay.vue +17 -0
  190. package/src/modules/icons/navigation/IconRefresh.vue +31 -0
  191. package/src/modules/icons/navigation/IconShuffle.vue +31 -0
  192. package/src/modules/icons/navigation/IconVolume.vue +31 -0
  193. package/src/modules/music/components/SidebarMusic.vue +156 -0
  194. package/src/modules/music/components/cards/AlbumCard.vue +107 -0
  195. package/src/modules/music/components/cards/ArtistCard.vue +37 -0
  196. package/src/modules/music/components/cards/PlaylistCard.vue +100 -0
  197. package/src/modules/music/components/cards/TrackCard.vue +86 -0
  198. package/src/modules/music/components/forms/PlaylistForm.vue +156 -0
  199. package/src/modules/music/components/forms/SearchForm.vue +82 -0
  200. package/src/modules/music/components/forms/UploadForm.vue +313 -0
  201. package/src/modules/music/components/layouts/MusicLayout.vue +137 -0
  202. package/src/modules/music/components/lists/AlbumList.vue +25 -0
  203. package/src/modules/music/components/lists/ArtistList.vue +25 -0
  204. package/src/modules/music/components/lists/PlaylistList.vue +25 -0
  205. package/src/modules/music/components/lists/TrackList.vue +175 -0
  206. package/src/modules/music/components/pages/AlbumDetail.vue +265 -0
  207. package/src/modules/music/components/pages/ArtistDetail.vue +247 -0
  208. package/src/modules/music/components/pages/MusicHome.vue +177 -0
  209. package/src/modules/music/components/pages/MusicLibrary.vue +192 -0
  210. package/src/modules/music/components/pages/MusicUpload.vue +44 -0
  211. package/src/modules/music/components/pages/PlaylistDetail.vue +504 -0
  212. package/src/modules/music/components/pages/SearchResults.vue +397 -0
  213. package/src/modules/music/components/pages/TrackDetail.vue +143 -0
  214. package/src/modules/music/components/player/MusicPlayer.vue +202 -0
  215. package/src/modules/music/components/player/TrackProgress.vue +110 -0
  216. package/src/modules/music/components/player/VolumeControl.vue +98 -0
  217. package/src/modules/music/controllers/album.controller.js +98 -0
  218. package/src/modules/music/controllers/artist.controller.js +111 -0
  219. package/src/modules/music/controllers/genre.controller.js +71 -0
  220. package/src/modules/music/controllers/music.controller.js +174 -0
  221. package/src/modules/music/controllers/playlist.controller.js +182 -0
  222. package/src/modules/music/controllers/search.controller.js +103 -0
  223. package/src/modules/music/controllers/stream.controller.js +106 -0
  224. package/src/modules/music/models/album.model.js +61 -0
  225. package/src/modules/music/models/artist.model.js +67 -0
  226. package/src/modules/music/models/genre.model.js +42 -0
  227. package/src/modules/music/models/play-history.model.js +51 -0
  228. package/src/modules/music/models/playlist.model.js +69 -0
  229. package/src/modules/music/models/track.model.js +94 -0
  230. package/src/modules/music/music.client.js +186 -0
  231. package/src/modules/music/music.server.js +114 -0
  232. package/src/modules/music/policies/music.policies.js +84 -0
  233. package/src/modules/music/router/music.js +77 -0
  234. package/src/modules/music/routes/album.routes.js +62 -0
  235. package/src/modules/music/routes/artist.routes.js +67 -0
  236. package/src/modules/music/routes/genre.routes.js +60 -0
  237. package/src/modules/music/routes/music.routes.js +145 -0
  238. package/src/modules/music/routes/playlist.routes.js +99 -0
  239. package/src/modules/music/routes/search.routes.js +10 -0
  240. package/src/modules/music/routes/stream.routes.js +38 -0
  241. package/src/modules/music/store/albums.js +200 -0
  242. package/src/modules/music/store/artists.js +180 -0
  243. package/src/modules/music/store/player.js +397 -0
  244. package/src/modules/music/store/playlists.js +211 -0
  245. package/src/modules/music/store/search.js +126 -0
  246. package/src/modules/music/store/tracks.js +230 -0
  247. package/src/modules/music/websocket/streaming.handler.js +151 -0
  248. package/src/modules/notifications/controllers/notifications.controller.js +44 -1
  249. package/src/modules/notifications/notifications.server.js +0 -1
  250. package/src/modules/notifications/routes/notifications.routes.js +3 -0
  251. package/src/modules/orders/components/pages/OrderCreate.vue +0 -2
  252. package/src/modules/products/components/blocks/CardCategory.vue +5 -4
  253. package/src/modules/products/components/pages/Categories.vue +38 -20
  254. package/src/modules/products/components/pages/CategoryEdit.vue +16 -7
  255. package/src/modules/products/components/pages/ProductEdit.vue +1 -0
  256. package/src/modules/products/controllers/categories.controller.js +155 -103
  257. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  258. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  259. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +0 -1
  260. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
  261. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
  262. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
  263. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  264. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs +0 -6
  265. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs.map +0 -1
  266. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
  267. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  268. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
  269. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  270. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  271. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -11
  272. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
  273. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
  274. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  275. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs +0 -21
  276. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
  277. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -21
  278. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  279. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +0 -0
  280. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
  281. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs +0 -0
  282. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs.map +0 -0
  283. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js +0 -0
  284. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js.map +0 -0
@@ -1,4 +1,4 @@
1
- import { ref, computed, onMounted, watch, createElementBlock, openBlock, createBlock, createCommentVNode, createTextVNode, createElementVNode, toDisplayString, createVNode, Fragment, renderList, unref, withCtx } from "vue";
1
+ import { ref, computed, onMounted, watch, createElementBlock, openBlock, createBlock, createCommentVNode, createElementVNode, createVNode, Fragment, renderList, unref, withCtx, createTextVNode } from "vue";
2
2
  import _sfc_main$9 from "../../../../components/Button/Button.vue.js";
3
3
  import _sfc_main$7 from "../blocks/CardOrderItem.vue.js";
4
4
  import _sfc_main$1 from "../sections/AskToLogin.vue.js";
@@ -211,13 +211,12 @@ const _sfc_main = {
211
211
  }
212
212
  }
213
213
  return (_ctx, _cache) => {
214
- var _a, _b, _c, _d, _e, _f;
214
+ var _a, _b, _c, _d, _e;
215
215
  return openBlock(), createElementBlock("section", _hoisted_1, [
216
216
  state$3.access.status === false ? (openBlock(), createBlock(_sfc_main$1, {
217
217
  key: 0,
218
218
  class: "mn-b-thin"
219
219
  })) : createCommentVNode("", true),
220
- createTextVNode(" " + toDisplayString(state$4.organization) + " " + toDisplayString((_a = orderOrganization.value.value) == null ? void 0 : _a._id) + " ", 1),
221
220
  createElementVNode("div", _hoisted_2, [
222
221
  state$4.positions < 1 ? (openBlock(), createBlock(_sfc_main$2, { key: 0 })) : createCommentVNode("", true),
223
222
  order.value.status === true && state$4.positions.length > 0 ? (openBlock(), createBlock(_sfc_main$3, {
@@ -260,11 +259,11 @@ const _sfc_main = {
260
259
  totalPrice: unref(cartTotalPrice),
261
260
  deliveryRate: deliveryCost.value,
262
261
  currency: unref(returnCurrency)(),
263
- showFees: (_b = state$2.options) == null ? void 0 : _b.orders.showFees,
264
- feesRate: ((_c = state$2.options) == null ? void 0 : _c.orders.feesRate) || 0,
265
- showVat: (_d = state$2.options) == null ? void 0 : _d.orders.showVat,
266
- vatRate: ((_e = state$2.options) == null ? void 0 : _e.orders.vatRate) || 0,
267
- showDeliveryFee: (_f = state$2.options) == null ? void 0 : _f.orders.showDeliveryFee
262
+ showFees: (_a = state$2.options) == null ? void 0 : _a.orders.showFees,
263
+ feesRate: ((_b = state$2.options) == null ? void 0 : _b.orders.feesRate) || 0,
264
+ showVat: (_c = state$2.options) == null ? void 0 : _c.orders.showVat,
265
+ vatRate: ((_d = state$2.options) == null ? void 0 : _d.orders.vatRate) || 0,
266
+ showDeliveryFee: (_e = state$2.options) == null ? void 0 : _e.orders.showDeliveryFee
268
267
  }, null, 8, ["totalPrice", "deliveryRate", "currency", "showFees", "feesRate", "showVat", "vatRate", "showDeliveryFee"])
269
268
  ]),
270
269
  state.current.status !== true && state$4.positions.length > 0 ? (openBlock(), createBlock(_sfc_main$9, {
@@ -1 +1 @@
1
- {"version":3,"file":"OrderCreate.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/OrderCreate.vue"],"sourcesContent":["<template>\n\n<section class=\"bg-white pd-thin\">\n\n\t<!-- Ask to login -->\n\t<AskToLogin class=\"mn-b-thin\" v-if=\"auth.state.access.status === false\" /> \n\t{{shopcart.state.organization}}\n\t{{orderOrganization.value?._id}}\n\t<!-- Order form -->\n\t<div class=\"gap-small mn-b-thin cols-2\">\n\t\t<!-- Empty State -->\n\t\t<EmptyState \n\t\t\tv-if=\"shopcart.state.positions < 1\" \n\t\t/>\t\n\n\t\t<Succes \n\t\t\tv-if=\"order.status === true && shopcart.state.positions.length > 0\" \n\t\t\t:order=\"order\" \n\t\t/>\n\t\t<!-- Order Form -->\n\t\t<div\n\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\" \n\t\t\tclass=\"rows-1 gap-thin\"\n\t\t>\n\t\t\t<FormCustomerDetails\n\t\t\t\t:customer=\"orders.state.current.customer\"\n\t\t\t/>\n\t\t\t<FormPayment \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t<FormDelivery \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t\n\t\t</div>\n\n\t\t<!-- Order positions -->\n\t\t<div \n\t\t\tv-if=\"shopcart.state.positions.length > 0\" \n\t\t\tclass=\"bg-white br-solid br-light br-1px pd-medium radius-medium\"\n\t\t>\n\t\t\t<h4 class=\"font-second mn-b-thin\">Your Order</h4>\n\n\t\t\t<ul class=\"flex gap-thin flex-wrap mn-b-thin\">\n\t\t\t\t<CardOrderItem \n\t\t\t\t\tv-for=\"product in shopcart.state.positions\" \n\t\t\t\t\t:key=\"product._id\" \n\t\t\t\t\t:editable=\"true\" \n\t\t\t\t\t:product=\"product\" \n\t :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n\t :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n\t :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n\t\t\t\t\t@updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n\t class=\"w-100 bg-white \"\n\t />\n\t\t\t</ul>\n\n\t\t\t\t<div \n\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t>\t\n\t\t\t\t<PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n />\n\t\t\t</div>\n\t\t\t<!-- Send order -->\n\t\t <Button\n v-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n :submit=\"() => handleCreate()\"\n class=\"bg-main mn-b-small pd-small radius-big w-100 button\"\n :disabled=\"\n\t\t errorName \n\t\t || errorPhoneOrMessenger \n\t\t || errorCity \n\t\t || errorAddress \n\t\t || errorDelivery \n\t\t || errorPayment\n\t\t || isLocationLoading\n\t\t \"\n >\n <span>Place an Order</span>\n </Button>\n\n\t\t <p class='mn-b-thin'>\n\t\t\t\tI agree that placing the order places me under an obligation to make a payment in accordance with <a class=\"t-semi font-second t-second\" href=\"/legal/terms-of-use\" target=\"_blank\">Terms of Use.</a>\n\t\t\t</p>\n\t\t\t<p >\n\t\t\t\t\n\t\t\t</p>\n\t\t</div>\n\n\t</div>\n\n\t\n\t\n</section>\n\n</template>\n\n\n<script setup>\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import components\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Block\nimport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n// Sections\nimport AskToLogin from '@martyrs/src/modules/orders/components/sections/AskToLogin.vue'\nimport Succes from '@martyrs/src/modules/orders/components/sections/Succes.vue'\nimport EmptyState from '@martyrs/src/modules/orders/components/sections/EmptyState.vue'\n\nimport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\nimport FormCustomerDetails from '@martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue'\nimport FormDelivery from '@martyrs/src/modules/orders/components/sections/FormDelivery.vue'\nimport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import libs\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { useRoute,useRouter } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/globals/views/mixins/mixins.js\"\n\n// Store\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations';\nimport * as orders from '@martyrs/src/modules/orders/store/orders';\nimport * as users from '@martyrs/src/modules/auth/views/store/users';\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Variables and computed\n//////////////////////////////////////////////////////////////////////////////////////////////////\nconst isLocationLoading = ref(false)\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\nconst { returnCurrency } = useGlobalMixins()\n// COMPUTED\nconst order = computed(() => orders.state.current)\nconst user = computed(() => users.state.current)\n\nconst cartTotalPrice = shopcart.getters.cartTotalPrice\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n// Organization\nconst orderOrganization = ref({})\n\n\nif (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id) { \n\trouter.push({name: 'Sign In'})\t\n}\n\n\norders.mutations.resetOrder()\n\nonMounted(async()=> {\n\temits('page-loading');\n\n\tisLocationLoading.value = true\n\n\tif (auth.state.user._id) {\n\t\tlet data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });\n\n\t\torders.state.current.customer.profile.name = users.state.current.profile.name\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t}\n\n\torderOrganization.value = await organizations.actions.read({\n\t _id: shopcart.state.organization,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t})\n\t\n \tisLocationLoading.value = false\n emits('page-loaded');\n\n if (typeof gtag === 'function') {\n gtag('event', 'begin_checkout', {\n currency: returnCurrency(), // Замените на вашу валюту\n value: cartTotalPrice || 0,\n items: shopcart.state.positions.map(item => ({\n item_id: item.product?._id,\n item_name: item.product?.name,\n price: item.price || 0,\n quantity: item.quantity || 1,\n item_category: item.product?.category || '',\n item_brand: orderOrganization.value.profile?.name || ''\n })),\n organization: orderOrganization.value.profile?.name || '',\n location: globals.state.position?.location || 'unknown'\n });\n }\n})\n\n\nwatch(\n () => orders.state.current.delivery,\n async (newVal) => {\n if (newVal?.location) {\n \tisLocationLoading.value = true\n\n orderOrganization.value = await organizations.actions.read({\n _id: shopcart.state.organization,\n location: newVal.location,\n lookup: ['spots']\n })\n\n isLocationLoading.value = false\n }\n },\n { deep: true }\n)\n\n\n/////////////////////////////\n// Store Verification\n/////////////////////////////\nconst errorName = computed(() => {\n if (orders.state.current.customer.name?.length < 2) { return true } else { return false }\n});\n\nconst errorPhoneOrMessenger = computed(() => {\n const hasMessengerType = orders.state.current.customer.messenger?.type;\n const hasMessengerValue = orders.state.current.customer.messenger?.value?.length >\t 2;\n const hasPhone = orders.state.current.customer.number?.length > 0;\n // Ошибка, если нет ни номера телефона, ни корректного типа и значения мессенджера\n return !hasPhone && !(hasMessengerType && hasMessengerValue);\n});\n\nconst errorAddress = computed(() => {\n const type = orders.state.current.delivery.type;\n if (type === \"pickup\") {\n return !orders.state.current.delivery.spot;\n } else if (type === \"courier\" || type === \"mail\") {\n const address = orders.state.current.delivery.address;\n return !address || typeof address !== 'string' || address.length < 2;\n }\n return false;\n});\n\nconst errorDelivery = computed(() => {\n if (orders.state.current.delivery.type) {return false } else {return true } \n})\n\nconst errorPayment = computed(() => {\n if (orders.state.current.payment.type) { return false } else {return true } \n})\n/////////////////////////////\n// Methods\n/////////////////////////////\nasync function handleCreate() {\n\n\torders.state.current.status = 'created';\n\n\torders.state.current.owner = {\n\t\ttarget: orderOrganization.value[0]._id,\n\t\ttype: 'organization'\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.creator = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.customer = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\torders.state.current.positions = shopcart.state.positions\n\n \tconst referralCode = localStorage.getItem('referalCode');\n \n if (referralCode) {\n orders.state.current.referralCode = referralCode;\n }\n\n let order = await orders.actions.create(orders.state.current);\n\n if (order) {\n\t if (typeof gtag === 'function') {\n\t gtag('event', 'purchase', {\n\t transaction_id: order._id,\n\t value: cartTotalPrice || 0,\n\t currency: returnCurrency(), // Замените на вашу валюту\n\t tax: 0, // Если есть данные о налоге\n\t shipping: deliveryCost.value, // Если есть данные о доставке\n\t items: shopcart.state.positions.map(item => ({\n\t item_id: item.product?._id,\n\t item_name: item.product?.name ,\n\t price: item.price || 0,\n\t quantity: item.quantity || 1,\n\t item_category: item.product?.category || ''\n\t })),\n\t organization: orderOrganization.value?.profile?.name,\n\t location: globals.state.position?.location || 'unknown',\n\t referral_code: referralCode || null,\n\t user_id: auth.state.user._id || 'anonymous'\n\t });\n\t }\n\t}\n\n if (order) {\n \tawait router.push({\n \t\tname: 'Order',\n \t\tparams: {\n \t\t\torder: order._id\n \t\t}\n \t})\n \t\t\n \tshopcart.actions.resetShopcart()\n\n } else {\n \talert('something wrong')\n }\n}\n</script>\n\n<style lang=\"scss\">\n\n.round-wrapper {\n\tposition: relative;\n\n\t.round {\n\t\tmargin: 0;\n\t\tmargin-right: 1rem;\n\t}\n\n\tinput:checked {\n\t\tbackground: #00ff88;\n\t}\n\n\t.round-checkmark {\n\t\tposition: absolute;\n\t\twidth: 0.5rem;\n\t\theight: 0.5rem;\n\t\tbackground: white;\n\n\t\tleft: 0.5rem;\n\t\ttop: 0.5rem;\n\n\t\topacity: 1;\n\t}\n}\n</style>"],"names":["orders.state","users.state","shopcart.getters","globals.state","orders.getters","auth.state","orders.mutations","users.actions","organizations.actions","shopcart.state","_a","_b","_c","order","orders.actions","shopcart.actions"],"mappings":"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"}
1
+ {"version":3,"file":"OrderCreate.vue.js","sources":["../../../../../../../src/modules/orders/components/pages/OrderCreate.vue"],"sourcesContent":["<template>\n\n<section class=\"bg-white pd-thin\">\n\n\t<!-- Ask to login -->\n\t<AskToLogin class=\"mn-b-thin\" v-if=\"auth.state.access.status === false\" /> \n\t<!-- Order form -->\n\t<div class=\"gap-small mn-b-thin cols-2\">\n\t\t<!-- Empty State -->\n\t\t<EmptyState \n\t\t\tv-if=\"shopcart.state.positions < 1\" \n\t\t/>\t\n\n\t\t<Succes \n\t\t\tv-if=\"order.status === true && shopcart.state.positions.length > 0\" \n\t\t\t:order=\"order\" \n\t\t/>\n\t\t<!-- Order Form -->\n\t\t<div\n\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\" \n\t\t\tclass=\"rows-1 gap-thin\"\n\t\t>\n\t\t\t<FormCustomerDetails\n\t\t\t\t:customer=\"orders.state.current.customer\"\n\t\t\t/>\n\t\t\t<FormPayment \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t<FormDelivery \t\n\t\t\t\tv-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n\t\t\t\t:order=\"orders.state.current\" \n\t\t\t\t:organization=\"orderOrganization[0]\" \n\t\t\t/>\n\t\t\t\n\t\t</div>\n\n\t\t<!-- Order positions -->\n\t\t<div \n\t\t\tv-if=\"shopcart.state.positions.length > 0\" \n\t\t\tclass=\"bg-white br-solid br-light br-1px pd-medium radius-medium\"\n\t\t>\n\t\t\t<h4 class=\"font-second mn-b-thin\">Your Order</h4>\n\n\t\t\t<ul class=\"flex gap-thin flex-wrap mn-b-thin\">\n\t\t\t\t<CardOrderItem \n\t\t\t\t\tv-for=\"product in shopcart.state.positions\" \n\t\t\t\t\t:key=\"product._id\" \n\t\t\t\t\t:editable=\"true\" \n\t\t\t\t\t:product=\"product\" \n\t :increase=\"product => shopcart.actions.incrementItemQuantity(product._id)\"\n\t :decrease=\"product => shopcart.actions.decrementItemQuantity(product._id)\"\n\t :remove=\"product => shopcart.actions.removeProduct(product._id)\"\n\t\t\t\t\t@updateRentDates=\"(product, dates) => shopcart.actions.updateRentDates({ productId: product._id, dates })\"\n\t class=\"w-100 bg-white \"\n\t />\n\t\t\t</ul>\n\n\t\t\t\t<div \n\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t>\t\n\t\t\t\t<PriceTotal \n :totalPrice=\"cartTotalPrice\"\n :deliveryRate=\"deliveryCost\"\n :currency=\"returnCurrency()\"\n :showFees=\"globals.state.options?.orders.showFees\"\n :feesRate=\"globals.state.options?.orders.feesRate || 0\"\n :showVat=\"globals.state.options?.orders.showVat\"\n :vatRate=\"globals.state.options?.orders.vatRate || 0\"\n :showDeliveryFee=\"globals.state.options?.orders.showDeliveryFee\"\n />\n\t\t\t</div>\n\t\t\t<!-- Send order -->\n\t\t <Button\n v-if=\"orders.state.current.status !== true && shopcart.state.positions.length > 0\"\n :submit=\"() => handleCreate()\"\n class=\"bg-main mn-b-small pd-small radius-big w-100 button\"\n :disabled=\"\n\t\t errorName \n\t\t || errorPhoneOrMessenger \n\t\t || errorCity \n\t\t || errorAddress \n\t\t || errorDelivery \n\t\t || errorPayment\n\t\t || isLocationLoading\n\t\t \"\n >\n <span>Place an Order</span>\n </Button>\n\n\t\t <p class='mn-b-thin'>\n\t\t\t\tI agree that placing the order places me under an obligation to make a payment in accordance with <a class=\"t-semi font-second t-second\" href=\"/legal/terms-of-use\" target=\"_blank\">Terms of Use.</a>\n\t\t\t</p>\n\t\t\t<p >\n\t\t\t\t\n\t\t\t</p>\n\t\t</div>\n\n\t</div>\n\n\t\n\t\n</section>\n\n</template>\n\n\n<script setup>\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import components\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Block\nimport CardOrderItem from '@martyrs/src/modules/orders/components/blocks/CardOrderItem.vue'\n// Sections\nimport AskToLogin from '@martyrs/src/modules/orders/components/sections/AskToLogin.vue'\nimport Succes from '@martyrs/src/modules/orders/components/sections/Succes.vue'\nimport EmptyState from '@martyrs/src/modules/orders/components/sections/EmptyState.vue'\n\nimport PriceTotal from '@martyrs/src/modules/orders/components/elements/PriceTotal.vue';\n\nimport FormCustomerDetails from '@martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue'\nimport FormDelivery from '@martyrs/src/modules/orders/components/sections/FormDelivery.vue'\nimport FormPayment from '@martyrs/src/modules/orders/components/sections/FormPayment.vue'\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Import libs\n///////////////////////////////////////////////////////////////////////////////////////////////////\nimport { ref, computed, onMounted, watch } from 'vue'\nimport { useRoute,useRouter } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/globals/views/mixins/mixins.js\"\n\n// Store\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth';\nimport * as shopcart from '@martyrs/src/modules/orders/store/shopcart';\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations';\nimport * as orders from '@martyrs/src/modules/orders/store/orders';\nimport * as users from '@martyrs/src/modules/auth/views/store/users';\n\nconst emits = defineEmits(['page-loading', 'page-loaded']);\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n// Variables and computed\n//////////////////////////////////////////////////////////////////////////////////////////////////\nconst isLocationLoading = ref(false)\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\nconst { returnCurrency } = useGlobalMixins()\n// COMPUTED\nconst order = computed(() => orders.state.current)\nconst user = computed(() => users.state.current)\n\nconst cartTotalPrice = shopcart.getters.cartTotalPrice\n\nconst deliveryCost = computed(() => {\n const type = orders.state.current.delivery.type\n const distance = orderOrganization.value[0]?.distance || 0\n const config = globals.state.options?.orders?.delivery_formula || {}\n\n return orders.getters.getDeliveryPrice(type, distance, config)\n})\n\n// Organization\nconst orderOrganization = ref({})\n\n\nif (!globals.state.options.orders.allowUnauthenticatedOrders && !auth.state.user._id) { \n\trouter.push({name: 'Sign In'})\t\n}\n\n\norders.mutations.resetOrder()\n\nonMounted(async()=> {\n\temits('page-loading');\n\n\tisLocationLoading.value = true\n\n\tif (auth.state.user._id) {\n\t\tlet data = await users.actions.read({ _id:auth.state.user._id, user: auth.state.user._id });\n\n\t\torders.state.current.customer.profile.name = users.state.current.profile.name\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t\torders.state.current.customer.phone = users.state.current.phone\n\t}\n\n\torderOrganization.value = await organizations.actions.read({\n\t _id: shopcart.state.organization,\n\t location: globals.state.position?.location,\n\t lookup: ['spots']\n\t})\n\t\n \tisLocationLoading.value = false\n emits('page-loaded');\n\n if (typeof gtag === 'function') {\n gtag('event', 'begin_checkout', {\n currency: returnCurrency(), // Замените на вашу валюту\n value: cartTotalPrice || 0,\n items: shopcart.state.positions.map(item => ({\n item_id: item.product?._id,\n item_name: item.product?.name,\n price: item.price || 0,\n quantity: item.quantity || 1,\n item_category: item.product?.category || '',\n item_brand: orderOrganization.value.profile?.name || ''\n })),\n organization: orderOrganization.value.profile?.name || '',\n location: globals.state.position?.location || 'unknown'\n });\n }\n})\n\n\nwatch(\n () => orders.state.current.delivery,\n async (newVal) => {\n if (newVal?.location) {\n \tisLocationLoading.value = true\n\n orderOrganization.value = await organizations.actions.read({\n _id: shopcart.state.organization,\n location: newVal.location,\n lookup: ['spots']\n })\n\n isLocationLoading.value = false\n }\n },\n { deep: true }\n)\n\n\n/////////////////////////////\n// Store Verification\n/////////////////////////////\nconst errorName = computed(() => {\n if (orders.state.current.customer.name?.length < 2) { return true } else { return false }\n});\n\nconst errorPhoneOrMessenger = computed(() => {\n const hasMessengerType = orders.state.current.customer.messenger?.type;\n const hasMessengerValue = orders.state.current.customer.messenger?.value?.length >\t 2;\n const hasPhone = orders.state.current.customer.number?.length > 0;\n // Ошибка, если нет ни номера телефона, ни корректного типа и значения мессенджера\n return !hasPhone && !(hasMessengerType && hasMessengerValue);\n});\n\nconst errorAddress = computed(() => {\n const type = orders.state.current.delivery.type;\n if (type === \"pickup\") {\n return !orders.state.current.delivery.spot;\n } else if (type === \"courier\" || type === \"mail\") {\n const address = orders.state.current.delivery.address;\n return !address || typeof address !== 'string' || address.length < 2;\n }\n return false;\n});\n\nconst errorDelivery = computed(() => {\n if (orders.state.current.delivery.type) {return false } else {return true } \n})\n\nconst errorPayment = computed(() => {\n if (orders.state.current.payment.type) { return false } else {return true } \n})\n/////////////////////////////\n// Methods\n/////////////////////////////\nasync function handleCreate() {\n\n\torders.state.current.status = 'created';\n\n\torders.state.current.owner = {\n\t\ttarget: orderOrganization.value[0]._id,\n\t\ttype: 'organization'\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.creator = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\tif (auth.state.user._id) {\n\t\torders.state.current.customer = {\n\t\t\ttarget: auth.state.user._id,\n\t\t\ttype: 'user'\n\t\t}\n\t}\n\n\torders.state.current.positions = shopcart.state.positions\n\n \tconst referralCode = localStorage.getItem('referalCode');\n \n if (referralCode) {\n orders.state.current.referralCode = referralCode;\n }\n\n let order = await orders.actions.create(orders.state.current);\n\n if (order) {\n\t if (typeof gtag === 'function') {\n\t gtag('event', 'purchase', {\n\t transaction_id: order._id,\n\t value: cartTotalPrice || 0,\n\t currency: returnCurrency(), // Замените на вашу валюту\n\t tax: 0, // Если есть данные о налоге\n\t shipping: deliveryCost.value, // Если есть данные о доставке\n\t items: shopcart.state.positions.map(item => ({\n\t item_id: item.product?._id,\n\t item_name: item.product?.name ,\n\t price: item.price || 0,\n\t quantity: item.quantity || 1,\n\t item_category: item.product?.category || ''\n\t })),\n\t organization: orderOrganization.value?.profile?.name,\n\t location: globals.state.position?.location || 'unknown',\n\t referral_code: referralCode || null,\n\t user_id: auth.state.user._id || 'anonymous'\n\t });\n\t }\n\t}\n\n if (order) {\n \tawait router.push({\n \t\tname: 'Order',\n \t\tparams: {\n \t\t\torder: order._id\n \t\t}\n \t})\n \t\t\n \tshopcart.actions.resetShopcart()\n\n } else {\n \talert('something wrong')\n }\n}\n</script>\n\n<style lang=\"scss\">\n\n.round-wrapper {\n\tposition: relative;\n\n\t.round {\n\t\tmargin: 0;\n\t\tmargin-right: 1rem;\n\t}\n\n\tinput:checked {\n\t\tbackground: #00ff88;\n\t}\n\n\t.round-checkmark {\n\t\tposition: absolute;\n\t\twidth: 0.5rem;\n\t\theight: 0.5rem;\n\t\tbackground: white;\n\n\t\tleft: 0.5rem;\n\t\ttop: 0.5rem;\n\n\t\topacity: 1;\n\t}\n}\n</style>"],"names":["orders.state","users.state","shopcart.getters","globals.state","orders.getters","auth.state","orders.mutations","users.actions","organizations.actions","shopcart.state","_a","_b","_c","order","orders.actions","shopcart.actions"],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Button = require("../../../../components/Button/Button.vue.cjs");
6
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
6
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
7
7
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
8
  const Block = require("../../../../components/Block/Block.vue.cjs");
9
9
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { computed, ref, onMounted, createElementBlock, openBlock, createVNode, createBlock, createCommentVNode, withCtx, createElementVNode, createTextVNode, unref, Fragment, renderList, normalizeClass, toDisplayString } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
4
- import _sfc_main$3 from "../../../../components/Tab/Tab.vue2.js";
4
+ import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
5
5
  import _sfc_main$4 from "../../../../components/Popup/Popup.vue.js";
6
6
  import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
7
7
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- ;/* empty css */
5
+ ;/* empty css */
6
6
  const Block = require("../../../../components/Block/Block.vue.cjs");
7
7
  const orders = require("../../store/orders.cjs");
8
8
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -1,6 +1,6 @@
1
1
  import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createBlock, createCommentVNode, createVNode, unref, withCtx, createElementVNode, toDisplayString, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- /* empty css */
3
+ /* empty css */
4
4
  import _sfc_main$2 from "../../../../components/Block/Block.vue.js";
5
5
  import { state, actions, getters } from "../../store/orders.js";
6
6
  import { state as state$1 } from "../../../auth/views/store/auth.js";
@@ -6,7 +6,7 @@ require("../../../../../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-co
6
6
  require("vue-i18n");
7
7
  ;/* empty css */
8
8
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
9
- ;/* empty css */
9
+ ;/* empty css */
10
10
  const Field = require("../../../../components/Field/Field.vue.cjs");
11
11
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
12
12
  require("../../../../../../node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.cjs");
@@ -4,7 +4,7 @@ import "../../../../../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-coo
4
4
  import "vue-i18n";
5
5
  /* empty css */
6
6
  import _sfc_main$3 from "../../../../components/UploadImage/UploadImage.vue.js";
7
- /* empty css */
7
+ /* empty css */
8
8
  import Field from "../../../../components/Field/Field.vue.js";
9
9
  import _sfc_main$8 from "../../../../components/Checkbox/Checkbox.vue.js";
10
10
  import "../../../../../../node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js";
@@ -3,12 +3,12 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
6
- ;/* empty css */
6
+ ;/* empty css */
7
7
  ;/* empty css */
8
8
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
9
9
  const SectionPageTitle = require("../../../globals/views/components/sections/SectionPageTitle.vue.cjs");
10
10
  const MembersAdd = require("../sections/MembersAdd.vue.cjs");
11
- ;/* empty css */
11
+ ;/* empty css */
12
12
  require("../../../../components/Menu/MenuItem.vue.cjs");
13
13
  const CardUser = require("../../../auth/views/components/blocks/CardUser.vue.cjs");
14
14
  const CardDepartment = require("../blocks/CardDepartment.vue.cjs");
@@ -1,12 +1,12 @@
1
1
  import { ref, onMounted, computed, resolveComponent, createElementBlock, openBlock, createVNode, createBlock, createCommentVNode, withCtx, unref, Fragment, renderList, createTextVNode } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$4 from "../../../../components/Feed/Feed.vue.js";
4
- /* empty css */
4
+ /* empty css */
5
5
  /* empty css */
6
6
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
7
7
  import _sfc_main$1 from "../../../globals/views/components/sections/SectionPageTitle.vue.js";
8
8
  import _sfc_main$3 from "../sections/MembersAdd.vue.js";
9
- /* empty css */
9
+ /* empty css */
10
10
  import "../../../../components/Menu/MenuItem.vue.js";
11
11
  import _sfc_main$5 from "../../../auth/views/components/blocks/CardUser.vue.js";
12
12
  import CardDepartment from "../blocks/CardDepartment.vue.js";
@@ -4,11 +4,11 @@ const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  require("vue-i18n");
6
6
  ;/* empty css */
7
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
7
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
8
8
  const Block = require("../../../../components/Block/Block.vue.cjs");
9
9
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
10
10
  const CardBlogpost = require("../../../community/components/blocks/CardBlogpost.vue.cjs");
11
- ;/* empty css */
11
+ ;/* empty css */
12
12
  require("../../../../components/Menu/MenuItem.vue.cjs");
13
13
  const DetailsTabSection = require("../sections/DetailsTabSection.vue.cjs");
14
14
  const Feed$1 = require("../../../events/components/sections/Feed.vue.cjs");
@@ -2,11 +2,11 @@ import { ref, onMounted, watch, resolveComponent, createElementBlock, createComm
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import "vue-i18n";
4
4
  /* empty css */
5
- import _sfc_main$2 from "../../../../components/Tab/Tab.vue2.js";
5
+ import _sfc_main$2 from "../../../../components/Tab/Tab.vue.js";
6
6
  import _sfc_main$7 from "../../../../components/Block/Block.vue.js";
7
7
  import _sfc_main$3 from "../../../../components/Feed/Feed.vue.js";
8
8
  import _sfc_main$4 from "../../../community/components/blocks/CardBlogpost.vue.js";
9
- /* empty css */
9
+ /* empty css */
10
10
  import "../../../../components/Menu/MenuItem.vue.js";
11
11
  import _sfc_main$1 from "../sections/DetailsTabSection.vue.js";
12
12
  import _sfc_main$5 from "../../../events/components/sections/Feed.vue.js";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
- const Menu = require("../../../../components/Menu/Menu.vue.cjs");
4
+ const Menu = require("../../../../components/Menu/Menu.vue2.cjs");
5
5
  const MenuItem = require("../../../../components/Menu/MenuItem.vue.cjs");
6
6
  ;/* empty css */
7
7
  const IconProducts = require("../../../icons/entities/IconProducts.vue.cjs");
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createVNode, withCtx, createBlock, createCommentVNode, unref, createElementVNode } from "vue";
2
- import _sfc_main$1 from "../../../../components/Menu/Menu.vue.js";
2
+ import _sfc_main$1 from "../../../../components/Menu/Menu.vue2.js";
3
3
  import _sfc_main$2 from "../../../../components/Menu/MenuItem.vue.js";
4
4
  /* empty css */
5
5
  import _sfc_main$4 from "../../../icons/entities/IconProducts.vue.js";
@@ -5,7 +5,7 @@ const vueRouter = require("vue-router");
5
5
  require("vue-i18n");
6
6
  ;/* empty css */
7
7
  const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
8
- ;/* empty css */
8
+ ;/* empty css */
9
9
  const Field = require("../../../../components/Field/Field.vue.cjs");
10
10
  const SelectMulti = require("../../../../components/SelectMulti/SelectMulti.vue.cjs");
11
11
  const UploadImage = require("../../../../components/UploadImage/UploadImage.vue.cjs");
@@ -3,7 +3,7 @@ import { useRoute, useRouter } from "vue-router";
3
3
  import "vue-i18n";
4
4
  /* empty css */
5
5
  import _sfc_main$2 from "../../../../components/FieldTags/BlockTags.vue.js";
6
- /* empty css */
6
+ /* empty css */
7
7
  import Field from "../../../../components/Field/Field.vue.js";
8
8
  import SelectMulti from "../../../../components/SelectMulti/SelectMulti.vue.js";
9
9
  import _sfc_main$1 from "../../../../components/UploadImage/UploadImage.vue.js";
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
7
  const auth = require("../../../auth/views/store/auth.cjs");
8
8
  const organizations = require("../../store/organizations.cjs");
@@ -1,6 +1,6 @@
1
1
  import { ref, watch, createElementBlock, openBlock, createCommentVNode, createVNode, createElementVNode, Transition, withCtx, unref, Fragment, renderList, isMemoSame, createBlock } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$1 from "../../../../components/Tab/Tab.vue2.js";
3
+ import _sfc_main$1 from "../../../../components/Tab/Tab.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
5
5
  import { state } from "../../../auth/views/store/auth.js";
6
6
  import { actions } from "../../store/organizations.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  require("../../../../../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-cookie/dist/js.cookie.cjs");
6
- ;/* empty css */
6
+ ;/* empty css */
7
7
  ;/* empty css */
8
8
  ;/* empty css */
9
9
  const CardOrganization = require("../blocks/CardOrganization.vue.cjs");
@@ -1,7 +1,7 @@
1
1
  import { ref, withAsyncContext, watch, createElementBlock, openBlock, createElementVNode, createBlock, Fragment, renderList, normalizeClass } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import "../../../../../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-cookie/dist/js.cookie.js";
4
- /* empty css */
4
+ /* empty css */
5
5
  /* empty css */
6
6
  /* empty css */
7
7
  import _sfc_main$2 from "../blocks/CardOrganization.vue.js";
@@ -6,8 +6,9 @@ const IconEdit = require("../../../icons/navigation/IconEdit.vue.cjs");
6
6
  const IconDelete = require("../../../icons/navigation/IconDelete.vue.cjs");
7
7
  ;/* empty css */
8
8
  const _hoisted_1 = { class: "flex-v-center bg-light pd-small radius-small flex-column flex" };
9
- const _hoisted_2 = { class: "w-100 flex-nowrap gap-thin flex" };
10
- const _hoisted_3 = { class: "my-handle mn-r-auto" };
9
+ const _hoisted_2 = { class: "w-100 flex-v-center flex-nowrap gap-thin flex" };
10
+ const _hoisted_3 = ["src"];
11
+ const _hoisted_4 = { class: "my-handle word-break t-truncate w-100 w-max-100 mn-r-auto" };
11
12
  const _sfc_main = {
12
13
  __name: "CardCategory",
13
14
  props: {
@@ -25,7 +26,12 @@ const _sfc_main = {
25
26
  const _component_router_link = vue.resolveComponent("router-link");
26
27
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
27
28
  vue.createElementVNode("div", _hoisted_2, [
28
- vue.createElementVNode("h4", _hoisted_3, vue.toDisplayString(__props.category.name), 1),
29
+ __props.category.photo ? (vue.openBlock(), vue.createElementBlock("img", {
30
+ key: 0,
31
+ class: "i-big radius-small object-fit-contain bg-white",
32
+ src: (_ctx.FILE_SERVER_URL || "") + __props.category.photo
33
+ }, null, 8, _hoisted_3)) : vue.createCommentVNode("", true),
34
+ vue.createElementVNode("h4", _hoisted_4, vue.toDisplayString(__props.category.name), 1),
29
35
  vue.createVNode(_component_router_link, {
30
36
  to: {
31
37
  name: "Category Edit",
@@ -34,7 +40,7 @@ const _sfc_main = {
34
40
  category: __props.category.url
35
41
  }
36
42
  },
37
- class: "i-semi z-index-2 cursor-pointer card-page-actions radius-extra pd-micro bg-second"
43
+ class: "i-semi cursor-pointer card-page-actions radius-extra pd-micro bg-second flex-child-default"
38
44
  }, {
39
45
  default: vue.withCtx(() => [
40
46
  vue.createVNode(IconEdit.default, {
@@ -46,7 +52,7 @@ const _sfc_main = {
46
52
  }, 8, ["to"]),
47
53
  vue.createElementVNode("button", {
48
54
  onClick: _cache[0] || (_cache[0] = ($event) => deleteCategory(__props.category)),
49
- class: "i-semi z-index-2 cursor-pointer card-page-actions radius-extra pd-micro bg-second"
55
+ class: "i-semi cursor-pointer card-page-actions radius-extra pd-micro bg-second flex-child-default"
50
56
  }, [
51
57
  vue.createVNode(IconDelete.default, {
52
58
  class: "w-100 h-100",
@@ -1 +1 @@
1
- {"version":3,"file":"CardCategory.vue.cjs","sources":["../../../../../../../src/modules/products/components/blocks/CardCategory.vue"],"sourcesContent":["<template>\n <div class=\"flex-v-center bg-light pd-small radius-small flex-column flex\">\n <div class=\"w-100 flex-nowrap gap-thin flex\">\n <h4 class=\"my-handle mn-r-auto\">{{category.name}}</h4>\n\n <router-link\n :to=\"{\n name: 'Category Edit', \n params: { \n _id: route.params._id,\n category: category.url\n } \n }\"\n class=\"\n i-semi\n z-index-2\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n \"\n >\n <IconEdit\n class=\"w-100 h-100\" \n classes=\"fill-white\"\n />\n </router-link>\n\n <button\n @click=\"deleteCategory(category)\"\n class=\"\n i-semi\n z-index-2\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n \"\n >\n <IconDelete\n class=\"w-100 h-100\"\n :fill=\"'white'\"\n />\n </button>\n </div>\n\n <!-- <p v-if=\" category.children.length > 0\" class=\"w-100\">Subcategories:</p> -->\n <!-- <CardCategory\n v-for=\"(subcategory,index) in category.children\"\n :key=\"subcategory._id\"\n :category=\"subcategory\" \n class=\"pd-l-small bg-white w-100\"\n /> -->\n\n </div>\n</template>\n\n\n<script setup>\nimport { toRef, onMounted, defineEmits } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport CardCategory from './CardCategory.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\n\nconst props = defineProps({\n category: Object,\n});\n\nconst emits = defineEmits(['delete']);\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst deleteCategory = (category) => {\n emits('delete', category);\n};\n\n</script>\n\n\n\n<style lang=\"scss\">\n.card-title {\n .card-page-actions {\n display: none;\n }\n\n &:hover {\n .card-page-actions {\n display: block;\n }\n }\n}\n</style>\n"],"names":["useRoute","useRouter"],"mappings":";;;;;;;;;;;;;;;;;AAuEA,UAAM,QAAQ;AAEd,UAAM,QAAQA,UAAAA,SAAU;AACTC,cAAS,UAAA;AAExB,UAAM,iBAAiB,CAAC,aAAa;AACnC,YAAM,UAAU,QAAQ;AAAA,IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardCategory.vue.cjs","sources":["../../../../../../../src/modules/products/components/blocks/CardCategory.vue"],"sourcesContent":["<template>\n <div class=\"flex-v-center bg-light pd-small radius-small flex-column flex\">\n <div class=\"w-100 flex-v-center flex-nowrap gap-thin flex\">\n <img v-if=\"category.photo\" class=\"i-big radius-small object-fit-contain bg-white\" :src=\"(FILE_SERVER_URL || '') + category.photo\"/>\n <h4 class=\"my-handle word-break t-truncate w-100 w-max-100 mn-r-auto\">{{category.name}}</h4>\n\n <router-link\n :to=\"{\n name: 'Category Edit', \n params: { \n _id: route.params._id,\n category: category.url\n } \n }\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconEdit\n class=\"w-100 h-100\" \n classes=\"fill-white\"\n />\n </router-link>\n\n <button\n @click=\"deleteCategory(category)\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconDelete\n class=\"w-100 h-100\"\n :fill=\"'white'\"\n />\n </button>\n </div>\n\n <!-- <p v-if=\" category.children.length > 0\" class=\"w-100\">Subcategories:</p> -->\n <!-- <CardCategory\n v-for=\"(subcategory,index) in category.children\"\n :key=\"subcategory._id\"\n :category=\"subcategory\" \n class=\"pd-l-small bg-white w-100\"\n /> -->\n\n </div>\n</template>\n\n\n<script setup>\nimport { toRef, onMounted, defineEmits } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport CardCategory from './CardCategory.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\n\nconst props = defineProps({\n category: Object,\n});\n\nconst emits = defineEmits(['delete']);\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst deleteCategory = (category) => {\n emits('delete', category);\n};\n\n</script>\n\n\n\n<style lang=\"scss\">\n.card-title {\n .card-page-actions {\n display: none;\n }\n\n &:hover {\n .card-page-actions {\n display: block;\n }\n }\n}\n</style>\n"],"names":["useRoute","useRouter"],"mappings":";;;;;;;;;;;;;;;;;;AAwEA,UAAM,QAAQ;AAEd,UAAM,QAAQA,UAAAA,SAAU;AACTC,cAAS,UAAA;AAExB,UAAM,iBAAiB,CAAC,aAAa;AACnC,YAAM,UAAU,QAAQ;AAAA,IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,12 @@
1
- import { resolveComponent, createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, unref, withCtx } from "vue";
1
+ import { resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, withCtx } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
4
4
  import _sfc_main$2 from "../../../icons/navigation/IconDelete.vue.js";
5
5
  /* empty css */
6
6
  const _hoisted_1 = { class: "flex-v-center bg-light pd-small radius-small flex-column flex" };
7
- const _hoisted_2 = { class: "w-100 flex-nowrap gap-thin flex" };
8
- const _hoisted_3 = { class: "my-handle mn-r-auto" };
7
+ const _hoisted_2 = { class: "w-100 flex-v-center flex-nowrap gap-thin flex" };
8
+ const _hoisted_3 = ["src"];
9
+ const _hoisted_4 = { class: "my-handle word-break t-truncate w-100 w-max-100 mn-r-auto" };
9
10
  const _sfc_main = {
10
11
  __name: "CardCategory",
11
12
  props: {
@@ -23,7 +24,12 @@ const _sfc_main = {
23
24
  const _component_router_link = resolveComponent("router-link");
24
25
  return openBlock(), createElementBlock("div", _hoisted_1, [
25
26
  createElementVNode("div", _hoisted_2, [
26
- createElementVNode("h4", _hoisted_3, toDisplayString(__props.category.name), 1),
27
+ __props.category.photo ? (openBlock(), createElementBlock("img", {
28
+ key: 0,
29
+ class: "i-big radius-small object-fit-contain bg-white",
30
+ src: (_ctx.FILE_SERVER_URL || "") + __props.category.photo
31
+ }, null, 8, _hoisted_3)) : createCommentVNode("", true),
32
+ createElementVNode("h4", _hoisted_4, toDisplayString(__props.category.name), 1),
27
33
  createVNode(_component_router_link, {
28
34
  to: {
29
35
  name: "Category Edit",
@@ -32,7 +38,7 @@ const _sfc_main = {
32
38
  category: __props.category.url
33
39
  }
34
40
  },
35
- class: "i-semi z-index-2 cursor-pointer card-page-actions radius-extra pd-micro bg-second"
41
+ class: "i-semi cursor-pointer card-page-actions radius-extra pd-micro bg-second flex-child-default"
36
42
  }, {
37
43
  default: withCtx(() => [
38
44
  createVNode(_sfc_main$1, {
@@ -44,7 +50,7 @@ const _sfc_main = {
44
50
  }, 8, ["to"]),
45
51
  createElementVNode("button", {
46
52
  onClick: _cache[0] || (_cache[0] = ($event) => deleteCategory(__props.category)),
47
- class: "i-semi z-index-2 cursor-pointer card-page-actions radius-extra pd-micro bg-second"
53
+ class: "i-semi cursor-pointer card-page-actions radius-extra pd-micro bg-second flex-child-default"
48
54
  }, [
49
55
  createVNode(_sfc_main$2, {
50
56
  class: "w-100 h-100",
@@ -1 +1 @@
1
- {"version":3,"file":"CardCategory.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/CardCategory.vue"],"sourcesContent":["<template>\n <div class=\"flex-v-center bg-light pd-small radius-small flex-column flex\">\n <div class=\"w-100 flex-nowrap gap-thin flex\">\n <h4 class=\"my-handle mn-r-auto\">{{category.name}}</h4>\n\n <router-link\n :to=\"{\n name: 'Category Edit', \n params: { \n _id: route.params._id,\n category: category.url\n } \n }\"\n class=\"\n i-semi\n z-index-2\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n \"\n >\n <IconEdit\n class=\"w-100 h-100\" \n classes=\"fill-white\"\n />\n </router-link>\n\n <button\n @click=\"deleteCategory(category)\"\n class=\"\n i-semi\n z-index-2\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n \"\n >\n <IconDelete\n class=\"w-100 h-100\"\n :fill=\"'white'\"\n />\n </button>\n </div>\n\n <!-- <p v-if=\" category.children.length > 0\" class=\"w-100\">Subcategories:</p> -->\n <!-- <CardCategory\n v-for=\"(subcategory,index) in category.children\"\n :key=\"subcategory._id\"\n :category=\"subcategory\" \n class=\"pd-l-small bg-white w-100\"\n /> -->\n\n </div>\n</template>\n\n\n<script setup>\nimport { toRef, onMounted, defineEmits } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport CardCategory from './CardCategory.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\n\nconst props = defineProps({\n category: Object,\n});\n\nconst emits = defineEmits(['delete']);\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst deleteCategory = (category) => {\n emits('delete', category);\n};\n\n</script>\n\n\n\n<style lang=\"scss\">\n.card-title {\n .card-page-actions {\n display: none;\n }\n\n &:hover {\n .card-page-actions {\n display: block;\n }\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuEA,UAAM,QAAQ;AAEd,UAAM,QAAQ,SAAU;AACT,cAAS;AAExB,UAAM,iBAAiB,CAAC,aAAa;AACnC,YAAM,UAAU,QAAQ;AAAA,IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardCategory.vue.js","sources":["../../../../../../../src/modules/products/components/blocks/CardCategory.vue"],"sourcesContent":["<template>\n <div class=\"flex-v-center bg-light pd-small radius-small flex-column flex\">\n <div class=\"w-100 flex-v-center flex-nowrap gap-thin flex\">\n <img v-if=\"category.photo\" class=\"i-big radius-small object-fit-contain bg-white\" :src=\"(FILE_SERVER_URL || '') + category.photo\"/>\n <h4 class=\"my-handle word-break t-truncate w-100 w-max-100 mn-r-auto\">{{category.name}}</h4>\n\n <router-link\n :to=\"{\n name: 'Category Edit', \n params: { \n _id: route.params._id,\n category: category.url\n } \n }\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconEdit\n class=\"w-100 h-100\" \n classes=\"fill-white\"\n />\n </router-link>\n\n <button\n @click=\"deleteCategory(category)\"\n class=\"\n i-semi\n cursor-pointer \n card-page-actions\n radius-extra pd-micro bg-second\n flex-child-default\n \"\n >\n <IconDelete\n class=\"w-100 h-100\"\n :fill=\"'white'\"\n />\n </button>\n </div>\n\n <!-- <p v-if=\" category.children.length > 0\" class=\"w-100\">Subcategories:</p> -->\n <!-- <CardCategory\n v-for=\"(subcategory,index) in category.children\"\n :key=\"subcategory._id\"\n :category=\"subcategory\" \n class=\"pd-l-small bg-white w-100\"\n /> -->\n\n </div>\n</template>\n\n\n<script setup>\nimport { toRef, onMounted, defineEmits } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport CardCategory from './CardCategory.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\n\nconst props = defineProps({\n category: Object,\n});\n\nconst emits = defineEmits(['delete']);\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst deleteCategory = (category) => {\n emits('delete', category);\n};\n\n</script>\n\n\n\n<style lang=\"scss\">\n.card-title {\n .card-page-actions {\n display: none;\n }\n\n &:hover {\n .card-page-actions {\n display: block;\n }\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAwEA,UAAM,QAAQ;AAEd,UAAM,QAAQ,SAAU;AACT,cAAS;AAExB,UAAM,iBAAiB,CAAC,aAAa;AACnC,YAAM,UAAU,QAAQ;AAAA,IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -18,6 +18,21 @@ const _sfc_main = {
18
18
  setup(__props) {
19
19
  const route = vueRouter.useRoute();
20
20
  const router = vueRouter.useRouter();
21
+ vue.ref(null);
22
+ let sort = vue.reactive({
23
+ param: "order",
24
+ order: "asc",
25
+ options: [{
26
+ label: "Order",
27
+ value: "order"
28
+ }, {
29
+ label: "Name",
30
+ value: "name"
31
+ }, {
32
+ label: "Date",
33
+ value: "createdAt"
34
+ }]
35
+ });
21
36
  globals.state.navigation_bar.actions = [{
22
37
  component: IconPlus.default,
23
38
  props: {
@@ -42,11 +57,12 @@ const _sfc_main = {
42
57
  categories2.forEach((category) => flatten(category));
43
58
  return flatCategories;
44
59
  }
45
- async function updateCategoriesOrder(category) {
60
+ async function updateCategoriesOrder(updatedCategories) {
61
+ alert("helo");
46
62
  try {
47
- const allCategories = categories.state.all;
48
- const flattenedCategories = flattenCategoryTree(allCategories);
49
- console.log("flated", flattenedCategories);
63
+ const flattenedCategories = flattenCategoryTree(categories.state.all);
64
+ console.log(flattenedCategories);
65
+ console.log(categories.state.all);
50
66
  await categories.actions.updateOrder(flattenedCategories);
51
67
  console.log("Categories order updated successfully");
52
68
  } catch (error) {
@@ -70,7 +86,7 @@ const _sfc_main = {
70
86
  class: "radius-big mn-b-thin mobile:flex-wrap flex-nowrap flex-v-center flex"
71
87
  }, {
72
88
  default: vue.withCtx(() => [
73
- _cache[1] || (_cache[1] = vue.createElementVNode("h2", { class: "mn-r-auto" }, " Product Categories ", -1)),
89
+ _cache[3] || (_cache[3] = vue.createElementVNode("h2", { class: "mn-r-auto" }, " Categories ", -1)),
74
90
  vue.createVNode(_component_router_link, {
75
91
  to: {
76
92
  name: "Category Add",
@@ -80,8 +96,8 @@ const _sfc_main = {
80
96
  },
81
97
  class: "uppercase t-medium pd-small radius-big bg-white nav-link"
82
98
  }, {
83
- default: vue.withCtx(() => _cache[0] || (_cache[0] = [
84
- vue.createTextVNode(" Add category ")
99
+ default: vue.withCtx(() => _cache[2] || (_cache[2] = [
100
+ vue.createTextVNode(" Add New ")
85
101
  ])),
86
102
  _: 1
87
103
  }, 8, ["to"])
@@ -103,8 +119,13 @@ const _sfc_main = {
103
119
  },
104
120
  options: {
105
121
  user: auth.state.user._id,
106
- rootOnly: true
122
+ rootOnly: true,
123
+ excludeChildren: false
107
124
  },
125
+ sort: vue.unref(sort),
126
+ "onUpdate:sort": _cache[0] || (_cache[0] = ($event) => vue.isRef(sort) ? sort.value = $event : sort = $event),
127
+ items: categories.state.all,
128
+ "onUpdate:items": _cache[1] || (_cache[1] = ($event) => categories.state.all = $event),
108
129
  class: "cols-1 pos-relative w-100 rows-1 gap-thin"
109
130
  }, {
110
131
  default: vue.withCtx(({
@@ -112,8 +133,8 @@ const _sfc_main = {
112
133
  }) => [
113
134
  items ? (vue.openBlock(), vue.createBlock(Tree.default, {
114
135
  key: 0,
115
- items,
116
- state: items,
136
+ items: categories.state.all,
137
+ state: categories.state.all,
117
138
  onUpdate: updateCategoriesOrder
118
139
  }, {
119
140
  default: vue.withCtx(({ item }) => [
@@ -122,11 +143,11 @@ const _sfc_main = {
122
143
  onDelete: deleteCategory
123
144
  }, null, 8, ["category"])
124
145
  ]),
125
- _: 2
126
- }, 1032, ["items", "state"])) : vue.createCommentVNode("", true)
146
+ _: 1
147
+ }, 8, ["items", "state"])) : vue.createCommentVNode("", true)
127
148
  ]),
128
149
  _: 1
129
- }, 8, ["store", "options"])
150
+ }, 8, ["store", "options", "sort", "items"])
130
151
  ]);
131
152
  };
132
153
  }