@ozdao/martyrs 0.2.470 → 0.2.472

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/dist/{Media-CR0V1zvB.js → Media-DW8RLbfM.js} +1 -1
  2. package/dist/{Media-C4Ges_Sd.mjs → Media-y_TX6us_.mjs} +1 -1
  3. package/dist/_virtual/index.cjs +1 -1
  4. package/dist/_virtual/index.js +1 -1
  5. package/dist/auth.server.js +1 -1
  6. package/dist/auth.server.mjs +1 -1
  7. package/dist/chats.server.js +1 -1
  8. package/dist/chats.server.mjs +1 -1
  9. package/dist/community.server.js +1 -1
  10. package/dist/community.server.mjs +1 -1
  11. package/dist/events.server.js +1 -1
  12. package/dist/events.server.mjs +1 -1
  13. package/dist/files.server.js +1 -1
  14. package/dist/files.server.mjs +1 -1
  15. package/dist/gallery.server.js +1 -1
  16. package/dist/gallery.server.mjs +1 -1
  17. package/dist/{index-DQqZReAr.js → index-CVXl1rB5.js} +0 -1
  18. package/dist/{index-DICZTQ-1.mjs → index-Df8vtZx7.mjs} +0 -1
  19. package/dist/{main-CsZAG5Wz.js → main-CCfQH-Dd.js} +2 -2
  20. package/dist/{main-CTcal9qN.mjs → main-CgmHzhq5.mjs} +74 -74
  21. package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +1 -1
  22. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
  23. package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
  24. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  25. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
  26. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  27. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs +5 -0
  28. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs.map +1 -0
  29. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  30. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  31. package/dist/{node_modules/.pnpm/uuid@11.1.0 → martyrs}/node_modules/uuid/dist/esm-browser/rng.cjs +4 -4
  32. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.cjs.map +1 -0
  33. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
  34. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
  35. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs +17 -0
  36. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs.map +1 -0
  37. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
  38. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
  39. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs +13 -0
  40. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs.map +1 -0
  41. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
  42. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
  43. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs +8 -0
  44. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs.map +1 -0
  45. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  46. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  47. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  48. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  49. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  50. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  51. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  52. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  53. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  54. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  55. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs +5 -5
  56. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js +5 -5
  58. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/Tab/{Tab.vue2.cjs → Tab.vue.cjs} +2 -2
  60. package/dist/martyrs/src/components/Tab/{Tab.vue2.js.map → Tab.vue.cjs.map} +1 -1
  61. package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
  62. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
  63. package/dist/martyrs/src/components/Tree/Tree.vue.cjs +3 -1
  64. package/dist/martyrs/src/components/Tree/Tree.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/components/Tree/Tree.vue.js +3 -1
  66. package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  69. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  71. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  73. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  75. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  77. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  79. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  81. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  85. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +1 -0
  86. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  87. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -0
  88. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  89. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  91. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  93. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +107 -21
  94. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
  95. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +107 -21
  96. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
  97. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +10 -14
  98. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  99. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +12 -16
  100. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  103. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +7 -13
  104. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  105. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +7 -13
  106. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  107. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +6 -7
  108. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +7 -8
  110. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  113. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  115. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  117. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  118. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
  119. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
  120. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
  121. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  123. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  125. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  127. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  129. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +11 -5
  130. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +12 -6
  132. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +34 -13
  134. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +35 -14
  136. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +20 -9
  138. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  139. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +21 -10
  140. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  141. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  143. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  145. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -1
  146. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  147. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -1
  148. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  151. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  153. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +1 -1
  155. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  157. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  159. package/dist/martyrs.cjs.js +1 -1
  160. package/dist/martyrs.css +1 -1
  161. package/dist/martyrs.es.js +1 -1
  162. package/dist/notifications.server.js +35 -2
  163. package/dist/notifications.server.mjs +35 -2
  164. package/dist/orders.server.js +3 -3
  165. package/dist/orders.server.mjs +3 -3
  166. package/dist/organizations.server.js +1 -1
  167. package/dist/organizations.server.mjs +1 -1
  168. package/dist/products.server.js +78 -53
  169. package/dist/products.server.mjs +78 -53
  170. package/dist/rents.server.js +1 -1
  171. package/dist/rents.server.mjs +1 -1
  172. package/dist/style.css +37 -38
  173. package/dist/wallet.server.js +1 -1
  174. package/dist/wallet.server.mjs +1 -1
  175. package/package.json +2 -1
  176. package/src/components/Feed/Feed.vue +2 -7
  177. package/src/components/Skeleton/Skeleton.vue +4 -5
  178. package/src/components/Tree/Tree.vue +5 -2
  179. package/src/modules/auth/controllers/middlewares/authJwt.js +1 -1
  180. package/src/modules/auth/views/store/auth.js +2 -1
  181. package/src/modules/globals/controllers/classes/globals.crud.js +2 -2
  182. package/src/modules/globals/views/classes/globals.store.js +119 -31
  183. package/src/modules/globals/views/components/partials/Navigation.vue +11 -10
  184. package/src/modules/globals/views/utils/vue-app-renderer.js +7 -16
  185. package/src/modules/icons/entities/IconMusic.vue +14 -0
  186. package/src/modules/icons/navigation/IconCheck.vue +31 -0
  187. package/src/modules/icons/navigation/IconHeart.vue +26 -0
  188. package/src/modules/icons/navigation/IconPause.vue +31 -0
  189. package/src/modules/icons/navigation/IconPlay.vue +17 -0
  190. package/src/modules/icons/navigation/IconRefresh.vue +31 -0
  191. package/src/modules/icons/navigation/IconShuffle.vue +31 -0
  192. package/src/modules/icons/navigation/IconVolume.vue +31 -0
  193. package/src/modules/music/components/SidebarMusic.vue +156 -0
  194. package/src/modules/music/components/cards/AlbumCard.vue +107 -0
  195. package/src/modules/music/components/cards/ArtistCard.vue +37 -0
  196. package/src/modules/music/components/cards/PlaylistCard.vue +100 -0
  197. package/src/modules/music/components/cards/TrackCard.vue +86 -0
  198. package/src/modules/music/components/forms/PlaylistForm.vue +156 -0
  199. package/src/modules/music/components/forms/SearchForm.vue +82 -0
  200. package/src/modules/music/components/forms/UploadForm.vue +313 -0
  201. package/src/modules/music/components/layouts/MusicLayout.vue +137 -0
  202. package/src/modules/music/components/lists/AlbumList.vue +25 -0
  203. package/src/modules/music/components/lists/ArtistList.vue +25 -0
  204. package/src/modules/music/components/lists/PlaylistList.vue +25 -0
  205. package/src/modules/music/components/lists/TrackList.vue +175 -0
  206. package/src/modules/music/components/pages/AlbumDetail.vue +265 -0
  207. package/src/modules/music/components/pages/ArtistDetail.vue +247 -0
  208. package/src/modules/music/components/pages/MusicHome.vue +177 -0
  209. package/src/modules/music/components/pages/MusicLibrary.vue +192 -0
  210. package/src/modules/music/components/pages/MusicUpload.vue +44 -0
  211. package/src/modules/music/components/pages/PlaylistDetail.vue +504 -0
  212. package/src/modules/music/components/pages/SearchResults.vue +397 -0
  213. package/src/modules/music/components/pages/TrackDetail.vue +143 -0
  214. package/src/modules/music/components/player/MusicPlayer.vue +202 -0
  215. package/src/modules/music/components/player/TrackProgress.vue +110 -0
  216. package/src/modules/music/components/player/VolumeControl.vue +98 -0
  217. package/src/modules/music/controllers/album.controller.js +98 -0
  218. package/src/modules/music/controllers/artist.controller.js +111 -0
  219. package/src/modules/music/controllers/genre.controller.js +71 -0
  220. package/src/modules/music/controllers/music.controller.js +174 -0
  221. package/src/modules/music/controllers/playlist.controller.js +182 -0
  222. package/src/modules/music/controllers/search.controller.js +103 -0
  223. package/src/modules/music/controllers/stream.controller.js +106 -0
  224. package/src/modules/music/models/album.model.js +61 -0
  225. package/src/modules/music/models/artist.model.js +67 -0
  226. package/src/modules/music/models/genre.model.js +42 -0
  227. package/src/modules/music/models/play-history.model.js +51 -0
  228. package/src/modules/music/models/playlist.model.js +69 -0
  229. package/src/modules/music/models/track.model.js +94 -0
  230. package/src/modules/music/music.client.js +186 -0
  231. package/src/modules/music/music.server.js +114 -0
  232. package/src/modules/music/policies/music.policies.js +84 -0
  233. package/src/modules/music/router/music.js +77 -0
  234. package/src/modules/music/routes/album.routes.js +62 -0
  235. package/src/modules/music/routes/artist.routes.js +67 -0
  236. package/src/modules/music/routes/genre.routes.js +60 -0
  237. package/src/modules/music/routes/music.routes.js +145 -0
  238. package/src/modules/music/routes/playlist.routes.js +99 -0
  239. package/src/modules/music/routes/search.routes.js +10 -0
  240. package/src/modules/music/routes/stream.routes.js +38 -0
  241. package/src/modules/music/store/albums.js +200 -0
  242. package/src/modules/music/store/artists.js +180 -0
  243. package/src/modules/music/store/player.js +397 -0
  244. package/src/modules/music/store/playlists.js +211 -0
  245. package/src/modules/music/store/search.js +126 -0
  246. package/src/modules/music/store/tracks.js +230 -0
  247. package/src/modules/music/websocket/streaming.handler.js +151 -0
  248. package/src/modules/notifications/controllers/notifications.controller.js +44 -1
  249. package/src/modules/notifications/notifications.server.js +0 -1
  250. package/src/modules/notifications/routes/notifications.routes.js +3 -0
  251. package/src/modules/orders/components/pages/OrderCreate.vue +0 -2
  252. package/src/modules/products/components/blocks/CardCategory.vue +5 -4
  253. package/src/modules/products/components/pages/Categories.vue +38 -20
  254. package/src/modules/products/components/pages/CategoryEdit.vue +16 -7
  255. package/src/modules/products/components/pages/ProductEdit.vue +1 -0
  256. package/src/modules/products/controllers/categories.controller.js +155 -103
  257. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  258. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  259. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +0 -1
  260. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
  261. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
  262. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
  263. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  264. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs +0 -6
  265. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs.map +0 -1
  266. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
  267. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  268. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
  269. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  270. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  271. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -11
  272. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
  273. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
  274. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  275. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs +0 -21
  276. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
  277. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -21
  278. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  279. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +0 -0
  280. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
  281. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs +0 -0
  282. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs.map +0 -0
  283. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js +0 -0
  284. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js.map +0 -0
@@ -0,0 +1,177 @@
1
+ <!-- components/pages/MusicHome.vue -->
2
+ <template>
3
+ <div class="music-home-page">
4
+ <!-- Hero Section -->
5
+ <section class="bg-gradient-dark pd-medium radius-medium mn-b-medium">
6
+ <h1 class="t-white mn-b-small">Welcome to Music</h1>
7
+ <p class="t-grey t-medium">Discover new tracks, albums, and playlists</p>
8
+ </section>
9
+
10
+ <!-- Featured Playlists Section -->
11
+ <section class="mn-b-medium">
12
+ <div class="flex-between flex mn-b-small">
13
+ <h2 class="t-white">Featured Playlists</h2>
14
+ <router-link :to="{ path: '/music/playlists' }" class="t-main t-small hover-opacity">See all</router-link>
15
+ </div>
16
+
17
+ <Feed
18
+ v-model:items="featuredPlaylists"
19
+ :isLoading="loadingFeatured"
20
+ :showLoadMore="false"
21
+ :skeleton="{
22
+ structure: [
23
+ { block: 'square', size: 'large', rounded: false },
24
+ { block: 'text', size: 'medium' },
25
+ { block: 'text', size: 'small' }
26
+ ],
27
+ horizontal: false
28
+ }"
29
+ class="cols-5 mobile:cols-2 gap-small"
30
+ >
31
+ <template #default="{ items }">
32
+ <li v-for="playlist in items" :key="playlist._id">
33
+ <PlaylistCard :playlist="playlist" class="hover-scale-1 transition-cubic-in-out" />
34
+ </li>
35
+ </template>
36
+ </Feed>
37
+ </section>
38
+
39
+ <!-- New Releases Section -->
40
+ <section class="mn-b-medium">
41
+ <div class="flex-between flex mn-b-small">
42
+ <h2 class="t-white">New Releases</h2>
43
+ <router-link :to="{ path: '/music/albums' }" class="t-main t-small hover-opacity">See all</router-link>
44
+ </div>
45
+
46
+ <Feed
47
+ v-model:items="recentAlbums"
48
+ :isLoading="loadingRecentAlbums"
49
+ :showLoadMore="false"
50
+ :skeleton="{
51
+ structure: [
52
+ { block: 'square', size: 'large', rounded: false },
53
+ { block: 'text', size: 'medium' },
54
+ { block: 'text', size: 'small' }
55
+ ],
56
+ horizontal: false
57
+ }"
58
+ class="cols-5 mobile:cols-2 gap-small"
59
+ >
60
+ <template #default="{ items }">
61
+ <li v-for="album in items" :key="album._id">
62
+ <AlbumCard :album="album" class="hover-scale-1 transition-cubic-in-out" />
63
+ </li>
64
+ </template>
65
+ </Feed>
66
+ </section>
67
+
68
+ <!-- Popular Tracks Section -->
69
+ <section class="mn-b-medium">
70
+ <div class="flex-between flex mn-b-small">
71
+ <h2 class="t-white">Popular Tracks</h2>
72
+ <router-link :to="{ path: '/music/tracks' }" class="t-main t-small hover-opacity">See all</router-link>
73
+ </div>
74
+
75
+ <Feed
76
+ v-model:items="popularTracks"
77
+ :isLoading="loadingPopularTracks"
78
+ :showLoadMore="false"
79
+ :skeleton="{
80
+ structure: [
81
+ { block: 'text', size: 'medium' },
82
+ { block: 'text', size: 'small' }
83
+ ],
84
+ horizontal: true
85
+ }"
86
+ >
87
+ <template #default="{ items }">
88
+ <TrackList
89
+ :tracks="items"
90
+ :showAlbum="true"
91
+ :showCover="true"
92
+ class="bg-dark-transp-10 radius-medium o-hidden"
93
+ />
94
+ </template>
95
+ </Feed>
96
+ </section>
97
+
98
+ <!-- Top Artists Section -->
99
+ <section>
100
+ <div class="flex-between flex mn-b-small">
101
+ <h2 class="t-white">Top Artists</h2>
102
+ <router-link :to="{ path: '/music/artists' }" class="t-main t-small hover-opacity">See all</router-link>
103
+ </div>
104
+
105
+ <Feed
106
+ v-model:items="topArtists"
107
+ :isLoading="loadingTopArtists"
108
+ :showLoadMore="false"
109
+ :skeleton="{
110
+ structure: [
111
+ { block: 'circle', size: 'large' },
112
+ { block: 'text', size: 'medium' }
113
+ ],
114
+ horizontal: false
115
+ }"
116
+ class="cols-6 mobile:cols-3 gap-small"
117
+ >
118
+ <template #default="{ items }">
119
+ <li v-for="artist in items" :key="artist._id">
120
+ <ArtistCard :artist="artist" class="hover-scale-1 transition-cubic-in-out" />
121
+ </li>
122
+ </template>
123
+ </Feed>
124
+ </section>
125
+ </div>
126
+ </template>
127
+
128
+ <script setup>
129
+ import { ref, onMounted, computed } from 'vue';
130
+ import Feed from '@martyrs/src/components/Feed/Feed.vue';
131
+ import PlaylistCard from '../cards/PlaylistCard.vue';
132
+ import AlbumCard from '../cards/AlbumCard.vue';
133
+ import ArtistCard from '../cards/ArtistCard.vue';
134
+ import TrackList from '../lists/TrackList.vue';
135
+
136
+ // Store imports
137
+ import { state as playlistsState, actions as playlistsActions } from '../../store/playlists.js';
138
+ import { state as albumsState, actions as albumsActions } from '../../store/albums.js';
139
+ import { state as tracksState, actions as tracksActions } from '../../store/tracks.js';
140
+ import { state as artistsState, actions as artistsActions } from '../../store/artists.js';
141
+
142
+ // Computed properties
143
+ const featuredPlaylists = computed(() => playlistsState.featuredPlaylists);
144
+ const recentAlbums = computed(() => albumsState.albums);
145
+ const popularTracks = computed(() => tracksState.popular);
146
+ const topArtists = computed(() => artistsState.topArtists);
147
+
148
+ // Loading states
149
+ const loadingFeatured = computed(() => playlistsState.loadingFeatured);
150
+ const loadingRecentAlbums = computed(() => albumsState.isLoading);
151
+ const loadingPopularTracks = computed(() => tracksState.loadingPopular);
152
+ const loadingTopArtists = computed(() => artistsState.loadingTopArtists);
153
+
154
+ onMounted(async () => {
155
+ // Fetch featured playlists
156
+ playlistsActions.fetchFeaturedPlaylists(5);
157
+
158
+ // Fetch recent albums
159
+ albumsActions.fetchAlbums({
160
+ limit: 5,
161
+ sortParam: 'releaseDate',
162
+ sortOrder: 'desc'
163
+ });
164
+
165
+ // Fetch popular tracks
166
+ tracksActions.fetchPopularTracks(10);
167
+
168
+ // Fetch top artists
169
+ artistsActions.fetchTopArtists(6);
170
+ });
171
+ </script>
172
+
173
+ <style scoped>
174
+ .bg-gradient-dark {
175
+ background: linear-gradient(to bottom, rgba(var(--dark), 0.8), rgba(var(--black), 0.9));
176
+ }
177
+ </style>
@@ -0,0 +1,192 @@
1
+ <!-- components/pages/MusicLibrary.vue -->
2
+ <template>
3
+ <div class="music-library-page">
4
+ <h1 class="t-white mn-b-medium">Your Library</h1>
5
+
6
+ <!-- Filter Tabs -->
7
+ <div class="library-tabs mn-b-medium">
8
+ <div class="flex gap-small">
9
+ <Button
10
+ v-for="tab in tabs"
11
+ :key="tab.id"
12
+ @click="activeTab = tab.id"
13
+ :class="[
14
+ activeTab === tab.id ? 'bg-white t-black' : 'bg-dark-transp-50 t-white hover-bg-dark',
15
+ ]"
16
+ class="radius-extra pd-small"
17
+ :showLoader="false"
18
+ :showSucces="false"
19
+ >
20
+ {{ tab.label }}
21
+ </Button>
22
+ </div>
23
+ </div>
24
+
25
+ <!-- Content based on active tab -->
26
+ <div v-if="isLoading" class="flex-center flex pd-big">
27
+ <Loader />
28
+ </div>
29
+
30
+ <!-- Playlists Tab -->
31
+ <div v-else-if="activeTab === 'playlists'" class="playlists-tab">
32
+ <div class="flex-between flex mn-b-small">
33
+ <h2 class="t-white">Your Playlists</h2>
34
+ <Button
35
+ @click="showCreatePlaylistModal = true"
36
+ class="bg-main t-white radius-small pd-small hover-scale-1"
37
+ :showLoader="false"
38
+ :showSucces="false"
39
+ >
40
+ Create Playlist
41
+ </Button>
42
+ </div>
43
+
44
+ <div v-if="userPlaylists.length === 0" class="empty-state t-center pd-big bg-dark-transp-10 radius-medium">
45
+ <h3 class="t-white mn-b-small">No playlists yet</h3>
46
+ <p class="t-grey t-medium">Create your first playlist to see it here</p>
47
+ </div>
48
+
49
+ <PlaylistList v-else :playlists="userPlaylists" />
50
+ </div>
51
+
52
+ <!-- Albums Tab -->
53
+ <div v-else-if="activeTab === 'albums'" class="albums-tab">
54
+ <div class="flex-between flex mn-b-small">
55
+ <h2 class="t-white">Your Albums</h2>
56
+ </div>
57
+
58
+ <div v-if="userAlbums.length === 0" class="empty-state t-center pd-big bg-dark-transp-10 radius-medium">
59
+ <h3 class="t-white mn-b-small">No albums yet</h3>
60
+ <p class="t-grey t-medium">Upload your first album to see it here</p>
61
+ </div>
62
+
63
+ <AlbumList v-else :albums="userAlbums" />
64
+ </div>
65
+
66
+ <!-- Artists Tab -->
67
+ <div v-else-if="activeTab === 'artists'" class="artists-tab">
68
+ <div class="flex-between flex mn-b-small">
69
+ <h2 class="t-white">Your Artists</h2>
70
+ </div>
71
+
72
+ <div v-if="userArtists.length === 0" class="empty-state t-center pd-big bg-dark-transp-10 radius-medium">
73
+ <h3 class="t-white mn-b-small">No artists yet</h3>
74
+ <p class="t-grey t-medium">Create your first artist profile to see it here</p>
75
+ </div>
76
+
77
+ <ArtistList v-else :artists="userArtists" />
78
+ </div>
79
+
80
+ <!-- Tracks Tab -->
81
+ <div v-else-if="activeTab === 'tracks'" class="tracks-tab">
82
+ <div class="flex-between flex mn-b-small">
83
+ <h2 class="t-white">Your Tracks</h2>
84
+ <Button
85
+ @click="$router.push({ name: 'music-upload' })"
86
+ class="bg-main t-white radius-small pd-small hover-scale-1"
87
+ :showLoader="false"
88
+ :showSucces="false"
89
+ >
90
+ Upload Track
91
+ </Button>
92
+ </div>
93
+
94
+ <div v-if="userTracks.length === 0" class="empty-state t-center pd-big bg-dark-transp-10 radius-medium">
95
+ <h3 class="t-white mn-b-small">No tracks yet</h3>
96
+ <p class="t-grey t-medium">Upload your first track to see it here</p>
97
+ </div>
98
+
99
+ <TrackList
100
+ v-else
101
+ :tracks="userTracks"
102
+ :showAlbum="true"
103
+ :showCover="true"
104
+ class="bg-dark-transp-10 radius-medium o-hidden"
105
+ />
106
+ </div>
107
+
108
+ <!-- Create Playlist Modal -->
109
+ <Popup
110
+ v-if="showCreatePlaylistModal"
111
+ @close-popup="showCreatePlaylistModal = false"
112
+ class="bg-dark pd-small w-m-25r radius-medium t-white"
113
+ >
114
+ <h3 class="mn-b-medium">Create Playlist</h3>
115
+ <PlaylistForm @created="onPlaylistCreated" @cancel="showCreatePlaylistModal = false" />
116
+ </Popup>
117
+ </div>
118
+ </template>
119
+
120
+ <script setup>
121
+ import { ref, onMounted } from 'vue';
122
+ import { useRouter } from 'vue-router';
123
+ import TrackList from '../lists/TrackList.vue';
124
+ import AlbumList from '../lists/AlbumList.vue';
125
+ import PlaylistList from '../lists/PlaylistList.vue';
126
+ import ArtistList from '../lists/ArtistList.vue';
127
+ import Button from '@martyrs/src/components/Button/Button.vue';
128
+ import Loader from '@martyrs/src/components/Loader/Loader.vue';
129
+ import Popup from '@martyrs/src/components/Popup/Popup.vue';
130
+ import PlaylistForm from '../forms/PlaylistForm.vue';
131
+
132
+ // Import store modules
133
+ import { state as authState } from '@martyrs/src/modules/auth/views/store/auth.js';
134
+ import { state as playlistsState, actions as playlistsActions } from '../../store/playlists.js';
135
+ import { state as albumsState, actions as albumsActions } from '../../store/albums.js';
136
+ import { state as artistsState, actions as artistsActions } from '../../store/artists.js';
137
+ import { state as tracksState, actions as tracksActions } from '../../store/tracks.js';
138
+
139
+ const router = useRouter();
140
+
141
+ // State
142
+ const isLoading = ref(true);
143
+ const activeTab = ref('playlists');
144
+ const showCreatePlaylistModal = ref(false);
145
+
146
+ // Tabs configuration
147
+ const tabs = [
148
+ { id: 'playlists', label: 'Playlists' },
149
+ { id: 'albums', label: 'Albums' },
150
+ { id: 'artists', label: 'Artists' },
151
+ { id: 'tracks', label: 'Tracks' }
152
+ ];
153
+
154
+ // Computed
155
+ const userPlaylists = ref([]);
156
+ const userAlbums = ref([]);
157
+ const userArtists = ref([]);
158
+ const userTracks = ref([]);
159
+
160
+ // Methods
161
+ const fetchLibraryData = async () => {
162
+ isLoading.value = true;
163
+
164
+ try {
165
+ if (!authState.user || !authState.user._id) {
166
+ router.push({ name: 'Sign In', query: { redirect: router.currentRoute.value.fullPath } });
167
+ return;
168
+ }
169
+
170
+ // Fetch user's content
171
+ await Promise.all([
172
+ // playlistsActions.fetchUserPlaylists().then(playlists => userPlaylists.value = playlists || []),
173
+ // albumsActions.fetchUserAlbums(authState.user._id).then(albums => userAlbums.value = albums || []),
174
+ // artistsActions.fetchUserArtists(authState.user._id).then(artists => userArtists.value = artists || []),
175
+ tracksActions.fetchUserTracks(authState.user._id).then(tracks => userTracks.value = tracks || [])
176
+ ]);
177
+ } catch (error) {
178
+ console.error('Error fetching library data:', error);
179
+ } finally {
180
+ isLoading.value = false;
181
+ }
182
+ };
183
+
184
+ const onPlaylistCreated = (playlist) => {
185
+ userPlaylists.value.unshift(playlist);
186
+ showCreatePlaylistModal.value = false;
187
+ router.push({ name: 'playlist-detail', params: { url: playlist.url } });
188
+ };
189
+
190
+ // Fetch library data when component mounts
191
+ onMounted(fetchLibraryData);
192
+ </script>
@@ -0,0 +1,44 @@
1
+ <!-- components/pages/MusicUpload.vue -->
2
+ <template>
3
+ <div class="music-upload-page">
4
+ <h1 class="t-white mn-b-medium">Upload Music</h1>
5
+
6
+ <div class="upload-container bg-dark-transp-10 radius-medium pd-medium">
7
+ <div v-if="!authState.access.status" class="t-center pd-big">
8
+ <h2 class="t-white mn-b-small">Sign in to upload</h2>
9
+ <p class="t-grey t-medium mn-b-medium">You need to be signed in to upload tracks</p>
10
+ <Button
11
+ @click="$router.push({ name: 'Sign In', query: { redirect: $route.fullPath } })"
12
+ class="bg-main t-white radius-small pd-small hover-scale-1"
13
+ :showLoader="false"
14
+ :showSucces="false"
15
+ >
16
+ Sign In
17
+ </Button>
18
+ </div>
19
+
20
+ <div v-else>
21
+ <h2 class="t-white mn-b-medium">Upload a Track</h2>
22
+
23
+ <UploadForm @uploaded="onTrackUploaded" />
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </template>
28
+
29
+ <script setup>
30
+ import { ref } from 'vue';
31
+ import { useRouter } from 'vue-router';
32
+ import Button from '@martyrs/src/components/Button/Button.vue';
33
+ import UploadForm from '../forms/UploadForm.vue';
34
+
35
+ // Import auth store
36
+ import { state as authState } from '@martyrs/src/modules/auth/views/store/auth.js';
37
+
38
+ const router = useRouter();
39
+
40
+ const onTrackUploaded = (track) => {
41
+ // Navigate to the uploaded track's detail page
42
+ router.push({ name: 'track-detail', params: { url: track.url } });
43
+ };
44
+ </script>