@ozdao/martyrs 0.2.505 → 0.2.507

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 (517) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/auth.server.cjs +1 -1
  6. package/dist/auth.server.js +1 -1
  7. package/dist/builder.cjs +52 -60
  8. package/dist/builder.js +52 -60
  9. package/dist/chats.server.cjs +1 -1
  10. package/dist/chats.server.js +1 -1
  11. package/dist/events.server.cjs +1 -1
  12. package/dist/events.server.js +1 -1
  13. package/dist/{mailing-q7sR8gCV.cjs → mailing-Bs9ThyVZ.cjs} +1 -24
  14. package/dist/{mailing-C11EYWm-.js → mailing-DzlhsxCC.js} +1 -24
  15. package/dist/main-AWSb_d2P.cjs +11 -0
  16. package/dist/{main-CJm5myDI.js → main-Dq-UfO4G.js} +2562 -2477
  17. package/dist/martyrs/src/components/Button/Button.vue2.cjs +1 -1
  18. package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
  19. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs +3 -3
  20. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs.map +1 -1
  21. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +3 -3
  22. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  23. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +1 -1
  24. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  25. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +15 -46
  26. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  27. package/dist/martyrs/src/components/Feed/Feed.vue.js +22 -53
  28. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  29. package/dist/martyrs/src/components/Field/Field.vue.cjs +14 -6
  30. package/dist/martyrs/src/components/Field/Field.vue.cjs.map +1 -1
  31. package/dist/martyrs/src/components/Field/Field.vue.js +14 -6
  32. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  33. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +58 -11
  34. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  35. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +60 -13
  36. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  37. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
  38. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
  39. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  40. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  41. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  42. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  43. package/dist/martyrs/src/components/Loader/{Loader.vue2.cjs → Loader.vue.cjs} +2 -2
  44. package/dist/martyrs/src/components/Loader/{Loader.vue2.js.map → Loader.vue.cjs.map} +1 -1
  45. package/dist/martyrs/src/components/Loader/{Loader.vue2.js → Loader.vue.js} +2 -2
  46. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -0
  47. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  48. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  49. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  50. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  51. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  52. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  53. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs +2 -2
  54. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs.map +1 -1
  55. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +2 -2
  56. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  57. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  58. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  59. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  60. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  61. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  62. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  63. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +42 -10
  64. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +44 -12
  66. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +11 -15
  68. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs.map +1 -1
  69. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +21 -25
  70. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
  71. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +12 -16
  72. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +33 -37
  74. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js.map +1 -1
  75. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs +13 -9
  76. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs.map +1 -1
  77. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +13 -9
  78. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -1
  79. package/dist/martyrs/src/modules/auth/views/router/users.cjs +0 -4
  80. package/dist/martyrs/src/modules/auth/views/router/users.cjs.map +1 -1
  81. package/dist/martyrs/src/modules/auth/views/router/users.js +0 -4
  82. package/dist/martyrs/src/modules/auth/views/router/users.js.map +1 -1
  83. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  85. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  87. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +431 -0
  88. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs.map +1 -0
  89. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +431 -0
  90. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -0
  91. package/dist/martyrs/src/modules/community/router/blogposts.cjs +17 -0
  92. package/dist/martyrs/src/modules/community/router/blogposts.cjs.map +1 -1
  93. package/dist/martyrs/src/modules/community/router/blogposts.js +17 -0
  94. package/dist/martyrs/src/modules/community/router/blogposts.js.map +1 -1
  95. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  97. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -3
  98. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  99. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -3
  100. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs.map +1 -1
  103. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  104. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  105. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  107. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  109. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  110. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  111. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs +4 -6
  112. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.cjs.map +1 -1
  113. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js +4 -6
  114. package/dist/martyrs/src/modules/globals/views/classes/globals.websocket.js.map +1 -1
  115. package/dist/martyrs/src/modules/globals/views/components/blocks/{BlockMultiselect.vue2.cjs → BlockMultiselect.vue.cjs} +2 -2
  116. package/dist/martyrs/src/modules/globals/views/components/blocks/{BlockMultiselect.vue2.js.map → BlockMultiselect.vue.cjs.map} +1 -1
  117. package/dist/martyrs/src/modules/globals/views/components/blocks/{BlockMultiselect.vue2.js → BlockMultiselect.vue.js} +2 -2
  118. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js.map +1 -0
  119. package/dist/martyrs/src/modules/globals/views/components/blocks/Card.vue.cjs +5 -2
  120. package/dist/martyrs/src/modules/globals/views/components/blocks/Card.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/globals/views/components/blocks/Card.vue.js +6 -3
  122. package/dist/martyrs/src/modules/globals/views/components/blocks/Card.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  125. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  127. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -3
  128. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  129. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -3
  130. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  131. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +324 -0
  132. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs.map +1 -0
  133. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +324 -0
  134. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js.map +1 -0
  135. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.cjs +32 -0
  136. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.cjs.map +1 -0
  137. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.js +32 -0
  138. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.js.map +1 -0
  139. package/dist/martyrs/src/modules/icons/icons.client.cjs +2 -0
  140. package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/icons/icons.client.js +116 -114
  142. package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
  143. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +5 -3
  144. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
  145. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +117 -115
  146. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  147. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +1 -1
  148. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +11 -36
  149. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
  150. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +11 -36
  151. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  152. package/dist/martyrs/src/modules/landing/landing.client.cjs +3 -0
  153. package/dist/martyrs/src/modules/landing/landing.client.cjs.map +1 -1
  154. package/dist/martyrs/src/modules/landing/landing.client.js +3 -0
  155. package/dist/martyrs/src/modules/landing/landing.client.js.map +1 -1
  156. package/dist/martyrs/src/modules/landing/locales/en.cjs +12 -0
  157. package/dist/martyrs/src/modules/landing/locales/en.cjs.map +1 -0
  158. package/dist/martyrs/src/modules/landing/locales/en.js +12 -0
  159. package/dist/martyrs/src/modules/landing/locales/en.js.map +1 -0
  160. package/dist/martyrs/src/modules/landing/locales/index.cjs +10 -0
  161. package/dist/martyrs/src/modules/landing/locales/index.cjs.map +1 -0
  162. package/dist/martyrs/src/modules/landing/locales/index.js +10 -0
  163. package/dist/martyrs/src/modules/landing/locales/index.js.map +1 -0
  164. package/dist/martyrs/src/modules/landing/locales/ru.cjs +12 -0
  165. package/dist/martyrs/src/modules/landing/locales/ru.cjs.map +1 -0
  166. package/dist/martyrs/src/modules/landing/locales/ru.js +12 -0
  167. package/dist/martyrs/src/modules/landing/locales/ru.js.map +1 -0
  168. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  169. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  170. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  171. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
  172. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  173. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
  174. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  175. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  176. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
  177. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
  178. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
  179. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  180. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  181. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  182. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +1 -1
  183. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +1 -1
  184. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
  185. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  186. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
  187. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  188. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  189. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  190. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +2 -2
  191. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  192. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  193. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  194. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  195. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  196. package/dist/martyrs/src/modules/music/router/music.cjs +2 -4
  197. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  198. package/dist/martyrs/src/modules/music/router/music.js +2 -4
  199. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  200. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.cjs +86 -0
  201. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.cjs.map +1 -0
  202. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +86 -0
  203. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js.map +1 -0
  204. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.cjs +103 -0
  205. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.cjs.map +1 -0
  206. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +103 -0
  207. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js.map +1 -0
  208. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +194 -0
  209. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -0
  210. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +194 -0
  211. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -0
  212. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +138 -0
  213. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs.map +1 -0
  214. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +138 -0
  215. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -0
  216. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +189 -0
  217. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs.map +1 -0
  218. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +189 -0
  219. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -0
  220. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +173 -0
  221. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs.map +1 -0
  222. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +173 -0
  223. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js.map +1 -0
  224. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +233 -0
  225. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs.map +1 -0
  226. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +233 -0
  227. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js.map +1 -0
  228. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +234 -0
  229. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs.map +1 -0
  230. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +234 -0
  231. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js.map +1 -0
  232. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +9 -8
  233. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  234. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +9 -8
  235. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  236. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +8 -82
  237. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  238. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +9 -83
  239. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  240. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +119 -0
  241. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs.map +1 -0
  242. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +119 -0
  243. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -0
  244. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +139 -0
  245. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs.map +1 -0
  246. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +139 -0
  247. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -0
  248. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -3
  249. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
  250. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -3
  251. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
  252. package/dist/martyrs/src/modules/orders/locales/en.cjs +38 -0
  253. package/dist/martyrs/src/modules/orders/locales/en.cjs.map +1 -0
  254. package/dist/martyrs/src/modules/orders/locales/en.js +38 -0
  255. package/dist/martyrs/src/modules/orders/locales/en.js.map +1 -0
  256. package/dist/martyrs/src/modules/orders/locales/index.cjs +10 -0
  257. package/dist/martyrs/src/modules/orders/locales/index.cjs.map +1 -0
  258. package/dist/martyrs/src/modules/orders/locales/index.js +10 -0
  259. package/dist/martyrs/src/modules/orders/locales/index.js.map +1 -0
  260. package/dist/martyrs/src/modules/orders/locales/ru.cjs +38 -0
  261. package/dist/martyrs/src/modules/orders/locales/ru.cjs.map +1 -0
  262. package/dist/martyrs/src/modules/orders/locales/ru.js +38 -0
  263. package/dist/martyrs/src/modules/orders/locales/ru.js.map +1 -0
  264. package/dist/martyrs/src/modules/orders/orders.client.cjs +78 -3
  265. package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
  266. package/dist/martyrs/src/modules/orders/orders.client.js +80 -5
  267. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  268. package/dist/martyrs/src/modules/orders/router/applications.router.cjs +17 -0
  269. package/dist/martyrs/src/modules/orders/router/applications.router.cjs.map +1 -0
  270. package/dist/martyrs/src/modules/orders/router/applications.router.js +17 -0
  271. package/dist/martyrs/src/modules/orders/router/applications.router.js.map +1 -0
  272. package/dist/martyrs/src/modules/orders/router/customers.router.cjs +18 -0
  273. package/dist/martyrs/src/modules/orders/router/customers.router.cjs.map +1 -0
  274. package/dist/martyrs/src/modules/orders/router/customers.router.js +18 -0
  275. package/dist/martyrs/src/modules/orders/router/customers.router.js.map +1 -0
  276. package/dist/martyrs/src/modules/orders/store/applications.cjs +4 -42
  277. package/dist/martyrs/src/modules/orders/store/applications.cjs.map +1 -1
  278. package/dist/martyrs/src/modules/orders/store/applications.js +3 -41
  279. package/dist/martyrs/src/modules/orders/store/applications.js.map +1 -1
  280. package/dist/martyrs/src/modules/orders/store/models/application.cjs +20 -0
  281. package/dist/martyrs/src/modules/orders/store/models/application.cjs.map +1 -0
  282. package/dist/martyrs/src/modules/orders/store/models/application.js +20 -0
  283. package/dist/martyrs/src/modules/orders/store/models/application.js.map +1 -0
  284. package/dist/martyrs/src/modules/orders/store/models/customer.cjs +13 -1
  285. package/dist/martyrs/src/modules/orders/store/models/customer.cjs.map +1 -1
  286. package/dist/martyrs/src/modules/orders/store/models/customer.js +13 -1
  287. package/dist/martyrs/src/modules/orders/store/models/customer.js.map +1 -1
  288. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  289. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  290. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  291. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  292. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +18 -194
  293. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  294. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +19 -195
  295. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  296. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  297. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  298. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  299. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
  300. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  301. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  302. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -11
  303. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs.map +1 -1
  304. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +6 -15
  305. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js.map +1 -1
  306. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  307. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  308. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  309. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  310. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +85 -89
  311. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  312. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +92 -96
  313. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  314. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +5 -1
  315. package/dist/martyrs/src/modules/organizations/router/organizations.cjs.map +1 -1
  316. package/dist/martyrs/src/modules/organizations/router/organizations.js +5 -1
  317. package/dist/martyrs/src/modules/organizations/router/organizations.js.map +1 -1
  318. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  319. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  320. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.cjs +3 -6
  321. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.cjs.map +1 -1
  322. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js +3 -6
  323. package/dist/martyrs/src/modules/pages/views/components/pages/Page.vue.js.map +1 -1
  324. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +1 -1
  325. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  326. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
  327. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  328. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +2 -2
  329. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs.map +1 -1
  330. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +2 -2
  331. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  332. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs +1 -1
  333. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  334. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +22 -19
  335. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
  336. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +22 -19
  337. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  338. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +27 -18
  339. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  340. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +27 -18
  341. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  342. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  343. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  344. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  345. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  346. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  347. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  348. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +361 -106
  349. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  350. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +379 -124
  351. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  352. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +20 -6
  353. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
  354. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +20 -6
  355. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  356. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +32 -2
  357. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
  358. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +33 -3
  359. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  360. package/dist/martyrs/src/modules/products/router/products.router.cjs +15 -0
  361. package/dist/martyrs/src/modules/products/router/products.router.cjs.map +1 -1
  362. package/dist/martyrs/src/modules/products/router/products.router.js +15 -0
  363. package/dist/martyrs/src/modules/products/router/products.router.js.map +1 -1
  364. package/dist/martyrs/src/modules/products/store/categories.cjs +25 -7
  365. package/dist/martyrs/src/modules/products/store/categories.cjs.map +1 -1
  366. package/dist/martyrs/src/modules/products/store/categories.js +25 -7
  367. package/dist/martyrs/src/modules/products/store/categories.js.map +1 -1
  368. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  369. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs.map +1 -1
  370. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  371. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
  372. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +345 -0
  373. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs.map +1 -0
  374. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +345 -0
  375. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -0
  376. package/dist/martyrs/src/modules/spots/router/spots.cjs +17 -0
  377. package/dist/martyrs/src/modules/spots/router/spots.cjs.map +1 -1
  378. package/dist/martyrs/src/modules/spots/router/spots.js +17 -0
  379. package/dist/martyrs/src/modules/spots/router/spots.js.map +1 -1
  380. package/dist/martyrs.cjs.js +1 -1
  381. package/dist/martyrs.css +1 -1
  382. package/dist/martyrs.es.js +1 -1
  383. package/dist/notifications.server.cjs +1 -1
  384. package/dist/notifications.server.js +1 -1
  385. package/dist/orders.server.cjs +459 -201
  386. package/dist/orders.server.js +459 -201
  387. package/dist/organizations.server.cjs +1 -1
  388. package/dist/organizations.server.js +1 -1
  389. package/dist/products.server.cjs +439 -255
  390. package/dist/products.server.js +439 -255
  391. package/dist/style.css +115 -139
  392. package/dist/{tickets.controller-DQQcjyui.js → tickets.controller-C56OvH6v.js} +1 -1
  393. package/dist/{tickets.controller-D0V0gJCA.cjs → tickets.controller-DdnndM6c.cjs} +1 -1
  394. package/dist/wallet.server.cjs +1 -1
  395. package/dist/wallet.server.js +1 -1
  396. package/dist/{web-Dkk0_7TA.js → web-BXajFCU2.js} +1 -1
  397. package/dist/{web-stVkXd0l.cjs → web-DaBwwCQ5.cjs} +1 -1
  398. package/package.json +1 -1
  399. package/src/builder/modes/ssr.dev.js +10 -10
  400. package/src/builder/rspack/rspack.config.ssr.client.js +50 -50
  401. package/src/components/Checkbox/Checkbox.vue +3 -4
  402. package/src/components/Feed/Feed.old.vue +522 -0
  403. package/src/components/Feed/Feed.vue +4 -4
  404. package/src/components/Field/Field.vue +7 -1
  405. package/src/components/FieldBig/FieldBig.vue +62 -8
  406. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  407. package/src/components/PhotoViewer/PhotoViewer.vue +1 -1
  408. package/src/modules/STYLES.MD +198 -0
  409. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  410. package/src/modules/auth/views/components/pages/ProfileEdit.vue +42 -8
  411. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +9 -11
  412. package/src/modules/auth/views/components/pages/ProfileEditProfile.vue +9 -11
  413. package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +7 -4
  414. package/src/modules/auth/views/router/users.js +0 -4
  415. package/src/modules/community/components/pages/Posts.vue +444 -0
  416. package/src/modules/community/router/blogposts.js +15 -0
  417. package/src/modules/events/components/pages/EventsBackoffice.vue +1 -1
  418. package/src/modules/globals/views/classes/globals.websocket.js +7 -8
  419. package/src/modules/globals/views/components/blocks/Card.vue +2 -1
  420. package/src/modules/globals/views/components/layouts/Client.vue +1 -2
  421. package/src/modules/globals/views/components/partials/FooterAlt.vue +161 -188
  422. package/src/modules/globals/views/components/sections/Filters.vue +261 -121
  423. package/src/modules/globals/views/components/sections/filters/FilterCheckbox.vue +78 -0
  424. package/src/modules/globals/views/components/sections/filters/FilterDateRange.vue +177 -0
  425. package/src/modules/globals/views/components/sections/filters/FilterRange.vue +51 -50
  426. package/src/modules/icons/entities/IconLock.vue +14 -0
  427. package/src/modules/icons/icons.client.js +2 -1
  428. package/src/modules/icons/pages/IconsPage.vue +4 -2
  429. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +11 -61
  430. package/src/modules/landing/landing.client.js +6 -0
  431. package/src/modules/landing/locales/en.js +9 -0
  432. package/src/modules/landing/locales/index.js +7 -0
  433. package/src/modules/landing/locales/ru.js +9 -0
  434. package/src/modules/music/components/pages/Album.vue +1 -1
  435. package/src/modules/music/components/pages/Playlist.vue +1 -1
  436. package/src/modules/music/components/pages/Track.vue +1 -1
  437. package/src/modules/orders/components/blocks/CardApplication.vue +74 -0
  438. package/src/modules/orders/components/blocks/CardCustomer.vue +90 -0
  439. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +199 -0
  440. package/src/modules/orders/components/forms/FormApplicationDetails.vue +117 -0
  441. package/src/modules/orders/components/forms/FormCustomerDetails.vue +165 -0
  442. package/src/modules/orders/components/forms/FormSelectCustomer.vue +172 -0
  443. package/src/modules/orders/components/pages/Applications.vue +240 -0
  444. package/src/modules/orders/components/pages/Customers.vue +239 -0
  445. package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
  446. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +5 -76
  447. package/src/modules/orders/components/sections/ApplicationDetails.vue +91 -0
  448. package/src/modules/orders/components/sections/CustomerDetails.vue +107 -0
  449. package/src/modules/orders/locales/en.js +35 -0
  450. package/src/modules/orders/locales/index.js +7 -0
  451. package/src/modules/orders/locales/ru.js +35 -0
  452. package/src/modules/orders/middlewares/applications.verifier.js +189 -0
  453. package/src/modules/orders/middlewares/customers.verifier.js +251 -0
  454. package/src/modules/orders/models/application.model.js +21 -0
  455. package/src/modules/orders/models/customer.model.js +26 -0
  456. package/src/modules/orders/orders.client.js +86 -1
  457. package/src/modules/orders/orders.server.js +3 -1
  458. package/src/modules/orders/router/applications.router.js +15 -0
  459. package/src/modules/orders/router/customers.router.js +17 -0
  460. package/src/modules/orders/routes/applications.routes.js +124 -12
  461. package/src/modules/orders/routes/customers.routes.js +43 -0
  462. package/src/modules/orders/store/applications.js +3 -159
  463. package/src/modules/orders/store/models/application.js +18 -0
  464. package/src/modules/orders/store/models/customer.js +12 -0
  465. package/src/modules/organizations/components/pages/Organization.new.vue +593 -0
  466. package/src/modules/organizations/components/pages/Organization.vue +11 -202
  467. package/src/modules/organizations/components/pages/Organizations.vue +1 -1
  468. package/src/modules/organizations/components/sections/DetailsTabSection.vue +2 -2
  469. package/src/modules/organizations/configs/navigation.organization.config.js +69 -85
  470. package/src/modules/organizations/router/organizations.js +5 -0
  471. package/src/modules/pages/views/components/pages/Page.vue +1 -1
  472. package/src/modules/products/TASKS.MD +157 -0
  473. package/src/modules/products/components/blocks/CardCategory.vue +1 -1
  474. package/src/modules/products/components/blocks/ProductImages.vue +1 -1
  475. package/src/modules/products/components/pages/Categories.vue +27 -22
  476. package/src/modules/products/components/pages/CategoryEdit.vue +24 -13
  477. package/src/modules/products/components/pages/Products.vue +415 -174
  478. package/src/modules/products/components/sections/EditVariants.vue +14 -0
  479. package/src/modules/products/components/sections/ProductsRecommended.vue +46 -2
  480. package/src/modules/products/controllers/categories.controller.js +321 -282
  481. package/src/modules/products/controllers/configs/products.lookup.config.js +9 -0
  482. package/src/modules/products/controllers/products.controller.js +2 -1
  483. package/src/modules/products/controllers/queries/products.queries.js +183 -11
  484. package/src/modules/products/middlewares/categories.verifier.js +58 -15
  485. package/src/modules/products/middlewares/variants.verifier.js +12 -0
  486. package/src/modules/products/migrations/categories-to-materialized-path.js +433 -0
  487. package/src/modules/products/migrations/path-to-url.js +27 -0
  488. package/src/modules/products/models/category.model.js +8 -23
  489. package/src/modules/products/models/variant.model.js +3 -0
  490. package/src/modules/products/router/products.router.js +12 -0
  491. package/src/modules/products/store/categories.js +26 -7
  492. package/src/modules/rents/TASK.MD +161 -0
  493. package/src/modules/reports/components/sections/FormReport.vue +1 -1
  494. package/src/modules/spots/components/pages/Spots.vue +342 -0
  495. package/src/modules/spots/router/spots.js +15 -0
  496. package/src/styles/base/all.scss +2 -3
  497. package/src/styles/layout.scss +16 -0
  498. package/dist/main-DTaE01lg.cjs +0 -11
  499. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.cjs +0 -96
  500. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.cjs.map +0 -1
  501. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +0 -96
  502. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +0 -1
  503. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +0 -1
  504. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  505. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  506. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue2.cjs.map +0 -1
  507. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +0 -155
  508. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs.map +0 -1
  509. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +0 -155
  510. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js.map +0 -1
  511. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +0 -81
  512. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs.map +0 -1
  513. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +0 -81
  514. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js.map +0 -1
  515. package/src/modules/orders/components/sections/FormAddCustomer.vue +0 -152
  516. package/src/modules/orders/components/sections/FormCustomerDetails.vue +0 -67
  517. package/src/modules/orders/controllers/applications.controller.js +0 -122
@@ -1 +1 @@
1
- {"version":3,"file":"Profile.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/Profile.vue"],"sourcesContent":["<template>\n\t<div \n\t\tv-if=\"show\"\n\t\tclass=\"for-transition bg-white w-100\"\n\t>\n\t\t<div \n\t\t\tv-if=\"users.state.current?.status === 'removed'\"\n\t\t\tclass=\"flex-center flex pd-medium radius-big bg-light uppercase t-semi w-100 h-100\"\n\t\t>\n\t\t\tSorry, user has been removed.\n\t\t</div>\n\n\t\t<div \n\t\t\tv-else\n\t\t\t_id=\"dash\" \n\t\t\tclass=\"pd-thin w-100\"\n\t\t>\n\t\t\t<!-- <Completion \n\t\t\t\tv-if=\"route.params._id === auth.state.user._id && show\" \n\t\t :user=\"auth.state.user._id\"\n\t\t :target=\"users.state.current\"\n\t\t :cta=\"false\" \n\t\t text_cta=\"Fill\"\n\t\t text=\"Profile completed at\"\n\t\t class=\"mn-b-medium mn-b-regular pd-medium radius-semi t-white bg-second\"\n\t\t\t/> -->\n\n\t\t\t<section \n\t\t\t\tclass=\"flex-center pos-relative flex flex-column t-center w-100 mn-b-regular radius-medium pd-medium bg-light\"\n\t\t\t>\n\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"route.params._id && route.params._id !== auth.state.user._id\"\n\t\t\t\t\t:label=\"'...'\" \n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra \"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\t:user=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:type=\"'user'\" \n\t\t\t\t\t\t\t:target=\"users.state.current._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<ButtonToggleMembership\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t :user=\"auth.state.user._id\"\n\t\t\t\t :type=\"'user'\" \n\t\t\t \t:role=\"'blocked'\" \n\t\t\t\t :target=\"users.state.current._id\" \n\t\t\t\t :status=\"users.state.current.isBlocked\" \n\t\t\t\t :text=\"{create: 'Block', remove: 'Unblock'}\"\n\t\t\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isBlocked')\"\n\t\t\t\t class=\"t-white mn-t-thin bg-red\" \n\t\t\t \t/>\n\t\t\t\t\t</section>\n\t </Dropdown>\t\n\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"route.params._id === auth.state.user._id\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'User Edit Profile', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: auth.state.user._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"users.state.current.profile.photo && users.state.current.profile.photo.length > 0\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '')+ users.state.current.profile.photo\" \n\t\t\t\t\tclass=\"radius-extra bg-white mn-b-small object-fit-cover i-extra\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<PlaceholderUserpic \n\t\t\t\t\tv-else \n\t\t\t\t\tclass=\"radius-medium mn-b-small i-extra\"\n\t\t\t\t/>\n\n\t\t\t\t<h3 \n\t\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t\t>\n\t\t\t\t\t{{users.state.current.profile.name ? users.state.current.profile.name : 'Anonymous' }}\n\t\t\t\t</h3>\n\t\t\t\t\n\t\t\t\t<p \n\t\t\t\t\tv-if=\"users.state.current.username\"\n\t\t\t\t\tclass=\"mn-b-thin t-main t-semi\"\n\t\t\t\t>\n\t\t\t\t\t@{{ users.state.current.username ? users.state.current.username : 'Not specified' }}\n\t\t\t\t</p>\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"mn-b-small p-medium\"\n\t\t\t\t>\n\t\t\t\t {{ users.state.current.profile.description ? users.state.current.profile.description : 'Bio not specified' }}\n\t\t\t\t</p>\n\t\t\t\t\n\t\t\t\t<div class=\"mn-b-medium flex-center flex-nowrap flex\">\n\t\t\t\t\t<div \n\t\t\t\t\t v-for=\"(role,index) in users.state.current.roles\" \n\t\t\t\t\t class=\"pd-thin radius-small t-semi bg-white\" \n\t\t\t\t\t :class=\"{'mn-r-thin': index !== users.state.current.roles.length - 1}\"\n\t\t\t\t\t >\n\t\t\t\t\t\t{{role.icon}}\n\t\t\t\t\t\t{{role.name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"t-semi mn-b-small\"\n\t\t\t\t>\n\t\t\t\t\t<!-- 👍 3 212 likes · -->\n\t\t\t\t\t<!-- 💬 342 comments · -->\n\t\t\t\t\t👨‍👨‍👧‍👧 {{users.state.current.numberOfSubscribers}} followers\n\t\t\t\t</p>\n\t\t\t\t\n\t \t<ButtonToggleMembership\n\t \t\tv-if=\"auth.state.user._id && route.params._id && route.params._id !== auth.state.user._id\"\n\t\t :user=\"auth.state.user._id\"\n\t\t :type=\"'user'\" \n\t \t:role=\"'subscriber'\" \n\t\t :target=\"users.state.current._id\" \n\t\t :status=\"users.state.current.isSubscriber\" \n\t\t\t\t\t:text=\"{create: 'Follow', remove: 'Unfollow'}\"\n\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')\"\n\t\t class=\"w-min mn-b-medium\tmn-r-auto mn-l-auto\" \n\t \t/>\n\n\t \t<h4 \n\t \tv-if=\"Object.values(users.state.current.socials).some(value => value)\" \n\t \tclass=\"mn-t-small mn-b-thin\"\n\t >\n\t \t\tFind Me in Socials\n\t \t</h4>\n\t \t<Socials \n\t \t\t:telegram=\"users.state.current.socials.telegram\"\n\t \t\t:facebook=\"users.state.current.socials.facebook\"\n\t \t\t:instagram=\"users.state.current.socials.instagram\"\n\t \t\t:twitter=\"users.state.current.socials.twitter\"\n\t \t\tclass=\"mn-r-auto mn-l-auto\"\n\t \t/>\n\n\t\t\t</section>\n\t\t\t\n\t\t\t<RouterView />\n\n\t\t\t<Menu v-if=\"filteredModules.length > 0\" class=\"mn-b-regular bg-light\">\n\t <MenuItem \n\t v-for=\"module in filteredModules\" \n\t :key=\"module.name\"\n\t @click=\"router.push({\n\t name: `${module.route}`, \n\t params: {\n\t _id: route.params._id,\n\t user: route.params._id\n\t }\n\t })\" \n\t class=\"profile-menu-item cursor-pointer\"\n\t >\n\t <component \n\t :is=\"module.icon\" \n\t v-if=\"module.icon\"\n\t class=\"i-semi\" \n\t :icon=\"true\"\n\t />\n\t <span>{{ module.displayName }}</span>\n \t</MenuItem>\n \t\t</Menu>\n\t\t\t \n\t\t\t<Menu \n\t\t\t\tv-if=\"auth.state.user._id === route.params._id\"\n\t\t\t\tclass=\"bg-light\"\n\t\t\t>\n\t\t\t\t<MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Notifications', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tNotifications\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'User Edit Profile', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tSettings\n\t\t\t </span>\n\t\t\t </MenuItem>\n\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Legal', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tAbout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t \n\t\t\t <MenuItem \n\t\t\t \tclass=\"cursor-pointer\"\n\t\t\t\t\t@click=\"logout()\"\n\t\t\t >\n\t\t\t <span \n\t\t\t \tclass=\"t-red\"\n\t\t\t >\n\t\t\t \tLogout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t</Menu>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n// Import components\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Completion from '@martyrs/src/components/Completion/Completion.vue'\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n// Org Module\nimport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n// Report Module\nimport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n// Community Module \nimport Activity from '@martyrs/src/modules/community/components/blocks/Activity.vue'; \nimport Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'\n// Icons Module\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n// Import libs\nimport { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\nimport * as memberships from '@martyrs/src/modules/organizations/store/memberships.js'\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Get organization _id from cookie\nconst show = ref(false)\n\nconst store = inject('store')\n\nconst moduleMapping = {\n events: {\n displayName: 'Events',\n route: 'User Events',\n icon: IconEvents\n },\n organizations: {\n displayName: 'Groups',\n route: 'User Organizations',\n icon: IconGroups\n },\n blogposts: {\n displayName: 'Posts',\n route: 'User Posts',\n icon: IconCommunity\n },\n orders: {\n displayName: 'Orders',\n route: 'UserOrdersList',\n icon: IconOrders,\n visible: (auth) => auth.state.user && (\n auth.state.user._id === route.params._id || \n (auth.state.access && auth.state.access.roles && \n (auth.state.access.roles.includes('ROLE_MODERATOR') || \n auth.state.access.roles.includes('ROLE_ADMIN'))\n )\n )\n }\n}\n\nconst filteredModules = computed(() => {\n return store.modules\n .map(moduleName => {\n return {\n name: moduleName,\n ...moduleMapping[moduleName]\n }\n })\n .filter(module => {\n // Проверяем существование маппинга для модуля\n if (!moduleMapping[module.name]) return false;\n \n // Проверяем видимость модуля, если есть условие visible\n if (module.visible && typeof module.visible === 'function') {\n return module.visible(auth);\n }\n \n // По умолчанию показываем модуль, если есть маппинг\n return true;\n })\n})\n\nonMounted(async () => {\n \tawait users.actions.read({ _id: route.params._id, user: auth.state.user._id });\n \tshow.value = true\n})\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n memberships.mutations.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)\n};\n\nfunction logout () {\n auth.actions.logout()\n\n router.push({name: 'Sign In'})\n}\n</script>\n\n<style lang=\"scss\">\n\t#header {\n\t\t// height: 3rem;\n\t}\n</style>\n"],"names":["useRoute","useRouter","ref","inject","IconEvents","IconGroups","IconCommunity","IconOrders","auth","computed","module","onMounted","users.actions","auth.state","memberships.mutations","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkRA,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAExB,UAAM,OAAOC,IAAAA,IAAI,KAAK;AAEtB,UAAM,QAAQC,IAAAA,OAAO,OAAO;AAE5B,UAAM,gBAAgB;AAAA,MACpB,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,MACV;AAAA,MACE,eAAe;AAAA,QACb,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,MACV;AAAA,MACE,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,cAAAA;AAAAA,MACV;AAAA,MACE,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,QACN,SAAS,CAACC,UAASA,MAAK,MAAM,SAC5BA,MAAK,MAAM,KAAK,QAAQ,MAAM,OAAO,OACpCA,MAAK,MAAM,UAAUA,MAAK,MAAM,OAAO,UACrCA,MAAK,MAAM,OAAO,MAAM,SAAS,gBAAgB,KACjDA,MAAK,MAAM,OAAO,MAAM,SAAS,YAAY;AAAA,MAGtD;AAAA,IACA;AAEA,UAAM,kBAAkBC,IAAAA,SAAS,MAAM;AACrC,aAAO,MAAM,QACV,IAAI,gBAAc;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,GAAG,cAAc,UAAU;AAAA,QACnC;AAAA,MACI,CAAC,EACA,OAAO,CAAAC,YAAU;AAEhB,YAAI,CAAC,cAAcA,QAAO,IAAI,EAAG,QAAO;AAGxC,YAAIA,QAAO,WAAW,OAAOA,QAAO,YAAY,YAAY;AAC1D,iBAAOA,QAAO,QAAQ,IAAI;AAAA,QAC5B;AAGA,eAAO;AAAA,MACT,CAAC;AAAA,IACL,CAAC;AAEDC,QAAAA,UAAU,YAAY;AACpB,YAAMC,cAAc,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMC,KAAAA,MAAW,KAAK,IAAG,CAAE;AAC7E,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,4BAAsB,uBAAuBC,MAAAA,MAAY,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACxH;AAEA,aAAS,SAAU;AACjBC,WAAAA,QAAa,OAAM;AAEnB,aAAO,KAAK,EAAC,MAAM,UAAS,CAAC;AAAA,IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Profile.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/Profile.vue"],"sourcesContent":["<template>\n\t<div \n\t\tv-if=\"show\"\n\t\tclass=\"for-transition bg-white w-100\"\n\t>\n\t\t<div \n\t\t\tv-if=\"users.state.current?.status === 'removed'\"\n\t\t\tclass=\"flex-center flex pd-medium radius-big bg-light uppercase t-semi w-100 h-100\"\n\t\t>\n\t\t\tSorry, user has been removed.\n\t\t</div>\n\n\t\t<div \n\t\t\tv-else\n\t\t\t_id=\"dash\" \n\t\t\tclass=\"pd-thin w-100\"\n\t\t>\n\t\t\t<!-- <Completion \n\t\t\t\tv-if=\"route.params._id === auth.state.user._id && show\" \n\t\t :user=\"auth.state.user._id\"\n\t\t :target=\"users.state.current\"\n\t\t :cta=\"false\" \n\t\t text_cta=\"Fill\"\n\t\t text=\"Profile completed at\"\n\t\t class=\"mn-b-medium mn-b-regular pd-medium radius-semi t-white bg-second\"\n\t\t\t/> -->\n\n\t\t\t<section \n\t\t\t\tclass=\"flex-center pos-relative flex flex-column t-center w-100 mn-b-regular radius-medium pd-medium bg-light\"\n\t\t\t>\n\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"route.params._id && route.params._id !== auth.state.user._id\"\n\t\t\t\t\t:label=\"'...'\" \n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra \"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\t:user=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:type=\"'user'\" \n\t\t\t\t\t\t\t:target=\"users.state.current._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<ButtonToggleMembership\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t :user=\"auth.state.user._id\"\n\t\t\t\t :type=\"'user'\" \n\t\t\t \t:role=\"'blocked'\" \n\t\t\t\t :target=\"users.state.current._id\" \n\t\t\t\t :status=\"users.state.current.isBlocked\" \n\t\t\t\t :text=\"{create: 'Block', remove: 'Unblock'}\"\n\t\t\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isBlocked')\"\n\t\t\t\t class=\"t-white mn-t-thin bg-red\" \n\t\t\t \t/>\n\t\t\t\t\t</section>\n\t </Dropdown>\t\n\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"route.params._id === auth.state.user._id\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'User Edit Profile', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: auth.state.user._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"users.state.current.profile.photo && users.state.current.profile.photo.length > 0\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '')+ users.state.current.profile.photo\" \n\t\t\t\t\tclass=\"radius-extra bg-white mn-b-small object-fit-cover i-extra\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<PlaceholderUserpic \n\t\t\t\t\tv-else \n\t\t\t\t\tclass=\"radius-medium mn-b-small i-extra\"\n\t\t\t\t/>\n\n\t\t\t\t<h3 \n\t\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t\t>\n\t\t\t\t\t{{users.state.current.profile.name ? users.state.current.profile.name : 'Anonymous' }}\n\t\t\t\t</h3>\n\t\t\t\t\n\t\t\t\t<p \n\t\t\t\t\tv-if=\"users.state.current.username\"\n\t\t\t\t\tclass=\"mn-b-thin t-main t-semi\"\n\t\t\t\t>\n\t\t\t\t\t@{{ users.state.current.username ? users.state.current.username : 'Not specified' }}\n\t\t\t\t</p>\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"mn-b-small p-medium\"\n\t\t\t\t>\n\t\t\t\t {{ users.state.current.profile.description ? users.state.current.profile.description : 'Bio not specified' }}\n\t\t\t\t</p>\n\t\t\t\t\n\t\t\t\t<div class=\"mn-b-medium flex-center flex-nowrap flex\">\n\t\t\t\t\t<div \n\t\t\t\t\t v-for=\"(role,index) in users.state.current.roles\" \n\t\t\t\t\t class=\"pd-thin radius-small t-semi bg-white\" \n\t\t\t\t\t :class=\"{'mn-r-thin': index !== users.state.current.roles.length - 1}\"\n\t\t\t\t\t >\n\t\t\t\t\t\t{{role.icon}}\n\t\t\t\t\t\t{{role.name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"t-semi mn-b-small\"\n\t\t\t\t>\n\t\t\t\t\t<!-- 👍 3 212 likes · -->\n\t\t\t\t\t<!-- 💬 342 comments · -->\n\t\t\t\t\t👨‍👨‍👧‍👧 {{users.state.current.numberOfSubscribers}} followers\n\t\t\t\t</p>\n\t\t\t\t\n\t \t<ButtonToggleMembership\n\t \t\tv-if=\"auth.state.user._id && route.params._id && route.params._id !== auth.state.user._id\"\n\t\t :user=\"auth.state.user._id\"\n\t\t :type=\"'user'\" \n\t \t:role=\"'subscriber'\" \n\t\t :target=\"users.state.current._id\" \n\t\t :status=\"users.state.current.isSubscriber\" \n\t\t\t\t\t:text=\"{create: 'Follow', remove: 'Unfollow'}\"\n\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')\"\n\t\t class=\"w-min mn-b-medium\tmn-r-auto mn-l-auto\" \n\t \t/>\n\n\t \t<h4 \n\t \tv-if=\"Object.values(users.state.current.socials).some(value => value)\" \n\t \tclass=\"mn-t-small mn-b-thin\"\n\t >\n\t \t\tFind Me in Socials\n\t \t</h4>\n\t \t<Socials \n\t \t\t:telegram=\"users.state.current.socials.telegram\"\n\t \t\t:facebook=\"users.state.current.socials.facebook\"\n\t \t\t:instagram=\"users.state.current.socials.instagram\"\n\t \t\t:twitter=\"users.state.current.socials.twitter\"\n\t \t\tclass=\"mn-r-auto mn-l-auto\"\n\t \t/>\n\n\t\t\t</section>\n\t\t\t\n\t\t\t<RouterView />\n\n\t\t\t<Menu v-if=\"filteredModules.length > 0\" class=\"mn-b-regular bg-light\">\n\t <MenuItem \n\t v-for=\"module in filteredModules\" \n\t :key=\"module.name\"\n\t @click=\"router.push({\n\t name: `${module.route}`, \n\t params: {\n\t _id: route.params._id,\n\t user: route.params._id\n\t }\n\t })\" \n\t class=\"profile-menu-item cursor-pointer\"\n\t >\n\t <component \n\t :is=\"module.icon\" \n\t v-if=\"module.icon\"\n\t class=\"i-semi\" \n\t :icon=\"true\"\n\t />\n\t <span>{{ module.displayName }}</span>\n \t</MenuItem>\n \t\t</Menu>\n\t\t\t \n\t\t\t<Menu \n\t\t\t\tv-if=\"auth.state.user._id === route.params._id\"\n\t\t\t\tclass=\"bg-light\"\n\t\t\t>\n\t\t\t\t<MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Notifications', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tNotifications\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Profile Edit Profile', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tSettings\n\t\t\t </span>\n\t\t\t </MenuItem>\n\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Legal', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tAbout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t \n\t\t\t <MenuItem \n\t\t\t \tclass=\"cursor-pointer\"\n\t\t\t\t\t@click=\"logout()\"\n\t\t\t >\n\t\t\t <span \n\t\t\t \tclass=\"t-red\"\n\t\t\t >\n\t\t\t \tLogout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t</Menu>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n// Import components\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Completion from '@martyrs/src/components/Completion/Completion.vue'\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n// Org Module\nimport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n// Report Module\nimport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n// Community Module \nimport Activity from '@martyrs/src/modules/community/components/blocks/Activity.vue'; \nimport Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'\n// Icons Module\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n// Import libs\nimport { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\nimport * as memberships from '@martyrs/src/modules/organizations/store/memberships.js'\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Get organization _id from cookie\nconst show = ref(false)\n\nconst store = inject('store')\n\nconst moduleMapping = {\n events: {\n displayName: 'Events',\n route: 'User Events',\n icon: IconEvents\n },\n organizations: {\n displayName: 'Groups',\n route: 'User Organizations',\n icon: IconGroups\n },\n blogposts: {\n displayName: 'Posts',\n route: 'User Posts',\n icon: IconCommunity\n },\n orders: {\n displayName: 'Orders',\n route: 'UserOrdersList',\n icon: IconOrders,\n visible: (auth) => auth.state.user && (\n auth.state.user._id === route.params._id || \n (auth.state.access && auth.state.access.roles && \n (auth.state.access.roles.includes('ROLE_MODERATOR') || \n auth.state.access.roles.includes('ROLE_ADMIN'))\n )\n )\n }\n}\n\nconst filteredModules = computed(() => {\n return store.modules\n .map(moduleName => {\n return {\n name: moduleName,\n ...moduleMapping[moduleName]\n }\n })\n .filter(module => {\n // Проверяем существование маппинга для модуля\n if (!moduleMapping[module.name]) return false;\n \n // Проверяем видимость модуля, если есть условие visible\n if (module.visible && typeof module.visible === 'function') {\n return module.visible(auth);\n }\n \n // По умолчанию показываем модуль, если есть маппинг\n return true;\n })\n})\n\nonMounted(async () => {\n \tawait users.actions.read({ _id: route.params._id, user: auth.state.user._id });\n \tshow.value = true\n})\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n memberships.mutations.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)\n};\n\nfunction logout () {\n auth.actions.logout()\n\n router.push({name: 'Sign In'})\n}\n</script>\n\n<style lang=\"scss\">\n\t#header {\n\t\t// height: 3rem;\n\t}\n</style>\n"],"names":["useRoute","useRouter","ref","inject","IconEvents","IconGroups","IconCommunity","IconOrders","auth","computed","module","onMounted","users.actions","auth.state","memberships.mutations","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkRA,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAExB,UAAM,OAAOC,IAAAA,IAAI,KAAK;AAEtB,UAAM,QAAQC,IAAAA,OAAO,OAAO;AAE5B,UAAM,gBAAgB;AAAA,MACpB,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,MACV;AAAA,MACE,eAAe;AAAA,QACb,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,MACV;AAAA,MACE,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,cAAAA;AAAAA,MACV;AAAA,MACE,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC,WAAAA;AAAAA,QACN,SAAS,CAACC,UAASA,MAAK,MAAM,SAC5BA,MAAK,MAAM,KAAK,QAAQ,MAAM,OAAO,OACpCA,MAAK,MAAM,UAAUA,MAAK,MAAM,OAAO,UACrCA,MAAK,MAAM,OAAO,MAAM,SAAS,gBAAgB,KACjDA,MAAK,MAAM,OAAO,MAAM,SAAS,YAAY;AAAA,MAGtD;AAAA,IACA;AAEA,UAAM,kBAAkBC,IAAAA,SAAS,MAAM;AACrC,aAAO,MAAM,QACV,IAAI,gBAAc;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,GAAG,cAAc,UAAU;AAAA,QACnC;AAAA,MACI,CAAC,EACA,OAAO,CAAAC,YAAU;AAEhB,YAAI,CAAC,cAAcA,QAAO,IAAI,EAAG,QAAO;AAGxC,YAAIA,QAAO,WAAW,OAAOA,QAAO,YAAY,YAAY;AAC1D,iBAAOA,QAAO,QAAQ,IAAI;AAAA,QAC5B;AAGA,eAAO;AAAA,MACT,CAAC;AAAA,IACL,CAAC;AAEDC,QAAAA,UAAU,YAAY;AACpB,YAAMC,cAAc,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMC,KAAAA,MAAW,KAAK,IAAG,CAAE;AAC7E,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,4BAAsB,uBAAuBC,MAAAA,MAAY,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACxH;AAEA,aAAS,SAAU;AACjBC,WAAAA,QAAa,OAAM;AAEnB,aAAO,KAAK,EAAC,MAAM,UAAS,CAAC;AAAA,IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { ref, inject, computed, onMounted, resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, createBlock, unref, withCtx, toDisplayString, Fragment, renderList, normalizeClass, resolveDynamicComponent } from "vue";
2
2
  /* empty css */
3
- /* empty css */
3
+ /* empty css */
4
4
  /* empty css */
5
5
  import _sfc_main$5 from "../../../../../components/Dropdown/Dropdown.vue2.js";
6
- import _sfc_main$a from "../../../../../components/Menu/Menu.vue2.js";
6
+ import _sfc_main$a from "../../../../../components/Menu/Menu.vue.js";
7
7
  import _sfc_main$b from "../../../../../components/Menu/MenuItem.vue.js";
8
8
  import _sfc_main$7 from "../../../../organizations/components/elements/ButtonToggleMembership.vue.js";
9
9
  import _sfc_main$6 from "../../../../reports/components/sections/FormReport.vue.js";
@@ -246,7 +246,7 @@ const _sfc_main = {
246
246
  }),
247
247
  createVNode(_sfc_main$b, {
248
248
  onClick: _cache[4] || (_cache[4] = ($event) => unref(router).push({
249
- name: "User Edit Profile",
249
+ name: "Profile Edit Profile",
250
250
  params: {
251
251
  _id: unref(route).params._id
252
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Profile.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/Profile.vue"],"sourcesContent":["<template>\n\t<div \n\t\tv-if=\"show\"\n\t\tclass=\"for-transition bg-white w-100\"\n\t>\n\t\t<div \n\t\t\tv-if=\"users.state.current?.status === 'removed'\"\n\t\t\tclass=\"flex-center flex pd-medium radius-big bg-light uppercase t-semi w-100 h-100\"\n\t\t>\n\t\t\tSorry, user has been removed.\n\t\t</div>\n\n\t\t<div \n\t\t\tv-else\n\t\t\t_id=\"dash\" \n\t\t\tclass=\"pd-thin w-100\"\n\t\t>\n\t\t\t<!-- <Completion \n\t\t\t\tv-if=\"route.params._id === auth.state.user._id && show\" \n\t\t :user=\"auth.state.user._id\"\n\t\t :target=\"users.state.current\"\n\t\t :cta=\"false\" \n\t\t text_cta=\"Fill\"\n\t\t text=\"Profile completed at\"\n\t\t class=\"mn-b-medium mn-b-regular pd-medium radius-semi t-white bg-second\"\n\t\t\t/> -->\n\n\t\t\t<section \n\t\t\t\tclass=\"flex-center pos-relative flex flex-column t-center w-100 mn-b-regular radius-medium pd-medium bg-light\"\n\t\t\t>\n\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"route.params._id && route.params._id !== auth.state.user._id\"\n\t\t\t\t\t:label=\"'...'\" \n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra \"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\t:user=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:type=\"'user'\" \n\t\t\t\t\t\t\t:target=\"users.state.current._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<ButtonToggleMembership\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t :user=\"auth.state.user._id\"\n\t\t\t\t :type=\"'user'\" \n\t\t\t \t:role=\"'blocked'\" \n\t\t\t\t :target=\"users.state.current._id\" \n\t\t\t\t :status=\"users.state.current.isBlocked\" \n\t\t\t\t :text=\"{create: 'Block', remove: 'Unblock'}\"\n\t\t\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isBlocked')\"\n\t\t\t\t class=\"t-white mn-t-thin bg-red\" \n\t\t\t \t/>\n\t\t\t\t\t</section>\n\t </Dropdown>\t\n\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"route.params._id === auth.state.user._id\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'User Edit Profile', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: auth.state.user._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"users.state.current.profile.photo && users.state.current.profile.photo.length > 0\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '')+ users.state.current.profile.photo\" \n\t\t\t\t\tclass=\"radius-extra bg-white mn-b-small object-fit-cover i-extra\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<PlaceholderUserpic \n\t\t\t\t\tv-else \n\t\t\t\t\tclass=\"radius-medium mn-b-small i-extra\"\n\t\t\t\t/>\n\n\t\t\t\t<h3 \n\t\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t\t>\n\t\t\t\t\t{{users.state.current.profile.name ? users.state.current.profile.name : 'Anonymous' }}\n\t\t\t\t</h3>\n\t\t\t\t\n\t\t\t\t<p \n\t\t\t\t\tv-if=\"users.state.current.username\"\n\t\t\t\t\tclass=\"mn-b-thin t-main t-semi\"\n\t\t\t\t>\n\t\t\t\t\t@{{ users.state.current.username ? users.state.current.username : 'Not specified' }}\n\t\t\t\t</p>\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"mn-b-small p-medium\"\n\t\t\t\t>\n\t\t\t\t {{ users.state.current.profile.description ? users.state.current.profile.description : 'Bio not specified' }}\n\t\t\t\t</p>\n\t\t\t\t\n\t\t\t\t<div class=\"mn-b-medium flex-center flex-nowrap flex\">\n\t\t\t\t\t<div \n\t\t\t\t\t v-for=\"(role,index) in users.state.current.roles\" \n\t\t\t\t\t class=\"pd-thin radius-small t-semi bg-white\" \n\t\t\t\t\t :class=\"{'mn-r-thin': index !== users.state.current.roles.length - 1}\"\n\t\t\t\t\t >\n\t\t\t\t\t\t{{role.icon}}\n\t\t\t\t\t\t{{role.name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"t-semi mn-b-small\"\n\t\t\t\t>\n\t\t\t\t\t<!-- 👍 3 212 likes · -->\n\t\t\t\t\t<!-- 💬 342 comments · -->\n\t\t\t\t\t👨‍👨‍👧‍👧 {{users.state.current.numberOfSubscribers}} followers\n\t\t\t\t</p>\n\t\t\t\t\n\t \t<ButtonToggleMembership\n\t \t\tv-if=\"auth.state.user._id && route.params._id && route.params._id !== auth.state.user._id\"\n\t\t :user=\"auth.state.user._id\"\n\t\t :type=\"'user'\" \n\t \t:role=\"'subscriber'\" \n\t\t :target=\"users.state.current._id\" \n\t\t :status=\"users.state.current.isSubscriber\" \n\t\t\t\t\t:text=\"{create: 'Follow', remove: 'Unfollow'}\"\n\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')\"\n\t\t class=\"w-min mn-b-medium\tmn-r-auto mn-l-auto\" \n\t \t/>\n\n\t \t<h4 \n\t \tv-if=\"Object.values(users.state.current.socials).some(value => value)\" \n\t \tclass=\"mn-t-small mn-b-thin\"\n\t >\n\t \t\tFind Me in Socials\n\t \t</h4>\n\t \t<Socials \n\t \t\t:telegram=\"users.state.current.socials.telegram\"\n\t \t\t:facebook=\"users.state.current.socials.facebook\"\n\t \t\t:instagram=\"users.state.current.socials.instagram\"\n\t \t\t:twitter=\"users.state.current.socials.twitter\"\n\t \t\tclass=\"mn-r-auto mn-l-auto\"\n\t \t/>\n\n\t\t\t</section>\n\t\t\t\n\t\t\t<RouterView />\n\n\t\t\t<Menu v-if=\"filteredModules.length > 0\" class=\"mn-b-regular bg-light\">\n\t <MenuItem \n\t v-for=\"module in filteredModules\" \n\t :key=\"module.name\"\n\t @click=\"router.push({\n\t name: `${module.route}`, \n\t params: {\n\t _id: route.params._id,\n\t user: route.params._id\n\t }\n\t })\" \n\t class=\"profile-menu-item cursor-pointer\"\n\t >\n\t <component \n\t :is=\"module.icon\" \n\t v-if=\"module.icon\"\n\t class=\"i-semi\" \n\t :icon=\"true\"\n\t />\n\t <span>{{ module.displayName }}</span>\n \t</MenuItem>\n \t\t</Menu>\n\t\t\t \n\t\t\t<Menu \n\t\t\t\tv-if=\"auth.state.user._id === route.params._id\"\n\t\t\t\tclass=\"bg-light\"\n\t\t\t>\n\t\t\t\t<MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Notifications', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tNotifications\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'User Edit Profile', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tSettings\n\t\t\t </span>\n\t\t\t </MenuItem>\n\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Legal', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tAbout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t \n\t\t\t <MenuItem \n\t\t\t \tclass=\"cursor-pointer\"\n\t\t\t\t\t@click=\"logout()\"\n\t\t\t >\n\t\t\t <span \n\t\t\t \tclass=\"t-red\"\n\t\t\t >\n\t\t\t \tLogout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t</Menu>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n// Import components\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Completion from '@martyrs/src/components/Completion/Completion.vue'\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n// Org Module\nimport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n// Report Module\nimport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n// Community Module \nimport Activity from '@martyrs/src/modules/community/components/blocks/Activity.vue'; \nimport Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'\n// Icons Module\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n// Import libs\nimport { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\nimport * as memberships from '@martyrs/src/modules/organizations/store/memberships.js'\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Get organization _id from cookie\nconst show = ref(false)\n\nconst store = inject('store')\n\nconst moduleMapping = {\n events: {\n displayName: 'Events',\n route: 'User Events',\n icon: IconEvents\n },\n organizations: {\n displayName: 'Groups',\n route: 'User Organizations',\n icon: IconGroups\n },\n blogposts: {\n displayName: 'Posts',\n route: 'User Posts',\n icon: IconCommunity\n },\n orders: {\n displayName: 'Orders',\n route: 'UserOrdersList',\n icon: IconOrders,\n visible: (auth) => auth.state.user && (\n auth.state.user._id === route.params._id || \n (auth.state.access && auth.state.access.roles && \n (auth.state.access.roles.includes('ROLE_MODERATOR') || \n auth.state.access.roles.includes('ROLE_ADMIN'))\n )\n )\n }\n}\n\nconst filteredModules = computed(() => {\n return store.modules\n .map(moduleName => {\n return {\n name: moduleName,\n ...moduleMapping[moduleName]\n }\n })\n .filter(module => {\n // Проверяем существование маппинга для модуля\n if (!moduleMapping[module.name]) return false;\n \n // Проверяем видимость модуля, если есть условие visible\n if (module.visible && typeof module.visible === 'function') {\n return module.visible(auth);\n }\n \n // По умолчанию показываем модуль, если есть маппинг\n return true;\n })\n})\n\nonMounted(async () => {\n \tawait users.actions.read({ _id: route.params._id, user: auth.state.user._id });\n \tshow.value = true\n})\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n memberships.mutations.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)\n};\n\nfunction logout () {\n auth.actions.logout()\n\n router.push({name: 'Sign In'})\n}\n</script>\n\n<style lang=\"scss\">\n\t#header {\n\t\t// height: 3rem;\n\t}\n</style>\n"],"names":["IconEvents","IconGroups","IconCommunity","IconOrders","auth","users.actions","auth.state","memberships.mutations","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkRA,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,OAAO,IAAI,KAAK;AAEtB,UAAM,QAAQ,OAAO,OAAO;AAE5B,UAAM,gBAAgB;AAAA,MACpB,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMA;AAAAA,MACV;AAAA,MACE,eAAe;AAAA,QACb,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,MACV;AAAA,MACE,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,MACV;AAAA,MACE,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,QACN,SAAS,CAACC,UAASA,MAAK,MAAM,SAC5BA,MAAK,MAAM,KAAK,QAAQ,MAAM,OAAO,OACpCA,MAAK,MAAM,UAAUA,MAAK,MAAM,OAAO,UACrCA,MAAK,MAAM,OAAO,MAAM,SAAS,gBAAgB,KACjDA,MAAK,MAAM,OAAO,MAAM,SAAS,YAAY;AAAA,MAGtD;AAAA,IACA;AAEA,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,MAAM,QACV,IAAI,gBAAc;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,GAAG,cAAc,UAAU;AAAA,QACnC;AAAA,MACI,CAAC,EACA,OAAO,YAAU;AAEhB,YAAI,CAAC,cAAc,OAAO,IAAI,EAAG,QAAO;AAGxC,YAAI,OAAO,WAAW,OAAO,OAAO,YAAY,YAAY;AAC1D,iBAAO,OAAO,QAAQ,IAAI;AAAA,QAC5B;AAGA,eAAO;AAAA,MACT,CAAC;AAAA,IACL,CAAC;AAED,cAAU,YAAY;AACpB,YAAMC,QAAc,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMC,MAAW,KAAK,IAAG,CAAE;AAC7E,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,gBAAsB,uBAAuBC,QAAY,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACxH;AAEA,aAAS,SAAU;AACjBC,gBAAa,OAAM;AAEnB,aAAO,KAAK,EAAC,MAAM,UAAS,CAAC;AAAA,IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Profile.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/Profile.vue"],"sourcesContent":["<template>\n\t<div \n\t\tv-if=\"show\"\n\t\tclass=\"for-transition bg-white w-100\"\n\t>\n\t\t<div \n\t\t\tv-if=\"users.state.current?.status === 'removed'\"\n\t\t\tclass=\"flex-center flex pd-medium radius-big bg-light uppercase t-semi w-100 h-100\"\n\t\t>\n\t\t\tSorry, user has been removed.\n\t\t</div>\n\n\t\t<div \n\t\t\tv-else\n\t\t\t_id=\"dash\" \n\t\t\tclass=\"pd-thin w-100\"\n\t\t>\n\t\t\t<!-- <Completion \n\t\t\t\tv-if=\"route.params._id === auth.state.user._id && show\" \n\t\t :user=\"auth.state.user._id\"\n\t\t :target=\"users.state.current\"\n\t\t :cta=\"false\" \n\t\t text_cta=\"Fill\"\n\t\t text=\"Profile completed at\"\n\t\t class=\"mn-b-medium mn-b-regular pd-medium radius-semi t-white bg-second\"\n\t\t\t/> -->\n\n\t\t\t<section \n\t\t\t\tclass=\"flex-center pos-relative flex flex-column t-center w-100 mn-b-regular radius-medium pd-medium bg-light\"\n\t\t\t>\n\n\t\t\t\t<Dropdown \n\t\t\t\t\tv-if=\"route.params._id && route.params._id !== auth.state.user._id\"\n\t\t\t\t\t:label=\"'...'\" \n\t\t\t\t\t:align=\"'right'\"\n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra \"\n\t\t\t\t>\n\t\t\t\t\t<section \n\t\t\t\t\t\tclass=\"bg-black pd-thin radius-small\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormReport \n\t\t\t\t\t\t\t:user=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:type=\"'user'\" \n\t\t\t\t\t\t\t:target=\"users.state.current._id\" \n\t\t\t\t\t\t\t:text=\"'Report'\" \n\t\t\t\t\t\t\tclass=\"w-100\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button \n\t\t\t\t\t\t\t\tclass=\"w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReport\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</FormReport>\n\n\t\t\t\t\t\t<ButtonToggleMembership\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t :user=\"auth.state.user._id\"\n\t\t\t\t :type=\"'user'\" \n\t\t\t \t:role=\"'blocked'\" \n\t\t\t\t :target=\"users.state.current._id\" \n\t\t\t\t :status=\"users.state.current.isBlocked\" \n\t\t\t\t :text=\"{create: 'Block', remove: 'Unblock'}\"\n\t\t\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isBlocked')\"\n\t\t\t\t class=\"t-white mn-t-thin bg-red\" \n\t\t\t \t/>\n\t\t\t\t\t</section>\n\t </Dropdown>\t\n\n\n\t\t\t\t<IconEdit\n\t\t\t\t\tv-if=\"route.params._id === auth.state.user._id\"\n\t\t\t\t\t@click=\"$router.push({\n\t\t\t\t\t\tname: 'User Edit Profile', \n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t_id: auth.state.user._id\n\t\t\t\t\t\t}\n\t\t\t\t\t})\" \n\t\t\t\t\tclass=\"cursor-pointer pos-absolute pos-t-regular pos-r-regular i-regular t-transp\"\n\t\t\t\t/>\n\n\t\t\t\t<img loading=\"lazy\" \n\t\t\t\t\tv-if=\"users.state.current.profile.photo && users.state.current.profile.photo.length > 0\" \n\t\t\t\t\t:src=\"(FILE_SERVER_URL || '')+ users.state.current.profile.photo\" \n\t\t\t\t\tclass=\"radius-extra bg-white mn-b-small object-fit-cover i-extra\" \n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t<PlaceholderUserpic \n\t\t\t\t\tv-else \n\t\t\t\t\tclass=\"radius-medium mn-b-small i-extra\"\n\t\t\t\t/>\n\n\t\t\t\t<h3 \n\t\t\t\t\tclass=\"mn-b-thin\"\n\t\t\t\t>\n\t\t\t\t\t{{users.state.current.profile.name ? users.state.current.profile.name : 'Anonymous' }}\n\t\t\t\t</h3>\n\t\t\t\t\n\t\t\t\t<p \n\t\t\t\t\tv-if=\"users.state.current.username\"\n\t\t\t\t\tclass=\"mn-b-thin t-main t-semi\"\n\t\t\t\t>\n\t\t\t\t\t@{{ users.state.current.username ? users.state.current.username : 'Not specified' }}\n\t\t\t\t</p>\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"mn-b-small p-medium\"\n\t\t\t\t>\n\t\t\t\t {{ users.state.current.profile.description ? users.state.current.profile.description : 'Bio not specified' }}\n\t\t\t\t</p>\n\t\t\t\t\n\t\t\t\t<div class=\"mn-b-medium flex-center flex-nowrap flex\">\n\t\t\t\t\t<div \n\t\t\t\t\t v-for=\"(role,index) in users.state.current.roles\" \n\t\t\t\t\t class=\"pd-thin radius-small t-semi bg-white\" \n\t\t\t\t\t :class=\"{'mn-r-thin': index !== users.state.current.roles.length - 1}\"\n\t\t\t\t\t >\n\t\t\t\t\t\t{{role.icon}}\n\t\t\t\t\t\t{{role.name}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\t\t\t\n\n\t\t\t\t<p \n\t\t\t\t\tclass=\"t-semi mn-b-small\"\n\t\t\t\t>\n\t\t\t\t\t<!-- 👍 3 212 likes · -->\n\t\t\t\t\t<!-- 💬 342 comments · -->\n\t\t\t\t\t👨‍👨‍👧‍👧 {{users.state.current.numberOfSubscribers}} followers\n\t\t\t\t</p>\n\t\t\t\t\n\t \t<ButtonToggleMembership\n\t \t\tv-if=\"auth.state.user._id && route.params._id && route.params._id !== auth.state.user._id\"\n\t\t :user=\"auth.state.user._id\"\n\t\t :type=\"'user'\" \n\t \t:role=\"'subscriber'\" \n\t\t :target=\"users.state.current._id\" \n\t\t :status=\"users.state.current.isSubscriber\" \n\t\t\t\t\t:text=\"{create: 'Follow', remove: 'Unfollow'}\"\n\t\t @updateMembership=\"event => handleMembershipUpdate(event, 'isSubscriber', 'numberOfSubscribers')\"\n\t\t class=\"w-min mn-b-medium\tmn-r-auto mn-l-auto\" \n\t \t/>\n\n\t \t<h4 \n\t \tv-if=\"Object.values(users.state.current.socials).some(value => value)\" \n\t \tclass=\"mn-t-small mn-b-thin\"\n\t >\n\t \t\tFind Me in Socials\n\t \t</h4>\n\t \t<Socials \n\t \t\t:telegram=\"users.state.current.socials.telegram\"\n\t \t\t:facebook=\"users.state.current.socials.facebook\"\n\t \t\t:instagram=\"users.state.current.socials.instagram\"\n\t \t\t:twitter=\"users.state.current.socials.twitter\"\n\t \t\tclass=\"mn-r-auto mn-l-auto\"\n\t \t/>\n\n\t\t\t</section>\n\t\t\t\n\t\t\t<RouterView />\n\n\t\t\t<Menu v-if=\"filteredModules.length > 0\" class=\"mn-b-regular bg-light\">\n\t <MenuItem \n\t v-for=\"module in filteredModules\" \n\t :key=\"module.name\"\n\t @click=\"router.push({\n\t name: `${module.route}`, \n\t params: {\n\t _id: route.params._id,\n\t user: route.params._id\n\t }\n\t })\" \n\t class=\"profile-menu-item cursor-pointer\"\n\t >\n\t <component \n\t :is=\"module.icon\" \n\t v-if=\"module.icon\"\n\t class=\"i-semi\" \n\t :icon=\"true\"\n\t />\n\t <span>{{ module.displayName }}</span>\n \t</MenuItem>\n \t\t</Menu>\n\t\t\t \n\t\t\t<Menu \n\t\t\t\tv-if=\"auth.state.user._id === route.params._id\"\n\t\t\t\tclass=\"bg-light\"\n\t\t\t>\n\t\t\t\t<MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Notifications', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tNotifications\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Profile Edit Profile', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tSettings\n\t\t\t </span>\n\t\t\t </MenuItem>\n\n\t\t\t <MenuItem \n\t\t\t \t@click=\"router.push({\n\t\t\t \t\tname: 'Legal', \n\t\t\t \t\tparams: {\n\t\t\t \t\t\t_id: route.params._id\n\t\t\t \t\t}\n\t\t\t \t})\" \n\t\t\t \tclass=\"cursor-pointer\">\n\t\t\t <span>\n\t\t\t \tAbout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t \n\t\t\t <MenuItem \n\t\t\t \tclass=\"cursor-pointer\"\n\t\t\t\t\t@click=\"logout()\"\n\t\t\t >\n\t\t\t <span \n\t\t\t \tclass=\"t-red\"\n\t\t\t >\n\t\t\t \tLogout\n\t\t\t </span>\n\t\t\t </MenuItem>\n\t\t\t</Menu>\n\n\t\t</div>\n\t</div>\n</template>\n\n<script setup>\n// Import components\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\nimport Dropdown from \"@martyrs/src/components/Dropdown/Dropdown.vue\";\nimport Completion from '@martyrs/src/components/Completion/Completion.vue'\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n// Org Module\nimport ButtonToggleMembership from '@martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue'\n// Report Module\nimport FormReport from '@martyrs/src/modules/reports/components/sections/FormReport.vue' \n// Community Module \nimport Activity from '@martyrs/src/modules/community/components/blocks/Activity.vue'; \nimport Socials from '@martyrs/src/modules/organizations/components/blocks/Socials.vue'\n// Icons Module\nimport IconEvents from '@martyrs/src/modules/icons/entities/IconEvents.vue'\nimport IconGroups from '@martyrs/src/modules/icons/entities/IconGroups.vue'\nimport IconCommunity from '@martyrs/src/modules/icons/entities/IconCommunity.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\n\nimport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n// Import libs\nimport { computed, watch, onMounted, ref, onBeforeMount, inject } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as users from '@martyrs/src/modules/auth/views/store/users.js'\nimport * as memberships from '@martyrs/src/modules/organizations/store/memberships.js'\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Get organization _id from cookie\nconst show = ref(false)\n\nconst store = inject('store')\n\nconst moduleMapping = {\n events: {\n displayName: 'Events',\n route: 'User Events',\n icon: IconEvents\n },\n organizations: {\n displayName: 'Groups',\n route: 'User Organizations',\n icon: IconGroups\n },\n blogposts: {\n displayName: 'Posts',\n route: 'User Posts',\n icon: IconCommunity\n },\n orders: {\n displayName: 'Orders',\n route: 'UserOrdersList',\n icon: IconOrders,\n visible: (auth) => auth.state.user && (\n auth.state.user._id === route.params._id || \n (auth.state.access && auth.state.access.roles && \n (auth.state.access.roles.includes('ROLE_MODERATOR') || \n auth.state.access.roles.includes('ROLE_ADMIN'))\n )\n )\n }\n}\n\nconst filteredModules = computed(() => {\n return store.modules\n .map(moduleName => {\n return {\n name: moduleName,\n ...moduleMapping[moduleName]\n }\n })\n .filter(module => {\n // Проверяем существование маппинга для модуля\n if (!moduleMapping[module.name]) return false;\n \n // Проверяем видимость модуля, если есть условие visible\n if (module.visible && typeof module.visible === 'function') {\n return module.visible(auth);\n }\n \n // По умолчанию показываем модуль, если есть маппинг\n return true;\n })\n})\n\nonMounted(async () => {\n \tawait users.actions.read({ _id: route.params._id, user: auth.state.user._id });\n \tshow.value = true\n})\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n memberships.mutations.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)\n};\n\nfunction logout () {\n auth.actions.logout()\n\n router.push({name: 'Sign In'})\n}\n</script>\n\n<style lang=\"scss\">\n\t#header {\n\t\t// height: 3rem;\n\t}\n</style>\n"],"names":["IconEvents","IconGroups","IconCommunity","IconOrders","auth","users.actions","auth.state","memberships.mutations","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkRA,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,UAAM,OAAO,IAAI,KAAK;AAEtB,UAAM,QAAQ,OAAO,OAAO;AAE5B,UAAM,gBAAgB;AAAA,MACpB,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMA;AAAAA,MACV;AAAA,MACE,eAAe;AAAA,QACb,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,MACV;AAAA,MACE,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,MACV;AAAA,MACE,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,MAAMC;AAAAA,QACN,SAAS,CAACC,UAASA,MAAK,MAAM,SAC5BA,MAAK,MAAM,KAAK,QAAQ,MAAM,OAAO,OACpCA,MAAK,MAAM,UAAUA,MAAK,MAAM,OAAO,UACrCA,MAAK,MAAM,OAAO,MAAM,SAAS,gBAAgB,KACjDA,MAAK,MAAM,OAAO,MAAM,SAAS,YAAY;AAAA,MAGtD;AAAA,IACA;AAEA,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,MAAM,QACV,IAAI,gBAAc;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,GAAG,cAAc,UAAU;AAAA,QACnC;AAAA,MACI,CAAC,EACA,OAAO,YAAU;AAEhB,YAAI,CAAC,cAAc,OAAO,IAAI,EAAG,QAAO;AAGxC,YAAI,OAAO,WAAW,OAAO,OAAO,YAAY,YAAY;AAC1D,iBAAO,OAAO,QAAQ,IAAI;AAAA,QAC5B;AAGA,eAAO;AAAA,MACT,CAAC;AAAA,IACL,CAAC;AAED,cAAU,YAAY;AACpB,YAAMC,QAAc,KAAK,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMC,MAAW,KAAK,IAAG,CAAE;AAC7E,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,gBAAsB,uBAAuBC,QAAY,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IACxH;AAEA,aAAS,SAAU;AACjBC,gBAAa,OAAM;AAEnB,aAAO,KAAK,EAAC,MAAM,UAAS,CAAC;AAAA,IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,30 +2,62 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
5
+ const Loader = require("../../../../../components/Loader/Loader.vue.cjs");
5
6
  const ProfileEditSidebar = require("./ProfileEditSidebar.vue.cjs");
6
7
  const vueRouter = require("vue-router");
7
- const _hoisted_1 = { class: "flex gap-medium" };
8
- const _hoisted_2 = { class: "flex-grow" };
8
+ const auth = require("../../store/auth.cjs");
9
+ const users = require("../../store/users.cjs");
10
+ const _hoisted_1 = {
11
+ key: 0,
12
+ class: "flex-center h-100"
13
+ };
14
+ const _hoisted_2 = {
15
+ key: 1,
16
+ class: "flex h-min-100 flex-row mobile:flex-column gap-medium"
17
+ };
9
18
  const _sfc_main = {
10
19
  __name: "ProfileEdit",
11
20
  setup(__props) {
21
+ const route = vueRouter.useRoute();
12
22
  const router = vueRouter.useRouter();
23
+ const loading = vue.ref(true);
24
+ const userData = vue.ref(null);
25
+ vue.onMounted(async () => {
26
+ try {
27
+ const userId = route.params._id || auth.state.user._id;
28
+ await users.actions.read({ _id: userId, user: auth.state.user._id });
29
+ userData.value = users.state.current;
30
+ } catch (error) {
31
+ console.error("Error loading user data:", error);
32
+ } finally {
33
+ loading.value = false;
34
+ }
35
+ });
36
+ vue.provide("userData", userData);
13
37
  return (_ctx, _cache) => {
14
38
  const _component_RouterView = vue.resolveComponent("RouterView");
15
39
  return vue.openBlock(), vue.createBlock(Popup.default, {
16
40
  isPopupOpen: true,
17
- onClosePopup: _cache[0] || (_cache[0] = ($event) => vue.unref(router).back()),
41
+ onClosePopup: _cache[0] || (_cache[0] = ($event) => vue.unref(router).push({
42
+ name: "User Profile",
43
+ params: {
44
+ _id: auth.state.user._id
45
+ },
46
+ query: {
47
+ afterAuth: "true"
48
+ }
49
+ })),
18
50
  title: "Edit Profile",
19
51
  align: "center center",
20
- class: "w-100 max-w-40r bg-white radius-medium pd-medium"
52
+ class: "w-m-33r h-40r mobile:h-100 h-m-40r bg-white radius-medium pd-medium"
21
53
  }, {
22
54
  default: vue.withCtx(() => [
23
- vue.createElementVNode("div", _hoisted_1, [
24
- vue.createVNode(ProfileEditSidebar.default, { class: "w-12r flex-shrink-0" }),
25
- vue.createElementVNode("div", _hoisted_2, [
26
- vue.createVNode(_component_RouterView)
27
- ])
28
- ])
55
+ loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
56
+ vue.createVNode(Loader.default)
57
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
58
+ vue.createVNode(ProfileEditSidebar.default, { class: "w-10r mobile:w-100 flex-shrink-0" }),
59
+ vue.createVNode(_component_RouterView, { userData: userData.value }, null, 8, ["userData"])
60
+ ]))
29
61
  ]),
30
62
  _: 1
31
63
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileEdit.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEdit.vue"],"sourcesContent":["<template>\n <Popup \n :isPopupOpen=\"true\" \n @close-popup=\"router.back()\"\n title=\"Edit Profile\"\n align=\"center center\"\n class=\"w-100 max-w-40r bg-white radius-medium pd-medium\"\n >\n <div class=\"flex gap-medium\">\n <ProfileEditSidebar class=\"w-12r flex-shrink-0\" />\n \n <div class=\"flex-grow\">\n <RouterView />\n </div>\n </div>\n </Popup>\n</template>\n\n<script setup>\n import Popup from '@martyrs/src/components/Popup/Popup.vue'\n import ProfileEditSidebar from './ProfileEditSidebar.vue'\n \n import { useRouter } from 'vue-router'\n \n const router = useRouter()\n</script>"],"names":["useRouter"],"mappings":";;;;;;;;;;;AAwBE,UAAM,SAASA,UAAAA,UAAS;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ProfileEdit.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEdit.vue"],"sourcesContent":["<template>\n <Popup \n :isPopupOpen=\"true\" \n @close-popup=\"router.push({ \n name: 'User Profile', \n params: { \n _id: auth.state.user._id \n },\n query: { \n afterAuth: 'true' \n }\n })\"\n title=\"Edit Profile\"\n align=\"center center\"\n class=\"w-m-33r h-40r mobile:h-100 h-m-40r bg-white radius-medium pd-medium\"\n >\n <div v-if=\"loading\" class=\"flex-center h-100\">\n <Loader />\n </div>\n \n <div v-else class=\"flex h-min-100 flex-row mobile:flex-column gap-medium\">\n <ProfileEditSidebar class=\"w-10r mobile:w-100 flex-shrink-0\" />\n \n <RouterView :userData=\"userData\" />\n </div>\n </Popup>\n</template>\n\n<script setup>\n import Popup from '@martyrs/src/components/Popup/Popup.vue'\n import Loader from '@martyrs/src/components/Loader/Loader.vue'\n import ProfileEditSidebar from './ProfileEditSidebar.vue'\n \n import { ref, onMounted, provide } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n \n const route = useRoute()\n const router = useRouter()\n \n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import * as users from '@martyrs/src/modules/auth/views/store/users.js'\n \n const loading = ref(true)\n const userData = ref(null)\n \n onMounted(async () => {\n try {\n const userId = route.params._id || auth.state.user._id\n await users.actions.read({ _id: userId, user: auth.state.user._id })\n userData.value = users.state.current\n } catch (error) {\n console.error('Error loading user data:', error)\n } finally {\n loading.value = false\n }\n })\n \n // Provide user data to nested routes\n provide('userData', userData)\n</script>"],"names":["useRoute","useRouter","ref","onMounted","auth.state","users.actions","users.state","provide"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoCE,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAKxB,UAAM,UAAUC,IAAAA,IAAI,IAAI;AACxB,UAAM,WAAWA,IAAAA,IAAI,IAAI;AAEzBC,QAAAA,UAAU,YAAY;AACpB,UAAI;AACF,cAAM,SAAS,MAAM,OAAO,OAAOC,KAAAA,MAAW,KAAK;AACnD,cAAMC,MAAAA,QAAc,KAAK,EAAE,KAAK,QAAQ,MAAMD,KAAAA,MAAW,KAAK,IAAG,CAAE;AACnE,iBAAS,QAAQE,YAAY;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,MAAM,4BAA4B,KAAK;AAAA,MACjD,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF,CAAC;AAGDC,QAAAA,QAAQ,YAAY,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,29 +1,61 @@
1
- import { resolveComponent, createBlock, openBlock, unref, withCtx, createElementVNode, createVNode } from "vue";
1
+ import { ref, onMounted, provide, resolveComponent, createBlock, openBlock, unref, withCtx, createElementBlock, createVNode } from "vue";
2
2
  import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
3
+ import Loader from "../../../../../components/Loader/Loader.vue.js";
3
4
  import _sfc_main$2 from "./ProfileEditSidebar.vue.js";
4
- import { useRouter } from "vue-router";
5
- const _hoisted_1 = { class: "flex gap-medium" };
6
- const _hoisted_2 = { class: "flex-grow" };
5
+ import { useRoute, useRouter } from "vue-router";
6
+ import { state } from "../../store/auth.js";
7
+ import { actions, state as state$1 } from "../../store/users.js";
8
+ const _hoisted_1 = {
9
+ key: 0,
10
+ class: "flex-center h-100"
11
+ };
12
+ const _hoisted_2 = {
13
+ key: 1,
14
+ class: "flex h-min-100 flex-row mobile:flex-column gap-medium"
15
+ };
7
16
  const _sfc_main = {
8
17
  __name: "ProfileEdit",
9
18
  setup(__props) {
19
+ const route = useRoute();
10
20
  const router = useRouter();
21
+ const loading = ref(true);
22
+ const userData = ref(null);
23
+ onMounted(async () => {
24
+ try {
25
+ const userId = route.params._id || state.user._id;
26
+ await actions.read({ _id: userId, user: state.user._id });
27
+ userData.value = state$1.current;
28
+ } catch (error) {
29
+ console.error("Error loading user data:", error);
30
+ } finally {
31
+ loading.value = false;
32
+ }
33
+ });
34
+ provide("userData", userData);
11
35
  return (_ctx, _cache) => {
12
36
  const _component_RouterView = resolveComponent("RouterView");
13
37
  return openBlock(), createBlock(_sfc_main$1, {
14
38
  isPopupOpen: true,
15
- onClosePopup: _cache[0] || (_cache[0] = ($event) => unref(router).back()),
39
+ onClosePopup: _cache[0] || (_cache[0] = ($event) => unref(router).push({
40
+ name: "User Profile",
41
+ params: {
42
+ _id: state.user._id
43
+ },
44
+ query: {
45
+ afterAuth: "true"
46
+ }
47
+ })),
16
48
  title: "Edit Profile",
17
49
  align: "center center",
18
- class: "w-100 max-w-40r bg-white radius-medium pd-medium"
50
+ class: "w-m-33r h-40r mobile:h-100 h-m-40r bg-white radius-medium pd-medium"
19
51
  }, {
20
52
  default: withCtx(() => [
21
- createElementVNode("div", _hoisted_1, [
22
- createVNode(_sfc_main$2, { class: "w-12r flex-shrink-0" }),
23
- createElementVNode("div", _hoisted_2, [
24
- createVNode(_component_RouterView)
25
- ])
26
- ])
53
+ loading.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
54
+ createVNode(Loader)
55
+ ])) : (openBlock(), createElementBlock("div", _hoisted_2, [
56
+ createVNode(_sfc_main$2, { class: "w-10r mobile:w-100 flex-shrink-0" }),
57
+ createVNode(_component_RouterView, { userData: userData.value }, null, 8, ["userData"])
58
+ ]))
27
59
  ]),
28
60
  _: 1
29
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileEdit.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEdit.vue"],"sourcesContent":["<template>\n <Popup \n :isPopupOpen=\"true\" \n @close-popup=\"router.back()\"\n title=\"Edit Profile\"\n align=\"center center\"\n class=\"w-100 max-w-40r bg-white radius-medium pd-medium\"\n >\n <div class=\"flex gap-medium\">\n <ProfileEditSidebar class=\"w-12r flex-shrink-0\" />\n \n <div class=\"flex-grow\">\n <RouterView />\n </div>\n </div>\n </Popup>\n</template>\n\n<script setup>\n import Popup from '@martyrs/src/components/Popup/Popup.vue'\n import ProfileEditSidebar from './ProfileEditSidebar.vue'\n \n import { useRouter } from 'vue-router'\n \n const router = useRouter()\n</script>"],"names":[],"mappings":";;;;;;;;;AAwBE,UAAM,SAAS,UAAS;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ProfileEdit.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEdit.vue"],"sourcesContent":["<template>\n <Popup \n :isPopupOpen=\"true\" \n @close-popup=\"router.push({ \n name: 'User Profile', \n params: { \n _id: auth.state.user._id \n },\n query: { \n afterAuth: 'true' \n }\n })\"\n title=\"Edit Profile\"\n align=\"center center\"\n class=\"w-m-33r h-40r mobile:h-100 h-m-40r bg-white radius-medium pd-medium\"\n >\n <div v-if=\"loading\" class=\"flex-center h-100\">\n <Loader />\n </div>\n \n <div v-else class=\"flex h-min-100 flex-row mobile:flex-column gap-medium\">\n <ProfileEditSidebar class=\"w-10r mobile:w-100 flex-shrink-0\" />\n \n <RouterView :userData=\"userData\" />\n </div>\n </Popup>\n</template>\n\n<script setup>\n import Popup from '@martyrs/src/components/Popup/Popup.vue'\n import Loader from '@martyrs/src/components/Loader/Loader.vue'\n import ProfileEditSidebar from './ProfileEditSidebar.vue'\n \n import { ref, onMounted, provide } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n \n const route = useRoute()\n const router = useRouter()\n \n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import * as users from '@martyrs/src/modules/auth/views/store/users.js'\n \n const loading = ref(true)\n const userData = ref(null)\n \n onMounted(async () => {\n try {\n const userId = route.params._id || auth.state.user._id\n await users.actions.read({ _id: userId, user: auth.state.user._id })\n userData.value = users.state.current\n } catch (error) {\n console.error('Error loading user data:', error)\n } finally {\n loading.value = false\n }\n })\n \n // Provide user data to nested routes\n provide('userData', userData)\n</script>"],"names":["auth.state","users.actions","users.state"],"mappings":";;;;;;;;;;;;;;;;;;AAoCE,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAKxB,UAAM,UAAU,IAAI,IAAI;AACxB,UAAM,WAAW,IAAI,IAAI;AAEzB,cAAU,YAAY;AACpB,UAAI;AACF,cAAM,SAAS,MAAM,OAAO,OAAOA,MAAW,KAAK;AACnD,cAAMC,QAAc,KAAK,EAAE,KAAK,QAAQ,MAAMD,MAAW,KAAK,IAAG,CAAE;AACnE,iBAAS,QAAQE,QAAY;AAAA,MAC/B,SAAS,OAAO;AACd,gBAAQ,MAAM,4BAA4B,KAAK;AAAA,MACjD,UAAC;AACC,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF,CAAC;AAGD,YAAQ,YAAY,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -8,22 +8,18 @@ const vueRouter = require("vue-router");
8
8
  const auth = require("../../store/auth.cjs");
9
9
  const users = require("../../store/users.cjs");
10
10
  const globals = require("../../../../globals/views/store/globals.cjs");
11
- const _hoisted_1 = {
12
- key: 0,
13
- class: "for-transition w-100"
14
- };
15
- const _hoisted_2 = { class: "bg-white mn-b-thin pd-medium" };
11
+ const _hoisted_1 = { class: "for-transition w-100" };
12
+ const _hoisted_2 = { class: "bg-white mn-b-thin" };
16
13
  const _sfc_main = {
17
14
  __name: "ProfileEditAccount",
15
+ props: {
16
+ userData: {
17
+ type: Object,
18
+ required: true
19
+ }
20
+ },
18
21
  setup(__props) {
19
- const route = vueRouter.useRoute();
20
22
  const router = vueRouter.useRouter();
21
- const show = vue.ref(false);
22
- vue.onMounted(async () => {
23
- const userId = route.params._id || auth.state.user._id;
24
- await users.actions.read({ _id: userId, user: auth.state.user._id });
25
- show.value = true;
26
- });
27
23
  async function onSubmit() {
28
24
  await users.actions.update(users.state.current);
29
25
  }
@@ -38,8 +34,8 @@ const _sfc_main = {
38
34
  router.back();
39
35
  }
40
36
  return (_ctx, _cache) => {
41
- return show.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
42
- vue.createVNode(ProfileEditCredentials.default, { class: "bg-white mn-b-thin pd-medium" }),
37
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
38
+ vue.createVNode(ProfileEditCredentials.default, { class: "bg-white mn-b-thin" }),
43
39
  vue.createElementVNode("div", _hoisted_2, [
44
40
  _cache[1] || (_cache[1] = vue.createElementVNode("h3", { class: "mn-b-small" }, "Settings", -1)),
45
41
  vue.createVNode(Checkbox.default, {
@@ -69,7 +65,7 @@ const _sfc_main = {
69
65
  ])),
70
66
  _: 1
71
67
  }, 8, ["callback"])
72
- ])) : vue.createCommentVNode("", true);
68
+ ]);
73
69
  };
74
70
  }
75
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileEditAccount.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEditAccount.vue"],"sourcesContent":["<template>\n <div v-if=\"show\" class=\"for-transition w-100\">\n <ProfileEditCredentials class=\"bg-white mn-b-thin pd-medium\"/>\n\n <div class=\"bg-white mn-b-thin pd-medium\">\n <h3 class=\"mn-b-small\">Settings</h3>\n <Checkbox \n :label=\"'Darkmode'\"\n :radio=\"globals.state.theme.darkmode\"\n @update:radio=\"event => globals.actions.toggleTheme()\"\n class=\"w-100 bg-light t-black pd-medium radius-small\"\n />\n </div>\n\n <Button \n :submit=\"onSubmit\" \n :callback=\"redirectTo\" \n class=\"mn-b-thin bg-main w-100\"\n > \n Save\n </Button>\n\n <Button\n :submit=\"onSubmitDelete\" \n :callback=\"() => router.push({name: 'Sign In'})\" \n class=\"mn-b-thin w-100 bg-red t-white\"\n >\n Delete Account\n </Button>\n </div>\n</template>\n\n<script setup>\n import Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n import Button from '@martyrs/src/components/Button/Button.vue'\n import ProfileEditCredentials from '@martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue'\n \n import { ref, onMounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n \n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import * as users from '@martyrs/src/modules/auth/views/store/users.js'\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\n \n const route = useRoute()\n const router = useRouter()\n const show = ref(false)\n \n onMounted(async () => {\n const userId = route.params._id || auth.state.user._id\n await users.actions.read({ _id: userId, user: auth.state.user._id })\n show.value = true\n })\n \n async function onSubmit() {\n await users.actions.update(users.state.current)\n }\n \n async function onSubmitDelete() {\n const confirmation = window.confirm(\"Are you sure you want to delete your account? Restoration will be possible only with the help of an administrator.\")\n \n if (!confirmation) return\n \n users.state.current.status = 'removed'\n await users.actions.update(users.state.current)\n auth.actions.logout()\n }\n \n function redirectTo() {\n router.back()\n }\n</script>"],"names":["useRoute","useRouter","ref","onMounted","auth.state","users.actions","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;AA4CE,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AACxB,UAAM,OAAOC,IAAAA,IAAI,KAAK;AAEtBC,QAAAA,UAAU,YAAY;AACpB,YAAM,SAAS,MAAM,OAAO,OAAOC,KAAAA,MAAW,KAAK;AACnD,YAAMC,MAAAA,QAAc,KAAK,EAAE,KAAK,QAAQ,MAAMD,KAAAA,MAAW,KAAK,IAAG,CAAE;AACnE,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,mBAAe,WAAW;AACxB,YAAMC,MAAAA,QAAc,OAAOC,MAAAA,MAAY,OAAO;AAAA,IAChD;AAEA,mBAAe,iBAAiB;AAC9B,YAAM,eAAe,OAAO,QAAQ,oHAAoH;AAExJ,UAAI,CAAC,aAAc;AAEnBA,YAAAA,MAAY,QAAQ,SAAS;AAC7B,YAAMD,MAAAA,QAAc,OAAOC,MAAAA,MAAY,OAAO;AAC9CC,WAAAA,QAAa,OAAM;AAAA,IACrB;AAEA,aAAS,aAAa;AACpB,aAAO,KAAI;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ProfileEditAccount.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEditAccount.vue"],"sourcesContent":["<template>\n <div class=\"for-transition w-100\">\n <ProfileEditCredentials class=\"bg-white mn-b-thin\"/>\n\n <div class=\"bg-white mn-b-thin \">\n <h3 class=\"mn-b-small\">Settings</h3>\n <Checkbox \n :label=\"'Darkmode'\"\n :radio=\"globals.state.theme.darkmode\"\n @update:radio=\"event => globals.actions.toggleTheme()\"\n class=\"w-100 bg-light t-black pd-medium radius-small\"\n />\n </div>\n\n <Button \n :submit=\"onSubmit\" \n :callback=\"redirectTo\" \n class=\"mn-b-thin bg-main w-100\"\n > \n Save\n </Button>\n\n <Button\n :submit=\"onSubmitDelete\" \n :callback=\"() => router.push({name: 'Sign In'})\" \n class=\"mn-b-thin w-100 bg-red t-white\"\n >\n Delete Account\n </Button>\n </div>\n</template>\n\n<script setup>\n import Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n import Button from '@martyrs/src/components/Button/Button.vue'\n import ProfileEditCredentials from '@martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue'\n \n import { useRouter } from 'vue-router'\n \n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import * as users from '@martyrs/src/modules/auth/views/store/users.js'\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\n \n const router = useRouter()\n \n defineProps({\n userData: {\n type: Object,\n required: true\n }\n })\n \n async function onSubmit() {\n await users.actions.update(users.state.current)\n }\n \n async function onSubmitDelete() {\n const confirmation = window.confirm(\"Are you sure you want to delete your account? Restoration will be possible only with the help of an administrator.\")\n \n if (!confirmation) return\n \n users.state.current.status = 'removed'\n await users.actions.update(users.state.current)\n auth.actions.logout()\n }\n \n function redirectTo() {\n router.back()\n }\n</script>"],"names":["useRouter","users.actions","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2CE,UAAM,SAASA,UAAAA,UAAS;AASxB,mBAAe,WAAW;AACxB,YAAMC,MAAAA,QAAc,OAAOC,MAAAA,MAAY,OAAO;AAAA,IAChD;AAEA,mBAAe,iBAAiB;AAC9B,YAAM,eAAe,OAAO,QAAQ,oHAAoH;AAExJ,UAAI,CAAC,aAAc;AAEnBA,YAAAA,MAAY,QAAQ,SAAS;AAC7B,YAAMD,MAAAA,QAAc,OAAOC,MAAAA,MAAY,OAAO;AAC9CC,WAAAA,QAAa,OAAM;AAAA,IACrB;AAEA,aAAS,aAAa;AACpB,aAAO,KAAI;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,49 +1,45 @@
1
- import { ref, onMounted, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, withCtx, createTextVNode, unref } from "vue";
1
+ import { createElementBlock, openBlock, createVNode, createElementVNode, withCtx, createTextVNode, unref } from "vue";
2
2
  import _sfc_main$2 from "../../../../../components/Checkbox/Checkbox.vue.js";
3
3
  import _sfc_main$3 from "../../../../../components/Button/Button.vue2.js";
4
4
  import _sfc_main$1 from "../sections/ProfileEditCredentials.vue.js";
5
- import { useRoute, useRouter } from "vue-router";
6
- import { state, actions as actions$2 } from "../../store/auth.js";
7
- import { actions, state as state$2 } from "../../store/users.js";
8
- import { actions as actions$1, state as state$1 } from "../../../../globals/views/store/globals.js";
9
- const _hoisted_1 = {
10
- key: 0,
11
- class: "for-transition w-100"
12
- };
13
- const _hoisted_2 = { class: "bg-white mn-b-thin pd-medium" };
5
+ import { useRouter } from "vue-router";
6
+ import { actions as actions$2 } from "../../store/auth.js";
7
+ import { actions as actions$1, state as state$1 } from "../../store/users.js";
8
+ import { actions, state } from "../../../../globals/views/store/globals.js";
9
+ const _hoisted_1 = { class: "for-transition w-100" };
10
+ const _hoisted_2 = { class: "bg-white mn-b-thin" };
14
11
  const _sfc_main = {
15
12
  __name: "ProfileEditAccount",
13
+ props: {
14
+ userData: {
15
+ type: Object,
16
+ required: true
17
+ }
18
+ },
16
19
  setup(__props) {
17
- const route = useRoute();
18
20
  const router = useRouter();
19
- const show = ref(false);
20
- onMounted(async () => {
21
- const userId = route.params._id || state.user._id;
22
- await actions.read({ _id: userId, user: state.user._id });
23
- show.value = true;
24
- });
25
21
  async function onSubmit() {
26
- await actions.update(state$2.current);
22
+ await actions$1.update(state$1.current);
27
23
  }
28
24
  async function onSubmitDelete() {
29
25
  const confirmation = window.confirm("Are you sure you want to delete your account? Restoration will be possible only with the help of an administrator.");
30
26
  if (!confirmation) return;
31
- state$2.current.status = "removed";
32
- await actions.update(state$2.current);
27
+ state$1.current.status = "removed";
28
+ await actions$1.update(state$1.current);
33
29
  actions$2.logout();
34
30
  }
35
31
  function redirectTo() {
36
32
  router.back();
37
33
  }
38
34
  return (_ctx, _cache) => {
39
- return show.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
40
- createVNode(_sfc_main$1, { class: "bg-white mn-b-thin pd-medium" }),
35
+ return openBlock(), createElementBlock("div", _hoisted_1, [
36
+ createVNode(_sfc_main$1, { class: "bg-white mn-b-thin" }),
41
37
  createElementVNode("div", _hoisted_2, [
42
38
  _cache[1] || (_cache[1] = createElementVNode("h3", { class: "mn-b-small" }, "Settings", -1)),
43
39
  createVNode(_sfc_main$2, {
44
40
  label: "Darkmode",
45
- radio: state$1.theme.darkmode,
46
- "onUpdate:radio": _cache[0] || (_cache[0] = (event) => actions$1.toggleTheme()),
41
+ radio: state.theme.darkmode,
42
+ "onUpdate:radio": _cache[0] || (_cache[0] = (event) => actions.toggleTheme()),
47
43
  class: "w-100 bg-light t-black pd-medium radius-small"
48
44
  }, null, 8, ["radio"])
49
45
  ]),
@@ -67,7 +63,7 @@ const _sfc_main = {
67
63
  ])),
68
64
  _: 1
69
65
  }, 8, ["callback"])
70
- ])) : createCommentVNode("", true);
66
+ ]);
71
67
  };
72
68
  }
73
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileEditAccount.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEditAccount.vue"],"sourcesContent":["<template>\n <div v-if=\"show\" class=\"for-transition w-100\">\n <ProfileEditCredentials class=\"bg-white mn-b-thin pd-medium\"/>\n\n <div class=\"bg-white mn-b-thin pd-medium\">\n <h3 class=\"mn-b-small\">Settings</h3>\n <Checkbox \n :label=\"'Darkmode'\"\n :radio=\"globals.state.theme.darkmode\"\n @update:radio=\"event => globals.actions.toggleTheme()\"\n class=\"w-100 bg-light t-black pd-medium radius-small\"\n />\n </div>\n\n <Button \n :submit=\"onSubmit\" \n :callback=\"redirectTo\" \n class=\"mn-b-thin bg-main w-100\"\n > \n Save\n </Button>\n\n <Button\n :submit=\"onSubmitDelete\" \n :callback=\"() => router.push({name: 'Sign In'})\" \n class=\"mn-b-thin w-100 bg-red t-white\"\n >\n Delete Account\n </Button>\n </div>\n</template>\n\n<script setup>\n import Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n import Button from '@martyrs/src/components/Button/Button.vue'\n import ProfileEditCredentials from '@martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue'\n \n import { ref, onMounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n \n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import * as users from '@martyrs/src/modules/auth/views/store/users.js'\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\n \n const route = useRoute()\n const router = useRouter()\n const show = ref(false)\n \n onMounted(async () => {\n const userId = route.params._id || auth.state.user._id\n await users.actions.read({ _id: userId, user: auth.state.user._id })\n show.value = true\n })\n \n async function onSubmit() {\n await users.actions.update(users.state.current)\n }\n \n async function onSubmitDelete() {\n const confirmation = window.confirm(\"Are you sure you want to delete your account? Restoration will be possible only with the help of an administrator.\")\n \n if (!confirmation) return\n \n users.state.current.status = 'removed'\n await users.actions.update(users.state.current)\n auth.actions.logout()\n }\n \n function redirectTo() {\n router.back()\n }\n</script>"],"names":["auth.state","users.actions","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;AA4CE,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AACxB,UAAM,OAAO,IAAI,KAAK;AAEtB,cAAU,YAAY;AACpB,YAAM,SAAS,MAAM,OAAO,OAAOA,MAAW,KAAK;AACnD,YAAMC,QAAc,KAAK,EAAE,KAAK,QAAQ,MAAMD,MAAW,KAAK,IAAG,CAAE;AACnE,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,mBAAe,WAAW;AACxB,YAAMC,QAAc,OAAOC,QAAY,OAAO;AAAA,IAChD;AAEA,mBAAe,iBAAiB;AAC9B,YAAM,eAAe,OAAO,QAAQ,oHAAoH;AAExJ,UAAI,CAAC,aAAc;AAEnBA,cAAY,QAAQ,SAAS;AAC7B,YAAMD,QAAc,OAAOC,QAAY,OAAO;AAC9CC,gBAAa,OAAM;AAAA,IACrB;AAEA,aAAS,aAAa;AACpB,aAAO,KAAI;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ProfileEditAccount.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEditAccount.vue"],"sourcesContent":["<template>\n <div class=\"for-transition w-100\">\n <ProfileEditCredentials class=\"bg-white mn-b-thin\"/>\n\n <div class=\"bg-white mn-b-thin \">\n <h3 class=\"mn-b-small\">Settings</h3>\n <Checkbox \n :label=\"'Darkmode'\"\n :radio=\"globals.state.theme.darkmode\"\n @update:radio=\"event => globals.actions.toggleTheme()\"\n class=\"w-100 bg-light t-black pd-medium radius-small\"\n />\n </div>\n\n <Button \n :submit=\"onSubmit\" \n :callback=\"redirectTo\" \n class=\"mn-b-thin bg-main w-100\"\n > \n Save\n </Button>\n\n <Button\n :submit=\"onSubmitDelete\" \n :callback=\"() => router.push({name: 'Sign In'})\" \n class=\"mn-b-thin w-100 bg-red t-white\"\n >\n Delete Account\n </Button>\n </div>\n</template>\n\n<script setup>\n import Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue'\n import Button from '@martyrs/src/components/Button/Button.vue'\n import ProfileEditCredentials from '@martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue'\n \n import { useRouter } from 'vue-router'\n \n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import * as users from '@martyrs/src/modules/auth/views/store/users.js'\n import * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\n \n const router = useRouter()\n \n defineProps({\n userData: {\n type: Object,\n required: true\n }\n })\n \n async function onSubmit() {\n await users.actions.update(users.state.current)\n }\n \n async function onSubmitDelete() {\n const confirmation = window.confirm(\"Are you sure you want to delete your account? Restoration will be possible only with the help of an administrator.\")\n \n if (!confirmation) return\n \n users.state.current.status = 'removed'\n await users.actions.update(users.state.current)\n auth.actions.logout()\n }\n \n function redirectTo() {\n router.back()\n }\n</script>"],"names":["users.actions","users.state","auth.actions"],"mappings":";;;;;;;;;;;;;;;;;;;AA2CE,UAAM,SAAS,UAAS;AASxB,mBAAe,WAAW;AACxB,YAAMA,UAAc,OAAOC,QAAY,OAAO;AAAA,IAChD;AAEA,mBAAe,iBAAiB;AAC9B,YAAM,eAAe,OAAO,QAAQ,oHAAoH;AAExJ,UAAI,CAAC,aAAc;AAEnBA,cAAY,QAAQ,SAAS;AAC7B,YAAMD,UAAc,OAAOC,QAAY,OAAO;AAC9CC,gBAAa,OAAM;AAAA,IACrB;AAEA,aAAS,aAAa;AACpB,aAAO,KAAI;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,27 +5,23 @@ const Field = require("../../../../../components/Field/Field.vue.cjs");
5
5
  const Button = require("../../../../../components/Button/Button.vue2.cjs");
6
6
  const UploadImage = require("../../../../../components/UploadImage/UploadImage.vue.cjs");
7
7
  const vueRouter = require("vue-router");
8
- const auth = require("../../store/auth.cjs");
8
+ require("../../store/auth.cjs");
9
9
  const users = require("../../store/users.cjs");
10
- const _hoisted_1 = {
11
- key: 0,
12
- class: "for-transition w-100"
13
- };
14
- const _hoisted_2 = { class: "bg-white mn-b-thin pd-medium" };
10
+ const _hoisted_1 = { class: "for-transition w-100" };
11
+ const _hoisted_2 = { class: "bg-white mn-b-thin" };
15
12
  const _hoisted_3 = { class: "mn-b-thin radius-small w-100 h-10r bg-light flex-center flex-column flex" };
16
13
  const _hoisted_4 = { class: "mn-b-semi" };
17
- const _hoisted_5 = { class: "bg-white mn-b-thin pd-medium" };
14
+ const _hoisted_5 = { class: "bg-white mn-b-thin" };
18
15
  const _sfc_main = {
19
16
  __name: "ProfileEditProfile",
17
+ props: {
18
+ userData: {
19
+ type: Object,
20
+ required: true
21
+ }
22
+ },
20
23
  setup(__props) {
21
- const route = vueRouter.useRoute();
22
24
  const router = vueRouter.useRouter();
23
- const show = vue.ref(false);
24
- vue.onMounted(async () => {
25
- const userId = route.params._id || auth.state.user._id;
26
- await users.actions.read({ _id: userId, user: auth.state.user._id });
27
- show.value = true;
28
- });
29
25
  async function onSubmit() {
30
26
  await users.actions.update(users.state.current);
31
27
  }
@@ -33,7 +29,7 @@ const _sfc_main = {
33
29
  router.back();
34
30
  }
35
31
  return (_ctx, _cache) => {
36
- return show.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
32
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
37
33
  vue.createElementVNode("div", _hoisted_2, [
38
34
  _cache[9] || (_cache[9] = vue.createElementVNode("h4", { class: "mn-b-small" }, "Profile", -1)),
39
35
  vue.createElementVNode("div", _hoisted_3, [
@@ -113,7 +109,7 @@ const _sfc_main = {
113
109
  ])),
114
110
  _: 1
115
111
  })
116
- ])) : vue.createCommentVNode("", true);
112
+ ]);
117
113
  };
118
114
  }
119
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileEditProfile.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEditProfile.vue"],"sourcesContent":["<template>\n <div v-if=\"show\" class=\"for-transition w-100\">\n <div class=\"bg-white mn-b-thin pd-medium\">\n <h4 class=\"mn-b-small\">Profile</h4>\n\n <div class=\"mn-b-thin radius-small w-100 h-10r bg-light flex-center flex-column flex\">\n <UploadImage \n v-model:photo=\"users.state.current.profile.photo\"\n :uploadPath=\"'users/' + users.state.current._id + '/avatars'\"\n class=\"h-4r w-4r aspect-1x1 o-hidden bg-white mn-b-thin radius-extra\" \n />\n <h4>Upload userpic</h4>\n </div>\n\n <Field \n v-model:field=\"users.state.current.username\" \n label=\"@\" \n placeholder=\"Not specified\" \n class=\"mn-b-thin w-100 bg-light pd-medium radius-small\" \n :validation=\"organizationName\" \n />\n\n <p class=\"mn-b-semi\">Your username will be used for URL of profile like {{API_URL}}/users/username</p>\n\n <Field \n v-model:field=\"users.state.current.profile.name\" \n label=\"Name\" \n placeholder=\"Not specified\" \n class=\"mn-b-thin bg-light pd-medium radius-small\" \n :validation=\"organizationName\" \n />\n\n <Field \n v-model:field=\"users.state.current.profile.description\" \n label=\"Description\" \n placeholder=\"Not specified\" \n class=\"mn-b-semi bg-light pd-medium radius-small\" \n :validation=\"organizationName\" \n />\n </div>\n\n <div class=\"bg-white mn-b-thin pd-medium\">\n <h3 class=\"mn-b-small\">Socials</h3>\n <p class=\"mn-b-thin\">Please provide only the username for social media profiles, without full links.</p>\n\n <Field \n v-model:field=\"users.state.current.socials.instagram\"\n label=\"Instagram\" \n placeholder=\"\" \n class=\"mn-b-thin bg-light pd-medium radius-small\" \n />\n <Field \n v-model:field=\"users.state.current.socials.twitter\"\n label=\"Twitter\" \n placeholder=\"\" \n class=\"mn-b-thin bg-light pd-medium radius-small\" \n />\n <Field \n v-model:field=\"users.state.current.socials.facebook\"\n label=\"Facebook\" \n placeholder=\"\" \n class=\"mn-b-thin bg-light pd-medium radius-small\" \n />\n <Field \n v-model:field=\"users.state.current.socials.telegram\"\n label=\"Telegram\" \n placeholder=\"\" \n class=\"mn-b-semi bg-light pd-medium radius-small\" \n />\n </div>\n\n <Button \n :submit=\"onSubmit\" \n :callback=\"redirectTo\" \n class=\"mn-b-thin bg-main w-100\"\n > \n Save\n </Button>\n </div>\n</template>\n\n<script setup>\n import Field from '@martyrs/src/components/Field/Field.vue'\n import Button from '@martyrs/src/components/Button/Button.vue'\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue'\n \n import { ref, onMounted } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n \n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import * as users from '@martyrs/src/modules/auth/views/store/users.js'\n \n const route = useRoute()\n const router = useRouter()\n const show = ref(false)\n \n onMounted(async () => {\n const userId = route.params._id || auth.state.user._id\n await users.actions.read({ _id: userId, user: auth.state.user._id })\n show.value = true\n })\n \n async function onSubmit() {\n await users.actions.update(users.state.current)\n }\n \n function redirectTo() {\n router.back()\n }\n</script>"],"names":["useRoute","useRouter","ref","onMounted","auth.state","users.actions","users.state"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4FE,UAAM,QAAQA,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AACxB,UAAM,OAAOC,IAAAA,IAAI,KAAK;AAEtBC,QAAAA,UAAU,YAAY;AACpB,YAAM,SAAS,MAAM,OAAO,OAAOC,KAAAA,MAAW,KAAK;AACnD,YAAMC,MAAAA,QAAc,KAAK,EAAE,KAAK,QAAQ,MAAMD,KAAAA,MAAW,KAAK,IAAG,CAAE;AACnE,WAAK,QAAQ;AAAA,IACf,CAAC;AAED,mBAAe,WAAW;AACxB,YAAMC,MAAAA,QAAc,OAAOC,MAAAA,MAAY,OAAO;AAAA,IAChD;AAEA,aAAS,aAAa;AACpB,aAAO,KAAI;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ProfileEditProfile.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/pages/ProfileEditProfile.vue"],"sourcesContent":["<template>\n <div class=\"for-transition w-100\">\n <div class=\"bg-white mn-b-thin\">\n <h4 class=\"mn-b-small\">Profile</h4>\n\n <div class=\"mn-b-thin radius-small w-100 h-10r bg-light flex-center flex-column flex\">\n <UploadImage \n v-model:photo=\"users.state.current.profile.photo\"\n :uploadPath=\"'users/' + users.state.current._id + '/avatars'\"\n class=\"h-4r w-4r aspect-1x1 o-hidden bg-white mn-b-thin radius-extra\" \n />\n <h4>Upload userpic</h4>\n </div>\n\n <Field \n v-model:field=\"users.state.current.username\" \n label=\"@\" \n placeholder=\"Not specified\" \n class=\"mn-b-thin w-100 bg-light pd-medium radius-small\" \n :validation=\"organizationName\" \n />\n\n <p class=\"mn-b-semi\">Your username will be used for URL of profile like {{API_URL}}/users/username</p>\n\n <Field \n v-model:field=\"users.state.current.profile.name\" \n label=\"Name\" \n placeholder=\"Not specified\" \n class=\"mn-b-thin bg-light pd-medium radius-small\" \n :validation=\"organizationName\" \n />\n\n <Field \n v-model:field=\"users.state.current.profile.description\" \n label=\"Description\" \n placeholder=\"Not specified\" \n class=\"mn-b-semi bg-light pd-medium radius-small\" \n :validation=\"organizationName\" \n />\n </div>\n\n <div class=\"bg-white mn-b-thin\">\n <h3 class=\"mn-b-small\">Socials</h3>\n <p class=\"mn-b-thin\">Please provide only the username for social media profiles, without full links.</p>\n\n <Field \n v-model:field=\"users.state.current.socials.instagram\"\n label=\"Instagram\" \n placeholder=\"\" \n class=\"mn-b-thin bg-light pd-medium radius-small\" \n />\n <Field \n v-model:field=\"users.state.current.socials.twitter\"\n label=\"Twitter\" \n placeholder=\"\" \n class=\"mn-b-thin bg-light pd-medium radius-small\" \n />\n <Field \n v-model:field=\"users.state.current.socials.facebook\"\n label=\"Facebook\" \n placeholder=\"\" \n class=\"mn-b-thin bg-light pd-medium radius-small\" \n />\n <Field \n v-model:field=\"users.state.current.socials.telegram\"\n label=\"Telegram\" \n placeholder=\"\" \n class=\"mn-b-semi bg-light pd-medium radius-small\" \n />\n </div>\n\n <Button \n :submit=\"onSubmit\" \n :callback=\"redirectTo\" \n class=\"mn-b-thin bg-main w-100\"\n > \n Save\n </Button>\n </div>\n</template>\n\n<script setup>\n import Field from '@martyrs/src/components/Field/Field.vue'\n import Button from '@martyrs/src/components/Button/Button.vue'\n import UploadImage from '@martyrs/src/components/UploadImage/UploadImage.vue'\n \n import { useRouter } from 'vue-router'\n \n import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n import * as users from '@martyrs/src/modules/auth/views/store/users.js'\n \n const router = useRouter()\n \n defineProps({\n userData: {\n type: Object,\n required: true\n }\n })\n \n async function onSubmit() {\n await users.actions.update(users.state.current)\n }\n \n function redirectTo() {\n router.back()\n }\n</script>"],"names":["useRouter","users.actions","users.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2FE,UAAM,SAASA,UAAAA,UAAS;AASxB,mBAAe,WAAW;AACxB,YAAMC,MAAAA,QAAc,OAAOC,MAAAA,MAAY,OAAO;AAAA,IAChD;AAEA,aAAS,aAAa;AACpB,aAAO,KAAI;AAAA,IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}