@ozdao/martyrs 0.2.547 → 0.2.549

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 (837) hide show
  1. package/dist/auth.server.cjs +9 -9
  2. package/dist/auth.server.js +9 -9
  3. package/dist/builder.cjs +12 -751
  4. package/dist/builder.js +21 -721
  5. package/dist/chats.server.cjs +61 -59
  6. package/dist/chats.server.js +61 -59
  7. package/dist/{common.schema-BzFEVNn3.cjs → common.schema-BtXLULba.cjs} +2 -2
  8. package/dist/{common.schema-Bw1O5_2Q.js → common.schema-GFSlNJo7.js} +2 -2
  9. package/dist/community.server.cjs +10 -10
  10. package/dist/community.server.js +10 -10
  11. package/dist/{credentials.schema-C9FB2EyY.js → credentials.schema--2vvcu8c.js} +2 -2
  12. package/dist/{credentials.schema-DwhGdrwC.cjs → credentials.schema-DVXaFnXl.cjs} +2 -2
  13. package/dist/{crud-Ed3dcRsC.js → crud-D_snnl2K.js} +78 -2
  14. package/dist/{crud-DGM6Xa1R.cjs → crud-pedHI2by.cjs} +78 -2
  15. package/dist/{engagement.schema-JADHu8pj.cjs → engagement.schema-DHw4iY_W.cjs} +2 -2
  16. package/dist/{engagement.schema-Dh1adRsn.js → engagement.schema-fh6W1fb_.js} +2 -2
  17. package/dist/events.server.cjs +452 -11
  18. package/dist/events.server.js +433 -9
  19. package/dist/files.server.cjs +2 -2
  20. package/dist/files.server.js +2 -2
  21. package/dist/gallery.server.cjs +5 -5
  22. package/dist/gallery.server.js +5 -5
  23. package/dist/globals.server.cjs +11 -373
  24. package/dist/globals.server.js +11 -356
  25. package/dist/globals.websocket-C2FxNmZ1.js +357 -0
  26. package/dist/globals.websocket-Cm72lPCs.cjs +374 -0
  27. package/dist/inventory.server.cjs +4 -5
  28. package/dist/inventory.server.js +2 -3
  29. package/dist/main-DvjCsGb1.cjs +11 -0
  30. package/dist/{main-d9n_ibdE.js → main-q-y0Lhcy.js} +28 -28
  31. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs +8 -8
  32. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.cjs.map +1 -1
  33. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js +8 -8
  34. package/dist/martyrs/node_modules/.pnpm/bignumber.js@9.2.1/node_modules/bignumber.js/bignumber.js.map +1 -1
  35. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs +2 -2
  36. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.cjs.map +1 -1
  37. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js +2 -2
  38. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/ParseError.js.map +1 -1
  39. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs +2 -2
  40. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.cjs.map +1 -1
  41. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js +2 -2
  42. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -1
  43. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs +8 -8
  44. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.cjs.map +1 -1
  45. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js +8 -8
  46. package/dist/martyrs/node_modules/.pnpm/libphonenumber-js@1.12.6/node_modules/libphonenumber-js/es6/metadata.js.map +1 -1
  47. package/dist/martyrs/src/components/Button/Button.vue.cjs.map +1 -1
  48. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -1
  49. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs +3 -3
  50. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs.map +1 -1
  51. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +3 -3
  52. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  53. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs +1 -1
  54. package/dist/martyrs/src/components/Chips/Chips.vue2.js +1 -1
  55. package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs +4 -4
  56. package/dist/martyrs/src/components/Countdown/Countdown.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +4 -4
  58. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
  60. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
  61. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  62. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  63. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +1 -1
  64. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
  65. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.cjs +1 -1
  66. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
  67. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  68. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  69. package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +2 -2
  70. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
  71. package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +2 -2
  72. package/dist/martyrs/src/components/Field/{Field.vue.cjs.map → Field.vue2.js.map} +1 -1
  73. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +2 -2
  74. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  75. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  76. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  77. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
  78. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
  79. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  80. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  81. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs +2 -2
  82. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs.map +1 -1
  83. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +2 -2
  84. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -1
  85. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  86. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  87. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  88. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  89. package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs +1 -1
  90. package/dist/martyrs/src/components/Menu/MenuItem.vue.cjs.map +1 -1
  91. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +1 -1
  92. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  93. package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
  94. package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
  95. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  96. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  97. package/dist/martyrs/src/components/Status/Snack.vue.cjs +1 -1
  98. package/dist/martyrs/src/components/Status/Snack.vue.cjs.map +1 -1
  99. package/dist/martyrs/src/components/Status/Snack.vue.js +1 -1
  100. package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -1
  101. package/dist/martyrs/src/components/Status/Status.vue.cjs +1 -1
  102. package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
  103. package/dist/martyrs/src/components/Status/Status.vue.js +1 -1
  104. package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
  105. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs +3 -3
  106. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.cjs.map +1 -1
  107. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +3 -3
  108. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  111. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
  112. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs.map +1 -1
  113. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  114. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js.map +1 -1
  115. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  117. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +7 -7
  118. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  119. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +7 -7
  120. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  121. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  123. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  124. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  125. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  127. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  129. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  131. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  133. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  136. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  139. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +3 -3
  140. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +3 -3
  142. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +2 -2
  144. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
  145. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +2 -2
  146. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  147. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
  148. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs.map +1 -1
  151. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  152. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  153. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +3 -3
  154. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
  155. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
  156. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  157. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  159. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +2 -2
  160. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +1 -1
  161. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +2 -2
  162. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +1 -1
  164. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +1 -1
  166. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
  167. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +2 -2
  168. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs.map +1 -1
  169. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +2 -2
  170. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js.map +1 -1
  171. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  173. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +2 -2
  174. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +2 -2
  176. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js +1 -1
  180. package/dist/martyrs/src/modules/constructor/components/sections/Viewer.vue.js.map +1 -1
  181. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +4 -4
  182. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  183. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +4 -4
  184. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  185. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  186. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  187. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  188. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  189. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +5 -5
  190. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  191. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +5 -5
  192. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  193. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +4 -4
  194. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  195. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +4 -4
  196. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  197. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs +2 -2
  198. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.cjs.map +1 -1
  199. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +2 -2
  200. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  201. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
  202. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  203. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +4 -1
  204. package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +4 -1
  206. package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -1
  207. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  208. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  209. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +5 -5
  210. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  211. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +5 -5
  212. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  213. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs.map +1 -1
  215. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  216. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  217. package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.cjs +4 -4
  218. package/dist/martyrs/src/modules/globals/views/components/elements/PhotoStack.vue.js +4 -4
  219. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs +2 -2
  220. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.cjs.map +1 -1
  221. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js +2 -2
  222. package/dist/martyrs/src/modules/globals/views/components/partials/CitySelection.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +6 -6
  224. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -1
  225. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +6 -6
  226. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +4 -4
  228. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  229. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +4 -4
  230. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +1 -1
  232. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs.map +1 -1
  233. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +1 -1
  234. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +3 -3
  236. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  237. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +3 -3
  238. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +1 -1
  240. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +1 -1
  241. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +2 -2
  242. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs.map +1 -1
  243. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +2 -2
  244. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  245. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +10 -10
  246. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs.map +1 -1
  247. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +10 -10
  248. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +3 -3
  250. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs.map +1 -1
  251. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
  252. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  253. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +2 -2
  254. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  255. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +2 -2
  256. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
  257. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
  258. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  259. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +3 -3
  260. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
  261. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +3 -3
  262. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs +2 -2
  264. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.cjs.map +1 -1
  265. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +2 -2
  266. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs +2 -2
  268. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.cjs.map +1 -1
  269. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
  270. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs +1 -1
  272. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.cjs.map +1 -1
  273. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  274. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs +1 -1
  276. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.cjs.map +1 -1
  277. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js +1 -1
  278. package/dist/martyrs/src/modules/landing/components/sections/SectionJoinUs.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +3 -3
  280. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
  281. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +3 -3
  282. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
  284. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
  285. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
  286. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +4 -4
  288. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
  289. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +4 -4
  290. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  292. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs.map +1 -1
  293. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  294. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +4 -4
  296. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs.map +1 -1
  297. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +4 -4
  298. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  299. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +6 -6
  300. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs.map +1 -1
  301. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +6 -6
  302. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  303. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +7 -7
  304. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
  305. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +7 -7
  306. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  307. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +6 -6
  308. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -1
  309. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +6 -6
  310. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +9 -9
  312. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  313. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +9 -9
  314. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +10 -10
  316. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
  317. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +10 -10
  318. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  319. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +4 -4
  320. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
  321. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +4 -4
  322. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  323. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +6 -6
  324. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  325. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +6 -6
  326. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  327. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +10 -10
  328. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  329. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +10 -10
  330. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  331. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +2 -2
  332. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
  333. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +2 -2
  334. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  335. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +2 -2
  336. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
  337. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +2 -2
  338. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  339. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs +8 -8
  340. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.cjs.map +1 -1
  341. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +8 -8
  342. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  343. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +1 -1
  344. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -1
  345. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +1 -1
  346. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  347. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +4 -4
  348. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs.map +1 -1
  349. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +4 -4
  350. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  351. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +2 -2
  352. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -1
  353. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +2 -2
  354. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  355. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs +1 -1
  356. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.cjs.map +1 -1
  357. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +1 -1
  358. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  359. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
  360. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  361. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
  362. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  363. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +9 -9
  364. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  365. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +9 -9
  366. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  367. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  368. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  369. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs +1 -1
  370. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.cjs.map +1 -1
  371. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +1 -1
  372. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  373. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs +1 -1
  374. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.cjs.map +1 -1
  375. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  376. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  377. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
  378. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  379. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  380. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  381. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.cjs +1 -1
  382. package/dist/martyrs/src/modules/orders/components/sections/Succes.vue.js +1 -1
  383. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +5 -5
  384. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +5 -5
  385. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +3 -3
  386. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs.map +1 -1
  387. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  388. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  389. package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.cjs +1 -1
  390. package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.js +1 -1
  391. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.cjs +2 -2
  392. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +2 -2
  393. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  394. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -1
  395. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  396. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  397. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +3 -3
  398. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -1
  399. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +3 -3
  400. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  401. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +2 -2
  402. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -1
  403. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +2 -2
  404. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  405. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +7 -7
  406. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  407. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +7 -7
  408. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  409. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +5 -5
  410. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +5 -5
  411. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +9 -9
  412. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  413. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +9 -9
  414. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  415. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +9 -9
  416. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
  417. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +9 -9
  418. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
  419. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  420. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  421. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  422. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  423. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +3 -3
  424. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs.map +1 -1
  425. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
  426. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  427. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  428. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  429. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  430. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  431. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  432. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  433. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  434. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  435. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +2 -2
  436. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  437. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +2 -2
  438. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  439. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  440. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.cjs.map +1 -1
  441. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  442. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  443. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +4 -4
  444. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  445. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +4 -4
  446. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  447. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +3 -3
  448. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  449. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +3 -3
  450. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  451. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +4 -4
  452. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  453. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +4 -4
  454. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  455. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +2 -2
  456. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
  457. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +2 -2
  458. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  459. package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.cjs → THC.vue.cjs} +2 -2
  460. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +1 -0
  461. package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.js → THC.vue.js} +2 -2
  462. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +1 -0
  463. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
  464. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  465. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  466. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  467. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  468. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  469. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  470. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  471. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +5 -5
  472. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  473. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -5
  474. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  475. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +4 -4
  476. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs.map +1 -1
  477. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +4 -4
  478. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  479. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +5 -5
  480. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs.map +1 -1
  481. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +5 -5
  482. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  483. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +7 -7
  484. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs.map +1 -1
  485. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +7 -7
  486. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  487. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs +3 -3
  488. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.cjs.map +1 -1
  489. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +3 -3
  490. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  491. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +2 -2
  492. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
  493. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +2 -2
  494. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
  495. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  496. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
  497. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  498. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  499. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  500. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
  501. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  502. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  503. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +3 -3
  504. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs.map +1 -1
  505. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  506. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  507. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  508. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  509. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
  510. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  511. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +3 -3
  512. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs.map +1 -1
  513. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +3 -3
  514. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js.map +1 -1
  515. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +6 -6
  516. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
  517. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +6 -6
  518. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  519. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +2 -2
  520. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
  521. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +2 -2
  522. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
  523. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs +3 -3
  524. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.cjs.map +1 -1
  525. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +3 -3
  526. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  527. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +5 -5
  528. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs.map +1 -1
  529. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +5 -5
  530. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  531. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  532. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  533. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  534. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  535. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +2 -2
  536. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  537. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +28 -6
  538. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +1 -1
  539. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +6 -6
  540. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  541. package/dist/martyrs.cjs.js +1 -1
  542. package/dist/martyrs.css +1 -1
  543. package/dist/martyrs.es.js +1 -1
  544. package/dist/{metadata.schema-RlxNv46L.cjs → metadata.schema-BGykn-_r.cjs} +2 -2
  545. package/dist/{metadata.schema-CWmcDJN7.js → metadata.schema-CIRR_WQ-.js} +2 -2
  546. package/dist/music.server.cjs +30 -33
  547. package/dist/music.server.js +30 -33
  548. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +2 -2
  549. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -1
  550. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js +2 -2
  551. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -1
  552. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs +13 -13
  553. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs.map +1 -1
  554. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js +13 -13
  555. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js.map +1 -1
  556. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs +3 -3
  557. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.cjs.map +1 -1
  558. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js +3 -3
  559. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
  560. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs +10 -10
  561. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs.map +1 -1
  562. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js +10 -10
  563. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js.map +1 -1
  564. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs +2 -2
  565. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +1 -1
  566. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +2 -2
  567. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -1
  568. package/dist/notifications.server.cjs +22 -18
  569. package/dist/notifications.server.js +22 -18
  570. package/dist/orders.server.cjs +10 -10
  571. package/dist/orders.server.js +10 -10
  572. package/dist/organizations.server.cjs +13 -13
  573. package/dist/organizations.server.js +13 -13
  574. package/dist/{ownership.schema-D1p5XSpt.cjs → ownership.schema-CRYdbemm.cjs} +2 -2
  575. package/dist/{ownership.schema-BqH4v5vH.js → ownership.schema-fwwDf_e5.js} +2 -2
  576. package/dist/pages.server.cjs +2 -2
  577. package/dist/pages.server.js +2 -2
  578. package/dist/products.server.cjs +13 -13
  579. package/dist/products.server.js +13 -13
  580. package/dist/{profile.schema-BGAe5VN5.js → profile.schema-CjLOfG7b.js} +2 -2
  581. package/dist/{profile.schema-pidHrksV.cjs → profile.schema-l0Dk4Ptu.cjs} +2 -2
  582. package/dist/rents.server.cjs +2 -2
  583. package/dist/rents.server.js +2 -2
  584. package/dist/reports.server.cjs +2 -2
  585. package/dist/reports.server.js +2 -2
  586. package/dist/{socials.schema-CtpSF9dE.cjs → socials.schema-CqEHax2w.cjs} +2 -2
  587. package/dist/{socials.schema-BOZV82Mp.js → socials.schema-DxnnaBgO.js} +2 -2
  588. package/dist/spots.server.cjs +4 -4
  589. package/dist/spots.server.js +4 -4
  590. package/dist/style.css +75 -76
  591. package/dist/{web-BkaOiiSn.js → web-8cpb2Zat.js} +1 -1
  592. package/dist/{web-CROHFHoW.cjs → web-B0k809Uc.cjs} +1 -1
  593. package/package.json +8 -12
  594. package/src/builder/builder.js +0 -6
  595. package/src/components/Button/Button.vue +0 -1
  596. package/src/components/Calendar/Calendar.vue +2 -2
  597. package/src/components/Chips/Chips.vue +1 -1
  598. package/src/components/Countdown/Countdown.vue +4 -4
  599. package/src/components/EmptyState/EmptyState.vue +1 -1
  600. package/src/components/FieldBig/FieldBig.vue +1 -1
  601. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  602. package/src/components/LocationMarker/LocationMarker.vue +2 -2
  603. package/src/components/Menu/MenuItem.vue +1 -1
  604. package/src/components/Status/Snack.vue +1 -1
  605. package/src/components/Status/Status.vue +1 -1
  606. package/src/components/UploadImage/UploadImage.vue +2 -2
  607. package/src/configurator/components/layouts/layoutConfigurator.vue +1 -1
  608. package/src/modules/STYLES.MD +59 -77
  609. package/src/modules/TASK-CORE-TRANSFER.MD +62 -0
  610. package/src/modules/auth/views/components/pages/EnterPassword.vue +1 -1
  611. package/src/modules/auth/views/components/pages/Profile.vue +3 -3
  612. package/src/modules/auth/views/components/pages/ProfileEdit.vue +1 -1
  613. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  614. package/src/modules/backoffice/components/admin/Users.vue +1 -1
  615. package/src/modules/backoffice/components/pages/Dashboard.vue +3 -3
  616. package/src/modules/backoffice/components/partials/Sidebar.vue +2 -2
  617. package/src/modules/chats/components/sections/ChatWindow.vue +1 -1
  618. package/src/modules/chats/routes/chats.routes.js +6 -4
  619. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  620. package/src/modules/community/components/layouts/Community.vue +2 -2
  621. package/src/modules/community/components/sections/Comment.vue +1 -1
  622. package/src/modules/community/components/sections/Comments.vue +1 -1
  623. package/src/modules/constructor/components/elements/Card.vue +1 -1
  624. package/src/modules/constructor/components/sections/Constructor.vue +2 -2
  625. package/src/modules/constructor/components/sections/Viewer.vue +1 -1
  626. package/src/modules/events/TASKS.MD +0 -0
  627. package/src/modules/events/components/blocks/CardEvent.vue +4 -4
  628. package/src/modules/events/components/pages/Event.vue +3 -3
  629. package/src/modules/events/components/pages/Events.vue +4 -4
  630. package/src/modules/events/components/sections/SelectDate.vue +2 -2
  631. package/src/modules/globals/globals.server.js +14 -1
  632. package/src/modules/globals/views/classes/globals.app.js +8 -4
  633. package/src/modules/globals/views/components/blocks/CardHeader.vue +4 -4
  634. package/src/modules/globals/views/components/blocks/PopupDateSelector.vue +1 -1
  635. package/src/modules/globals/views/components/elements/PhotoStack.vue +4 -4
  636. package/src/modules/globals/views/components/partials/CitySelection.vue +2 -2
  637. package/src/modules/globals/views/components/partials/Footer.centered.vue +6 -6
  638. package/src/modules/globals/views/components/partials/Footer.vue +6 -6
  639. package/src/modules/globals/views/components/partials/Header.vue +3 -3
  640. package/src/modules/globals/views/components/partials/LocationSelection.vue +1 -1
  641. package/src/modules/globals/views/components/partials/Navigation.vue +1 -1
  642. package/src/modules/globals/views/components/sections/SectionPageTitle.vue +2 -2
  643. package/src/modules/globals/views/components/sections/Walkthrough.vue +10 -10
  644. package/src/modules/governance/TASK-TRACKER.MD +192 -0
  645. package/src/modules/governance/controllers/routes/initiatives.routes.js +106 -11
  646. package/src/modules/governance/controllers/routes/milestones.routes.js +111 -0
  647. package/src/modules/governance/controllers/routes/tasks.routes.js +164 -11
  648. package/src/modules/governance/controllers/routes/votes.routes.js +50 -9
  649. package/src/modules/governance/controllers/routes/votings.routes.js +209 -12
  650. package/src/modules/governance/data/mockData.js +654 -0
  651. package/src/modules/governance/governance.server.js +6 -11
  652. package/src/modules/governance/middlewares/initiatives.verifier.js +197 -0
  653. package/src/modules/governance/middlewares/milestones.verifier.js +243 -0
  654. package/src/modules/governance/middlewares/tasks.verifier.js +224 -0
  655. package/src/modules/governance/middlewares/votes.verifier.js +115 -0
  656. package/src/modules/governance/middlewares/votings.verifier.js +237 -0
  657. package/src/modules/governance/models/initiative.model.js +14 -8
  658. package/src/modules/governance/models/task.model.js +13 -1
  659. package/src/modules/governance/models/voting.model.js +68 -2
  660. package/src/modules/governance/reactcode/.bolt/config.json +3 -0
  661. package/src/modules/governance/reactcode/.bolt/prompt +5 -0
  662. package/src/modules/governance/reactcode/eslint.config.js +28 -0
  663. package/src/modules/governance/reactcode/index.html +13 -0
  664. package/src/modules/governance/reactcode/package-lock.json +4229 -0
  665. package/src/modules/governance/reactcode/package.json +36 -0
  666. package/src/modules/governance/reactcode/postcss.config.js +6 -0
  667. package/src/modules/governance/reactcode/src/App.tsx +29 -0
  668. package/src/modules/governance/reactcode/src/components/CreateInitiativeForm.tsx +258 -0
  669. package/src/modules/governance/reactcode/src/components/CreateMilestoneForm.tsx +257 -0
  670. package/src/modules/governance/reactcode/src/components/EmptyState.tsx +29 -0
  671. package/src/modules/governance/reactcode/src/components/InitiativeCard.tsx +59 -0
  672. package/src/modules/governance/reactcode/src/components/LinkedEntityCard.tsx +58 -0
  673. package/src/modules/governance/reactcode/src/components/MilestoneCard.tsx +82 -0
  674. package/src/modules/governance/reactcode/src/components/ProductRepositories.tsx +70 -0
  675. package/src/modules/governance/reactcode/src/components/ProductSummary.tsx +183 -0
  676. package/src/modules/governance/reactcode/src/components/ProductTeam.tsx +100 -0
  677. package/src/modules/governance/reactcode/src/components/ProposeTaskForm.tsx +184 -0
  678. package/src/modules/governance/reactcode/src/components/TaskAssignForm.tsx +74 -0
  679. package/src/modules/governance/reactcode/src/components/TaskCard.tsx +88 -0
  680. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +27 -0
  681. package/src/modules/governance/reactcode/src/components/VoteForm.tsx +96 -0
  682. package/src/modules/governance/reactcode/src/components/VotingCard.tsx +78 -0
  683. package/src/modules/governance/reactcode/src/components/VotingResults.tsx +155 -0
  684. package/src/modules/governance/reactcode/src/data/mockData.ts +1465 -0
  685. package/src/modules/governance/reactcode/src/index.css +3 -0
  686. package/src/modules/governance/reactcode/src/main.tsx +10 -0
  687. package/src/modules/governance/reactcode/src/pages/InitiativeDetailPage.tsx +569 -0
  688. package/src/modules/governance/reactcode/src/pages/InitiativeMilestonesPage.tsx +171 -0
  689. package/src/modules/governance/reactcode/src/pages/InitiativesListPage.tsx +182 -0
  690. package/src/modules/governance/reactcode/src/pages/MilestoneDetailPage.tsx +178 -0
  691. package/src/modules/governance/reactcode/src/pages/RoadmapPage.tsx +256 -0
  692. package/src/modules/governance/reactcode/src/pages/TaskDetailPage.tsx +529 -0
  693. package/src/modules/governance/reactcode/src/pages/VotingDetailPage.tsx +191 -0
  694. package/src/modules/governance/reactcode/src/pages/VotingsListPage.tsx +86 -0
  695. package/src/modules/governance/reactcode/src/vite-env.d.ts +1 -0
  696. package/src/modules/governance/reactcode/tailwind.config.js +8 -0
  697. package/src/modules/governance/reactcode/tsconfig.app.json +24 -0
  698. package/src/modules/governance/reactcode/tsconfig.json +7 -0
  699. package/src/modules/governance/reactcode/tsconfig.node.json +22 -0
  700. package/src/modules/governance/reactcode/vite.config.ts +10 -0
  701. package/src/modules/governance/seed-governance.js +348 -0
  702. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +58 -7
  703. package/src/modules/governance/views/components/blocks/CardMilestoneItem.vue +70 -0
  704. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +58 -7
  705. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +65 -7
  706. package/src/modules/governance/views/components/layouts/Governance.vue +23 -0
  707. package/src/modules/governance/views/components/pages/Governance.vue +44 -0
  708. package/src/modules/governance/views/components/pages/Initiative.vue +413 -8
  709. package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +159 -0
  710. package/src/modules/governance/views/components/pages/Initiatives.vue +164 -6
  711. package/src/modules/governance/views/components/pages/Milestone.vue +170 -0
  712. package/src/modules/governance/views/components/pages/Roadmap.vue +238 -0
  713. package/src/modules/governance/views/components/pages/Task.vue +393 -14
  714. package/src/modules/governance/views/components/pages/Tasks.vue +164 -10
  715. package/src/modules/governance/views/components/pages/Voting.vue +167 -20
  716. package/src/modules/governance/views/components/pages/Votings.vue +86 -9
  717. package/src/modules/governance/views/components/partials/EmptyState.vue +41 -0
  718. package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +73 -0
  719. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +35 -0
  720. package/src/modules/governance/views/components/partials/VoteForm.vue +100 -0
  721. package/src/modules/governance/views/components/partials/VotingResults.vue +127 -0
  722. package/src/modules/governance/views/router/goverance.router.js +52 -1
  723. package/src/modules/governance/views/store/initiatives.js +10 -7
  724. package/src/modules/governance/views/store/tasks.js +10 -7
  725. package/src/modules/governance/views/store/votes.js +10 -7
  726. package/src/modules/governance/views/store/votings.js +9 -6
  727. package/src/modules/inventory/components/forms/AdjustmentForm.vue +1 -1
  728. package/src/modules/landing/components/sections/Examples.vue +1 -1
  729. package/src/modules/landing/components/sections/SectionEarn.vue +2 -2
  730. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  731. package/src/modules/landing/components/sections/SectionFeaturesImages.vue +1 -1
  732. package/src/modules/landing/components/sections/SectionFocus.vue +1 -1
  733. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  734. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  735. package/src/modules/landing/components/sections/SectionHeroVideo.vue +2 -2
  736. package/src/modules/landing/components/sections/SectionJoinUs.vue +1 -1
  737. package/src/modules/landing/components/sections/SectionMobileApp.vue +3 -3
  738. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
  739. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +3 -3
  740. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +1 -1
  741. package/src/modules/music/components/forms/AlbumForm.vue +2 -2
  742. package/src/modules/music/components/forms/ArtistForm.vue +4 -4
  743. package/src/modules/music/components/forms/PlaylistForm.vue +6 -6
  744. package/src/modules/music/components/forms/TrackForm.vue +4 -4
  745. package/src/modules/music/components/pages/Album.vue +8 -8
  746. package/src/modules/music/components/pages/Artist.vue +10 -10
  747. package/src/modules/music/components/pages/MusicLibrary.vue +4 -4
  748. package/src/modules/music/components/pages/Playlist.vue +5 -5
  749. package/src/modules/music/components/pages/Track.vue +9 -9
  750. package/src/modules/music/music.server.js +0 -1
  751. package/src/modules/notifications/components/blocks/NotificationItem.vue +1 -1
  752. package/src/modules/notifications/components/elements/NotificationBadge.vue +1 -1
  753. package/src/modules/notifications/notifications.server.js +26 -20
  754. package/src/modules/orders/components/blocks/CardOrder.vue +7 -7
  755. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +1 -1
  756. package/src/modules/orders/components/blocks/CardOrderUser.vue +3 -3
  757. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +2 -2
  758. package/src/modules/orders/components/elements/PriceTotal.vue +1 -1
  759. package/src/modules/orders/components/pages/Favorites.vue +1 -1
  760. package/src/modules/orders/components/pages/OrderBackoffice.vue +7 -7
  761. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  762. package/src/modules/orders/components/partials/ShopCart.vue +1 -1
  763. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  764. package/src/modules/orders/components/sections/Succes.vue +1 -1
  765. package/src/modules/organizations/components/blocks/CardOrganization.vue +3 -3
  766. package/src/modules/organizations/components/blocks/EmptyState.vue +1 -1
  767. package/src/modules/organizations/components/blocks/Rating.vue +2 -2
  768. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +1 -1
  769. package/src/modules/organizations/components/forms/DepartmentForm.vue +2 -2
  770. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  771. package/src/modules/organizations/components/pages/Department.vue +2 -2
  772. package/src/modules/organizations/components/pages/DepartmentEdit.vue +2 -2
  773. package/src/modules/organizations/components/pages/Organization.new.vue +7 -7
  774. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  775. package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +8 -8
  776. package/src/modules/organizations/components/sections/MembersAdd.vue +1 -1
  777. package/src/modules/products/components/blocks/CardCategory.vue +2 -2
  778. package/src/modules/products/components/blocks/CardPosition.vue +1 -1
  779. package/src/modules/products/components/blocks/CardProduct.vue +3 -3
  780. package/src/modules/products/components/blocks/ProductDiscounts.vue +2 -2
  781. package/src/modules/products/components/elements/Price.vue +4 -4
  782. package/src/modules/products/components/elements/QuantitySelector.vue +2 -2
  783. package/src/modules/products/components/forms/StockAuditForm.vue +1 -1
  784. package/src/modules/products/components/pages/Product.vue +2 -2
  785. package/src/modules/products/components/pages/Products.vue +4 -4
  786. package/src/modules/products/components/sections/EditAttributes.vue +3 -3
  787. package/src/modules/products/components/sections/EditDiscounts.vue +3 -3
  788. package/src/modules/products/components/sections/EditVariants.vue +5 -5
  789. package/src/modules/products/components/sections/FilterProducts.vue +3 -3
  790. package/src/modules/products/components/sections/HeroRecommendation.vue +2 -2
  791. package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
  792. package/src/modules/products/components/sections/ProductsRecommended.vue +1 -1
  793. package/src/modules/products/components/sections/SectionProduct.vue +2 -2
  794. package/src/modules/reports/components/sections/FormReport.vue +2 -2
  795. package/src/modules/spots/components/blocks/CardSpot.vue +5 -5
  796. package/src/modules/spots/components/pages/Spot.vue +2 -2
  797. package/src/modules/spots/components/pages/SpotEdit.vue +3 -3
  798. package/src/modules/wallet/views/components/pages/Wallet.vue +10 -10
  799. package/src/styles/base/all.scss +20 -0
  800. package/src/styles/config.scss +10 -9
  801. package/src/styles/typography.scss +13 -13
  802. package/dist/globals.observer-C_FYclgV.cjs +0 -78
  803. package/dist/globals.observer-MZsqaE6F.js +0 -79
  804. package/dist/main-8f945Ngn.cjs +0 -11
  805. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
  806. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -2
  807. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +0 -1
  808. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +0 -2
  809. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
  810. package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
  811. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  812. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  813. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
  814. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs +0 -2
  815. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.cjs.map +0 -1
  816. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js +0 -2
  817. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue2.js.map +0 -1
  818. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +0 -1
  819. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +0 -1
  820. package/dist/tickets.controller-9zoaVPcx.cjs +0 -444
  821. package/dist/tickets.controller-C8sWVqbB.js +0 -428
  822. package/dist/wallet.server.cjs +0 -528
  823. package/dist/wallet.server.js +0 -511
  824. package/src/builder/modes/ssr.vite.dev.js +0 -180
  825. package/src/builder/ssr/ssr-render-html.vite.js +0 -35
  826. package/src/builder/vite/index.js +0 -13
  827. package/src/builder/vite/vite.config.api.js +0 -52
  828. package/src/builder/vite/vite.config.base.js +0 -110
  829. package/src/builder/vite/vite.config.spa.client.js +0 -81
  830. package/src/builder/vite/vite.config.ssr.client.js +0 -244
  831. package/src/builder/vite/vite.config.ssr.server.js +0 -74
  832. package/src/modules/governance/controllers/factories/initiatives.controller.js +0 -90
  833. package/src/modules/governance/controllers/factories/tasks.controller.js +0 -88
  834. package/src/modules/governance/controllers/factories/votes.controller.js +0 -64
  835. package/src/modules/governance/controllers/factories/votings.controller.js +0 -105
  836. package/src/modules/governance/views/store/projects.js +0 -148
  837. /package/src/modules/governance/{DESCRIPTION.MD → IGNORE-ITS FOR FUTURE-DESCRIPTION.MD} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.vue.js","sources":["../../../../../../../src/modules/backoffice/components/partials/Sidebar.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative o-y-scroll o-x-hidden h-100\">\n <div class=\"br-b h3 h-4r pd-semi br-solid br-black-transp-10\">Backoffice</div>\n <div class=\"pd-semi\">\n <span class=\"pd-thin uppercase t-medium t-transp\">Menu</span>\n <div \n v-for=\"item in menuItems\" \n :key=\"item.name\"\n @click=\"router.push({ name: item.routeName })\" \n class=\"flex pd-thin flex-v-center cursor-pointer\">\n <component \n v-if=\"item.icon\" \n :is=\"item.icon\" \n class=\"i-regular mn-r-thin\" \n :icon=\"true\" \n :fill=\"'rgba(var(--black),0.25)'\"\n /> \n <span class=\"t-medium\">{{ item.title }}</span>\n </div>\n \n <span class=\"pd-thin d-block mn-t-medium uppercase t-medium t-transp\">General</span>\n <div \n v-for=\"item in generalItems\" \n :key=\"item.name\"\n @click=\"router.push({ name: item.routeName })\" \n class=\"flex pd-thin flex-v-center cursor-pointer\">\n <component \n v-if=\"item.icon\" \n :is=\"item.icon\" \n class=\"i-regular mn-r-thin\" \n :icon=\"true\" \n :fill=\"'rgba(var(--black),0.25)'\"\n /> \n <span class=\"t-medium\">{{ item.title }}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script setup=\"props\">\n/////////////////////////////\n// COMPONENT DEPENDENCIES\n/////////////////////////////\nimport { ref, onMounted } from 'vue';\n\n// Mobile Module\nimport SelectMulti from '@martyrs/src/components/SelectMulti/SelectMulti.vue'\n\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'\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 IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'\n/////////////////////////////\n// HELPERS\n/////////////////////////////\nimport { useRoute, useRouter } from 'vue-router'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\n\nconst route = useRoute()\nconst router = useRouter()\n/////////////////////////////\n// CREATED\n/////////////////////////////\nconst props = defineProps({\n favorites: Array,\n});\n\nconst selectedOrganization = ref(null);\nconst publics = ref([]);\n\n// Define menu items\nconst menuItems = [\n {\n name: 'organizations',\n title: 'Organizations',\n routeName: 'Backoffice Organizations',\n icon: IconGroups\n },\n {\n name: 'community',\n title: 'Community',\n routeName: 'Backoffice Community',\n icon: IconCommunity\n },\n {\n name: 'products',\n title: 'Products',\n routeName: 'Products',\n icon: IconProducts\n },\n {\n name: 'inventory',\n title: 'Inventory',\n routeName: 'BackofficeInventoryList',\n icon: IconLeftovers\n },\n {\n name: 'orders',\n title: 'Orders',\n routeName: 'BackofficeOrdersList',\n icon: IconOrders\n },\n {\n name: 'gallery',\n title: 'Gallery',\n routeName: 'Backoffice Gallery',\n icon: IconGallery\n },\n {\n name: 'applications',\n title: 'Applications',\n routeName: 'BackofficeApplications',\n icon: IconEvents\n },\n {\n name: 'events',\n title: 'Events',\n routeName: 'BackofficeEvents Backoffice',\n icon: IconEvents\n }\n];\n\n// Define general items\nconst generalItems = [\n {\n name: 'payments',\n title: 'Payments',\n routeName: 'Payments',\n icon: IconPayments\n },\n {\n name: 'users',\n title: 'Users',\n routeName: 'Users',\n icon: null\n },\n {\n name: 'pages',\n title: 'Pages',\n routeName: 'Backoffice Pages',\n icon: null\n },\n {\n name: 'reports',\n title: 'Reports',\n routeName: 'Backoffice Reports',\n icon: null\n }\n];\n\n/////////////////////////////\n// MOUNTED\n/////////////////////////////\nonMounted(async () => {\n});\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconGroups","IconCommunity","IconProducts","IconLeftovers","IconOrders","IconGallery","IconEvents","IconPayments"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgEc,aAAQ;AACtB,UAAM,SAAS,UAAS;AAQK,QAAI,IAAI;AACrB,QAAI,CAAA,CAAE;AAGtB,UAAM,YAAY;AAAA,MAChB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMA;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMA;AAAAA,MACV;AAAA,IACA;AAGA,UAAM,eAAe;AAAA,MACnB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,IACA;AAKA,cAAU,YAAY;AAAA,IACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Sidebar.vue.js","sources":["../../../../../../../src/modules/backoffice/components/partials/Sidebar.vue"],"sourcesContent":["<template>\n <div class=\"pos-relative o-y-scroll o-x-hidden h-100\">\n <div class=\"br-b h3 h-4r pd-semi br-solid br-black-transp-10\">Backoffice</div>\n <div class=\"pd-semi\">\n <span class=\"pd-thin uppercase t-medium t-transp\">Menu</span>\n <div \n v-for=\"item in menuItems\" \n :key=\"item.name\"\n @click=\"router.push({ name: item.routeName })\" \n class=\"flex pd-thin flex-v-center cursor-pointer\">\n <component \n v-if=\"item.icon\" \n :is=\"item.icon\" \n class=\"i-medium mn-r-thin\" \n :icon=\"true\" \n :fill=\"'rgba(var(--black),0.25)'\"\n /> \n <span class=\"t-medium\">{{ item.title }}</span>\n </div>\n \n <span class=\"pd-thin d-block mn-t-medium uppercase t-medium t-transp\">General</span>\n <div \n v-for=\"item in generalItems\" \n :key=\"item.name\"\n @click=\"router.push({ name: item.routeName })\" \n class=\"flex pd-thin flex-v-center cursor-pointer\">\n <component \n v-if=\"item.icon\" \n :is=\"item.icon\" \n class=\"i-medium mn-r-thin\" \n :icon=\"true\" \n :fill=\"'rgba(var(--black),0.25)'\"\n /> \n <span class=\"t-medium\">{{ item.title }}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script setup=\"props\">\n/////////////////////////////\n// COMPONENT DEPENDENCIES\n/////////////////////////////\nimport { ref, onMounted } from 'vue';\n\n// Mobile Module\nimport SelectMulti from '@martyrs/src/components/SelectMulti/SelectMulti.vue'\n\nimport IconProducts from '@martyrs/src/modules/icons/entities/IconProducts.vue'\nimport IconPayments from '@martyrs/src/modules/icons/entities/IconPayments.vue'\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 IconGallery from '@martyrs/src/modules/icons/entities/IconGallery.vue'\nimport IconOrders from '@martyrs/src/modules/icons/entities/IconOrders.vue'\nimport IconLeftovers from '@martyrs/src/modules/icons/entities/IconLeftovers.vue'\n/////////////////////////////\n// HELPERS\n/////////////////////////////\nimport { useRoute, useRouter } from 'vue-router'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\n\nconst route = useRoute()\nconst router = useRouter()\n/////////////////////////////\n// CREATED\n/////////////////////////////\nconst props = defineProps({\n favorites: Array,\n});\n\nconst selectedOrganization = ref(null);\nconst publics = ref([]);\n\n// Define menu items\nconst menuItems = [\n {\n name: 'organizations',\n title: 'Organizations',\n routeName: 'Backoffice Organizations',\n icon: IconGroups\n },\n {\n name: 'community',\n title: 'Community',\n routeName: 'Backoffice Community',\n icon: IconCommunity\n },\n {\n name: 'products',\n title: 'Products',\n routeName: 'Products',\n icon: IconProducts\n },\n {\n name: 'inventory',\n title: 'Inventory',\n routeName: 'BackofficeInventoryList',\n icon: IconLeftovers\n },\n {\n name: 'orders',\n title: 'Orders',\n routeName: 'BackofficeOrdersList',\n icon: IconOrders\n },\n {\n name: 'gallery',\n title: 'Gallery',\n routeName: 'Backoffice Gallery',\n icon: IconGallery\n },\n {\n name: 'applications',\n title: 'Applications',\n routeName: 'BackofficeApplications',\n icon: IconEvents\n },\n {\n name: 'events',\n title: 'Events',\n routeName: 'BackofficeEvents Backoffice',\n icon: IconEvents\n }\n];\n\n// Define general items\nconst generalItems = [\n {\n name: 'payments',\n title: 'Payments',\n routeName: 'Payments',\n icon: IconPayments\n },\n {\n name: 'users',\n title: 'Users',\n routeName: 'Users',\n icon: null\n },\n {\n name: 'pages',\n title: 'Pages',\n routeName: 'Backoffice Pages',\n icon: null\n },\n {\n name: 'reports',\n title: 'Reports',\n routeName: 'Backoffice Reports',\n icon: null\n }\n];\n\n/////////////////////////////\n// MOUNTED\n/////////////////////////////\nonMounted(async () => {\n});\n</script>\n\n<style lang=\"scss\">\n</style>"],"names":["IconGroups","IconCommunity","IconProducts","IconLeftovers","IconOrders","IconGallery","IconEvents","IconPayments"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgEc,aAAQ;AACtB,UAAM,SAAS,UAAS;AAQK,QAAI,IAAI;AACrB,QAAI,CAAA,CAAE;AAGtB,UAAM,YAAY;AAAA,MAChB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMA;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMA;AAAAA,MACV;AAAA,IACA;AAGA,UAAM,eAAe;AAAA,MACnB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAMC;AAAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MACV;AAAA,IACA;AAKA,cAAU,YAAY;AAAA,IACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWindow.vue.cjs","sources":["../../../../../../../src/modules/chats/components/sections/ChatWindow.vue"],"sourcesContent":["<template>\n <div class=\"bg-white radius-semi bg-white o-hidden pos-relative\">\n <div ref=\"allMessages\" class=\"chat-messages o-scroll h-max-20r\">\n <div class=\"pos-relative h-min-20r flex-justify-end flex flex-column br-b br-solid br-black-transp-10\">\n <transition name=\"scaleIn\" mode=\"out-in\">\n <div v-if=\"messages.length < 1\" class=\"flex-center pd-small t-center w-100 h-100 flex-column flex pos-absolute\">\n <PlaceholderChat class=\"radius-100 mn-b-thin\"/>\n <h4 class='mn-b-thin'>Here you can view your chat history</h4>\n <p>Feel free to ask if you have any questions.</p>\n </div>\n\n <TransitionGroup v-else name=\"list\" tag=\"ul\" class=\"w-100 o-hidden\" @after-enter=\"scrollToBottom\">\n <ChatMessage\n v-for=\"message in messages\"\n :key=\"message._id\"\n :message=\"message\"\n />\n </TransitionGroup>\n </transition>\n </div>\n </div>\n\n <div class=\"flex-nowrap flex-v-center flex bg-white w-100 radius-big pd-small\">\n <!-- <IconAdd class=\"mn-r-thin t-transp i-regular\" /> -->\n <input class=\"\" placeholder=\"Enter your message\" type=\"text\" v-model=\"newMessage\" @keyup.enter=\"sendMessage\" />\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted, onUnmounted, nextTick } from 'vue';\n\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport PlaceholderChat from '@martyrs/src/modules/icons/placeholders/PlaceholderChat.vue'\n\nimport ChatMessage from '../blocks/ChatMessage.vue';\nimport chatStore from '../../store/chat.store.js';\n\nconst newMessage = ref('');\nconst allMessages = ref(null);\nconst visibleMessageIds = ref(new Set());\nlet messageObserver = null;\n\n// Вычисляемые свойства\nconst messages = computed(() => chatStore.state.messages);\n\n// Функция прокрутки вниз\nconst scrollToBottom = () => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n};\n\n// Функция для отправки сообщения\nconst sendMessage = async () => {\n if (newMessage.value) {\n const message = {\n text: newMessage.value,\n module: 'chat',\n username: chatStore.state.username,\n chatId: chatStore.state.currentChatId\n };\n\n chatStore.methods.addMessage(message);\n newMessage.value = '';\n\n // Ждем, пока все анимации и рендеринг завершатся\n await nextTick();\n await new Promise(resolve => setTimeout(resolve, 100)); // Небольшая задержка для анимаций\n scrollToBottom();\n }\n};\n\n// Отслеживание видимых сообщений\nconst observeMessages = () => {\n console.log('[CHAT] Setting up message observer');\n \n // Очищаем предыдущий observer если есть\n if (messageObserver) {\n messageObserver.disconnect();\n }\n \n messageObserver = new IntersectionObserver((entries) => {\n console.log('[CHAT] Observer triggered for', entries.length, 'entries');\n entries.forEach(entry => {\n const messageId = entry.target.dataset.messageId;\n if (entry.isIntersecting) {\n visibleMessageIds.value.add(messageId);\n } else {\n visibleMessageIds.value.delete(messageId);\n }\n });\n \n // Отправляем прочтение видимых сообщений\n if (visibleMessageIds.value.size > 0) {\n const unreadVisibleMessages = messages.value\n .filter(msg => {\n // Проверяем, что сообщение видимо\n if (!visibleMessageIds.value.has(msg._id)) return false;\n \n // Проверяем, что сообщение не от текущего пользователя\n console.log('[CHAT] Checking if own message:', {\n msgUserId: msg.userId,\n msgAnonymousId: msg.anonymousId,\n currentUserId: chatStore.state.userId,\n currentAnonymousId: chatStore.state.anonymousId,\n isEqual: msg.userId === chatStore.state.userId,\n msgUserIdType: typeof msg.userId,\n currentUserIdType: typeof chatStore.state.userId\n });\n \n // Для аутентифицированных пользователей\n if (msg.userId && chatStore.state.userId && msg.userId === chatStore.state.userId) return false;\n \n // Для анонимных пользователей\n if (!msg.userId && !chatStore.state.userId && msg.anonymousId === chatStore.state.anonymousId) return false;\n \n // Проверяем, что сообщение еще не прочитано текущим пользователем\n // Для анонимных пользователей не отмечаем сообщения как прочитанные\n if (!chatStore.state.userId) return false;\n if (msg.readBy?.some(r => r.userId === chatStore.state.userId)) return false;\n \n console.log('[CHAT] Message can be marked as read:', {\n msgId: msg._id,\n msgUserId: msg.userId,\n currentUserId: chatStore.state.userId,\n readBy: msg.readBy\n });\n \n return true;\n })\n .map(msg => msg._id);\n \n console.log('[CHAT] Unread visible messages to mark:', unreadVisibleMessages);\n \n if (unreadVisibleMessages.length > 0) {\n console.log('[CHAT] Sending markAsRead for messages:', unreadVisibleMessages);\n chatStore.methods.markMessagesAsRead(unreadVisibleMessages);\n } else {\n console.log('[CHAT] No unread messages to mark');\n }\n }\n }, {\n root: allMessages.value,\n threshold: 0.5\n });\n \n // Наблюдаем за всеми сообщениями\n nextTick(() => {\n const messageElements = allMessages.value?.querySelectorAll('[data-message-id]');\n console.log('[CHAT] Found message elements to observe:', messageElements?.length);\n messageElements?.forEach(el => messageObserver.observe(el));\n });\n};\n\n// Прокрутка вниз при монтировании\nonMounted(() => {\n nextTick(() => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n observeMessages();\n });\n});\n\n// Прокрутка вниз при изменении сообщений\nwatch(messages, () => {\n nextTick(() => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n observeMessages();\n });\n}, { deep: true });\n\n// Очистка observer при размонтировании\nonUnmounted(() => {\n if (messageObserver) {\n messageObserver.disconnect();\n }\n});\n</script>\n\n<style>\n.list-enter-active,\n.list-leave-active {\n transition: all 0.5s ease;\n}\n.list-enter-from,\n.list-leave-to {\n opacity: 0;\n transform: translateX(30px);\n}\n</style>"],"names":["ref","computed","chatStore","nextTick","onMounted","watch","onUnmounted"],"mappings":"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"}
1
+ {"version":3,"file":"ChatWindow.vue.cjs","sources":["../../../../../../../src/modules/chats/components/sections/ChatWindow.vue"],"sourcesContent":["<template>\n <div class=\"bg-white radius-semi bg-white o-hidden pos-relative\">\n <div ref=\"allMessages\" class=\"chat-messages o-scroll h-max-20r\">\n <div class=\"pos-relative h-min-20r flex-justify-end flex flex-column br-b br-solid br-black-transp-10\">\n <transition name=\"scaleIn\" mode=\"out-in\">\n <div v-if=\"messages.length < 1\" class=\"flex-center pd-small t-center w-100 h-100 flex-column flex pos-absolute\">\n <PlaceholderChat class=\"radius-100 mn-b-thin\"/>\n <h4 class='mn-b-thin'>Here you can view your chat history</h4>\n <p>Feel free to ask if you have any questions.</p>\n </div>\n\n <TransitionGroup v-else name=\"list\" tag=\"ul\" class=\"w-100 o-hidden\" @after-enter=\"scrollToBottom\">\n <ChatMessage\n v-for=\"message in messages\"\n :key=\"message._id\"\n :message=\"message\"\n />\n </TransitionGroup>\n </transition>\n </div>\n </div>\n\n <div class=\"flex-nowrap flex-v-center flex bg-white w-100 radius-big pd-small\">\n <!-- <IconAdd class=\"mn-r-thin t-transp i-medium\" /> -->\n <input class=\"\" placeholder=\"Enter your message\" type=\"text\" v-model=\"newMessage\" @keyup.enter=\"sendMessage\" />\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted, onUnmounted, nextTick } from 'vue';\n\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport PlaceholderChat from '@martyrs/src/modules/icons/placeholders/PlaceholderChat.vue'\n\nimport ChatMessage from '../blocks/ChatMessage.vue';\nimport chatStore from '../../store/chat.store.js';\n\nconst newMessage = ref('');\nconst allMessages = ref(null);\nconst visibleMessageIds = ref(new Set());\nlet messageObserver = null;\n\n// Вычисляемые свойства\nconst messages = computed(() => chatStore.state.messages);\n\n// Функция прокрутки вниз\nconst scrollToBottom = () => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n};\n\n// Функция для отправки сообщения\nconst sendMessage = async () => {\n if (newMessage.value) {\n const message = {\n text: newMessage.value,\n module: 'chat',\n username: chatStore.state.username,\n chatId: chatStore.state.currentChatId\n };\n\n chatStore.methods.addMessage(message);\n newMessage.value = '';\n\n // Ждем, пока все анимации и рендеринг завершатся\n await nextTick();\n await new Promise(resolve => setTimeout(resolve, 100)); // Небольшая задержка для анимаций\n scrollToBottom();\n }\n};\n\n// Отслеживание видимых сообщений\nconst observeMessages = () => {\n console.log('[CHAT] Setting up message observer');\n \n // Очищаем предыдущий observer если есть\n if (messageObserver) {\n messageObserver.disconnect();\n }\n \n messageObserver = new IntersectionObserver((entries) => {\n console.log('[CHAT] Observer triggered for', entries.length, 'entries');\n entries.forEach(entry => {\n const messageId = entry.target.dataset.messageId;\n if (entry.isIntersecting) {\n visibleMessageIds.value.add(messageId);\n } else {\n visibleMessageIds.value.delete(messageId);\n }\n });\n \n // Отправляем прочтение видимых сообщений\n if (visibleMessageIds.value.size > 0) {\n const unreadVisibleMessages = messages.value\n .filter(msg => {\n // Проверяем, что сообщение видимо\n if (!visibleMessageIds.value.has(msg._id)) return false;\n \n // Проверяем, что сообщение не от текущего пользователя\n console.log('[CHAT] Checking if own message:', {\n msgUserId: msg.userId,\n msgAnonymousId: msg.anonymousId,\n currentUserId: chatStore.state.userId,\n currentAnonymousId: chatStore.state.anonymousId,\n isEqual: msg.userId === chatStore.state.userId,\n msgUserIdType: typeof msg.userId,\n currentUserIdType: typeof chatStore.state.userId\n });\n \n // Для аутентифицированных пользователей\n if (msg.userId && chatStore.state.userId && msg.userId === chatStore.state.userId) return false;\n \n // Для анонимных пользователей\n if (!msg.userId && !chatStore.state.userId && msg.anonymousId === chatStore.state.anonymousId) return false;\n \n // Проверяем, что сообщение еще не прочитано текущим пользователем\n // Для анонимных пользователей не отмечаем сообщения как прочитанные\n if (!chatStore.state.userId) return false;\n if (msg.readBy?.some(r => r.userId === chatStore.state.userId)) return false;\n \n console.log('[CHAT] Message can be marked as read:', {\n msgId: msg._id,\n msgUserId: msg.userId,\n currentUserId: chatStore.state.userId,\n readBy: msg.readBy\n });\n \n return true;\n })\n .map(msg => msg._id);\n \n console.log('[CHAT] Unread visible messages to mark:', unreadVisibleMessages);\n \n if (unreadVisibleMessages.length > 0) {\n console.log('[CHAT] Sending markAsRead for messages:', unreadVisibleMessages);\n chatStore.methods.markMessagesAsRead(unreadVisibleMessages);\n } else {\n console.log('[CHAT] No unread messages to mark');\n }\n }\n }, {\n root: allMessages.value,\n threshold: 0.5\n });\n \n // Наблюдаем за всеми сообщениями\n nextTick(() => {\n const messageElements = allMessages.value?.querySelectorAll('[data-message-id]');\n console.log('[CHAT] Found message elements to observe:', messageElements?.length);\n messageElements?.forEach(el => messageObserver.observe(el));\n });\n};\n\n// Прокрутка вниз при монтировании\nonMounted(() => {\n nextTick(() => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n observeMessages();\n });\n});\n\n// Прокрутка вниз при изменении сообщений\nwatch(messages, () => {\n nextTick(() => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n observeMessages();\n });\n}, { deep: true });\n\n// Очистка observer при размонтировании\nonUnmounted(() => {\n if (messageObserver) {\n messageObserver.disconnect();\n }\n});\n</script>\n\n<style>\n.list-enter-active,\n.list-leave-active {\n transition: all 0.5s ease;\n}\n.list-enter-from,\n.list-leave-to {\n opacity: 0;\n transform: translateX(30px);\n}\n</style>"],"names":["ref","computed","chatStore","nextTick","onMounted","watch","onUnmounted"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWindow.vue.js","sources":["../../../../../../../src/modules/chats/components/sections/ChatWindow.vue"],"sourcesContent":["<template>\n <div class=\"bg-white radius-semi bg-white o-hidden pos-relative\">\n <div ref=\"allMessages\" class=\"chat-messages o-scroll h-max-20r\">\n <div class=\"pos-relative h-min-20r flex-justify-end flex flex-column br-b br-solid br-black-transp-10\">\n <transition name=\"scaleIn\" mode=\"out-in\">\n <div v-if=\"messages.length < 1\" class=\"flex-center pd-small t-center w-100 h-100 flex-column flex pos-absolute\">\n <PlaceholderChat class=\"radius-100 mn-b-thin\"/>\n <h4 class='mn-b-thin'>Here you can view your chat history</h4>\n <p>Feel free to ask if you have any questions.</p>\n </div>\n\n <TransitionGroup v-else name=\"list\" tag=\"ul\" class=\"w-100 o-hidden\" @after-enter=\"scrollToBottom\">\n <ChatMessage\n v-for=\"message in messages\"\n :key=\"message._id\"\n :message=\"message\"\n />\n </TransitionGroup>\n </transition>\n </div>\n </div>\n\n <div class=\"flex-nowrap flex-v-center flex bg-white w-100 radius-big pd-small\">\n <!-- <IconAdd class=\"mn-r-thin t-transp i-regular\" /> -->\n <input class=\"\" placeholder=\"Enter your message\" type=\"text\" v-model=\"newMessage\" @keyup.enter=\"sendMessage\" />\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted, onUnmounted, nextTick } from 'vue';\n\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport PlaceholderChat from '@martyrs/src/modules/icons/placeholders/PlaceholderChat.vue'\n\nimport ChatMessage from '../blocks/ChatMessage.vue';\nimport chatStore from '../../store/chat.store.js';\n\nconst newMessage = ref('');\nconst allMessages = ref(null);\nconst visibleMessageIds = ref(new Set());\nlet messageObserver = null;\n\n// Вычисляемые свойства\nconst messages = computed(() => chatStore.state.messages);\n\n// Функция прокрутки вниз\nconst scrollToBottom = () => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n};\n\n// Функция для отправки сообщения\nconst sendMessage = async () => {\n if (newMessage.value) {\n const message = {\n text: newMessage.value,\n module: 'chat',\n username: chatStore.state.username,\n chatId: chatStore.state.currentChatId\n };\n\n chatStore.methods.addMessage(message);\n newMessage.value = '';\n\n // Ждем, пока все анимации и рендеринг завершатся\n await nextTick();\n await new Promise(resolve => setTimeout(resolve, 100)); // Небольшая задержка для анимаций\n scrollToBottom();\n }\n};\n\n// Отслеживание видимых сообщений\nconst observeMessages = () => {\n console.log('[CHAT] Setting up message observer');\n \n // Очищаем предыдущий observer если есть\n if (messageObserver) {\n messageObserver.disconnect();\n }\n \n messageObserver = new IntersectionObserver((entries) => {\n console.log('[CHAT] Observer triggered for', entries.length, 'entries');\n entries.forEach(entry => {\n const messageId = entry.target.dataset.messageId;\n if (entry.isIntersecting) {\n visibleMessageIds.value.add(messageId);\n } else {\n visibleMessageIds.value.delete(messageId);\n }\n });\n \n // Отправляем прочтение видимых сообщений\n if (visibleMessageIds.value.size > 0) {\n const unreadVisibleMessages = messages.value\n .filter(msg => {\n // Проверяем, что сообщение видимо\n if (!visibleMessageIds.value.has(msg._id)) return false;\n \n // Проверяем, что сообщение не от текущего пользователя\n console.log('[CHAT] Checking if own message:', {\n msgUserId: msg.userId,\n msgAnonymousId: msg.anonymousId,\n currentUserId: chatStore.state.userId,\n currentAnonymousId: chatStore.state.anonymousId,\n isEqual: msg.userId === chatStore.state.userId,\n msgUserIdType: typeof msg.userId,\n currentUserIdType: typeof chatStore.state.userId\n });\n \n // Для аутентифицированных пользователей\n if (msg.userId && chatStore.state.userId && msg.userId === chatStore.state.userId) return false;\n \n // Для анонимных пользователей\n if (!msg.userId && !chatStore.state.userId && msg.anonymousId === chatStore.state.anonymousId) return false;\n \n // Проверяем, что сообщение еще не прочитано текущим пользователем\n // Для анонимных пользователей не отмечаем сообщения как прочитанные\n if (!chatStore.state.userId) return false;\n if (msg.readBy?.some(r => r.userId === chatStore.state.userId)) return false;\n \n console.log('[CHAT] Message can be marked as read:', {\n msgId: msg._id,\n msgUserId: msg.userId,\n currentUserId: chatStore.state.userId,\n readBy: msg.readBy\n });\n \n return true;\n })\n .map(msg => msg._id);\n \n console.log('[CHAT] Unread visible messages to mark:', unreadVisibleMessages);\n \n if (unreadVisibleMessages.length > 0) {\n console.log('[CHAT] Sending markAsRead for messages:', unreadVisibleMessages);\n chatStore.methods.markMessagesAsRead(unreadVisibleMessages);\n } else {\n console.log('[CHAT] No unread messages to mark');\n }\n }\n }, {\n root: allMessages.value,\n threshold: 0.5\n });\n \n // Наблюдаем за всеми сообщениями\n nextTick(() => {\n const messageElements = allMessages.value?.querySelectorAll('[data-message-id]');\n console.log('[CHAT] Found message elements to observe:', messageElements?.length);\n messageElements?.forEach(el => messageObserver.observe(el));\n });\n};\n\n// Прокрутка вниз при монтировании\nonMounted(() => {\n nextTick(() => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n observeMessages();\n });\n});\n\n// Прокрутка вниз при изменении сообщений\nwatch(messages, () => {\n nextTick(() => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n observeMessages();\n });\n}, { deep: true });\n\n// Очистка observer при размонтировании\nonUnmounted(() => {\n if (messageObserver) {\n messageObserver.disconnect();\n }\n});\n</script>\n\n<style>\n.list-enter-active,\n.list-leave-active {\n transition: all 0.5s ease;\n}\n.list-enter-from,\n.list-leave-to {\n opacity: 0;\n transform: translateX(30px);\n}\n</style>"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatWindow.vue.js","sources":["../../../../../../../src/modules/chats/components/sections/ChatWindow.vue"],"sourcesContent":["<template>\n <div class=\"bg-white radius-semi bg-white o-hidden pos-relative\">\n <div ref=\"allMessages\" class=\"chat-messages o-scroll h-max-20r\">\n <div class=\"pos-relative h-min-20r flex-justify-end flex flex-column br-b br-solid br-black-transp-10\">\n <transition name=\"scaleIn\" mode=\"out-in\">\n <div v-if=\"messages.length < 1\" class=\"flex-center pd-small t-center w-100 h-100 flex-column flex pos-absolute\">\n <PlaceholderChat class=\"radius-100 mn-b-thin\"/>\n <h4 class='mn-b-thin'>Here you can view your chat history</h4>\n <p>Feel free to ask if you have any questions.</p>\n </div>\n\n <TransitionGroup v-else name=\"list\" tag=\"ul\" class=\"w-100 o-hidden\" @after-enter=\"scrollToBottom\">\n <ChatMessage\n v-for=\"message in messages\"\n :key=\"message._id\"\n :message=\"message\"\n />\n </TransitionGroup>\n </transition>\n </div>\n </div>\n\n <div class=\"flex-nowrap flex-v-center flex bg-white w-100 radius-big pd-small\">\n <!-- <IconAdd class=\"mn-r-thin t-transp i-medium\" /> -->\n <input class=\"\" placeholder=\"Enter your message\" type=\"text\" v-model=\"newMessage\" @keyup.enter=\"sendMessage\" />\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted, onUnmounted, nextTick } from 'vue';\n\nimport IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue'\nimport PlaceholderChat from '@martyrs/src/modules/icons/placeholders/PlaceholderChat.vue'\n\nimport ChatMessage from '../blocks/ChatMessage.vue';\nimport chatStore from '../../store/chat.store.js';\n\nconst newMessage = ref('');\nconst allMessages = ref(null);\nconst visibleMessageIds = ref(new Set());\nlet messageObserver = null;\n\n// Вычисляемые свойства\nconst messages = computed(() => chatStore.state.messages);\n\n// Функция прокрутки вниз\nconst scrollToBottom = () => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n};\n\n// Функция для отправки сообщения\nconst sendMessage = async () => {\n if (newMessage.value) {\n const message = {\n text: newMessage.value,\n module: 'chat',\n username: chatStore.state.username,\n chatId: chatStore.state.currentChatId\n };\n\n chatStore.methods.addMessage(message);\n newMessage.value = '';\n\n // Ждем, пока все анимации и рендеринг завершатся\n await nextTick();\n await new Promise(resolve => setTimeout(resolve, 100)); // Небольшая задержка для анимаций\n scrollToBottom();\n }\n};\n\n// Отслеживание видимых сообщений\nconst observeMessages = () => {\n console.log('[CHAT] Setting up message observer');\n \n // Очищаем предыдущий observer если есть\n if (messageObserver) {\n messageObserver.disconnect();\n }\n \n messageObserver = new IntersectionObserver((entries) => {\n console.log('[CHAT] Observer triggered for', entries.length, 'entries');\n entries.forEach(entry => {\n const messageId = entry.target.dataset.messageId;\n if (entry.isIntersecting) {\n visibleMessageIds.value.add(messageId);\n } else {\n visibleMessageIds.value.delete(messageId);\n }\n });\n \n // Отправляем прочтение видимых сообщений\n if (visibleMessageIds.value.size > 0) {\n const unreadVisibleMessages = messages.value\n .filter(msg => {\n // Проверяем, что сообщение видимо\n if (!visibleMessageIds.value.has(msg._id)) return false;\n \n // Проверяем, что сообщение не от текущего пользователя\n console.log('[CHAT] Checking if own message:', {\n msgUserId: msg.userId,\n msgAnonymousId: msg.anonymousId,\n currentUserId: chatStore.state.userId,\n currentAnonymousId: chatStore.state.anonymousId,\n isEqual: msg.userId === chatStore.state.userId,\n msgUserIdType: typeof msg.userId,\n currentUserIdType: typeof chatStore.state.userId\n });\n \n // Для аутентифицированных пользователей\n if (msg.userId && chatStore.state.userId && msg.userId === chatStore.state.userId) return false;\n \n // Для анонимных пользователей\n if (!msg.userId && !chatStore.state.userId && msg.anonymousId === chatStore.state.anonymousId) return false;\n \n // Проверяем, что сообщение еще не прочитано текущим пользователем\n // Для анонимных пользователей не отмечаем сообщения как прочитанные\n if (!chatStore.state.userId) return false;\n if (msg.readBy?.some(r => r.userId === chatStore.state.userId)) return false;\n \n console.log('[CHAT] Message can be marked as read:', {\n msgId: msg._id,\n msgUserId: msg.userId,\n currentUserId: chatStore.state.userId,\n readBy: msg.readBy\n });\n \n return true;\n })\n .map(msg => msg._id);\n \n console.log('[CHAT] Unread visible messages to mark:', unreadVisibleMessages);\n \n if (unreadVisibleMessages.length > 0) {\n console.log('[CHAT] Sending markAsRead for messages:', unreadVisibleMessages);\n chatStore.methods.markMessagesAsRead(unreadVisibleMessages);\n } else {\n console.log('[CHAT] No unread messages to mark');\n }\n }\n }, {\n root: allMessages.value,\n threshold: 0.5\n });\n \n // Наблюдаем за всеми сообщениями\n nextTick(() => {\n const messageElements = allMessages.value?.querySelectorAll('[data-message-id]');\n console.log('[CHAT] Found message elements to observe:', messageElements?.length);\n messageElements?.forEach(el => messageObserver.observe(el));\n });\n};\n\n// Прокрутка вниз при монтировании\nonMounted(() => {\n nextTick(() => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n observeMessages();\n });\n});\n\n// Прокрутка вниз при изменении сообщений\nwatch(messages, () => {\n nextTick(() => {\n if (allMessages.value) {\n allMessages.value.scrollTop = allMessages.value.scrollHeight;\n }\n observeMessages();\n });\n}, { deep: true });\n\n// Очистка observer при размонтировании\nonUnmounted(() => {\n if (messageObserver) {\n messageObserver.disconnect();\n }\n});\n</script>\n\n<style>\n.list-enter-active,\n.list-leave-active {\n transition: all 0.5s ease;\n}\n.list-enter-from,\n.list-leave-to {\n opacity: 0;\n transform: translateX(30px);\n}\n</style>"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ const _hoisted_4 = {
18
18
  };
19
19
  const _hoisted_5 = {
20
20
  key: 1,
21
- class: "mn-b-medium t-transp p-semi"
21
+ class: "mn-b-medium t-transp p-medium"
22
22
  };
23
23
  const _hoisted_6 = {
24
24
  key: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"CardBlogpost.vue.cjs","sources":["../../../../../../../src/modules/community/components/blocks/CardBlogpost.vue"],"sourcesContent":["<template>\n\t<article \n\t\tclass=\"pos-relative flex-column flex o-hidden\"\n\t>\n\t\t<CardHeader \n\t :class=\"{\n\t \t'mn-b-medium pd-medium': type !== 'short',\n\t \t'flex-child-order-last flex-child mn-l-small': type === 'short',\n\t }\"\n\t :entity=\"blogpost\"\n\t :entityType=\"'blogpost'\"\n\t :user=\"user\"\n\t :owner=\"blogpost.owner\" \n \t:creator=\"blogpost.creator\"\n \t:date=\"blogpost.createdAt\"\n \t:actions=\"user && user === blogpost.creator.target._id ? [\n { to: `/community/posts/${blogpost.url}/edit`, label: 'Edit' }\n ]: null\"\n\t\t/>\n\n\t\n\t\t<section\n\t\t\tclass=\"pd-t-zero pd-b-zero pd-medium\"\n\t\t>\n\t\t\t\n\t\t\t<div v-if=\"type !== 'blogpostPage'\" class=\"cursor-pointer mn-b-medium flex-nowrap flex w-100\">\n\n\t\t\t\t<Text \n\t\t\t\t\tv-if=\"!hideTitle\"\n\t\t\t\t \t:text=\"blogpost.name || ''\" \n\t\t\t\t \t:maxLen=\"80\" \n\t\t\t\t \tclass=\"h3 d-block\"\n\t\t\t\t \t@click=\"router.push(`/community/posts/${blogpost.url}`)\"\n\t\t\t\t/>\n\n\t\t\t\t<div \n\t\t\t\t\tv-if=\"blogpost.status === 'draft'\" \n\t\t\t\t\tclass=\"pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-l-thin w-min bg-second radius-extra\"\n\t\t\t\t>\n\t\t\t\t\t{{blogpost.status}}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t<p \n\t\t\t\tv-if=\"firstText && firstText.content && type !== 'blogpostPage' && !hideDescription\" \n\t\t\t\tclass='mn-b-medium t-transp p-semi'\n\t\t\t>\n\t\t\t\t{{firstText.content.slice(0,120)}}...\n\t\t\t</p>\n\n\t\t\t<h3 \n\t\t\t\tv-if=\"type === 'blogpostPage' && !hideTitle\" \n\t\t\t\tclass=\"mn-b-medium h2\"\n\t\t\t>\n\t\t\t\t{{blogpost.name}}\n\t\t\t</h3>\n\n\t\t\t<slot></slot>\n\n\t\t\t<!-- <Chips \n \tv-if=\"type !== 'short' && blogpost.tags?.length > 0\" \n \t:chips=\"blogpost.tags\"\n \t/> -->\n\n\t\t</section>\n\n\t\t\t<!-- <Image :prop=\"{content:firstImage.content}\" class=\"h-100\"/> -->\n\n\t\t<template\n\t\t\tv-if=\"firstImage && firstImage.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<img loading=\"lazy\" \n\t\t\t\t:src=\"(FILE_SERVER_URL || '') + firstImage.content\" \n\t\t\t\talt=\"Blog post image\" \n\t\t\t\tclass=\"mn-b-medium object-fit-cover w-100 h-min-10r h-100\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template\n\t\t\tv-if=\"!firstImage?.content && firstVideo && firstVideo.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<!-- <div class=\"flex-center flex\"> -->\n\t <video controls class=\"mn-b-medium object-fit-fit bg-black w-100 h-max-20r\">\n\t <source :src=\"firstVideo.content\" type=\"video/mp4\">\n\t Your browser does not support the video tag.\n\t </video>\n\t <!-- </div> -->\n\t\t</template>\n\n\t\t\n\t\t<FooterBlogpost \n\t\t\tclass=\"pd-t-zero pd-medium\" \n\t\t\t:blogpost=\"blogpost\" :user=\"user\"\n\t\t/>\n\t\n\t</article>\n\n</template>\n\n\n<script setup=\"props\">\n\timport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\timport FooterBlogpost from '@martyrs/src/modules/community/components/blocks/FooterBlogpost.vue'\t\n\n\timport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n\timport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\n\timport { computed } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\tconst router = useRouter()\n\n\tconst props = defineProps({\n\t\tblogpost: {\n\t\t\ttype: Object,\n\t\t},\n\t\tuser: {\n\t\t\ttype: String,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t},\n\t\thideDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thideTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t})\n\n const firstImage = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return props.blogpost.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":["useRouter","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHC,UAAM,SAASA,UAAAA,UAAS;AAExB,UAAM,QAAQ;AAoBb,UAAM,aAAaC,IAAAA,SAAS,MAAM;AACjC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,aAAa;AAAA,IAC1E,CAAC;AAED,UAAM,aAAaA,IAAAA,SAAS,MAAM;AAChC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpE,CAAC;AAED,UAAM,YAAYA,IAAAA,SAAS,MAAM;AAC/B,aAAO,MAAM,SAAS,QAAQ;AAAA,QAAK,WACjC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA,MAClD;AAAA,IACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardBlogpost.vue.cjs","sources":["../../../../../../../src/modules/community/components/blocks/CardBlogpost.vue"],"sourcesContent":["<template>\n\t<article \n\t\tclass=\"pos-relative flex-column flex o-hidden\"\n\t>\n\t\t<CardHeader \n\t :class=\"{\n\t \t'mn-b-medium pd-medium': type !== 'short',\n\t \t'flex-child-order-last flex-child mn-l-small': type === 'short',\n\t }\"\n\t :entity=\"blogpost\"\n\t :entityType=\"'blogpost'\"\n\t :user=\"user\"\n\t :owner=\"blogpost.owner\" \n \t:creator=\"blogpost.creator\"\n \t:date=\"blogpost.createdAt\"\n \t:actions=\"user && user === blogpost.creator.target._id ? [\n { to: `/community/posts/${blogpost.url}/edit`, label: 'Edit' }\n ]: null\"\n\t\t/>\n\n\t\n\t\t<section\n\t\t\tclass=\"pd-t-zero pd-b-zero pd-medium\"\n\t\t>\n\t\t\t\n\t\t\t<div v-if=\"type !== 'blogpostPage'\" class=\"cursor-pointer mn-b-medium flex-nowrap flex w-100\">\n\n\t\t\t\t<Text \n\t\t\t\t\tv-if=\"!hideTitle\"\n\t\t\t\t \t:text=\"blogpost.name || ''\" \n\t\t\t\t \t:maxLen=\"80\" \n\t\t\t\t \tclass=\"h3 d-block\"\n\t\t\t\t \t@click=\"router.push(`/community/posts/${blogpost.url}`)\"\n\t\t\t\t/>\n\n\t\t\t\t<div \n\t\t\t\t\tv-if=\"blogpost.status === 'draft'\" \n\t\t\t\t\tclass=\"pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-l-thin w-min bg-second radius-extra\"\n\t\t\t\t>\n\t\t\t\t\t{{blogpost.status}}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t<p \n\t\t\t\tv-if=\"firstText && firstText.content && type !== 'blogpostPage' && !hideDescription\" \n\t\t\t\tclass='mn-b-medium t-transp p-medium'\n\t\t\t>\n\t\t\t\t{{firstText.content.slice(0,120)}}...\n\t\t\t</p>\n\n\t\t\t<h3 \n\t\t\t\tv-if=\"type === 'blogpostPage' && !hideTitle\" \n\t\t\t\tclass=\"mn-b-medium h2\"\n\t\t\t>\n\t\t\t\t{{blogpost.name}}\n\t\t\t</h3>\n\n\t\t\t<slot></slot>\n\n\t\t\t<!-- <Chips \n \tv-if=\"type !== 'short' && blogpost.tags?.length > 0\" \n \t:chips=\"blogpost.tags\"\n \t/> -->\n\n\t\t</section>\n\n\t\t\t<!-- <Image :prop=\"{content:firstImage.content}\" class=\"h-100\"/> -->\n\n\t\t<template\n\t\t\tv-if=\"firstImage && firstImage.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<img loading=\"lazy\" \n\t\t\t\t:src=\"(FILE_SERVER_URL || '') + firstImage.content\" \n\t\t\t\talt=\"Blog post image\" \n\t\t\t\tclass=\"mn-b-medium object-fit-cover w-100 h-min-10r h-100\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template\n\t\t\tv-if=\"!firstImage?.content && firstVideo && firstVideo.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<!-- <div class=\"flex-center flex\"> -->\n\t <video controls class=\"mn-b-medium object-fit-fit bg-black w-100 h-max-20r\">\n\t <source :src=\"firstVideo.content\" type=\"video/mp4\">\n\t Your browser does not support the video tag.\n\t </video>\n\t <!-- </div> -->\n\t\t</template>\n\n\t\t\n\t\t<FooterBlogpost \n\t\t\tclass=\"pd-t-zero pd-medium\" \n\t\t\t:blogpost=\"blogpost\" :user=\"user\"\n\t\t/>\n\t\n\t</article>\n\n</template>\n\n\n<script setup=\"props\">\n\timport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\timport FooterBlogpost from '@martyrs/src/modules/community/components/blocks/FooterBlogpost.vue'\t\n\n\timport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n\timport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\n\timport { computed } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\tconst router = useRouter()\n\n\tconst props = defineProps({\n\t\tblogpost: {\n\t\t\ttype: Object,\n\t\t},\n\t\tuser: {\n\t\t\ttype: String,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t},\n\t\thideDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thideTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t})\n\n const firstImage = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return props.blogpost.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":["useRouter","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHC,UAAM,SAASA,UAAAA,UAAS;AAExB,UAAM,QAAQ;AAoBb,UAAM,aAAaC,IAAAA,SAAS,MAAM;AACjC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,aAAa;AAAA,IAC1E,CAAC;AAED,UAAM,aAAaA,IAAAA,SAAS,MAAM;AAChC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpE,CAAC;AAED,UAAM,YAAYA,IAAAA,SAAS,MAAM;AAC/B,aAAO,MAAM,SAAS,QAAQ;AAAA,QAAK,WACjC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA,MAClD;AAAA,IACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -16,7 +16,7 @@ const _hoisted_4 = {
16
16
  };
17
17
  const _hoisted_5 = {
18
18
  key: 1,
19
- class: "mn-b-medium t-transp p-semi"
19
+ class: "mn-b-medium t-transp p-medium"
20
20
  };
21
21
  const _hoisted_6 = {
22
22
  key: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"CardBlogpost.vue.js","sources":["../../../../../../../src/modules/community/components/blocks/CardBlogpost.vue"],"sourcesContent":["<template>\n\t<article \n\t\tclass=\"pos-relative flex-column flex o-hidden\"\n\t>\n\t\t<CardHeader \n\t :class=\"{\n\t \t'mn-b-medium pd-medium': type !== 'short',\n\t \t'flex-child-order-last flex-child mn-l-small': type === 'short',\n\t }\"\n\t :entity=\"blogpost\"\n\t :entityType=\"'blogpost'\"\n\t :user=\"user\"\n\t :owner=\"blogpost.owner\" \n \t:creator=\"blogpost.creator\"\n \t:date=\"blogpost.createdAt\"\n \t:actions=\"user && user === blogpost.creator.target._id ? [\n { to: `/community/posts/${blogpost.url}/edit`, label: 'Edit' }\n ]: null\"\n\t\t/>\n\n\t\n\t\t<section\n\t\t\tclass=\"pd-t-zero pd-b-zero pd-medium\"\n\t\t>\n\t\t\t\n\t\t\t<div v-if=\"type !== 'blogpostPage'\" class=\"cursor-pointer mn-b-medium flex-nowrap flex w-100\">\n\n\t\t\t\t<Text \n\t\t\t\t\tv-if=\"!hideTitle\"\n\t\t\t\t \t:text=\"blogpost.name || ''\" \n\t\t\t\t \t:maxLen=\"80\" \n\t\t\t\t \tclass=\"h3 d-block\"\n\t\t\t\t \t@click=\"router.push(`/community/posts/${blogpost.url}`)\"\n\t\t\t\t/>\n\n\t\t\t\t<div \n\t\t\t\t\tv-if=\"blogpost.status === 'draft'\" \n\t\t\t\t\tclass=\"pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-l-thin w-min bg-second radius-extra\"\n\t\t\t\t>\n\t\t\t\t\t{{blogpost.status}}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t<p \n\t\t\t\tv-if=\"firstText && firstText.content && type !== 'blogpostPage' && !hideDescription\" \n\t\t\t\tclass='mn-b-medium t-transp p-semi'\n\t\t\t>\n\t\t\t\t{{firstText.content.slice(0,120)}}...\n\t\t\t</p>\n\n\t\t\t<h3 \n\t\t\t\tv-if=\"type === 'blogpostPage' && !hideTitle\" \n\t\t\t\tclass=\"mn-b-medium h2\"\n\t\t\t>\n\t\t\t\t{{blogpost.name}}\n\t\t\t</h3>\n\n\t\t\t<slot></slot>\n\n\t\t\t<!-- <Chips \n \tv-if=\"type !== 'short' && blogpost.tags?.length > 0\" \n \t:chips=\"blogpost.tags\"\n \t/> -->\n\n\t\t</section>\n\n\t\t\t<!-- <Image :prop=\"{content:firstImage.content}\" class=\"h-100\"/> -->\n\n\t\t<template\n\t\t\tv-if=\"firstImage && firstImage.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<img loading=\"lazy\" \n\t\t\t\t:src=\"(FILE_SERVER_URL || '') + firstImage.content\" \n\t\t\t\talt=\"Blog post image\" \n\t\t\t\tclass=\"mn-b-medium object-fit-cover w-100 h-min-10r h-100\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template\n\t\t\tv-if=\"!firstImage?.content && firstVideo && firstVideo.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<!-- <div class=\"flex-center flex\"> -->\n\t <video controls class=\"mn-b-medium object-fit-fit bg-black w-100 h-max-20r\">\n\t <source :src=\"firstVideo.content\" type=\"video/mp4\">\n\t Your browser does not support the video tag.\n\t </video>\n\t <!-- </div> -->\n\t\t</template>\n\n\t\t\n\t\t<FooterBlogpost \n\t\t\tclass=\"pd-t-zero pd-medium\" \n\t\t\t:blogpost=\"blogpost\" :user=\"user\"\n\t\t/>\n\t\n\t</article>\n\n</template>\n\n\n<script setup=\"props\">\n\timport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\timport FooterBlogpost from '@martyrs/src/modules/community/components/blocks/FooterBlogpost.vue'\t\n\n\timport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n\timport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\n\timport { computed } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\tconst router = useRouter()\n\n\tconst props = defineProps({\n\t\tblogpost: {\n\t\t\ttype: Object,\n\t\t},\n\t\tuser: {\n\t\t\ttype: String,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t},\n\t\thideDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thideTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t})\n\n const firstImage = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return props.blogpost.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHC,UAAM,SAAS,UAAS;AAExB,UAAM,QAAQ;AAoBb,UAAM,aAAa,SAAS,MAAM;AACjC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,aAAa;AAAA,IAC1E,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpE,CAAC;AAED,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO,MAAM,SAAS,QAAQ;AAAA,QAAK,WACjC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA,MAClD;AAAA,IACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CardBlogpost.vue.js","sources":["../../../../../../../src/modules/community/components/blocks/CardBlogpost.vue"],"sourcesContent":["<template>\n\t<article \n\t\tclass=\"pos-relative flex-column flex o-hidden\"\n\t>\n\t\t<CardHeader \n\t :class=\"{\n\t \t'mn-b-medium pd-medium': type !== 'short',\n\t \t'flex-child-order-last flex-child mn-l-small': type === 'short',\n\t }\"\n\t :entity=\"blogpost\"\n\t :entityType=\"'blogpost'\"\n\t :user=\"user\"\n\t :owner=\"blogpost.owner\" \n \t:creator=\"blogpost.creator\"\n \t:date=\"blogpost.createdAt\"\n \t:actions=\"user && user === blogpost.creator.target._id ? [\n { to: `/community/posts/${blogpost.url}/edit`, label: 'Edit' }\n ]: null\"\n\t\t/>\n\n\t\n\t\t<section\n\t\t\tclass=\"pd-t-zero pd-b-zero pd-medium\"\n\t\t>\n\t\t\t\n\t\t\t<div v-if=\"type !== 'blogpostPage'\" class=\"cursor-pointer mn-b-medium flex-nowrap flex w-100\">\n\n\t\t\t\t<Text \n\t\t\t\t\tv-if=\"!hideTitle\"\n\t\t\t\t \t:text=\"blogpost.name || ''\" \n\t\t\t\t \t:maxLen=\"80\" \n\t\t\t\t \tclass=\"h3 d-block\"\n\t\t\t\t \t@click=\"router.push(`/community/posts/${blogpost.url}`)\"\n\t\t\t\t/>\n\n\t\t\t\t<div \n\t\t\t\t\tv-if=\"blogpost.status === 'draft'\" \n\t\t\t\t\tclass=\"pd-micro t-white uppercase t-semi p-small flex-center flex pd-r-small pd-l-small mn-l-thin w-min bg-second radius-extra\"\n\t\t\t\t>\n\t\t\t\t\t{{blogpost.status}}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>\n\t\t\t\n\t\t\t<p \n\t\t\t\tv-if=\"firstText && firstText.content && type !== 'blogpostPage' && !hideDescription\" \n\t\t\t\tclass='mn-b-medium t-transp p-medium'\n\t\t\t>\n\t\t\t\t{{firstText.content.slice(0,120)}}...\n\t\t\t</p>\n\n\t\t\t<h3 \n\t\t\t\tv-if=\"type === 'blogpostPage' && !hideTitle\" \n\t\t\t\tclass=\"mn-b-medium h2\"\n\t\t\t>\n\t\t\t\t{{blogpost.name}}\n\t\t\t</h3>\n\n\t\t\t<slot></slot>\n\n\t\t\t<!-- <Chips \n \tv-if=\"type !== 'short' && blogpost.tags?.length > 0\" \n \t:chips=\"blogpost.tags\"\n \t/> -->\n\n\t\t</section>\n\n\t\t\t<!-- <Image :prop=\"{content:firstImage.content}\" class=\"h-100\"/> -->\n\n\t\t<template\n\t\t\tv-if=\"firstImage && firstImage.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<img loading=\"lazy\" \n\t\t\t\t:src=\"(FILE_SERVER_URL || '') + firstImage.content\" \n\t\t\t\talt=\"Blog post image\" \n\t\t\t\tclass=\"mn-b-medium object-fit-cover w-100 h-min-10r h-100\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template\n\t\t\tv-if=\"!firstImage?.content && firstVideo && firstVideo.content && type !== 'blogpostPage'\"\n\t\t>\n\t\t\t<!-- <div class=\"flex-center flex\"> -->\n\t <video controls class=\"mn-b-medium object-fit-fit bg-black w-100 h-max-20r\">\n\t <source :src=\"firstVideo.content\" type=\"video/mp4\">\n\t Your browser does not support the video tag.\n\t </video>\n\t <!-- </div> -->\n\t\t</template>\n\n\t\t\n\t\t<FooterBlogpost \n\t\t\tclass=\"pd-t-zero pd-medium\" \n\t\t\t:blogpost=\"blogpost\" :user=\"user\"\n\t\t/>\n\t\n\t</article>\n\n</template>\n\n\n<script setup=\"props\">\n\timport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\timport FooterBlogpost from '@martyrs/src/modules/community/components/blocks/FooterBlogpost.vue'\t\n\n\timport Image from '@martyrs/src/modules/constructor/components/elements/Image.vue';\n\n import Text from '@martyrs/src/components/Text/Text.vue'\n\timport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\timport IconEdit from '@martyrs/src/modules/icons/navigation/IconEdit.vue'\n\n\timport { computed } from 'vue'\n\n\timport { useRouter } from 'vue-router'\n\n\tconst router = useRouter()\n\n\tconst props = defineProps({\n\t\tblogpost: {\n\t\t\ttype: Object,\n\t\t},\n\t\tuser: {\n\t\t\ttype: String,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t},\n\t\thideDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thideTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t})\n\n const firstImage = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'ImageUpload');\n\t});\n\n\tconst firstVideo = computed(() => {\n\t return props.blogpost.content.find(block => block.type === 'Video');\n\t});\n\n\tconst firstText = computed(() => {\n\t return props.blogpost.content.find(block => \n\t block.type === 'Textarea' && block.class !== 'h2'\n\t );\n\t});\n\n</script>\n\n<style lang=\"scss\">\n</style>\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHC,UAAM,SAAS,UAAS;AAExB,UAAM,QAAQ;AAoBb,UAAM,aAAa,SAAS,MAAM;AACjC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,aAAa;AAAA,IAC1E,CAAC;AAED,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,SAAS,QAAQ,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpE,CAAC;AAED,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO,MAAM,SAAS,QAAQ;AAAA,QAAK,WACjC,MAAM,SAAS,cAAc,MAAM,UAAU;AAAA,MAClD;AAAA,IACC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Select = require("../../../../components/Select/Select.vue2.cjs");
5
+ const Select = require("../../../../components/Select/Select.vue.cjs");
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
7
  const CardOrganization = require("../../../organizations/components/blocks/CardOrganization.vue.cjs");
8
8
  const IconFeatured = require("../../../icons/entities/IconFeatured.vue.cjs");
@@ -30,7 +30,7 @@ const _hoisted_6 = {
30
30
  key: 1,
31
31
  class: "w-100 pos-relative"
32
32
  };
33
- const _hoisted_7 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-medium gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide" };
33
+ const _hoisted_7 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide" };
34
34
  const _hoisted_8 = {
35
35
  style: { "flex": "1 1 auto" },
36
36
  class: "desktop-only pos-sticky pos-t-thin scroll-hide h-100 w-40 h-100 pos-relative"
@@ -80,7 +80,7 @@ const _sfc_main = {
80
80
  select: blogposts.state.filter.period,
81
81
  "onUpdate:select": _cache[0] || (_cache[0] = ($event) => blogposts.state.filter.period = $event),
82
82
  placeholder: "all time",
83
- class: "t-semi pos-relative w-max bg-main t-black pd-thin radius-medium h2 t-center flex-column flex gap-medium"
83
+ class: "t-semi pos-relative w-max bg-main t-black pd-thin radius-medium h2 t-center flex-column flex gap-regular"
84
84
  }, null, 8, ["select"])
85
85
  ])
86
86
  ])) : vue.createCommentVNode("", true),
@@ -1 +1 @@
1
- {"version":3,"file":"Community.vue.cjs","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["\t<template>\n\t<div class=\"bg-white\">\n\t\t<section class=\"w-100 flex-nowrap flex gap-thin mobile:pd-zero pd-thin pos-relative\">\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"w-100 h-100 pos-relative\">\n\t\t\t\t<header v-if=\"!route.params.url && route.name !== 'Create BlogPost'\" class=\"bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t\t \t<h2 class=\"pos-relative t-nowrap flex-v-center flex-nowrap flex\">\n\t\t \t\t<span class=\"mn-r-thin\">Posts for </span>\n\n\t\t \t\t<Select \n\t\t\t :options=\"['today','week','month','year','all time']\"\n\t\t\t v-model:select=\"blog.state.filter.period\" \n\t\t\t placeholder=\"all time\"\n\t\t\t class=\"\n\t\t\t \tt-semi\n\t\t\t \tpos-relative \n\t\t\t \tw-max\n\t\t\t \tbg-main t-black\n\t\t\t \tpd-thin\n\t\t\t \tradius-medium\n\t\t\t h2\n\t\t\t \tt-center\n\t\t\t \tflex-column \n\t\t\t \tflex \n\t\t\t \tgap-medium \n\t\t\t \"\n\t\t\t />\n\t\t \t</h2>\n\t\t\t\t</header>\n\n\t\t\t\t<div v-if=\"!route.params.url && route.name !=='Create BlogPost'\" class=\"w-100 pos-relative\">\n\t\t\t\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-medium gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide\">\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer flex-v-center flex t-medium pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFeatured\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\t\n\t\t\t\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tPopular\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tRecent\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFollowing\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t\t\t\t}\" \n\t\t\t\t\t\t\tclass=\"button t-medium bg-main w-max mn-l-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCreate Post\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\t\t\t</div>\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"desktop-only pos-sticky pos-t-thin scroll-hide h-100 w-40 h-100 pos-relative \">\n\t\t\t\t<div class=\"radius-medium bg-light mn-b-thin pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t\t\t<p class=\"t-medium mn-b-small\">Latest Comments</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"flex flex-column gap-thin\">\n\t\t\t\t\t\t<Comment\n\t\t \tv-for=\"comment in comments.slice(0,5)\"\n\t\t\t :key=\"comment._id\"\n\t\t\t :comment=\"comment\"\n\t\t\t :target=\"target\"\n\t\t\t :type=\"type\"\n\t\t\t :owner=\"owner\"\n\t\t\t @reply=\"handleReply\"\n\t\t\t @load-more=\"loadMoreChildren\"\n\t\t\t class=\"comment bg-white pd-small radius-regular\"\n\t\t\t />\n\t\t\t </div>\n\t\t </div>\n\n\t <div class=\"radius-medium bg-light pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-v-center flex-nowrap flex mn-b-small\">\n\t\t\t\t\t\t<p class=\"text-box-trim-end t-medium\">Popular Communities</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create Organization'\n\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\tclass=\"t-medium cursor-pointer hover-scale-1 radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t\t\t<Feed\n\t\t\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t\t\t:LoadMore=\"false\"\n\t\t\t\t :states=\"{\n\t\t\t\t empty: {\n\t\t\t\t title: 'No Organization Found',\n\t\t\t\t description: 'Currently, there are no organization available.'\n\t\t\t\t }\n\t\t\t\t }\"\n\t\t\t\t :store=\"{\n\t\t\t\t read: (options) => organizations.actions.read(options),\n\t\t\t\t state: organizations.state\n\t\t\t\t }\"\n\t\t\t\t :options=\"{\n\t\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlookup: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t\t }\"\n\t\t\t\t v-slot=\"{ \n\t\t\t\t items \n\t\t\t\t }\"\n\t\t\t\t class=\"flex flex-column gap-thin\"\n\t\t\t\t >\n\t\t\t\t \t<CardOrganization \n\t\t\t \t\t\tv-for=\"organization in items\"\n\t\t\t \t:key=\"organization._id\" \n\t\t\t\t \t:organization=\"organization\"\n\t\t\t\t \t:user=\"auth.state.user\"\n\t\t\t\t \t:showProducts=\"false\"\n\t\t\t\t \t:showRating=\"false\"\n\t\t\t\t \t:showFeatured=\"false\"\n\t\t\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\t\t\tclass=\"pd-small w-100 pd-0 bg-white radius-regular o-hidden\"\n\t\t\t\t\t />\n\t\t\t\t </Feed>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</section>\n\t</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@martyrs/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@martyrs/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue'\n\n\nimport axios from 'axios';\n\n\nimport Comment from '../sections/Comment.vue';\n\n\nconst $axios = axios.create({ baseURL: process.env.API_URL });\nconst comments = ref([]);\nconst commentContent = ref('');\n\nconst fetchComments = async () => {\n try {\n const response = await $axios.get('/comments/read', {\n params: {\n maxDepth: 1,\n format: 'plain'\n }\n });\n comments.value = response.data;\n } catch (error) {\n console.error('Error fetching comments:', error);\n }\n};\n\nfetchComments();\n\n// Import state\nimport * as blog from '@martyrs/src/modules/community/store/blogposts.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\n\n// State\nconst route = useRoute();\nconst router = useRouter();\n\nif (route.params.category === 'popular') blog.state.sort.param = 'views'; \nif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n membershipsStore.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["ref","useRoute","useRouter","blog.state","membershipsStore","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6LA,UAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS;AAC5D,UAAM,WAAWA,IAAAA,IAAI,EAAE;AACAA,QAAAA,IAAI,EAAE;AAE7B,UAAM,gBAAgB,YAAY;AAChC,UAAI;AACF,cAAM,WAAW,MAAM,OAAO,IAAI,kBAAkB;AAAA,UAClD,QAAQ;AAAA,YACN,UAAU;AAAA,YACV,QAAQ;AAAA,UAChB;AAAA,QACA,CAAK;AACD,iBAAS,QAAQ,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,gBAAQ,MAAM,4BAA4B,KAAK;AAAA,MACjD;AAAA,IACF;AAEA,kBAAa;AASb,UAAM,QAAQC,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAExB,QAAI,MAAM,OAAO,aAAa,UAAWC,WAAAA,MAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,WAAAA,MAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,gCAAiB,uBAAuBC,cAAAA,MAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Community.vue.cjs","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["\t<template>\n\t<div class=\"bg-white\">\n\t\t<section class=\"w-100 flex-nowrap flex gap-thin mobile:pd-zero pd-thin pos-relative\">\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"w-100 h-100 pos-relative\">\n\t\t\t\t<header v-if=\"!route.params.url && route.name !== 'Create BlogPost'\" class=\"bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t\t \t<h2 class=\"pos-relative t-nowrap flex-v-center flex-nowrap flex\">\n\t\t \t\t<span class=\"mn-r-thin\">Posts for </span>\n\n\t\t \t\t<Select \n\t\t\t :options=\"['today','week','month','year','all time']\"\n\t\t\t v-model:select=\"blog.state.filter.period\" \n\t\t\t placeholder=\"all time\"\n\t\t\t class=\"\n\t\t\t \tt-semi\n\t\t\t \tpos-relative \n\t\t\t \tw-max\n\t\t\t \tbg-main t-black\n\t\t\t \tpd-thin\n\t\t\t \tradius-medium\n\t\t\t h2\n\t\t\t \tt-center\n\t\t\t \tflex-column \n\t\t\t \tflex \n\t\t\t \tgap-regular \n\t\t\t \"\n\t\t\t />\n\t\t \t</h2>\n\t\t\t\t</header>\n\n\t\t\t\t<div v-if=\"!route.params.url && route.name !=='Create BlogPost'\" class=\"w-100 pos-relative\">\n\t\t\t\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide\">\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer flex-v-center flex t-medium pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFeatured\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\t\n\t\t\t\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tPopular\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tRecent\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFollowing\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t\t\t\t}\" \n\t\t\t\t\t\t\tclass=\"button t-medium bg-main w-max mn-l-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCreate Post\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\t\t\t</div>\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"desktop-only pos-sticky pos-t-thin scroll-hide h-100 w-40 h-100 pos-relative \">\n\t\t\t\t<div class=\"radius-medium bg-light mn-b-thin pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t\t\t<p class=\"t-medium mn-b-small\">Latest Comments</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"flex flex-column gap-thin\">\n\t\t\t\t\t\t<Comment\n\t\t \tv-for=\"comment in comments.slice(0,5)\"\n\t\t\t :key=\"comment._id\"\n\t\t\t :comment=\"comment\"\n\t\t\t :target=\"target\"\n\t\t\t :type=\"type\"\n\t\t\t :owner=\"owner\"\n\t\t\t @reply=\"handleReply\"\n\t\t\t @load-more=\"loadMoreChildren\"\n\t\t\t class=\"comment bg-white pd-small radius-regular\"\n\t\t\t />\n\t\t\t </div>\n\t\t </div>\n\n\t <div class=\"radius-medium bg-light pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-v-center flex-nowrap flex mn-b-small\">\n\t\t\t\t\t\t<p class=\"text-box-trim-end t-medium\">Popular Communities</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create Organization'\n\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\tclass=\"t-medium cursor-pointer hover-scale-1 radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t\t\t<Feed\n\t\t\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t\t\t:LoadMore=\"false\"\n\t\t\t\t :states=\"{\n\t\t\t\t empty: {\n\t\t\t\t title: 'No Organization Found',\n\t\t\t\t description: 'Currently, there are no organization available.'\n\t\t\t\t }\n\t\t\t\t }\"\n\t\t\t\t :store=\"{\n\t\t\t\t read: (options) => organizations.actions.read(options),\n\t\t\t\t state: organizations.state\n\t\t\t\t }\"\n\t\t\t\t :options=\"{\n\t\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlookup: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t\t }\"\n\t\t\t\t v-slot=\"{ \n\t\t\t\t items \n\t\t\t\t }\"\n\t\t\t\t class=\"flex flex-column gap-thin\"\n\t\t\t\t >\n\t\t\t\t \t<CardOrganization \n\t\t\t \t\t\tv-for=\"organization in items\"\n\t\t\t \t:key=\"organization._id\" \n\t\t\t\t \t:organization=\"organization\"\n\t\t\t\t \t:user=\"auth.state.user\"\n\t\t\t\t \t:showProducts=\"false\"\n\t\t\t\t \t:showRating=\"false\"\n\t\t\t\t \t:showFeatured=\"false\"\n\t\t\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\t\t\tclass=\"pd-small w-100 pd-0 bg-white radius-regular o-hidden\"\n\t\t\t\t\t />\n\t\t\t\t </Feed>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</section>\n\t</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@martyrs/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@martyrs/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue'\n\n\nimport axios from 'axios';\n\n\nimport Comment from '../sections/Comment.vue';\n\n\nconst $axios = axios.create({ baseURL: process.env.API_URL });\nconst comments = ref([]);\nconst commentContent = ref('');\n\nconst fetchComments = async () => {\n try {\n const response = await $axios.get('/comments/read', {\n params: {\n maxDepth: 1,\n format: 'plain'\n }\n });\n comments.value = response.data;\n } catch (error) {\n console.error('Error fetching comments:', error);\n }\n};\n\nfetchComments();\n\n// Import state\nimport * as blog from '@martyrs/src/modules/community/store/blogposts.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\n\n// State\nconst route = useRoute();\nconst router = useRouter();\n\nif (route.params.category === 'popular') blog.state.sort.param = 'views'; \nif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n membershipsStore.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["ref","useRoute","useRouter","blog.state","membershipsStore","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6LA,UAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS;AAC5D,UAAM,WAAWA,IAAAA,IAAI,EAAE;AACAA,QAAAA,IAAI,EAAE;AAE7B,UAAM,gBAAgB,YAAY;AAChC,UAAI;AACF,cAAM,WAAW,MAAM,OAAO,IAAI,kBAAkB;AAAA,UAClD,QAAQ;AAAA,YACN,UAAU;AAAA,YACV,QAAQ;AAAA,UAChB;AAAA,QACA,CAAK;AACD,iBAAS,QAAQ,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,gBAAQ,MAAM,4BAA4B,KAAK;AAAA,MACjD;AAAA,IACF;AAEA,kBAAa;AASb,UAAM,QAAQC,UAAAA,SAAQ;AACtB,UAAM,SAASC,UAAAA,UAAS;AAExB,QAAI,MAAM,OAAO,aAAa,UAAWC,WAAAA,MAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,WAAAA,MAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3FC,gCAAiB,uBAAuBC,cAAAA,MAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { ref, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, unref, createBlock, normalizeClass, createTextVNode, withCtx, Transition, resolveDynamicComponent, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import Select from "../../../../components/Select/Select.vue2.js";
3
+ import Select from "../../../../components/Select/Select.vue.js";
4
4
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
5
5
  import _sfc_main$6 from "../../../organizations/components/blocks/CardOrganization.vue.js";
6
6
  import _sfc_main$1 from "../../../icons/entities/IconFeatured.vue.js";
@@ -28,7 +28,7 @@ const _hoisted_6 = {
28
28
  key: 1,
29
29
  class: "w-100 pos-relative"
30
30
  };
31
- const _hoisted_7 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-medium gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide" };
31
+ const _hoisted_7 = { class: "align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide" };
32
32
  const _hoisted_8 = {
33
33
  style: { "flex": "1 1 auto" },
34
34
  class: "desktop-only pos-sticky pos-t-thin scroll-hide h-100 w-40 h-100 pos-relative"
@@ -78,7 +78,7 @@ const _sfc_main = {
78
78
  select: state.filter.period,
79
79
  "onUpdate:select": _cache[0] || (_cache[0] = ($event) => state.filter.period = $event),
80
80
  placeholder: "all time",
81
- class: "t-semi pos-relative w-max bg-main t-black pd-thin radius-medium h2 t-center flex-column flex gap-medium"
81
+ class: "t-semi pos-relative w-max bg-main t-black pd-thin radius-medium h2 t-center flex-column flex gap-regular"
82
82
  }, null, 8, ["select"])
83
83
  ])
84
84
  ])) : createCommentVNode("", true),
@@ -1 +1 @@
1
- {"version":3,"file":"Community.vue.js","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["\t<template>\n\t<div class=\"bg-white\">\n\t\t<section class=\"w-100 flex-nowrap flex gap-thin mobile:pd-zero pd-thin pos-relative\">\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"w-100 h-100 pos-relative\">\n\t\t\t\t<header v-if=\"!route.params.url && route.name !== 'Create BlogPost'\" class=\"bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t\t \t<h2 class=\"pos-relative t-nowrap flex-v-center flex-nowrap flex\">\n\t\t \t\t<span class=\"mn-r-thin\">Posts for </span>\n\n\t\t \t\t<Select \n\t\t\t :options=\"['today','week','month','year','all time']\"\n\t\t\t v-model:select=\"blog.state.filter.period\" \n\t\t\t placeholder=\"all time\"\n\t\t\t class=\"\n\t\t\t \tt-semi\n\t\t\t \tpos-relative \n\t\t\t \tw-max\n\t\t\t \tbg-main t-black\n\t\t\t \tpd-thin\n\t\t\t \tradius-medium\n\t\t\t h2\n\t\t\t \tt-center\n\t\t\t \tflex-column \n\t\t\t \tflex \n\t\t\t \tgap-medium \n\t\t\t \"\n\t\t\t />\n\t\t \t</h2>\n\t\t\t\t</header>\n\n\t\t\t\t<div v-if=\"!route.params.url && route.name !=='Create BlogPost'\" class=\"w-100 pos-relative\">\n\t\t\t\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-medium gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide\">\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer flex-v-center flex t-medium pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFeatured\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\t\n\t\t\t\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tPopular\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tRecent\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFollowing\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t\t\t\t}\" \n\t\t\t\t\t\t\tclass=\"button t-medium bg-main w-max mn-l-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCreate Post\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\t\t\t</div>\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"desktop-only pos-sticky pos-t-thin scroll-hide h-100 w-40 h-100 pos-relative \">\n\t\t\t\t<div class=\"radius-medium bg-light mn-b-thin pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t\t\t<p class=\"t-medium mn-b-small\">Latest Comments</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"flex flex-column gap-thin\">\n\t\t\t\t\t\t<Comment\n\t\t \tv-for=\"comment in comments.slice(0,5)\"\n\t\t\t :key=\"comment._id\"\n\t\t\t :comment=\"comment\"\n\t\t\t :target=\"target\"\n\t\t\t :type=\"type\"\n\t\t\t :owner=\"owner\"\n\t\t\t @reply=\"handleReply\"\n\t\t\t @load-more=\"loadMoreChildren\"\n\t\t\t class=\"comment bg-white pd-small radius-regular\"\n\t\t\t />\n\t\t\t </div>\n\t\t </div>\n\n\t <div class=\"radius-medium bg-light pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-v-center flex-nowrap flex mn-b-small\">\n\t\t\t\t\t\t<p class=\"text-box-trim-end t-medium\">Popular Communities</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create Organization'\n\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\tclass=\"t-medium cursor-pointer hover-scale-1 radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t\t\t<Feed\n\t\t\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t\t\t:LoadMore=\"false\"\n\t\t\t\t :states=\"{\n\t\t\t\t empty: {\n\t\t\t\t title: 'No Organization Found',\n\t\t\t\t description: 'Currently, there are no organization available.'\n\t\t\t\t }\n\t\t\t\t }\"\n\t\t\t\t :store=\"{\n\t\t\t\t read: (options) => organizations.actions.read(options),\n\t\t\t\t state: organizations.state\n\t\t\t\t }\"\n\t\t\t\t :options=\"{\n\t\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlookup: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t\t }\"\n\t\t\t\t v-slot=\"{ \n\t\t\t\t items \n\t\t\t\t }\"\n\t\t\t\t class=\"flex flex-column gap-thin\"\n\t\t\t\t >\n\t\t\t\t \t<CardOrganization \n\t\t\t \t\t\tv-for=\"organization in items\"\n\t\t\t \t:key=\"organization._id\" \n\t\t\t\t \t:organization=\"organization\"\n\t\t\t\t \t:user=\"auth.state.user\"\n\t\t\t\t \t:showProducts=\"false\"\n\t\t\t\t \t:showRating=\"false\"\n\t\t\t\t \t:showFeatured=\"false\"\n\t\t\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\t\t\tclass=\"pd-small w-100 pd-0 bg-white radius-regular o-hidden\"\n\t\t\t\t\t />\n\t\t\t\t </Feed>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</section>\n\t</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@martyrs/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@martyrs/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue'\n\n\nimport axios from 'axios';\n\n\nimport Comment from '../sections/Comment.vue';\n\n\nconst $axios = axios.create({ baseURL: process.env.API_URL });\nconst comments = ref([]);\nconst commentContent = ref('');\n\nconst fetchComments = async () => {\n try {\n const response = await $axios.get('/comments/read', {\n params: {\n maxDepth: 1,\n format: 'plain'\n }\n });\n comments.value = response.data;\n } catch (error) {\n console.error('Error fetching comments:', error);\n }\n};\n\nfetchComments();\n\n// Import state\nimport * as blog from '@martyrs/src/modules/community/store/blogposts.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\n\n// State\nconst route = useRoute();\nconst router = useRouter();\n\nif (route.params.category === 'popular') blog.state.sort.param = 'views'; \nif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n membershipsStore.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["blog.state","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6LA,UAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS;AAC5D,UAAM,WAAW,IAAI,EAAE;AACA,QAAI,EAAE;AAE7B,UAAM,gBAAgB,YAAY;AAChC,UAAI;AACF,cAAM,WAAW,MAAM,OAAO,IAAI,kBAAkB;AAAA,UAClD,QAAQ;AAAA,YACN,UAAU;AAAA,YACV,QAAQ;AAAA,UAChB;AAAA,QACA,CAAK;AACD,iBAAS,QAAQ,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,gBAAQ,MAAM,4BAA4B,KAAK;AAAA,MACjD;AAAA,IACF;AAEA,kBAAa;AASb,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,QAAI,MAAM,OAAO,aAAa,UAAWA,OAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,OAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3F,uBAAiB,uBAAuBC,QAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Community.vue.js","sources":["../../../../../../../src/modules/community/components/layouts/Community.vue"],"sourcesContent":["\t<template>\n\t<div class=\"bg-white\">\n\t\t<section class=\"w-100 flex-nowrap flex gap-thin mobile:pd-zero pd-thin pos-relative\">\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"w-100 h-100 pos-relative\">\n\t\t\t\t<header v-if=\"!route.params.url && route.name !== 'Create BlogPost'\" class=\"bg-light pd-medium radius-medium mobile:radius-zero scroll-hide o-y-visible t-black pos-relative mn-b-thin flex-v-center t-left flex-nowrap flex\">\n\t\t \t<h2 class=\"pos-relative t-nowrap flex-v-center flex-nowrap flex\">\n\t\t \t\t<span class=\"mn-r-thin\">Posts for </span>\n\n\t\t \t\t<Select \n\t\t\t :options=\"['today','week','month','year','all time']\"\n\t\t\t v-model:select=\"blog.state.filter.period\" \n\t\t\t placeholder=\"all time\"\n\t\t\t class=\"\n\t\t\t \tt-semi\n\t\t\t \tpos-relative \n\t\t\t \tw-max\n\t\t\t \tbg-main t-black\n\t\t\t \tpd-thin\n\t\t\t \tradius-medium\n\t\t\t h2\n\t\t\t \tt-center\n\t\t\t \tflex-column \n\t\t\t \tflex \n\t\t\t \tgap-regular \n\t\t\t \"\n\t\t\t />\n\t\t \t</h2>\n\t\t\t\t</header>\n\n\t\t\t\t<div v-if=\"!route.params.url && route.name !=='Create BlogPost'\" class=\"w-100 pos-relative\">\n\t\t\t\t\t<ul class=\"align-self-start pos-sticky pos-t-0 w-100 bg-light radius-medium mobile:radius-zero mn-b-thin pd-medium p-regular gap-thin flex-row flex-nowrap flex z-index-2 o-scroll t-nowrap scroll-hide\">\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'featured' }\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'featured' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer flex-v-center flex t-medium pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFeatured class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFeatured\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'popular' }\"\t\t\t\t\t \t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'views'; router.push({name: 'Blog', params: { category: 'popular' } }) }\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\t\n\t\t\t\t\t\t\t<IconPopular class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tPopular\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'new'}\" \t\t\t\t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'new' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconRecent class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tRecent\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li \t\n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:class=\"{'t-black bg-white': route.params.category === 'following'}\" \t\t\n\t\t\t\t\t\t\t@click=\"() => { blog.state.sort.param = 'createdAt'; router.push({name: 'Blog', params: { category: 'following' } })}\" \n\t\t\t\t\t\t\tclass=\"cursor-pointer t-medium flex-v-center flex pd-thin radius-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFollowing class=\"i-medium mn-r-thin t-transp\"/>\n\t\t\t\t\t\t\tFollowing\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create BlogPost'\n\t\t\t\t\t\t\t}\" \n\t\t\t\t\t\t\tclass=\"button t-medium bg-main w-max mn-l-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCreate Post\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\n\t\t\t\t<router-view v-slot=\"{ Component, route }\">\n\t\t\t\t\t<transition name=\"scaleIn\" mode=\"out-in\">\n\t\t\t\t\t\t<component ref=\"page\" :key=\"route.query\" :is=\"Component\" />\n\t\t\t\t\t</transition>\n\t\t\t\t</router-view>\n\t\t\t</div>\n\n\t\t\t<div style=\"flex: 1 1 auto\" class=\"desktop-only pos-sticky pos-t-thin scroll-hide h-100 w-40 h-100 pos-relative \">\n\t\t\t\t<div class=\"radius-medium bg-light mn-b-thin pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-nowrap flex\">\n\t\t\t\t\t\t<p class=\"t-medium mn-b-small\">Latest Comments</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"flex flex-column gap-thin\">\n\t\t\t\t\t\t<Comment\n\t\t \tv-for=\"comment in comments.slice(0,5)\"\n\t\t\t :key=\"comment._id\"\n\t\t\t :comment=\"comment\"\n\t\t\t :target=\"target\"\n\t\t\t :type=\"type\"\n\t\t\t :owner=\"owner\"\n\t\t\t @reply=\"handleReply\"\n\t\t\t @load-more=\"loadMoreChildren\"\n\t\t\t class=\"comment bg-white pd-small radius-regular\"\n\t\t\t />\n\t\t\t </div>\n\t\t </div>\n\n\t <div class=\"radius-medium bg-light pd-small\">\n\t\t\t\t\t<div class=\"gap-thin flex-v-center flex-nowrap flex mn-b-small\">\n\t\t\t\t\t\t<p class=\"text-box-trim-end t-medium\">Popular Communities</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<router-link \n\t\t\t\t\t\t\tv-if=\"auth.state.user._id\"\n\t\t\t\t\t\t\t:to=\"{\n\t\t\t\t\t\t\t\tname: 'Create Organization'\n\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\tclass=\"t-medium cursor-pointer hover-scale-1 radius-extra flex-center flex i-medium bg-main\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t</router-link>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<transition name=\"slide-fade\">\n\t\t\t\t\t\t<Feed\n\t\t\t\t\t\t\t:showLoadMore=\"false\"\n\t\t\t\t\t\t\t:LoadMore=\"false\"\n\t\t\t\t :states=\"{\n\t\t\t\t empty: {\n\t\t\t\t title: 'No Organization Found',\n\t\t\t\t description: 'Currently, there are no organization available.'\n\t\t\t\t }\n\t\t\t\t }\"\n\t\t\t\t :store=\"{\n\t\t\t\t read: (options) => organizations.actions.read(options),\n\t\t\t\t state: organizations.state\n\t\t\t\t }\"\n\t\t\t\t :options=\"{\n\t\t\t\t \tuser: auth.state.user._id,\n\t\t\t\t\t\t\t\t\tsort: 'numberOfMemberships',\n\t\t\t\t\t\t\t\t\tcontain: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlookup: ['blogposts'],\n\t\t\t\t\t\t\t\t\tlimit: 10\n\t\t\t\t }\"\n\t\t\t\t v-slot=\"{ \n\t\t\t\t items \n\t\t\t\t }\"\n\t\t\t\t class=\"flex flex-column gap-thin\"\n\t\t\t\t >\n\t\t\t\t \t<CardOrganization \n\t\t\t \t\t\tv-for=\"organization in items\"\n\t\t\t \t:key=\"organization._id\" \n\t\t\t\t \t:organization=\"organization\"\n\t\t\t\t \t:user=\"auth.state.user\"\n\t\t\t\t \t:showProducts=\"false\"\n\t\t\t\t \t:showRating=\"false\"\n\t\t\t\t \t:showFeatured=\"false\"\n\t\t\t\t \t:showFollowers=\"false\"\n\t\t\t\t\t\t\t\t@updateMembership=\"handleMembershipUpdate\"\n\t\t\t\t\t\t\t\tclass=\"pd-small w-100 pd-0 bg-white radius-regular o-hidden\"\n\t\t\t\t\t />\n\t\t\t\t </Feed>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</section>\n\t</div>\n</template>\n\n<script setup=\"props\">\n\timport { computed,onMounted, toRefs,ref } from 'vue'\n import { useRoute,useRouter } from 'vue-router'\n\n\timport Select from '@martyrs/src/components/Select/Select.vue'\n\timport Feed from '@martyrs/src/components/Feed/Feed.vue'\n\timport CardOrganization from '@martyrs/src/modules/organizations/components/blocks/CardOrganization.vue'\n\n\timport IconFeatured from '@martyrs/src/modules/icons/entities/IconFeatured.vue'\n\timport IconPopular from '@martyrs/src/modules/icons/entities/IconPopular.vue'\n\timport IconRecent from '@martyrs/src/modules/icons/entities/IconRecent.vue'\n\timport IconFollowing from '@martyrs/src/modules/icons/entities/IconFollowing.vue'\n\n\nimport axios from 'axios';\n\n\nimport Comment from '../sections/Comment.vue';\n\n\nconst $axios = axios.create({ baseURL: process.env.API_URL });\nconst comments = ref([]);\nconst commentContent = ref('');\n\nconst fetchComments = async () => {\n try {\n const response = await $axios.get('/comments/read', {\n params: {\n maxDepth: 1,\n format: 'plain'\n }\n });\n comments.value = response.data;\n } catch (error) {\n console.error('Error fetching comments:', error);\n }\n};\n\nfetchComments();\n\n// Import state\nimport * as blog from '@martyrs/src/modules/community/store/blogposts.js';\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as organizations from '@martyrs/src/modules/organizations/store/organizations.js'\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'\n\n// State\nconst route = useRoute();\nconst router = useRouter();\n\nif (route.params.category === 'popular') blog.state.sort.param = 'views'; \nif (route.params.category === 'new') blog.state.sort.param = 'createdAt'; \n\n\nconst handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {\n membershipsStore.handleMembershipUpdate(organizations.state.current, membership, status, target, statusName, statusNumber)\n};\n\n</script>\n\n<style lang=\"scss\">\n\n</style>\n"],"names":["blog.state","organizations.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6LA,UAAM,SAAS,MAAM,OAAO,EAAE,SAAS,QAAQ,IAAI,SAAS;AAC5D,UAAM,WAAW,IAAI,EAAE;AACA,QAAI,EAAE;AAE7B,UAAM,gBAAgB,YAAY;AAChC,UAAI;AACF,cAAM,WAAW,MAAM,OAAO,IAAI,kBAAkB;AAAA,UAClD,QAAQ;AAAA,YACN,UAAU;AAAA,YACV,QAAQ;AAAA,UAChB;AAAA,QACA,CAAK;AACD,iBAAS,QAAQ,SAAS;AAAA,MAC5B,SAAS,OAAO;AACd,gBAAQ,MAAM,4BAA4B,KAAK;AAAA,MACjD;AAAA,IACF;AAEA,kBAAa;AASb,UAAM,QAAQ,SAAQ;AACtB,UAAM,SAAS,UAAS;AAExB,QAAI,MAAM,OAAO,aAAa,UAAWA,OAAW,KAAK,QAAQ;AACjE,QAAI,MAAM,OAAO,aAAa,MAAOA,OAAW,KAAK,QAAQ;AAG7D,UAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,OAAM,GAAI,YAAY,iBAAiB;AAC3F,uBAAiB,uBAAuBC,QAAoB,SAAS,YAAY,QAAQ,QAAQ,YAAY,YAAY;AAAA,IAC3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,7 +7,7 @@ const Constructor = require("../../../constructor/components/sections/Constructo
7
7
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
8
8
  const BlockTags = require("../../../../components/FieldTags/BlockTags.vue.cjs");
9
9
  const Checkbox = require("../../../../components/Checkbox/Checkbox.vue.cjs");
10
- const Field = require("../../../../components/Field/Field.vue.cjs");
10
+ const Field = require("../../../../components/Field/Field.vue2.cjs");
11
11
  const Button = require("../../../../components/Button/Button.vue.cjs");
12
12
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
13
13
  const Card = require("../../../globals/views/components/blocks/Card.vue.cjs");
@@ -5,7 +5,7 @@ import _sfc_main$1 from "../../../constructor/components/sections/Constructor.vu
5
5
  import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
6
6
  import _sfc_main$3 from "../../../../components/FieldTags/BlockTags.vue.js";
7
7
  import _sfc_main$6 from "../../../../components/Checkbox/Checkbox.vue.js";
8
- import Field from "../../../../components/Field/Field.vue.js";
8
+ import Field from "../../../../components/Field/Field.vue2.js";
9
9
  import _sfc_main$7 from "../../../../components/Button/Button.vue.js";
10
10
  import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
11
11
  import _sfc_main$4 from "../../../globals/views/components/blocks/Card.vue.js";
@@ -7,7 +7,7 @@ const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_
7
7
  const _hoisted_1 = { class: "comment-wrapper" };
8
8
  const _hoisted_2 = { class: "comment-content" };
9
9
  const _hoisted_3 = { class: "pd-t-zero" };
10
- const _hoisted_4 = { class: "p-medium" };
10
+ const _hoisted_4 = { class: "p-regular" };
11
11
  const _hoisted_5 = { class: "mn-t-thin flex-v-center flex-nowrap flex gap-small" };
12
12
  const _hoisted_6 = {
13
13
  key: 0,
@@ -152,6 +152,6 @@ const _sfc_main = {
152
152
  };
153
153
  }
154
154
  };
155
- const Comment = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-07523fcd"]]);
155
+ const Comment = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-0966f321"]]);
156
156
  exports.default = Comment;
157
157
  //# sourceMappingURL=Comment.vue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Comment.vue.cjs","sources":["../../../../../../../src/modules/community/components/sections/Comment.vue"],"sourcesContent":["<template>\n <div class=\"comment-wrapper\">\n <div class=\"comment-content \">\n <CardHeader \n class=\"mn-b-thin mn-b-thin w-100\"\n :entity=\"comment\"\n :entityType=\"'comment'\"\n :user=\"owner\"\n :owner=\"{target: comment.owner, type: 'user'}\" \n :creator=\"{target: comment.owner, type: 'user'}\"\n :date=\"comment.createdAt\"\n />\n <div class=\"pd-t-zero\">\n <p class=\"p-medium\">{{ comment.content }}</p>\n </div>\n <div class=\"mn-t-thin flex-v-center flex-nowrap flex gap-small\">\n <button \n v-if=\"totalReplies > 0\" \n @click=\"toggleChildren\"\n class=\"t-second cursor-pointer t-medium font-second\"\n >\n {{ isExpanded ? 'Hide' : totalReplies + (totalReplies === 1 ? ' reply' : ' replies') }} \n </button>\n <button \n v-if=\"owner\" \n class=\"font-second cursor-pointer t-transp t-medium\" \n @click=\"showReplyForm = true\"\n > \n Reply\n </button>\n </div>\n <div v-if=\"showReplyForm\" class=\"mn-t-small bg-white pd-thin radius-regular\">\n <textarea class=\"w-100\" v-model=\"replyContent\"></textarea>\n <div class=\"mn-l-auto gap-thin flex-nowrap flex\">\n <button class=\"bg-grey-transp-25 pd-r-regular pd-l-regular pd-thin button\" @click=\"showReplyForm = false\">Cancel</button>\n <button class=\"bg-main pd-r-regular pd-l-regular pd-thin button\" @click=\"submitReply\">Send</button>\n </div>\n </div>\n </div>\n\n <transition name=\"collapse\">\n <div v-if=\"isExpanded && comment.children && comment.children.length\" class=\"mn-t-regular comment-children\">\n <div\n v-for=\"(childComment, index) in comment.children\"\n :key=\"childComment._id\"\n class=\"child-wrapper\"\n >\n <!-- Кликабельная область с линией -->\n <div \n @click=\"toggleChildren\" \n @mouseenter=\"highlightLevel($event, true)\"\n @mouseleave=\"highlightLevel($event, false)\"\n class=\"tree-line cursor-pointer\"\n :class=\"{ 'last-child': index === comment.children.length - 1 }\"\n ></div>\n \n <Comment\n :comment=\"childComment\"\n :target=\"target\"\n :owner=\"owner\"\n @reply=\"handleReply\"\n @load-more=\"handleLoadMore\"\n class=\"child-comment mn-b-regular\"\n />\n </div>\n </div>\n </transition>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\nimport Comment from './Comment.vue';\nimport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\nconst props = defineProps({\n comment: {\n type: Object,\n required: true\n },\n target: {\n type: String,\n required: true\n },\n owner: {\n type: String,\n required: true\n }\n});\n\nconst emit = defineEmits(['reply', 'load-more']);\n\nconst showReplyForm = ref(false);\nconst replyContent = ref('');\nconst isExpanded = ref(shouldBeExpanded(props.comment.depth))\n\n\nconst childrenContainer = ref(null)\n\nfunction highlightLevel(event, state) {\n const wrapper = event.currentTarget?.parentElement?.parentElement;\n if (!wrapper) return;\n\n const lines = wrapper.querySelectorAll(':scope > .child-wrapper > .tree-line');\n lines.forEach(line => line.classList.toggle('hovered', state));\n} \n\nfunction shouldBeExpanded(depth) {\n return depth % 3 < 2\n}\n\nconst totalReplies = computed(() => {\n function countReplies(comment) {\n if (!comment.children || comment.children.length === 0) {\n return 0\n }\n return comment.children.length + comment.children.reduce((sum, child) => sum + countReplies(child), 0)\n }\n return countReplies(props.comment)\n})\n\nconst toggleChildren = () => {\n isExpanded.value = !isExpanded.value\n}\n\nconst submitReply = () => {\n emit('reply', props.comment._id, replyContent.value);\n replyContent.value = '';\n showReplyForm.value = false;\n};\n\nconst handleReply = (parentId, content) => {\n emit('reply', parentId, content);\n};\n\nconst handleLoadMore = (commentId, depth) => {\n emit('load-more', commentId, depth);\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.comment-children {\n margin-top: 1rem;\n}\n\n.child-wrapper {\n position: relative;\n}\n\n.child-comment {\n padding-left: 1.5rem;\n}\n\n.tree-line {\n position: absolute;\n left: calc(-1rem + 2px);\n top: -1rem;\n width: 2rem;\n height: calc(100% + 2rem);\n}\n\n.tree-line::before {\n content: '';\n position: absolute;\n left: 1rem;\n top: 0;\n width: 2px;\n height: 100%;\n border-left: 1px solid rgba(var(--grey), 1);\n transition: background 0.2s ease;\n}\n\n.tree-line::after {\n content: '';\n position: absolute;\n left: 1rem;\n top: 2rem;\n width: 1rem;\n height: 2px;\n border-bottom: 1px solid rgba(var(--grey), 1);\n transition: background 0.2s ease;\n\n}\n\n.child-wrapper {\n &:last-child {\n .tree-line::after {\n display: none;\n }\n }\n}\n\n.tree-line.last-child::before {\n height: 2rem;\n border-bottom-left-radius: 0.5rem;\n border-left: 1px solid rgba(var(--grey), 1);\n border-bottom: 1px solid rgba(var(--grey), 1);\n background: none;\n width: 1rem;\n}\n\n\n.tree-line.hovered::before,\n.tree-line.hovered::after {\n border-color: rgba(var(--second), 1);\n}\n\n.tree-line.last-child.hovered::before {\n border-color: rgba(var(--second), 1);\n}\n\n/* Анимация */\n.collapse-enter-active,\n.collapse-leave-active {\n transition: all 0.3s ease;\n}\n\n.collapse-enter-from {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.collapse-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n</style>"],"names":["ref","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA,UAAM,QAAQ;AAed,UAAM,OAAO;AAEb,UAAM,gBAAgBA,IAAAA,IAAI,KAAK;AAC/B,UAAM,eAAeA,IAAAA,IAAI,EAAE;AAC3B,UAAM,aAAaA,IAAAA,IAAI,iBAAiB,MAAM,QAAQ,KAAK,CAAC;AAGlCA,QAAAA,IAAI,IAAI;AAElC,aAAS,eAAe,OAAO,OAAO;AACpC,YAAM,UAAU,MAAM,eAAe,eAAe;AACpD,UAAI,CAAC,QAAS;AAEd,YAAM,QAAQ,QAAQ,iBAAiB,sCAAsC;AAC7E,YAAM,QAAQ,UAAQ,KAAK,UAAU,OAAO,WAAW,KAAK,CAAC;AAAA,IAC/D;AAEA,aAAS,iBAAiB,OAAO;AAC/B,aAAO,QAAQ,IAAI;AAAA,IACrB;AAEA,UAAM,eAAeC,IAAAA,SAAS,MAAM;AAClC,eAAS,aAAa,SAAS;AAC7B,YAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,WAAW,GAAG;AACtD,iBAAO;AAAA,QACT;AACA,eAAO,QAAQ,SAAS,SAAS,QAAQ,SAAS,OAAO,CAAC,KAAK,UAAU,MAAM,aAAa,KAAK,GAAG,CAAC;AAAA,MACvG;AACA,aAAO,aAAa,MAAM,OAAO;AAAA,IACnC,CAAC;AAED,UAAM,iBAAiB,MAAM;AAC3B,iBAAW,QAAQ,CAAC,WAAW;AAAA,IACjC;AAEA,UAAM,cAAc,MAAM;AACxB,WAAK,SAAS,MAAM,QAAQ,KAAK,aAAa,KAAK;AACnD,mBAAa,QAAQ;AACrB,oBAAc,QAAQ;AAAA,IACxB;AAEA,UAAM,cAAc,CAAC,UAAU,YAAY;AACzC,WAAK,SAAS,UAAU,OAAO;AAAA,IACjC;AAEA,UAAM,iBAAiB,CAAC,WAAW,UAAU;AAC3C,WAAK,aAAa,WAAW,KAAK;AAAA,IACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Comment.vue.cjs","sources":["../../../../../../../src/modules/community/components/sections/Comment.vue"],"sourcesContent":["<template>\n <div class=\"comment-wrapper\">\n <div class=\"comment-content \">\n <CardHeader \n class=\"mn-b-thin mn-b-thin w-100\"\n :entity=\"comment\"\n :entityType=\"'comment'\"\n :user=\"owner\"\n :owner=\"{target: comment.owner, type: 'user'}\" \n :creator=\"{target: comment.owner, type: 'user'}\"\n :date=\"comment.createdAt\"\n />\n <div class=\"pd-t-zero\">\n <p class=\"p-regular\">{{ comment.content }}</p>\n </div>\n <div class=\"mn-t-thin flex-v-center flex-nowrap flex gap-small\">\n <button \n v-if=\"totalReplies > 0\" \n @click=\"toggleChildren\"\n class=\"t-second cursor-pointer t-medium font-second\"\n >\n {{ isExpanded ? 'Hide' : totalReplies + (totalReplies === 1 ? ' reply' : ' replies') }} \n </button>\n <button \n v-if=\"owner\" \n class=\"font-second cursor-pointer t-transp t-medium\" \n @click=\"showReplyForm = true\"\n > \n Reply\n </button>\n </div>\n <div v-if=\"showReplyForm\" class=\"mn-t-small bg-white pd-thin radius-regular\">\n <textarea class=\"w-100\" v-model=\"replyContent\"></textarea>\n <div class=\"mn-l-auto gap-thin flex-nowrap flex\">\n <button class=\"bg-grey-transp-25 pd-r-regular pd-l-regular pd-thin button\" @click=\"showReplyForm = false\">Cancel</button>\n <button class=\"bg-main pd-r-regular pd-l-regular pd-thin button\" @click=\"submitReply\">Send</button>\n </div>\n </div>\n </div>\n\n <transition name=\"collapse\">\n <div v-if=\"isExpanded && comment.children && comment.children.length\" class=\"mn-t-regular comment-children\">\n <div\n v-for=\"(childComment, index) in comment.children\"\n :key=\"childComment._id\"\n class=\"child-wrapper\"\n >\n <!-- Кликабельная область с линией -->\n <div \n @click=\"toggleChildren\" \n @mouseenter=\"highlightLevel($event, true)\"\n @mouseleave=\"highlightLevel($event, false)\"\n class=\"tree-line cursor-pointer\"\n :class=\"{ 'last-child': index === comment.children.length - 1 }\"\n ></div>\n \n <Comment\n :comment=\"childComment\"\n :target=\"target\"\n :owner=\"owner\"\n @reply=\"handleReply\"\n @load-more=\"handleLoadMore\"\n class=\"child-comment mn-b-regular\"\n />\n </div>\n </div>\n </transition>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\nimport Comment from './Comment.vue';\nimport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\nconst props = defineProps({\n comment: {\n type: Object,\n required: true\n },\n target: {\n type: String,\n required: true\n },\n owner: {\n type: String,\n required: true\n }\n});\n\nconst emit = defineEmits(['reply', 'load-more']);\n\nconst showReplyForm = ref(false);\nconst replyContent = ref('');\nconst isExpanded = ref(shouldBeExpanded(props.comment.depth))\n\n\nconst childrenContainer = ref(null)\n\nfunction highlightLevel(event, state) {\n const wrapper = event.currentTarget?.parentElement?.parentElement;\n if (!wrapper) return;\n\n const lines = wrapper.querySelectorAll(':scope > .child-wrapper > .tree-line');\n lines.forEach(line => line.classList.toggle('hovered', state));\n} \n\nfunction shouldBeExpanded(depth) {\n return depth % 3 < 2\n}\n\nconst totalReplies = computed(() => {\n function countReplies(comment) {\n if (!comment.children || comment.children.length === 0) {\n return 0\n }\n return comment.children.length + comment.children.reduce((sum, child) => sum + countReplies(child), 0)\n }\n return countReplies(props.comment)\n})\n\nconst toggleChildren = () => {\n isExpanded.value = !isExpanded.value\n}\n\nconst submitReply = () => {\n emit('reply', props.comment._id, replyContent.value);\n replyContent.value = '';\n showReplyForm.value = false;\n};\n\nconst handleReply = (parentId, content) => {\n emit('reply', parentId, content);\n};\n\nconst handleLoadMore = (commentId, depth) => {\n emit('load-more', commentId, depth);\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.comment-children {\n margin-top: 1rem;\n}\n\n.child-wrapper {\n position: relative;\n}\n\n.child-comment {\n padding-left: 1.5rem;\n}\n\n.tree-line {\n position: absolute;\n left: calc(-1rem + 2px);\n top: -1rem;\n width: 2rem;\n height: calc(100% + 2rem);\n}\n\n.tree-line::before {\n content: '';\n position: absolute;\n left: 1rem;\n top: 0;\n width: 2px;\n height: 100%;\n border-left: 1px solid rgba(var(--grey), 1);\n transition: background 0.2s ease;\n}\n\n.tree-line::after {\n content: '';\n position: absolute;\n left: 1rem;\n top: 2rem;\n width: 1rem;\n height: 2px;\n border-bottom: 1px solid rgba(var(--grey), 1);\n transition: background 0.2s ease;\n\n}\n\n.child-wrapper {\n &:last-child {\n .tree-line::after {\n display: none;\n }\n }\n}\n\n.tree-line.last-child::before {\n height: 2rem;\n border-bottom-left-radius: 0.5rem;\n border-left: 1px solid rgba(var(--grey), 1);\n border-bottom: 1px solid rgba(var(--grey), 1);\n background: none;\n width: 1rem;\n}\n\n\n.tree-line.hovered::before,\n.tree-line.hovered::after {\n border-color: rgba(var(--second), 1);\n}\n\n.tree-line.last-child.hovered::before {\n border-color: rgba(var(--second), 1);\n}\n\n/* Анимация */\n.collapse-enter-active,\n.collapse-leave-active {\n transition: all 0.3s ease;\n}\n\n.collapse-enter-from {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.collapse-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n</style>"],"names":["ref","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA,UAAM,QAAQ;AAed,UAAM,OAAO;AAEb,UAAM,gBAAgBA,IAAAA,IAAI,KAAK;AAC/B,UAAM,eAAeA,IAAAA,IAAI,EAAE;AAC3B,UAAM,aAAaA,IAAAA,IAAI,iBAAiB,MAAM,QAAQ,KAAK,CAAC;AAGlCA,QAAAA,IAAI,IAAI;AAElC,aAAS,eAAe,OAAO,OAAO;AACpC,YAAM,UAAU,MAAM,eAAe,eAAe;AACpD,UAAI,CAAC,QAAS;AAEd,YAAM,QAAQ,QAAQ,iBAAiB,sCAAsC;AAC7E,YAAM,QAAQ,UAAQ,KAAK,UAAU,OAAO,WAAW,KAAK,CAAC;AAAA,IAC/D;AAEA,aAAS,iBAAiB,OAAO;AAC/B,aAAO,QAAQ,IAAI;AAAA,IACrB;AAEA,UAAM,eAAeC,IAAAA,SAAS,MAAM;AAClC,eAAS,aAAa,SAAS;AAC7B,YAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,WAAW,GAAG;AACtD,iBAAO;AAAA,QACT;AACA,eAAO,QAAQ,SAAS,SAAS,QAAQ,SAAS,OAAO,CAAC,KAAK,UAAU,MAAM,aAAa,KAAK,GAAG,CAAC;AAAA,MACvG;AACA,aAAO,aAAa,MAAM,OAAO;AAAA,IACnC,CAAC;AAED,UAAM,iBAAiB,MAAM;AAC3B,iBAAW,QAAQ,CAAC,WAAW;AAAA,IACjC;AAEA,UAAM,cAAc,MAAM;AACxB,WAAK,SAAS,MAAM,QAAQ,KAAK,aAAa,KAAK;AACnD,mBAAa,QAAQ;AACrB,oBAAc,QAAQ;AAAA,IACxB;AAEA,UAAM,cAAc,CAAC,UAAU,YAAY;AACzC,WAAK,SAAS,UAAU,OAAO;AAAA,IACjC;AAEA,UAAM,iBAAiB,CAAC,WAAW,UAAU;AAC3C,WAAK,aAAa,WAAW,KAAK;AAAA,IACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,7 +5,7 @@ import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js
5
5
  const _hoisted_1 = { class: "comment-wrapper" };
6
6
  const _hoisted_2 = { class: "comment-content" };
7
7
  const _hoisted_3 = { class: "pd-t-zero" };
8
- const _hoisted_4 = { class: "p-medium" };
8
+ const _hoisted_4 = { class: "p-regular" };
9
9
  const _hoisted_5 = { class: "mn-t-thin flex-v-center flex-nowrap flex gap-small" };
10
10
  const _hoisted_6 = {
11
11
  key: 0,
@@ -150,7 +150,7 @@ const _sfc_main = {
150
150
  };
151
151
  }
152
152
  };
153
- const Comment = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-07523fcd"]]);
153
+ const Comment = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0966f321"]]);
154
154
  export {
155
155
  Comment as default
156
156
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Comment.vue.js","sources":["../../../../../../../src/modules/community/components/sections/Comment.vue"],"sourcesContent":["<template>\n <div class=\"comment-wrapper\">\n <div class=\"comment-content \">\n <CardHeader \n class=\"mn-b-thin mn-b-thin w-100\"\n :entity=\"comment\"\n :entityType=\"'comment'\"\n :user=\"owner\"\n :owner=\"{target: comment.owner, type: 'user'}\" \n :creator=\"{target: comment.owner, type: 'user'}\"\n :date=\"comment.createdAt\"\n />\n <div class=\"pd-t-zero\">\n <p class=\"p-medium\">{{ comment.content }}</p>\n </div>\n <div class=\"mn-t-thin flex-v-center flex-nowrap flex gap-small\">\n <button \n v-if=\"totalReplies > 0\" \n @click=\"toggleChildren\"\n class=\"t-second cursor-pointer t-medium font-second\"\n >\n {{ isExpanded ? 'Hide' : totalReplies + (totalReplies === 1 ? ' reply' : ' replies') }} \n </button>\n <button \n v-if=\"owner\" \n class=\"font-second cursor-pointer t-transp t-medium\" \n @click=\"showReplyForm = true\"\n > \n Reply\n </button>\n </div>\n <div v-if=\"showReplyForm\" class=\"mn-t-small bg-white pd-thin radius-regular\">\n <textarea class=\"w-100\" v-model=\"replyContent\"></textarea>\n <div class=\"mn-l-auto gap-thin flex-nowrap flex\">\n <button class=\"bg-grey-transp-25 pd-r-regular pd-l-regular pd-thin button\" @click=\"showReplyForm = false\">Cancel</button>\n <button class=\"bg-main pd-r-regular pd-l-regular pd-thin button\" @click=\"submitReply\">Send</button>\n </div>\n </div>\n </div>\n\n <transition name=\"collapse\">\n <div v-if=\"isExpanded && comment.children && comment.children.length\" class=\"mn-t-regular comment-children\">\n <div\n v-for=\"(childComment, index) in comment.children\"\n :key=\"childComment._id\"\n class=\"child-wrapper\"\n >\n <!-- Кликабельная область с линией -->\n <div \n @click=\"toggleChildren\" \n @mouseenter=\"highlightLevel($event, true)\"\n @mouseleave=\"highlightLevel($event, false)\"\n class=\"tree-line cursor-pointer\"\n :class=\"{ 'last-child': index === comment.children.length - 1 }\"\n ></div>\n \n <Comment\n :comment=\"childComment\"\n :target=\"target\"\n :owner=\"owner\"\n @reply=\"handleReply\"\n @load-more=\"handleLoadMore\"\n class=\"child-comment mn-b-regular\"\n />\n </div>\n </div>\n </transition>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\nimport Comment from './Comment.vue';\nimport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\nconst props = defineProps({\n comment: {\n type: Object,\n required: true\n },\n target: {\n type: String,\n required: true\n },\n owner: {\n type: String,\n required: true\n }\n});\n\nconst emit = defineEmits(['reply', 'load-more']);\n\nconst showReplyForm = ref(false);\nconst replyContent = ref('');\nconst isExpanded = ref(shouldBeExpanded(props.comment.depth))\n\n\nconst childrenContainer = ref(null)\n\nfunction highlightLevel(event, state) {\n const wrapper = event.currentTarget?.parentElement?.parentElement;\n if (!wrapper) return;\n\n const lines = wrapper.querySelectorAll(':scope > .child-wrapper > .tree-line');\n lines.forEach(line => line.classList.toggle('hovered', state));\n} \n\nfunction shouldBeExpanded(depth) {\n return depth % 3 < 2\n}\n\nconst totalReplies = computed(() => {\n function countReplies(comment) {\n if (!comment.children || comment.children.length === 0) {\n return 0\n }\n return comment.children.length + comment.children.reduce((sum, child) => sum + countReplies(child), 0)\n }\n return countReplies(props.comment)\n})\n\nconst toggleChildren = () => {\n isExpanded.value = !isExpanded.value\n}\n\nconst submitReply = () => {\n emit('reply', props.comment._id, replyContent.value);\n replyContent.value = '';\n showReplyForm.value = false;\n};\n\nconst handleReply = (parentId, content) => {\n emit('reply', parentId, content);\n};\n\nconst handleLoadMore = (commentId, depth) => {\n emit('load-more', commentId, depth);\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.comment-children {\n margin-top: 1rem;\n}\n\n.child-wrapper {\n position: relative;\n}\n\n.child-comment {\n padding-left: 1.5rem;\n}\n\n.tree-line {\n position: absolute;\n left: calc(-1rem + 2px);\n top: -1rem;\n width: 2rem;\n height: calc(100% + 2rem);\n}\n\n.tree-line::before {\n content: '';\n position: absolute;\n left: 1rem;\n top: 0;\n width: 2px;\n height: 100%;\n border-left: 1px solid rgba(var(--grey), 1);\n transition: background 0.2s ease;\n}\n\n.tree-line::after {\n content: '';\n position: absolute;\n left: 1rem;\n top: 2rem;\n width: 1rem;\n height: 2px;\n border-bottom: 1px solid rgba(var(--grey), 1);\n transition: background 0.2s ease;\n\n}\n\n.child-wrapper {\n &:last-child {\n .tree-line::after {\n display: none;\n }\n }\n}\n\n.tree-line.last-child::before {\n height: 2rem;\n border-bottom-left-radius: 0.5rem;\n border-left: 1px solid rgba(var(--grey), 1);\n border-bottom: 1px solid rgba(var(--grey), 1);\n background: none;\n width: 1rem;\n}\n\n\n.tree-line.hovered::before,\n.tree-line.hovered::after {\n border-color: rgba(var(--second), 1);\n}\n\n.tree-line.last-child.hovered::before {\n border-color: rgba(var(--second), 1);\n}\n\n/* Анимация */\n.collapse-enter-active,\n.collapse-leave-active {\n transition: all 0.3s ease;\n}\n\n.collapse-enter-from {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.collapse-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA,UAAM,QAAQ;AAed,UAAM,OAAO;AAEb,UAAM,gBAAgB,IAAI,KAAK;AAC/B,UAAM,eAAe,IAAI,EAAE;AAC3B,UAAM,aAAa,IAAI,iBAAiB,MAAM,QAAQ,KAAK,CAAC;AAGlC,QAAI,IAAI;AAElC,aAAS,eAAe,OAAO,OAAO;AACpC,YAAM,UAAU,MAAM,eAAe,eAAe;AACpD,UAAI,CAAC,QAAS;AAEd,YAAM,QAAQ,QAAQ,iBAAiB,sCAAsC;AAC7E,YAAM,QAAQ,UAAQ,KAAK,UAAU,OAAO,WAAW,KAAK,CAAC;AAAA,IAC/D;AAEA,aAAS,iBAAiB,OAAO;AAC/B,aAAO,QAAQ,IAAI;AAAA,IACrB;AAEA,UAAM,eAAe,SAAS,MAAM;AAClC,eAAS,aAAa,SAAS;AAC7B,YAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,WAAW,GAAG;AACtD,iBAAO;AAAA,QACT;AACA,eAAO,QAAQ,SAAS,SAAS,QAAQ,SAAS,OAAO,CAAC,KAAK,UAAU,MAAM,aAAa,KAAK,GAAG,CAAC;AAAA,MACvG;AACA,aAAO,aAAa,MAAM,OAAO;AAAA,IACnC,CAAC;AAED,UAAM,iBAAiB,MAAM;AAC3B,iBAAW,QAAQ,CAAC,WAAW;AAAA,IACjC;AAEA,UAAM,cAAc,MAAM;AACxB,WAAK,SAAS,MAAM,QAAQ,KAAK,aAAa,KAAK;AACnD,mBAAa,QAAQ;AACrB,oBAAc,QAAQ;AAAA,IACxB;AAEA,UAAM,cAAc,CAAC,UAAU,YAAY;AACzC,WAAK,SAAS,UAAU,OAAO;AAAA,IACjC;AAEA,UAAM,iBAAiB,CAAC,WAAW,UAAU;AAC3C,WAAK,aAAa,WAAW,KAAK;AAAA,IACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Comment.vue.js","sources":["../../../../../../../src/modules/community/components/sections/Comment.vue"],"sourcesContent":["<template>\n <div class=\"comment-wrapper\">\n <div class=\"comment-content \">\n <CardHeader \n class=\"mn-b-thin mn-b-thin w-100\"\n :entity=\"comment\"\n :entityType=\"'comment'\"\n :user=\"owner\"\n :owner=\"{target: comment.owner, type: 'user'}\" \n :creator=\"{target: comment.owner, type: 'user'}\"\n :date=\"comment.createdAt\"\n />\n <div class=\"pd-t-zero\">\n <p class=\"p-regular\">{{ comment.content }}</p>\n </div>\n <div class=\"mn-t-thin flex-v-center flex-nowrap flex gap-small\">\n <button \n v-if=\"totalReplies > 0\" \n @click=\"toggleChildren\"\n class=\"t-second cursor-pointer t-medium font-second\"\n >\n {{ isExpanded ? 'Hide' : totalReplies + (totalReplies === 1 ? ' reply' : ' replies') }} \n </button>\n <button \n v-if=\"owner\" \n class=\"font-second cursor-pointer t-transp t-medium\" \n @click=\"showReplyForm = true\"\n > \n Reply\n </button>\n </div>\n <div v-if=\"showReplyForm\" class=\"mn-t-small bg-white pd-thin radius-regular\">\n <textarea class=\"w-100\" v-model=\"replyContent\"></textarea>\n <div class=\"mn-l-auto gap-thin flex-nowrap flex\">\n <button class=\"bg-grey-transp-25 pd-r-regular pd-l-regular pd-thin button\" @click=\"showReplyForm = false\">Cancel</button>\n <button class=\"bg-main pd-r-regular pd-l-regular pd-thin button\" @click=\"submitReply\">Send</button>\n </div>\n </div>\n </div>\n\n <transition name=\"collapse\">\n <div v-if=\"isExpanded && comment.children && comment.children.length\" class=\"mn-t-regular comment-children\">\n <div\n v-for=\"(childComment, index) in comment.children\"\n :key=\"childComment._id\"\n class=\"child-wrapper\"\n >\n <!-- Кликабельная область с линией -->\n <div \n @click=\"toggleChildren\" \n @mouseenter=\"highlightLevel($event, true)\"\n @mouseleave=\"highlightLevel($event, false)\"\n class=\"tree-line cursor-pointer\"\n :class=\"{ 'last-child': index === comment.children.length - 1 }\"\n ></div>\n \n <Comment\n :comment=\"childComment\"\n :target=\"target\"\n :owner=\"owner\"\n @reply=\"handleReply\"\n @load-more=\"handleLoadMore\"\n class=\"child-comment mn-b-regular\"\n />\n </div>\n </div>\n </transition>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed } from 'vue';\nimport Comment from './Comment.vue';\nimport CardHeader from '@martyrs/src/modules/globals/views/components/blocks/CardHeader.vue'\n\nconst props = defineProps({\n comment: {\n type: Object,\n required: true\n },\n target: {\n type: String,\n required: true\n },\n owner: {\n type: String,\n required: true\n }\n});\n\nconst emit = defineEmits(['reply', 'load-more']);\n\nconst showReplyForm = ref(false);\nconst replyContent = ref('');\nconst isExpanded = ref(shouldBeExpanded(props.comment.depth))\n\n\nconst childrenContainer = ref(null)\n\nfunction highlightLevel(event, state) {\n const wrapper = event.currentTarget?.parentElement?.parentElement;\n if (!wrapper) return;\n\n const lines = wrapper.querySelectorAll(':scope > .child-wrapper > .tree-line');\n lines.forEach(line => line.classList.toggle('hovered', state));\n} \n\nfunction shouldBeExpanded(depth) {\n return depth % 3 < 2\n}\n\nconst totalReplies = computed(() => {\n function countReplies(comment) {\n if (!comment.children || comment.children.length === 0) {\n return 0\n }\n return comment.children.length + comment.children.reduce((sum, child) => sum + countReplies(child), 0)\n }\n return countReplies(props.comment)\n})\n\nconst toggleChildren = () => {\n isExpanded.value = !isExpanded.value\n}\n\nconst submitReply = () => {\n emit('reply', props.comment._id, replyContent.value);\n replyContent.value = '';\n showReplyForm.value = false;\n};\n\nconst handleReply = (parentId, content) => {\n emit('reply', parentId, content);\n};\n\nconst handleLoadMore = (commentId, depth) => {\n emit('load-more', commentId, depth);\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.comment-children {\n margin-top: 1rem;\n}\n\n.child-wrapper {\n position: relative;\n}\n\n.child-comment {\n padding-left: 1.5rem;\n}\n\n.tree-line {\n position: absolute;\n left: calc(-1rem + 2px);\n top: -1rem;\n width: 2rem;\n height: calc(100% + 2rem);\n}\n\n.tree-line::before {\n content: '';\n position: absolute;\n left: 1rem;\n top: 0;\n width: 2px;\n height: 100%;\n border-left: 1px solid rgba(var(--grey), 1);\n transition: background 0.2s ease;\n}\n\n.tree-line::after {\n content: '';\n position: absolute;\n left: 1rem;\n top: 2rem;\n width: 1rem;\n height: 2px;\n border-bottom: 1px solid rgba(var(--grey), 1);\n transition: background 0.2s ease;\n\n}\n\n.child-wrapper {\n &:last-child {\n .tree-line::after {\n display: none;\n }\n }\n}\n\n.tree-line.last-child::before {\n height: 2rem;\n border-bottom-left-radius: 0.5rem;\n border-left: 1px solid rgba(var(--grey), 1);\n border-bottom: 1px solid rgba(var(--grey), 1);\n background: none;\n width: 1rem;\n}\n\n\n.tree-line.hovered::before,\n.tree-line.hovered::after {\n border-color: rgba(var(--second), 1);\n}\n\n.tree-line.last-child.hovered::before {\n border-color: rgba(var(--second), 1);\n}\n\n/* Анимация */\n.collapse-enter-active,\n.collapse-leave-active {\n transition: all 0.3s ease;\n}\n\n.collapse-enter-from {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.collapse-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA,UAAM,QAAQ;AAed,UAAM,OAAO;AAEb,UAAM,gBAAgB,IAAI,KAAK;AAC/B,UAAM,eAAe,IAAI,EAAE;AAC3B,UAAM,aAAa,IAAI,iBAAiB,MAAM,QAAQ,KAAK,CAAC;AAGlC,QAAI,IAAI;AAElC,aAAS,eAAe,OAAO,OAAO;AACpC,YAAM,UAAU,MAAM,eAAe,eAAe;AACpD,UAAI,CAAC,QAAS;AAEd,YAAM,QAAQ,QAAQ,iBAAiB,sCAAsC;AAC7E,YAAM,QAAQ,UAAQ,KAAK,UAAU,OAAO,WAAW,KAAK,CAAC;AAAA,IAC/D;AAEA,aAAS,iBAAiB,OAAO;AAC/B,aAAO,QAAQ,IAAI;AAAA,IACrB;AAEA,UAAM,eAAe,SAAS,MAAM;AAClC,eAAS,aAAa,SAAS;AAC7B,YAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,WAAW,GAAG;AACtD,iBAAO;AAAA,QACT;AACA,eAAO,QAAQ,SAAS,SAAS,QAAQ,SAAS,OAAO,CAAC,KAAK,UAAU,MAAM,aAAa,KAAK,GAAG,CAAC;AAAA,MACvG;AACA,aAAO,aAAa,MAAM,OAAO;AAAA,IACnC,CAAC;AAED,UAAM,iBAAiB,MAAM;AAC3B,iBAAW,QAAQ,CAAC,WAAW;AAAA,IACjC;AAEA,UAAM,cAAc,MAAM;AACxB,WAAK,SAAS,MAAM,QAAQ,KAAK,aAAa,KAAK;AACnD,mBAAa,QAAQ;AACrB,oBAAc,QAAQ;AAAA,IACxB;AAEA,UAAM,cAAc,CAAC,UAAU,YAAY;AACzC,WAAK,SAAS,UAAU,OAAO;AAAA,IACjC;AAEA,UAAM,iBAAiB,CAAC,WAAW,UAAU;AAC3C,WAAK,aAAa,WAAW,KAAK;AAAA,IACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -172,7 +172,7 @@ const _sfc_main = {
172
172
  vue.withDirectives(vue.createElementVNode("textarea", {
173
173
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => commentContent.value = $event),
174
174
  placeholder: "Enter your comment",
175
- class: "p-semi w-100",
175
+ class: "p-medium w-100",
176
176
  style: { "resize": "none" }
177
177
  }, null, 512), [
178
178
  [vue.vModelText, commentContent.value]