@ozdao/martyrs 0.2.519 → 0.2.520

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 (341) hide show
  1. package/dist/chats.server.cjs +198 -1
  2. package/dist/chats.server.js +198 -1
  3. package/dist/{main-Wr1_4rwl.cjs → main-BM3GslOO.cjs} +6 -6
  4. package/dist/{main-DgGUrhjT.js → main-Qcn7YlTx.js} +1832 -1828
  5. package/dist/martyrs/src/components/Address/{Address.vue2.cjs → Address.vue.cjs} +2 -2
  6. package/dist/martyrs/src/components/Address/{Address.vue2.js.map → Address.vue.cjs.map} +1 -1
  7. package/dist/martyrs/src/components/Address/{Address.vue2.js → Address.vue.js} +2 -2
  8. package/dist/martyrs/src/components/Address/Address.vue.js.map +1 -0
  9. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +0 -1
  10. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  11. package/dist/martyrs/src/components/Feed/Feed.vue.js +0 -1
  12. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  13. package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.cjs → LocationMarker.vue.cjs} +2 -2
  14. package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.js.map → LocationMarker.vue.cjs.map} +1 -1
  15. package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.js → LocationMarker.vue.js} +2 -2
  16. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -0
  17. package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
  18. package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
  19. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  20. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  21. package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.cjs +2 -2
  22. package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
  23. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  24. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +1 -1
  25. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  26. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
  27. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  28. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs.map +1 -1
  29. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +4 -4
  30. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js.map +1 -1
  31. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +40 -50
  32. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  33. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +59 -69
  34. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  35. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs +11 -13
  36. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs.map +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +11 -13
  38. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  39. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +9 -0
  40. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  41. package/dist/martyrs/src/modules/auth/views/store/auth.js +9 -0
  42. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  43. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs +27 -11
  44. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs.map +1 -1
  45. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +28 -12
  46. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
  47. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs +62 -0
  48. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
  49. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +63 -1
  50. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  51. package/dist/martyrs/src/modules/chats/store/chat.store.cjs +60 -1
  52. package/dist/martyrs/src/modules/chats/store/chat.store.cjs.map +1 -1
  53. package/dist/martyrs/src/modules/chats/store/chat.store.js +60 -1
  54. package/dist/martyrs/src/modules/chats/store/chat.store.js.map +1 -1
  55. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +3 -3
  56. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
  58. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  59. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  61. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +50 -368
  62. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs.map +1 -1
  63. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +53 -371
  64. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
  65. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs.map +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  68. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +0 -1
  70. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  71. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +0 -1
  72. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  73. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +2 -2
  74. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  75. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
  76. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  77. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  79. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
  81. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  83. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +2 -2
  84. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +2 -2
  85. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +7 -0
  87. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
  88. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +7 -0
  89. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
  90. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -1
  91. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  93. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  95. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  97. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +180 -19
  98. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
  99. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +181 -20
  100. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
  103. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  105. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
  107. package/dist/martyrs/src/modules/music/router/music.cjs +0 -1
  108. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/music/router/music.js +0 -1
  110. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  111. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +2 -2
  112. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -1
  113. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +2 -2
  114. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  115. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  117. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
  119. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  121. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -3
  122. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
  123. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -3
  124. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
  125. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  127. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +2 -24
  128. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs.map +1 -1
  129. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +5 -27
  130. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js.map +1 -1
  131. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs +4 -1
  132. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs.map +1 -1
  133. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +4 -1
  134. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js.map +1 -1
  135. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +3 -3
  136. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs.map +1 -1
  137. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +3 -3
  138. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +195 -0
  140. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -0
  141. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +195 -0
  142. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -0
  143. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +402 -0
  144. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -0
  145. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +402 -0
  146. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -0
  147. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +86 -0
  148. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -0
  149. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +86 -0
  150. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -0
  151. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +10 -10
  152. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  153. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +11 -11
  154. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +279 -191
  156. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs.map +1 -1
  157. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +285 -197
  158. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  159. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +5 -5
  160. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  161. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +5 -5
  162. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  164. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  166. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  167. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  168. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
  169. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  170. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  171. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  173. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +3 -3
  174. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  176. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs +4 -4
  178. package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.js +4 -4
  180. package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.js.map +1 -1
  181. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +42 -41
  182. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  183. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +53 -52
  184. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  185. package/dist/martyrs/src/modules/organizations/organizations.client.cjs +23 -16
  186. package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
  187. package/dist/martyrs/src/modules/organizations/organizations.client.js +35 -28
  188. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  189. package/dist/martyrs/src/modules/organizations/router/departments.router.cjs +0 -18
  190. package/dist/martyrs/src/modules/organizations/router/departments.router.cjs.map +1 -1
  191. package/dist/martyrs/src/modules/organizations/router/departments.router.js +0 -18
  192. package/dist/martyrs/src/modules/organizations/router/departments.router.js.map +1 -1
  193. package/dist/martyrs/src/modules/organizations/store/departments.store.cjs +6 -0
  194. package/dist/martyrs/src/modules/organizations/store/departments.store.cjs.map +1 -0
  195. package/dist/martyrs/src/modules/organizations/store/departments.store.js +6 -0
  196. package/dist/martyrs/src/modules/organizations/store/departments.store.js.map +1 -0
  197. package/dist/martyrs/src/modules/organizations/store/invites.store.cjs +6 -0
  198. package/dist/martyrs/src/modules/organizations/store/invites.store.cjs.map +1 -0
  199. package/dist/martyrs/src/modules/organizations/store/invites.store.js +6 -0
  200. package/dist/martyrs/src/modules/organizations/store/invites.store.js.map +1 -0
  201. package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs +20 -0
  202. package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs.map +1 -0
  203. package/dist/martyrs/src/modules/organizations/store/memberships.store.js +20 -0
  204. package/dist/martyrs/src/modules/organizations/store/memberships.store.js.map +1 -0
  205. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -3
  206. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  207. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -3
  208. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  210. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  211. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  212. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  214. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  217. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  218. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  219. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  220. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  221. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +2 -2
  222. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
  223. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +2 -2
  224. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  225. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  227. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
  228. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  229. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +60 -272
  230. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs.map +1 -1
  231. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +62 -274
  232. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  235. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  237. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  238. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  239. package/dist/martyrs.cjs.js +1 -1
  240. package/dist/martyrs.css +1 -1
  241. package/dist/martyrs.es.js +1 -1
  242. package/dist/notifications.server.cjs +0 -24
  243. package/dist/notifications.server.js +0 -24
  244. package/dist/orders.server.cjs +1 -4
  245. package/dist/orders.server.js +1 -4
  246. package/dist/organizations.server.cjs +115 -39
  247. package/dist/organizations.server.js +115 -39
  248. package/dist/style.css +9 -9
  249. package/dist/{web-42I-Howt.cjs → web-B0cfxzgu.cjs} +1 -1
  250. package/dist/{web-ByhZ_fIu.js → web-DVR8m2fm.js} +1 -1
  251. package/package.json +1 -1
  252. package/src/components/Feed/Feed.old.vue +0 -1
  253. package/src/components/Feed/Feed.vue +0 -30
  254. package/src/modules/auth/FIXES.md +2 -26
  255. package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
  256. package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
  257. package/src/modules/auth/views/components/pages/Invite.vue +2 -2
  258. package/src/modules/auth/views/components/pages/Profile.vue +33 -48
  259. package/src/modules/auth/views/components/sections/SliderFeatures.vue +5 -7
  260. package/src/modules/auth/views/store/auth.js +15 -0
  261. package/src/modules/chats/CLAUDE.md +137 -0
  262. package/src/modules/chats/components/blocks/ChatMessage.vue +12 -0
  263. package/src/modules/chats/components/sections/ChatWindow.vue +84 -2
  264. package/src/modules/chats/controllers/chats.controller.js +187 -0
  265. package/src/modules/chats/models/chat.model.js +21 -0
  266. package/src/modules/chats/routes/chats.routes.js +46 -0
  267. package/src/modules/chats/store/chat.store.js +67 -0
  268. package/src/modules/community/components/layouts/Community.vue +2 -2
  269. package/src/modules/community/components/pages/Posts.vue +3 -328
  270. package/src/modules/events/components/pages/EditEventTickets.vue +1 -1
  271. package/src/modules/events/components/pages/Events.vue +2 -2
  272. package/src/modules/globals/views/mixins/mixins.js +7 -0
  273. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +160 -8
  274. package/src/modules/notifications/controllers/notifications.controller.js +0 -6
  275. package/src/modules/notifications/services/notification.service.js +1 -17
  276. package/src/modules/notifications/services/web-push.service.js +0 -2
  277. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +2 -2
  278. package/src/modules/orders/components/blocks/CardOrderVar1.vue +1 -1
  279. package/src/modules/orders/controllers/orders.controller.js +2 -4
  280. package/src/modules/organizations/CLAUDE.md +259 -0
  281. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -22
  282. package/src/modules/organizations/components/blocks/Socials.vue +1 -1
  283. package/src/modules/organizations/components/elements/ButtonToggleMembership.vue +3 -3
  284. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +191 -0
  285. package/src/modules/organizations/components/forms/DepartmentForm.vue +390 -0
  286. package/src/modules/organizations/components/forms/InviteForm.vue +81 -0
  287. package/src/modules/organizations/components/pages/Department.vue +10 -10
  288. package/src/modules/organizations/components/pages/DepartmentEdit.vue +8 -8
  289. package/src/modules/organizations/components/pages/Members.vue +265 -171
  290. package/src/modules/organizations/components/pages/Organization.new.vue +172 -183
  291. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  292. package/src/modules/organizations/components/pages/OrganizationEdit.vue +1 -1
  293. package/src/modules/organizations/components/pages/Organizations.vue +1 -1
  294. package/src/modules/organizations/components/sections/Organizations.vue +2 -2
  295. package/src/modules/organizations/components/sections/Publics.vue +4 -4
  296. package/src/modules/organizations/configs/navigation.organization.config.js +40 -39
  297. package/src/modules/organizations/controllers/departments.controller.js +53 -34
  298. package/src/modules/organizations/controllers/invites.controller.js +44 -5
  299. package/src/modules/organizations/controllers/memberships.controller.js +43 -4
  300. package/src/modules/organizations/organizations.client.js +24 -15
  301. package/src/modules/organizations/router/departments.router.js +0 -18
  302. package/src/modules/organizations/routes/departments.routes.js +6 -8
  303. package/src/modules/organizations/routes/invites.routes.js +6 -4
  304. package/src/modules/organizations/routes/memberships.routes.js +6 -5
  305. package/src/modules/organizations/store/departments.store.js +5 -0
  306. package/src/modules/organizations/store/invites.store.js +5 -0
  307. package/src/modules/organizations/store/memberships.store.js +23 -0
  308. package/src/modules/products/components/pages/Products.vue +0 -1
  309. package/src/modules/spots/components/blocks/CardSpot.vue +1 -1
  310. package/src/modules/spots/components/pages/Spots.vue +3 -203
  311. package/src/styles/base/all.scss +0 -15
  312. package/src/styles/typography.scss +20 -5
  313. package/dist/martyrs/src/components/Address/Address.vue2.cjs.map +0 -1
  314. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs.map +0 -1
  315. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
  316. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs +0 -76
  317. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs.map +0 -1
  318. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js +0 -76
  319. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js.map +0 -1
  320. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +0 -280
  321. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs.map +0 -1
  322. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +0 -280
  323. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js.map +0 -1
  324. package/dist/martyrs/src/modules/organizations/store/departments.cjs +0 -121
  325. package/dist/martyrs/src/modules/organizations/store/departments.cjs.map +0 -1
  326. package/dist/martyrs/src/modules/organizations/store/departments.js +0 -121
  327. package/dist/martyrs/src/modules/organizations/store/departments.js.map +0 -1
  328. package/dist/martyrs/src/modules/organizations/store/invites.cjs +0 -64
  329. package/dist/martyrs/src/modules/organizations/store/invites.cjs.map +0 -1
  330. package/dist/martyrs/src/modules/organizations/store/invites.js +0 -64
  331. package/dist/martyrs/src/modules/organizations/store/invites.js.map +0 -1
  332. package/dist/martyrs/src/modules/organizations/store/memberships.cjs +0 -87
  333. package/dist/martyrs/src/modules/organizations/store/memberships.cjs.map +0 -1
  334. package/dist/martyrs/src/modules/organizations/store/memberships.js +0 -87
  335. package/dist/martyrs/src/modules/organizations/store/memberships.js.map +0 -1
  336. package/src/CLAUDE.MD +0 -15
  337. package/src/modules/globals/controllers/classes/globals.websocket.ws.js +0 -102
  338. package/src/modules/globals/views/components/blocks/BlockFilter.vue +0 -60
  339. package/src/modules/organizations/store/departments.js +0 -137
  340. package/src/modules/organizations/store/invites.js +0 -76
  341. package/src/modules/organizations/store/memberships.js +0 -110
@@ -1,58 +1,80 @@
1
- import { ref, onMounted, computed, resolveComponent, createElementBlock, openBlock, createVNode, createBlock, createCommentVNode, withCtx, unref, Fragment, renderList, createTextVNode } from "vue";
1
+ import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, unref, withCtx, Fragment, renderList, createBlock, createCommentVNode } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$4 from "../../../../components/Feed/Feed.vue.js";
4
- /* empty css */
5
- /* empty css */
6
- import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
3
+ import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
4
+ import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
7
5
  import _sfc_main$1 from "../../../globals/views/components/sections/SectionPageTitle.vue.js";
8
- import _sfc_main$3 from "../sections/MembersAdd.vue.js";
9
- /* empty css */
10
- import "../../../../components/Menu/MenuItem.vue.js";
11
- import _sfc_main$5 from "../../../auth/views/components/blocks/CardUser.vue.js";
6
+ import _sfc_main$6 from "../forms/InviteForm.vue.js";
7
+ import _sfc_main$7 from "../forms/AddExistingMembersForm.vue.js";
8
+ import _sfc_main$8 from "../forms/DepartmentForm.vue.js";
9
+ import _sfc_main$3 from "../../../auth/views/components/blocks/CardUser.vue.js";
12
10
  import CardDepartment from "../blocks/CardDepartment.vue.js";
13
- import _sfc_main$6 from "../../../icons/navigation/IconDelete.vue.js";
11
+ import _sfc_main$4 from "../../../icons/navigation/IconDelete.vue.js";
14
12
  import { state } from "../../../auth/views/store/auth.js";
15
- import { actions as actions$4 } from "../../../globals/views/store/globals.js";
16
- import { actions as actions$3 } from "../../store/invites.js";
17
- import { actions as actions$2, state as state$3 } from "../../store/memberships.js";
18
- import { actions, state as state$2 } from "../../store/organizations.js";
19
- import { state as state$1, actions as actions$1 } from "../../store/departments.js";
13
+ import "../../../globals/views/store/globals.js";
14
+ import { actions } from "../../store/organizations.js";
15
+ import departmentsStore from "../../store/departments.store.js";
16
+ import membershipsStore from "../../store/memberships.store.js";
17
+ import invitesStore from "../../store/invites.store.js";
20
18
  const _hoisted_1 = { class: "pd-thin" };
21
19
  const _hoisted_2 = {
22
- key: 2,
23
- class: "cols-1 gap-thin"
20
+ key: 0,
21
+ class: "flex-center flex h-20r"
24
22
  };
25
- const _hoisted_3 = { key: 3 };
23
+ const _hoisted_3 = { key: 1 };
24
+ const _hoisted_4 = { class: "mn-b-medium" };
25
+ const _hoisted_5 = { class: "cols-1 gap-thin" };
26
+ const _hoisted_6 = { class: "mn-b-medium" };
27
+ const _hoisted_7 = ["onClick"];
26
28
  const _sfc_main = {
27
29
  __name: "Members",
28
30
  setup(__props) {
29
31
  const route = useRoute();
30
32
  useRouter();
31
33
  const organizationData = ref(null);
32
- const tab = ref("members");
33
- const invitesState = ref([]);
34
- const isOpenMembersAddPopup = ref(false);
35
- function openMembersAddPopup() {
36
- isOpenMembersAddPopup.value = true;
34
+ const membersList = ref([]);
35
+ const invitesList = ref([]);
36
+ const departmentsList = ref([]);
37
+ const isLoaded = ref(false);
38
+ const isOpenInvitePopup = ref(false);
39
+ const isOpenAddUsersPopup = ref(false);
40
+ const isDepartmentPopupOpen = ref(false);
41
+ const editingDepartment = ref(null);
42
+ function openInvitePopup() {
43
+ isOpenInvitePopup.value = true;
37
44
  }
38
- function closeMembersAddPopup() {
39
- isOpenMembersAddPopup.value = false;
45
+ function closeInvitePopup() {
46
+ isOpenInvitePopup.value = false;
47
+ }
48
+ function openAddUsersPopup() {
49
+ isOpenAddUsersPopup.value = true;
50
+ }
51
+ function closeAddUsersPopup() {
52
+ isOpenAddUsersPopup.value = false;
53
+ }
54
+ function openDepartmentPopup(department = null) {
55
+ editingDepartment.value = department;
56
+ isDepartmentPopupOpen.value = true;
57
+ }
58
+ function closeDepartmentPopup() {
59
+ isDepartmentPopupOpen.value = false;
60
+ editingDepartment.value = null;
40
61
  }
41
62
  onMounted(async () => {
42
- organizationData.value = (await actions.read({ _id: route.params._id, user: state.user._id }))[0];
43
- });
44
- computed(() => {
45
- const departmentsState = state$1.departments;
46
- const subdepartmentIds = departmentsState.flatMap(
47
- (department) => department.subdepartments.map((subdepartment) => subdepartment._id)
48
- );
49
- return departmentsState.filter(
50
- (department) => !subdepartmentIds.includes(department._id)
51
- );
63
+ try {
64
+ const response = await actions.read({
65
+ _id: route.params._id,
66
+ user: state.user._id
67
+ });
68
+ organizationData.value = response[0];
69
+ isLoaded.value = true;
70
+ } catch (error) {
71
+ console.error("Error loading organization:", error);
72
+ isLoaded.value = true;
73
+ }
52
74
  });
53
75
  async function handleSendInvite(list, resolve, reject) {
54
76
  try {
55
- const response = await actions$3.create({
77
+ const response = await invitesStore.create({
56
78
  owner: {
57
79
  type: "Organization",
58
80
  target: organizationData.value._id
@@ -63,191 +85,257 @@ const _sfc_main = {
63
85
  },
64
86
  invites: list
65
87
  });
66
- for (let invite of response.createdInvites) {
67
- actions$4.add(invitesState.value, invite);
88
+ if (response.createdInvites) {
89
+ for (let invite of response.createdInvites) {
90
+ invitesStore.addItem(invite, invitesList.value);
91
+ }
92
+ } else if (response._id) {
93
+ invitesStore.addItem(response, invitesList.value);
68
94
  }
69
- closeMembersAddPopup();
95
+ closeInvitePopup();
70
96
  resolve();
71
97
  } catch (error) {
72
98
  reject(error);
73
99
  }
74
100
  }
101
+ function handleUsersAdded(addedUsers) {
102
+ closeAddUsersPopup();
103
+ if (addedUsers && addedUsers.length > 0) {
104
+ addedUsers.forEach((membership) => {
105
+ membershipsStore.addItem(membership, membersList.value);
106
+ });
107
+ }
108
+ }
109
+ function handleDepartmentSaved(department) {
110
+ closeDepartmentPopup();
111
+ console.log("handleDepartmentSaved called with:", department);
112
+ console.log("departmentsList before update:", departmentsList.value);
113
+ console.log("editingDepartment:", editingDepartment.value);
114
+ if (department) {
115
+ if (editingDepartment.value) {
116
+ departmentsStore.updateItem(department, departmentsList.value);
117
+ } else {
118
+ departmentsStore.addItem(department, departmentsList.value);
119
+ }
120
+ } else {
121
+ if (editingDepartment.value) {
122
+ departmentsStore.removeItem(editingDepartment.value, departmentsList.value);
123
+ }
124
+ }
125
+ console.log("departmentsList after update:", departmentsList.value);
126
+ }
75
127
  async function removeMember(index, member) {
76
128
  if (confirm("Confirm remove of member") == true) {
77
- state$3.memberships.splice(index, 1);
78
- await actions$2.delete(member);
129
+ await membershipsStore.delete(member);
130
+ membershipsStore.removeItem(member, membersList.value);
79
131
  }
80
132
  }
81
133
  async function removeInvite(index, invite) {
82
- if (confirm("Confirm remove of member") == true) {
83
- actions$4.delete(invitesState.value, invite);
84
- await actions$3.delete(invite._id);
134
+ if (confirm("Confirm remove of invite") == true) {
135
+ await invitesStore.delete(invite);
136
+ invitesStore.removeItem(invite, invitesList.value);
85
137
  }
86
138
  }
87
139
  return (_ctx, _cache) => {
88
- const _component_router_link = resolveComponent("router-link");
89
140
  return openBlock(), createElementBlock("div", _hoisted_1, [
90
- createVNode(_sfc_main$1, {
91
- title: "Members",
92
- "onUpdate:tabs_current": _cache[0] || (_cache[0] = (update) => tab.value = update),
93
- tabs_current: tab.value,
94
- tabs: [
95
- { name: `Members (${state$2.current.numberOfMembers || 0})`, value: "members" },
96
- { name: "Departments", value: "departments" },
97
- { name: "Invites", value: "invites" }
98
- ],
99
- actions: [
100
- { method: openMembersAddPopup, label: "Invite members" }
101
- ],
102
- class: "mn-b-small bg-light bg-light radius-medium pd-medium"
103
- }, null, 8, ["tabs_current", "tabs", "actions"]),
104
- createVNode(_sfc_main$2, {
105
- title: "Add members",
106
- onClosePopup: closeMembersAddPopup,
107
- isPopupOpen: isOpenMembersAddPopup.value,
108
- class: "bg-white w-min-30r w-max-30r radius-big pd-medium"
109
- }, {
110
- default: withCtx(() => [
111
- createVNode(_sfc_main$3, {
112
- text: "Please enter your email or phone number to send an invitation link:",
113
- organization: organizationData.value,
114
- onSendInvite: handleSendInvite
115
- }, null, 8, ["organization"])
141
+ !isLoaded.value ? (openBlock(), createElementBlock("div", _hoisted_2, _cache[3] || (_cache[3] = [
142
+ createElementVNode("span", { class: "t-transp" }, "Loading...", -1)
143
+ ]))) : (openBlock(), createElementBlock("div", _hoisted_3, [
144
+ createElementVNode("section", _hoisted_4, [
145
+ createVNode(_sfc_main$1, {
146
+ title: `Members ${organizationData.value?.numberOfMembers ? `(${organizationData.value.numberOfMembers})` : ""}`,
147
+ actions: [
148
+ { method: openAddUsersPopup, label: "Add user to organization" }
149
+ ],
150
+ class: "mn-b-small bg-light radius-medium pd-medium"
151
+ }, null, 8, ["title", "actions"]),
152
+ createElementVNode("div", _hoisted_5, [
153
+ createVNode(_sfc_main$2, {
154
+ items: membersList.value,
155
+ "onUpdate:items": _cache[0] || (_cache[0] = ($event) => membersList.value = $event),
156
+ search: true,
157
+ states: {
158
+ empty: {
159
+ title: "No Members Found",
160
+ description: "Currently, there are no members."
161
+ }
162
+ },
163
+ store: {
164
+ read: (options) => unref(membershipsStore).read(options)
165
+ },
166
+ options: {
167
+ target: unref(route).params._id,
168
+ role: ["member", "owner"]
169
+ },
170
+ class: "gap-thin cols-1"
171
+ }, {
172
+ default: withCtx(({
173
+ items
174
+ }) => [
175
+ (openBlock(true), createElementBlock(Fragment, null, renderList(items, (member, index) => {
176
+ return openBlock(), createBlock(_sfc_main$3, {
177
+ key: index,
178
+ user: member,
179
+ _id: member.user._id,
180
+ photo: member.user.profile.photo,
181
+ phone: member.user.phone,
182
+ email: member.user.email,
183
+ name: member.user.profile.name || "No name",
184
+ role: member.label || member.role,
185
+ onClick: ($event) => _ctx.$router.push({ name: "User Profile", params: { _id: member.user._id } }),
186
+ action: member.role !== "owner" ? {
187
+ label: {
188
+ is: _sfc_main$4,
189
+ props: { class: "i-medium", fill: "rgb(var(--white)" }
190
+ },
191
+ method: () => removeMember(index, member)
192
+ } : null,
193
+ class: "h-4r w-100 bg-light radius-medium flex-nowrap flex pd-medium"
194
+ }, null, 8, ["user", "_id", "photo", "phone", "email", "name", "role", "onClick", "action"]);
195
+ }), 128))
196
+ ]),
197
+ _: 1
198
+ }, 8, ["items", "store", "options"])
199
+ ])
116
200
  ]),
117
- _: 1
118
- }, 8, ["isPopupOpen"]),
119
- tab.value === "departments" ? (openBlock(), createBlock(_sfc_main$4, {
120
- key: 0,
121
- states: {
122
- empty: {
123
- title: "No Departments Found",
124
- description: "Currently, there are no departments available.",
125
- action: "Add department",
126
- callback: () => _ctx.$router.push(`/organizations/${unref(route).params._id}/departments/create`)
127
- }
128
- },
129
- store: {
130
- read: (options) => actions$1.read(options),
131
- state: null
132
- },
133
- options: {
134
- organization: unref(route).params._id,
135
- user: state.user._id
136
- }
137
- }, {
138
- default: withCtx(({
139
- items
140
- }) => [
141
- (openBlock(true), createElementBlock(Fragment, null, renderList(items, (department, index) => {
142
- return openBlock(), createBlock(CardDepartment, {
143
- key: index,
144
- department,
201
+ createElementVNode("section", _hoisted_6, [
202
+ createVNode(_sfc_main$1, {
203
+ title: "Departments",
204
+ actions: [
205
+ { method: () => openDepartmentPopup(), label: "Add department" }
206
+ ],
207
+ class: "mn-b-small bg-light bg-light radius-medium pd-medium"
208
+ }, null, 8, ["actions"]),
209
+ createVNode(_sfc_main$2, {
210
+ items: departmentsList.value,
211
+ "onUpdate:items": _cache[1] || (_cache[1] = ($event) => departmentsList.value = $event),
212
+ states: {
213
+ empty: {
214
+ title: "No Departments Found",
215
+ description: "Currently, there are no departments available."
216
+ }
217
+ },
218
+ store: unref(departmentsStore),
219
+ options: {
145
220
  organization: unref(route).params._id,
146
- class: "radius-semi bg-light pos-relative mn-b-thin"
147
- }, null, 8, ["department", "organization"]);
148
- }), 128))
149
- ]),
150
- _: 1
151
- }, 8, ["states", "store", "options"])) : createCommentVNode("", true),
152
- tab.value === "departments" && state$1.departments.length > 0 ? (openBlock(), createBlock(_component_router_link, {
153
- key: 1,
154
- to: {
155
- path: `/organizations/${unref(route).params._id}/departments/create`
156
- },
157
- class: "d-block flex-center flex uppercase t-semi bg-main w-100 pd-small radius-extra"
158
- }, {
159
- default: withCtx(() => _cache[2] || (_cache[2] = [
160
- createTextVNode(" Add department ")
161
- ])),
162
- _: 1
163
- }, 8, ["to"])) : createCommentVNode("", true),
164
- tab.value === "members" ? (openBlock(), createElementBlock("div", _hoisted_2, [
165
- createVNode(_sfc_main$4, {
166
- search: true,
167
- states: {
168
- empty: {
169
- title: "No Members Found",
170
- description: "Currently, there are no members."
221
+ user: state.user._id
171
222
  }
172
- },
173
- store: {
174
- read: (options) => actions$2.read(options)
175
- },
176
- options: {
177
- target: unref(route).params._id,
178
- role: ["member", "owner"]
179
- },
180
- class: "gap-thin cols-1"
181
- }, {
182
- default: withCtx(({
183
- items
184
- }) => [
185
- (openBlock(true), createElementBlock(Fragment, null, renderList(items, (member, index) => {
186
- return openBlock(), createBlock(_sfc_main$5, {
187
- key: index,
188
- user: member,
189
- _id: member.user._id,
190
- photo: member.user.profile.photo,
191
- phone: member.user.phone,
192
- email: member.user.email,
193
- name: member.user.profile.name || "No name",
194
- role: member.label || member.role,
195
- onClick: ($event) => _ctx.$router.push(`/profile/${member.user._id}`),
196
- action: member.role !== "owner" ? {
197
- label: {
198
- is: _sfc_main$6,
199
- props: { class: "i-medium", fill: "rgb(var(--white)" }
223
+ }, {
224
+ default: withCtx(({
225
+ items
226
+ }) => [
227
+ (openBlock(true), createElementBlock(Fragment, null, renderList(items, (department, index) => {
228
+ return openBlock(), createElementBlock("div", {
229
+ key: department._id,
230
+ onClick: () => openDepartmentPopup(department),
231
+ class: "cursor-pointer hover-scale-1"
232
+ }, [
233
+ createVNode(CardDepartment, {
234
+ department,
235
+ organization: unref(route).params._id,
236
+ class: "radius-semi bg-light pos-relative mn-b-thin"
237
+ }, null, 8, ["department", "organization"])
238
+ ], 8, _hoisted_7);
239
+ }), 128))
240
+ ]),
241
+ _: 1
242
+ }, 8, ["items", "store", "options"])
243
+ ]),
244
+ createElementVNode("section", null, [
245
+ createVNode(_sfc_main$1, {
246
+ title: "Invites",
247
+ actions: [
248
+ { method: openInvitePopup, label: "Invite members" }
249
+ ],
250
+ class: "mn-b-small bg-light bg-light radius-medium pd-medium"
251
+ }, null, 8, ["actions"]),
252
+ createVNode(_sfc_main$2, {
253
+ items: invitesList.value,
254
+ "onUpdate:items": _cache[2] || (_cache[2] = ($event) => invitesList.value = $event),
255
+ states: {
256
+ empty: {
257
+ title: "No Invites Found",
258
+ description: "Currently, there are no pending invites."
259
+ }
260
+ },
261
+ store: {
262
+ read: (options) => unref(invitesStore).read(options)
263
+ },
264
+ options: {
265
+ owner: unref(route).params._id
266
+ },
267
+ class: "gap-thin cols-1"
268
+ }, {
269
+ default: withCtx(({
270
+ items
271
+ }) => [
272
+ (openBlock(true), createElementBlock(Fragment, null, renderList(items, (invite, index) => {
273
+ return openBlock(), createBlock(_sfc_main$3, {
274
+ key: invite._id,
275
+ user: { type: "invite" },
276
+ name: invite.email || invite.phone,
277
+ role: invite.status,
278
+ action: {
279
+ label: {
280
+ is: _sfc_main$4,
281
+ props: { class: "i-medium", fill: "rgb(var(--white)" }
282
+ },
283
+ method: () => removeInvite(index, invite)
200
284
  },
201
- method: () => removeMember(index, member)
202
- } : null,
203
- class: "h-4r w-100 bg-light radius-medium flex-nowrap flex pd-medium"
204
- }, null, 8, ["user", "_id", "photo", "phone", "email", "name", "role", "onClick", "action"]);
205
- }), 128))
285
+ class: "h-4r w-100 bg-light radius-medium flex-nowrap flex pd-medium"
286
+ }, null, 8, ["name", "role", "action"]);
287
+ }), 128))
288
+ ]),
289
+ _: 1
290
+ }, 8, ["items", "store", "options"])
291
+ ]),
292
+ createVNode(_sfc_main$5, {
293
+ title: "Invite members",
294
+ onClosePopup: closeInvitePopup,
295
+ isPopupOpen: isOpenInvitePopup.value,
296
+ class: "bg-white w-min-30r w-max-30r radius-medium pd-medium"
297
+ }, {
298
+ default: withCtx(() => [
299
+ organizationData.value ? (openBlock(), createBlock(_sfc_main$6, {
300
+ key: 0,
301
+ organization: organizationData.value,
302
+ onSendInvite: handleSendInvite
303
+ }, null, 8, ["organization"])) : createCommentVNode("", true)
206
304
  ]),
207
305
  _: 1
208
- }, 8, ["store", "options"])
209
- ])) : createCommentVNode("", true),
210
- tab.value === "invites" ? (openBlock(), createElementBlock("div", _hoisted_3, [
211
- createVNode(_sfc_main$4, {
212
- items: invitesState.value,
213
- "onUpdate:items": _cache[1] || (_cache[1] = ($event) => invitesState.value = $event),
214
- states: {
215
- empty: {
216
- title: "No Invites Found",
217
- description: "Currently, there are no members."
218
- }
219
- },
220
- store: {
221
- read: (options) => actions$3.read(options)
222
- },
223
- options: {
224
- owner: unref(route).params._id
225
- },
226
- class: "gap-thin cols-1"
306
+ }, 8, ["isPopupOpen"]),
307
+ createVNode(_sfc_main$5, {
308
+ title: "Add users to organization",
309
+ onClosePopup: closeAddUsersPopup,
310
+ isPopupOpen: isOpenAddUsersPopup.value,
311
+ class: "bg-white w-min-40r w-max-50r radius-medium pd-medium"
227
312
  }, {
228
- default: withCtx(({
229
- items
230
- }) => [
231
- (openBlock(true), createElementBlock(Fragment, null, renderList(items, (invite) => {
232
- return openBlock(), createBlock(_sfc_main$5, {
233
- key: _ctx.index,
234
- user: { type: "invite" },
235
- name: invite.email || invite.phone,
236
- role: invite.status,
237
- action: {
238
- label: {
239
- is: _sfc_main$6,
240
- props: { class: "i-medium", fill: "rgb(var(--white)" }
241
- },
242
- method: () => removeInvite(_ctx.index, invite)
243
- },
244
- class: "h-4r w-100 bg-light radius-big flex-nowrap flex pd-medium"
245
- }, null, 8, ["name", "role", "action"]);
246
- }), 128))
313
+ default: withCtx(() => [
314
+ createVNode(_sfc_main$7, {
315
+ organizationId: unref(route).params._id,
316
+ onUsersAdded: handleUsersAdded
317
+ }, null, 8, ["organizationId"])
318
+ ]),
319
+ _: 1
320
+ }, 8, ["isPopupOpen"]),
321
+ createVNode(_sfc_main$5, {
322
+ title: editingDepartment.value ? "Edit Department" : "Create Department",
323
+ onClosePopup: closeDepartmentPopup,
324
+ isPopupOpen: isDepartmentPopupOpen.value,
325
+ align: "center right",
326
+ class: "bg-white h-min-100 w-max-50r pd-medium"
327
+ }, {
328
+ default: withCtx(() => [
329
+ createVNode(_sfc_main$8, {
330
+ department: editingDepartment.value,
331
+ organizationId: unref(route).params._id,
332
+ onClose: closeDepartmentPopup,
333
+ onSaved: handleDepartmentSaved
334
+ }, null, 8, ["department", "organizationId"])
247
335
  ]),
248
336
  _: 1
249
- }, 8, ["items", "store", "options"])
250
- ])) : createCommentVNode("", true)
337
+ }, 8, ["title", "isPopupOpen"])
338
+ ]))
251
339
  ]);
252
340
  };
253
341
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Members.vue.js","sources":["../../../../../../../src/modules/organizations/components/pages/Members.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n <SectionPageTitle\n title=\"Members\"\n @update:tabs_current=\"(update) => tab = update\"\n :tabs_current=\"tab\"\n :tabs=\"[\n { name: `Members (${organization.state.current.numberOfMembers || 0})`, value: 'members' },\n { name: 'Departments', value: 'departments' },\n { name: 'Invites', value: 'invites' }\n ]\"\n :actions=\"[\n { method: openMembersAddPopup, label: 'Invite members' }\n ]\"\n class=\"mn-b-small bg-light bg-light radius-medium pd-medium\"\n />\n\n <Popup \n title=\"Add members\"\n @close-popup=\"closeMembersAddPopup\" \n :isPopupOpen=\"isOpenMembersAddPopup\"\n class=\"bg-white w-min-30r w-max-30r radius-big pd-medium\"\n >\n <MembersAdd \n text=\"Please enter your email or phone number to send an invitation link:\"\n :organization=\"organizationData\"\n @send-invite=\"handleSendInvite\"\n />\n </Popup> \n\n <Feed\n v-if=\"tab === 'departments'\"\n :states=\"{\n empty: {\n title: 'No Departments Found',\n description: 'Currently, there are no departments available.',\n action: 'Add department',\n callback: () => $router.push(`/organizations/${route.params._id}/departments/create`)\n }\n }\"\n :store=\"{\n read: (options) => departments.actions.read(options),\n state: null\n }\"\n :options=\"{\n organization: route.params._id,\n user: auth.state.user._id,\n }\"\n v-slot=\"{ \n items \n }\"\n >\n <CardDepartment\n v-for=\"(department, index) in items\"\n :key=\"index\"\n :department=\"department\"\n :organization=\"route.params._id\"\n class=\"radius-semi bg-light pos-relative mn-b-thin\"\n />\n\n </Feed>\n\n <router-link\n v-if=\"tab === 'departments' && departments.state.departments.length > 0\"\n :to=\"{\n path: `/organizations/${route.params._id}/departments/create`\n }\"\n class=\"d-block flex-center flex uppercase t-semi bg-main w-100 pd-small radius-extra\"\n >\n Add department\n </router-link>\n\n <!-- Members -->\n <div \n v-if=\"tab === 'members'\"\n class=\"cols-1 gap-thin\"\n >\n <Feed\n :search=\"true\"\n :states=\"{\n empty: {\n title: 'No Members Found',\n description: 'Currently, there are no members.'\n },\n }\"\n :store=\"{\n read: (options) => memberships.actions.read(options)\n }\"\n :options=\"{\n target: route.params._id,\n role: ['member','owner']\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-1\"\n >\n <CardUser \n v-for=\"(member,index) in items\" \n :key=\"index\" \n :user=\"member\"\n :_id=\"member.user._id\"\n :photo=\"member.user.profile.photo\" \n :phone=\"member.user.phone\"\n :email=\"member.user.email\"\n :name=\"member.user.profile.name || 'No name'\"\n :role=\"member.label || member.role\"\n @click=\"$router.push(`/profile/${member.user._id}`)\" \n :action=\" member.role !== 'owner' ? {\n label: {\n is: IconDelete,\n props: { class: 'i-medium', fill: 'rgb(var(--white)' }\n },\n method: () => removeMember(index, member)\n } : null\"\n class=\"h-4r w-100 bg-light radius-medium flex-nowrap flex pd-medium\"\n />\n </Feed>\n </div>\n <!-- Invites -->\n <div \n v-if=\"tab === 'invites'\"\n > \n <Feed\n v-model:items=\"invitesState\"\n :states=\"{\n empty: {\n title: 'No Invites Found',\n description: 'Currently, there are no members.'\n }\n }\"\n :store=\"{\n read: (options) => invites.actions.read(options)\n }\"\n :options=\"{\n owner: route.params._id\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-1\"\n >\n <CardUser \n v-for=\"invite in items\" \n :key=\"index\" \n :user=\"{ type: 'invite'} \"\n :name=\"invite.email || invite.phone\"\n :role=\"invite.status\"\n :action=\"{\n label: {\n is: IconDelete,\n props: { class: 'i-medium', fill: 'rgb(var(--white)' }\n },\n method: () => removeInvite(index, invite)\n }\"\n class=\"h-4r w-100 bg-light radius-big flex-nowrap flex pd-medium\"\n />\n </Feed>\n </div>\n \n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useRoute, useRouter } from 'vue-router'\n\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Block from '@martyrs/src/components/Block/Block.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\n\nimport SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue'\nimport PlaceholderUserpic from '@martyrs/src/modules/icons/placeholders/PlaceholderUserpic.vue'\n\nimport MembersAdd from '@martyrs/src/modules/organizations/components/sections/MembersAdd.vue';\n\n// Mobile Module\nimport Menu from '@martyrs/src/components/Menu/Menu.vue'\nimport MenuItem from '@martyrs/src/components/Menu/MenuItem.vue'\n\nimport CardUser from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\nimport CardDepartment from '@martyrs/src/modules/organizations/components/blocks/CardDepartment.vue';\n\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue'\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js'\nimport * as invites from '@martyrs/src/modules/organizations/store/invites.js';\nimport * as memberships from '@martyrs/src/modules/organizations/store/memberships.js';\nimport * as organization from '@martyrs/src/modules/organizations/store/organizations.js'\nimport * as departments from '@martyrs/src/modules/organizations/store/departments.js';\n\nconst route = useRoute()\nconst router = useRouter()\nconst organizationData = ref(null)\n\n// Tab logic\nconst tab = ref('members')\n// States\nconst invitesState = ref([])\n// Popup\nconst isOpenMembersAddPopup = ref(false);\n\nfunction openMembersAddPopup() {\n isOpenMembersAddPopup.value = true;\n}\n\nfunction closeMembersAddPopup() {\n isOpenMembersAddPopup.value = false;\n}\n\nonMounted(async () => {\n organizationData.value = (await organization.actions.read({_id: route.params._id, user: auth.state.user._id}))[0]\n ;\n})\n\nconst FirstLevelDepartments = computed(() => {\n const departmentsState = departments.state.departments;\n\n const subdepartmentIds = departmentsState.flatMap(department =>\n department.subdepartments.map(subdepartment => subdepartment._id)\n );\n\n return departmentsState.filter(department =>\n !subdepartmentIds.includes(department._id)\n );\n});\n\nasync function handleSendInvite(list, resolve, reject) {\n try {\n const response = await invites.actions.create({\n owner: {\n type: 'Organization',\n target: organizationData.value._id\n },\n creator: {\n type: 'User',\n target: auth.state.user._id\n },\n invites: list,\n });\n for (let invite of response.createdInvites) {\n globals.actions.add(invitesState.value, invite)\n }\n closeMembersAddPopup();\n resolve(); // Вызываем resolve, когда все операции завершены успешно\n } catch (error) {\n reject(error); // Вызываем reject, если произошла ошибка\n }\n}\n\nasync function removeMember(index,member) {\n if (confirm(\"Confirm remove of member\") == true) {\n memberships.state.memberships.splice(index, 1);\n await memberships.actions.delete(member);\n } \n}\n\nasync function removeInvite(index,invite) {\n if (confirm(\"Confirm remove of member\") == true) {\n globals.actions.delete(invitesState.value, invite)\n await invites.actions.delete(invite._id);\n }\n}\n</script>\n\n<style scoped>\n</style>\n"],"names":["organization.actions","auth.state","departments.state","invites.actions","globals.actions","memberships.state","memberships.actions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiMA,UAAM,QAAU,SAAQ;AACP,cAAS;AAC1B,UAAM,mBAAmB,IAAI,IAAI;AAGjC,UAAM,MAAM,IAAI,SAAS;AAEzB,UAAM,eAAe,IAAI,CAAA,CAAE;AAE3B,UAAM,wBAAwB,IAAI,KAAK;AAEvC,aAAS,sBAAsB;AAC7B,4BAAsB,QAAQ;AAAA,IAChC;AAEA,aAAS,uBAAuB;AAC9B,4BAAsB,QAAQ;AAAA,IAChC;AAEA,cAAU,YAAY;AACpB,uBAAiB,SAAS,MAAMA,QAAqB,KAAK,EAAC,KAAK,MAAM,OAAO,KAAK,MAAMC,MAAW,KAAK,IAAG,CAAC,GAAG,CAAC;AAAA,IAElH,CAAC;AAE6B,aAAS,MAAM;AAC3C,YAAM,mBAAmBC,QAAkB;AAE3C,YAAM,mBAAmB,iBAAiB;AAAA,QAAQ,gBAChD,WAAW,eAAe,IAAI,mBAAiB,cAAc,GAAG;AAAA,MACpE;AAEE,aAAO,iBAAiB;AAAA,QAAO,gBAC7B,CAAC,iBAAiB,SAAS,WAAW,GAAG;AAAA,MAC7C;AAAA,IACA,CAAC;AAED,mBAAe,iBAAiB,MAAM,SAAS,QAAQ;AACrD,UAAI;AACF,cAAM,WAAW,MAAMC,UAAgB,OAAO;AAAA,UAC5C,OAAO;AAAA,YACL,MAAM;AAAA,YACN,QAAQ,iBAAiB,MAAM;AAAA,UACvC;AAAA,UACM,SAAS;AAAA,YACP,MAAM;AAAA,YACN,QAAQF,MAAW,KAAK;AAAA,UAChC;AAAA,UACM,SAAS;AAAA,QACf,CAAK;AACD,iBAAS,UAAU,SAAS,gBAAgB;AAC1CG,oBAAgB,IAAI,aAAa,OAAO,MAAM;AAAA,QAChD;AACA,6BAAoB;AACpB;MACF,SAAS,OAAO;AACd,eAAO,KAAK;AAAA,MACd;AAAA,IACF;AAEA,mBAAe,aAAa,OAAM,QAAQ;AACxC,UAAI,QAAQ,0BAA0B,KAAK,MAAM;AAC/CC,gBAAkB,YAAY,OAAO,OAAO,CAAC;AAC7C,cAAMC,UAAoB,OAAO,MAAM;AAAA,MACzC;AAAA,IACF;AAEA,mBAAe,aAAa,OAAM,QAAQ;AACxC,UAAI,QAAQ,0BAA0B,KAAK,MAAM;AAC/CF,kBAAgB,OAAO,aAAa,OAAO,MAAM;AACjD,cAAMD,UAAgB,OAAO,OAAO,GAAG;AAAA,MACzC;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Members.vue.js","sources":["../../../../../../../src/modules/organizations/components/pages/Members.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n <div v-if=\"!isLoaded\" class=\"flex-center flex h-20r\">\n <span class=\"t-transp\">Loading...</span>\n </div>\n <div v-else>\n <!-- Members Section -->\n <section class=\"mn-b-medium\">\n <SectionPageTitle\n :title=\"`Members ${organizationData?.numberOfMembers ? `(${organizationData.numberOfMembers})` : ''}`\"\n :actions=\"[\n { method: openAddUsersPopup, label: 'Add user to organization' }\n ]\"\n class=\"mn-b-small bg-light radius-medium pd-medium\"\n />\n\n <div class=\"cols-1 gap-thin\">\n <Feed\n v-model:items=\"membersList\"\n :search=\"true\"\n :states=\"{\n empty: {\n title: 'No Members Found',\n description: 'Currently, there are no members.'\n },\n }\"\n :store=\"{\n read: (options) => membershipsStore.read(options)\n }\"\n :options=\"{\n target: route.params._id,\n role: ['member','owner']\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-1\"\n >\n <CardUser \n v-for=\"(member,index) in items\" \n :key=\"index\" \n :user=\"member\"\n :_id=\"member.user._id\"\n :photo=\"member.user.profile.photo\" \n :phone=\"member.user.phone\"\n :email=\"member.user.email\"\n :name=\"member.user.profile.name || 'No name'\"\n :role=\"member.label || member.role\"\n @click=\"$router.push({ name: 'User Profile', params: { _id: member.user._id } })\" \n :action=\" member.role !== 'owner' ? {\n label: {\n is: IconDelete,\n props: { class: 'i-medium', fill: 'rgb(var(--white)' }\n },\n method: () => removeMember(index, member)\n } : null\"\n class=\"h-4r w-100 bg-light radius-medium flex-nowrap flex pd-medium\"\n />\n </Feed>\n </div>\n </section>\n\n <!-- Departments Section -->\n <section class=\"mn-b-medium\">\n <SectionPageTitle\n title=\"Departments\"\n :actions=\"[\n { method: () => openDepartmentPopup(), label: 'Add department' }\n ]\"\n class=\"mn-b-small bg-light bg-light radius-medium pd-medium\"\n />\n\n <Feed\n v-model:items=\"departmentsList\"\n :states=\"{\n empty: {\n title: 'No Departments Found',\n description: 'Currently, there are no departments available.'\n }\n }\"\n :store=\"departmentsStore\"\n :options=\"{\n organization: route.params._id,\n user: auth.state.user._id,\n }\"\n v-slot=\"{ \n items \n }\"\n >\n <div\n v-for=\"(department, index) in items\"\n :key=\"department._id\"\n @click=\"() => openDepartmentPopup(department)\"\n class=\"cursor-pointer hover-scale-1\"\n >\n <CardDepartment\n :department=\"department\"\n :organization=\"route.params._id\"\n class=\"radius-semi bg-light pos-relative mn-b-thin\"\n />\n </div>\n </Feed>\n </section>\n\n <!-- Invites Section -->\n <section>\n <SectionPageTitle\n title=\"Invites\"\n :actions=\"[\n { method: openInvitePopup, label: 'Invite members' }\n ]\"\n class=\"mn-b-small bg-light bg-light radius-medium pd-medium\"\n />\n\n <Feed\n v-model:items=\"invitesList\"\n :states=\"{\n empty: {\n title: 'No Invites Found',\n description: 'Currently, there are no pending invites.'\n }\n }\"\n :store=\"{\n read: (options) => invitesStore.read(options)\n }\"\n :options=\"{\n owner: route.params._id\n }\"\n v-slot=\"{ \n items \n }\"\n class=\"gap-thin cols-1\"\n >\n <CardUser \n v-for=\"(invite, index) in items\" \n :key=\"invite._id\" \n :user=\"{ type: 'invite'} \"\n :name=\"invite.email || invite.phone\"\n :role=\"invite.status\"\n :action=\"{\n label: {\n is: IconDelete,\n props: { class: 'i-medium', fill: 'rgb(var(--white)' }\n },\n method: () => removeInvite(index, invite)\n }\"\n class=\"h-4r w-100 bg-light radius-medium flex-nowrap flex pd-medium\"\n />\n </Feed>\n </section>\n\n <!-- Invite Members Popup -->\n <Popup \n title=\"Invite members\"\n @close-popup=\"closeInvitePopup\" \n :isPopupOpen=\"isOpenInvitePopup\"\n class=\"bg-white w-min-30r w-max-30r radius-medium pd-medium\"\n >\n <InviteForm \n v-if=\"organizationData\"\n :organization=\"organizationData\"\n @send-invite=\"handleSendInvite\"\n />\n </Popup>\n\n <!-- Add Existing Users Popup -->\n <Popup \n title=\"Add users to organization\"\n @close-popup=\"closeAddUsersPopup\" \n :isPopupOpen=\"isOpenAddUsersPopup\"\n class=\"bg-white w-min-40r w-max-50r radius-medium pd-medium\"\n >\n <AddExistingMembersForm \n :organizationId=\"route.params._id\"\n @users-added=\"handleUsersAdded\"\n />\n </Popup>\n\n <!-- Department Edit Popup -->\n <Popup\n :title=\"editingDepartment ? 'Edit Department' : 'Create Department'\"\n @close-popup=\"closeDepartmentPopup\"\n :isPopupOpen=\"isDepartmentPopupOpen\"\n align=\"center right\"\n class=\"bg-white h-min-100 w-max-50r pd-medium\"\n >\n <DepartmentForm\n :department=\"editingDepartment\"\n :organizationId=\"route.params._id\"\n @close=\"closeDepartmentPopup\"\n @saved=\"handleDepartmentSaved\"\n />\n </Popup>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nimport Feed from '@martyrs/src/components/Feed/Feed.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\n\nimport SectionPageTitle from '@martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue';\n\nimport InviteForm from '@martyrs/src/modules/organizations/components/forms/InviteForm.vue';\nimport AddExistingMembersForm from '@martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue';\nimport DepartmentForm from '@martyrs/src/modules/organizations/components/forms/DepartmentForm.vue';\n\nimport CardUser from '@martyrs/src/modules/auth/views/components/blocks/CardUser.vue';\nimport CardDepartment from '@martyrs/src/modules/organizations/components/blocks/CardDepartment.vue';\n\nimport IconDelete from '@martyrs/src/modules/icons/navigation/IconDelete.vue';\n\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js';\nimport * as globals from '@martyrs/src/modules/globals/views/store/globals.js';\nimport * as organization from '@martyrs/src/modules/organizations/store/organizations.js';\nimport departmentsStore from '@martyrs/src/modules/organizations/store/departments.store.js';\nimport membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js';\nimport invitesStore from '@martyrs/src/modules/organizations/store/invites.store.js';\n\nconst route = useRoute();\nconst router = useRouter();\n\n// Data\nconst organizationData = ref(null);\nconst membersList = ref([]);\nconst invitesList = ref([]);\nconst departmentsList = ref([]);\nconst isLoaded = ref(false);\n\n// Popups state\nconst isOpenInvitePopup = ref(false);\nconst isOpenAddUsersPopup = ref(false);\nconst isDepartmentPopupOpen = ref(false);\nconst editingDepartment = ref(null);\n\n// Popup functions\nfunction openInvitePopup() {\n isOpenInvitePopup.value = true;\n}\n\nfunction closeInvitePopup() {\n isOpenInvitePopup.value = false;\n}\n\nfunction openAddUsersPopup() {\n isOpenAddUsersPopup.value = true;\n}\n\nfunction closeAddUsersPopup() {\n isOpenAddUsersPopup.value = false;\n}\n\nfunction openDepartmentPopup(department = null) {\n editingDepartment.value = department;\n isDepartmentPopupOpen.value = true;\n}\n\nfunction closeDepartmentPopup() {\n isDepartmentPopupOpen.value = false;\n editingDepartment.value = null;\n}\n\n// Load organization data\nonMounted(async () => {\n try {\n const response = await organization.actions.read({\n _id: route.params._id, \n user: auth.state.user._id\n });\n organizationData.value = response[0];\n isLoaded.value = true;\n } catch (error) {\n console.error('Error loading organization:', error);\n isLoaded.value = true; // Still show the page even if organization load fails\n }\n});\n\n// Handlers\nasync function handleSendInvite(list, resolve, reject) {\n try {\n const response = await invitesStore.create({\n owner: {\n type: 'Organization',\n target: organizationData.value._id\n },\n creator: {\n type: 'User',\n target: auth.state.user._id\n },\n invites: list,\n });\n \n // Assuming the API returns an array of created invites\n if (response.createdInvites) {\n for (let invite of response.createdInvites) {\n invitesStore.addItem(invite, invitesList.value);\n }\n } else if (response._id) {\n // Single invite created\n invitesStore.addItem(response, invitesList.value);\n }\n \n closeInvitePopup();\n resolve();\n } catch (error) {\n reject(error);\n }\n}\n\nfunction handleUsersAdded(addedUsers) {\n closeAddUsersPopup();\n // Add new members to the list\n if (addedUsers && addedUsers.length > 0) {\n addedUsers.forEach(membership => {\n membershipsStore.addItem(membership, membersList.value);\n });\n }\n}\n\nfunction handleDepartmentSaved(department) {\n closeDepartmentPopup();\n \n console.log('handleDepartmentSaved called with:', department);\n console.log('departmentsList before update:', departmentsList.value);\n console.log('editingDepartment:', editingDepartment.value);\n \n if (department) {\n // Update or add department in the list\n if (editingDepartment.value) {\n departmentsStore.updateItem(department, departmentsList.value);\n } else {\n departmentsStore.addItem(department, departmentsList.value);\n }\n } else {\n // Department was deleted\n if (editingDepartment.value) {\n departmentsStore.removeItem(editingDepartment.value, departmentsList.value);\n }\n }\n \n console.log('departmentsList after update:', departmentsList.value);\n}\n\nasync function removeMember(index, member) {\n if (confirm(\"Confirm remove of member\") == true) {\n await membershipsStore.delete(member);\n membershipsStore.removeItem(member, membersList.value);\n } \n}\n\nasync function removeInvite(index, invite) {\n if (confirm(\"Confirm remove of invite\") == true) {\n await invitesStore.delete(invite);\n invitesStore.removeItem(invite, invitesList.value);\n }\n}\n</script>\n\n<style scoped>\n</style>"],"names":["organization.actions","auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8NA,UAAM,QAAQ,SAAQ;AACP,cAAS;AAGxB,UAAM,mBAAmB,IAAI,IAAI;AACjC,UAAM,cAAc,IAAI,EAAE;AAC1B,UAAM,cAAc,IAAI,EAAE;AAC1B,UAAM,kBAAkB,IAAI,EAAE;AAC9B,UAAM,WAAW,IAAI,KAAK;AAG1B,UAAM,oBAAoB,IAAI,KAAK;AACnC,UAAM,sBAAsB,IAAI,KAAK;AACrC,UAAM,wBAAwB,IAAI,KAAK;AACvC,UAAM,oBAAoB,IAAI,IAAI;AAGlC,aAAS,kBAAkB;AACzB,wBAAkB,QAAQ;AAAA,IAC5B;AAEA,aAAS,mBAAmB;AAC1B,wBAAkB,QAAQ;AAAA,IAC5B;AAEA,aAAS,oBAAoB;AAC3B,0BAAoB,QAAQ;AAAA,IAC9B;AAEA,aAAS,qBAAqB;AAC5B,0BAAoB,QAAQ;AAAA,IAC9B;AAEA,aAAS,oBAAoB,aAAa,MAAM;AAC9C,wBAAkB,QAAQ;AAC1B,4BAAsB,QAAQ;AAAA,IAChC;AAEA,aAAS,uBAAuB;AAC9B,4BAAsB,QAAQ;AAC9B,wBAAkB,QAAQ;AAAA,IAC5B;AAGA,cAAU,YAAY;AACpB,UAAI;AACF,cAAM,WAAW,MAAMA,QAAqB,KAAK;AAAA,UAC/C,KAAK,MAAM,OAAO;AAAA,UAClB,MAAMC,MAAW,KAAK;AAAA,QAC5B,CAAK;AACD,yBAAiB,QAAQ,SAAS,CAAC;AACnC,iBAAS,QAAQ;AAAA,MACnB,SAAS,OAAO;AACd,gBAAQ,MAAM,+BAA+B,KAAK;AAClD,iBAAS,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAGD,mBAAe,iBAAiB,MAAM,SAAS,QAAQ;AACrD,UAAI;AACF,cAAM,WAAW,MAAM,aAAa,OAAO;AAAA,UACzC,OAAO;AAAA,YACL,MAAM;AAAA,YACN,QAAQ,iBAAiB,MAAM;AAAA,UACvC;AAAA,UACM,SAAS;AAAA,YACP,MAAM;AAAA,YACN,QAAQA,MAAW,KAAK;AAAA,UAChC;AAAA,UACM,SAAS;AAAA,QACf,CAAK;AAGD,YAAI,SAAS,gBAAgB;AAC3B,mBAAS,UAAU,SAAS,gBAAgB;AAC1C,yBAAa,QAAQ,QAAQ,YAAY,KAAK;AAAA,UAChD;AAAA,QACF,WAAW,SAAS,KAAK;AAEvB,uBAAa,QAAQ,UAAU,YAAY,KAAK;AAAA,QAClD;AAEA,yBAAgB;AAChB,gBAAO;AAAA,MACT,SAAS,OAAO;AACd,eAAO,KAAK;AAAA,MACd;AAAA,IACF;AAEA,aAAS,iBAAiB,YAAY;AACpC,yBAAkB;AAElB,UAAI,cAAc,WAAW,SAAS,GAAG;AACvC,mBAAW,QAAQ,gBAAc;AAC/B,2BAAiB,QAAQ,YAAY,YAAY,KAAK;AAAA,QACxD,CAAC;AAAA,MACH;AAAA,IACF;AAEA,aAAS,sBAAsB,YAAY;AACzC,2BAAoB;AAEpB,cAAQ,IAAI,sCAAsC,UAAU;AAC5D,cAAQ,IAAI,kCAAkC,gBAAgB,KAAK;AACnE,cAAQ,IAAI,sBAAsB,kBAAkB,KAAK;AAEzD,UAAI,YAAY;AAEd,YAAI,kBAAkB,OAAO;AAC3B,2BAAiB,WAAW,YAAY,gBAAgB,KAAK;AAAA,QAC/D,OAAO;AACL,2BAAiB,QAAQ,YAAY,gBAAgB,KAAK;AAAA,QAC5D;AAAA,MACF,OAAO;AAEL,YAAI,kBAAkB,OAAO;AAC3B,2BAAiB,WAAW,kBAAkB,OAAO,gBAAgB,KAAK;AAAA,QAC5E;AAAA,MACF;AAEA,cAAQ,IAAI,iCAAiC,gBAAgB,KAAK;AAAA,IACpE;AAEA,mBAAe,aAAa,OAAO,QAAQ;AACzC,UAAI,QAAQ,0BAA0B,KAAK,MAAM;AAC/C,cAAM,iBAAiB,OAAO,MAAM;AACpC,yBAAiB,WAAW,QAAQ,YAAY,KAAK;AAAA,MACvD;AAAA,IACF;AAEA,mBAAe,aAAa,OAAO,QAAQ;AACzC,UAAI,QAAQ,0BAA0B,KAAK,MAAM;AAC/C,cAAM,aAAa,OAAO,MAAM;AAChC,qBAAa,WAAW,QAAQ,YAAY,KAAK;AAAA,MACnD;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}