@ozdao/martyrs 0.2.495 → 0.2.497

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 (257) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/builder.cjs +43 -42
  6. package/dist/builder.js +45 -44
  7. package/dist/globals.server.cjs +13 -2
  8. package/dist/globals.server.js +13 -2
  9. package/dist/martyrs/src/components/Block/Block.vue.cjs +1 -1
  10. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  11. package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
  12. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
  13. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
  14. package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
  15. package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  16. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  17. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  18. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  19. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  20. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  21. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  22. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  23. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  24. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  25. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  26. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  27. package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
  28. package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
  29. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  30. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  31. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.cjs → Tooltip.vue.cjs} +2 -2
  32. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js.map → Tooltip.vue.cjs.map} +1 -1
  33. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
  34. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
  35. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  38. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  39. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  40. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  41. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  46. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  48. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  53. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  55. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  57. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
  58. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  59. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  60. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  61. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  63. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  64. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  65. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  71. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
  72. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
  73. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  74. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  75. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  76. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  77. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +3 -3
  78. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +3 -3
  79. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  81. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  83. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
  85. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  86. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  87. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  88. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  89. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  91. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  93. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  95. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
  97. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
  98. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  99. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  100. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  101. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +95 -0
  102. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs.map +1 -0
  103. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +95 -0
  104. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -0
  105. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  106. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  107. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  108. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  109. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  110. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  111. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  112. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
  113. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  115. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  117. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  118. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  119. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +87 -140
  120. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +97 -150
  122. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +2 -2
  124. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
  125. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
  126. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  127. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  129. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +86 -136
  130. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +102 -152
  132. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +1 -1
  135. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +147 -159
  136. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  137. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +172 -184
  138. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  141. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +14 -19
  142. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -1
  143. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +15 -20
  144. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -1
  145. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +2 -2
  146. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +1 -1
  147. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +2 -2
  148. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +2 -2
  150. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +1 -1
  151. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +2 -2
  152. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js.map +1 -1
  153. package/dist/martyrs/src/modules/music/router/music.cjs +4 -4
  154. package/dist/martyrs/src/modules/music/router/music.js +4 -4
  155. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
  157. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +3 -3
  158. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +3 -3
  159. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  161. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  162. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  163. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +2 -2
  164. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
  165. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  166. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  167. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
  168. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  169. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  170. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  171. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  172. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  173. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  174. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  175. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  176. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  177. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  179. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  180. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  181. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
  182. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
  183. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  184. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  185. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  186. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  187. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  188. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  189. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  190. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  191. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +2 -2
  192. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  193. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  195. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +2 -2
  196. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +2 -2
  197. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  199. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
  200. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
  201. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  202. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  203. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  204. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  205. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  206. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  207. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  208. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  209. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
  210. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  211. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  212. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  213. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  215. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  216. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  217. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -2
  218. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  219. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  220. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  221. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  222. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  223. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  224. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  225. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  227. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  228. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  229. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  230. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  231. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  232. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  233. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  235. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +5 -5
  236. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +5 -5
  237. package/dist/martyrs.css +1 -1
  238. package/dist/style.css +98 -81
  239. package/package.json +1 -1
  240. package/src/builder/rspack/rspack.config.ssr.client.js +41 -41
  241. package/src/modules/globals/controllers/classes/globals.websocket.js +11 -2
  242. package/src/modules/music/README.md +2 -0
  243. package/src/modules/music/components/cards/ArtistCardSmall.vue +92 -0
  244. package/src/modules/music/components/pages/Album.vue +20 -56
  245. package/src/modules/music/components/pages/Artist.vue +1 -1
  246. package/src/modules/music/components/pages/Playlist.vue +26 -44
  247. package/src/modules/music/components/pages/Track.vue +51 -74
  248. package/src/modules/music/components/player/MusicPlayer.vue +24 -21
  249. package/src/modules/music/components/player/TrackProgress.vue +9 -8
  250. package/src/modules/music/components/player/VolumeControl.vue +3 -2
  251. package/src/styles/base/all.scss +1 -0
  252. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  253. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  254. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  255. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  256. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
  257. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +0 -1
@@ -17,14 +17,11 @@
17
17
  <!-- Left Column - Cover & Stats -->
18
18
  <div class="pos-sticky pos-t-0 mobile:pos-relative album-cover-section">
19
19
  <!-- Cover -->
20
- <div class="cover-container relative mn-b-medium radius-big overflow-hidden shadow-big">
21
- <Media
22
- :url="album.coverArt || '/logo/logo-placeholder.jpg'"
23
- :alt="album.title"
24
- class="aspect-1x1 w-100 radius-medium o-hidden"
25
- />
26
- </div>
27
-
20
+ <Media
21
+ :url="album.coverArt || '/logo/logo-placeholder.jpg'"
22
+ :alt="album.title"
23
+ class="aspect-1x1 w-100 w-max-30r mn-b-small radius-medium o-hidden"
24
+ />
28
25
  <!-- Quick Stats -->
29
26
  <div class="stats-grid grid cols-2 gap-small">
30
27
  <div class="stat-card bg-light pd-medium radius-medium t-center">
@@ -42,10 +39,10 @@
42
39
  <div class="album-details-section">
43
40
  <!-- Album Type Badge -->
44
41
  <div class="flex items-center gap-small mn-b-small">
45
- <span class="badge bg-primary-transp-20 t-primary pd-thin-big radius-small t-small t-uppercase">
42
+ <span class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
46
43
  {{ album.type }}
47
44
  </span>
48
- <span v-if="album.status === 'published'" class="badge bg-success-transp-20 t-success pd-thin-big radius-small t-small">
45
+ <span v-if="album.status === 'published'" class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
49
46
  Published
50
47
  </span>
51
48
  </div>
@@ -81,7 +78,7 @@
81
78
  size="medium"
82
79
  class="flex-1 bg-light radius-thin flex-center gap-thin"
83
80
  >
84
- <IconLike class="i-medium" :fill="isFavorite" />
81
+ <IconLike class="i-medium" :fill="isFavorite ? 'rgb(var(--main)':'rgb(var(--black)'" />
85
82
  {{isFavorite ? 'Liked' : 'Like'}}
86
83
  </Button>
87
84
 
@@ -117,51 +114,23 @@
117
114
  </div>
118
115
 
119
116
  <!-- Artists Cards -->
120
- <div class="artists-section mn-b-big">
121
- <h3 class="t-medium mn-b-small" v-if="album.artists && album.artists.length > 1">Artists</h3>
117
+ <div class="artists-section mn-b-medium">
118
+ <h3 class="t-medium mn-b-small" v-if="album.artists">Artists</h3>
122
119
  <div class="flex flex-col gap-small">
123
- <div
120
+ <ArtistCardSmall
124
121
  v-for="artist in album.artists"
125
122
  :key="artist._id"
126
- class="artist-card bg-light pd-medium radius-medium flex items-center gap-medium"
127
- >
128
- <router-link
129
- :to="{ name: 'artist', params: { url: artist.url } }"
130
- class="flex items-center gap-medium flex-1 hover-opacity"
131
- >
132
- <div class="artist-avatar">
133
- <Media
134
- v-if="artist.photoUrl"
135
- :url="artist.photoUrl"
136
- :alt="artist.name"
137
- class="w-4r h-4r radius-full object-cover"
138
- />
139
- <div v-else class="w-4r h-4r radius-full bg-primary flex-center ">
140
- {{ artist.name.charAt(0) }}
141
- </div>
142
- </div>
143
- <div>
144
- <div class="flex items-center gap-thin">
145
- <span class="t-large ">{{ artist.name }}</span>
146
- <IconVerified v-if="artist.isVerified" class="w-1r h-1r t-primary" />
147
- </div>
148
- <span class="t-small t-transp">Artist</span>
149
- </div>
150
- </router-link>
151
- <Button
152
- v-if="!isOwner"
153
- @click="() => toggleFollowArtist(artist._id)"
154
- :color="followedArtists.includes(artist._id) ? 'primary' : 'transp'"
155
- size="small"
156
- >
157
- {{ followedArtists.includes(artist._id) ? 'Following' : 'Follow' }}
158
- </Button>
159
- </div>
123
+ :artist="artist"
124
+ :is-following="followedArtists.includes(artist._id)"
125
+ :show-follow-button="!isOwner"
126
+ @toggle-follow="toggleFollowArtist"
127
+ />
160
128
  </div>
161
129
  </div>
162
130
 
163
131
  <!-- Metadata Cards -->
164
- <div class="metadata-grid grid cols-2 gap-small mn-b-big">
132
+ <h3 class="t-medium mn-b-small">Metadata</h3>
133
+ <div class="metadata-grid grid cols-2 gap-small mn-b-medium">
165
134
  <!-- Release Date -->
166
135
  <div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
167
136
  <IconCalendar class="i-regular t-primary" />
@@ -206,7 +175,7 @@
206
175
  <span
207
176
  v-for="genre in album.genres"
208
177
  :key="genre"
209
- class="tag bg-primary-transp-20 t-primary pd-thin-big radius-small t-small hover-bg-primary-transp-30 cursor-pointer"
178
+ class="tag bg-main t-medium pd-thin radius-thin t-small cursor-pointer"
210
179
  >
211
180
  {{ genre }}
212
181
  </span>
@@ -219,12 +188,6 @@
219
188
  </span>
220
189
  </div>
221
190
  </div>
222
-
223
- <!-- Description -->
224
- <div v-if="album.description" class="description-section bg-light pd-medium radius-medium mn-b-medium">
225
- <h3 class="t-medium mn-b-small">About</h3>
226
- <p class="t-transp">{{ album.description }}</p>
227
- </div>
228
191
  </div>
229
192
  </div>
230
193
 
@@ -306,6 +269,7 @@ import IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vu
306
269
  // Components
307
270
  import TrackListCard from '../cards/TrackListCard.vue';
308
271
  import AlbumCard from '../cards/AlbumCard.vue';
272
+ import ArtistCardSmall from '../cards/ArtistCardSmall.vue';
309
273
 
310
274
  // Store
311
275
  import { state as albumsState, actions as albumsActions } from '../../store/albums.js';
@@ -190,7 +190,7 @@
190
190
  </div>
191
191
 
192
192
  <!-- Singles section -->
193
- <div v-if="discography.singles.length > 0" class="bg-light pd-medium radius-medium">
193
+ <div v-if="discography.singles.length > 0" class="bg-light pd-medium mn-b-medium radius-medium">
194
194
  <h2 class="h3 mn-b-medium">Singles & EPs</h2>
195
195
 
196
196
  <div class="cols-1 gap-small">
@@ -9,7 +9,7 @@
9
9
  <!-- Playlist Content -->
10
10
  <div v-if="playlist" class="playlist-content cols-2-fit-content mobile:cols-1 gap-big">
11
11
  <!-- Left Column - Cover & Stats -->
12
- <div class="pos-sticky pos-t-0 mobile:pos-relative playlist-cover-section">
12
+ <div class="pos-sticky w-max-30r pos-t-0 mobile:pos-relative playlist-cover-section">
13
13
  <!-- Cover -->
14
14
  <div class="cover-container relative mn-b-medium radius-big overflow-hidden shadow-big">
15
15
  <Media
@@ -36,13 +36,13 @@
36
36
  <div class="playlist-details-section">
37
37
  <!-- Playlist Type Badge -->
38
38
  <div class="flex items-center gap-small mn-b-small">
39
- <span class="badge bg-primary-transp-20 t-primary pd-thin-big radius-small t-small t-uppercase">
39
+ <span class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
40
40
  Playlist
41
41
  </span>
42
- <span v-if="playlist.isCollaborative" class="badge bg-secondary-transp-20 t-secondary pd-thin-big radius-small t-small">
42
+ <span v-if="playlist.isCollaborative" class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
43
43
  Collaborative
44
44
  </span>
45
- <span v-if="playlist.status === 'published'" class="badge bg-success-transp-20 t-success pd-thin-big radius-small t-small">
45
+ <span v-if="playlist.status === 'published'" class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">
46
46
  Published
47
47
  </span>
48
48
  </div>
@@ -90,21 +90,21 @@
90
90
  </template>
91
91
  <template #default>
92
92
  <div class="dropdown-menu bg-white pd-small radius-medium shadow-big mn-t-thin">
93
- <Button @click="addToQueue" color="transp" size="small" class="w-100 justify-start">
93
+ <Button @click="addToQueue" color="transp" size="small" class="w-100 t-nowrap justify-start">
94
94
  Add to Queue
95
95
  </Button>
96
- <Button @click="copyLink" color="transp" size="small" class="w-100 justify-start">
96
+ <Button @click="copyLink" color="transp" size="small" class="w-100 t-nowrap justify-start">
97
97
  Copy Link
98
98
  </Button>
99
99
  <template v-if="isOwner || isCollaborator">
100
100
  <hr class="mn-v-thin border-dark-transp-10" />
101
- <Button @click="editPlaylist" color="transp" size="small" class="w-100 justify-start">
101
+ <Button @click="editPlaylist" color="transp" size="small" class="w-100 t-nowrap justify-start">
102
102
  Edit Playlist
103
103
  </Button>
104
- <Button v-if="isOwner" @click="toggleCollaborative" color="transp" size="small" class="w-100 justify-start">
104
+ <Button v-if="isOwner" @click="toggleCollaborative" color="transp" size="small" class="t-nowrap w-100 justify-start">
105
105
  {{ playlist.isCollaborative ? 'Make Private' : 'Make Collaborative' }}
106
106
  </Button>
107
- <Button v-if="isOwner" @click="deletePlaylist" color="danger" size="small" class="w-100 justify-start">
107
+ <Button v-if="isOwner" @click="deletePlaylist" color="danger" size="small" class="t-nowrap w-100 justify-start">
108
108
  Delete Playlist
109
109
  </Button>
110
110
  </template>
@@ -113,41 +113,21 @@
113
113
  </Dropdown>
114
114
  </div>
115
115
 
116
- <!-- Owner/Creator Card -->
117
- <div class="owner-section mn-b-big">
116
+ <div class="artists-section mn-b-medium">
118
117
  <h3 class="t-medium mn-b-small">Created by</h3>
119
- <div class="owner-card bg-light pd-medium radius-medium flex items-center gap-medium">
120
- <router-link
121
- :to="getOwnerProfileLink(playlist.creator || playlist.owner)"
122
- class="flex items-center gap-medium flex-1 hover-opacity"
123
- >
124
- <div class="owner-avatar">
125
- <Media
126
- v-if="getOwnerData(playlist)?.photoUrl"
127
- :url="getOwnerData(playlist).photoUrl"
128
- :alt="getOwnerData(playlist)?.name"
129
- class="w-4r h-4r radius-full object-cover"
130
- />
131
- <div v-else class="w-4r h-4r radius-full bg-primary flex-center ">
132
- {{ getPlaylistOwnerName(playlist).charAt(0) }}
133
- </div>
134
- </div>
135
- <div>
136
- <div class="flex items-center gap-thin">
137
- <span class="t-large ">{{ getPlaylistOwnerName(playlist) }}</span>
138
- <IconVerified v-if="getOwnerData(playlist)?.isVerified" class="w-1r h-1r t-primary" />
139
- </div>
140
- <span class="t-small t-transp">{{ playlist.creator?.type || 'User' }}</span>
141
- </div>
142
- </router-link>
143
- <Button
144
- v-if="!isOwner && authState.user"
145
- @click="() => toggleFollowUser(getOwnerId(playlist))"
146
- :color="followedUsers.includes(getOwnerId(playlist)) ? 'primary' : 'transp'"
147
- size="small"
148
- >
149
- {{ followedUsers.includes(getOwnerId(playlist)) ? 'Following' : 'Follow' }}
150
- </Button>
118
+ <div class="flex flex-col gap-small">
119
+ <ArtistCardSmall
120
+ :artist="{
121
+ _id: playlist.creator.target,
122
+ to: { name: 'User Profile', params: { _id: playlist.creator.target } },
123
+ photoUrl: null,
124
+ name: playlist.creator.target,
125
+ isVerified: false
126
+ }"
127
+ :is-following="followedUsers.includes(playlist.creator.target)"
128
+ :show-follow-button="!isOwner"
129
+ @toggle-follow="toggleFollowUser(playlist.creator.target)"
130
+ />
151
131
  </div>
152
132
  </div>
153
133
 
@@ -171,7 +151,8 @@
171
151
  </div>
172
152
 
173
153
  <!-- Metadata Cards -->
174
- <div class="metadata-grid grid cols-2 gap-small mn-b-big">
154
+ <h3 class="t-medium mn-b-small">Metadata</h3>
155
+ <div class="metadata-grid grid cols-2 gap-small mn-b-medium">
175
156
  <!-- Created Date -->
176
157
  <div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
177
158
  <IconCalendar class="i-medium t-primary" />
@@ -371,6 +352,7 @@ import IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vu
371
352
  import TrackListCard from '../cards/TrackListCard.vue';
372
353
  import PlaylistCard from '../cards/PlaylistCard.vue';
373
354
  import PlaylistForm from '../forms/PlaylistForm.vue';
355
+ import ArtistCardSmall from '../cards/ArtistCardSmall.vue';
374
356
 
375
357
  // Store
376
358
  import { state as playlistsState, actions as playlistsActions } from '../../store/playlists.js';
@@ -17,22 +17,23 @@
17
17
  <!-- Left Column - Cover & Stats -->
18
18
  <div class="pos-sticky pos-t-0 mobile:pos-relative track-cover-section">
19
19
  <!-- Cover with Play Overlay -->
20
- <div class="cover-container relative mn-b-medium radius-big overflow-hidden shadow-big">
20
+ <div class="cover-container pos-relative mn-b-medium radius-big o-hidden">
21
21
  <Media
22
22
  :url="track.coverUrl || (track.album && track.album.coverUrl) || '/logo/logo-placeholder.jpg'"
23
23
  :alt="track.title"
24
24
  class="aspect-1x1 w-100 radius-medium o-hidden"
25
25
  />
26
- <!-- <div class="cover-overlay absolute inset-0 bg-black-transp-40 flex-center opacity-0 hover-opacity-100 transition">
26
+ <div class="cover-overlay w-100 h-100 pos-absolute pos-t-0 pos-r-0 bg-black-transp-40 flex flex-center">
27
27
  <Button
28
28
  @click="playTrack"
29
29
  color="white"
30
30
  size="big"
31
- class="w-5r h-5r radius-full shadow-big hover-scale-110"
31
+ class="w-5r h-5r radius-big bg-main shadow-big hover-scale-110"
32
32
  >
33
- <IconPlay class="w-2r h-2r" />
33
+ <IconPlay v-if="!isPlaying" fill="rgb(var(--white))" class="i-medium" />
34
+ <IconPause v-else fill="rgb(var(--white))" class="i-medium" />
34
35
  </Button>
35
- </div> -->
36
+ </div>
36
37
  </div>
37
38
 
38
39
 
@@ -54,8 +55,8 @@
54
55
  <div class="track-details-section">
55
56
  <!-- Track Type Badge -->
56
57
  <div class="flex items-center gap-small mn-b-small">
57
- <span class="badge bg-primary-transp-20 t-primary pd-thin-big radius-small t-small t-uppercase">Single</span>
58
- <span v-if="track.isExplicit" class="badge bg-danger-transp-20 t-danger pd-thin-big radius-small t-small">Explicit</span>
58
+ <span class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">Single</span>
59
+ <span class="bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase">Explicit</span>
59
60
  </div>
60
61
 
61
62
  <!-- Track Title -->
@@ -68,8 +69,9 @@
68
69
  size="medium"
69
70
  class="flex-1 t-white bg-black radius-thin flex-center gap-thin"
70
71
  >
71
- <IconPlay fill="rgb(var(--white))" class="i-medium" />
72
- Play
72
+ <IconPlay v-if="!isPlaying" fill="rgb(var(--white))" class="i-medium" />
73
+ <IconPause v-else fill="rgb(var(--white))" class="i-medium" />
74
+ {{ !isPlaying ? 'Play' : 'Pause'}}
73
75
  </Button>
74
76
 
75
77
  <Button
@@ -88,7 +90,7 @@
88
90
  size="medium"
89
91
  class="flex-1 bg-light radius-thin flex-center gap-thin"
90
92
  >
91
- <IconLike class="i-medium" :fill="isFavorite" />
93
+ <IconLike class="i-medium" :fill="isFavorite ? 'rgb(var(--main)':'rgb(var(--black)'" />
92
94
  {{isFavorite ? 'Liked' : 'Like'}}
93
95
  </Button>
94
96
 
@@ -121,82 +123,52 @@
121
123
  </div>
122
124
 
123
125
  <!-- Artist Card -->
124
- <div class="artist-card bg-light pd-medium radius-medium flex items-center gap-medium mn-b-big">
125
- <router-link
126
- :to="{ name: 'artist', params: { url: track.artist.url } }"
127
- class="flex items-center gap-medium flex-1 hover-opacity"
128
- >
129
- <div class="artist-avatar">
130
- <Media
131
- v-if="track.artist.photoUrl"
132
- :src="track.artist.photoUrl"
133
- :alt="track.artist.name"
134
- class="w-4r h-4r radius-full object-cover"
135
- />
136
- <div v-else class="w-4r h-4r radius-full bg-primary flex-center ">
137
- {{ track.artist.name.charAt(0) }}
138
- </div>
139
- </div>
140
- <div>
141
- <div class="flex items-center gap-thin">
142
- <span class="t-large ">{{ track.artist.name }}</span>
143
- <IconVerified v-if="track.artist.isVerified" class="w-1r h-1r t-primary" />
144
- </div>
145
- <span class="t-small t-transp">Artist</span>
146
- </div>
147
- </router-link>
148
- <Button
149
- v-if="!isOwner"
150
- @click="toggleFollowArtist"
151
- :color="isFollowingArtist ? 'primary' : 'transp'"
152
- size="small"
153
- >
154
- {{ isFollowingArtist ? 'Following' : 'Follow' }}
155
- </Button>
126
+ <div class="artists-section mn-b-medium">
127
+ <h3 class="t-medium mn-b-small" v-if="track.artist">Artist</h3>
128
+ <div class="flex flex-col gap-small">
129
+ <ArtistCardSmall
130
+ :key="track.artist._id"
131
+ :artist="track.artist"
132
+ :is-following="isFollowingArtist"
133
+ :show-follow-button="!isOwner"
134
+ @toggle-follow="toggleFollowArtist"
135
+ />
136
+ </div>
156
137
  </div>
157
138
 
158
-
159
-
160
139
  <!-- Metadata Cards -->
161
- <div class="metadata-grid grid cols-2 gap-small mn-b-big">
162
- <!-- Duration -->
140
+ <h3 class="t-medium mn-b-small">Metadata</h3>
141
+ <div class="metadata-grid grid cols-2 gap-small mn-b-medium">
142
+ <!-- Release Date -->
163
143
  <div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
164
- <div class="icon-wrapper bg-primary-transp-20 w-3r h-3r radius-small flex-center">
165
- <IconClock class="i-regular t-primary" />
166
- </div>
144
+ <IconCalendar class="i-regular t-primary" />
167
145
  <div>
168
- <div class="t-small t-transp t-uppercase">Duration</div>
169
- <div class="t-medium ">{{ formatDuration(track.duration) }}</div>
146
+ <div class="t-small t-transp t-uppercase">Released</div>
147
+ <div class="t-medium ">{{ formatDate(track.releaseDate) }}</div>
170
148
  </div>
171
149
  </div>
172
150
 
173
- <!-- Release Date -->
151
+ <!-- Total Duration -->
174
152
  <div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
175
- <div class="icon-wrapper bg-primary-transp-20 w-3r h-3r radius-small flex-center">
176
- <IconCalendar class="i-regular t-primary" />
177
- </div>
153
+ <IconClock class="i-regular t-primary" />
178
154
  <div>
179
- <div class="t-small t-transp t-uppercase">Released</div>
180
- <div class="t-medium ">{{ formatDate(track.releaseDate) }}</div>
155
+ <div class="t-small t-transp t-uppercase">Duration</div>
156
+ <div class="t-medium ">{{ formatDuration(track.duration) }}</div>
181
157
  </div>
182
158
  </div>
183
159
 
184
- <!-- Status -->
160
+ <!-- Label -->
185
161
  <div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
186
- <div class="icon-wrapper bg-success-transp-20 w-3r h-3r radius-small flex-center">
187
- <IconCheck class="i-regular t-success" />
188
- </div>
162
+ <IconCheck class="i-regular t-primary" />
189
163
  <div>
190
164
  <div class="t-small t-transp t-uppercase">Status</div>
191
- <div class="t-medium t-success">{{ track.status }}</div>
165
+ <div class="t-medium ">{{ track.status }}</div>
192
166
  </div>
193
167
  </div>
194
168
 
195
169
  <!-- Visibility -->
196
170
  <div class="metadata-card bg-light pd-medium radius-medium flex items-center gap-medium">
197
- <div class="icon-wrapper bg-primary-transp-20 w-3r h-3r radius-small flex-center">
198
- <IconEye class="i-regular t-primary" />
199
- </div>
171
+ <IconEye class="i-regular t-primary" />
200
172
  <div>
201
173
  <div class="t-small t-transp t-uppercase">Visibility</div>
202
174
  <div class="t-medium ">{{ track.isPublic ? 'Public' : 'Private' }}</div>
@@ -204,18 +176,19 @@
204
176
  </div>
205
177
  </div>
206
178
 
179
+
207
180
  <!-- Album Info -->
181
+ <h3 v-if="track.album" class="t-medium mn-b-small">From Album</h3>
208
182
  <div v-if="track.album" class="album-card bg-light pd-medium radius-medium mn-b-medium">
209
- <div class="t-small t-transp t-uppercase mn-b-thin">From Album</div>
183
+
210
184
  <router-link
211
185
  :to="`/album/${track.album.url}`"
212
- class="flex items-center gap-medium hover-opacity"
186
+ class="flex flex-v-center gap-thin hover-opacity"
213
187
  >
214
188
  <Media
215
- v-if="track.album.coverUrl"
216
- :src="track.album.coverUrl"
189
+ :url="track.album.coverArt || '/logo/logo-placeholder.jpg'"
217
190
  :alt="track.album.title"
218
- class="w-3r h-3r radius-small object-cover"
191
+ class="w-3r h-3r radius-thin o-hidden object-cover"
219
192
  />
220
193
  <span class="t-medium ">{{ track.album.title }}</span>
221
194
  </router-link>
@@ -228,16 +201,16 @@
228
201
  <span
229
202
  v-for="genre in track.genre"
230
203
  :key="genre"
231
- class="tag bg-primary-transp-20 t-primary pd-thin-big radius-small t-small hover-bg-primary-transp-30 cursor-pointer"
204
+ class="tag bg-main t-medium pd-thin radius-thin t-small cursor-pointer"
232
205
  >
233
- {{ genre }}
206
+ {{ genre.name || genre }}
234
207
  </span>
235
208
  <span
236
209
  v-for="tag in track.tags"
237
210
  :key="tag"
238
211
  class="tag bg-light t-transp pd-thin-big radius-small t-small hover-bg-light cursor-pointer"
239
212
  >
240
- #{{ tag }}
213
+ #{{ tag.name || tag }}
241
214
  </span>
242
215
  </div>
243
216
  </div>
@@ -318,6 +291,7 @@ import Feed from '@martyrs/src/components/Feed/Feed.vue';
318
291
 
319
292
  // Icons
320
293
  import IconPlay from '@martyrs/src/modules/icons/navigation/IconPlay.vue';
294
+ import IconPause from '@martyrs/src/modules/icons/navigation/IconPause.vue';
321
295
  import IconLike from '@martyrs/src/modules/icons/navigation/IconLike.vue';
322
296
  import IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue';
323
297
  import IconAdd from '@martyrs/src/modules/icons/navigation/IconAdd.vue';
@@ -329,13 +303,16 @@ import IconVerified from '@martyrs/src/modules/icons/navigation/IconCheckmark.vu
329
303
 
330
304
  // Components
331
305
  import TrackListCard from '../cards/TrackListCard.vue';
306
+ import ArtistCardSmall from '../cards/ArtistCardSmall.vue';
332
307
  // import PlaylistSelector from '../forms/PlaylistSelector.vue';
333
308
 
334
309
  // Store
335
310
  import { state as tracksState, actions as tracksActions } from '../../store/tracks.js';
336
- import { actions as playerActions } from '../../store/player.js';
311
+ import { state as playerState, actions as playerActions } from '../../store/player.js';
337
312
  import { state as authState } from '@martyrs/src/modules/auth/views/store/auth.js';
338
313
 
314
+ const isPlaying = computed(() => playerState.isPlaying);
315
+
339
316
  const route = useRoute();
340
317
  const router = useRouter();
341
318