@ozdao/martyrs 0.2.494 → 0.2.496

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 (170) 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 +41 -42
  6. package/dist/builder.js +43 -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/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  12. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  13. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  14. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  15. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  16. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  17. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  18. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  19. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
  20. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  21. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  22. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  23. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  24. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  25. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  26. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  27. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.cjs → Tooltip.vue.cjs} +2 -2
  28. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js.map → Tooltip.vue.cjs.map} +1 -1
  29. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
  30. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
  31. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  32. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  33. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  34. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  35. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  36. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
  37. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  38. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  39. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  40. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  41. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -2
  42. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
  43. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  45. package/dist/martyrs/src/modules/globals/globals.client.cjs +1 -1
  46. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  47. package/dist/martyrs/src/modules/globals/globals.client.js +1 -1
  48. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  49. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  50. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  51. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  52. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  53. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +28 -13
  54. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  55. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +28 -13
  56. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  57. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  59. package/dist/martyrs/src/modules/globals/views/router/scrollBehavior.cjs +1 -1
  60. package/dist/martyrs/src/modules/globals/views/router/scrollBehavior.cjs.map +1 -1
  61. package/dist/martyrs/src/modules/globals/views/router/scrollBehavior.js +1 -1
  62. package/dist/martyrs/src/modules/globals/views/router/scrollBehavior.js.map +1 -1
  63. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +2 -2
  64. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +1 -1
  65. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  67. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +95 -0
  68. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs.map +1 -0
  69. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +95 -0
  70. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -0
  71. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  74. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  75. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +2 -2
  76. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs.map +1 -1
  77. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +2 -2
  78. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js.map +1 -1
  79. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +127 -175
  80. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs.map +1 -1
  81. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +136 -184
  82. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  83. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +5 -5
  84. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs.map +1 -1
  85. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +5 -5
  86. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  87. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +5 -5
  88. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +5 -5
  90. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +97 -144
  92. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  93. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +113 -160
  94. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  95. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +7 -7
  96. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +7 -7
  98. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +164 -170
  100. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +185 -191
  102. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  103. package/dist/martyrs/src/modules/music/music.client.cjs.map +1 -1
  104. package/dist/martyrs/src/modules/music/music.client.js.map +1 -1
  105. package/dist/martyrs/src/modules/music/router/music.cjs +2 -2
  106. package/dist/martyrs/src/modules/music/router/music.js +2 -2
  107. package/dist/martyrs/src/modules/notifications/notifications.client.cjs +1 -1
  108. package/dist/martyrs/src/modules/notifications/notifications.client.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/notifications/notifications.client.js +1 -1
  110. package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
  111. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
  113. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  115. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  117. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  119. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  120. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
  121. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  123. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  125. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +2 -2
  126. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +2 -2
  127. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  128. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  129. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  131. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +2 -2
  132. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +2 -2
  133. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  135. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  136. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  137. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  139. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  141. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
  142. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  143. package/dist/martyrs.css +1 -1
  144. package/dist/style.css +18 -5
  145. package/package.json +1 -1
  146. package/src/builder/rspack/rspack.config.ssr.client.js +40 -40
  147. package/src/modules/globals/controllers/classes/globals.websocket.js +11 -2
  148. package/src/modules/globals/globals.client.js +1 -2
  149. package/src/modules/globals/views/components/layouts/Client.vue +13 -11
  150. package/src/modules/globals/views/router/scrollBehavior.js +1 -1
  151. package/src/modules/music/README.md +2 -0
  152. package/src/modules/music/components/SidebarMusic.vue +7 -7
  153. package/src/modules/music/components/cards/ArtistCardSmall.vue +92 -0
  154. package/src/modules/music/components/cards/TrackListCard.vue +1 -1
  155. package/src/modules/music/components/forms/SearchForm.vue +1 -1
  156. package/src/modules/music/components/pages/Album.vue +44 -83
  157. package/src/modules/music/components/pages/Artist.vue +5 -5
  158. package/src/modules/music/components/pages/MusicLibrary.vue +5 -5
  159. package/src/modules/music/components/pages/Playlist.vue +35 -53
  160. package/src/modules/music/components/pages/SearchResults.vue +6 -6
  161. package/src/modules/music/components/pages/Track.vue +66 -87
  162. package/src/modules/music/music.client.js +1 -1
  163. package/src/modules/notifications/notifications.client.js +1 -1
  164. package/src/styles/base/all.scss +1 -0
  165. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  166. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  167. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  168. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  169. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  170. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +0 -1
@@ -1,23 +1,25 @@
1
- import { ref, computed, onMounted, resolveComponent, createElementBlock, openBlock, createCommentVNode, createBlock, createVNode, createElementVNode, toDisplayString, withCtx, createTextVNode, Fragment, renderList } from "vue";
1
+ import { computed, ref, onMounted, resolveComponent, createElementBlock, openBlock, createCommentVNode, createBlock, createVNode, createElementVNode, withCtx, toDisplayString, createTextVNode, Fragment, renderList } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
3
  import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
4
4
  import Loader from "../../../../components/Loader/Loader.vue2.js";
5
5
  import Media from "../../../../components/Media/Media.vue.js";
6
- import _sfc_main$5 from "../../../../components/Dropdown/Dropdown.vue.js";
7
- import _sfc_main$c from "../../../../components/Popup/Popup.vue.js";
8
- import _sfc_main$a from "../../../../components/Feed/Feed.vue.js";
6
+ import _sfc_main$6 from "../../../../components/Dropdown/Dropdown.vue2.js";
7
+ import _sfc_main$d from "../../../../components/Popup/Popup.vue.js";
8
+ import _sfc_main$b from "../../../../components/Feed/Feed.vue.js";
9
9
  import _sfc_main$2 from "../../../icons/navigation/IconPlay.vue.js";
10
- import _sfc_main$3 from "../../../icons/navigation/IconLike.vue.js";
11
- import _sfc_main$6 from "../../../icons/navigation/IconEllipsis.vue.js";
10
+ import _sfc_main$3 from "../../../icons/navigation/IconPause.vue.js";
11
+ import _sfc_main$5 from "../../../icons/navigation/IconLike.vue.js";
12
+ import _sfc_main$7 from "../../../icons/navigation/IconEllipsis.vue.js";
12
13
  import _sfc_main$4 from "../../../icons/navigation/IconAdd.vue.js";
13
14
  import IconClock from "../../../icons/entities/IconTime.vue.js";
14
15
  import _sfc_main$8 from "../../../icons/entities/IconCalendar.vue.js";
15
- import _sfc_main$7 from "../../../icons/navigation/IconCheckmark.vue.js";
16
- import _sfc_main$9 from "../../../icons/actions/IconShow.vue.js";
17
- import _sfc_main$b from "../cards/TrackListCard.vue.js";
18
- import { state, actions } from "../../store/tracks.js";
19
- import { actions as actions$1 } from "../../store/player.js";
20
- import { state as state$1 } from "../../../auth/views/store/auth.js";
16
+ import _sfc_main$9 from "../../../icons/navigation/IconCheckmark.vue.js";
17
+ import _sfc_main$a from "../../../icons/actions/IconShow.vue.js";
18
+ import _sfc_main$c from "../cards/TrackListCard.vue.js";
19
+ import ArtistCardSmall from "../cards/ArtistCardSmall.vue.js";
20
+ import { state as state$1, actions } from "../../store/tracks.js";
21
+ import { state, actions as actions$1 } from "../../store/player.js";
22
+ import { state as state$2 } from "../../../auth/views/store/auth.js";
21
23
  const _hoisted_1 = { class: "track-page pd-small" };
22
24
  const _hoisted_2 = {
23
25
  key: 0,
@@ -32,71 +34,66 @@ const _hoisted_4 = {
32
34
  class: "track-content cols-2-fit-content mobile:cols-1 gap-big"
33
35
  };
34
36
  const _hoisted_5 = { class: "pos-sticky pos-t-0 mobile:pos-relative track-cover-section" };
35
- const _hoisted_6 = { class: "cover-container relative mn-b-medium radius-big overflow-hidden shadow-big" };
36
- const _hoisted_7 = { class: "stats-grid grid cols-2 gap-small" };
37
- const _hoisted_8 = { class: "stat-card bg-light pd-medium radius-medium t-center" };
38
- const _hoisted_9 = { class: "mn-b-thin" };
39
- const _hoisted_10 = { class: "stat-card bg-light pd-medium radius-medium t-center" };
40
- const _hoisted_11 = { class: "mn-b-thin" };
41
- const _hoisted_12 = { class: "track-details-section" };
42
- const _hoisted_13 = { class: "flex items-center gap-small mn-b-small" };
43
- const _hoisted_14 = {
37
+ const _hoisted_6 = { class: "cover-container pos-relative mn-b-medium radius-big o-hidden" };
38
+ const _hoisted_7 = { class: "cover-overlay w-100 h-100 pos-absolute pos-t-0 pos-r-0 bg-black-transp-40 flex flex-center" };
39
+ const _hoisted_8 = { class: "stats-grid grid cols-2 gap-small" };
40
+ const _hoisted_9 = { class: "stat-card bg-light pd-medium radius-medium t-center" };
41
+ const _hoisted_10 = { class: "mn-b-thin" };
42
+ const _hoisted_11 = { class: "stat-card bg-light pd-medium radius-medium t-center" };
43
+ const _hoisted_12 = { class: "mn-b-thin" };
44
+ const _hoisted_13 = { class: "track-details-section" };
45
+ const _hoisted_14 = { class: "h1 mn-b-medium" };
46
+ const _hoisted_15 = { class: "flex gap-small mn-b-medium" };
47
+ const _hoisted_16 = { class: "dropdown-menu bg-dark pd-small radius-medium shadow-big mn-t-thin" };
48
+ const _hoisted_17 = { class: "artists-section mn-b-medium" };
49
+ const _hoisted_18 = {
44
50
  key: 0,
45
- class: "badge bg-danger-transp-20 t-danger pd-thin-big radius-small t-small"
51
+ class: "t-medium mn-b-small"
46
52
  };
47
- const _hoisted_15 = { class: "h1 mn-b-medium" };
48
- const _hoisted_16 = { class: "flex gap-small mn-b-medium" };
49
- const _hoisted_17 = { class: "dropdown-menu bg-dark pd-small radius-medium shadow-big mn-t-thin" };
50
- const _hoisted_18 = { class: "artist-card bg-light pd-medium radius-medium flex items-center gap-medium mn-b-big" };
51
- const _hoisted_19 = { class: "artist-avatar" };
52
- const _hoisted_20 = {
53
- key: 1,
54
- class: "w-4r h-4r radius-full bg-primary flex-center"
55
- };
56
- const _hoisted_21 = { class: "flex items-center gap-thin" };
57
- const _hoisted_22 = { class: "t-large" };
58
- const _hoisted_23 = { class: "metadata-grid grid cols-2 gap-small mn-b-big" };
59
- const _hoisted_24 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-medium" };
60
- const _hoisted_25 = { class: "icon-wrapper bg-primary-transp-20 w-3r h-3r radius-small flex-center" };
53
+ const _hoisted_19 = { class: "flex flex-col gap-small" };
54
+ const _hoisted_20 = { class: "metadata-grid grid cols-2 gap-small mn-b-medium" };
55
+ const _hoisted_21 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-medium" };
56
+ const _hoisted_22 = { class: "t-medium" };
57
+ const _hoisted_23 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-medium" };
58
+ const _hoisted_24 = { class: "t-medium" };
59
+ const _hoisted_25 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-medium" };
61
60
  const _hoisted_26 = { class: "t-medium" };
62
61
  const _hoisted_27 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-medium" };
63
- const _hoisted_28 = { class: "icon-wrapper bg-primary-transp-20 w-3r h-3r radius-small flex-center" };
64
- const _hoisted_29 = { class: "t-medium" };
65
- const _hoisted_30 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-medium" };
66
- const _hoisted_31 = { class: "icon-wrapper bg-success-transp-20 w-3r h-3r radius-small flex-center" };
67
- const _hoisted_32 = { class: "t-medium t-success" };
68
- const _hoisted_33 = { class: "metadata-card bg-light pd-medium radius-medium flex items-center gap-medium" };
69
- const _hoisted_34 = { class: "icon-wrapper bg-primary-transp-20 w-3r h-3r radius-small flex-center" };
70
- const _hoisted_35 = { class: "t-medium" };
71
- const _hoisted_36 = {
62
+ const _hoisted_28 = { class: "t-medium" };
63
+ const _hoisted_29 = {
72
64
  key: 0,
73
- class: "album-card bg-light pd-medium radius-medium mn-b-medium"
65
+ class: "t-medium mn-b-small"
74
66
  };
75
- const _hoisted_37 = { class: "t-medium" };
76
- const _hoisted_38 = {
67
+ const _hoisted_30 = {
77
68
  key: 1,
78
- class: "tags-section mn-b-medium"
69
+ class: "album-card bg-light pd-medium radius-medium mn-b-medium"
79
70
  };
80
- const _hoisted_39 = { class: "flex gap-thin flex-wrap" };
81
- const _hoisted_40 = {
71
+ const _hoisted_31 = { class: "t-medium" };
72
+ const _hoisted_32 = {
82
73
  key: 2,
83
- class: "description-section bg-light pd-medium radius-medium mn-b-medium"
74
+ class: "tags-section mn-b-medium"
84
75
  };
85
- const _hoisted_41 = { class: "t-transp" };
86
- const _hoisted_42 = {
76
+ const _hoisted_33 = { class: "flex gap-thin flex-wrap" };
77
+ const _hoisted_34 = {
87
78
  key: 3,
79
+ class: "description-section bg-light pd-medium radius-medium mn-b-medium"
80
+ };
81
+ const _hoisted_35 = { class: "t-transp" };
82
+ const _hoisted_36 = {
83
+ key: 4,
88
84
  class: "lyrics-section bg-light pd-medium radius-medium"
89
85
  };
90
- const _hoisted_43 = { class: "t-transp t-small" };
91
- const _hoisted_44 = {
86
+ const _hoisted_37 = { class: "t-transp t-small" };
87
+ const _hoisted_38 = {
92
88
  key: 3,
93
89
  class: "related-section mn-t-big"
94
90
  };
95
- const _hoisted_45 = { class: "bg-light radius-medium o-hidden" };
91
+ const _hoisted_39 = { class: "bg-light radius-medium o-hidden" };
96
92
  const _sfc_main = {
97
93
  __name: "Track",
98
94
  emits: ["page-loading", "page-loaded"],
99
95
  setup(__props, { emit: __emit }) {
96
+ const isPlaying = computed(() => state.isPlaying);
100
97
  const route = useRoute();
101
98
  const router = useRouter();
102
99
  const emits = __emit;
@@ -105,12 +102,12 @@ const _sfc_main = {
105
102
  const showAddToPlaylistModal = ref(false);
106
103
  const isFavorite = ref(false);
107
104
  const isFollowingArtist = ref(false);
108
- state.currentTrack = null;
109
- state.relatedTracks = [];
110
- const track = computed(() => state.currentTrack);
111
- const relatedTracks = computed(() => state.relatedTracks || []);
105
+ state$1.currentTrack = null;
106
+ state$1.relatedTracks = [];
107
+ const track = computed(() => state$1.currentTrack);
108
+ const relatedTracks = computed(() => state$1.relatedTracks || []);
112
109
  const isOwner = computed(() => {
113
- return track.value?.owner?.target === state$1.user?._id;
110
+ return track.value?.owner?.target === state$2.user?._id;
114
111
  });
115
112
  const formatDuration = (seconds) => {
116
113
  if (!seconds) return "0:00";
@@ -203,64 +200,96 @@ const _sfc_main = {
203
200
  url: track.value.coverUrl || track.value.album && track.value.album.coverUrl || "/logo/logo-placeholder.jpg",
204
201
  alt: track.value.title,
205
202
  class: "aspect-1x1 w-100 radius-medium o-hidden"
206
- }, null, 8, ["url", "alt"])
203
+ }, null, 8, ["url", "alt"]),
204
+ createElementVNode("div", _hoisted_7, [
205
+ createVNode(_sfc_main$1, {
206
+ onClick: playTrack,
207
+ color: "white",
208
+ size: "big",
209
+ class: "w-5r h-5r radius-big bg-main shadow-big hover-scale-110"
210
+ }, {
211
+ default: withCtx(() => [
212
+ !isPlaying.value ? (openBlock(), createBlock(_sfc_main$2, {
213
+ key: 0,
214
+ fill: "rgb(var(--white))",
215
+ class: "i-medium"
216
+ })) : (openBlock(), createBlock(_sfc_main$3, {
217
+ key: 1,
218
+ fill: "rgb(var(--white))",
219
+ class: "i-medium"
220
+ }))
221
+ ]),
222
+ _: 1
223
+ })
224
+ ])
207
225
  ]),
208
- createElementVNode("div", _hoisted_7, [
209
- createElementVNode("div", _hoisted_8, [
210
- createElementVNode("div", _hoisted_9, toDisplayString(formatNumber(track.value.playCount)), 1),
226
+ createElementVNode("div", _hoisted_8, [
227
+ createElementVNode("div", _hoisted_9, [
228
+ createElementVNode("div", _hoisted_10, toDisplayString(formatNumber(track.value.playCount)), 1),
211
229
  _cache[4] || (_cache[4] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Plays", -1))
212
230
  ]),
213
- createElementVNode("div", _hoisted_10, [
214
- createElementVNode("div", _hoisted_11, toDisplayString(formatNumber(track.value.views)), 1),
231
+ createElementVNode("div", _hoisted_11, [
232
+ createElementVNode("div", _hoisted_12, toDisplayString(formatNumber(track.value.views)), 1),
215
233
  _cache[5] || (_cache[5] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Views", -1))
216
234
  ])
217
235
  ])
218
236
  ]),
219
- createElementVNode("div", _hoisted_12, [
220
- createElementVNode("div", _hoisted_13, [
221
- _cache[6] || (_cache[6] = createElementVNode("span", { class: "badge bg-primary-transp-20 t-primary pd-thin-big radius-small t-small t-uppercase" }, "Single", -1)),
222
- track.value.isExplicit ? (openBlock(), createElementBlock("span", _hoisted_14, "Explicit")) : createCommentVNode("", true)
223
- ]),
224
- createElementVNode("h1", _hoisted_15, toDisplayString(track.value.title), 1),
225
- createElementVNode("div", _hoisted_16, [
237
+ createElementVNode("div", _hoisted_13, [
238
+ _cache[19] || (_cache[19] = createElementVNode("div", { class: "flex items-center gap-small mn-b-small" }, [
239
+ createElementVNode("span", { class: "bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase" }, "Single"),
240
+ createElementVNode("span", { class: "bg-light t-medium pd-thin radius-thin uppercase t-small t-uppercase" }, "Explicit")
241
+ ], -1)),
242
+ createElementVNode("h1", _hoisted_14, toDisplayString(track.value.title), 1),
243
+ createElementVNode("div", _hoisted_15, [
226
244
  createVNode(_sfc_main$1, {
227
245
  onClick: playTrack,
228
246
  color: "primary",
229
247
  size: "medium",
230
- class: "flex-1 flex-center gap-thin"
248
+ class: "flex-1 t-white bg-black radius-thin flex-center gap-thin"
231
249
  }, {
232
250
  default: withCtx(() => [
233
- createVNode(_sfc_main$2, { class: "w-1r h-1r" }),
234
- _cache[7] || (_cache[7] = createTextVNode(" Play "))
251
+ !isPlaying.value ? (openBlock(), createBlock(_sfc_main$2, {
252
+ key: 0,
253
+ fill: "rgb(var(--white))",
254
+ class: "i-medium"
255
+ })) : (openBlock(), createBlock(_sfc_main$3, {
256
+ key: 1,
257
+ fill: "rgb(var(--white))",
258
+ class: "i-medium"
259
+ })),
260
+ createTextVNode(" " + toDisplayString(!isPlaying.value ? "Play" : "Pause"), 1)
235
261
  ]),
236
262
  _: 1
237
263
  }),
238
264
  createVNode(_sfc_main$1, {
239
- onClick: toggleFavorite,
240
- color: isFavorite.value ? "danger" : "transp",
265
+ onClick: addToQueue,
266
+ color: "primary",
241
267
  size: "medium",
242
- class: "w-3r h-3r radius-full"
268
+ class: "flex-1 bg-light radius-thin flex-center gap-thin"
243
269
  }, {
244
270
  default: withCtx(() => [
245
- createVNode(_sfc_main$3, {
246
- class: "w-1-25r h-1-25r",
247
- fill: isFavorite.value
248
- }, null, 8, ["fill"])
271
+ createVNode(_sfc_main$4, { class: "i-medium" }),
272
+ _cache[6] || (_cache[6] = createTextVNode(" Add to Queue "))
249
273
  ]),
250
274
  _: 1
251
- }, 8, ["color"]),
275
+ }),
252
276
  createVNode(_sfc_main$1, {
253
- onClick: addToQueue,
254
- color: "transp",
277
+ onClick: toggleFavorite,
278
+ color: "primary",
255
279
  size: "medium",
256
- class: "w-3r h-3r radius-full"
280
+ class: "flex-1 bg-light radius-thin flex-center gap-thin"
257
281
  }, {
258
282
  default: withCtx(() => [
259
- createVNode(_sfc_main$4, { class: "w-1-25r h-1-25r" })
283
+ createVNode(_sfc_main$5, {
284
+ class: "i-medium",
285
+ fill: isFavorite.value ? "rgb(var(--main)" : "rgb(var(--black)"
286
+ }, null, 8, ["fill"]),
287
+ createTextVNode(" " + toDisplayString(isFavorite.value ? "Liked" : "Like"), 1)
260
288
  ]),
261
289
  _: 1
262
290
  }),
263
- createVNode(_sfc_main$5, {
291
+ createVNode(_sfc_main$6, {
292
+ label: { component: _sfc_main$7, class: "bg-light radius-thin pd-thin i-big" },
264
293
  modelValue: showDropdown.value,
265
294
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showDropdown.value = $event),
266
295
  class: "relative"
@@ -272,20 +301,20 @@ const _sfc_main = {
272
301
  class: "w-3r h-3r radius-full"
273
302
  }, {
274
303
  default: withCtx(() => [
275
- createVNode(_sfc_main$6, { class: "w-1-25r h-1-25r" })
304
+ createVNode(_sfc_main$7, { class: "w-1-25r h-1-25r" })
276
305
  ]),
277
306
  _: 1
278
307
  })
279
308
  ]),
280
309
  default: withCtx(() => [
281
- createElementVNode("div", _hoisted_17, [
310
+ createElementVNode("div", _hoisted_16, [
282
311
  createVNode(_sfc_main$1, {
283
312
  onClick: _cache[0] || (_cache[0] = ($event) => showAddToPlaylistModal.value = true),
284
313
  color: "transp",
285
314
  size: "small",
286
315
  class: "w-100 justify-start"
287
316
  }, {
288
- default: withCtx(() => _cache[8] || (_cache[8] = [
317
+ default: withCtx(() => _cache[7] || (_cache[7] = [
289
318
  createTextVNode(" Add to Playlist ")
290
319
  ])),
291
320
  _: 1
@@ -296,20 +325,20 @@ const _sfc_main = {
296
325
  size: "small",
297
326
  class: "w-100 justify-start"
298
327
  }, {
299
- default: withCtx(() => _cache[9] || (_cache[9] = [
328
+ default: withCtx(() => _cache[8] || (_cache[8] = [
300
329
  createTextVNode(" Copy Link ")
301
330
  ])),
302
331
  _: 1
303
332
  }),
304
333
  isOwner.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
305
- _cache[12] || (_cache[12] = createElementVNode("hr", { class: "mn-v-thin border-dark-transp-10" }, null, -1)),
334
+ _cache[11] || (_cache[11] = createElementVNode("hr", { class: "mn-v-thin border-dark-transp-10" }, null, -1)),
306
335
  createVNode(_sfc_main$1, {
307
336
  onClick: editTrack,
308
337
  color: "transp",
309
338
  size: "small",
310
339
  class: "w-100 justify-start"
311
340
  }, {
312
- default: withCtx(() => _cache[10] || (_cache[10] = [
341
+ default: withCtx(() => _cache[9] || (_cache[9] = [
313
342
  createTextVNode(" Edit Track ")
314
343
  ])),
315
344
  _: 1
@@ -320,7 +349,7 @@ const _sfc_main = {
320
349
  size: "small",
321
350
  class: "w-100 justify-start"
322
351
  }, {
323
- default: withCtx(() => _cache[11] || (_cache[11] = [
352
+ default: withCtx(() => _cache[10] || (_cache[10] = [
324
353
  createTextVNode(" Delete Track ")
325
354
  ])),
326
355
  _: 1
@@ -329,133 +358,98 @@ const _sfc_main = {
329
358
  ])
330
359
  ]),
331
360
  _: 1
332
- }, 8, ["modelValue"])
361
+ }, 8, ["label", "modelValue"])
333
362
  ]),
334
- createElementVNode("div", _hoisted_18, [
335
- createVNode(_component_router_link, {
336
- to: `/artist/${track.value.artist.url}`,
337
- class: "flex items-center gap-medium flex-1 hover-opacity"
338
- }, {
339
- default: withCtx(() => [
340
- createElementVNode("div", _hoisted_19, [
341
- track.value.artist.photoUrl ? (openBlock(), createBlock(Media, {
342
- key: 0,
343
- src: track.value.artist.photoUrl,
344
- alt: track.value.artist.name,
345
- class: "w-4r h-4r radius-full object-cover"
346
- }, null, 8, ["src", "alt"])) : (openBlock(), createElementBlock("div", _hoisted_20, toDisplayString(track.value.artist.name.charAt(0)), 1))
347
- ]),
348
- createElementVNode("div", null, [
349
- createElementVNode("div", _hoisted_21, [
350
- createElementVNode("span", _hoisted_22, toDisplayString(track.value.artist.name), 1),
351
- track.value.artist.isVerified ? (openBlock(), createBlock(_sfc_main$7, {
352
- key: 0,
353
- class: "w-1r h-1r t-primary"
354
- })) : createCommentVNode("", true)
355
- ]),
356
- _cache[13] || (_cache[13] = createElementVNode("span", { class: "t-small t-transp" }, "Artist", -1))
357
- ])
358
- ]),
359
- _: 1
360
- }, 8, ["to"]),
361
- !isOwner.value ? (openBlock(), createBlock(_sfc_main$1, {
362
- key: 0,
363
- onClick: toggleFollowArtist,
364
- color: isFollowingArtist.value ? "primary" : "transp",
365
- size: "small"
366
- }, {
367
- default: withCtx(() => [
368
- createTextVNode(toDisplayString(isFollowingArtist.value ? "Following" : "Follow"), 1)
369
- ]),
370
- _: 1
371
- }, 8, ["color"])) : createCommentVNode("", true)
363
+ createElementVNode("div", _hoisted_17, [
364
+ track.value.artist ? (openBlock(), createElementBlock("h3", _hoisted_18, "Artist")) : createCommentVNode("", true),
365
+ createElementVNode("div", _hoisted_19, [
366
+ (openBlock(), createBlock(ArtistCardSmall, {
367
+ key: track.value.artist._id,
368
+ artist: track.value.artist,
369
+ "is-following": isFollowingArtist.value,
370
+ "show-follow-button": !isOwner.value,
371
+ onToggleFollow: toggleFollowArtist
372
+ }, null, 8, ["artist", "is-following", "show-follow-button"]))
373
+ ])
372
374
  ]),
373
- createElementVNode("div", _hoisted_23, [
374
- createElementVNode("div", _hoisted_24, [
375
- createElementVNode("div", _hoisted_25, [
376
- createVNode(IconClock, { class: "w-1-5r h-1-5r t-primary" })
377
- ]),
375
+ _cache[20] || (_cache[20] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "Metadata", -1)),
376
+ createElementVNode("div", _hoisted_20, [
377
+ createElementVNode("div", _hoisted_21, [
378
+ createVNode(_sfc_main$8, { class: "i-regular t-primary" }),
378
379
  createElementVNode("div", null, [
379
- _cache[14] || (_cache[14] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Duration", -1)),
380
- createElementVNode("div", _hoisted_26, toDisplayString(formatDuration(track.value.duration)), 1)
380
+ _cache[12] || (_cache[12] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Released", -1)),
381
+ createElementVNode("div", _hoisted_22, toDisplayString(formatDate(track.value.releaseDate)), 1)
381
382
  ])
382
383
  ]),
383
- createElementVNode("div", _hoisted_27, [
384
- createElementVNode("div", _hoisted_28, [
385
- createVNode(_sfc_main$8, { class: "w-1-5r h-1-5r t-primary" })
386
- ]),
384
+ createElementVNode("div", _hoisted_23, [
385
+ createVNode(IconClock, { class: "i-regular t-primary" }),
387
386
  createElementVNode("div", null, [
388
- _cache[15] || (_cache[15] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Released", -1)),
389
- createElementVNode("div", _hoisted_29, toDisplayString(formatDate(track.value.releaseDate)), 1)
387
+ _cache[13] || (_cache[13] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Duration", -1)),
388
+ createElementVNode("div", _hoisted_24, toDisplayString(formatDuration(track.value.duration)), 1)
390
389
  ])
391
390
  ]),
392
- createElementVNode("div", _hoisted_30, [
393
- createElementVNode("div", _hoisted_31, [
394
- createVNode(_sfc_main$7, { class: "w-1-5r h-1-5r t-success" })
395
- ]),
391
+ createElementVNode("div", _hoisted_25, [
392
+ createVNode(_sfc_main$9, { class: "i-regular t-primary" }),
396
393
  createElementVNode("div", null, [
397
- _cache[16] || (_cache[16] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Status", -1)),
398
- createElementVNode("div", _hoisted_32, toDisplayString(track.value.status), 1)
394
+ _cache[14] || (_cache[14] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Status", -1)),
395
+ createElementVNode("div", _hoisted_26, toDisplayString(track.value.status), 1)
399
396
  ])
400
397
  ]),
401
- createElementVNode("div", _hoisted_33, [
402
- createElementVNode("div", _hoisted_34, [
403
- createVNode(_sfc_main$9, { class: "w-1-5r h-1-5r t-primary" })
404
- ]),
398
+ createElementVNode("div", _hoisted_27, [
399
+ createVNode(_sfc_main$a, { class: "i-regular t-primary" }),
405
400
  createElementVNode("div", null, [
406
- _cache[17] || (_cache[17] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Visibility", -1)),
407
- createElementVNode("div", _hoisted_35, toDisplayString(track.value.isPublic ? "Public" : "Private"), 1)
401
+ _cache[15] || (_cache[15] = createElementVNode("div", { class: "t-small t-transp t-uppercase" }, "Visibility", -1)),
402
+ createElementVNode("div", _hoisted_28, toDisplayString(track.value.isPublic ? "Public" : "Private"), 1)
408
403
  ])
409
404
  ])
410
405
  ]),
411
- track.value.album ? (openBlock(), createElementBlock("div", _hoisted_36, [
412
- _cache[18] || (_cache[18] = createElementVNode("div", { class: "t-small t-transp t-uppercase mn-b-thin" }, "From Album", -1)),
406
+ track.value.album ? (openBlock(), createElementBlock("h3", _hoisted_29, "From Album")) : createCommentVNode("", true),
407
+ track.value.album ? (openBlock(), createElementBlock("div", _hoisted_30, [
413
408
  createVNode(_component_router_link, {
414
409
  to: `/album/${track.value.album.url}`,
415
- class: "flex items-center gap-medium hover-opacity"
410
+ class: "flex flex-v-center gap-thin hover-opacity"
416
411
  }, {
417
412
  default: withCtx(() => [
418
- track.value.album.coverUrl ? (openBlock(), createBlock(Media, {
419
- key: 0,
420
- src: track.value.album.coverUrl,
413
+ createVNode(Media, {
414
+ url: track.value.album.coverArt || "/logo/logo-placeholder.jpg",
421
415
  alt: track.value.album.title,
422
- class: "w-3r h-3r radius-small object-cover"
423
- }, null, 8, ["src", "alt"])) : createCommentVNode("", true),
424
- createElementVNode("span", _hoisted_37, toDisplayString(track.value.album.title), 1)
416
+ class: "w-3r h-3r radius-thin o-hidden object-cover"
417
+ }, null, 8, ["url", "alt"]),
418
+ createElementVNode("span", _hoisted_31, toDisplayString(track.value.album.title), 1)
425
419
  ]),
426
420
  _: 1
427
421
  }, 8, ["to"])
428
422
  ])) : createCommentVNode("", true),
429
- track.value.genre && track.value.genre.length || track.value.tags && track.value.tags.length ? (openBlock(), createElementBlock("div", _hoisted_38, [
430
- _cache[19] || (_cache[19] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "Genres & Tags", -1)),
431
- createElementVNode("div", _hoisted_39, [
423
+ track.value.genre && track.value.genre.length || track.value.tags && track.value.tags.length ? (openBlock(), createElementBlock("div", _hoisted_32, [
424
+ _cache[16] || (_cache[16] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "Genres & Tags", -1)),
425
+ createElementVNode("div", _hoisted_33, [
432
426
  (openBlock(true), createElementBlock(Fragment, null, renderList(track.value.genre, (genre) => {
433
427
  return openBlock(), createElementBlock("span", {
434
428
  key: genre,
435
- class: "tag bg-primary-transp-20 t-primary pd-thin-big radius-small t-small hover-bg-primary-transp-30 cursor-pointer"
436
- }, toDisplayString(genre), 1);
429
+ class: "tag bg-main t-medium pd-thin radius-thin t-small cursor-pointer"
430
+ }, toDisplayString(genre.name || genre), 1);
437
431
  }), 128)),
438
432
  (openBlock(true), createElementBlock(Fragment, null, renderList(track.value.tags, (tag) => {
439
433
  return openBlock(), createElementBlock("span", {
440
434
  key: tag,
441
435
  class: "tag bg-light t-transp pd-thin-big radius-small t-small hover-bg-light cursor-pointer"
442
- }, " #" + toDisplayString(tag), 1);
436
+ }, " #" + toDisplayString(tag.name || tag), 1);
443
437
  }), 128))
444
438
  ])
445
439
  ])) : createCommentVNode("", true),
446
- track.value.description ? (openBlock(), createElementBlock("div", _hoisted_40, [
447
- _cache[20] || (_cache[20] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "About", -1)),
448
- createElementVNode("p", _hoisted_41, toDisplayString(track.value.description), 1)
440
+ track.value.description ? (openBlock(), createElementBlock("div", _hoisted_34, [
441
+ _cache[17] || (_cache[17] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "About", -1)),
442
+ createElementVNode("p", _hoisted_35, toDisplayString(track.value.description), 1)
449
443
  ])) : createCommentVNode("", true),
450
- track.value.lyrics ? (openBlock(), createElementBlock("div", _hoisted_42, [
451
- _cache[21] || (_cache[21] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "Lyrics", -1)),
452
- createElementVNode("pre", _hoisted_43, toDisplayString(track.value.lyrics), 1)
444
+ track.value.lyrics ? (openBlock(), createElementBlock("div", _hoisted_36, [
445
+ _cache[18] || (_cache[18] = createElementVNode("h3", { class: "t-medium mn-b-small" }, "Lyrics", -1)),
446
+ createElementVNode("pre", _hoisted_37, toDisplayString(track.value.lyrics), 1)
453
447
  ])) : createCommentVNode("", true)
454
448
  ])
455
449
  ])) : createCommentVNode("", true),
456
- track.value && relatedTracks.value && relatedTracks.value.length ? (openBlock(), createElementBlock("section", _hoisted_44, [
457
- _cache[22] || (_cache[22] = createElementVNode("h2", { class: "h2 mn-b-medium" }, "Related Tracks", -1)),
458
- createVNode(_sfc_main$a, {
450
+ track.value && relatedTracks.value && relatedTracks.value.length ? (openBlock(), createElementBlock("section", _hoisted_38, [
451
+ _cache[21] || (_cache[21] = createElementVNode("h2", { class: "h2 mn-b-medium" }, "Related Tracks", -1)),
452
+ createVNode(_sfc_main$b, {
459
453
  store: {
460
454
  read: () => new _ctx.Promise((resolve) => resolve(relatedTracks.value || [])),
461
455
  state: { isLoading: false }
@@ -472,9 +466,9 @@ const _sfc_main = {
472
466
  class: "grid cols-2 cols-m-3 cols-l-4 gap-medium"
473
467
  }, {
474
468
  default: withCtx(({ items }) => [
475
- createElementVNode("div", _hoisted_45, [
469
+ createElementVNode("div", _hoisted_39, [
476
470
  (openBlock(true), createElementBlock(Fragment, null, renderList(items, (relatedTrack, index) => {
477
- return openBlock(), createBlock(_sfc_main$b, {
471
+ return openBlock(), createBlock(_sfc_main$c, {
478
472
  key: relatedTrack._id,
479
473
  track: relatedTrack,
480
474
  index,
@@ -487,12 +481,12 @@ const _sfc_main = {
487
481
  _: 1
488
482
  }, 8, ["store", "items"])
489
483
  ])) : createCommentVNode("", true),
490
- showAddToPlaylistModal.value ? (openBlock(), createBlock(_sfc_main$c, {
484
+ showAddToPlaylistModal.value ? (openBlock(), createBlock(_sfc_main$d, {
491
485
  key: 4,
492
486
  onClosePopup: _cache[2] || (_cache[2] = ($event) => showAddToPlaylistModal.value = false),
493
- class: "bg-dark pd-medium w-m-25r radius-medium"
487
+ class: "bg-white pd-medium w-m-25r radius-medium"
494
488
  }, {
495
- default: withCtx(() => _cache[23] || (_cache[23] = [
489
+ default: withCtx(() => _cache[22] || (_cache[22] = [
496
490
  createElementVNode("h3", { class: "h3 mn-b-medium" }, "Add to Playlist", -1),
497
491
  createElementVNode("p", { class: "t-transp" }, "Playlist selector coming soon...", -1)
498
492
  ])),