@ozdao/martyrs 0.2.492 → 0.2.494

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/dist/_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 +53 -90
  6. package/dist/builder.js +54 -91
  7. package/dist/{crud-B-kQw3Z5.cjs → crud-JN_LFj01.cjs} +3 -0
  8. package/dist/{crud-Cwx5VlSm.js → crud-sE7GLPbj.js} +3 -0
  9. package/dist/globals.server.cjs +322 -3
  10. package/dist/globals.server.js +303 -1
  11. package/dist/{globals.verifier-D68mHEBl.cjs → globals.verifier-C0zj_LLo.cjs} +8 -1
  12. package/dist/{globals.verifier-CWFz5Gh2.js → globals.verifier-DFqKQ7hK.js} +8 -1
  13. package/dist/inventory.server.cjs +2 -2
  14. package/dist/inventory.server.js +2 -2
  15. package/dist/{main-SZQ1QjeP.js → main-CJm5myDI.js} +631 -607
  16. package/dist/{main-MzmGbSxs.cjs → main-DTaE01lg.cjs} +6 -6
  17. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs +1 -1
  18. package/dist/martyrs/src/components/Calendar/Calendar.vue2.cjs.map +1 -1
  19. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +1 -1
  20. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  21. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +33 -7
  22. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  23. package/dist/martyrs/src/components/Feed/Feed.vue.js +33 -7
  24. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  25. package/dist/martyrs/src/components/Field/{Field.vue2.cjs → Field.vue.cjs} +2 -2
  26. package/dist/martyrs/src/components/Field/{Field.vue2.js.map → Field.vue.cjs.map} +1 -1
  27. package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
  28. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
  29. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  30. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  31. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  32. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  33. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  34. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  35. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  36. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  37. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +2 -2
  38. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  39. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +4 -4
  40. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  46. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  47. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  48. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  50. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  53. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  54. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  56. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  58. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  59. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  60. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  61. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
  62. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  63. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  64. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  65. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  66. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  67. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  68. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -1
  69. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  70. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  71. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  72. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  73. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  74. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  75. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  76. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +5 -1
  77. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  78. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +5 -1
  79. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  80. package/dist/martyrs/src/modules/icons/entities/IconTime.vue.cjs +2 -2
  81. package/dist/martyrs/src/modules/icons/entities/IconTime.vue.js +2 -2
  82. package/dist/martyrs/src/modules/icons/navigation/IconChevronLeft.vue.cjs +2 -2
  83. package/dist/martyrs/src/modules/icons/navigation/IconChevronLeft.vue.js +2 -2
  84. package/dist/martyrs/src/modules/icons/navigation/IconChevronRight.vue.cjs +2 -2
  85. package/dist/martyrs/src/modules/icons/navigation/IconChevronRight.vue.js +2 -2
  86. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +6 -6
  87. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  88. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  89. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  90. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  91. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  92. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +1 -1
  93. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +1 -1
  94. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  95. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +22 -15
  96. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +23 -16
  98. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +2 -2
  102. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +31 -13
  104. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs.map +1 -1
  105. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +33 -15
  106. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  107. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +39 -22
  108. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +39 -22
  110. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
  113. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  115. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +385 -125
  116. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs.map +1 -1
  117. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +391 -131
  118. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  119. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +24 -7
  120. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +25 -8
  122. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +99 -87
  124. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs.map +1 -1
  125. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +111 -99
  126. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  127. package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.cjs +21 -0
  128. package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.cjs.map +1 -0
  129. package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.js +21 -0
  130. package/dist/martyrs/src/modules/music/components/layouts/MusicBottomPlayer.vue.js.map +1 -0
  131. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +442 -210
  132. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  133. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +445 -213
  134. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  135. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +92 -117
  136. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
  137. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +93 -118
  138. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  139. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +72 -113
  140. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +78 -119
  142. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +15 -12
  144. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
  145. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +15 -12
  146. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  147. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +558 -429
  148. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +560 -431
  150. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +146 -284
  152. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -1
  153. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +149 -287
  154. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +460 -63
  156. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  157. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +462 -65
  158. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  159. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +126 -136
  160. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs.map +1 -1
  161. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +129 -139
  162. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs +18 -15
  164. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +18 -15
  166. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -1
  167. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs +28 -23
  168. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.cjs.map +1 -1
  169. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js +29 -24
  170. package/dist/martyrs/src/modules/music/components/player/VolumeControl.vue.js.map +1 -1
  171. package/dist/martyrs/src/modules/music/music.client.cjs +3 -6
  172. package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -1
  173. package/dist/martyrs/src/modules/music/music.client.js +9 -12
  174. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  175. package/dist/martyrs/src/modules/music/router/music.cjs +27 -1
  176. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  177. package/dist/martyrs/src/modules/music/router/music.js +27 -1
  178. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  179. package/dist/martyrs/src/modules/music/store/artists.cjs +6 -4
  180. package/dist/martyrs/src/modules/music/store/artists.cjs.map +1 -1
  181. package/dist/martyrs/src/modules/music/store/artists.js +6 -4
  182. package/dist/martyrs/src/modules/music/store/artists.js.map +1 -1
  183. package/dist/martyrs/src/modules/music/store/player.cjs +5 -0
  184. package/dist/martyrs/src/modules/music/store/player.cjs.map +1 -1
  185. package/dist/martyrs/src/modules/music/store/player.js +5 -0
  186. package/dist/martyrs/src/modules/music/store/player.js.map +1 -1
  187. package/dist/martyrs/src/modules/music/store/tracks.cjs +22 -0
  188. package/dist/martyrs/src/modules/music/store/tracks.cjs.map +1 -1
  189. package/dist/martyrs/src/modules/music/store/tracks.js +22 -0
  190. package/dist/martyrs/src/modules/music/store/tracks.js.map +1 -1
  191. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +2 -2
  192. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  193. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  195. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  196. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  197. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  199. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  201. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +2 -2
  202. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  203. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  204. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  205. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  206. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  207. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  208. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  209. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  210. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  211. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  212. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  213. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  214. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  215. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  216. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  217. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  218. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  219. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  220. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  221. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  222. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  223. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  224. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  225. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  226. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  227. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
  228. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  229. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  230. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  231. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  232. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  233. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  234. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.cjs +4 -3
  235. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.cjs.map +1 -1
  236. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +4 -3
  237. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
  238. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.cjs +37 -70
  239. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.cjs.map +1 -1
  240. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +38 -71
  241. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
  242. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -1
  243. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs.map +1 -1
  244. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +6 -5
  245. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js.map +1 -1
  246. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +45 -52
  247. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs.map +1 -1
  248. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +46 -53
  249. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
  250. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
  251. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  252. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  253. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  254. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  255. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  256. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  257. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  258. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  259. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  260. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  261. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  262. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  263. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  264. package/dist/martyrs.cjs.js +1 -1
  265. package/dist/martyrs.css +1 -1
  266. package/dist/martyrs.es.js +1 -1
  267. package/dist/music.server.cjs +124 -31
  268. package/dist/music.server.js +124 -31
  269. package/dist/organizations.server.cjs +1 -1
  270. package/dist/organizations.server.js +1 -1
  271. package/dist/products.server.cjs +2 -2
  272. package/dist/products.server.js +2 -2
  273. package/dist/rents.server.cjs +3 -3
  274. package/dist/rents.server.js +3 -3
  275. package/dist/style.css +373 -80
  276. package/dist/{web-D7lZjuC0.js → web-Dkk0_7TA.js} +1 -1
  277. package/dist/{web-D-YZ9KHz.cjs → web-stVkXd0l.cjs} +1 -1
  278. package/package.json +1 -1
  279. package/src/builder/modes/ssr.prod.js +21 -5
  280. package/src/builder/rspack/rspack.config.spa.client.js +0 -44
  281. package/src/builder/rspack/rspack.config.ssr.client.js +40 -40
  282. package/src/components/Calendar/Calendar.vue +378 -377
  283. package/src/components/Feed/Feed.vue +28 -2
  284. package/src/modules/globals/controllers/classes/crud/crud.policies.js +5 -0
  285. package/src/modules/globals/controllers/classes/globals.validator.js +8 -1
  286. package/src/modules/globals/views/components/layouts/Client.vue +7 -0
  287. package/src/modules/music/README.md +8 -0
  288. package/src/modules/music/components/SidebarMusic.vue +6 -9
  289. package/src/modules/music/components/cards/AlbumCard.vue +20 -14
  290. package/src/modules/music/components/cards/ArtistCard.vue +1 -1
  291. package/src/modules/music/components/cards/PlaylistCard.vue +31 -11
  292. package/src/modules/music/components/cards/TrackListCard.vue +24 -13
  293. package/src/modules/music/components/forms/PlaylistForm.vue +417 -107
  294. package/src/modules/music/components/forms/SearchForm.vue +31 -8
  295. package/src/modules/music/components/forms/TrackForm.vue +50 -32
  296. package/src/modules/music/components/layouts/MusicBottomPlayer.vue +17 -0
  297. package/src/modules/music/components/pages/Album.vue +373 -186
  298. package/src/modules/music/components/pages/Artist.vue +54 -94
  299. package/src/modules/music/components/pages/MusicHome.vue +59 -56
  300. package/src/modules/music/components/pages/MusicLibrary.vue +13 -11
  301. package/src/modules/music/components/pages/Playlist.vue +495 -379
  302. package/src/modules/music/components/pages/SearchResults.vue +185 -313
  303. package/src/modules/music/components/pages/Track.vue +363 -69
  304. package/src/modules/music/components/player/MusicPlayer.vue +368 -97
  305. package/src/modules/music/components/player/TrackProgress.vue +76 -22
  306. package/src/modules/music/components/player/VolumeControl.vue +61 -28
  307. package/src/modules/music/controllers/search.controller.js +3 -0
  308. package/src/modules/music/controllers/stream.controller.js +11 -3
  309. package/src/modules/music/middlewares/playlists.verifier.js +1 -1
  310. package/src/modules/music/music.client.js +3 -6
  311. package/src/modules/music/music.server.js +8 -4
  312. package/src/modules/music/router/music.js +8 -1
  313. package/src/modules/music/routes/albums.routes.js +37 -5
  314. package/src/modules/music/routes/artists.routes.js +14 -4
  315. package/src/modules/music/routes/genres.routes.js +5 -1
  316. package/src/modules/music/routes/playlists.routes.js +42 -9
  317. package/src/modules/music/routes/tracks.routes.js +27 -2
  318. package/src/modules/music/store/artists.js +6 -2
  319. package/src/modules/music/store/player.js +6 -0
  320. package/src/modules/music/store/tracks.js +31 -0
  321. package/src/modules/music/websocket/streaming.handler.js +7 -1
  322. package/src/modules/rents/controllers/services/rents.services.js +2 -2
  323. package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +4 -3
  324. package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +42 -40
  325. package/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue +3 -1
  326. package/src/modules/rents/views/components/pages/Rents.vue +60 -56
  327. package/dist/globals.websocket-DzvdIBf6.js +0 -306
  328. package/dist/globals.websocket-k6_B1T7k.cjs +0 -322
  329. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +0 -1
  330. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  331. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  332. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs +0 -69
  333. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.cjs.map +0 -1
  334. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js +0 -69
  335. package/dist/martyrs/src/modules/music/components/cards/TrackCard.vue.js.map +0 -1
  336. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs +0 -104
  337. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.cjs.map +0 -1
  338. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js +0 -104
  339. package/dist/martyrs/src/modules/music/components/layouts/MusicLayout.vue.js.map +0 -1
  340. package/src/modules/music/components/cards/TrackCard.vue +0 -86
  341. package/src/modules/music/components/layouts/MusicLayout.vue +0 -83
@@ -106,7 +106,7 @@
106
106
  </div>
107
107
 
108
108
  <TransitionGroup
109
- v-if="isLoading"
109
+ v-if="isLoading && !keepSlotVisible"
110
110
  tag="ul"
111
111
  name="scaleTransition"
112
112
  class="pos-relative z-index-1"
@@ -140,7 +140,7 @@
140
140
  </TransitionGroup>
141
141
 
142
142
  <TransitionGroup
143
- v-else
143
+ v-else-if="!keepSlotVisible || !isLoading"
144
144
  tag="ul"
145
145
  name="feed"
146
146
  :class="$attrs.class"
@@ -151,6 +151,28 @@
151
151
  </slot>
152
152
  </TransitionGroup>
153
153
 
154
+ <!-- Slot visible with overlay loader -->
155
+ <div v-else class="pos-relative">
156
+ <TransitionGroup
157
+ tag="ul"
158
+ name="feed"
159
+ :class="$attrs.class"
160
+ >
161
+ <slot
162
+ :items="itemsList"
163
+ >
164
+ </slot>
165
+ </TransitionGroup>
166
+
167
+ <!-- Overlay loader -->
168
+ <div
169
+ v-if="isLoading && keepSlotVisible"
170
+ class="pos-absolute pos-t-0 pos-l-0 w-100 h-100 flex-center bg-white-transp-90 z-index-10"
171
+ >
172
+ <Loader />
173
+ </div>
174
+ </div>
175
+
154
176
  <button
155
177
  v-if="showLoadMore && hasMoreItems && itemsList.length > 0 && !isLoadingExtra"
156
178
  @click="loadMoreItems"
@@ -294,6 +316,10 @@ const props = defineProps({
294
316
  contain: null,
295
317
  }),
296
318
  },
319
+ keepSlotVisible: {
320
+ type: Boolean,
321
+ default: false
322
+ },
297
323
  });
298
324
 
299
325
  const hasMoreItems = ref(false);
@@ -60,6 +60,11 @@ export default class CRUDPolicies {
60
60
  );
61
61
  }
62
62
 
63
+ // Проверяем еще раз, чтобы убедиться что не отключено
64
+ if (options.enabled === false) {
65
+ return null;
66
+ }
67
+
63
68
  // Дефолтный ABAC middleware
64
69
  return this.abac.middleware(this.crud.modelName, action, options);
65
70
  }
@@ -98,7 +98,14 @@ class Validator {
98
98
  boolean(message) {
99
99
  this.rules.push({
100
100
  type: 'boolean',
101
- check: value => typeof value === 'boolean',
101
+ check: value => {
102
+ if (typeof value === 'boolean') return true;
103
+ if (typeof value === 'string') {
104
+ const lowered = value.toLowerCase();
105
+ return lowered === 'true' || lowered === 'false';
106
+ }
107
+ return false;
108
+ },
102
109
  message,
103
110
  });
104
111
  return this;
@@ -151,6 +151,12 @@
151
151
  </router-view>
152
152
  </Suspense>
153
153
  </div>
154
+
155
+ <component
156
+ v-if="route.meta.player"
157
+ class="z-index-2"
158
+ :is="route.meta.player"
159
+ />
154
160
 
155
161
  <component
156
162
  v-if="!MOBILE_APP && route.meta.footer && !route.meta.hideFooter"
@@ -175,6 +181,7 @@
175
181
 
176
182
 
177
183
 
184
+
178
185
  <component
179
186
  v-if="MOBILE_APP && route.meta.title_hide"
180
187
  class="z-index-2"
@@ -0,0 +1,8 @@
1
+ # Music Module
2
+
3
+ ## Задачи
4
+
5
+ ### Оптимизация подсчета воспроизведений
6
+ - [ ] Перенести увеличение playCount из HTTP stream controller в WebSocket handler
7
+ - [ ] Сейчас playCount увеличивается при каждом HTTP range request, что может давать завышенные показатели
8
+ - [ ] WebSocket handler уже написан, но не работает из-за проблем с регистрацией модуля
@@ -9,10 +9,6 @@
9
9
  class="flex-child-shrink-0"
10
10
  >
11
11
  <div class="pd-thin">
12
- <div class="music-logo mn-b-medium">
13
- <h3 class=" mn-b-small">Music</h3>
14
- </div>
15
-
16
12
  <nav class="music-nav mn-b-medium">
17
13
  <ul class="flex flex-column gap-small">
18
14
  <li>
@@ -47,7 +43,7 @@
47
43
 
48
44
  <div class="music-playlists" v-if="isAuthenticated">
49
45
  <div class="flex-between flex mn-b-small">
50
- <h4 class="t-grey t-medium">YOUR PLAYLISTS</h4>
46
+ <h4 class="t-transp t-medium">YOUR PLAYLISTS</h4>
51
47
  <Button
52
48
  @click="showCreatePlaylistModal = true"
53
49
  class="bg-transparent cursor-pointer pd-micro radius-small hover-bg-dark"
@@ -108,17 +104,18 @@ import Sidebar from '@martyrs/src/modules/globals/views/components/partials/Side
108
104
  import Button from '@martyrs/src/components/Button/Button.vue';
109
105
  import Popup from '@martyrs/src/components/Popup/Popup.vue';
110
106
  import Feed from '@martyrs/src/components/Feed/Feed.vue';
111
- import PlaylistForm from '../forms/PlaylistForm.vue';
107
+
108
+ import PlaylistForm from './forms/PlaylistForm.vue';
112
109
 
113
110
  // Icons
114
- import IconHome from '@martyrs/src/modules/icons/navigation/IconHome.vue';
111
+ import IconHome from '@martyrs/src/modules/icons/entities/IconHome.vue';
115
112
  import IconSearch from '@martyrs/src/modules/icons/navigation/IconSearch.vue';
116
- import IconLibrary from '@martyrs/src/modules/icons/entities/IconFolder.vue';
113
+ import IconLibrary from '@martyrs/src/modules/icons/navigation/IconPlus.vue';
117
114
  import IconPlus from '@martyrs/src/modules/icons/navigation/IconPlus.vue';
118
115
 
119
116
  // Store
120
117
  import { state as authState } from '@martyrs/src/modules/auth/views/store/auth.js';
121
- import { state as playlistsState, actions as playlistsActions } from '../../store/playlists.js';
118
+ import { state as playlistsState, actions as playlistsActions } from '..//store/playlists.js';
122
119
 
123
120
  const props = defineProps({
124
121
  stateSidebar: {
@@ -2,27 +2,27 @@
2
2
  <template>
3
3
  <router-link
4
4
  :to="{ name: 'album', params: { url: album.url } }"
5
- class="album-card d-block radius-small o-hidden"
5
+ class="album-card d-block radius-medium o-hidden"
6
6
  >
7
7
  <div class="album-cover pos-relative">
8
8
  <Media
9
- :url="album.coverUrl || '/assets/placeholder-album.jpg'"
9
+ :url="album.coverArt || album.coverUrl || '/logo/logo-placeholder.jpg'"
10
10
  class="w-100 aspect-1x1 object-fit-cover"
11
11
  />
12
- <div class="album-overlay pos-absolute pos-t-0 pos-l-0 w-100 h-100 flex-center flex transition-cubic-in-out">
12
+ <div v-if="album.totalTracks && album.totalTracks > 0" class="album-overlay pos-absolute pos-t-0 pos-l-0 w-100 h-100 flex-center flex transition-cubic-in-out">
13
13
  <Button
14
- @click.stop="playAlbum(album)"
15
- class="play-button bg-main radius-round flex-center flex aspect-1x1"
14
+ @click.stop.prevent="playAlbum(album)"
15
+ class="play-button i-big bg-main radius-round flex-center flex aspect-1x1"
16
16
  :showLoader="false"
17
17
  :showSucces="false"
18
18
  >
19
- <IconPlay class="i-small" fill="rgb(var(--black))" />
19
+ <IconPlay class="i-small" fill="rgb(var(--white))" />
20
20
  </Button>
21
21
  </div>
22
22
  </div>
23
- <div class="album-info pd-small bg-dark-transp-20">
24
- <h3 class=" t-medium t-truncate">{{ album.title }}</h3>
25
- <p class="t-grey t-small t-truncate">{{ albumInfo }}</p>
23
+ <div class="album-info pd-medium bg-light">
24
+ <h3 class="mn-b-thin t-medium t-truncate">{{ album.title }}</h3>
25
+ <p class="t-transp t-small t-truncate">{{ albumInfo }}</p>
26
26
  </div>
27
27
  </router-link>
28
28
  </template>
@@ -49,10 +49,18 @@ const albumInfo = computed(() => {
49
49
  const releaseYear = props.album.releaseDate ? new Date(props.album.releaseDate).getFullYear() : '';
50
50
  let artistName = 'Unknown Artist';
51
51
 
52
- if (props.album.artist?.name) {
52
+ // Handle artists array (model uses 'artists' not 'artist')
53
+ if (props.album.artists && props.album.artists.length > 0) {
54
+ // If populated, artists[0] will have name property
55
+ if (props.album.artists[0]?.name) {
56
+ artistName = props.album.artists.map(artist => artist.name).join(', ');
57
+ } else if (typeof props.album.artists[0] === 'string') {
58
+ // If not populated, it might be just IDs
59
+ artistName = 'Various Artists';
60
+ }
61
+ } else if (props.album.artist?.name) {
62
+ // Fallback for old data structure
53
63
  artistName = props.album.artist.name;
54
- } else if (typeof props.album.artist === 'string') {
55
- artistName = props.album.artist;
56
64
  }
57
65
 
58
66
  return releaseYear ? `${artistName} • ${releaseYear}` : artistName;
@@ -95,8 +103,6 @@ const playAlbum = async (album) => {
95
103
  }
96
104
 
97
105
  .play-button {
98
- width: 48px;
99
- height: 48px;
100
106
  transform: scale(0.8);
101
107
  transition: transform 0.3s ease;
102
108
  }
@@ -30,7 +30,7 @@
30
30
  </div>
31
31
 
32
32
  <div class="pd-small">
33
- <h4 class="mn-b-micro t-trim-2">{{ artist.name }}</h4>
33
+ <h4 class="t-medium mn-b-small t-truncate">{{ artist.name }}</h4>
34
34
  <p v-if="artist.genres && artist.genres.length" class="p-small t-transp t-trim">
35
35
  {{ artist.genres.join(', ') }}
36
36
  </p>
@@ -6,12 +6,12 @@
6
6
  >
7
7
  <div class="playlist-cover pos-relative">
8
8
  <Media
9
- :url="playlist.coverUrl || '/assets/placeholder-playlist.jpg'"
9
+ :url="playlist.coverUrl || '/logo/logo-placeholder.jpg'"
10
10
  class="w-100 aspect-1x1 object-fit-cover"
11
11
  />
12
- <div class="playlist-overlay pos-absolute pos-t-0 pos-l-0 w-100 h-100 flex-center flex transition-cubic-in-out">
12
+ <div v-if="playlist.tracks && playlist.tracks.length > 0" class="playlist-overlay pos-absolute pos-t-0 pos-l-0 w-100 h-100 flex-center flex transition-cubic-in-out">
13
13
  <Button
14
- @click.stop="playPlaylist(playlist)"
14
+ @click.stop.prevent="playPlaylist(playlist)"
15
15
  class="play-button bg-main radius-round flex-center flex aspect-1x1"
16
16
  :showLoader="false"
17
17
  :showSucces="false"
@@ -20,9 +20,9 @@
20
20
  </Button>
21
21
  </div>
22
22
  </div>
23
- <div class="playlist-info pd-small bg-dark-transp-20">
24
- <h3 class=" t-medium t-truncate">{{ playlist.title }}</h3>
25
- <p class="t-grey t-small t-truncate">{{ playlistInfo }}</p>
23
+ <div class="playlist-info pd-small bg-light">
24
+ <h3 class=" t-medium mn-b-small t-truncate">{{ playlist.title }}</h3>
25
+ <p class="t-transp t-small t-truncate">{{ playlistInfo }}</p>
26
26
  </div>
27
27
  </router-link>
28
28
  </template>
@@ -35,6 +35,7 @@ import IconPlay from '@martyrs/src/modules/icons/navigation/IconPlay.vue';
35
35
 
36
36
  // Import player store
37
37
  import { actions as playerActions } from '../../store/player.js';
38
+ import { state as playlistsState, actions as playlistsActions } from '../../store/playlists.js';
38
39
 
39
40
  const props = defineProps({
40
41
  playlist: {
@@ -58,12 +59,31 @@ const playlistInfo = computed(() => {
58
59
  });
59
60
 
60
61
  // Methods
61
- const playPlaylist = (playlist) => {
62
- // Extract tracks from playlist
63
- const tracks = playlist.tracks?.map(item => item.track).filter(track => track) || [];
62
+ const playPlaylist = async (playlist) => {
63
+ if (!playlist || !playlist.url) {
64
+ console.warn('Playlist or URL not available');
65
+ return;
66
+ }
64
67
 
65
- if (tracks.length > 0) {
66
- playerActions.setQueue(tracks);
68
+ try {
69
+ console.log('Loading playlist:', playlist.url);
70
+
71
+ // Fetch full playlist data with populated tracks
72
+ await playlistsActions.fetchPlaylistByUrl(playlist.url);
73
+
74
+ // Get tracks from store after loading
75
+ const tracks = playlistsState.currentPlaylistTracks || [];
76
+
77
+ console.log('Loaded tracks:', tracks);
78
+
79
+ if (tracks.length > 0) {
80
+ console.log('Setting queue with tracks:', tracks);
81
+ playerActions.setQueue(tracks);
82
+ } else {
83
+ console.warn('No tracks found in playlist after loading');
84
+ }
85
+ } catch (error) {
86
+ console.error('Error loading playlist for playback:', error);
67
87
  }
68
88
  };
69
89
  </script>
@@ -2,49 +2,60 @@
2
2
  <template>
3
3
  <div
4
4
  class="track-item pd-small hover-bg-dark-transp-25 flex-v-center flex cursor-pointer"
5
- :class="{'bg-dark-transp-25': isPlaying(track)}"
5
+ :class="{'bg-main-transp-10': isPlaying(track)}"
6
6
  @click="playTrack(track)"
7
7
  @dblclick="playTrack(track, true)"
8
8
  @mouseenter="hoveredIndex = props.index"
9
9
  @mouseleave="hoveredIndex = -1"
10
10
  >
11
11
  <div class="track-number w-3r t-center pos-relative">
12
- <span v-if="!isPlaying(track) && hoveredIndex !== props.index" class="t-grey">{{ props.index + 1 }}</span>
12
+ <span v-if="!isPlaying(track) && hoveredIndex !== props.index" class="t-transp">{{ props.index + 1 }}</span>
13
13
  <Button
14
14
  v-else-if="!isPlaying(track) && hoveredIndex === props.index"
15
15
  @click.stop="playTrack(track)"
16
- class="bg-transparent border-none pd-zero"
16
+ class="bg-main pd-thin"
17
17
  :showLoader="false"
18
18
  :showSucces="false"
19
19
  >
20
- <IconPlay class="i-small" fill="rgb(var(--white))"/>
20
+ <IconPlay @click.stop="playTrack(track)" class="i-small" fill="rgb(var(--white))"/>
21
21
  </Button>
22
22
  <Button
23
23
  v-else
24
24
  @click.stop="pauseTrack()"
25
- class="bg-transparent border-none pd-zero"
25
+ class="bg-main pd-thin"
26
26
  :showLoader="false"
27
27
  :showSucces="false"
28
28
  >
29
- <IconPause class="i-small" fill="rgb(var(--main))"/>
29
+ <IconPause @click.stop="pauseTrack()" class="i-small" fill="rgb(var(--white))"/>
30
30
  </Button>
31
31
  </div>
32
32
 
33
33
  <div class="track-title flex-child-1 flex flex-v-center">
34
34
  <div v-if="showCover" class="track-cover mn-r-small">
35
35
  <Media
36
- :url="track.coverUrl || (track.album && track.album.coverUrl) || '/assets/placeholder-track.jpg'"
36
+ :url="track.coverUrl || (track.album && track.album.coverUrl) || '/logo/logo-placeholder.jpg'"
37
37
  class="w-3r h-3r object-fit-cover o-hidden radius-small"
38
38
  />
39
39
  </div>
40
40
 
41
41
  <div class="track-info">
42
- <div class="track-name " :class="{'t-main': isPlaying(track)}">{{ track.title }}</div>
43
- <div class="track-artist t-grey t-small">
42
+ <div class="track-name " :class="{'t-main': isPlaying(track)}">
43
+ <router-link
44
+ v-if="track.url"
45
+ :to="{ name: 'track', params: { url: track.url } }"
46
+ class="hover-t-main"
47
+ :class="{'t-main': isPlaying(track)}"
48
+ @click.stop
49
+ >
50
+ {{ track.title }}
51
+ </router-link>
52
+ <span v-else>{{ track.title }}</span>
53
+ </div>
54
+ <div :class="{'t-main': isPlaying(track)}" class="track-artist t-transp t-small">
44
55
  <router-link
45
56
  v-if="track.artist && track.artist._id"
46
57
  :to="{ name: 'artist', params: { url: track.artist.url } }"
47
- class="t-grey hover-"
58
+ class="t-transp hover-"
48
59
  @click.stop
49
60
  >
50
61
  {{ getArtistName(track) }}
@@ -54,11 +65,11 @@
54
65
  </div>
55
66
  </div>
56
67
 
57
- <div v-if="showAlbum" class="track-album w-15r mobile:w-0 mobile:hidden t-grey t-truncate">
68
+ <div v-if="showAlbum" class="track-album w-15r mobile:w-0 mobile:hidden t-transp t-truncate">
58
69
  <router-link
59
70
  v-if="track.album && track.album._id"
60
71
  :to="{ name: 'album', params: { url: track.album.url } }"
61
- class="t-grey hover-"
72
+ class="t-transp hover-"
62
73
  @click.stop
63
74
  >
64
75
  {{ track.album.title }}
@@ -66,7 +77,7 @@
66
77
  <span v-else>{{ track.album?.title || 'Single' }}</span>
67
78
  </div>
68
79
 
69
- <div class="track-duration w-5r t-right t-grey">{{ formatDuration(track.duration) }}</div>
80
+ <div class="track-duration w-5r t-right t-transp">{{ formatDuration(track.duration) }}</div>
70
81
  </div>
71
82
  </template>
72
83