@ozdao/martyrs 0.2.602 → 0.2.603

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 (714) hide show
  1. package/dist/{abac-BPl9Bmf9.js → abac-Blt8bUTL.js} +3 -3
  2. package/dist/{addUserStatusFields-Cc-JpmPo.js → addUserStatusFields-CjV_sbh7.js} +2 -2
  3. package/dist/auth.server.js +57 -2
  4. package/dist/builder.js +130 -81
  5. package/dist/community.server.js +11 -11
  6. package/dist/core.server.js +2 -2
  7. package/dist/{core.verifier-gPPX_jhf.js → core.verifier-DVB2a21y.js} +6 -3
  8. package/dist/{crud-DpOXTZep.js → crud-BT5FIvQC.js} +2 -3
  9. package/dist/engagement.schema-B-Cc_NsG.js +6 -0
  10. package/dist/events.server.js +3 -3
  11. package/dist/gallery.server.js +1 -1
  12. package/dist/governance.server.js +1632 -0
  13. package/dist/icons.server.js +267 -0
  14. package/dist/inventory.server.js +6 -6
  15. package/dist/martyrs/dist/martyrs.es3.js +116 -0
  16. package/dist/martyrs/dist/martyrs.es3.js.map +1 -0
  17. package/dist/martyrs/dist/martyrs.es39.js +124 -0
  18. package/dist/martyrs/dist/martyrs.es39.js.map +1 -0
  19. package/dist/martyrs/dist/martyrs.es43.js +30 -0
  20. package/dist/martyrs/dist/martyrs.es43.js.map +1 -0
  21. package/dist/martyrs/dist/martyrs.es44.js +28 -0
  22. package/dist/martyrs/dist/martyrs.es44.js.map +1 -0
  23. package/dist/martyrs/dist/martyrs.es46.js +10 -0
  24. package/dist/martyrs/dist/martyrs.es46.js.map +1 -0
  25. package/dist/martyrs/src/components/Address/{Address.vue.js → Address.vue2.js} +2 -2
  26. package/dist/martyrs/src/components/Address/Address.vue2.js.map +1 -0
  27. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  28. package/dist/martyrs/src/components/Block/Block.vue.js.map +1 -1
  29. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +8 -5
  30. package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
  31. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  32. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  33. package/dist/martyrs/src/components/EditImages/{EditImages.vue2.js → EditImages.vue.js} +2 -2
  34. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -0
  35. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  36. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +4 -4
  37. package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue.js → LocationMarker.vue2.js} +2 -2
  38. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js.map +1 -0
  39. package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
  40. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
  41. package/dist/martyrs/src/components/Table/StatusBadge.vue.js +19 -10
  42. package/dist/martyrs/src/components/Table/StatusBadge.vue.js.map +1 -1
  43. package/dist/martyrs/src/components/Text/Text.vue.js +1 -1
  44. package/dist/martyrs/src/components/Text/Text.vue.js.map +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/blocks/OtpDialog.vue.js +2 -2
  46. package/dist/martyrs/src/modules/auth/views/components/blocks/PopupAuth.vue.js +3 -3
  47. package/dist/martyrs/src/modules/auth/views/components/blocks/PopupAuth.vue.js.map +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +3 -3
  49. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  50. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +17 -21
  51. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js.map +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +13 -13
  53. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
  54. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +3 -3
  55. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +42 -4
  56. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  58. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +34 -66
  59. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
  60. package/dist/martyrs/src/modules/auth/views/router/users.router.js +0 -53
  61. package/dist/martyrs/src/modules/auth/views/router/users.router.js.map +1 -1
  62. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +515 -103
  63. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  64. package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js +1 -3
  65. package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js.map +1 -1
  66. package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js +1 -32
  67. package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js.map +1 -1
  68. package/dist/martyrs/src/modules/community/community.client.js +49 -8
  69. package/dist/martyrs/src/modules/community/community.client.js.map +1 -1
  70. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +10 -4
  71. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  72. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
  73. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  74. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  75. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  76. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +28 -17
  77. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js.map +1 -1
  78. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +36 -28
  79. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
  80. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +2 -2
  81. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  82. package/dist/martyrs/src/modules/community/router/community.backoffice.router.js +21 -0
  83. package/dist/martyrs/src/modules/community/router/community.backoffice.router.js.map +1 -0
  84. package/dist/martyrs/src/modules/community/router/community.organization.router.js +70 -0
  85. package/dist/martyrs/src/modules/community/router/community.organization.router.js.map +1 -0
  86. package/dist/martyrs/src/modules/community/router/community.router.js +73 -0
  87. package/dist/martyrs/src/modules/community/router/community.router.js.map +1 -0
  88. package/dist/martyrs/src/modules/community/router/community.user.router.js +20 -0
  89. package/dist/martyrs/src/modules/community/router/community.user.router.js.map +1 -0
  90. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js +1 -1
  91. package/dist/martyrs/src/modules/constructor/components/elements/Textarea.vue2.js.map +1 -1
  92. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js.map +1 -1
  93. package/dist/martyrs/src/modules/core/views/classes/core.app.js +5 -3
  94. package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
  95. package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js +7 -2
  96. package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js.map +1 -1
  97. package/dist/martyrs/src/modules/core/views/classes/ws.manager.js +11 -5
  98. package/dist/martyrs/src/modules/core/views/classes/ws.manager.js.map +1 -1
  99. package/dist/martyrs/src/modules/core/views/components/blocks/Card.vue.js +53 -18
  100. package/dist/martyrs/src/modules/core/views/components/blocks/Card.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +2 -2
  102. package/dist/martyrs/src/modules/core/views/components/blocks/CardStat.vue.js +44 -0
  103. package/dist/martyrs/src/modules/core/views/components/blocks/CardStat.vue.js.map +1 -0
  104. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +5 -5
  105. package/dist/martyrs/src/modules/core/views/components/layouts/App.vue.js +1 -1
  106. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +9 -6
  107. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
  108. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +5 -5
  109. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  110. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +14 -14
  111. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  112. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +2 -2
  113. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +28 -29
  114. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  115. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +6 -6
  116. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +5 -7
  117. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  118. package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue2.js → Filters.vue.js} +2 -2
  119. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +1 -0
  120. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +28 -18
  121. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  122. package/dist/martyrs/src/modules/core/views/mixins/mixins.js +3 -3
  123. package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
  124. package/dist/martyrs/src/modules/core/views/router/addRoutes.js +2 -3
  125. package/dist/martyrs/src/modules/core/views/router/addRoutes.js.map +1 -1
  126. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +10 -0
  127. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
  128. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +4 -4
  129. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +2 -2
  130. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  131. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +9 -9
  132. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
  134. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -0
  135. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  136. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +23 -33
  137. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js.map +1 -1
  138. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +13 -13
  139. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +2 -2
  140. package/dist/martyrs/src/modules/events/components/sections/List.vue.js.map +1 -1
  141. package/dist/martyrs/src/modules/events/events.client.js +37 -15
  142. package/dist/martyrs/src/modules/events/events.client.js.map +1 -1
  143. package/dist/martyrs/src/modules/events/router/events.backoffice.router.js +95 -0
  144. package/dist/martyrs/src/modules/events/router/events.backoffice.router.js.map +1 -0
  145. package/dist/martyrs/src/modules/events/router/events.organization.router.js +95 -0
  146. package/dist/martyrs/src/modules/events/router/events.organization.router.js.map +1 -0
  147. package/dist/martyrs/src/modules/events/router/events.router.js +73 -364
  148. package/dist/martyrs/src/modules/events/router/events.router.js.map +1 -1
  149. package/dist/martyrs/src/modules/events/router/events.user.router.js +65 -0
  150. package/dist/martyrs/src/modules/events/router/events.user.router.js.map +1 -0
  151. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
  152. package/dist/martyrs/src/modules/governance/configs/navigation.initiative.config.js +33 -0
  153. package/dist/martyrs/src/modules/governance/configs/navigation.initiative.config.js.map +1 -0
  154. package/dist/martyrs/src/modules/governance/governance.client.js +31 -0
  155. package/dist/martyrs/src/modules/governance/governance.client.js.map +1 -0
  156. package/dist/martyrs/src/modules/governance/views/components/blocks/CardInitiativeItem.vue.js +110 -0
  157. package/dist/martyrs/src/modules/governance/views/components/blocks/CardInitiativeItem.vue.js.map +1 -0
  158. package/dist/martyrs/src/modules/governance/views/components/blocks/CardSprintItem.vue.js +105 -0
  159. package/dist/martyrs/src/modules/governance/views/components/blocks/CardSprintItem.vue.js.map +1 -0
  160. package/dist/martyrs/src/modules/governance/views/components/blocks/CardTaskItem.vue.js +110 -0
  161. package/dist/martyrs/src/modules/governance/views/components/blocks/CardTaskItem.vue.js.map +1 -0
  162. package/dist/martyrs/src/modules/governance/views/components/blocks/CardVotingItem.vue.js +106 -0
  163. package/dist/martyrs/src/modules/governance/views/components/blocks/CardVotingItem.vue.js.map +1 -0
  164. package/dist/martyrs/src/modules/governance/views/components/pages/Governance.vue.js +52 -0
  165. package/dist/martyrs/src/modules/governance/views/components/pages/Governance.vue.js.map +1 -0
  166. package/dist/martyrs/src/modules/governance/views/components/pages/Initiative.vue.js +684 -0
  167. package/dist/martyrs/src/modules/governance/views/components/pages/Initiative.vue.js.map +1 -0
  168. package/dist/martyrs/src/modules/governance/views/components/pages/InitiativeCreate.vue.js +78 -0
  169. package/dist/martyrs/src/modules/governance/views/components/pages/InitiativeCreate.vue.js.map +1 -0
  170. package/dist/martyrs/src/modules/governance/views/components/pages/InitiativeSprints.vue.js +328 -0
  171. package/dist/martyrs/src/modules/governance/views/components/pages/InitiativeSprints.vue.js.map +1 -0
  172. package/dist/martyrs/src/modules/governance/views/components/pages/Initiatives.vue.js +145 -0
  173. package/dist/martyrs/src/modules/governance/views/components/pages/Initiatives.vue.js.map +1 -0
  174. package/dist/martyrs/src/modules/governance/views/components/pages/Sprint.vue.js +258 -0
  175. package/dist/martyrs/src/modules/governance/views/components/pages/Sprint.vue.js.map +1 -0
  176. package/dist/martyrs/src/modules/governance/views/components/pages/SprintCreate.vue.js +72 -0
  177. package/dist/martyrs/src/modules/governance/views/components/pages/SprintCreate.vue.js.map +1 -0
  178. package/dist/martyrs/src/modules/governance/views/components/pages/Task.vue.js +769 -0
  179. package/dist/martyrs/src/modules/governance/views/components/pages/Task.vue.js.map +1 -0
  180. package/dist/martyrs/src/modules/governance/views/components/pages/TaskCreate.vue.js +88 -0
  181. package/dist/martyrs/src/modules/governance/views/components/pages/TaskCreate.vue.js.map +1 -0
  182. package/dist/martyrs/src/modules/governance/views/components/pages/Tasks.vue.js +291 -0
  183. package/dist/martyrs/src/modules/governance/views/components/pages/Tasks.vue.js.map +1 -0
  184. package/dist/martyrs/src/modules/governance/views/components/pages/Voting.vue.js +267 -0
  185. package/dist/martyrs/src/modules/governance/views/components/pages/Voting.vue.js.map +1 -0
  186. package/dist/martyrs/src/modules/governance/views/components/pages/VotingCreate.vue.js +90 -0
  187. package/dist/martyrs/src/modules/governance/views/components/pages/VotingCreate.vue.js.map +1 -0
  188. package/dist/martyrs/src/modules/governance/views/components/pages/Votings.vue.js +68 -0
  189. package/dist/martyrs/src/modules/governance/views/components/pages/Votings.vue.js.map +1 -0
  190. package/dist/martyrs/src/modules/governance/views/components/partials/EmptyState.vue.js +47 -0
  191. package/dist/martyrs/src/modules/governance/views/components/partials/EmptyState.vue.js.map +1 -0
  192. package/dist/martyrs/src/modules/governance/views/components/partials/LinkedEntityCard.vue.js +164 -0
  193. package/dist/martyrs/src/modules/governance/views/components/partials/LinkedEntityCard.vue.js.map +1 -0
  194. package/dist/martyrs/src/modules/governance/views/components/partials/TaskStatusBadge.vue.js +39 -0
  195. package/dist/martyrs/src/modules/governance/views/components/partials/TaskStatusBadge.vue.js.map +1 -0
  196. package/dist/martyrs/src/modules/governance/views/components/partials/VoteForm.vue.js +112 -0
  197. package/dist/martyrs/src/modules/governance/views/components/partials/VoteForm.vue.js.map +1 -0
  198. package/dist/martyrs/src/modules/governance/views/components/partials/VotingResults.vue.js +187 -0
  199. package/dist/martyrs/src/modules/governance/views/components/partials/VotingResults.vue.js.map +1 -0
  200. package/dist/martyrs/src/modules/governance/views/components/sections/FormInitiativeDetails.vue.js +555 -0
  201. package/dist/martyrs/src/modules/governance/views/components/sections/FormInitiativeDetails.vue.js.map +1 -0
  202. package/dist/martyrs/src/modules/governance/views/components/sections/FormSprintDetails.vue.js +187 -0
  203. package/dist/martyrs/src/modules/governance/views/components/sections/FormSprintDetails.vue.js.map +1 -0
  204. package/dist/martyrs/src/modules/governance/views/components/sections/FormTaskDetails.vue.js +171 -0
  205. package/dist/martyrs/src/modules/governance/views/components/sections/FormTaskDetails.vue.js.map +1 -0
  206. package/dist/martyrs/src/modules/governance/views/components/sections/FormVotingDetails.vue.js +179 -0
  207. package/dist/martyrs/src/modules/governance/views/components/sections/FormVotingDetails.vue.js.map +1 -0
  208. package/dist/martyrs/src/modules/governance/views/router/governance.router.js +502 -0
  209. package/dist/martyrs/src/modules/governance/views/router/governance.router.js.map +1 -0
  210. package/dist/martyrs/src/modules/governance/views/store/initiatives.js +119 -0
  211. package/dist/martyrs/src/modules/governance/views/store/initiatives.js.map +1 -0
  212. package/dist/martyrs/src/modules/governance/views/store/sprints.js +99 -0
  213. package/dist/martyrs/src/modules/governance/views/store/sprints.js.map +1 -0
  214. package/dist/martyrs/src/modules/governance/views/store/tasks.js +115 -0
  215. package/dist/martyrs/src/modules/governance/views/store/tasks.js.map +1 -0
  216. package/dist/martyrs/src/modules/governance/views/store/votings.js +155 -0
  217. package/dist/martyrs/src/modules/governance/views/store/votings.js.map +1 -0
  218. package/dist/martyrs/src/modules/icons/entities/IconCash.vue.js +70 -0
  219. package/dist/martyrs/src/modules/icons/entities/IconCash.vue.js.map +1 -0
  220. package/dist/martyrs/src/modules/icons/icons.client.js +1 -1
  221. package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
  222. package/dist/martyrs/src/modules/icons/{icons.router.js → router/icons.router.js} +1 -1
  223. package/dist/martyrs/src/modules/icons/router/icons.router.js.map +1 -0
  224. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
  225. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +3 -3
  226. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +2 -2
  227. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +3 -3
  228. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
  229. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +6 -6
  230. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +1 -1
  232. package/dist/martyrs/src/modules/music/components/blocks/ActionButtons.vue.js +9 -9
  233. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +4 -4
  234. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +2 -2
  235. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +4 -4
  236. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +7 -7
  237. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +3 -3
  238. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
  239. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +3 -3
  240. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +4 -4
  241. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +3 -3
  242. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  243. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +9 -9
  244. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +13 -13
  245. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +10 -10
  246. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +9 -9
  247. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +17 -17
  248. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  249. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +2 -2
  250. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +4 -4
  251. package/dist/martyrs/src/modules/music/components/player/PlayerControls.vue.js +10 -10
  252. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +6 -6
  253. package/dist/martyrs/src/modules/music/components/sections/PopularTracks.vue.js +63 -0
  254. package/dist/martyrs/src/modules/music/components/sections/PopularTracks.vue.js.map +1 -0
  255. package/dist/martyrs/src/modules/music/music.client.js +29 -25
  256. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  257. package/dist/martyrs/src/modules/music/{music.router.js → router/music.router.js} +16 -16
  258. package/dist/martyrs/src/modules/music/router/music.router.js.map +1 -0
  259. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +26 -27
  260. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  261. package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js +118 -59
  262. package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/notifications/notifications.client.js +74 -54
  264. package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
  265. package/dist/martyrs/src/modules/notifications/{notifications.router.js → router/notifications.router.js} +3 -3
  266. package/dist/martyrs/src/modules/notifications/router/notifications.router.js.map +1 -0
  267. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +34 -44
  268. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js.map +1 -1
  269. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +47 -57
  270. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +2 -2
  272. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  273. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +2 -2
  274. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +3 -3
  276. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +5 -5
  277. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
  278. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +7 -7
  279. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +61 -54
  280. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +43 -31
  282. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +13 -13
  284. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +3 -3
  285. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  286. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +19 -19
  287. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  288. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +7 -10
  289. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
  290. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +7 -10
  291. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
  292. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +4 -4
  293. package/dist/martyrs/src/modules/orders/orders.client.js +16 -16
  294. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  295. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +11 -4
  296. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  297. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +2 -2
  298. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +2 -2
  299. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +22 -15
  300. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  301. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +2 -2
  302. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +63 -1
  303. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  304. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +9 -3
  305. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  306. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +14 -8
  307. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  308. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +24 -30
  309. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  310. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  311. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  312. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  313. package/dist/martyrs/src/modules/organizations/organizations.client.js +42 -6
  314. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  315. package/dist/martyrs/src/modules/organizations/router/organizations.backoffice.router.js +20 -0
  316. package/dist/martyrs/src/modules/organizations/router/organizations.backoffice.router.js.map +1 -0
  317. package/dist/martyrs/src/modules/organizations/router/organizations.router.js +102 -0
  318. package/dist/martyrs/src/modules/organizations/router/organizations.router.js.map +1 -0
  319. package/dist/martyrs/src/modules/organizations/router/organizations.user.router.js +20 -0
  320. package/dist/martyrs/src/modules/organizations/router/organizations.user.router.js.map +1 -0
  321. package/dist/martyrs/src/modules/pages/pages.client.js +1 -1
  322. package/dist/martyrs/src/modules/pages/pages.client.js.map +1 -1
  323. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  324. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +3 -3
  325. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
  326. package/dist/martyrs/src/modules/pages/{pages.router.js → views/router/pages.router.js} +8 -8
  327. package/dist/martyrs/src/modules/pages/views/router/pages.router.js.map +1 -0
  328. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  329. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  330. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  331. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +7 -7
  332. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  333. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +21 -21
  334. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +5 -5
  335. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  336. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +3 -3
  337. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
  338. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +20 -20
  339. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +4 -4
  340. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +4 -4
  341. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +4 -4
  342. package/dist/martyrs/src/modules/rents/rents.client.js +1 -1
  343. package/dist/martyrs/src/modules/rents/rents.client.js.map +1 -1
  344. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +7 -7
  345. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  346. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +4 -4
  347. package/dist/martyrs/src/modules/rents/{rents.router.js → views/router/rents.router.js} +4 -4
  348. package/dist/martyrs/src/modules/rents/views/router/rents.router.js.map +1 -0
  349. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  350. package/dist/martyrs/src/modules/reports/reports.client.js +1 -1
  351. package/dist/martyrs/src/modules/reports/reports.client.js.map +1 -1
  352. package/dist/martyrs/src/modules/reports/{reports.router.js → router/reports.router.js} +1 -1
  353. package/dist/martyrs/src/modules/reports/router/reports.router.js.map +1 -0
  354. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  355. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +2 -2
  356. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +12 -12
  357. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +21 -21
  358. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +68 -0
  359. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js.map +1 -0
  360. package/dist/martyrs/src/modules/wallet/views/router/wallet.router.js +48 -0
  361. package/dist/martyrs/src/modules/wallet/views/router/wallet.router.js.map +1 -0
  362. package/dist/martyrs/src/modules/wallet/views/store/payments.store.js +59 -0
  363. package/dist/martyrs/src/modules/wallet/views/store/payments.store.js.map +1 -0
  364. package/dist/martyrs/src/modules/wallet/wallet.client.js +20 -0
  365. package/dist/martyrs/src/modules/wallet/wallet.client.js.map +1 -0
  366. package/dist/martyrs.es.js +84 -41
  367. package/dist/martyrs.es10.js +126 -0
  368. package/dist/martyrs.es100.js +33 -0
  369. package/dist/martyrs.es102.js +39 -0
  370. package/dist/martyrs.es103.js +31 -0
  371. package/dist/martyrs.es105.js +27 -0
  372. package/dist/martyrs.es106.js +8 -0
  373. package/dist/martyrs.es107.js +9 -0
  374. package/dist/martyrs.es108.js +79 -0
  375. package/dist/martyrs.es109.js +7 -0
  376. package/dist/martyrs.es11.js +49 -0
  377. package/dist/{web-n_ivHO3v.js → martyrs.es110.js} +1 -1
  378. package/dist/martyrs.es111.js +327 -0
  379. package/dist/martyrs.es112.js +121 -0
  380. package/dist/martyrs.es115.js +4 -0
  381. package/dist/martyrs.es116.js +25 -0
  382. package/dist/martyrs.es117.js +7 -0
  383. package/dist/martyrs.es118.js +10 -0
  384. package/dist/martyrs.es119.js +169 -0
  385. package/dist/martyrs.es12.js +94 -0
  386. package/dist/martyrs.es120.js +460 -0
  387. package/dist/martyrs.es121.js +42 -0
  388. package/dist/martyrs.es122.js +12 -0
  389. package/dist/martyrs.es123.js +52 -0
  390. package/dist/martyrs.es124.js +14 -0
  391. package/dist/martyrs.es125.js +47 -0
  392. package/dist/martyrs.es126.js +7 -0
  393. package/dist/martyrs.es127.js +131 -0
  394. package/dist/martyrs.es128.js +103 -0
  395. package/dist/martyrs.es129.js +89 -0
  396. package/dist/martyrs.es13.js +48 -0
  397. package/dist/martyrs.es130.js +40 -0
  398. package/dist/martyrs.es131.js +14 -0
  399. package/dist/martyrs.es132.js +42 -0
  400. package/dist/martyrs.es133.js +11 -0
  401. package/dist/martyrs.es134.js +6 -0
  402. package/dist/martyrs.es135.js +119 -0
  403. package/dist/martyrs.es136.js +20 -0
  404. package/dist/martyrs.es137.js +18 -0
  405. package/dist/martyrs.es138.js +35 -0
  406. package/dist/martyrs.es139.js +12 -0
  407. package/dist/martyrs.es14.js +101 -0
  408. package/dist/martyrs.es140.js +23 -0
  409. package/dist/martyrs.es141.js +12 -0
  410. package/dist/martyrs.es142.js +11 -0
  411. package/dist/martyrs.es143.js +47 -0
  412. package/dist/martyrs.es144.js +483 -0
  413. package/dist/martyrs.es145.js +8 -0
  414. package/dist/martyrs.es146.js +4 -0
  415. package/dist/martyrs.es147.js +14 -0
  416. package/dist/martyrs.es148.js +33 -0
  417. package/dist/martyrs.es149.js +19 -0
  418. package/dist/martyrs.es15.js +408 -0
  419. package/dist/martyrs.es150.js +22 -0
  420. package/dist/martyrs.es151.js +31 -0
  421. package/dist/martyrs.es152.js +23 -0
  422. package/dist/martyrs.es16.js +58 -0
  423. package/dist/martyrs.es17.js +44 -0
  424. package/dist/martyrs.es18.js +42 -0
  425. package/dist/martyrs.es19.js +27 -0
  426. package/dist/martyrs.es2.js +88 -0
  427. package/dist/martyrs.es20.js +13 -0
  428. package/dist/martyrs.es21.js +57 -0
  429. package/dist/martyrs.es22.js +104 -0
  430. package/dist/martyrs.es23.js +178 -0
  431. package/dist/martyrs.es24.js +123 -0
  432. package/dist/martyrs.es25.js +139 -0
  433. package/dist/martyrs.es26.js +21 -0
  434. package/dist/martyrs.es27.js +60 -0
  435. package/dist/martyrs.es28.js +75 -0
  436. package/dist/martyrs.es29.js +36 -0
  437. package/dist/martyrs.es3.js +116 -0
  438. package/dist/martyrs.es30.js +348 -0
  439. package/dist/martyrs.es31.js +83 -0
  440. package/dist/martyrs.es32.js +148 -0
  441. package/dist/martyrs.es33.js +175 -0
  442. package/dist/martyrs.es34.js +66 -0
  443. package/dist/martyrs.es35.js +57 -0
  444. package/dist/martyrs.es36.js +76 -0
  445. package/dist/martyrs.es37.js +101 -0
  446. package/dist/martyrs.es38.js +39 -0
  447. package/dist/martyrs.es39.js +124 -0
  448. package/dist/martyrs.es4.js +85 -0
  449. package/dist/martyrs.es40.js +120 -0
  450. package/dist/martyrs.es41.js +229 -0
  451. package/dist/martyrs.es43.js +29 -0
  452. package/dist/martyrs.es44.js +27 -0
  453. package/dist/martyrs.es46.js +9 -0
  454. package/dist/martyrs.es48.js +18 -0
  455. package/dist/martyrs.es5.js +395 -0
  456. package/dist/martyrs.es50.js +42 -0
  457. package/dist/martyrs.es52.js +255 -0
  458. package/dist/martyrs.es54.js +8 -0
  459. package/dist/martyrs.es6.js +70 -0
  460. package/dist/martyrs.es61.js +139 -0
  461. package/dist/martyrs.es65.js +28 -0
  462. package/dist/martyrs.es68.js +33 -0
  463. package/dist/martyrs.es69.js +37 -0
  464. package/dist/martyrs.es7.js +17 -0
  465. package/dist/martyrs.es71.js +114 -0
  466. package/dist/martyrs.es73.js +83 -0
  467. package/dist/martyrs.es74.js +52 -0
  468. package/dist/martyrs.es75.js +75 -0
  469. package/dist/martyrs.es76.js +176 -0
  470. package/dist/martyrs.es77.js +31 -0
  471. package/dist/martyrs.es78.js +38 -0
  472. package/dist/martyrs.es8.js +127 -0
  473. package/dist/martyrs.es81.js +32 -0
  474. package/dist/martyrs.es86.js +37 -0
  475. package/dist/martyrs.es89.js +37 -0
  476. package/dist/martyrs.es9.js +396 -0
  477. package/dist/martyrs.es91.js +63 -0
  478. package/dist/martyrs.es92.js +7 -0
  479. package/dist/martyrs.es93.js +35 -0
  480. package/dist/martyrs.es95.js +41 -0
  481. package/dist/martyrs.es96.js +59 -0
  482. package/dist/martyrs.es97.js +123 -0
  483. package/dist/martyrs.es98.js +43 -0
  484. package/dist/martyrs.es99.js +86 -0
  485. package/dist/music.server.js +11 -11
  486. package/dist/notifications.server.js +16 -6
  487. package/dist/orders.server.js +264 -145
  488. package/dist/organizations.server.js +22 -6
  489. package/dist/products.server.js +7 -7
  490. package/dist/rents.server.js +4 -3
  491. package/dist/style.css +970 -986
  492. package/package.json +13 -6
  493. package/src/builder/modes/ssr.rspack.dev.js +32 -20
  494. package/src/builder/rspack/rspack.config.api.js +3 -0
  495. package/src/builder/rspack/rspack.config.base.js +9 -1
  496. package/src/builder/rspack/rspack.config.ssr.client.js +8 -5
  497. package/src/components/Block/Block.vue +1 -1
  498. package/src/components/Button/Button.vue +4 -4
  499. package/src/components/Table/StatusBadge.vue +24 -18
  500. package/src/components/Text/Text.vue +1 -1
  501. package/src/jit/core.js +72 -35
  502. package/src/jit/plugin.js +4 -3
  503. package/src/jit/rules.js +15 -15
  504. package/src/modules/TASKS.MD +30 -0
  505. package/src/modules/TASK_ACTIVITY.md +60 -0
  506. package/src/modules/TASK_MODULE_ARCH.md +391 -0
  507. package/src/modules/auth/controllers/routes/users.routes.js +8 -0
  508. package/src/modules/auth/controllers/services/users.service.js +51 -1
  509. package/src/modules/auth/views/components/blocks/PopupAuth.vue +1 -1
  510. package/src/modules/auth/views/components/pages/ProfileBlogposts.vue +25 -24
  511. package/src/modules/auth/views/components/pages/SignIn.vue +10 -1
  512. package/src/modules/auth/views/components/pages/UserDashboard.vue +35 -62
  513. package/src/modules/auth/views/router/users.router.js +0 -44
  514. package/src/modules/backoffice/components/pages/Dashboard.vue +423 -120
  515. package/src/modules/backoffice/configs/navigation.backoffice.config.js +0 -2
  516. package/src/modules/backoffice/router/backoffice.router.js +0 -25
  517. package/src/modules/community/community.client.js +54 -9
  518. package/src/modules/community/components/blocks/CardBlogpost.vue +10 -3
  519. package/src/modules/community/components/layouts/Community.vue +3 -3
  520. package/src/modules/community/components/pages/BlogPost.vue +1 -1
  521. package/src/modules/community/components/pages/CreateBlogPost.vue +19 -20
  522. package/src/modules/community/components/pages/Posts.vue +43 -28
  523. package/src/modules/community/components/sections/Comment.vue +1 -1
  524. package/src/modules/community/controllers/blog.controller.js +4 -5
  525. package/src/modules/community/models/reaction.model.js +1 -0
  526. package/src/modules/community/router/community.backoffice.router.js +16 -0
  527. package/src/modules/community/router/community.organization.router.js +56 -0
  528. package/src/modules/community/router/community.router.js +58 -106
  529. package/src/modules/community/router/community.user.router.js +15 -0
  530. package/src/modules/constructor/components/elements/Textarea.vue +1 -1
  531. package/src/modules/constructor/components/sections/Constructor.vue +1 -1
  532. package/src/modules/core/controllers/classes/core.validator.js +7 -1
  533. package/src/modules/core/controllers/classes/core.verifier.js +0 -2
  534. package/src/modules/core/controllers/classes/crud/crud.controller.js +0 -4
  535. package/src/modules/core/controllers/classes/crud/crud.service.js +1 -0
  536. package/src/modules/core/models/schemas/engagement.schema.js +19 -22
  537. package/src/modules/core/views/classes/core.app.js +6 -4
  538. package/src/modules/core/views/classes/i18n.manager.js +9 -2
  539. package/src/modules/core/views/classes/ws.manager.js +17 -7
  540. package/src/modules/core/views/components/blocks/Card.vue +47 -24
  541. package/src/modules/core/views/components/blocks/CardStat.vue +27 -0
  542. package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
  543. package/src/modules/core/views/components/layouts/Client.vue +5 -4
  544. package/src/modules/core/views/components/partials/BottomNavigationBar.vue +5 -5
  545. package/src/modules/core/views/components/partials/Header.vue +2 -2
  546. package/src/modules/core/views/components/partials/Navigation.vue +13 -14
  547. package/src/modules/core/views/components/partials/Sidebar.vue +4 -6
  548. package/src/modules/core/views/components/sections/SectionPageTitle.vue +23 -15
  549. package/src/modules/core/views/mixins/mixins.js +4 -3
  550. package/src/modules/core/views/router/addRoutes.js +1 -2
  551. package/src/modules/core/views/utils/vue-app-renderer.js +12 -0
  552. package/src/modules/events/components/pages/EditEventTickets.vue +1 -1
  553. package/src/modules/events/components/pages/Events.vue +1 -0
  554. package/src/modules/events/components/pages/EventsBackoffice.vue +23 -48
  555. package/src/modules/events/components/sections/List.vue +2 -2
  556. package/src/modules/events/events.client.js +44 -17
  557. package/src/modules/events/router/events.backoffice.router.js +80 -0
  558. package/src/modules/events/router/events.organization.router.js +80 -0
  559. package/src/modules/events/router/events.router.js +55 -325
  560. package/src/modules/events/router/events.user.router.js +49 -0
  561. package/src/modules/governance/TASK-TRACKER.MD +534 -39
  562. package/src/modules/governance/configs/navigation.initiative.config.js +30 -0
  563. package/src/modules/governance/controllers/routes/initiatives.routes.js +55 -8
  564. package/src/modules/governance/controllers/routes/{milestones.routes.js → sprints.routes.js} +22 -22
  565. package/src/modules/governance/controllers/routes/tasks.routes.js +2 -2
  566. package/src/modules/governance/governance.client.js +1 -4
  567. package/src/modules/governance/governance.server.js +6 -6
  568. package/src/modules/governance/middlewares/initiatives.verifier.js +60 -0
  569. package/src/modules/governance/middlewares/{milestones.verifier.js → sprints.verifier.js} +10 -10
  570. package/src/modules/governance/middlewares/tasks.verifier.js +4 -4
  571. package/src/modules/governance/middlewares/votings.verifier.js +25 -7
  572. package/src/modules/governance/models/{milestone.model.js → sprint.model.js} +11 -11
  573. package/src/modules/governance/models/task.model.js +4 -4
  574. package/src/modules/governance/models/voting.model.js +10 -5
  575. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +8 -13
  576. package/src/modules/governance/views/components/blocks/{CardMilestoneItem.vue → CardSprintItem.vue} +16 -17
  577. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +7 -9
  578. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +7 -9
  579. package/src/modules/governance/views/components/pages/Governance.vue +13 -34
  580. package/src/modules/governance/views/components/pages/Initiative.vue +73 -154
  581. package/src/modules/governance/views/components/pages/InitiativeCreate.vue +44 -7
  582. package/src/modules/governance/views/components/pages/{Roadmap.vue → InitiativeSprints.vue} +70 -69
  583. package/src/modules/governance/views/components/pages/Initiatives.vue +23 -108
  584. package/src/modules/governance/views/components/pages/{Milestone.vue → Sprint.vue} +43 -41
  585. package/src/modules/governance/views/components/pages/SprintCreate.vue +55 -0
  586. package/src/modules/governance/views/components/pages/Task.vue +95 -88
  587. package/src/modules/governance/views/components/pages/TaskCreate.vue +47 -9
  588. package/src/modules/governance/views/components/pages/Tasks.vue +25 -21
  589. package/src/modules/governance/views/components/pages/Voting.vue +84 -68
  590. package/src/modules/governance/views/components/pages/VotingCreate.vue +48 -8
  591. package/src/modules/governance/views/components/pages/Votings.vue +12 -57
  592. package/src/modules/governance/views/components/partials/EmptyState.vue +1 -1
  593. package/src/modules/governance/views/components/partials/LinkedEntityCard.vue +23 -11
  594. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +1 -1
  595. package/src/modules/governance/views/components/partials/VoteForm.vue +3 -3
  596. package/src/modules/governance/views/components/partials/VotingResults.vue +13 -19
  597. package/src/modules/governance/views/components/sections/FormInitiativeDetails.vue +413 -15
  598. package/src/modules/governance/views/components/sections/FormSprintDetails.vue +156 -0
  599. package/src/modules/governance/views/components/sections/FormTaskDetails.vue +125 -21
  600. package/src/modules/governance/views/components/sections/FormVotingDetails.vue +136 -17
  601. package/src/modules/governance/views/components/sections/VoteForm.vue +2 -2
  602. package/src/modules/governance/views/router/governance.router.js +255 -151
  603. package/src/modules/governance/views/store/initiatives.js +23 -2
  604. package/src/modules/governance/views/store/sprints.js +102 -0
  605. package/src/modules/governance/views/store/tasks.js +25 -9
  606. package/src/modules/governance/views/store/votings.js +106 -27
  607. package/src/modules/icons/icons.client.js +1 -1
  608. package/src/modules/inventory/components/pages/InventoryEdit.vue +1 -1
  609. package/src/modules/music/components/sections/PopularTracks.vue +52 -0
  610. package/src/modules/music/music.client.js +8 -1
  611. package/src/modules/music/router/music.router.js +13 -1
  612. package/src/modules/notifications/components/elements/NotificationBadge.vue +8 -33
  613. package/src/modules/notifications/components/sections/NotificationPreferences.vue +110 -48
  614. package/src/modules/notifications/notifications.client.js +78 -57
  615. package/src/modules/notifications/router/notifications.router.js +32 -15
  616. package/src/modules/notifications/services/notification.service.js +15 -6
  617. package/src/modules/notifications/services/web-push.service.js +2 -0
  618. package/src/modules/orders/components/blocks/CardApplication.vue +20 -40
  619. package/src/modules/orders/components/blocks/CardCustomer.vue +35 -55
  620. package/src/modules/orders/components/blocks/CardOrderItem.vue +2 -2
  621. package/src/modules/orders/components/blocks/CardOrderUser.vue +2 -2
  622. package/src/modules/orders/components/forms/FormCustomerDetails.vue +2 -2
  623. package/src/modules/orders/components/pages/Applications.vue +59 -57
  624. package/src/modules/orders/components/pages/Customers.vue +40 -27
  625. package/src/modules/orders/components/pages/OrderCreate.vue +1 -1
  626. package/src/modules/orders/components/sections/ApplicationDetails.vue +1 -4
  627. package/src/modules/orders/components/sections/CustomerDetails.vue +1 -4
  628. package/src/modules/orders/controllers/orders.controller.js +113 -0
  629. package/src/modules/orders/middlewares/applications.verifier.js +13 -37
  630. package/src/modules/orders/middlewares/customers.verifier.js +44 -121
  631. package/src/modules/orders/models/customer.model.js +0 -1
  632. package/src/modules/orders/routes/applications.routes.js +108 -50
  633. package/src/modules/orders/routes/orders.routes.js +9 -1
  634. package/src/modules/organizations/components/blocks/CardOrganization.vue +12 -4
  635. package/src/modules/organizations/components/forms/DepartmentForm.vue +9 -4
  636. package/src/modules/organizations/components/pages/Members.vue +62 -1
  637. package/src/modules/organizations/components/pages/Organization.new.vue +17 -17
  638. package/src/modules/organizations/components/pages/Organization.vue +8 -1
  639. package/src/modules/organizations/components/pages/OrganizationBackoffice.vue +1 -1
  640. package/src/modules/organizations/components/pages/OrganizationEdit.vue +11 -4
  641. package/src/modules/organizations/components/pages/Organizations.vue +33 -46
  642. package/src/modules/organizations/controllers/invites.controller.js +19 -0
  643. package/src/modules/organizations/controllers/memberships.controller.js +1 -0
  644. package/src/modules/organizations/organizations.client.js +48 -7
  645. package/src/modules/organizations/router/organizations.backoffice.router.js +15 -0
  646. package/src/modules/organizations/router/organizations.router.js +72 -112
  647. package/src/modules/organizations/router/organizations.user.router.js +15 -0
  648. package/src/modules/pages/pages.client.js +1 -1
  649. package/src/modules/pages/views/router/pages.router.js +95 -15
  650. package/src/modules/products/components/blocks/CardPosition.vue +1 -1
  651. package/src/modules/products/components/pages/Products.vue +3 -3
  652. package/src/modules/rents/controllers/services/rents.services.js +1 -0
  653. package/src/modules/rents/rents.client.js +1 -1
  654. package/src/modules/rents/views/router/rents.router.js +93 -33
  655. package/src/modules/reports/reports.client.js +1 -1
  656. package/src/modules/wallet/wallet.client.js +1 -1
  657. package/src/styles/theme.scss +5 -3
  658. package/dist/engagement.schema-fh6W1fb_.js +0 -24
  659. package/dist/main-DQm5pwFO.js +0 -8213
  660. package/dist/martyrs/dist/main-DQm5pwFO.js +0 -1080
  661. package/dist/martyrs/dist/main-DQm5pwFO.js.map +0 -1
  662. package/dist/martyrs/dist/web-n_ivHO3v.js +0 -55
  663. package/dist/martyrs/dist/web-n_ivHO3v.js.map +0 -1
  664. package/dist/martyrs/src/components/Address/Address.vue.js.map +0 -1
  665. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  666. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.js.map +0 -1
  667. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +0 -1
  668. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +0 -1
  669. package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +0 -1
  670. package/dist/martyrs/src/modules/community/community.router.js +0 -124
  671. package/dist/martyrs/src/modules/community/community.router.js.map +0 -1
  672. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +0 -1
  673. package/dist/martyrs/src/modules/icons/icons.router.js.map +0 -1
  674. package/dist/martyrs/src/modules/music/music.router.js.map +0 -1
  675. package/dist/martyrs/src/modules/notifications/notifications.router.js.map +0 -1
  676. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +0 -200
  677. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +0 -1
  678. package/dist/martyrs/src/modules/organizations/organizations.router.js +0 -145
  679. package/dist/martyrs/src/modules/organizations/organizations.router.js.map +0 -1
  680. package/dist/martyrs/src/modules/pages/pages.router.js.map +0 -1
  681. package/dist/martyrs/src/modules/rents/rents.router.js.map +0 -1
  682. package/dist/martyrs/src/modules/reports/reports.router.js.map +0 -1
  683. package/dist/martyrs.css +0 -1
  684. package/dist/node_modules/.pnpm/@capacitor_device@7.0.1_@capacitor_core@7.4.4/node_modules/@capacitor/device/dist/esm/index.js +0 -8
  685. package/dist/node_modules/.pnpm/@capacitor_device@7.0.1_@capacitor_core@7.4.4/node_modules/@capacitor/device/dist/esm/index.js.map +0 -1
  686. package/dist/node_modules/.pnpm/@capacitor_device@7.0.1_@capacitor_core@7.4.4/node_modules/@capacitor/device/dist/esm/web.js +0 -146
  687. package/dist/node_modules/.pnpm/@capacitor_device@7.0.1_@capacitor_core@7.4.4/node_modules/@capacitor/device/dist/esm/web.js.map +0 -1
  688. package/dist/node_modules/.pnpm/@capacitor_keyboard@7.0.1_@capacitor_core@7.4.4/node_modules/@capacitor/keyboard/dist/esm/definitions.js +0 -18
  689. package/dist/node_modules/.pnpm/@capacitor_keyboard@7.0.1_@capacitor_core@7.4.4/node_modules/@capacitor/keyboard/dist/esm/definitions.js.map +0 -1
  690. package/dist/node_modules/.pnpm/@capacitor_keyboard@7.0.1_@capacitor_core@7.4.4/node_modules/@capacitor/keyboard/dist/esm/index.js +0 -9
  691. package/dist/node_modules/.pnpm/@capacitor_keyboard@7.0.1_@capacitor_core@7.4.4/node_modules/@capacitor/keyboard/dist/esm/index.js.map +0 -1
  692. package/dist/node_modules/.pnpm/@capacitor_push-notifications@7.0.3_@capacitor_core@7.4.4/node_modules/@capacitor/push-notifications/dist/esm/index.js +0 -6
  693. package/dist/node_modules/.pnpm/@capacitor_push-notifications@7.0.3_@capacitor_core@7.4.4/node_modules/@capacitor/push-notifications/dist/esm/index.js.map +0 -1
  694. package/src/jit/.claude/settings.local.json +0 -10
  695. package/src/modules/community/community.router.js +0 -107
  696. package/src/modules/governance/governance.router.js +0 -350
  697. package/src/modules/governance/seed-governance.js +0 -348
  698. package/src/modules/governance/views/components/pages/InitiativeMilestones.vue +0 -159
  699. package/src/modules/governance/views/router/goverance.router.js +0 -290
  700. package/src/modules/governance/views/store/votes.js +0 -113
  701. package/src/modules/icons/icons.router.js +0 -29
  702. package/src/modules/marketplace/marketplace.router.js +0 -66
  703. package/src/modules/music/.claude/settings.local.json +0 -8
  704. package/src/modules/music/music.router.js +0 -188
  705. package/src/modules/notifications/notifications.router.js +0 -47
  706. package/src/modules/orders/orders.router.js +0 -255
  707. package/src/modules/organizations/organizations.router.js +0 -123
  708. package/src/modules/organizations/router/backoffice.router.js +0 -27
  709. package/src/modules/organizations/router/departments.router.js +0 -15
  710. package/src/modules/organizations/router/members.router.js +0 -20
  711. package/src/modules/pages/pages.router.js +0 -107
  712. package/src/modules/rents/rents.router.js +0 -115
  713. package/src/modules/reports/reports.router.js +0 -33
  714. package/src/modules/wallet/wallet.router.js +0 -45
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Initiative.vue.js","sources":["../../../../../../../../src/modules/governance/views/components/pages/Initiative.vue"],"sourcesContent":["<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useRoute } from 'vue-router';\nimport CardSprintItem from '../blocks/CardSprintItem.vue';\nimport CardVotingItem from '../blocks/CardVotingItem.vue';\nimport { initiativesActions, initiativesState } from '../../store/initiatives';\nimport { sprintsActions } from '../../store/sprints';\nimport { tasksActions } from '../../store/tasks';\nimport { votingsActions } from '../../store/votings';\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\nimport { IconArrow, IconCheckmark, IconFile, IconOpenLink, IconSend, IconTime, IconAttach } from '@martyrs/src/modules/icons/icons.client.js';\n\nconst { formatDate } = useGlobalMixins();\n\nconst route = useRoute();\nconst showFullDescription = ref(false);\n\nconst initiative = computed(() => initiativesState.current);\n\nconst sprints = ref([]);\nconst tasks = ref([]);\nconst relatedVotings = ref([]);\nconst metrics = ref(null);\n\nonMounted(async () => {\n const id = route.params.id;\n await initiativesActions.getInitiativeById(id);\n\n const [sprintsData, tasksData, votingsData, metricsData] = await Promise.all([\n sprintsActions.getByInitiative(id),\n tasksActions.getByInitiative(id),\n votingsActions.getByInitiative(id),\n initiativesActions.getMetrics(id),\n ]);\n\n sprints.value = sprintsData;\n tasks.value = tasksData;\n relatedVotings.value = votingsData;\n metrics.value = metricsData;\n});\n\nconst statusConfig = {\n active: { label: 'Active', color: 'bg-green-small t-green-nice br-green-semi' },\n draft: { label: 'Draft', color: 'br-black-transp-10 br-1px t-dark' },\n completed: { label: 'Completed', color: 'bg-main-small t-main br-main-semi' },\n archived: { label: 'Archived', color: 'bg-yellow-small t-yellow-nice br-yellow-semi' },\n};\n\nconst status = computed(() => initiative.value ? (statusConfig[initiative.value.status] || statusConfig.draft) : null);\n\nconst coverUrl = computed(() => {\n if (!initiative.value?.cover) return null;\n return typeof initiative.value.cover === 'string'\n ? initiative.value.cover\n : initiative.value.cover.url;\n});\n</script>\n\n<template>\n <div v-if=\"!initiative\" class=\"min-h-100vh flex flex-center flex\">\n <div class=\"t-center\">\n <h2 class=\"h2 fw-medium mn-b-small\">Initiative not found</h2>\n <router-link to=\"/governance\" class=\"t-main hover:t-main-semi\">\n Back to initiatives\n </router-link>\n </div>\n </div>\n\n <div v-else class=\"min-h-100vh\">\n <div class=\"pd-medium pd-y-semi\">\n <div v-if=\"coverUrl\" class=\"relative h-64r radius-semi o-hidden mn-b-semi\">\n <img :src=\"coverUrl\" :alt=\"initiative.title\" class=\"w-100 h-100 object-fit-cover\" />\n <div class=\"absolute inset-0 bg-grad-[to-b_dark-80_black-90]\" />\n <div class=\"absolute bottom-6r left-6r right-6r\">\n <h1 class=\"h-huge fw-medium t-white mn-b-small\">{{ initiative.title }}</h1>\n <p class=\"p-semi t-white-90\">{{ initiative.description }}</p>\n </div>\n </div>\n\n <div v-if=\"initiative.fullDescription || initiative.valueProposition || initiative.targetAudience || (initiative.successCriteria && initiative.successCriteria.length > 0) || initiative.team\" class=\"bg-light radius-semi pd-semi mn-b-semi\">\n <div class=\"flex flex-justify-between flex-v-center mn-b-medium\">\n <h3 class=\"p-semi fw-medium flex flex-v-center gap-thin\">\n <IconFile class=\"i-medium\" :fill=\"'rgb(var(--grey))'\" />\n About This Initiative\n </h3>\n <div class=\"flex flex-v-center gap-small\">\n <span :class=\"`pd-medium pd-x-medium radius-medium p-small fw-medium br-1px ${status.color}`\">\n {{ status.label }}\n </span>\n <router-link :to=\"`/governance/initiatives/${route.params.id}/votings/create`\" class=\"bg-main hover:bg-main-semi t-white fw-medium pd-medium pd-x-medium radius-medium flex flex-v-center gap-thin ease-cubic-in-out p-small\" style=\"text-decoration: none;\">\n <IconSend class=\"i-regular\" :fill=\"'currentColor'\" />\n Open Voting\n </router-link>\n </div>\n </div>\n\n <div v-if=\"initiative.fullDescription\" class=\"mn-b-medium\">\n <p :class=\"`p-regular t-dark t-line-relaxed ${!showFullDescription && 't-line-clamp-3'}`\">\n {{ initiative.fullDescription }}\n </p>\n <button v-if=\"initiative.fullDescription.length > 200\" @click=\"showFullDescription = !showFullDescription\" class=\"t-main hover:t-main-semi p-small fw-medium mn-t-thin\">\n {{ showFullDescription ? 'Show less' : 'Show more' }}\n </button>\n </div>\n\n <div v-if=\"showFullDescription\">\n <div v-if=\"initiative.valueProposition\" class=\"mn-b-medium\">\n <h4 class=\"fw-medium mn-b-small\">Value Proposition</h4>\n <p class=\"p-regular t-dark\">{{ initiative.valueProposition }}</p>\n </div>\n\n <div v-if=\"initiative.targetAudience\" class=\"mn-b-medium\">\n <h4 class=\"fw-medium mn-b-small\">Target Audience</h4>\n <p class=\"p-regular t-dark\">{{ initiative.targetAudience }}</p>\n </div>\n\n <div v-if=\"initiative.successCriteria && initiative.successCriteria.length > 0\">\n <h4 class=\"fw-medium mn-b-small\">Success Criteria</h4>\n <div class=\"flex flex-column gap-thin\">\n <div v-for=\"(criteria, index) in initiative.successCriteria\" :key=\"index\" class=\"flex flex-align-start gap-thin\">\n <IconCheckmark class=\"i-medium flex-shrink-0 mn-t-micro\" :fill=\"'rgb(var(--green-nice))'\" />\n <span class=\"p-regular t-dark\">{{ criteria }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"initiative.releases && initiative.releases.length > 0\" class=\"mn-t-semi\">\n <div class=\"flex flex-justify-between flex-v-center mn-b-small\">\n <h4 class=\"fw-medium\">Recent Release</h4>\n </div>\n <div class=\"br-black-transp-10 br-1px radius-medium pd-medium flex flex-justify-between flex-align-start bg-grad-[to-br_main-10_white]\">\n <div>\n <h5 class=\"fw-medium mn-b-small\">{{ initiative.releases[0].version }}</h5>\n <p class=\"p-small t-dark mn-b-small\">{{ formatDate(initiative.releases[0].date, { dateOnly: true }) }}</p>\n <p class=\"p-regular t-dark\">{{ initiative.releases[0].notes }}</p>\n </div>\n <span class=\"pd-small pd-x-medium bg-green-small t-green-nice radius-regular p-small fw-medium\">\n {{ initiative.releases[0].status }}\n </span>\n </div>\n </div>\n\n <div v-if=\"initiative.team\" class=\"mn-t-semi\">\n <div class=\"flex flex-justify-between flex-v-center mn-b-small\">\n <h4 class=\"fw-medium\">Team</h4>\n </div>\n <div class=\"cols-3 gap-regular\">\n <div v-if=\"initiative.team.owners && initiative.team.owners.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium bg-grad-[to-br_yellow-10_white]\">\n <h5 class=\"p-micro t-dark fw-medium t-uppercase mn-b-small\">Owners</h5>\n <div class=\"flex flex-column gap-thin\">\n <div v-for=\"member in initiative.team.owners.slice(0, 3)\" :key=\"member.id\" class=\"flex flex-v-center gap-thin\">\n <img :src=\"member.avatar\" :alt=\"member.name\" class=\"i-medium radius-extra\" />\n <span class=\"p-small truncate\">{{ member.name }}</span>\n </div>\n <span v-if=\"initiative.team.owners.length > 3\" class=\"p-micro t-dark\">+{{ initiative.team.owners.length - 3 }} more</span>\n </div>\n </div>\n\n <div v-if=\"initiative.team.coreTeam && initiative.team.coreTeam.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium bg-grad-[to-br_main-10_white]\">\n <h5 class=\"p-micro t-dark fw-medium t-uppercase mn-b-small\">Core Team</h5>\n <div class=\"flex flex-column gap-thin\">\n <div v-for=\"member in initiative.team.coreTeam.slice(0, 3)\" :key=\"member.id\" class=\"flex flex-v-center gap-thin\">\n <img :src=\"member.avatar\" :alt=\"member.name\" class=\"i-medium radius-extra\" />\n <span class=\"p-small truncate\">{{ member.name }}</span>\n </div>\n <span v-if=\"initiative.team.coreTeam.length > 3\" class=\"p-micro t-dark\">+{{ initiative.team.coreTeam.length - 3 }} more</span>\n </div>\n </div>\n\n <div v-if=\"initiative.team.contributors && initiative.team.contributors.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium bg-grad-[to-br_green-10_white]\">\n <h5 class=\"p-micro t-dark fw-medium t-uppercase mn-b-small\">Contributors</h5>\n <div class=\"flex flex-column gap-thin\">\n <div v-for=\"member in initiative.team.contributors.slice(0, 3)\" :key=\"member.id\" class=\"flex flex-v-center gap-thin\">\n <img :src=\"member.avatar\" :alt=\"member.name\" class=\"i-medium radius-extra\" />\n <span class=\"p-small truncate\">{{ member.name }}</span>\n </div>\n <span v-if=\"initiative.team.contributors.length > 3\" class=\"p-micro t-dark\">+{{ initiative.team.contributors.length - 3 }} more</span>\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"metrics\" class=\"mn-t-semi\">\n <h4 class=\"fw-medium mn-b-small\">Key Metrics</h4>\n <div class=\"cols-6 gap-regular\">\n <router-link :to=\"`/governance/initiatives/${route.params.id}/tasks`\" class=\"br-black-transp-10 br-1px radius-medium pd-medium hover:bg-white ease-cubic-in-out\" style=\"text-decoration: none; color: inherit;\">\n <div class=\"p-micro t-dark mn-b-micro\">Task Progress</div>\n <div class=\"h2 fw-medium\">{{ metrics.taskProgress }}%</div>\n </router-link>\n <router-link :to=\"`/governance/initiatives/${route.params.id}/sprints`\" class=\"br-black-transp-10 br-1px radius-medium pd-medium hover:bg-white ease-cubic-in-out\" style=\"text-decoration: none; color: inherit;\">\n <div class=\"p-micro t-dark mn-b-micro\">Sprint Progress</div>\n <div class=\"h2 fw-medium\">{{ metrics.sprintProgress }}%</div>\n </router-link>\n <div class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <div class=\"p-micro t-dark mn-b-micro\">Risk Index</div>\n <div :class=\"`p-small fw-medium t-capitalize pd-thin pd-x-thin radius-regular ${\n metrics.riskIndex === 'low' ? 'bg-green-small t-green-nice' :\n metrics.riskIndex === 'medium' ? 'bg-yellow-small t-yellow-nice' :\n 'bg-red-small t-red-nice'\n }`\">\n {{ metrics.riskIndex }}\n </div>\n </div>\n <div class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <div class=\"p-micro t-dark mn-b-micro\">Availability</div>\n <div class=\"h2 fw-medium\">{{ metrics.availabilityIndex }}%</div>\n </div>\n <div class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <div class=\"p-micro t-dark mn-b-micro\">Active Users</div>\n <div class=\"h2 fw-medium\">{{ metrics.activeUsers }}</div>\n </div>\n <div class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <div class=\"p-micro t-dark mn-b-micro\">Performance</div>\n <div class=\"h2 fw-medium\">{{ metrics.performance }}%</div>\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"relatedVotings.length > 0\" class=\"bg-light radius-semi pd-semi mn-b-semi\">\n <div class=\"flex flex-justify-between flex-v-center mn-b-semi\">\n <div class=\"flex flex-v-center gap-thin\">\n <IconSend class=\"i-medium\" :fill=\"'rgb(var(--grey))'\" />\n <h3 class=\"p-semi fw-medium\">Governance & Approvals</h3>\n </div>\n <router-link :to=\"`/governance/initiatives/${route.params.id}/votings`\" class=\"t-main hover:t-main-semi p-small fw-medium\">\n View all votings\n </router-link>\n </div>\n <div class=\"cols-3 gap-regular\">\n <CardVotingItem v-for=\"voting in relatedVotings.slice(0, 3)\" :key=\"voting._id || voting.id\" :voting=\"voting\" />\n </div>\n </div>\n\n <div v-if=\"sprints.length > 0\" class=\"bg-light radius-semi pd-semi mn-b-semi\">\n <div class=\"flex flex-justify-between flex-v-center mn-b-semi\">\n <div class=\"flex flex-v-center gap-thin\">\n <IconTime class=\"i-medium\" :fill=\"'rgb(var(--grey))'\" />\n <h3 class=\"p-semi fw-medium\">Sprints</h3>\n </div>\n <router-link :to=\"`/governance/initiatives/${route.params.id}/sprints`\" class=\"t-main hover:t-main-semi p-small fw-medium\">\n View all\n </router-link>\n </div>\n <div class=\"cols-3 gap-regular\">\n <CardSprintItem v-for=\"sprint in sprints.slice(0, 6)\" :key=\"sprint._id || sprint.id\" :sprint=\"sprint\" />\n </div>\n </div>\n\n <div class=\"bg-light radius-semi pd-semi mn-b-semi\">\n <div class=\"flex flex-v-center gap-thin mn-b-semi\">\n <IconAttach class=\"i-medium\" :fill=\"'rgb(var(--grey))'\" />\n <h3 class=\"p-semi fw-medium\">Links, Artifacts & Repositories</h3>\n </div>\n\n <div class=\"cols-3 gap-regular\">\n <div v-if=\"initiative.repositories && initiative.repositories.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <h4 class=\"fw-medium mn-b-small\">Repositories</h4>\n <div class=\"flex flex-column gap-thin\">\n <a v-for=\"(repo, index) in initiative.repositories\" :key=\"index\" :href=\"`https://github.com/${repo.path}`\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"p-small t-main hover:t-main-semi flex flex-v-center gap-micro\">\n <IconOpenLink class=\"i-regular\" :fill=\"'currentColor'\" />\n {{ repo.path }}\n </a>\n </div>\n </div>\n\n <div v-if=\"initiative.links?.documentation && initiative.links.documentation.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <h4 class=\"fw-medium mn-b-small flex flex-v-center gap-thin\">\n <IconFile class=\"i-regular\" :fill=\"'currentColor'\" />\n Documentation\n </h4>\n <div class=\"flex flex-column gap-thin\">\n <a v-for=\"(link, index) in initiative.links.documentation\" :key=\"index\" :href=\"link\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"p-small t-main hover:t-main-semi flex flex-v-center gap-micro\">\n <IconOpenLink class=\"i-regular\" :fill=\"'currentColor'\" />\n {{ link.split('/').pop() || 'Link' }}\n </a>\n </div>\n </div>\n\n <div v-if=\"initiative.links?.design && initiative.links.design.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <h4 class=\"fw-medium mn-b-small\">Design</h4>\n <div class=\"flex flex-column gap-thin\">\n <a v-for=\"(link, index) in initiative.links.design\" :key=\"index\" :href=\"link\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"p-small t-main hover:t-main-semi flex flex-v-center gap-micro\">\n <IconOpenLink class=\"i-regular\" :fill=\"'currentColor'\" />\n Figma\n </a>\n </div>\n </div>\n\n <div v-if=\"initiative.links?.cicd && initiative.links.cicd.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <h4 class=\"fw-medium mn-b-small\">CI/CD</h4>\n <div class=\"flex flex-column gap-thin\">\n <a v-for=\"(link, index) in initiative.links.cicd\" :key=\"index\" :href=\"link\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"p-small t-main hover:t-main-semi flex flex-v-center gap-micro\">\n <IconOpenLink class=\"i-regular\" :fill=\"'currentColor'\" />\n Pipelines\n </a>\n </div>\n </div>\n\n <div v-if=\"initiative.links?.monitoring && initiative.links.monitoring.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <h4 class=\"fw-medium mn-b-small\">Monitoring</h4>\n <div class=\"flex flex-column gap-thin\">\n <a v-for=\"(link, index) in initiative.links.monitoring\" :key=\"index\" :href=\"link\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"p-small t-main hover:t-main-semi flex flex-v-center gap-micro\">\n <IconOpenLink class=\"i-regular\" :fill=\"'currentColor'\" />\n Grafana\n </a>\n </div>\n </div>\n\n <div v-if=\"initiative.links?.analytics && initiative.links.analytics.length > 0\" class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <h4 class=\"fw-medium mn-b-small\">Analytics</h4>\n <div class=\"flex flex-column gap-thin\">\n <a v-for=\"(link, index) in initiative.links.analytics\" :key=\"index\" :href=\"link\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"p-small t-main hover:t-main-semi flex flex-v-center gap-micro\">\n <IconOpenLink class=\"i-regular\" :fill=\"'currentColor'\" />\n Dashboard\n </a>\n </div>\n </div>\n </div>\n\n <div v-if=\"initiative.environments && initiative.environments.length > 0\" class=\"mn-t-semi\">\n <h4 class=\"fw-medium mn-b-small\">Environments</h4>\n <div class=\"cols-3 gap-regular\">\n <div v-for=\"(env, index) in initiative.environments\" :key=\"index\" class=\"br-black-transp-10 br-1px radius-medium pd-medium\">\n <div class=\"flex flex-justify-between flex-v-center mn-b-small\">\n <h5 class=\"fw-medium\">{{ env.name }}</h5>\n <span :class=\"`pd-micro pd-x-thin radius-regular p-micro fw-medium ${\n env.status === 'healthy' ? 'bg-green-small t-green-nice' : 'bg-red-small t-red-nice'\n }`\">\n {{ env.status }}\n </span>\n </div>\n <a :href=\"env.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"p-small t-main hover:t-main-semi flex flex-v-center gap-micro mn-b-micro\">\n <IconOpenLink class=\"i-regular\" :fill=\"'currentColor'\" />\n Open\n </a>\n <p class=\"p-micro t-dark\">Version: {{ env.version }}</p>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,UAAM,EAAE,WAAU,IAAK,gBAAe;AAEtC,UAAM,QAAQ,SAAQ;AACtB,UAAM,sBAAsB,IAAI,KAAK;AAErC,UAAM,aAAa,SAAS,MAAM,iBAAiB,OAAO;AAE1D,UAAM,UAAU,IAAI,EAAE;AACtB,UAAM,QAAQ,IAAI,EAAE;AACpB,UAAM,iBAAiB,IAAI,EAAE;AAC7B,UAAM,UAAU,IAAI,IAAI;AAExB,cAAU,YAAY;AACpB,YAAM,KAAK,MAAM,OAAO;AACxB,YAAM,mBAAmB,kBAAkB,EAAE;AAE7C,YAAM,CAAC,aAAa,WAAW,aAAa,WAAW,IAAI,MAAM,QAAQ,IAAI;AAAA,QAC3E,eAAe,gBAAgB,EAAE;AAAA,QACjC,aAAa,gBAAgB,EAAE;AAAA,QAC/B,eAAe,gBAAgB,EAAE;AAAA,QACjC,mBAAmB,WAAW,EAAE;AAAA,MACpC,CAAG;AAED,cAAQ,QAAQ;AAChB,YAAM,QAAQ;AACd,qBAAe,QAAQ;AACvB,cAAQ,QAAQ;AAAA,IAClB,CAAC;AAED,UAAM,eAAe;AAAA,MACnB,QAAQ,EAAE,OAAO,UAAU,OAAO,4CAA2C;AAAA,MAC7E,OAAO,EAAE,OAAO,SAAS,OAAO,mCAAkC;AAAA,MAClE,WAAW,EAAE,OAAO,aAAa,OAAO,oCAAmC;AAAA,MAC3E,UAAU,EAAE,OAAO,YAAY,OAAO,+CAA8C;AAAA,IACtF;AAEA,UAAM,SAAS,SAAS,MAAM,WAAW,QAAS,aAAa,WAAW,MAAM,MAAM,KAAK,aAAa,QAAS,IAAI;AAErH,UAAM,WAAW,SAAS,MAAM;AAC9B,UAAI,CAAC,WAAW,OAAO,MAAO,QAAO;AACrC,aAAO,OAAO,WAAW,MAAM,UAAU,WACrC,WAAW,MAAM,QACjB,WAAW,MAAM,MAAM;AAAA,IAC7B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,78 @@
1
+ import { ref, createElementBlock, openBlock, createElementVNode, createVNode, normalizeClass, toDisplayString } from "vue";
2
+ import { useRouter } from "vue-router";
3
+ import { initiativesActions } from "../../store/initiatives.js";
4
+ import _sfc_main$1 from "../sections/FormInitiativeDetails.vue.js";
5
+ /* empty css */
6
+ /* empty css */
7
+ /* empty css */
8
+ /* empty css */
9
+ /* empty css */
10
+ /* empty css */
11
+ /* empty css */
12
+ /* empty css */
13
+ /* empty css */
14
+ /* empty css */
15
+ /* empty css */
16
+ /* empty css */
17
+ /* empty css */
18
+ /* empty css */
19
+ /* empty css */
20
+ const _hoisted_1 = { class: "pd-medium pd-y-semi" };
21
+ const _hoisted_2 = { class: "flex flex-justify-end mn-t-semi" };
22
+ const _hoisted_3 = ["disabled"];
23
+ const _sfc_main = {
24
+ __name: "InitiativeCreate",
25
+ setup(__props) {
26
+ const router = useRouter();
27
+ const newInitiative = ref({
28
+ name: "",
29
+ title: "",
30
+ description: "",
31
+ status: "draft",
32
+ url: "",
33
+ client: "",
34
+ cover: "",
35
+ fullDescription: "",
36
+ valueProposition: "",
37
+ targetAudience: "",
38
+ successCriteria: [],
39
+ repositories: [],
40
+ links: {},
41
+ environments: [],
42
+ releases: [],
43
+ metrics: null,
44
+ sprints: []
45
+ });
46
+ const creating = ref(false);
47
+ const createInitiative = async () => {
48
+ if (!newInitiative.value.name) return;
49
+ creating.value = true;
50
+ try {
51
+ const response = await initiativesActions.createInitiative(newInitiative.value);
52
+ router.push(`/governance/initiatives/${response._id || response.id}`);
53
+ } catch (e) {
54
+ creating.value = false;
55
+ }
56
+ };
57
+ return (_ctx, _cache) => {
58
+ return openBlock(), createElementBlock("div", _hoisted_1, [
59
+ _cache[1] || (_cache[1] = createElementVNode("h1", { class: "h2 fw-medium mn-b-semi" }, "Create New Initiative", -1)),
60
+ createVNode(_sfc_main$1, {
61
+ modelValue: newInitiative.value,
62
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => newInitiative.value = $event)
63
+ }, null, 8, ["modelValue"]),
64
+ createElementVNode("div", _hoisted_2, [
65
+ createElementVNode("button", {
66
+ onClick: createInitiative,
67
+ disabled: !newInitiative.value.name || creating.value,
68
+ class: normalizeClass(["bg-main hover:bg-main-semi t-white fw-medium pd-medium pd-x-semi radius-medium p-regular ease-cubic-in-out", { "o-50": !newInitiative.value.name || creating.value }])
69
+ }, toDisplayString(creating.value ? "Creating..." : "Create Initiative"), 11, _hoisted_3)
70
+ ])
71
+ ]);
72
+ };
73
+ }
74
+ };
75
+ export {
76
+ _sfc_main as default
77
+ };
78
+ //# sourceMappingURL=InitiativeCreate.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeCreate.vue.js","sources":["../../../../../../../../src/modules/governance/views/components/pages/InitiativeCreate.vue"],"sourcesContent":["<script setup>\nimport { ref } from 'vue';\nimport { useRouter } from 'vue-router';\nimport { initiativesActions } from '../../store/initiatives';\nimport FormInitiativeDetails from '../sections/FormInitiativeDetails.vue';\nimport { IconArrow } from '@martyrs/src/modules/icons/icons.client.js';\n\nconst router = useRouter();\n\nconst newInitiative = ref({\n name: '',\n title: '',\n description: '',\n status: 'draft',\n url: '',\n client: '',\n cover: '',\n fullDescription: '',\n valueProposition: '',\n targetAudience: '',\n successCriteria: [],\n repositories: [],\n links: {},\n environments: [],\n releases: [],\n metrics: null,\n sprints: [],\n});\n\nconst creating = ref(false);\n\nconst createInitiative = async () => {\n if (!newInitiative.value.name) return;\n creating.value = true;\n try {\n const response = await initiativesActions.createInitiative(newInitiative.value);\n router.push(`/governance/initiatives/${response._id || response.id}`);\n } catch (e) {\n creating.value = false;\n }\n};\n</script>\n\n<template>\n <div class=\"pd-medium pd-y-semi\">\n <h1 class=\"h2 fw-medium mn-b-semi\">Create New Initiative</h1>\n\n <FormInitiativeDetails v-model=\"newInitiative\" />\n\n <div class=\"flex flex-justify-end mn-t-semi\">\n <button\n @click=\"createInitiative\"\n :disabled=\"!newInitiative.name || creating\"\n class=\"bg-main hover:bg-main-semi t-white fw-medium pd-medium pd-x-semi radius-medium p-regular ease-cubic-in-out\"\n :class=\"{ 'o-50': !newInitiative.name || creating }\"\n >\n {{ creating ? 'Creating...' : 'Create Initiative' }}\n </button>\n </div>\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,UAAM,SAAS,UAAS;AAExB,UAAM,gBAAgB,IAAI;AAAA,MACxB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,iBAAiB,CAAA;AAAA,MACjB,cAAc,CAAA;AAAA,MACd,OAAO,CAAA;AAAA,MACP,cAAc,CAAA;AAAA,MACd,UAAU,CAAA;AAAA,MACV,SAAS;AAAA,MACT,SAAS,CAAA;AAAA,IACX,CAAC;AAED,UAAM,WAAW,IAAI,KAAK;AAE1B,UAAM,mBAAmB,YAAY;AACnC,UAAI,CAAC,cAAc,MAAM,KAAM;AAC/B,eAAS,QAAQ;AACjB,UAAI;AACF,cAAM,WAAW,MAAM,mBAAmB,iBAAiB,cAAc,KAAK;AAC9E,eAAO,KAAK,2BAA2B,SAAS,OAAO,SAAS,EAAE,EAAE;AAAA,MACtE,SAAS,GAAG;AACV,iBAAS,QAAQ;AAAA,MACnB;AAAA,IACF;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,328 @@
1
+ import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createElementVNode, createVNode, withCtx, createTextVNode, unref, createCommentVNode, toDisplayString, normalizeClass, normalizeStyle, Fragment, createBlock, renderList } from "vue";
2
+ import { useRoute } from "vue-router";
3
+ import _sfc_main$4 from "../blocks/CardSprintItem.vue.js";
4
+ import _sfc_main$3 from "../partials/EmptyState.vue.js";
5
+ import { initiativesState, initiativesActions } from "../../store/initiatives.js";
6
+ import { sprintsState, sprintsActions } from "../../store/sprints.js";
7
+ import { useGlobalMixins } from "../../../../core/views/mixins/mixins.js";
8
+ import _sfc_main$2 from "../../../../icons/entities/IconCalendar.vue.js";
9
+ import _sfc_main$5 from "../../../../icons/entities/IconInfo.vue.js";
10
+ import IconTime from "../../../../icons/entities/IconTime.vue.js";
11
+ import _sfc_main$1 from "../../../../icons/navigation/IconArrow.vue.js";
12
+ import _sfc_main$6 from "../../../../icons/navigation/IconCheckmark.vue.js";
13
+ /* empty css */
14
+ /* empty css */
15
+ /* empty css */
16
+ /* empty css */
17
+ /* empty css */
18
+ /* empty css */
19
+ /* empty css */
20
+ /* empty css */
21
+ /* empty css */
22
+ /* empty css */
23
+ /* empty css */
24
+ /* empty css */
25
+ /* empty css */
26
+ /* empty css */
27
+ const _hoisted_1 = {
28
+ key: 0,
29
+ class: "min-h-100vh flex flex-center flex"
30
+ };
31
+ const _hoisted_2 = { class: "t-center" };
32
+ const _hoisted_3 = {
33
+ key: 1,
34
+ class: "min-h-100vh"
35
+ };
36
+ const _hoisted_4 = { class: "pd-medium pd-y-semi" };
37
+ const _hoisted_5 = { class: "bg-light radius-semi o-hidden pd-semi mn-b-semi" };
38
+ const _hoisted_6 = { class: "flex flex-justify-between flex-align-start mn-b-semi" };
39
+ const _hoisted_7 = { class: "flex-child-1" };
40
+ const _hoisted_8 = { class: "h1 fw-medium mn-b-small" };
41
+ const _hoisted_9 = { class: "p-semi t-dark mn-b-medium" };
42
+ const _hoisted_10 = { class: "flex flex-v-center gap-small p-small" };
43
+ const _hoisted_11 = {
44
+ key: 0,
45
+ class: "flex flex-v-center gap-thin t-dark"
46
+ };
47
+ const _hoisted_12 = {
48
+ key: 1,
49
+ class: "flex flex-v-center gap-thin t-dark"
50
+ };
51
+ const _hoisted_13 = { class: "br-b-1px br-black-transp-10 mn-b-semi" };
52
+ const _hoisted_14 = { class: "flex gap-small" };
53
+ const _hoisted_15 = { key: 0 };
54
+ const _hoisted_16 = { class: "flex flex-justify-between flex-v-center mn-b-small" };
55
+ const _hoisted_17 = { class: "h2 fw-medium" };
56
+ const _hoisted_18 = { class: "w-100 bg-white radius-extra h-3r o-hidden mn-b-medium" };
57
+ const _hoisted_19 = { class: "flex flex-v-center gap-small p-small" };
58
+ const _hoisted_20 = { class: "flex flex-v-center gap-thin" };
59
+ const _hoisted_21 = { class: "t-dark" };
60
+ const _hoisted_22 = { class: "flex flex-v-center gap-thin" };
61
+ const _hoisted_23 = { class: "t-dark" };
62
+ const _hoisted_24 = { class: "flex flex-v-center gap-thin" };
63
+ const _hoisted_25 = { class: "t-dark" };
64
+ const _hoisted_26 = {
65
+ key: 1,
66
+ class: "flex flex-column gap-small"
67
+ };
68
+ const _hoisted_27 = { key: 0 };
69
+ const _hoisted_28 = { class: "flex flex-v-center gap-thin mn-b-medium" };
70
+ const _hoisted_29 = { class: "p-small t-dark" };
71
+ const _hoisted_30 = { class: "cols-3 gap-small" };
72
+ const _hoisted_31 = { key: 1 };
73
+ const _hoisted_32 = { class: "flex flex-v-center gap-thin mn-b-medium" };
74
+ const _hoisted_33 = { class: "p-small t-dark" };
75
+ const _hoisted_34 = { class: "cols-3 gap-small" };
76
+ const _hoisted_35 = { key: 2 };
77
+ const _hoisted_36 = { class: "flex flex-v-center gap-thin mn-b-medium" };
78
+ const _hoisted_37 = { class: "p-small t-dark" };
79
+ const _hoisted_38 = { class: "cols-3 gap-small" };
80
+ const _hoisted_39 = {
81
+ key: 1,
82
+ class: "flex flex-column gap-regular"
83
+ };
84
+ const _hoisted_40 = { class: "flex flex-justify-between flex-align-start mn-b-medium" };
85
+ const _hoisted_41 = { class: "flex-child-1" };
86
+ const _hoisted_42 = { class: "flex flex-v-center gap-small mn-b-small" };
87
+ const _hoisted_43 = { class: "h3 fw-medium" };
88
+ const _hoisted_44 = { class: "flex flex-v-center gap-thin p-small t-dark mn-b-small" };
89
+ const _hoisted_45 = { class: "p-regular t-dark t-line-relaxed" };
90
+ const _hoisted_46 = {
91
+ key: 0,
92
+ class: "mn-t-medium"
93
+ };
94
+ const _hoisted_47 = {
95
+ class: "pd-l-semi p-small t-dark flex flex-column gap-micro",
96
+ style: { "list-style": "disc" }
97
+ };
98
+ const _sfc_main = {
99
+ __name: "InitiativeSprints",
100
+ setup(__props) {
101
+ const { formatDate } = useGlobalMixins();
102
+ const route = useRoute();
103
+ const activeTab = ref("sprints");
104
+ const initiative = computed(() => initiativesState.current);
105
+ const sprints = computed(() => sprintsState.all.filter((m) => m.initiative === route.params.id));
106
+ const completedSprints = computed(() => sprints.value.filter((m) => m.status === "completed"));
107
+ const inProgressSprints = computed(() => sprints.value.filter((m) => m.status === "in_progress"));
108
+ const notStartedSprints = computed(() => sprints.value.filter((m) => m.status === "not_started"));
109
+ const overallProgress = computed(() => {
110
+ return sprints.value.length > 0 ? Math.round(completedSprints.value.length / sprints.value.length * 100) : 0;
111
+ });
112
+ onMounted(async () => {
113
+ await initiativesActions.getInitiativeById(route.params.id);
114
+ await sprintsActions.getAllSprints();
115
+ });
116
+ return (_ctx, _cache) => {
117
+ const _component_router_link = resolveComponent("router-link");
118
+ return !initiative.value || !initiative.value._id ? (openBlock(), createElementBlock("div", _hoisted_1, [
119
+ createElementVNode("div", _hoisted_2, [
120
+ _cache[3] || (_cache[3] = createElementVNode("h2", { class: "h2 fw-medium mn-b-small" }, "Initiative not found", -1)),
121
+ createVNode(_component_router_link, {
122
+ to: "/governance",
123
+ class: "t-main hover:t-main-semi"
124
+ }, {
125
+ default: withCtx(() => _cache[2] || (_cache[2] = [
126
+ createTextVNode(" Back to initiatives ")
127
+ ])),
128
+ _: 1
129
+ })
130
+ ])
131
+ ])) : (openBlock(), createElementBlock("div", _hoisted_3, [
132
+ createElementVNode("div", _hoisted_4, [
133
+ createVNode(_component_router_link, {
134
+ to: `/governance/initiatives/${unref(route).params.id}`,
135
+ class: "flex flex-v-center t-dark hover:t-dark mn-b-semi ease-cubic-in-out",
136
+ style: { "text-decoration": "none", "width": "fit-content" }
137
+ }, {
138
+ default: withCtx(() => [
139
+ createVNode(unref(_sfc_main$1), {
140
+ class: "i-medium mn-r-thin",
141
+ rotation: 180,
142
+ fill: "currentColor"
143
+ }),
144
+ _cache[4] || (_cache[4] = createTextVNode(" Back to initiative "))
145
+ ]),
146
+ _: 1
147
+ }, 8, ["to"]),
148
+ createElementVNode("div", _hoisted_5, [
149
+ createElementVNode("div", _hoisted_6, [
150
+ createElementVNode("div", _hoisted_7, [
151
+ createElementVNode("h1", _hoisted_8, toDisplayString(initiative.value.title), 1),
152
+ createElementVNode("p", _hoisted_9, toDisplayString(initiative.value.description), 1),
153
+ createElementVNode("div", _hoisted_10, [
154
+ initiative.value.date ? (openBlock(), createElementBlock("div", _hoisted_11, [
155
+ createVNode(unref(_sfc_main$2), {
156
+ class: "i-regular",
157
+ fill: "currentColor"
158
+ }),
159
+ createElementVNode("span", null, "Started " + toDisplayString(unref(formatDate)(initiative.value.date, { dateOnly: true })), 1)
160
+ ])) : createCommentVNode("", true),
161
+ initiative.value.targetReleaseDate ? (openBlock(), createElementBlock("div", _hoisted_12, [
162
+ createVNode(unref(_sfc_main$2), {
163
+ class: "i-regular",
164
+ fill: "currentColor"
165
+ }),
166
+ createElementVNode("span", null, "Target " + toDisplayString(unref(formatDate)(initiative.value.targetReleaseDate, { dateOnly: true })), 1)
167
+ ])) : createCommentVNode("", true)
168
+ ])
169
+ ])
170
+ ]),
171
+ createElementVNode("div", _hoisted_13, [
172
+ createElementVNode("div", _hoisted_14, [
173
+ createElementVNode("button", {
174
+ onClick: _cache[0] || (_cache[0] = ($event) => activeTab.value = "sprints"),
175
+ class: normalizeClass(`pd-b-medium pd-x-thin br-b-2px fw-medium ease-cubic-in-out ${activeTab.value === "sprints" ? "br-main t-main" : "br-transparent t-dark hover:t-dark"}`)
176
+ }, " Sprints ", 2),
177
+ createElementVNode("button", {
178
+ onClick: _cache[1] || (_cache[1] = ($event) => activeTab.value = "releases"),
179
+ class: normalizeClass(`pd-b-medium pd-x-thin br-b-2px fw-medium ease-cubic-in-out ${activeTab.value === "releases" ? "br-main t-main" : "br-transparent t-dark hover:t-dark"}`)
180
+ }, " Releases ", 2)
181
+ ])
182
+ ]),
183
+ activeTab.value === "sprints" ? (openBlock(), createElementBlock("div", _hoisted_15, [
184
+ createElementVNode("div", _hoisted_16, [
185
+ _cache[5] || (_cache[5] = createElementVNode("span", { class: "p-small fw-medium t-dark" }, "Overall Progress", -1)),
186
+ createElementVNode("span", _hoisted_17, toDisplayString(overallProgress.value) + "%", 1)
187
+ ]),
188
+ createElementVNode("div", _hoisted_18, [
189
+ createElementVNode("div", {
190
+ class: "bg-main h-100 ease-cubic-in-out",
191
+ style: normalizeStyle({ width: `${overallProgress.value}%` })
192
+ }, null, 4)
193
+ ]),
194
+ createElementVNode("div", _hoisted_19, [
195
+ createElementVNode("div", _hoisted_20, [
196
+ _cache[6] || (_cache[6] = createElementVNode("div", { class: "w-3r h-3r bg-green-nice radius-extra" }, null, -1)),
197
+ createElementVNode("span", _hoisted_21, toDisplayString(completedSprints.value.length) + " Completed", 1)
198
+ ]),
199
+ createElementVNode("div", _hoisted_22, [
200
+ _cache[7] || (_cache[7] = createElementVNode("div", { class: "w-3r h-3r bg-main radius-extra" }, null, -1)),
201
+ createElementVNode("span", _hoisted_23, toDisplayString(inProgressSprints.value.length) + " In Progress", 1)
202
+ ]),
203
+ createElementVNode("div", _hoisted_24, [
204
+ _cache[8] || (_cache[8] = createElementVNode("div", { class: "w-3r h-3r bg-grey radius-extra" }, null, -1)),
205
+ createElementVNode("span", _hoisted_25, toDisplayString(notStartedSprints.value.length) + " Not Started", 1)
206
+ ])
207
+ ])
208
+ ])) : createCommentVNode("", true)
209
+ ]),
210
+ activeTab.value === "sprints" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
211
+ _cache[12] || (_cache[12] = createElementVNode("div", { class: "mn-b-semi" }, [
212
+ createElementVNode("h2", { class: "h2 fw-medium" }, "Sprints"),
213
+ createElementVNode("p", { class: "p-regular t-dark mn-t-micro" }, "Track progress across all sprints")
214
+ ], -1)),
215
+ sprints.value.length === 0 ? (openBlock(), createBlock(_sfc_main$3, {
216
+ key: 0,
217
+ title: "No sprints yet",
218
+ message: "Create sprints to start tracking progress on this initiative."
219
+ })) : (openBlock(), createElementBlock("div", _hoisted_26, [
220
+ inProgressSprints.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_27, [
221
+ createElementVNode("div", _hoisted_28, [
222
+ createVNode(unref(IconTime), {
223
+ class: "i-medium",
224
+ fill: "rgb(var(--main))"
225
+ }),
226
+ _cache[9] || (_cache[9] = createElementVNode("h3", { class: "p-semi fw-medium" }, "In Progress", -1)),
227
+ createElementVNode("span", _hoisted_29, "(" + toDisplayString(inProgressSprints.value.length) + ")", 1)
228
+ ]),
229
+ createElementVNode("div", _hoisted_30, [
230
+ (openBlock(true), createElementBlock(Fragment, null, renderList(inProgressSprints.value, (sprint) => {
231
+ return openBlock(), createBlock(_sfc_main$4, {
232
+ key: sprint._id,
233
+ sprint
234
+ }, null, 8, ["sprint"]);
235
+ }), 128))
236
+ ])
237
+ ])) : createCommentVNode("", true),
238
+ notStartedSprints.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_31, [
239
+ createElementVNode("div", _hoisted_32, [
240
+ createVNode(unref(_sfc_main$5), {
241
+ class: "i-medium",
242
+ fill: "rgb(var(--grey))"
243
+ }),
244
+ _cache[10] || (_cache[10] = createElementVNode("h3", { class: "p-semi fw-medium" }, "Not Started", -1)),
245
+ createElementVNode("span", _hoisted_33, "(" + toDisplayString(notStartedSprints.value.length) + ")", 1)
246
+ ]),
247
+ createElementVNode("div", _hoisted_34, [
248
+ (openBlock(true), createElementBlock(Fragment, null, renderList(notStartedSprints.value, (sprint) => {
249
+ return openBlock(), createBlock(_sfc_main$4, {
250
+ key: sprint._id,
251
+ sprint
252
+ }, null, 8, ["sprint"]);
253
+ }), 128))
254
+ ])
255
+ ])) : createCommentVNode("", true),
256
+ completedSprints.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_35, [
257
+ createElementVNode("div", _hoisted_36, [
258
+ createVNode(unref(_sfc_main$6), {
259
+ class: "i-medium",
260
+ fill: "rgb(var(--green-nice))"
261
+ }),
262
+ _cache[11] || (_cache[11] = createElementVNode("h3", { class: "p-semi fw-medium" }, "Completed", -1)),
263
+ createElementVNode("span", _hoisted_37, "(" + toDisplayString(completedSprints.value.length) + ")", 1)
264
+ ]),
265
+ createElementVNode("div", _hoisted_38, [
266
+ (openBlock(true), createElementBlock(Fragment, null, renderList(completedSprints.value, (sprint) => {
267
+ return openBlock(), createBlock(_sfc_main$4, {
268
+ key: sprint._id,
269
+ sprint
270
+ }, null, 8, ["sprint"]);
271
+ }), 128))
272
+ ])
273
+ ])) : createCommentVNode("", true)
274
+ ]))
275
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
276
+ _cache[14] || (_cache[14] = createElementVNode("div", { class: "mn-b-semi" }, [
277
+ createElementVNode("h2", { class: "h2 fw-medium" }, "Release History"),
278
+ createElementVNode("p", { class: "p-regular t-dark mn-t-micro" }, "All releases for this initiative")
279
+ ], -1)),
280
+ !initiative.value.releases || initiative.value.releases.length === 0 ? (openBlock(), createBlock(_sfc_main$3, {
281
+ key: 0,
282
+ title: "No releases yet",
283
+ message: "Releases will appear here once they are created."
284
+ })) : (openBlock(), createElementBlock("div", _hoisted_39, [
285
+ (openBlock(true), createElementBlock(Fragment, null, renderList(initiative.value.releases, (release, index) => {
286
+ return openBlock(), createElementBlock("div", {
287
+ key: index,
288
+ class: "br-black-transp-10 br-1px radius-medium o-hidden pd-semi hover:scale-[1.05] ease-cubic-in-out"
289
+ }, [
290
+ createElementVNode("div", _hoisted_40, [
291
+ createElementVNode("div", _hoisted_41, [
292
+ createElementVNode("div", _hoisted_42, [
293
+ createElementVNode("h3", _hoisted_43, toDisplayString(release.version), 1),
294
+ createElementVNode("span", {
295
+ class: normalizeClass(`pd-micro pd-x-small radius-extra p-small fw-medium ${release.status === "released" ? "bg-green-small t-green-nice" : release.status === "in_progress" ? "bg-main-small t-main" : "br-black-transp-10 br-1px t-dark"}`)
296
+ }, toDisplayString(release.status), 3)
297
+ ]),
298
+ createElementVNode("div", _hoisted_44, [
299
+ createVNode(unref(_sfc_main$2), {
300
+ class: "i-regular",
301
+ fill: "currentColor"
302
+ }),
303
+ createElementVNode("span", null, toDisplayString(unref(formatDate)(release.date, { dateOnly: true })), 1)
304
+ ])
305
+ ])
306
+ ]),
307
+ createElementVNode("p", _hoisted_45, toDisplayString(release.notes), 1),
308
+ release.migrations && release.migrations.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_46, [
309
+ _cache[13] || (_cache[13] = createElementVNode("h4", { class: "p-small fw-medium t-dark mn-b-small" }, "Migrations", -1)),
310
+ createElementVNode("ul", _hoisted_47, [
311
+ (openBlock(true), createElementBlock(Fragment, null, renderList(release.migrations, (migration, idx) => {
312
+ return openBlock(), createElementBlock("li", { key: idx }, toDisplayString(migration), 1);
313
+ }), 128))
314
+ ])
315
+ ])) : createCommentVNode("", true)
316
+ ]);
317
+ }), 128))
318
+ ]))
319
+ ], 64))
320
+ ])
321
+ ]));
322
+ };
323
+ }
324
+ };
325
+ export {
326
+ _sfc_main as default
327
+ };
328
+ //# sourceMappingURL=InitiativeSprints.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeSprints.vue.js","sources":["../../../../../../../../src/modules/governance/views/components/pages/InitiativeSprints.vue"],"sourcesContent":["<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useRoute } from 'vue-router';\nimport CardSprintItem from '../blocks/CardSprintItem.vue';\nimport EmptyState from '../partials/EmptyState.vue';\nimport { initiativesActions, initiativesState } from '../../store/initiatives';\nimport { sprintsActions, sprintsState } from '../../store/sprints';\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js';\nimport { IconArrow, IconCalendar, IconTime, IconEntityInfo, IconCheckmark } from '@martyrs/src/modules/icons/icons.client.js';\n\nconst { formatDate } = useGlobalMixins();\n\nconst route = useRoute();\nconst activeTab = ref('sprints');\n\nconst initiative = computed(() => initiativesState.current);\nconst sprints = computed(() => sprintsState.all.filter(m => m.initiative === route.params.id));\n\nconst completedSprints = computed(() => sprints.value.filter(m => m.status === 'completed'));\nconst inProgressSprints = computed(() => sprints.value.filter(m => m.status === 'in_progress'));\nconst notStartedSprints = computed(() => sprints.value.filter(m => m.status === 'not_started'));\n\nconst overallProgress = computed(() => {\n return sprints.value.length > 0\n ? Math.round((completedSprints.value.length / sprints.value.length) * 100)\n : 0;\n});\n\nonMounted(async () => {\n await initiativesActions.getInitiativeById(route.params.id);\n await sprintsActions.getAllSprints();\n});\n</script>\n\n<template>\n <div v-if=\"!initiative || !initiative._id\" class=\"min-h-100vh flex flex-center flex\">\n <div class=\"t-center\">\n <h2 class=\"h2 fw-medium mn-b-small\">Initiative not found</h2>\n <router-link to=\"/governance\" class=\"t-main hover:t-main-semi\">\n Back to initiatives\n </router-link>\n </div>\n </div>\n\n <div v-else class=\"min-h-100vh\">\n <div class=\"pd-medium pd-y-semi\">\n <router-link\n :to=\"`/governance/initiatives/${route.params.id}`\"\n class=\"flex flex-v-center t-dark hover:t-dark mn-b-semi ease-cubic-in-out\"\n style=\"text-decoration: none; width: fit-content;\"\n >\n <IconArrow class=\"i-medium mn-r-thin\" :rotation=\"180\" :fill=\"'currentColor'\" />\n Back to initiative\n </router-link>\n\n <div class=\"bg-light radius-semi o-hidden pd-semi mn-b-semi\">\n <div class=\"flex flex-justify-between flex-align-start mn-b-semi\">\n <div class=\"flex-child-1\">\n <h1 class=\"h1 fw-medium mn-b-small\">{{ initiative.title }}</h1>\n <p class=\"p-semi t-dark mn-b-medium\">{{ initiative.description }}</p>\n <div class=\"flex flex-v-center gap-small p-small\">\n <div v-if=\"initiative.date\" class=\"flex flex-v-center gap-thin t-dark\">\n <IconCalendar class=\"i-regular\" :fill=\"'currentColor'\" />\n <span>Started {{ formatDate(initiative.date, { dateOnly: true }) }}</span>\n </div>\n <div v-if=\"initiative.targetReleaseDate\" class=\"flex flex-v-center gap-thin t-dark\">\n <IconCalendar class=\"i-regular\" :fill=\"'currentColor'\" />\n <span>Target {{ formatDate(initiative.targetReleaseDate, { dateOnly: true }) }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"br-b-1px br-black-transp-10 mn-b-semi\">\n <div class=\"flex gap-small\">\n <button\n @click=\"activeTab = 'sprints'\"\n :class=\"`pd-b-medium pd-x-thin br-b-2px fw-medium ease-cubic-in-out ${\n activeTab === 'sprints'\n ? 'br-main t-main'\n : 'br-transparent t-dark hover:t-dark'\n }`\"\n >\n Sprints\n </button>\n <button\n @click=\"activeTab = 'releases'\"\n :class=\"`pd-b-medium pd-x-thin br-b-2px fw-medium ease-cubic-in-out ${\n activeTab === 'releases'\n ? 'br-main t-main'\n : 'br-transparent t-dark hover:t-dark'\n }`\"\n >\n Releases\n </button>\n </div>\n </div>\n\n <div v-if=\"activeTab === 'sprints'\">\n <div class=\"flex flex-justify-between flex-v-center mn-b-small\">\n <span class=\"p-small fw-medium t-dark\">Overall Progress</span>\n <span class=\"h2 fw-medium\">{{ overallProgress }}%</span>\n </div>\n <div class=\"w-100 bg-white radius-extra h-3r o-hidden mn-b-medium\">\n <div\n class=\"bg-main h-100 ease-cubic-in-out\"\n :style=\"{ width: `${overallProgress}%` }\"\n />\n </div>\n <div class=\"flex flex-v-center gap-small p-small\">\n <div class=\"flex flex-v-center gap-thin\">\n <div class=\"w-3r h-3r bg-green-nice radius-extra\" />\n <span class=\"t-dark\">{{ completedSprints.length }} Completed</span>\n </div>\n <div class=\"flex flex-v-center gap-thin\">\n <div class=\"w-3r h-3r bg-main radius-extra\" />\n <span class=\"t-dark\">{{ inProgressSprints.length }} In Progress</span>\n </div>\n <div class=\"flex flex-v-center gap-thin\">\n <div class=\"w-3r h-3r bg-grey radius-extra\" />\n <span class=\"t-dark\">{{ notStartedSprints.length }} Not Started</span>\n </div>\n </div>\n </div>\n </div>\n\n <template v-if=\"activeTab === 'sprints'\">\n <div class=\"mn-b-semi\">\n <h2 class=\"h2 fw-medium\">Sprints</h2>\n <p class=\"p-regular t-dark mn-t-micro\">Track progress across all sprints</p>\n </div>\n\n <EmptyState\n v-if=\"sprints.length === 0\"\n title=\"No sprints yet\"\n message=\"Create sprints to start tracking progress on this initiative.\"\n />\n\n <div v-else class=\"flex flex-column gap-small\">\n <div v-if=\"inProgressSprints.length > 0\">\n <div class=\"flex flex-v-center gap-thin mn-b-medium\">\n <IconTime class=\"i-medium\" :fill=\"'rgb(var(--main))'\" />\n <h3 class=\"p-semi fw-medium\">In Progress</h3>\n <span class=\"p-small t-dark\">({{ inProgressSprints.length }})</span>\n </div>\n <div class=\"cols-3 gap-small\">\n <CardSprintItem\n v-for=\"sprint in inProgressSprints\"\n :key=\"sprint._id\"\n :sprint=\"sprint\"\n />\n </div>\n </div>\n\n <div v-if=\"notStartedSprints.length > 0\">\n <div class=\"flex flex-v-center gap-thin mn-b-medium\">\n <IconEntityInfo class=\"i-medium\" :fill=\"'rgb(var(--grey))'\" />\n <h3 class=\"p-semi fw-medium\">Not Started</h3>\n <span class=\"p-small t-dark\">({{ notStartedSprints.length }})</span>\n </div>\n <div class=\"cols-3 gap-small\">\n <CardSprintItem\n v-for=\"sprint in notStartedSprints\"\n :key=\"sprint._id\"\n :sprint=\"sprint\"\n />\n </div>\n </div>\n\n <div v-if=\"completedSprints.length > 0\">\n <div class=\"flex flex-v-center gap-thin mn-b-medium\">\n <IconCheckmark class=\"i-medium\" :fill=\"'rgb(var(--green-nice))'\" />\n <h3 class=\"p-semi fw-medium\">Completed</h3>\n <span class=\"p-small t-dark\">({{ completedSprints.length }})</span>\n </div>\n <div class=\"cols-3 gap-small\">\n <CardSprintItem\n v-for=\"sprint in completedSprints\"\n :key=\"sprint._id\"\n :sprint=\"sprint\"\n />\n </div>\n </div>\n </div>\n </template>\n\n <template v-else>\n <div class=\"mn-b-semi\">\n <h2 class=\"h2 fw-medium\">Release History</h2>\n <p class=\"p-regular t-dark mn-t-micro\">All releases for this initiative</p>\n </div>\n\n <EmptyState\n v-if=\"!initiative.releases || initiative.releases.length === 0\"\n title=\"No releases yet\"\n message=\"Releases will appear here once they are created.\"\n />\n\n <div v-else class=\"flex flex-column gap-regular\">\n <div\n v-for=\"(release, index) in initiative.releases\"\n :key=\"index\"\n class=\"br-black-transp-10 br-1px radius-medium o-hidden pd-semi hover:scale-[1.05] ease-cubic-in-out\"\n >\n <div class=\"flex flex-justify-between flex-align-start mn-b-medium\">\n <div class=\"flex-child-1\">\n <div class=\"flex flex-v-center gap-small mn-b-small\">\n <h3 class=\"h3 fw-medium\">{{ release.version }}</h3>\n <span\n :class=\"`pd-micro pd-x-small radius-extra p-small fw-medium ${\n release.status === 'released'\n ? 'bg-green-small t-green-nice'\n : release.status === 'in_progress'\n ? 'bg-main-small t-main'\n : 'br-black-transp-10 br-1px t-dark'\n }`\"\n >\n {{ release.status }}\n </span>\n </div>\n <div class=\"flex flex-v-center gap-thin p-small t-dark mn-b-small\">\n <IconCalendar class=\"i-regular\" :fill=\"'currentColor'\" />\n <span>{{ formatDate(release.date, { dateOnly: true }) }}</span>\n </div>\n </div>\n </div>\n <p class=\"p-regular t-dark t-line-relaxed\">{{ release.notes }}</p>\n <div v-if=\"release.migrations && release.migrations.length > 0\" class=\"mn-t-medium\">\n <h4 class=\"p-small fw-medium t-dark mn-b-small\">Migrations</h4>\n <ul class=\"pd-l-semi p-small t-dark flex flex-column gap-micro\" style=\"list-style: disc;\">\n <li v-for=\"(migration, idx) in release.migrations\" :key=\"idx\">{{ migration }}</li>\n </ul>\n </div>\n </div>\n </div>\n </template>\n </div>\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAM,EAAE,WAAU,IAAK,gBAAe;AAEtC,UAAM,QAAQ,SAAQ;AACtB,UAAM,YAAY,IAAI,SAAS;AAE/B,UAAM,aAAa,SAAS,MAAM,iBAAiB,OAAO;AAC1D,UAAM,UAAU,SAAS,MAAM,aAAa,IAAI,OAAO,OAAK,EAAE,eAAe,MAAM,OAAO,EAAE,CAAC;AAE7F,UAAM,mBAAmB,SAAS,MAAM,QAAQ,MAAM,OAAO,OAAK,EAAE,WAAW,WAAW,CAAC;AAC3F,UAAM,oBAAoB,SAAS,MAAM,QAAQ,MAAM,OAAO,OAAK,EAAE,WAAW,aAAa,CAAC;AAC9F,UAAM,oBAAoB,SAAS,MAAM,QAAQ,MAAM,OAAO,OAAK,EAAE,WAAW,aAAa,CAAC;AAE9F,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,QAAQ,MAAM,SAAS,IAC1B,KAAK,MAAO,iBAAiB,MAAM,SAAS,QAAQ,MAAM,SAAU,GAAG,IACvE;AAAA,IACN,CAAC;AAED,cAAU,YAAY;AACpB,YAAM,mBAAmB,kBAAkB,MAAM,OAAO,EAAE;AAC1D,YAAM,eAAe,cAAa;AAAA,IACpC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}