music-assistant-frontend 2.17.34__py3-none-any.whl → 2.17.63__py3-none-any.whl

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.

Potentially problematic release.


This version of music-assistant-frontend might be problematic. Click here for more details.

Files changed (218) hide show
  1. music_assistant_frontend/assets/About-B64RAAE6.js +1 -0
  2. music_assistant_frontend/assets/About-lesUP2tB.css +1 -0
  3. music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-DQUirFGx.js +1 -0
  4. music_assistant_frontend/assets/AddPlayerGroup-BgGBSvG5.js +1 -0
  5. music_assistant_frontend/assets/AddProviderDetails-BHxivTcE.js +1 -0
  6. music_assistant_frontend/assets/AddProviderDetails-DQeCtnoy.css +1 -0
  7. music_assistant_frontend/assets/AlbumDetails-kSlct8q_.js +1 -0
  8. music_assistant_frontend/assets/ArtistDetails-CNnccN2P.js +1 -0
  9. music_assistant_frontend/assets/AudiobookDetails-BqlM2CS_.js +1 -0
  10. music_assistant_frontend/assets/AvatarImage.vue_vue_type_script_setup_true_lang-DBokkkla.js +1 -0
  11. music_assistant_frontend/assets/BrowseView-D3jhZGn3.css +1 -0
  12. music_assistant_frontend/assets/BrowseView-DuywWVQm.js +1 -0
  13. music_assistant_frontend/assets/Button-B4d5YBNY.js +1 -0
  14. music_assistant_frontend/assets/Button-J-l6bmDl.css +1 -0
  15. music_assistant_frontend/assets/Container-CLe-v6jJ.css +1 -0
  16. music_assistant_frontend/assets/Container-D1pLFqsU.js +1 -0
  17. music_assistant_frontend/assets/Default-CDpSGmTw.js +21 -0
  18. music_assistant_frontend/assets/Default-CQvuEVee.css +1 -0
  19. music_assistant_frontend/assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-DWuSqU5E.js +1 -0
  20. music_assistant_frontend/assets/EditConfig-BPYsIC-A.js +1 -0
  21. music_assistant_frontend/assets/EditConfig-DNe2y34q.css +1 -0
  22. music_assistant_frontend/assets/EditCoreConfig-BgqNrizT.css +1 -0
  23. music_assistant_frontend/assets/EditCoreConfig-BzGxPfuM.js +1 -0
  24. music_assistant_frontend/assets/EditPlayer-2rJC7VuC.css +1 -0
  25. music_assistant_frontend/assets/EditPlayer-D-W-NEU2.js +1 -0
  26. music_assistant_frontend/assets/EditPlayerDsp-BI39n7FA.css +1 -0
  27. music_assistant_frontend/assets/EditPlayerDsp-DLVoEBGu.js +9 -0
  28. music_assistant_frontend/assets/EditProvider-apfmFtz1.css +1 -0
  29. music_assistant_frontend/assets/EditProvider-pX2tzDDV.js +1 -0
  30. music_assistant_frontend/assets/FacetedFilter-CVMvoryN.css +1 -0
  31. music_assistant_frontend/assets/FacetedFilter-CcVgGpca.js +1 -0
  32. music_assistant_frontend/assets/FrontendConfig-CxraPthf.js +1 -0
  33. music_assistant_frontend/assets/FrontendConfig-a-oWNOqu.css +1 -0
  34. music_assistant_frontend/assets/HomeView-BYNgS4DU.js +1 -0
  35. music_assistant_frontend/assets/HomeView-Du3qC7g7.css +1 -0
  36. music_assistant_frontend/assets/ItemsListing-CF6i_DPA.css +1 -0
  37. music_assistant_frontend/assets/ItemsListing-DqCIuDVa.js +1 -0
  38. music_assistant_frontend/assets/LibraryAlbums-BtgPipsX.js +1 -0
  39. music_assistant_frontend/assets/LibraryArtists-BxJH58zj.js +1 -0
  40. music_assistant_frontend/assets/LibraryAudiobooks-CfxtyrvX.js +1 -0
  41. music_assistant_frontend/assets/LibraryPlaylists-DklE3jS2.js +1 -0
  42. music_assistant_frontend/assets/LibraryPodcasts-CCQmiove.js +1 -0
  43. music_assistant_frontend/assets/LibraryRadios-CnFDe94x.js +1 -0
  44. music_assistant_frontend/assets/LibraryTracks-DbeArd47.js +1 -0
  45. music_assistant_frontend/assets/ListItem-By9ygptX.css +1 -0
  46. music_assistant_frontend/assets/ListItem-DccRVadN.js +1 -0
  47. music_assistant_frontend/assets/MediaItemImages-C9Fy6AXA.js +1 -0
  48. music_assistant_frontend/assets/MediaItemImages-CLzhjwGQ.css +1 -0
  49. music_assistant_frontend/assets/MediaItemThumb-CYhBGQYb.js +1 -0
  50. music_assistant_frontend/assets/MediaItemThumb-Dh_kR1LP.css +1 -0
  51. music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-D7lqdhVg.js +1 -0
  52. music_assistant_frontend/assets/PanelviewItemCompact-C1lAmhs4.js +1 -0
  53. music_assistant_frontend/assets/PanelviewItemCompact-DPec3m9e.css +1 -0
  54. music_assistant_frontend/assets/PlayerCard-CvuecWVw.js +1 -0
  55. music_assistant_frontend/assets/PlayerCard-Sb0PieXV.css +1 -0
  56. music_assistant_frontend/assets/Players-CsGKvNru.js +1 -0
  57. music_assistant_frontend/assets/Players-DqQtrPDr.css +1 -0
  58. music_assistant_frontend/assets/PlaylistDetails-BRmplZDX.js +1 -0
  59. music_assistant_frontend/assets/PodcastDetails-CO9edw4i.js +1 -0
  60. music_assistant_frontend/assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-ZsAs7pQL.js +1 -0
  61. music_assistant_frontend/assets/ProviderDetails-DFxC0Z2P.css +1 -0
  62. music_assistant_frontend/assets/ProviderDetails.vue_vue_type_style_index_0_lang-DFoDB6o8.js +8 -0
  63. music_assistant_frontend/assets/ProviderIcon-CbwA83VX.css +1 -0
  64. music_assistant_frontend/assets/ProviderIcon.vue_vue_type_style_index_0_lang-3Xmo3tIn.js +1 -0
  65. music_assistant_frontend/assets/Providers-DoQCRcJD.css +1 -0
  66. music_assistant_frontend/assets/Providers-fnV7LLWJ.js +1 -0
  67. music_assistant_frontend/assets/RadioDetails-CSTUc8uy.js +1 -0
  68. music_assistant_frontend/assets/RemoteAccessSettings-BJcgBwnj.js +1 -0
  69. music_assistant_frontend/assets/RemoteAccessSettings-DzZ6b2JZ.css +1 -0
  70. music_assistant_frontend/assets/Search-CP2B4boW.js +1 -0
  71. music_assistant_frontend/assets/ServerLogs-DT9hKSu9.js +4 -0
  72. music_assistant_frontend/assets/ServerLogs-DqUM0n_B.css +1 -0
  73. music_assistant_frontend/assets/Settings-DTSUeTlH.js +1 -0
  74. music_assistant_frontend/assets/Settings-Dy52XfiN.css +1 -0
  75. music_assistant_frontend/assets/{SystemConfig-BKi5ffMS.css → SystemConfig-CI_tk8f0.css} +1 -1
  76. music_assistant_frontend/assets/SystemConfig-CwdPKWrs.js +1 -0
  77. music_assistant_frontend/assets/Toolbar-BH0q_AuX.js +1 -0
  78. music_assistant_frontend/assets/Toolbar-Dz5VG6wZ.css +1 -0
  79. music_assistant_frontend/assets/TrackDetails-D-roSajh.js +1 -0
  80. music_assistant_frontend/assets/UserManagement-Cjprr5Bf.css +1 -0
  81. music_assistant_frontend/assets/UserManagement-D95vHQbd.js +1 -0
  82. music_assistant_frontend/assets/UserProfile-BT070UWs.js +1 -0
  83. music_assistant_frontend/assets/UserProfile-D9w29jno.css +1 -0
  84. music_assistant_frontend/assets/WidgetRow-CzSfjn6J.js +1 -0
  85. music_assistant_frontend/assets/color-BTziYnFN.js +1 -0
  86. music_assistant_frontend/assets/index-BFLe16Zh.js +1103 -0
  87. music_assistant_frontend/assets/index-BMjInzaQ.js +1 -0
  88. music_assistant_frontend/assets/index-CeixlMcg.css +1 -0
  89. music_assistant_frontend/assets/index-_We2Vr5Z.js +1 -0
  90. music_assistant_frontend/assets/index-vt6UORr-.js +1 -0
  91. music_assistant_frontend/assets/libopus-decoder-elWjCkSR.js +1 -0
  92. music_assistant_frontend/assets/lucide-C2DU1LFb.js +1 -0
  93. music_assistant_frontend/assets/marked-C0Rlrcoy.js +59 -0
  94. music_assistant_frontend/assets/marquee_text_sync-CEgtptD4.js +1 -0
  95. music_assistant_frontend/assets/mdi-DTeawFQ8.css +1 -0
  96. music_assistant_frontend/assets/oggOpusDecoder-FGWA1cRr.js +1 -0
  97. music_assistant_frontend/assets/profile-Cv_y861N.js +23 -0
  98. music_assistant_frontend/assets/qrcode-DSFhiIp2.js +10 -0
  99. music_assistant_frontend/assets/reka-ui-GpbaI08z.js +3 -0
  100. music_assistant_frontend/assets/swiper-DDQ4uUkz.css +1 -0
  101. music_assistant_frontend/assets/swiper-Jy9GbtzK.js +1 -0
  102. music_assistant_frontend/assets/userPreferences-DsKUT7Ha.js +1 -0
  103. music_assistant_frontend/assets/utils-CDN07tui.js +1 -0
  104. music_assistant_frontend/assets/vue-i18n-CX-lsKIo.js +3 -0
  105. music_assistant_frontend/assets/vue-router-BgJK_hRC.js +1 -0
  106. music_assistant_frontend/assets/vuetify-CrxirfrA.js +16 -0
  107. music_assistant_frontend/assets/vuetify-bOa_R6j7.css +1 -0
  108. music_assistant_frontend/assets/vueuse-DIaEWNCo.js +1 -0
  109. music_assistant_frontend/index.html +14 -2
  110. music_assistant_frontend/sw.js +2 -2
  111. {music_assistant_frontend-2.17.34.dist-info → music_assistant_frontend-2.17.63.dist-info}/METADATA +1 -1
  112. music_assistant_frontend-2.17.63.dist-info/RECORD +159 -0
  113. music_assistant_frontend/assets/About-BkJaoSR3.js +0 -1
  114. music_assistant_frontend/assets/About-BlM2bNNU.css +0 -1
  115. music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-C1nm8oQh.js +0 -1
  116. music_assistant_frontend/assets/AddPlayerGroup-B3NNUL-h.js +0 -1
  117. music_assistant_frontend/assets/AddProviderDetails-BtrgTFts.js +0 -1
  118. music_assistant_frontend/assets/AlbumDetails-baXoKXD6.js +0 -1
  119. music_assistant_frontend/assets/ArtistDetails-Cv9mXN_k.js +0 -1
  120. music_assistant_frontend/assets/AudiobookDetails-7rFtcITw.js +0 -1
  121. music_assistant_frontend/assets/BrowseView-CYbwlBvT.css +0 -1
  122. music_assistant_frontend/assets/BrowseView-tAHBas4g.js +0 -1
  123. music_assistant_frontend/assets/Button-BcX_QSum.js +0 -1
  124. music_assistant_frontend/assets/Button-D25yJYMO.css +0 -1
  125. music_assistant_frontend/assets/Container-Bc5cvdS8.js +0 -1
  126. music_assistant_frontend/assets/Container-Df7sl-nn.css +0 -1
  127. music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-BHmJvDQD.js +0 -1
  128. music_assistant_frontend/assets/Default-BFKmuyAJ.css +0 -1
  129. music_assistant_frontend/assets/Default-DdviBUvO.js +0 -21
  130. music_assistant_frontend/assets/EditConfig-Bwi8QH5_.js +0 -2
  131. music_assistant_frontend/assets/EditConfig-UwCqmE_b.css +0 -1
  132. music_assistant_frontend/assets/EditCoreConfig-DhX-oxAE.css +0 -1
  133. music_assistant_frontend/assets/EditCoreConfig-Dlub9slv.js +0 -1
  134. music_assistant_frontend/assets/EditPlayer-CBFrbjNV.js +0 -1
  135. music_assistant_frontend/assets/EditPlayer-D1wKcKqn.css +0 -1
  136. music_assistant_frontend/assets/EditPlayerDsp-DTXNvLKR.js +0 -9
  137. music_assistant_frontend/assets/EditPlayerDsp-aJcSg6U0.css +0 -1
  138. music_assistant_frontend/assets/EditProvider-CHnmNs-E.js +0 -1
  139. music_assistant_frontend/assets/EditProvider-CM1P0zG2.css +0 -1
  140. music_assistant_frontend/assets/FrontendConfig-B3J0qsPa.js +0 -1
  141. music_assistant_frontend/assets/HomeView-BprizvGE.css +0 -1
  142. music_assistant_frontend/assets/HomeView-CfJ6PURe.js +0 -1
  143. music_assistant_frontend/assets/ItemsListing-4Tzirx3k.js +0 -1
  144. music_assistant_frontend/assets/ItemsListing-DBRgGdb9.css +0 -1
  145. music_assistant_frontend/assets/LibraryAlbums-B-uXhDO3.js +0 -1
  146. music_assistant_frontend/assets/LibraryArtists-Cm1JjbAl.js +0 -1
  147. music_assistant_frontend/assets/LibraryAudiobooks-BhxjD53T.js +0 -1
  148. music_assistant_frontend/assets/LibraryPlaylists-B854CAZn.js +0 -1
  149. music_assistant_frontend/assets/LibraryPodcasts-RhDZe6jX.js +0 -1
  150. music_assistant_frontend/assets/LibraryRadios-DL5ap70-.js +0 -1
  151. music_assistant_frontend/assets/LibraryTracks-9TVfLfIN.js +0 -1
  152. music_assistant_frontend/assets/ListItem-CZjh-Z2L.css +0 -1
  153. music_assistant_frontend/assets/ListItem-Cz0zK7Ay.js +0 -1
  154. music_assistant_frontend/assets/MediaItemImages-Dz3pW0B9.js +0 -1
  155. music_assistant_frontend/assets/MediaItemImages-EU1ndGHN.css +0 -1
  156. music_assistant_frontend/assets/MediaItemThumb-C--YJJ5Y.js +0 -1
  157. music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-BZUcSWaz.js +0 -1
  158. music_assistant_frontend/assets/PanelviewItemCompact-BFofUlbn.js +0 -1
  159. music_assistant_frontend/assets/PanelviewItemCompact-BzbA-hBb.css +0 -1
  160. music_assistant_frontend/assets/PlayerCard-BSr8tpdq.js +0 -1
  161. music_assistant_frontend/assets/PlayerCard-C-JW0iD0.css +0 -1
  162. music_assistant_frontend/assets/Players-BKvWHX7u.js +0 -1
  163. music_assistant_frontend/assets/Players-BpLyas-U.css +0 -1
  164. music_assistant_frontend/assets/PlaylistDetails-DwPf38WL.js +0 -1
  165. music_assistant_frontend/assets/PodcastDetails-BkL3RLSo.js +0 -1
  166. music_assistant_frontend/assets/ProviderDetails-sWAPBlBe.css +0 -1
  167. music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-Boj6o7qU.js +0 -8
  168. music_assistant_frontend/assets/Providers-7gRu2tNl.js +0 -1
  169. music_assistant_frontend/assets/Providers-CZ5m317K.css +0 -1
  170. music_assistant_frontend/assets/RadioDetails-B5bulWqe.js +0 -1
  171. music_assistant_frontend/assets/RemoteAccessSettings-Bf5s7Cwr.css +0 -1
  172. music_assistant_frontend/assets/RemoteAccessSettings-CFIeLSWz.js +0 -1
  173. music_assistant_frontend/assets/Search-BAjKkIIQ.js +0 -1
  174. music_assistant_frontend/assets/ServerLogs-CCtjIDNl.js +0 -4
  175. music_assistant_frontend/assets/ServerLogs-D16I7ozL.css +0 -1
  176. music_assistant_frontend/assets/Settings-BE2vTu_e.css +0 -1
  177. music_assistant_frontend/assets/Settings-C8IEjo0h.js +0 -1
  178. music_assistant_frontend/assets/SystemConfig-DgVHrDLs.js +0 -1
  179. music_assistant_frontend/assets/Toolbar-BhPGsr4E.js +0 -1
  180. music_assistant_frontend/assets/Toolbar-DzRHLZVV.css +0 -1
  181. music_assistant_frontend/assets/TrackDetails-CN0utK-p.js +0 -1
  182. music_assistant_frontend/assets/UserManagement-BXsqKl-G.css +0 -1
  183. music_assistant_frontend/assets/UserManagement-XUiOYKeu.js +0 -1
  184. music_assistant_frontend/assets/UserProfile-2WJSaYoR.css +0 -1
  185. music_assistant_frontend/assets/UserProfile-BJFh70ps.js +0 -1
  186. music_assistant_frontend/assets/VAlert-BDbtqfCV.css +0 -1
  187. music_assistant_frontend/assets/VAlert-C8Oto4eV.js +0 -1
  188. music_assistant_frontend/assets/VCheckbox-CgwahLqh.js +0 -1
  189. music_assistant_frontend/assets/VCheckbox-CvH8ekHL.css +0 -1
  190. music_assistant_frontend/assets/VCheckboxBtn-orONEqTE.js +0 -1
  191. music_assistant_frontend/assets/VDialog-DwTSAOeg.css +0 -1
  192. music_assistant_frontend/assets/VDialog-OmJrmVI_.js +0 -1
  193. music_assistant_frontend/assets/VExpansionPanels-B8KjM0Qi.css +0 -1
  194. music_assistant_frontend/assets/VExpansionPanels-D8F4VK-K.js +0 -1
  195. music_assistant_frontend/assets/VForm-CRBkgkz1.js +0 -1
  196. music_assistant_frontend/assets/VInfiniteScroll-B-XMauN8.css +0 -1
  197. music_assistant_frontend/assets/VInfiniteScroll-C839Qj3G.js +0 -1
  198. music_assistant_frontend/assets/VSelect-DMb2DNZp.css +0 -1
  199. music_assistant_frontend/assets/VSelect-vsgYa-Ce.js +0 -1
  200. music_assistant_frontend/assets/VSelectionControl-C9uJkKHo.js +0 -1
  201. music_assistant_frontend/assets/VSelectionControl-CIeJsqfW.css +0 -1
  202. music_assistant_frontend/assets/VSlider-BxXcuhLj.js +0 -1
  203. music_assistant_frontend/assets/VSlider-DlBvQp-0.css +0 -1
  204. music_assistant_frontend/assets/VSwitch-C4Td5_x0.js +0 -1
  205. music_assistant_frontend/assets/VSwitch-Mm7Rd7At.css +0 -1
  206. music_assistant_frontend/assets/VToolbar-BTrAkkB7.js +0 -1
  207. music_assistant_frontend/assets/VToolbar-D1tRNhN6.css +0 -1
  208. music_assistant_frontend/assets/VVirtualScroll-BNcY_ygg.css +0 -1
  209. music_assistant_frontend/assets/VVirtualScroll-YsHPZNGu.js +0 -1
  210. music_assistant_frontend/assets/WidgetRow-lS8eZGg2.js +0 -1
  211. music_assistant_frontend/assets/index-BYK1uYGl.css +0 -1
  212. music_assistant_frontend/assets/index-GQ3lWXrm.js +0 -1047
  213. music_assistant_frontend/assets/marquee_text_sync-a11Dvzhd.js +0 -1
  214. music_assistant_frontend/assets/userPreferences-CU3N6m4Z.js +0 -1
  215. music_assistant_frontend-2.17.34.dist-info/RECORD +0 -154
  216. {music_assistant_frontend-2.17.34.dist-info → music_assistant_frontend-2.17.63.dist-info}/WHEEL +0 -0
  217. {music_assistant_frontend-2.17.34.dist-info → music_assistant_frontend-2.17.63.dist-info}/licenses/LICENSE +0 -0
  218. {music_assistant_frontend-2.17.34.dist-info → music_assistant_frontend-2.17.63.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ import{C as w}from"./Container-D1pLFqsU.js";import{c as d,s as c,_ as L}from"./index-BFLe16Zh.js";import{q as h,d as i,e as n,r as m,b as v,c as o,W as r,o as I,a as _,_ as p}from"./vuetify-CrxirfrA.js";import{d as V,c as k,o as A,D as b,e as g,E as s,H as e,$ as l,a1 as t,I as y,f,u}from"./lucide-C2DU1LFb.js";import"./index-kQIztB-E.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vue-router-BgJK_hRC.js";import"./vue-i18n-CX-lsKIo.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";const S=""+new URL("open-home-foundation-logo-C7bc6Uqr.svg",import.meta.url).href,T={class:"info-value"},U={class:"info-value"},N={class:"foundation-text text-subtitle-1 mb-4"},q={class:"foundation-logo"},D=["src"],R={class:"info-value"},B={class:"info-value"},E={class:"info-value"},H={class:"info-value"},P={class:"info-value"},F=V({__name:"About",setup(W){const $=k(()=>"https://github.com/music-assistant/server/releases"),z=k(()=>{const a=d.serverInfo.value?.server_version||"";return a.includes("beta")||a.startsWith("0.")?"https://beta.music-assistant.io":"https://music-assistant.io"}),C=k(()=>`${d.serverInfo.value?.base_url||""}/api-docs`);return A(async()=>{c.libraryArtistsCount=await d.getLibraryArtistsCount(),c.libraryAlbumsCount=await d.getLibraryAlbumsCount(),c.libraryTracksCount=await d.getLibraryTracksCount(),c.libraryPlaylistsCount=await d.getLibraryPlaylistsCount(),c.libraryRadiosCount=await d.getLibraryRadiosCount()}),(a,M)=>(g(),b(w,null,{default:s(()=>[e(_,{class:"mb-4",elevation:"0",variant:"flat"},{default:s(()=>[e(h,{class:"text-subtitle-1 font-weight-bold py-3"},{default:s(()=>[e(i,{icon:"mdi-information-outline",class:"mr-2"}),l(" "+t(a.$t("settings.version_info")),1)]),_:1}),e(n),e(m,{class:"pa-0"},{default:s(()=>[e(v,{class:"py-0","bg-color":"transparent"},{default:s(()=>[e(o,{class:"info-list-item"},{append:s(()=>[f("span",T,t(u(d).serverInfo.value?.server_version),1)]),default:s(()=>[e(r,{class:"info-label"},{default:s(()=>[l(t(a.$t("settings.server_version")),1)]),_:1})]),_:1}),u(d).serverInfo.value?.homeassistant_addon?y("",!0):(g(),b(n,{key:0})),u(d).serverInfo.value?.homeassistant_addon?y("",!0):(g(),b(o,{key:1,class:"info-list-item"},{append:s(()=>[f("span",U,t(u(d).serverInfo.value?.base_url),1)]),default:s(()=>[e(r,{class:"info-label"},{default:s(()=>[l(t(a.$t("settings.server_base_url")),1)]),_:1})]),_:1})),e(n),e(o,{class:"info-list-item"},{append:s(()=>[e(I,{color:u(d).serverInfo.value?.homeassistant_addon?"success":"default",size:"small",variant:"flat"},{default:s(()=>[e(i,{icon:u(d).serverInfo.value?.homeassistant_addon?"mdi-check":"mdi-close",start:""},null,8,["icon"]),l(" "+t(u(d).serverInfo.value?.homeassistant_addon?a.$t("yes"):a.$t("no")),1)]),_:1},8,["color"])]),default:s(()=>[e(r,{class:"info-label"},{default:s(()=>[l(t(a.$t("settings.server_as_addon")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(_,{href:"https://www.openhomefoundation.org/",target:"_blank",class:"foundation-card mb-4",elevation:"0",variant:"flat"},{default:s(()=>[e(m,{class:"text-center py-6"},{default:s(()=>[f("div",N,t(a.$t("settings.proud_part_of")),1),f("div",q,[f("img",{src:u(S),alt:"Open Home Foundation",class:"foundation-img"},null,8,D)])]),_:1})]),_:1}),e(_,{class:"mb-4",elevation:"0",variant:"flat"},{default:s(()=>[e(h,{class:"text-subtitle-1 font-weight-bold py-3"},{default:s(()=>[e(i,{icon:"mdi-music-box-multiple",class:"mr-2"}),l(" "+t(a.$t("settings.library_stats")),1)]),_:1}),e(n),e(m,{class:"pa-0"},{default:s(()=>[e(v,{class:"py-0","bg-color":"transparent"},{default:s(()=>[e(o,{class:"info-list-item"},{append:s(()=>[f("span",R,t((u(c).libraryArtistsCount||0).toLocaleString()),1)]),default:s(()=>[e(r,{class:"info-label"},{default:s(()=>[l(t(a.$t("settings.artists_in_library")),1)]),_:1})]),_:1}),e(n),e(o,{class:"info-list-item"},{append:s(()=>[f("span",B,t((u(c).libraryAlbumsCount||0).toLocaleString()),1)]),default:s(()=>[e(r,{class:"info-label"},{default:s(()=>[l(t(a.$t("settings.albums_in_library")),1)]),_:1})]),_:1}),e(n),e(o,{class:"info-list-item"},{append:s(()=>[f("span",E,t((u(c).libraryTracksCount||0).toLocaleString()),1)]),default:s(()=>[e(r,{class:"info-label"},{default:s(()=>[l(t(a.$t("settings.tracks_in_library")),1)]),_:1})]),_:1}),e(n),e(o,{class:"info-list-item"},{append:s(()=>[f("span",H,t((u(c).libraryPlaylistsCount||0).toLocaleString()),1)]),default:s(()=>[e(r,{class:"info-label"},{default:s(()=>[l(t(a.$t("settings.playlists_in_library")),1)]),_:1})]),_:1}),e(n),e(o,{class:"info-list-item"},{append:s(()=>[f("span",P,t((u(c).libraryRadiosCount||0).toLocaleString()),1)]),default:s(()=>[e(r,{class:"info-label"},{default:s(()=>[l(t(a.$t("settings.radio_in_library")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(_,{class:"mb-4",elevation:"0",variant:"flat"},{default:s(()=>[e(h,{class:"text-subtitle-1 font-weight-bold py-3"},{default:s(()=>[e(i,{icon:"mdi-link-variant",class:"mr-2"}),l(" "+t(a.$t("settings.links")),1)]),_:1}),e(n),e(m,{class:"pa-0"},{default:s(()=>[e(v,{class:"py-0","bg-color":"transparent"},{default:s(()=>[e(o,{href:$.value,target:"_blank",link:"",class:"link-item"},{prepend:s(()=>[e(p,{color:"blue-grey-lighten-4",size:"36"},{default:s(()=>[e(i,{icon:"mdi-text-box-outline",color:"blue-grey-darken-2",size:"small"})]),_:1})]),append:s(()=>[e(i,{icon:"mdi-open-in-new",size:"small"})]),default:s(()=>[e(r,null,{default:s(()=>[l(t(a.$t("settings.changelog")),1)]),_:1})]),_:1},8,["href"]),e(n),e(o,{href:z.value,target:"_blank",link:"",class:"link-item"},{prepend:s(()=>[e(p,{color:"indigo-lighten-4",size:"36"},{default:s(()=>[e(i,{icon:"mdi-bookshelf",color:"indigo-darken-2",size:"small"})]),_:1})]),append:s(()=>[e(i,{icon:"mdi-open-in-new",size:"small"})]),default:s(()=>[e(r,null,{default:s(()=>[l(t(a.$t("settings.documentation")),1)]),_:1})]),_:1},8,["href"]),e(n),C.value?(g(),b(o,{key:0,href:C.value,target:"_blank",link:"",class:"link-item"},{prepend:s(()=>[e(p,{color:"teal-lighten-4",size:"36"},{default:s(()=>[e(i,{icon:"mdi-api",color:"teal-darken-2",size:"small"})]),_:1})]),append:s(()=>[e(i,{icon:"mdi-open-in-new",size:"small"})]),default:s(()=>[e(r,null,{default:s(()=>[l(t(a.$t("settings.api_docs")),1)]),_:1})]),_:1},8,["href"])):y("",!0),e(n),e(o,{href:"https://github.com/orgs/music-assistant/discussions/categories/feature-requests-and-ideas",target:"_blank",link:"",class:"link-item"},{prepend:s(()=>[e(p,{color:"amber-lighten-4",size:"36"},{default:s(()=>[e(i,{icon:"mdi-lightbulb-outline",color:"amber-darken-3",size:"small"})]),_:1})]),append:s(()=>[e(i,{icon:"mdi-open-in-new",size:"small"})]),default:s(()=>[e(r,null,{default:s(()=>[l(t(a.$t("settings.feature_requests")),1)]),_:1})]),_:1}),e(n),e(o,{href:"https://github.com/music-assistant/support",target:"_blank",link:"",class:"link-item"},{prepend:s(()=>[e(p,{color:"red-lighten-4",size:"36"},{default:s(()=>[e(i,{icon:"mdi-bug",color:"red-darken-2",size:"small"})]),_:1})]),append:s(()=>[e(i,{icon:"mdi-open-in-new",size:"small"})]),default:s(()=>[e(r,null,{default:s(()=>[l(t(a.$t("settings.bug_reports")),1)]),_:1})]),_:1}),e(n),e(o,{href:"https://github.com/orgs/music-assistant/discussions",target:"_blank",link:"",class:"link-item"},{prepend:s(()=>[e(p,{color:"purple-lighten-4",size:"36"},{default:s(()=>[e(i,{icon:"mdi-forum",color:"purple-darken-2",size:"small"})]),_:1})]),append:s(()=>[e(i,{icon:"mdi-open-in-new",size:"small"})]),default:s(()=>[e(r,null,{default:s(()=>[l(t(a.$t("settings.discussion_forums")),1)]),_:1})]),_:1}),e(n),e(o,{href:"https://github.com/music-assistant/server/blob/dev/LICENSE",target:"_blank",link:"",class:"link-item"},{prepend:s(()=>[e(p,{color:"green-lighten-4",size:"36"},{default:s(()=>[e(i,{icon:"mdi-license",color:"green-darken-2",size:"small"})]),_:1})]),append:s(()=>[e(i,{icon:"mdi-open-in-new",size:"small"})]),default:s(()=>[e(r,null,{default:s(()=>[l(t(a.$t("settings.license")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}}),ae=L(F,[["__scopeId","data-v-763864d2"]]);export{ae as default};
@@ -0,0 +1 @@
1
+ .font-monospace[data-v-763864d2]{font-family:monospace;font-size:.9em}.info-list-item[data-v-763864d2]{min-height:48px}.info-label[data-v-763864d2]{font-size:.875rem;font-weight:500;color:rgba(var(--v-theme-on-surface),.7)}.info-value[data-v-763864d2]{font-size:.875rem;color:rgba(var(--v-theme-on-surface),.9);text-align:right;word-break:break-all}@media(max-width:600px){.info-list-item[data-v-763864d2] .v-list-item__content{display:block!important}.info-list-item[data-v-763864d2] .v-list-item__append{margin-top:4px;margin-left:0!important;align-self:flex-start!important}.info-value[data-v-763864d2]{text-align:left}}.foundation-card[data-v-763864d2]{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.foundation-card[data-v-763864d2]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0003!important}.foundation-logo[data-v-763864d2]{display:flex;justify-content:center;align-items:center;padding:0 24px}.foundation-img[data-v-763864d2]{max-width:400px;width:100%;height:auto;opacity:.9;transition:opacity .2s ease}.foundation-card:hover .foundation-img[data-v-763864d2]{opacity:1}@media(prefers-color-scheme:dark){[data-v-763864d2] .v-avatar{opacity:.9}}
@@ -0,0 +1 @@
1
+ import{M as B,c as v,I as D,s as M}from"./index-BFLe16Zh.js";import{T as C}from"./Toolbar-BH0q_AuX.js";import{d as I,aS as U,aT as A,r,w as b,D as h,e as w,E as m,H as t,f as g,$ as y,a1 as c}from"./lucide-C2DU1LFb.js";import{a as N,e as S,m as f,Y as H,Z as L,n as T,p as R}from"./vuetify-CrxirfrA.js";const E={style:{padding:"15px"}},Y=I({__name:"AddManualLink",props:U({type:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(p){const d=A(p,"modelValue"),$=p,u=r(""),n=r(""),s=r(""),i=r(!1),l=r();b(()=>d.value,e=>{e!=null&&(M.dialogActive=e),e==!1&&(u.value="",n.value="",s.value="",l.value=void 0)},{immediate:!0}),b(()=>l.value,e=>{if(e){n.value||(n.value=e.name);for(const a of e.metadata.images||[])if(a.type=="thumb"){s.value=a.path;break}}});const V=()=>{!u.value||!["http","rtsp"].some(e=>u.value.startsWith(e))||(i.value=!0,$.type==B.RADIO?v.getRadio(u.value,"builtin").then(e=>{l.value=e}).catch(e=>{console.error(e),l.value=void 0}).finally(()=>{i.value=!1}):v.getTrack(u.value,"builtin").then(e=>{l.value=e}).catch(e=>{console.error(e),l.value=void 0}).finally(()=>{i.value=!1}))},k=function(){V(),l.value&&(l.value.name=n.value||l.value.name,delete l.value.sort_name,s.value&&(l.value.metadata.images=[{type:D.THUMB,path:s.value,provider:"builtin",remotely_accessible:!0}]),v.addItemToLibrary(l.value,!0).then(()=>{d.value=!1}))};return(e,a)=>(w(),h(R,{modelValue:d.value,"onUpdate:modelValue":a[4]||(a[4]=o=>d.value=o),transition:"dialog-bottom-transition"},{default:m(()=>[t(N,null,{default:m(()=>[t(C,{icon:"mdi-playlist-plus",title:e.$t("add_url_item")},null,8,["title"]),t(S),a[5]||(a[5]=g("br",null,null,-1)),g("div",E,[t(f,{modelValue:u.value,"onUpdate:modelValue":a[0]||(a[0]=o=>u.value=o),variant:"outlined",label:e.$t("enter_url"),disabled:i.value,onBlur:V},null,8,["modelValue","label","disabled"]),t(f,{modelValue:n.value,"onUpdate:modelValue":a[1]||(a[1]=o=>n.value=o),variant:"outlined",label:e.$t("enter_name"),disabled:i.value},null,8,["modelValue","label","disabled"]),t(f,{modelValue:s.value,"onUpdate:modelValue":a[2]||(a[2]=o=>s.value=o),variant:"outlined",label:e.$t("image_url"),disabled:i.value},null,8,["modelValue","label","disabled"]),t(H,null,{default:m(()=>[t(L),t(T,{variant:"outlined",onClick:a[3]||(a[3]=o=>d.value=!1)},{default:m(()=>[y(c(e.$t("cancel")),1)]),_:1}),t(T,{variant:"flat",color:"primary",disabled:i.value,onClick:k},{default:m(()=>[y(c(e.$t("save")),1)]),_:1},8,["disabled"])]),_:1})])]),_:1})]),_:1},8,["modelValue"]))}});export{Y as _};
@@ -0,0 +1 @@
1
+ import{u as B}from"./vue-router-BgJK_hRC.js";import{c as g,k as S,C as T}from"./index-BFLe16Zh.js";import{q as U,E as V,e as D,aa as L,m as M,a8 as N,a6 as _,n as C,r as E}from"./vuetify-CrxirfrA.js";import{d as G,r as u,c,b as q,e as d,H as t,E as r,f as s,D as f,$ as m,a1 as p,u as k,I as F}from"./lucide-C2DU1LFb.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vue-i18n-CX-lsKIo.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";const O={style:{"margin-left":"-5px","margin-right":"-5px"}},Z=G({__name:"AddPlayerGroup",props:{provider:{}},setup(w){const $=B(),v=u(""),n=u([]),o=u(!0),b=u(!1),y=w,i=c(()=>g.getProvider(y.provider)),H=c(()=>Object.values(g.players).filter(l=>l.available&&l.type!=S.GROUP&&(l.provider==i.value?.instance_id||y.provider==="universal_group"))),P=async function(){g.createPlayerGroup(y.provider,v.value,n.value,o.value),$.push({name:"playersettings"})};return(l,e)=>(d(),q("section",null,[t(E,null,{default:r(()=>[s("div",O,[t(U,null,{default:r(()=>[m(p(l.$t("settings.add_group_player")),1)]),_:1}),i.value?.domain==="universal_group"?(d(),f(V,{key:0,style:{"white-space":"break-spaces"},innerHTML:k(T)(l.$t("settings.add_group_player_desc_universal"))},null,8,["innerHTML"])):(d(),f(V,{key:1,style:{"white-space":"break-spaces"},innerHTML:k(T)(l.$t("settings.add_group_player_desc",[i.value?.name]))},null,8,["innerHTML"])),e[6]||(e[6]=s("br",null,null,-1)),t(D),e[7]||(e[7]=s("br",null,null,-1)),e[8]||(e[8]=s("br",null,null,-1)),t(L,{ref:"form",modelValue:b.value,"onUpdate:modelValue":e[3]||(e[3]=a=>b.value=a),style:{"margin-right":"10px"}},{default:r(()=>[t(M,{modelValue:v.value,"onUpdate:modelValue":e[0]||(e[0]=a=>v.value=a),label:l.$t("settings.player_name"),variant:"outlined",clearable:"",required:"",rules:[a=>a.length>0||l.$t("settings.invalid_input")]},null,8,["modelValue","label","rules"]),t(N,{modelValue:n.value,"onUpdate:modelValue":e[1]||(e[1]=a=>n.value=a),clearable:"",multiple:"",items:H.value,"item-title":"display_name","item-value":"player_id",label:l.$t("settings.group_members")},null,8,["modelValue","items","label"]),t(_,{modelValue:o.value,"onUpdate:modelValue":e[2]||(e[2]=a=>o.value=a),color:"primary",label:l.$t("settings.dynamic_members.label")},null,8,["modelValue","label"]),i.value?.domain!=="universal_group"?(d(),f(V,{key:0,style:{"white-space":"break-spaces","padding-left":"0","margin-top":"-25px","margin-bottom":"35px"}},{default:r(()=>[m(p(l.$t("settings.dynamic_members.description")),1)]),_:1})):F("",!0),e[5]||(e[5]=s("br",null,null,-1)),t(C,{block:"",color:"primary",disabled:!b.value||n.value.length==0&&!o.value,onClick:P},{default:r(()=>[m(p(l.$t("settings.save")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),e[9]||(e[9]=s("br",null,null,-1)),t(C,{block:"",onClick:e[4]||(e[4]=a=>k($).back())},{default:r(()=>[m(p(l.$t("close")),1)]),_:1})])]),_:1})]))}});export{Z as default};
@@ -0,0 +1 @@
1
+ import{n as $}from"./index.browser-OxPLOBIU.js";import{u as I}from"./vue-router-BgJK_hRC.js";import{c as s,E as L,C as b,_ as N}from"./index-BFLe16Zh.js";import{E as P}from"./EditConfig-BPYsIC-A.js";import{_ as S}from"./ProviderIcon.vue_vue_type_style_index_0_lang-3Xmo3tIn.js";import{a as w,q as x,E as j,Y as D,n as U,l as z,L as O}from"./vuetify-CrxirfrA.js";import{d as q,r as _,o as R,a0 as Y,w as F,b as h,e as u,I as y,H as a,u as n,E as d,f as c,a1 as C,D as M,$ as k}from"./lucide-C2DU1LFb.js";import{u as V}from"./vue-i18n-CX-lsKIo.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";import"./index-_We2Vr5Z.js";import"./utils-CDN07tui.js";import"./reka-ui-GpbaI08z.js";const G={class:"add-provider-details"},J={key:0},K={class:"header-content"},Q={class:"header-icon"},W={class:"header-info"},X={class:"header-title"},Z={class:"header-description"},ee=["innerHTML"],te=["innerHTML"],oe={id:"auth",href:"",target:"_blank"},se=q({__name:"AddProviderDetails",props:{domain:{}},setup(i){const A=I(),m=_([]),v=$(11),l=_(!1),f=_(!1),p=i;R(()=>{const o=s.subscribe(L.AUTH_SESSION,e=>{if(e.object_id!==v)return;const t=e.data;f.value=!0,window.setTimeout(()=>{const r=document.getElementById("auth");r.setAttribute("href",t),r.click()},100)});Y(o)}),F(()=>p.domain,async o=>{o&&(m.value=await s.getProviderConfigEntries(p.domain,void 0,void 0,{session_id:v}))},{immediate:!0});const E=async function(o){l.value=!0,s.saveProviderConfig(p.domain,o).then(()=>{A.push({name:"providersettings"})}).catch(e=>{alert(e)}).finally(()=>{l.value=!1,f.value=!1})},T=async function(o,e){l.value=!0;for(const t of m.value)t.value!==void 0&&e[t.key]==null&&(e[t.key]=t.value);e.session_id=v,s.getProviderConfigEntries(p.domain,void 0,o,e).then(t=>{m.value=t}).catch(t=>{alert(t)}).finally(()=>{l.value=!1,f.value=!1})},B=function(o){const e=[],{t}=V();for(const r of o)if(r.includes("@")){let g=r.replace("@","");g=="music-assistant"&&(g="the Music Assistant team"),e.push(`[${g}](https://github.com/${r.replace("@","")})`)}else e.push(r);return`**${t("settings.provider_codeowners")}**: `+e.join(" / ")},H=function(o){const{t:e}=V();return`**${e("settings.provider_credits")}**: `+o.join(" / ")};return(o,e)=>(u(),h("section",G,[n(s).providerManifests[i.domain]?(u(),h("div",J,[a(w,{class:"header-card mb-4",elevation:"0"},{default:d(()=>[c("div",K,[c("div",Q,[a(S,{domain:i.domain,size:48},null,8,["domain"])]),c("div",W,[c("h2",X,C(o.$t("settings.setup_provider",[n(s).providerManifests[i.domain].name])),1),c("p",Z,C(n(s).providerManifests[i.domain].description),1),n(s).providerManifests[i.domain].codeowners.length?(u(),h("div",{key:0,class:"header-authors",innerHTML:n(b)(B(n(s).providerManifests[i.domain].codeowners))},null,8,ee)):y("",!0),n(s).providerManifests[i.domain].credits.length?(u(),h("div",{key:1,class:"header-authors",innerHTML:n(b)(H(n(s).providerManifests[i.domain].credits))},null,8,te)):y("",!0)])])]),_:1})])):y("",!0),a(P,{"config-entries":m.value,disabled:!1,onSubmit:E,onAction:T},null,8,["config-entries"]),a(O,{modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=t=>l.value=t),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:d(()=>[f.value?(u(),M(w,{key:0,style:{"background-color":"white"}},{default:d(()=>[a(x,null,{default:d(()=>[...e[1]||(e[1]=[k("Authenticating...",-1)])]),_:1}),a(j,null,{default:d(()=>[...e[2]||(e[2]=[k("A new tab/popup should be opened where you can authenticate",-1)])]),_:1}),a(D,null,{default:d(()=>[c("a",oe,[a(U,null,{default:d(()=>[...e[3]||(e[3]=[k("Click here if the popup did not open",-1)])]),_:1})])]),_:1})]),_:1})):(u(),M(z,{key:1,indeterminate:"",size:"64",color:"primary"}))]),_:1},8,["modelValue"])]))}}),be=N(se,[["__scopeId","data-v-0a2b0962"]]);export{be as default};
@@ -0,0 +1 @@
1
+ .add-provider-details[data-v-0a2b0962]{padding:16px}.header-card[data-v-0a2b0962]{border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:12px}.header-content[data-v-0a2b0962]{display:flex;gap:20px;padding:24px}.header-icon[data-v-0a2b0962]{flex-shrink:0}.header-info[data-v-0a2b0962]{flex:1;min-width:0}.header-title[data-v-0a2b0962]{font-size:1.25rem;font-weight:600;margin:0 0 8px;color:rgb(var(--v-theme-on-surface))}.header-description[data-v-0a2b0962]{font-size:.875rem;color:rgba(var(--v-theme-on-surface),.7);margin:0 0 12px;line-height:1.5}.header-authors[data-v-0a2b0962]{font-size:.813rem;color:rgba(var(--v-theme-on-surface),.6)}.header-authors[data-v-0a2b0962] a{color:rgb(var(--v-theme-primary));text-decoration:none}.header-authors[data-v-0a2b0962] a:hover{text-decoration:underline}@media(max-width:600px){.header-content[data-v-0a2b0962]{flex-direction:column;align-items:flex-start}}
@@ -0,0 +1 @@
1
+ import{I,_ as w}from"./ProviderDetails.vue_vue_type_style_index_0_lang-DFoDB6o8.js";import{I as v}from"./ItemsListing-DqCIuDVa.js";import{M as g}from"./MediaItemImages-C9Fy6AXA.js";import{c as l,E as _}from"./index-BFLe16Zh.js";import{d as h,r as f,w as A,o as D,a0 as V,b as E,e as s,H as M,D as u,I as m,f as n,u as B}from"./lucide-C2DU1LFb.js";import"./Toolbar-BH0q_AuX.js";import"./vuetify-CrxirfrA.js";import"./marquee_text_sync-CEgtptD4.js";import"./vue-router-BgJK_hRC.js";import"./MediaItemThumb-CYhBGQYb.js";import"./ProviderIcon.vue_vue_type_style_index_0_lang-3Xmo3tIn.js";import"./Container-D1pLFqsU.js";import"./index-kQIztB-E.js";import"./ListItem-DccRVadN.js";import"./Button-B4d5YBNY.js";import"./vue-i18n-CX-lsKIo.js";import"./utils-CDN07tui.js";import"./userPreferences-DsKUT7Ha.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-D7lqdhVg.js";import"./PanelviewItemCompact-C1lAmhs4.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";const re=h({__name:"AlbumDetails",props:{itemId:{},provider:{}},setup(d){const a=d,e=f(),o=f(!1),b=async function(){o.value=!0,e.value=await l.getAlbum(a.itemId,a.provider),o.value=!1};A(()=>a.itemId,r=>{r&&b()},{immediate:!0}),D(()=>{const r=l.subscribe(_.MEDIA_ITEM_UPDATED,t=>{const i=t.data;if(e.value?.uri==i.uri)o.value=!0,e.value=i,o.value=!1;else if("provider_mappings"in i){for(const p of i.provider_mappings)if(p.item_id==a.itemId&&[p.provider_instance,p.provider_domain].includes(a.provider)){o.value=!0,e.value=i,o.value=!1;break}}});V(r)});const c=async function(r){return await l.getAlbumTracks(a.itemId,a.provider,r.libraryOnly)},y=async function(r){return await l.getAlbumVersions(e.value.item_id,e.value.provider)},k=async function(){e.value&&(e.value=await l.sendCommand("music/albums/update",{item_id:e.value.item_id,update:e.value,overwrite:!0}))};return(r,t)=>(s(),E("section",null,[M(I,{item:e.value,"active-provider":d.provider},null,8,["item","active-provider"]),e.value?(s(),u(v,{key:0,itemtype:"albumtracks","parent-item":e.value,"show-provider":!0,"show-track-number":!0,"show-favorites-only-filter":!0,"show-library-only-filter":e.value.provider=="library"&&B(l).hasStreamingProviders.value,"show-refresh-button":!1,"allow-key-hooks":!0,"load-items":c,"sort-keys":["track_number","name","sort_name","duration","duration_desc"],title:r.$t("tracks")},null,8,["parent-item","show-library-only-filter","title"])):m("",!0),t[1]||(t[1]=n("br",null,null,-1)),e.value?(s(),u(v,{key:1,itemtype:"albumversions","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-refresh-button":!1,"load-items":y,"sort-keys":["provider","name","year"],title:r.$t("other_versions"),"hide-on-empty":!0,"refresh-on-parent-update":!0},null,8,["parent-item","title"])):m("",!0),t[2]||(t[2]=n("br",null,null,-1)),e.value?.provider=="library"&&e.value?.metadata?.images?(s(),u(g,{key:2,modelValue:e.value.metadata.images,"onUpdate:modelValue":[t[0]||(t[0]=i=>e.value.metadata.images=i),k]},null,8,["modelValue"])):m("",!0),t[3]||(t[3]=n("br",null,null,-1)),e.value?(s(),u(w,{key:3,"item-details":e.value},null,8,["item-details"])):m("",!0),t[4]||(t[4]=n("br",null,null,-1))]))}});export{re as default};
@@ -0,0 +1 @@
1
+ import{I as _,_ as g}from"./ProviderDetails.vue_vue_type_style_index_0_lang-DFoDB6o8.js";import{I as p}from"./ItemsListing-DqCIuDVa.js";import{M as k}from"./MediaItemImages-C9Fy6AXA.js";import{c as l,E as h}from"./index-BFLe16Zh.js";import{d as A,r as v,w as D,o as E,a0 as M,b as V,e as s,H as B,D as n,I as u,f as m,u as f}from"./lucide-C2DU1LFb.js";import"./Toolbar-BH0q_AuX.js";import"./vuetify-CrxirfrA.js";import"./marquee_text_sync-CEgtptD4.js";import"./vue-router-BgJK_hRC.js";import"./MediaItemThumb-CYhBGQYb.js";import"./ProviderIcon.vue_vue_type_style_index_0_lang-3Xmo3tIn.js";import"./Container-D1pLFqsU.js";import"./index-kQIztB-E.js";import"./ListItem-DccRVadN.js";import"./Button-B4d5YBNY.js";import"./vue-i18n-CX-lsKIo.js";import"./utils-CDN07tui.js";import"./userPreferences-DsKUT7Ha.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-D7lqdhVg.js";import"./PanelviewItemCompact-C1lAmhs4.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";const re=A({__name:"ArtistDetails",props:{itemId:{},provider:{}},setup(y){const a=y,e=v(),i=v(!1),c=async function(){i.value=!0,e.value=await l.getArtist(a.itemId,a.provider),i.value=!1};D(()=>a.itemId,t=>{t&&c()},{immediate:!0}),E(()=>{const t=l.subscribe(h.MEDIA_ITEM_UPDATED,r=>{const o=r.data;if(e.value?.uri==o.uri)i.value=!0,e.value=o,i.value=!1;else if("provider_mappings"in o){for(const d of o.provider_mappings)if(d.item_id==a.itemId&&[d.provider_instance,d.provider_domain].includes(a.provider)){i.value=!0,e.value=o,i.value=!1;break}}});M(t)});const b=async function(t){return await l.getArtistAlbums(a.itemId,a.provider,t.libraryOnly)},w=async function(t){return await l.getArtistTracks(a.itemId,a.provider,t.libraryOnly,t.provider&&t.provider.length>0?t.provider:void 0)},I=async function(){e.value&&(e.value=await l.sendCommand("music/artists/update",{item_id:e.value.item_id,update:e.value,overwrite:!0}))};return(t,r)=>(s(),V("section",null,[B(_,{item:e.value},null,8,["item"]),e.value&&!i.value?(s(),n(p,{key:0,itemtype:"artistalbums","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!0,"show-library-only-filter":e.value.provider=="library"&&f(l).hasStreamingProviders.value,"show-album-type-filter":!0,"show-refresh-button":!1,"load-items":b,"sort-keys":["name","sort_name","year","name_desc","sort_name_desc","year_desc"],title:t.$t("albums"),"allow-collapse":!0},null,8,["parent-item","show-library-only-filter","title"])):u("",!0),r[1]||(r[1]=m("br",null,null,-1)),e.value&&!i.value?(s(),n(p,{key:1,itemtype:"artisttracks","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!0,"show-library-only-filter":e.value.provider=="library"&&f(l).hasStreamingProviders.value,"show-provider-filter":e.value.provider=="library","show-refresh-button":!1,"show-track-number":!1,"load-items":w,"sort-keys":["original","name","sort_name","album","duration","name_desc","sort_name_desc","duration_desc"],title:t.$t("tracks"),"allow-collapse":!0},null,8,["parent-item","show-library-only-filter","show-provider-filter","title"])):u("",!0),r[2]||(r[2]=m("br",null,null,-1)),e.value?.provider=="library"&&e.value?.metadata?.images?(s(),n(k,{key:2,modelValue:e.value.metadata.images,"onUpdate:modelValue":[r[0]||(r[0]=o=>e.value.metadata.images=o),I]},null,8,["modelValue"])):u("",!0),r[3]||(r[3]=m("br",null,null,-1)),e.value?(s(),n(g,{key:3,"item-details":e.value},null,8,["item-details"])):u("",!0),r[4]||(r[4]=m("br",null,null,-1))]))}});export{re as default};
@@ -0,0 +1 @@
1
+ import{I as h,_ as x}from"./ProviderDetails.vue_vue_type_style_index_0_lang-DFoDB6o8.js";import{C as w}from"./Container-D1pLFqsU.js";import{T as E}from"./Toolbar-BH0q_AuX.js";import{z as b,i as V,c as _,E as g}from"./index-BFLe16Zh.js";import{e as A,b as T,c as M,o as B}from"./vuetify-CrxirfrA.js";import{d as y,r as D,c as $,b as u,e as t,H as m,D as d,I as p,E as l,F as C,M as N,u as k,a1 as v,f as I,$ as L,w as F,o as H,a0 as S}from"./lucide-C2DU1LFb.js";import"./marquee_text_sync-CEgtptD4.js";import"./vue-router-BgJK_hRC.js";import"./MediaItemThumb-CYhBGQYb.js";import"./ProviderIcon.vue_vue_type_style_index_0_lang-3Xmo3tIn.js";import"./ListItem-DccRVadN.js";import"./Button-B4d5YBNY.js";import"./index-kQIztB-E.js";import"./vue-i18n-CX-lsKIo.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";const U={style:{"margin-bottom":"10px"}},z={style:{width:"50px"}},P={key:0,class:"text-caption"},j=y({__name:"Chapters",props:{itemDetails:{}},setup(r){const a=r,o=D(!0),e=function(){o.value=!o.value},c=$(()=>[{label:"tooltip.collapse_expand",icon:o.value?"mdi-chevron-up":"mdi-chevron-down",action:e,overflowAllowed:!1}]),s=function(n){!a.itemDetails||!b(a.itemDetails)||_.playMedia(a.itemDetails.uri,void 0,void 0,n.position.toString())};return(n,f)=>(t(),u("section",U,[m(E,{title:n.$t("chapters"),"menu-items":c.value,onTitleClicked:e},null,8,["title","menu-items"]),m(A),o.value?(t(),d(w,{key:0},{default:l(()=>[m(T,null,{default:l(()=>[(t(!0),u(C,null,N(r.itemDetails?.metadata?.chapters,i=>(t(),d(M,{key:i.position,disabled:!k(b)(r.itemDetails),onClick:q=>s(i)},{prepend:l(()=>[I("div",z,[m(B,null,{default:l(()=>[L(v(i.position),1)]),_:2},1024)])]),title:l(()=>[I("div",null,v(i.name),1)]),append:l(()=>[i.end?(t(),u("span",P,v(k(V)(i.end-i.start)),1)):p("",!0)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),_:1})):p("",!0)]))}}),ue=y({__name:"AudiobookDetails",props:{itemId:{},provider:{}},setup(r){const a=r,o=D(!1),e=D(),c=async function(){e.value=await _.getAudiobook(a.itemId,a.provider)};return F(()=>a.itemId,s=>{s&&c()},{immediate:!0}),H(()=>{const s=_.subscribe(g.MEDIA_ITEM_UPDATED,n=>{const f=n.data;e.value?.uri==f.uri&&(e.value=f,o.value=!0)});S(s)}),(s,n)=>(t(),u(C,null,[m(h,{item:e.value},null,8,["item"]),e.value&&e.value.metadata?.chapters?(t(),d(j,{key:0,"item-details":e.value},null,8,["item-details"])):p("",!0),e.value?(t(),d(x,{key:1,"item-details":e.value},null,8,["item-details"])):p("",!0)],64))}});export{ue as default};
@@ -0,0 +1 @@
1
+ import{c as d}from"./utils-CDN07tui.js";import{a2 as p,a3 as i,a4 as m}from"./reka-ui-GpbaI08z.js";import{d as l,D as o,e as c,E as n,h as u,ad as _,u as s,A as f}from"./lucide-C2DU1LFb.js";import{v}from"./vueuse-DIaEWNCo.js";const y=l({__name:"Avatar",props:{class:{}},setup(e){const a=e;return(t,r)=>(c(),o(s(p),{"data-slot":"avatar",class:_(s(d)("relative flex size-8 shrink-0 overflow-hidden rounded-full",a.class))},{default:n(()=>[u(t.$slots,"default")]),_:3},8,["class"]))}}),C=l({__name:"AvatarFallback",props:{delayMs:{},asChild:{type:Boolean},as:{},class:{}},setup(e){const a=e,t=v(a,"class");return(r,h)=>(c(),o(s(i),f({"data-slot":"avatar-fallback"},s(t),{class:s(d)("bg-muted flex size-full items-center justify-center rounded-full",a.class)}),{default:n(()=>[u(r.$slots,"default")]),_:3},16,["class"]))}}),$=l({__name:"AvatarImage",props:{src:{},referrerPolicy:{},crossOrigin:{},asChild:{type:Boolean},as:{}},setup(e){const a=e;return(t,r)=>(c(),o(s(m),f({"data-slot":"avatar-image"},a,{class:"aspect-square size-full"}),{default:n(()=>[u(t.$slots,"default")]),_:3},16))}});export{y as _,$ as a,C as b};
@@ -0,0 +1 @@
1
+ .breadcrumb-container[data-v-e24b2804]{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0;max-width:100%}.breadcrumb-segment[data-v-e24b2804]{display:flex;align-items:center;gap:4px;min-width:0}.breadcrumb-link[data-v-e24b2804]{background:none;border:none;color:inherit;cursor:pointer;text-decoration:underline;font-family:inherit;font-size:inherit;padding:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.breadcrumb-link[data-v-e24b2804]:hover{opacity:.7}.breadcrumb-text[data-v-e24b2804]{color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.breadcrumb-separator[data-v-e24b2804]{opacity:.5;margin:0 2px;flex-shrink:0}.breadcrumb-container:has(.breadcrumb-segment:nth-child(4)) .breadcrumb-link[data-v-e24b2804],.breadcrumb-container:has(.breadcrumb-segment:nth-child(4)) .breadcrumb-text[data-v-e24b2804]{font-size:.9em}.breadcrumb-container:has(.breadcrumb-segment:nth-child(5)) .breadcrumb-link[data-v-e24b2804],.breadcrumb-container:has(.breadcrumb-segment:nth-child(5)) .breadcrumb-text[data-v-e24b2804]{font-size:.85em;max-width:150px}.breadcrumb-container:has(.breadcrumb-segment:nth-child(6)) .breadcrumb-link[data-v-e24b2804],.breadcrumb-container:has(.breadcrumb-segment:nth-child(6)) .breadcrumb-text[data-v-e24b2804]{font-size:.8em;max-width:120px}
@@ -0,0 +1 @@
1
+ import{I as x}from"./ItemsListing-DqCIuDVa.js";import{c as f,r as d,M as I,_ as B}from"./index-BFLe16Zh.js";import{d as V,r as C,c as b,b as i,e as r,H as E,E as F,f as N,F as P,M as S,u as D,ay as L,D as M,I as j,a1 as k}from"./lucide-C2DU1LFb.js";import{d as O}from"./vuetify-CrxirfrA.js";import{u as T}from"./vue-i18n-CX-lsKIo.js";import"./Container-D1pLFqsU.js";import"./index-kQIztB-E.js";import"./utils-CDN07tui.js";import"./Toolbar-BH0q_AuX.js";import"./userPreferences-DsKUT7Ha.js";import"./vue-router-BgJK_hRC.js";import"./Button-B4d5YBNY.js";import"./ListItem-DccRVadN.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-D7lqdhVg.js";import"./MediaItemThumb-CYhBGQYb.js";import"./ProviderIcon.vue_vue_type_style_index_0_lang-3Xmo3tIn.js";import"./PanelviewItemCompact-C1lAmhs4.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";const q={class:"breadcrumb-container"},z=["onClick"],H={key:1,class:"breadcrumb-text"},R=V({__name:"BrowseView",props:{path:{}},setup(l){const s=l,{t:w}=T(),m=C(!1),g=b(()=>""),h=b(()=>{const e=[];if(e.push({text:w("browse"),path:null,clickable:s.path&&s.path!=="root"||!1}),s.path&&s.path!=="root")if(s.path.includes("://")){const[a,t]=s.path.split("://"),o=a+"://",n=f.getProviderName(a);if(e.push({text:n,path:o,clickable:t&&t.length>0||!1}),t&&t.length>0){const c=t.split("/").filter(p=>p.length>0);c.forEach((p,u)=>{const _=o+c.slice(0,u+1).join("/");e.push({text:p,path:_,clickable:u<c.length-1})})}}else{const a=s.path.split("/").filter(t=>t.length>0);a.forEach((t,o)=>{const n=a.slice(0,o+1).join("/");e.push({text:t,path:n,clickable:o<a.length-1})})}return e}),v=async function(e){const a=await f.browse(s.path);return m.value=a.every(t=>t.media_type===I.FOLDER),a},y=e=>{e===null?d.push({name:"browse"}):d.push({name:"browse",query:{path:e}})};return(e,a)=>(r(),i("section",null,[E(x,{itemtype:"browse","show-provider":!1,"show-library":!1,"show-favorites-only-filter":!1,"show-track-number":!1,"show-select-button":!!(l.path&&l.path!="root"&&!m.value),"load-items":v,"sort-keys":["original","name","name_desc"],path:l.path,"allow-key-hooks":!0,icon:D(L),title:g.value},{title:F(()=>[N("div",q,[(r(!0),i(P,null,S(h.value,(t,o)=>(r(),i("span",{key:o,class:"breadcrumb-segment"},[t.clickable?(r(),i("button",{key:0,class:"breadcrumb-link",onClick:n=>y(t.path)},k(t.text),9,z)):(r(),i("span",H,k(t.text),1)),o<h.value.length-1?(r(),M(O,{key:2,icon:"mdi-chevron-right",size:"small",class:"breadcrumb-separator"})):j("",!0)]))),128))])]),_:1},8,["show-select-button","path","icon","title"])]))}}),ht=B(R,[["__scopeId","data-v-e24b2804"]]);export{ht as default};
@@ -0,0 +1 @@
1
+ import{M as f}from"./index-kQIztB-E.js";import{c as r,d as y,W as d,D as c,e as p,A as b,u,ak as m,E as v,I as B,M as h,h as w}from"./lucide-C2DU1LFb.js";import{n as g,d as x}from"./vuetify-CrxirfrA.js";import{_ as k}from"./index-BFLe16Zh.js";const C=(...e)=>e.filter(Boolean).join(" "),$=e=>{const l=r(()=>{const{variant:i,nav:a,...n}=e,t={...n,"aria-label":e.title||e["aria-label"]};return f(i).with("responsive",()=>({...t,icon:!0,variant:"text",ripple:e.ripple!==!1,class:e.class?`btn-responsive ${e.class}`:"btn-responsive",style:{height:"var(--responsive-button-size, min(calc(100vw - 40px), calc(100vh - 340px)))",width:"var(--responsive-button-size, min(calc(100vw - 40px), calc(100vh - 340px)))",...typeof e.style=="object"?e.style:{}}})).with("icon",()=>({...t,icon:!0,variant:"plain",ripple:e.ripple!==!1,class:e.class?`btn-icon ${e.class}`:"btn-icon"})).with("list",()=>({...t,variant:"plain",density:"comfortable",ripple:e.ripple!==!1,class:e.class?`btn-list ${e.class}`:"btn-list"})).with("plain",()=>({...t,variant:"plain",ripple:e.ripple!==!1})).with("default",()=>({...t,variant:"text",ripple:e.ripple!==!1})).otherwise(()=>({...t,variant:"text",ripple:e.ripple!==!1}))}),o=r(()=>C("button",e.variant&&`button--${e.variant}`,e.nav&&"button--nav"));return{buttonProps:l,buttonClasses:o}},P={variant:"default",ripple:!0},M=y({__name:"Button",props:d({variant:{},nav:{type:Boolean},icon:{type:[String,Boolean]},ripple:{type:Boolean},height:{},width:{},size:{},title:{},disabled:{type:Boolean},color:{},to:{},block:{type:Boolean},density:{},flat:{type:Boolean},loading:{type:Boolean},outlined:{type:Boolean},rounded:{type:[Boolean,String,Number]},tag:{},text:{type:Boolean},type:{},value:{},active:{type:Boolean},append:{type:Boolean},exact:{type:Boolean},replace:{type:Boolean},slim:{type:Boolean},stacked:{type:Boolean},class:{},style:{},"aria-label":{}},P),emits:["click"],setup(e){const l=e,{buttonProps:o,buttonClasses:i}=$(l);return(a,n)=>(p(),c(g,b(u(o),{class:u(i),onClick:n[0]||(n[0]=t=>a.$emit("click",t))}),m({default:v(()=>[e.icon&&typeof e.icon=="string"?(p(),c(x,{key:0,icon:e.icon},null,8,["icon"])):B("",!0)]),_:2},[h(a.$slots,(t,s)=>({name:s,fn:v(()=>[w(a.$slots,s,{},void 0,!0)])}))]),1040,["class"]))}}),j=k(M,[["__scopeId","data-v-f097a0e8"]]);export{j as M,C as m};
@@ -0,0 +1 @@
1
+ .button[data-v-f097a0e8]:focus-visible{outline:2px solid var(--v-theme-primary);outline-offset:2px}@media(prefers-contrast:high){.button[data-v-f097a0e8]{border:1px solid currentColor}}@media(prefers-reduced-motion:reduce){.button[data-v-f097a0e8]{transition:none}}.button--responsive[data-v-f097a0e8]{min-height:48px;min-width:48px}.button--icon[data-v-f097a0e8]{min-height:40px;min-width:40px}.button--icon[data-v-f097a0e8] .v-ripple__container{border-radius:50%!important;transform:scale(.7)!important}.button--icon[data-v-f097a0e8] .v-ripple__animation{border-radius:50%!important}.button--nav[data-v-f097a0e8]{border-radius:0}
@@ -0,0 +1 @@
1
+ .container-default[data-v-b8d6ce90]{padding:10px}.container-compact[data-v-b8d6ce90]{padding:5px}.container-comfortable[data-v-b8d6ce90]{padding:20px}.container-panel[data-v-b8d6ce90]{padding:10px}.container-panel--light[data-v-b8d6ce90]{background:#f5f5f5}@media(min-width:1920px){.container-main[data-v-b8d6ce90]{max-width:unset!important}}@media(min-width:1280px){.container-main[data-v-b8d6ce90]{max-width:unset!important}}@media(min-width:960px){.container-main[data-v-b8d6ce90]{max-width:unset!important}}
@@ -0,0 +1 @@
1
+ import{M as f}from"./index-kQIztB-E.js";import{c as i,d as m,W as d,D as p,e as h,ak as C,M as _,A as v,u,E as P,h as b}from"./lucide-C2DU1LFb.js";import{u as k,h as w}from"./vuetify-CrxirfrA.js";import{_ as y}from"./index-BFLe16Zh.js";const g=(a,s)=>{const r=i(()=>{const{variant:n,...e}=a;return{...e,fluid:a.fluid!==!1}}),o=i(()=>{const n=f(a.variant).with("panel",()=>["container-main","container-panel",s?"container-panel--dark":"container-panel--light"]).with("compact",()=>["container-main","container-compact"]).with("comfortable",()=>["container-main","container-comfortable"]).with("default",()=>["container-main","container-default"]).otherwise(()=>["container-main","container-default"]),e=[];return a.class&&(typeof a.class=="string"?e.push(a.class):Array.isArray(a.class)?e.push(...a.class):Object.entries(a.class).forEach(([t,c])=>{c&&e.push(t)})),[...n,...e].join(" ")});return{containerProps:r,containerClasses:o}},A={variant:"default",fluid:!0},B=m({__name:"Container",props:d({variant:{},fluid:{type:Boolean},tag:{},class:{},style:{}},A),setup(a){const s=a,r=k(),o=i(()=>r.current.value.dark),{containerProps:n,containerClasses:e}=g(s,o.value);return(t,c)=>(h(),p(w,v(u(n),{class:u(e)}),C({_:2},[_(t.$slots,(D,l)=>({name:l,fn:P(()=>[b(t.$slots,l,{},void 0,!0)])}))]),1040,["class"]))}}),S=y(B,[["__scopeId","data-v-b8d6ce90"]]);export{S as C};
@@ -0,0 +1,21 @@
1
+ import{_ as ie,a as Wt,s as t,b as jt,e as ke,c as V,M as E,P as yt,$ as Z,g as xe,R as re,d as _e,f as pe,w as Te,h as ae,i as Le,v as Fe,E as Kt,j as qe,k as et,l as Ct,m as It,n as vt,r as Xe,Q as Gt,o as Yt,p as Ae,q as Xt,t as Jt}from"./index-BFLe16Zh.js";import{R as Zt,b as St,u as ea}from"./vue-router-BgJK_hRC.js";import{c as W}from"./utils-CDN07tui.js";import{d as T,D as h,e as s,u as e,A as q,E as n,h as U,J as Re,K as rt,H as u,f as _,an as ta,b as p,ad as Y,n as ne,$ as K,a1 as I,F as G,P as be,r as Q,c as L,ao as aa,L as ia,M as ue,I as k,ap as la,aq as sa,ar as ra,as as oa,at as na,au as ua,av as ca,aw as da,ax as ma,ay as pa,az as ya,o as ge,a0 as ze,al as va,W as fa,ak as ha,j as Ne,s as We,a as Vt,w as ee,aA as ft,aB as _a,aC as ba,aD as ga,aE as Tt,m as Pa,O as Ee,aF as wa}from"./lucide-C2DU1LFb.js";import{u as je,D as ka,a as xa,b as $a,c as Ca,d as Ia,e as Sa,f as Va,g as Ta,T as La,h as Qa,i as Ma,j as Aa,k as Ea,P as Da,l as Ba}from"./reka-ui-GpbaI08z.js";import{v as $e,w as Oa,x as Fa,y as qa,z as Ra}from"./vueuse-DIaEWNCo.js";import{_ as za,c as Na}from"./index-_We2Vr5Z.js";import{D as Ua}from"./constants-CXMxJR4j.js";import{u as Ha}from"./vue-i18n-CX-lsKIo.js";import{M as Lt,_ as Qt,i as Wa,a as ja}from"./MediaItemThumb-CYhBGQYb.js";import{_ as Je}from"./ProviderIcon.vue_vue_type_style_index_0_lang-3Xmo3tIn.js";import{T as Ka}from"./Toolbar-BH0q_AuX.js";import{p as Mt,a as Ue,e as tt,b as He,c as Qe,i as Ga,g as Ya,z as at,d as oe,V as ot,A as Xa,l as Ja,B as At,C as Za,D as it,q as Be,E as Ve,F as ei,G as Ze,H as ti,I as ai,n as lt,J as ii,K as li,L as si,M as ri,N as oi,O as ni,P as ui,m as ci,Q as di,f as mi}from"./vuetify-CrxirfrA.js";import{M as pi}from"./index-kQIztB-E.js";import{m as ht,M as he}from"./Button-B4d5YBNY.js";import{_ as yi,a as vi,b as fi}from"./PopoverTrigger.vue_vue_type_script_setup_true_lang-ZsAs7pQL.js";import{V as hi,P as nt,g as _i,a as _t}from"./PlayerCard-CvuecWVw.js";import{M as fe,a as st}from"./marquee_text_sync-CEgtptD4.js";import{_ as Et}from"./NowPlayingBadge.vue_vue_type_style_index_0_lang-D7lqdhVg.js";import{L as bi}from"./ListItem-DccRVadN.js";import{C as De}from"./color-BTziYnFN.js";import{u as gi}from"./userPreferences-DsKUT7Ha.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";/* empty css */import"./swiper-Jy9GbtzK.js";const Pi=ie(Wt,[["__scopeId","data-v-12dd6097"]]),wi=T({__name:"Sheet",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(a,{emit:l}){const d=je(a,l);return(o,c)=>(s(),h(e(ka),q({"data-slot":"sheet"},e(d)),{default:n(y=>[U(o.$slots,"default",Re(rt(y)))]),_:3},16))}}),ki=T({__name:"SheetOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(a){const l=a,i=$e(l,"class");return(r,d)=>(s(),h(e(xa),q({"data-slot":"sheet-overlay",class:e(W)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",l.class)},e(i)),{default:n(()=>[U(r.$slots,"default")]),_:3},16,["class"]))}}),xi=T({inheritAttrs:!1,__name:"SheetContent",props:{class:{default:void 0},side:{default:"right"},forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(a,{emit:l}){const i=a,r=l,d=$e(i,"class","side"),o=je(d,r);return(c,y)=>(s(),h(e($a),null,{default:n(()=>[u(ki),u(e(Ca),q({"data-slot":"sheet-content",class:e(W)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",a.side==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",a.side==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",a.side==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",a.side==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",i.class)},{...c.$attrs,...e(o)}),{default:n(()=>[U(c.$slots,"default"),u(e(Ia),{class:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none"},{default:n(()=>[u(e(ta),{class:"size-4"}),y[0]||(y[0]=_("span",{class:"sr-only"},"Close",-1))]),_:1})]),_:3},16,["class"])]),_:3}))}}),$i=T({__name:"SheetDescription",props:{asChild:{type:Boolean},as:{},class:{}},setup(a){const l=a,i=$e(l,"class");return(r,d)=>(s(),h(e(Sa),q({"data-slot":"sheet-description",class:e(W)("text-muted-foreground text-sm",l.class)},e(i)),{default:n(()=>[U(r.$slots,"default")]),_:3},16,["class"]))}}),Ci=T({__name:"SheetHeader",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("div",{"data-slot":"sheet-header",class:Y(e(W)("flex flex-col gap-1.5 p-4",l.class))},[U(i.$slots,"default")],2))}}),Ii=T({__name:"SheetTitle",props:{asChild:{type:Boolean},as:{},class:{}},setup(a){const l=a,i=$e(l,"class");return(r,d)=>(s(),h(e(Va),q({"data-slot":"sheet-title",class:e(W)("text-foreground font-semibold",l.class)},e(i)),{default:n(()=>[U(r.$slots,"default")]),_:3},16,["class"]))}}),bt="sidebar_state",Si=3600*24*7,Vi="16rem",Ti="18rem",Li="3rem",Qi="b",[ut,Mi]=Ta("Sidebar"),Ai={class:"flex h-full w-full flex-col"},Ei=["data-state","data-collapsible","data-variant","data-side"],Di={"data-sidebar":"sidebar",class:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"},Bi=T({inheritAttrs:!1,__name:"Sidebar",props:{side:{default:"left"},variant:{default:"sidebar"},collapsible:{default:"offcanvas"},class:{}},setup(a){const l=a,{isMobile:i,state:r,openMobile:d,setOpenMobile:o}=ut();return(c,y)=>a.collapsible==="none"?(s(),p("div",q({key:0,"data-slot":"sidebar",class:e(W)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",l.class)},c.$attrs),[U(c.$slots,"default")],16)):e(i)?(s(),h(e(wi),q({key:1,open:e(d)},c.$attrs,{"onUpdate:open":e(o)}),{default:n(()=>[u(e(xi),{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",side:a.side,class:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:ne({"--sidebar-width":e(Ti)})},{default:n(()=>[u(Ci,{class:"sr-only"},{default:n(()=>[u(Ii,null,{default:n(()=>[...y[0]||(y[0]=[K("Sidebar",-1)])]),_:1}),u($i,null,{default:n(()=>[...y[1]||(y[1]=[K("Displays the mobile sidebar.",-1)])]),_:1})]),_:1}),_("div",Ai,[U(c.$slots,"default")])]),_:3},8,["side","style"])]),_:3},16,["open","onUpdate:open"])):(s(),p("div",{key:2,class:"group peer text-sidebar-foreground hidden md:block","data-slot":"sidebar","data-state":e(r),"data-collapsible":e(r)==="collapsed"?a.collapsible:"","data-variant":a.variant,"data-side":a.side},[_("div",{class:Y(e(W)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",a.variant==="floating"||a.variant==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)"))},null,2),_("div",q({class:e(W)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",a.side==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",a.variant==="floating"||a.variant==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)",l.class)},c.$attrs),[_("div",Di,[U(c.$slots,"default")])],16)],8,Ei))}}),Oi=T({__name:"SidebarContent",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("div",{"data-slot":"sidebar-content","data-sidebar":"content",class:Y(e(W)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",l.class))},[U(i.$slots,"default")],2))}}),Fi=T({__name:"SidebarFooter",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",class:Y(e(W)("flex flex-col gap-2 p-2 pb-26 ml-auto",l.class))},[U(i.$slots,"default")],2))}}),qi=T({__name:"SidebarGroup",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("div",{"data-slot":"sidebar-group","data-sidebar":"group",class:Y(e(W)("relative flex w-full min-w-0 flex-col p-2",l.class))},[U(i.$slots,"default")],2))}}),Ri=T({__name:"SidebarGroupContent",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",class:Y(e(W)("w-full text-sm",l.class))},[U(i.$slots,"default")],2))}}),zi=T({__name:"SidebarHeader",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("div",{"data-slot":"sidebar-header","data-sidebar":"header",class:Y(e(W)("flex flex-col gap-2 p-2",l.class))},[U(i.$slots,"default")],2))}}),Ni=T({__name:"SidebarInset",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("main",{"data-slot":"sidebar-inset",class:Y(e(W)("bg-background relative flex min-w-0 flex-1 flex-col overflow-x-hidden","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",l.class))},[U(i.$slots,"default")],2))}}),Dt=T({__name:"SidebarMenu",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",class:Y(e(W)("flex w-full min-w-0 flex-col gap-1",l.class))},[U(i.$slots,"default")],2))}}),Ui=T({__name:"Tooltip",props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:["update:open"],setup(a,{emit:l}){const d=je(a,l);return(o,c)=>(s(),h(e(La),q({"data-slot":"tooltip"},e(d)),{default:n(y=>[U(o.$slots,"default",Re(rt(y)))]),_:3},16))}}),Hi=T({inheritAttrs:!1,__name:"TooltipContent",props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{default:void 0}},emits:["escapeKeyDown","pointerDownOutside"],setup(a,{emit:l}){const i=a,r=l,d=$e(i,"class"),o=je(d,r);return(c,y)=>(s(),h(e(Qa),null,{default:n(()=>[u(e(Ma),q({"data-slot":"tooltip-content"},{...e(o),...c.$attrs},{class:e(W)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance",i.class)}),{default:n(()=>[U(c.$slots,"default"),u(e(Aa),{class:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]),_:3},16,["class"])]),_:3}))}}),Wi=T({__name:"TooltipTrigger",props:{reference:{},asChild:{type:Boolean},as:{}},setup(a){const l=a;return(i,r)=>(s(),h(e(Ea),q({"data-slot":"tooltip-trigger"},l),{default:n(()=>[U(i.$slots,"default")]),_:3},16))}}),gt=T({__name:"SidebarMenuButtonChild",props:{variant:{default:"default"},size:{default:"default"},isActive:{type:Boolean},class:{default:void 0},asChild:{type:Boolean},as:{default:"button"}},setup(a){const l=a;return(i,r)=>(s(),h(e(Da),q({"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":a.size,"data-active":a.isActive,class:e(W)(e(Xi)({variant:a.variant,size:a.size}),l.class),as:a.as,"as-child":a.asChild},i.$attrs),{default:n(()=>[U(i.$slots,"default")]),_:3},16,["data-size","data-active","class","as","as-child"]))}}),ji=T({inheritAttrs:!1,__name:"SidebarMenuButton",props:{variant:{default:"default"},size:{default:"default"},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:"button"},tooltip:{default:void 0}},setup(a){const l=a,{isMobile:i,state:r}=ut(),d=$e(l,"tooltip");return(o,c)=>a.tooltip?(s(),h(e(Ui),{key:1},{default:n(()=>[u(e(Wi),{"as-child":""},{default:n(()=>[u(gt,Re(rt({...e(d),...o.$attrs})),{default:n(()=>[U(o.$slots,"default")]),_:3},16)]),_:3}),u(e(Hi),{side:"right",align:"center",hidden:e(r)!=="collapsed"||e(i)},{default:n(()=>[typeof a.tooltip=="string"?(s(),p(G,{key:0},[K(I(a.tooltip),1)],64)):(s(),h(be(a.tooltip),{key:1}))]),_:1},8,["hidden"])]),_:3})):(s(),h(gt,Re(q({key:0},{...e(d),...o.$attrs})),{default:n(()=>[U(o.$slots,"default")]),_:3},16))}}),Ki=T({__name:"SidebarMenuItem",props:{class:{}},setup(a){const l=a;return(i,r)=>(s(),p("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",class:Y(e(W)("group/menu-item relative",l.class))},[U(i.$slots,"default")],2))}}),Gi=T({__name:"SidebarProvider",props:{defaultOpen:{type:Boolean,default:!Ra?.cookie.includes(`${bt}=false`)},open:{type:Boolean,default:void 0},class:{default:void 0}},emits:["update:open"],setup(a,{emit:l}){const i=a,r=l,d=Oa("(max-width: 768px)"),o=Q(!1),c=Fa(i,"open",r,{defaultValue:i.defaultOpen??!1,passive:i.open===void 0});function y(S){c.value=S,document.cookie=`${bt}=${c.value}; path=/; max-age=${Si}`}function w(S){o.value=S}function M(){return d.value?w(!o.value):y(!c.value)}qa("keydown",S=>{S.key===Qi&&(S.metaKey||S.ctrlKey)&&(S.preventDefault(),M())});const A=L(()=>c.value?"expanded":"collapsed");return Mi({state:A,open:c,setOpen:y,isMobile:d,openMobile:o,setOpenMobile:w,toggleSidebar:M}),(S,f)=>(s(),h(e(Ba),{"delay-duration":0},{default:n(()=>[_("div",q({"data-slot":"sidebar-wrapper",style:{"--sidebar-width":e(Vi),"--sidebar-width-icon":e(Li)},class:e(W)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",i.class)},S.$attrs),[U(S.$slots,"default")],16)]),_:3}))}}),Yi=T({__name:"SidebarTrigger",props:{class:{}},setup(a){const l=a,{toggleSidebar:i}=ut();return(r,d)=>(s(),h(e(za),{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",class:Y(e(W)("h-10 w-10",l.class)),onClick:e(i)},{default:n(()=>[u(e(aa)),d[0]||(d[0]=_("span",{class:"sr-only"},"Toggle Sidebar",-1))]),_:1},8,["class","onClick"]))}}),Xi=Na("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}}),Ji=T({__name:"NavMain",props:{items:{}},setup(a){const l=ia(Zt),i=St(),r=d=>i.path===d||i.path.startsWith(d+"/");return(d,o)=>(s(),h(e(qi),null,{default:n(()=>[u(e(Ri),{class:"flex flex-col gap-2"},{default:n(()=>[u(e(Dt),null,{default:n(()=>[(s(!0),p(G,null,ue(a.items,c=>(s(),h(e(Ki),{key:c.title,class:"mr-1.5"},{default:n(()=>[u(e(ji),q({as:e(l)},{ref_for:!0},{to:c.url},{"is-active":r(c.url),tooltip:c.title,class:"no-underline font-semibold text-sm"}),{default:n(()=>[c.icon?(s(),h(be(c.icon),{key:0,class:"mr-1"})):k("",!0),_("span",null,I(c.title),1)]),_:2},1040,["as","is-active","tooltip"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}))}}),Zi=ie(Ji,[["__scopeId","data-v-9904e199"]]),Bt=function(){const a=localStorage.getItem("frontend.settings.menu_items"),l=a?a.split(","):Ua,i=[];for(const r of l)r==="home"&&i.push({label:"home",icon:la,path:"/home",isLibraryNode:!1}),r==="search"&&i.push({label:"search",icon:sa,path:"/search",isLibraryNode:!1}),r==="artists"&&i.push({label:"artists",icon:ra,path:"/artists",isLibraryNode:!0,hidden:t.libraryArtistsCount===0}),r==="albums"&&i.push({label:"albums",icon:oa,path:"/albums",isLibraryNode:!0,hidden:t.libraryAlbumsCount===0}),r==="tracks"&&i.push({label:"tracks",icon:na,path:"/tracks",isLibraryNode:!0,hidden:t.libraryTracksCount===0}),r==="playlists"&&i.push({label:"playlists",icon:ua,path:"/playlists",isLibraryNode:!0,hidden:t.libraryPlaylistsCount===0}),r==="audiobooks"&&i.push({label:"audiobooks",icon:ca,path:"/audiobooks",isLibraryNode:!0,hidden:t.libraryAudiobooksCount===0}),r==="podcasts"&&i.push({label:"podcasts",icon:da,path:"/podcasts",isLibraryNode:!0,hidden:t.libraryPodcastsCount===0}),r==="radios"&&i.push({label:"radios",icon:ma,path:"/radios",isLibraryNode:!0,hidden:t.libraryRadiosCount===0}),r==="browse"&&i.push({label:"browse",icon:pa,path:"/browse",isLibraryNode:!0}),r==="settings"&&i.push({label:"settings.settings",icon:ya,path:"/settings",isLibraryNode:!0});return i},el=T({__name:"AppSidebar",setup(a){const l=ea(),{t:i}=Ha(),r=Bt(),d=L(()=>r.filter(o=>!o.hidden).map(o=>({title:i(o.label),url:o.path,icon:o.icon})));return(o,c)=>(s(),h(e(Bi),{collapsible:"icon"},{default:n(()=>[u(e(zi),null,{default:n(()=>[u(e(Dt),null,{default:n(()=>[_("div",{class:"sidebar-header",onClick:c[0]||(c[0]=y=>e(l).push("/"))},[...c[1]||(c[1]=[_("img",{src:jt,alt:"Music Assistant",class:"sidebar-header-logo"},null,-1),_("div",{class:"sidebar-header-title"},"Music Assistant",-1)])])]),_:1})]),_:1}),u(e(Oi),null,{default:n(()=>[u(Zi,{items:d.value},null,8,["items"])]),_:1}),u(e(Fi),null,{default:n(()=>[u(e(Yi),{class:"-ml-1"})]),_:1})]),_:1}))}}),tl=ie(el,[["__scopeId","data-v-791e6fdf"]]),al={class:"media-thumb"},il={style:{"margin-left":"-10px","padding-right":"5px"}},ll=T({__name:"AddToPlaylistDialog",setup(a){const l=Q(!1),i=Q([]),r=Q([]),d=Q(),o=Q([]);ge(()=>{ke.on("playlistdialog",async A=>{l.value=!0,o.value=A.items,d.value=A.parentItem,await c()}),ze(()=>{ke.off("playlistdialog")})});const c=async function(){i.value=[],r.value=[];const A=await V.getLibraryPlaylists();let S=o.value.length?o.value[0]:void 0;if(S){"provider_mappings"in S||(S=await V.getItem(S.media_type,S.item_id,S.provider));for(const f of A){if(!f.provider_mappings.filter(O=>O.available).length||!f.is_editable||d.value&&d.value.media_type===E.PLAYLIST&&f.item_id===d.value.item_id)continue;const R=V.providers[f.provider_mappings[0].provider_instance];R&&(R.domain=="builtin"||R.is_streaming_provider||S?.provider_mappings.filter(O=>O.provider_instance==R.instance_id).length)&&i.value.push(f)}for(const f of Object.values(V.providers))f.supported_features.includes(yt.PLAYLIST_CREATE)&&f.supported_features.includes(yt.PLAYLIST_TRACKS_EDIT)&&(f.domain=="builtin"||f.is_streaming_provider||S?.provider_mappings.filter(R=>R.provider_instance==f.instance_id).length)&&r.value.push(f.instance_id)}},y=async function(A){V.addPlaylistTracks(A.item_id,o.value.map(S=>S.uri)),M(),Ga.info(Z("background_task_added"))},w=async function(A){const S=prompt(Z("new_playlist_name"));if(!S)return;const f=await V.createPlaylist(S,A);y(f)},M=function(){l.value=!1};return(A,S)=>(s(),h(Mt,{modelValue:l.value,"onUpdate:modelValue":[S[0]||(S[0]=f=>l.value=f),S[1]||(S[1]=f=>{e(t).dialogActive=f})],fullscreen:"",transition:"dialog-bottom-transition"},{default:n(()=>[u(Ue,null,{default:n(()=>[u(Ka,{icon:"mdi-playlist-plus",title:e(Z)("add_playlist"),"menu-items":[{label:"close",icon:"mdi-close",action:M}]},null,8,["title","menu-items"]),u(tt),S[4]||(S[4]=_("br",null,null,-1)),u(He,null,{default:n(()=>[(s(!0),p(G,null,ue(i.value,f=>(s(),p("div",{key:f.item_id},[u(Qe,{onClick:R=>y(f)},{prepend:n(()=>[_("div",al,[u(Lt,{item:f,size:50},null,8,["item"])])]),title:n(()=>[_("div",null,I(f.name),1)]),subtitle:n(()=>[_("div",null,I(f.owner),1)]),append:n(()=>[f.provider_mappings?(s(),h(Je,{key:0,domain:f.provider_mappings[0].provider_domain,size:20},null,8,["domain"])):k("",!0)]),_:2},1032,["onClick"])]))),128)),S[2]||(S[2]=_("div",{style:{height:"30px"}},null,-1)),u(tt),S[3]||(S[3]=_("div",{style:{height:"30px"}},null,-1)),(s(!0),p(G,null,ue(r.value,f=>(s(),p("div",{key:f},[u(Qe,{onClick:R=>w(f)},{prepend:n(()=>[_("div",il,[u(Je,{domain:e(V).providers[f].domain,size:50},null,8,["domain"])])]),title:n(()=>[_("div",null,I(e(Z)("new_playlist")),1)]),subtitle:n(()=>[_("div",null,I(e(Z)("create_playlist_on",[e(V).providers[f].name])),1)]),append:n(()=>[u(Je,{domain:e(V).providers[f].domain,size:20},null,8,["domain"])]),_:2},1032,["onClick"])]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),sl=ie(ll,[["__scopeId","data-v-8f34ca82"]]),rl=T({__name:"View",setup(a){return(l,i)=>{const r=va("router-view");return s(),h(Ya,{id:"cont",class:Y(["main-layout",{"main-layout--mobile":e(t).mobileLayout}])},{default:n(()=>[u(e(Gi),null,{default:n(()=>[e(t).mobileLayout?k("",!0):(s(),h(tl,{key:0})),u(e(Ni),null,{default:n(()=>[_("div",{class:Y(["content-section",{"content-section--mobile":e(t).mobileLayout}])},[u(r,null,{default:n(({Component:d})=>[(s(),h(be(d)))]),_:1}),u(sl),u(Pi)],2)]),_:1})]),_:1})]),_:1},8,["class"])}}}),Pt=ie(rl,[["__scopeId","data-v-15e3d043"]]),ol=a=>{const l=L(()=>{const{variant:o,width:c,height:y,staticWidth:w,staticHeight:M,maxWidth:A,maxHeight:S,minWidth:f,minHeight:R,badge:O,...te}=a,j={...te,size:a.size||w||void 0||M||void 0||(a.maxHeight?a.maxHeight:void 0)||(a.maxWidth?a.maxWidth:void 0)||"24px"};return pi(o).with("button",()=>({...j,class:a.class?`icon-button ${a.class}`:"icon-button"})).with("responsive",()=>({...j,class:a.class?`icon-responsive ${a.class}`:"icon-responsive"})).with("default",()=>({...j,class:a.class?`icon-default ${a.class}`:"icon-default"})).otherwise(()=>({...j,class:a.class?`icon-default ${a.class}`:"icon-default"}))}),i=L(()=>{const o={};if(a.staticWidth?o.width=a.staticWidth:a.width&&(o.width=a.width),a.staticHeight?o.height=a.staticHeight:a.height&&(o.height=a.height),a.maxWidth&&(o.maxWidth=a.maxWidth),a.maxHeight&&(o.maxHeight=a.maxHeight),a.minWidth&&(o.minWidth=a.minWidth),a.minHeight&&(o.minHeight=a.minHeight),typeof a.style=="object")Object.assign(o,a.style);else if(typeof a.style=="string"){const c=a.style.split(";").reduce((y,w)=>{const[M,A]=w.split(":").map(S=>S.trim());return M&&A&&(y[M]=A),y},{});Object.assign(o,c)}return o}),r=L(()=>ht("icon-container",a.variant&&`icon-container--${a.variant}`,a.disabled&&"icon-container--disabled")),d=L(()=>ht("icon",a.variant&&`icon--${a.variant}`));return{iconProps:l,containerStyle:i,containerClasses:r,iconClasses:d}},nl={variant:"default",minWidth:"24px",minHeight:"24px",badge:!1,disabled:!1},ul=T({__name:"Icon",props:fa({variant:{},width:{},height:{},staticWidth:{},staticHeight:{},maxWidth:{},maxHeight:{},minWidth:{},minHeight:{},icon:{},color:{},disabled:{type:Boolean},size:{},badge:{type:Boolean},class:{},style:{}},nl),emits:["click"],setup(a,{emit:l}){const i=a,r=l,{iconProps:d,containerStyle:o,containerClasses:c,iconClasses:y}=ol(i),w=Q(),M=Q(),A=async()=>{if(!(i.variant!=="responsive"||!w.value||!M.value)){await Ne();try{const f=w.value.offsetWidth,R=w.value.offsetHeight,O=Math.min(f,R);M.value.$el&&(M.value.$el.style.fontSize=`${O}px`)}catch(f){console.error("Icon sizing adjustment failed:",f)}}},S=f=>{if(i.disabled){f.preventDefault(),f.stopPropagation();return}r("click",f)};return ge(()=>{i.variant==="responsive"&&(A(),window.addEventListener("resize",A))}),ze(()=>{i.variant==="responsive"&&window.removeEventListener("resize",A)}),(f,R)=>(s(),p("div",{ref_key:"iconContainer",ref:w,class:Y(e(c)),style:ne(e(o)),onClick:S},[u(at,{"model-value":a.badge===!0,color:"error",dot:""},{default:n(()=>[u(e(oe),q({ref_key:"iconElement",ref:M},e(d),{class:e(y)}),ha({_:2},[ue(f.$slots,(O,te)=>({name:te,fn:n(()=>[U(f.$slots,te,{},void 0,!0)])}))]),1040,["class"])]),_:3},8,["model-value"])],6))}}),Pe=ie(ul,[["__scopeId","data-v-3db51b10"]]),Ot=T({__name:"RepeatBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){return(l,i)=>a.isVisible&&a.playerQueue?(s(),h(Pe,q({key:0},a.icon,{disabled:!a.playerQueue.active||a.playerQueue.items==0,color:e(xe)(a.icon?.color,[[a.playerQueue.repeat_mode==e(re).OFF,null],[a.playerQueue.repeat_mode==e(re).ALL,"primary"],[a.playerQueue.repeat_mode==e(re).ONE,"primary"]]),icon:e(xe)(a.icon?.icon,[[a.playerQueue.repeat_mode==e(re).OFF,"mdi-repeat-off"],[a.playerQueue.repeat_mode==e(re).ALL,"mdi-repeat"],[a.playerQueue.repeat_mode==e(re).ONE,"mdi-repeat-once"],[!0,"mdi-repeat-off"]]),variant:"button",onClick:i[0]||(i[0]=r=>e(V).queueCommandRepeat(a.playerQueue.queue_id||"",e(xe)(null,[[a.playerQueue.repeat_mode==e(re).OFF,e(re).ALL],[a.playerQueue.repeat_mode==e(re).ALL,e(re).ONE],[a.playerQueue.repeat_mode==e(re).ONE,e(re).OFF]])))}),null,16,["disabled","color","icon"])):k("",!0)}});function Ke(a){return{activeSource:L(()=>{const i=typeof a=="object"&&"value"in a?a.value:a;if(!(!i?.active_source||!i?.source_list))return i.source_list.find(r=>r.id===i.active_source)})}}const Ft=T({__name:"NextBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){const l=a,{activeSource:i}=Ke(We(l,"player")),r=L(()=>l.playerQueue?.active?(l.playerQueue.current_index||0)<l.playerQueue.items-1:!1),d=L(()=>!l.player||l.playerQueue?.active||!l.player.current_media?!1:l.player.supported_features.includes(_e.NEXT_PREVIOUS)),o=L(()=>i.value?i.value.can_next_previous:r.value||d.value);return(c,y)=>a.isVisible&&a.player?(s(),h(Pe,q({key:0},a.icon,{disabled:!o.value,icon:"mdi-skip-next-outline",variant:"button",onClick:y[0]||(y[0]=w=>e(V).playerCommandNext(a.player.player_id))}),null,16,["disabled"])):k("",!0)}}),qt=T({__name:"PlayBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},withCircle:{type:Boolean,default:!0},icon:{default:void 0},iconStyle:{default:"circle"}},setup(a){const l=a,{activeSource:i}=Ke(We(l,"player")),r=L(()=>l.playerQueue?l.playerQueue.items>0:!1),d=L(()=>!(!l.player||l.playerQueue?.active||!l.player.current_media)),o=L(()=>i.value?i.value.can_play_pause:r.value||d.value),c=L(()=>l.player?.playback_state==pe.PLAYING?"mdi-pause":"mdi-play");return(y,w)=>a.isVisible&&a.player?(s(),h(Pe,q({key:0},a.icon,{disabled:!o.value,icon:a.iconStyle?`${c.value}-${a.iconStyle}`:c.value,variant:"button",onClick:w[0]||(w[0]=M=>e(V).playerCommandPlayPause(a.player.player_id))}),null,16,["disabled","icon"])):k("",!0)}}),Rt=T({__name:"PreviousBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){const l=a,{activeSource:i}=Ke(We(l,"player")),r=L(()=>!l.playerQueue?.active||!l.playerQueue?.items||!l.playerQueue.current_index?!1:l.playerQueue.current_index>0),d=L(()=>!l.player||l.playerQueue?.active||!l.player.current_media?!1:l.player.supported_features.includes(_e.NEXT_PREVIOUS)),o=L(()=>i.value?i.value.can_next_previous:r.value||d.value);return(c,y)=>a.isVisible&&a.player?(s(),h(Pe,q({key:0},a.icon,{disabled:!o.value,icon:"mdi-skip-previous-outline",variant:"button",onClick:y[0]||(y[0]=w=>e(V).playerCommandPrevious(a.player.player_id))}),null,16,["disabled"])):k("",!0)}}),zt=T({__name:"ShuffleBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){return(l,i)=>a.isVisible&&a.playerQueue?(s(),h(Pe,q({key:0},a.icon,{disabled:!a.playerQueue.active||a.playerQueue.items==0,color:e(xe)(a.icon?.color,[[a.playerQueue.shuffle_enabled,"primary",""]]),icon:e(xe)(a.icon?.icon,[[a.playerQueue.shuffle_enabled,"mdi-shuffle"],[a.playerQueue.shuffle_enabled==!1,"mdi-shuffle-disabled"],[!0,"mdi-shuffle"]]),variant:"button",onClick:i[0]||(i[0]=r=>e(V).queueCommandShuffle(a.playerQueue.queue_id,!a.playerQueue.shuffle_enabled))}),null,16,["disabled","color","icon"])):k("",!0)}}),cl={key:0,class:"player-controls"},dl={key:0,class:"player-controls-elements"},ml={key:1,class:"player-controls-elements"},pl={key:2},yl={key:3,class:"player-controls-elements"},vl={key:4,class:"player-controls-elements"},wt=T({__name:"PlayerControls",props:{visibleComponents:{default:()=>({repeat:{isVisible:!0},shuffle:{isVisible:!0},play:{isVisible:!0},previous:{isVisible:!0},next:{isVisible:!0}})}},setup(a){return(l,i)=>a.visibleComponents?(s(),p("div",cl,[a.visibleComponents&&a.visibleComponents.shuffle?.isVisible?(s(),p("div",dl,[u(zt,{"player-queue":e(t).activePlayerQueue,class:"media-controls-item",icon:a.visibleComponents.shuffle.icon},null,8,["player-queue","icon"])])):k("",!0),a.visibleComponents&&a.visibleComponents.previous?.isVisible?(s(),p("div",ml,[u(Rt,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item",icon:a.visibleComponents.previous.icon},null,8,["player","player-queue","icon"])])):k("",!0),a.visibleComponents&&a.visibleComponents.play?.isVisible?(s(),p("div",pl,[u(qt,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","icon-style":"circle",icon:a.visibleComponents.play.icon},null,8,["player","player-queue","icon"])])):k("",!0),a.visibleComponents&&a.visibleComponents.next?.isVisible?(s(),p("div",yl,[u(Ft,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,icon:a.visibleComponents.next.icon,"static-height":"24px","static-width":"24px"},null,8,["player","player-queue","icon"])])):k("",!0),a.visibleComponents&&a.visibleComponents.repeat?.isVisible?(s(),p("div",vl,[u(Ot,{"player-queue":e(t).activePlayerQueue,icon:a.visibleComponents.repeat.icon,"static-height":"24px","static-width":"24px"},null,8,["player-queue","icon"])])):k("",!0)])):k("",!0)}}),Nt=T({__name:"QueueBtn",props:{isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){const l=function(){t.showFullscreenPlayer&&t.showQueueItems?t.showQueueItems=!1:t.showFullscreenPlayer&&!t.showQueueItems?t.showQueueItems=!0:(t.showQueueItems=!0,t.showFullscreenPlayer=!0)};return(i,r)=>a.isVisible?(s(),h(Pe,q({key:0},a.icon,{disabled:!e(t).activePlayerId||e(t).showFullscreenPlayer&&!e(t).curQueueItem&&!e(t).showQueueItems,icon:"mdi-playlist-play",color:e(xe)(a.icon?.color,[[e(t).showFullscreenPlayer&&e(t).showQueueItems,"primary",""]]),variant:"button",onClick:l}),null,16,["disabled","color"])):k("",!0)}}),fl={class:"tip-content"},hl={class:"tip-label"},_l={class:"tip-player-name"},bl={class:"tip-hint"},Ut=T({__name:"SpeakerBtn",props:{color:{}},setup(a){const l=Q(!1);let i=!1;const r=L(()=>t.activePlayer?.playback_state===pe.PLAYING||t.activePlayer?.playback_state===pe.PAUSED),d=L(()=>!(i||t.playerTipShown||!t.activePlayer||t.activePlayerId===Te.player_id));function o(){l.value=!1,i=!0,t.playerTipShown=!0}function c(){o(),t.showPlayersMenu=!0}function y(){l.value&&o()}return ge(()=>{if(t.playerTipShown){i=!0;return}setTimeout(()=>{d.value&&(l.value=!0,document.addEventListener("click",y,{capture:!0}))},1e3)}),Vt(()=>{document.removeEventListener("click",y,{capture:!0})}),ee(()=>t.playerTipShown,w=>{w&&l.value&&(l.value=!1,i=!0)}),ee(l,(w,M)=>{M&&!w&&(i=!0,t.playerTipShown=!0)}),(w,M)=>(s(),h(e(yi),{open:l.value,"onUpdate:open":M[0]||(M[0]=A=>l.value=A)},{default:n(()=>[u(e(vi),{"as-child":""},{default:n(()=>[u(he,{variant:"icon",ripple:!1,icon:"",onClick:c},{default:n(()=>[u(oe,{color:a.color?a.color:"",size:24,icon:e(t).activePlayer?.group_members.length?"mdi-speaker-multiple":"mdi-speaker"},null,8,["color","icon"])]),_:1})]),_:1}),u(e(fi),{side:"top","side-offset":8,class:"player-tip",onPointerDownOutside:o,onEscapeKeyDown:o,onFocusOutside:o},{default:n(()=>[_("div",fl,[_("div",hl,I(r.value?w.$t("player_tip.currently_playing"):w.$t("player_tip.selected_player")),1),_("div",_l,I(e(t).activePlayer?.name),1),_("div",bl,I(w.$t("player_tip.click_to_change")),1)]),M[1]||(M[1]=_("div",{class:"tip-arrow"},null,-1))]),_:1})]),_:1},8,["open"]))}}),gl={key:0},Pl={key:0},wl={class:"text-caption ml-1"},kl={key:1},xl=T({__name:"VolumeBtn",props:{volumeSize:{default:"150px"},responsiveVolumeSize:{type:Boolean,default:!0},isVisible:{type:Boolean,default:!0},color:{default:""}},setup(a){const l=a,i=Q(!1),r=Q(t.activePlayer?Math.round(t.activePlayer.group_members.length>0?t.activePlayer.group_volume:t.activePlayer.volume_level||0):0),d=L(()=>{if(!t.activePlayer)return ft;if(t.activePlayer.volume_muted)return _a;const o=r.value;return o===0?ba:o<50?ga:ft});return(o,c)=>l.isVisible&&e(t).activePlayer?(s(),p("div",gl,[u(ot,{modelValue:i.value,"onUpdate:modelValue":c[2]||(c[2]=y=>i.value=y),class:"volume-control-dialog","close-on-content-click":!1,location:"top",scrim:o.$vuetify.theme.current.dark?"rgba(0,0,0,.75)":"rgba(0,0,0,.85)"},{activator:n(({props:y})=>[e(ae)("bp6")||!a.responsiveVolumeSize?(s(),p("div",Pl,[u(nt,{style:"margin-right: 0px; margin-left: 0px;",width:a.volumeSize,"is-powered":e(t).activePlayer?.powered!=!1,disabled:!e(t).activePlayer?.available||e(t).activePlayer?.powered==!1||!e(t).activePlayer?.supported_features.includes(e(_e).VOLUME_SET),"model-value":e(t).activePlayer.group_members.length>0?Math.round(e(t).activePlayer?.group_volume||0):Math.round(e(t).activePlayer?.volume_level||0),"allow-wheel":!0,"onUpdate:modelValue":c[0]||(c[0]=w=>e(t).activePlayer.group_members.length>0?e(V).playerCommandGroupVolume(e(t).activePlayer?.player_id||"",w):e(V).playerCommandVolumeSet(e(t).activePlayer?.player_id||"",w)),"onUpdate:localValue":c[1]||(c[1]=w=>r.value=w)},{prepend:n(()=>[u(he,q({variant:"icon",size:"48",ripple:!1},{...y}),{default:n(()=>[(s(),h(be(d.value),{color:l.color?a.color:"",size:18},null,8,["color"])),_("div",wl,I(Math.round(r.value)),1)]),_:1},16)]),_:2},1032,["width","is-powered","disabled","model-value"])])):(s(),p("div",kl,[u(he,q({...y},{size:"48",variant:"icon"}),{default:n(()=>[(s(),h(be(d.value),{color:l.color?a.color:"",size:24},null,8,["color"])),_("div",{class:"text-caption",style:ne({color:l.color?a.color:""})},I(Math.round(r.value)),5)]),_:1},16)]))]),default:n(()=>[u(Ue,{"min-width":300,style:{overflow:"hidden","padding-top":"20px","padding-bottom":"20px","padding-right":"20px"}},{default:n(()=>[e(t).activePlayer?(s(),h(hi,{key:0,player:e(t).activePlayer,"show-sub-players":!0,"show-sync-controls":!1,"show-heading-row":!0,"show-volume-control":!0,"allow-wheel":!0,style:{"margin-left":"18px"}},null,8,["player"])):k("",!0)]),_:1})]),_:1},8,["modelValue","scrim"])])):k("",!0)}}),$l=ie(xl,[["__scopeId","data-v-a4673e3b"]]),kt=T({__name:"PlayerExtendedControls",props:{queue:{default:()=>({isVisible:!0,showQueueDialog:!1})},player:{default:()=>({isVisible:!0})},volume:{default:()=>({isVisible:!0,volumeSize:"150px",responsiveVolumeSize:!1})}},setup(a){return(l,i)=>(s(),p(G,null,[a.player&&a.player.isVisible?(s(),h(Ut,{key:0,color:a.player.color},null,8,["color"])):k("",!0),a.queue&&a.queue.isVisible?(s(),h(Nt,{key:1,color:a.player.color,style:{"padding-left":"15px","padding-right":"20px"}},null,8,["color"])):k("",!0),a.volume&&a.volume.isVisible?(s(),h($l,{key:2,color:a.volume.color,"volume-size":a.volume.volumeSize,"responsive-volume-size":a.volume.responsiveVolumeSize},null,8,["color","volume-size","responsive-volume-size"])):k("",!0)],64))}});function Oe(a,l,i){if(a===void 0||l===void 0||i!==void 0&&i!==pe.PLAYING)return a;const r=l*1e3,d=Date.now(),c=Math.max(0,d-r)/1e3;return a+c}const Cl={style:{width:"auto",height:"24px"}},Il={key:0,style:{width:"100%"}},Sl=["onClick"],Vl={key:0,class:"time-text-row"},Tl={class:"text-caption time-text-right"},Ll=T({__name:"PlayerTimeline",props:{showLabels:{type:Boolean,default:!1},color:{default:void 0}},setup(a){const{activeSource:l}=Ke(We(t,"activePlayer")),i=Q(!1),r=Q(!0),d=Q(!1),o=Q(0),c=Q(0),y=Q(0);let w=null;const M=(z=500)=>{w||(w=setInterval(()=>y.value=Date.now(),z))},A=()=>{w&&(clearInterval(w),w=null)};Vt(()=>{A()});const S=L(()=>{if(l.value){if(t.activePlayer?.powered===!1)return!1;const b=!!t.activePlayer?.current_media?.duration;if(t.activePlayer?.current_media?.media_type==E.RADIO||t.activePlayer?.current_media?.duration==null)return!1;if(l.value.can_seek&&b)return!0}return!1}),f=L(()=>{if(o.value!=null){if(i.value&&t.activePlayer?.current_media?.duration){const z=t.activePlayer.current_media.duration-o.value;return`-${Le(z)}`}return Le(o.value)}return"0:00"}),R=L(()=>{const z=t.activePlayer?.current_media?.duration;return!z||t.activePlayer?.current_media?.media_type==E.RADIO?"":Le(z)}),O=L(()=>{y.value;const z=t.activePlayer?.playback_state==="playing",b=!!(t.activePlayerQueue&&t.activePlayerQueue.active),x=t.activePlayer?.current_media?.elapsed_time!=null;if(z&&(b||x)?M():A(),d.value)return c.value=o.value,o.value;const $=t.activePlayerQueue;return $?.elapsed_time!=null&&$?.elapsed_time_last_updated!=null?Oe($.elapsed_time,$.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:t.activePlayer?.current_media?.elapsed_time!=null&&t.activePlayer?.current_media?.elapsed_time_last_updated!=null?Oe(t.activePlayer.current_media.elapsed_time,t.activePlayer.current_media.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:t.activePlayer?.elapsed_time!=null&&t.activePlayer?.elapsed_time_last_updated!=null?Oe(t.activePlayer.elapsed_time,t.activePlayer.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:0}),te=L(()=>{const z={};return t.curQueueItem?.media_item?.metadata?.chapters&&t.curQueueItem.media_item.metadata.chapters.forEach(b=>{z[b.start]=b.name}),z});ee(O,z=>{d.value||(o.value=z)});const j=function(){d.value=!0},ye=()=>{d.value=!1,!d.value&&t.activePlayer&&V.playerCommandSeek(t.activePlayer.player_id,Math.round(c.value))},ce=function(z){if(t.curQueueItem?.media_item?.metadata?.chapters){for(const b of t.curQueueItem.media_item.metadata.chapters)if(b.start==z){V.playMedia(t.curQueueItem.media_item.uri,void 0,void 0,b.position.toString());return}}};return(z,b)=>(s(),p("div",Cl,[e(t).activePlayer?(s(),p("div",Il,[u(Xa,{modelValue:o.value,"onUpdate:modelValue":b[0]||(b[0]=x=>o.value=x),disabled:!S.value,style:{width:"100%"},min:0,max:e(t).activePlayer?.current_media?.duration,"hide-details":"","track-size":4,"thumb-size":r.value?0:10,"show-ticks":te.value?"always":!1,ticks:te.value,"tick-size":"4",color:a.color,onTouchstart:b[1]||(b[1]=x=>r.value=!1),onTouchend:b[2]||(b[2]=x=>r.value=!0),onMouseenter:b[3]||(b[3]=x=>r.value=!1),onMouseleave:b[4]||(b[4]=x=>r.value=!0),onStart:j,onEnd:ye},{"tick-label":n(({tick:x})=>[a.showLabels&&!r.value&&Object.values(te.value).length<6?(s(),p("a",{key:0,class:"text-caption",onClick:$=>ce(x.value)},I(x.label),9,Sl)):k("",!0)]),_:1},8,["modelValue","disabled","max","thumb-size","show-ticks","ticks","color"]),a.showLabels?(s(),p("div",Vl,[_("div",{class:"text-caption time-text-left",onClick:b[5]||(b[5]=x=>i.value?i.value=!1:i.value=!0)},I(f.value),1),_("div",Tl,I(R.value),1)])):k("",!0)])):k("",!0)]))}}),Ht=ie(Ll,[["__scopeId","data-v-a2c59ecc"]]),Ql={class:"lyrics-container"},Ml={key:0,class:"lyrics-loading"},Al={key:1,class:"lyrics-empty"},El={key:2,class:"lyrics-intro"},Dl={class:"song-title"},Bl={class:"artist-name"},Ol={class:"lyrics-coming-soon"},Fl=T({__name:"LyricsViewer",props:{mediaItem:{default:void 0},position:{default:void 0},duration:{default:void 0},streamDetails:{default:void 0},textColor:{default:"#FFFFFF"},debugMode:{type:Boolean,default:!1},lyrics:{default:void 0},lrcLyrics:{default:void 0}},setup(a){Tt(P=>({v275a5ede:P.textColor}));const l=a,i=(P,C=!0)=>{if(C&&!l.debugMode)return;(C?console.debug:console.log)(`[lyricSynch] ${P}`)},r=Q([]),d=Q(!1),o=Q(-1),c=Q(null),y=Q(!1),w=Q(0),M=Q(0),A=L(()=>{if(!O.value||!r.value.length)return!1;const P=r.value[0].time,C=l.position||0;return o.value===-1&&C<P}),S=L(()=>{if(!l.mediaItem)return"";if("media_type"in l.mediaItem&&l.mediaItem.media_type==="track"){const P=l.mediaItem;if(P.artists?.length)return P.artists.map(C=>C.name).join(", ")}return"media_type"in l.mediaItem&&l.mediaItem.media_type==="artist"?l.mediaItem.name:""}),f=()=>l.lyrics??l.mediaItem?.metadata?.lyrics??null,R=()=>l.lrcLyrics??l.mediaItem?.metadata?.lrc_lyrics??null;L(()=>{const P=f(),C=R();return!!P&&P.trim().length>0||!!C&&C.trim().length>0});const O=L(()=>{if(r.value.some(D=>D.time>0))return!0;const P=R(),C=f();return!!(P&&P.includes("[")||C&&/\[\d+:\d+[.:]?\d*\]/.test(C))}),te=P=>{const C=P.match(/\[(\d+):(\d+)([.:]\d+)?\](.*)/);if(C){const D=parseInt(C[1]);let N=parseInt(C[2]),se=0;if(C[3]){const le=C[3].replace(/[.:]/,".");se=Math.round(parseFloat(le)*1e3)}return{time:(D*60*1e3+N*1e3+se)/1e3,text:C[4].trim()||" "}}return{time:0,text:P.trim()||" "}},j=()=>{d.value=!0;try{const P=R()||"",C=f()||"";let D="",N=!1;if(P?(D=P,N=!0):C&&/\[\d+:\d+[.:]?\d*\]/.test(C)?(D=C,N=!0):C&&(D=C,N=!1),N){const se=D.split(`
2
+ `).filter(H=>H.trim());r.value=se.map(H=>te(H)).filter(H=>H.text.trim()).sort((H,X)=>H.time-X.time),i(`Loaded ${r.value.length} synchronized lyrics lines`,!1)}else if(D){const se=D.split(`
3
+ `).filter(H=>H.trim());r.value=se.map(H=>({time:0,text:H.trim()})).filter(H=>H.text),i(`Loaded ${r.value.length} plain text lyrics lines`,!1)}else r.value=[]}catch(P){i(`Error processing lyrics: ${P}`,!1),r.value=[]}finally{d.value=!1}},ye=P=>{const C=P;i(`Calculating look-ahead at ${P.toFixed(3)}s`);let D=-1,N=-1;for(let ve=0;ve<r.value.length;ve++)if(r.value[ve].time<=C)D=ve;else{N=ve;break}if(i(`Current lyric index: ${D}, Next lyric index: ${N}`),N===0){const me=r.value[0].time-C;if(i(`Pre-lyrics intro: ${me.toFixed(2)}s until first lyric`),me>5){i("Long intro - using fixed look-ahead: 0.3s"),w.value=.3;return}else if(me>2){const Se=Math.min(1,me*.15);i(`Medium intro - calculated look-ahead: ${Se.toFixed(2)}s`),w.value=Se;return}i("Short intro - using standard calculation")}if(N===-1||D===-1){i("Cannot determine appropriate look-ahead, using default: 0.3s"),w.value=.3;return}const se=r.value[D].time,H=r.value[N].time,X=H-se,le=w.value;i(`Gap analysis:
4
+ - Current lyric time: ${se.toFixed(3)}s
5
+ - Next lyric time: ${H.toFixed(3)}s
6
+ - Gap between lyrics: ${X.toFixed(3)}s
7
+ - Previous look-ahead: ${le.toFixed(3)}s`);let de;X<.5?(de=.3,i(`Very rapid lyrics detected (${X.toFixed(2)}s gap) - using 30% look-ahead`)):X<.8?(de=.1,i(`Fast lyrics detected (${X.toFixed(2)}s gap) - using 10% look-ahead`)):X<1.5?(de=.2,i(`Medium lyrics detected (${X.toFixed(2)}s gap) - using 20% look-ahead`)):X<3?(de=.3,i(`Slower lyrics detected (${X.toFixed(2)}s gap) - using 30% look-ahead`)):X>10?(de=.02,i(`Very slow lyrics detected (${X.toFixed(2)}s gap) - using 2% look-ahead`)):(de=.4,i(`Slow lyrics detected (${X.toFixed(2)}s gap) - using 40% look-ahead`));const Ce=Math.min(1.5,X*de);i(`Target look-ahead: ${Ce.toFixed(3)}s`);const Me=Math.abs(Ce-le),Ie=Math.min(.8,.3+Me*.5),we=le*(1-Ie)+Ce*Ie;i(`Smoothed look-ahead: ${we.toFixed(3)}s (adaptation rate: ${(Ie*100).toFixed(0)}%)`),Math.abs(we-le)>.3&&i(`Look-ahead adjusted: ${le.toFixed(2)}s → ${we.toFixed(2)}s`,!1),w.value=we},ce=P=>P===void 0||!r.value.length||!O.value||y.value,z=P=>{const C=Math.round((P+w.value)*1e3);let D=-1;for(let N=0;N<r.value.length&&Math.round(r.value[N].time*1e3)<=C;N++)D=N;return D},b=(P,C)=>{P<0||P===o.value||(i(`Lyric activated: "${r.value[P].text}"`),i(`Activating lyric at ${C.toFixed(2)}s (adjusted: ${(C+w.value).toFixed(2)}s):
8
+ - Index: ${P}
9
+ - Lyric time: ${r.value[P].time.toFixed(2)}s`),i(`Transition details:
10
+ - Raw position: ${C.toFixed(3)}s
11
+ - Dynamic look-ahead: ${w.value.toFixed(3)}s
12
+ - Adjusted position: ${(C+w.value).toFixed(3)}s`),P>0&&x(P,C),M.value=C,o.value=P,Ne(()=>$()))},x=(P,C)=>{const D=C-M.value,N=r.value[P].time-r.value[P-1].time;i(`Timing analysis:
13
+ - Expected gap: ${N.toFixed(3)}s
14
+ - Actual gap: ${D.toFixed(3)}s
15
+ - Difference: ${(D-N).toFixed(3)}s`)},$=()=>{const P=document.querySelector(".lyrics-line.active"),C=c.value;P&&C&&P.scrollIntoView({behavior:"smooth",block:"center"})};return ee([()=>l.mediaItem?.item_id,()=>l.lyrics,()=>l.lrcLyrics],()=>{j()},{immediate:!0}),ee(()=>l.position,P=>{if(ce(P))return;const C=P??0;ye(C);const D=z(C);D!==o.value&&b(D,C)}),ge(()=>{const P=c.value;P&&P.addEventListener("scroll",()=>{y.value=!0,setTimeout(()=>{y.value=!1},8e3)},{passive:!0})}),(P,C)=>(s(),p("div",Ql,[d.value?(s(),p("div",Ml,[u(Ja,{indeterminate:"",color:a.textColor},null,8,["color"]),_("div",null,I(e(Z)("loading_lyrics")),1)])):r.value.length?A.value&&O.value?(s(),p("div",El,[_("div",Dl,I(l.mediaItem?.name),1),_("div",Bl,I(S.value),1),_("div",Ol,I(e(Z)("lyrics_will_appear_soon")),1)])):(s(),p("div",{key:3,ref_key:"lyricsContainer",ref:c,class:Y(["lyrics-scroll-container",{"static-lyrics":!O.value}])},[(s(!0),p(G,null,ue(r.value,(D,N)=>(s(),p("div",{key:N,class:Y(["lyrics-line",{active:o.value===N||!O.value}])},I(D.text),3))),128))],2)):(s(),p("div",Al,I(e(Z)("no_lyrics_available")),1))]))}}),ql=ie(Fl,[["__scopeId","data-v-1a18eb83"]]),Rl=["onClick"],zl={class:"main"},Nl={key:0,class:"main-media-details"},Ul={key:0,class:"main-media-details-image"},Hl={key:1,class:"icon-thumb-large"},Wl={class:"main-media-details-track-info"},jl={key:8,style:{margin:"auto","padding-top":"20px"}},Kl={key:1,class:"main-queue-items"},Gl={class:"queue-items-scroll-box"},Yl={class:"media-thumb listitem-media-thumb"},Xl={class:"title-row"},Jl={class:"d-flex"},Zl={style:{"white-space":"nowrap"},class:"pr-1"},es={key:0},ts={key:0,style:{"margin-left":"50px"}},as={key:0,class:"text-caption"},is={key:1,class:"lyrics-wrapper"},ls={key:2,class:"main-queue-items"},ss={class:"main-media-details-image main-media-details-image-alt"},rs={key:1,class:"icon-thumb-large"},os={class:"player-bottom"},ns={class:"row",style:{"margin-left":"5%","margin-right":"5%"}},us={class:"media-controls"},cs={key:0,class:"row",style:{"margin-left":"5%","margin-right":"5%"}},ds={key:1,class:"row",style:{height:"70px",display:"flex","justify-content":"center","align-items":"center","padding-bottom":"15px","padding-top":"15px"}},ms=T({__name:"PlayerFullscreen",props:{colorPalette:{}},setup(a){const{name:l}=At(),i=a,r=new st,d=Q(-1),o=new st,c=Q([]),y=Q(0),w=Q(!1),M=Q(0);let A=null;const S=(v=250)=>{A||(A=setInterval(()=>M.value=Date.now(),v))},f=()=>{A&&(clearInterval(A),A=null)},R=L(()=>{M.value;const v=t.activePlayer?.playback_state===pe.PLAYING,m=t.activePlayerQueue;return v&&m?.active?S():f(),m?.elapsed_time!=null&&m?.elapsed_time_last_updated!=null?Oe(m.elapsed_time,m.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:0}),O=L(()=>t.activePlayerQueue?c.value.slice(t.activePlayerQueue.current_index):[]),te=L(()=>t.activePlayerQueue?c.value.slice(0,t.activePlayerQueue.current_index).reverse():[]),j=Q({plain:null,synced:null}),ye=L(()=>{const v=j.value.plain,m=j.value.synced;return!!v&&v.trim().length>0||!!m&&m.trim().length>0}),ce=async()=>{if(j.value={plain:null,synced:null},!t.showFullscreenPlayer)return;const v=t.curQueueItem?.media_item;if(!v||v.media_type!==E.TRACK)return;const m=v,g=m.metadata?.lyrics?.trim()||null,F=m.metadata?.lrc_lyrics?.trim()||null;if(g||F){j.value={plain:g,synced:F};return}try{const[B,J]=await V.getTrackLyrics(m);j.value={plain:B,synced:J},(B||J)&&(m.metadata={...m.metadata,...B&&{lyrics:B},...J&&{lrc_lyrics:J}})}catch(B){console.error("Failed to fetch track lyrics:",B)}};ee(()=>t.curQueueItem?.media_item?.item_id,ce,{immediate:!0}),ee(()=>t.showFullscreenPlayer,v=>{v&&ce()});const z=L(()=>{switch(l.value){case"xs":return"1.2em";case"sm":return"1.6em";case"md":return"2em";case"lg":return t.showQueueItems?"1.5em":"2.5em";case"xl":return t.showQueueItems?"1.6em":"3em";case"xxl":return t.showQueueItems?"1.7em":"3.2em";default:return"1.0em."}}),b=L(()=>{switch(l.value){case"xs":return"1.0em";case"sm":return"1.2em";case"md":return"1.7em";case"lg":return t.showQueueItems?"1.0em":"1.6em";case"xl":return t.showQueueItems?"1.2em":"2em";case"xxl":return t.showQueueItems?"1.2em":"2em";default:return"1.0em."}}),x=L(()=>Fe.display.height.value>800),$=function(v){t.showFullscreenPlayer=!1,Xe.push({name:v.media_type,params:{itemId:v.item_id,provider:v.provider}})},P=function(v){if(!v)return null;const m=[E.ALBUM,E.ARTIST,E.TRACK,E.PLAYLIST,E.RADIO,E.PODCAST,E.AUDIOBOOK,E.PODCAST_EPISODE];let g=v.match(/^([^:]+):\/\/([^/]+)\/(.+)$/);if(g){const[,F,B,J]=g;if(m.includes(B))return{provider:F,mediaType:B,itemId:J}}if(g=v.match(/^([^:]+):([^:]+):(.+)$/),g){const[,F,B,J]=g;if(m.includes(B))return{provider:F,mediaType:B,itemId:J}}return null},C=function(v,m){const g=P(m);g&&V.getProvider(g.provider)?(t.showFullscreenPlayer=!1,Xe.push({name:g.mediaType,params:{itemId:g.itemId,provider:g.provider}})):(t.globalSearchTerm=v,Xe.push({name:"search"}),t.showFullscreenPlayer=!1)},D=function(){const v=t.activePlayer?.current_media;if(!v)return;const m=v.artist?`${v.artist} - ${v.title}`:v.title||"";C(m,v.uri)},N=function(){const v=t.activePlayer?.current_media;if(!v?.album)return;const m=v.artist?`${v.artist} - ${v.album}`:v.title||"";C(m,v.uri)},se=function(){const v=t.activePlayer?.current_media;v?.artist&&C(v.artist,v.uri)},H=function(v,m){const g=c.value.indexOf(m),F=[{label:"play_now",labelArgs:[],action:()=>{le(m,"play_now")},icon:"mdi-play-circle-outline",disabled:g===t.activePlayerQueue?.current_index||g===t.activePlayerQueue?.index_in_buffer},{label:"play_next",labelArgs:[],action:()=>{le(m,"move_next")},icon:"mdi-skip-next-circle-outline",disabled:g<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_up",labelArgs:[],action:()=>{le(m,"up")},icon:"mdi-arrow-up",disabled:g<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_down",labelArgs:[],action:()=>{le(m,"down")},icon:"mdi-arrow-down",disabled:g<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_delete",labelArgs:[],action:()=>{le(m,"delete")},icon:"mdi-delete",disabled:g<=(t.activePlayerQueue?.index_in_buffer||0)}];m?.media_item?.media_type==E.TRACK&&F.push({label:"show_info",labelArgs:[],action:()=>{$(m.media_item)},icon:"mdi-information-outline",disabled:!1}),ke.emit("contextmenu",{items:F,posX:v.clientX,posY:v.clientY})},X=function(v){t.activePlayer&&ke.emit("contextmenu",{items:_i(t.activePlayer,t.activePlayerQueue),posX:v.clientX,posY:v.clientY})},le=function(v,m){!v||!t.activePlayerQueue||(m=="play_now"?V.queueCommandPlayIndex(t.activePlayerQueue?.queue_id,v.queue_item_id):m=="move_next"?V.queueCommandMoveNext(t.activePlayerQueue?.queue_id,v.queue_item_id):m=="up"?V.queueCommandMoveUp(t.activePlayerQueue?.queue_id,v.queue_item_id):m=="down"?V.queueCommandMoveDown(t.activePlayerQueue?.queue_id,v.queue_item_id):m=="delete"&&V.queueCommandDelete(t.activePlayerQueue?.queue_id,v.queue_item_id))},de=async function(){w.value=!0,c.value=[],await vt(100),w.value=!1},Ce=async function({done:v}){if(!t.activePlayerQueue||t.activePlayerQueue.items==0){v("empty");return}if(c.value.length>=t.activePlayerQueue?.items){v("empty");return}const m=c.value.length,g=(t.activePlayerQueue.current_index||0)+50,F=await V.getPlayerQueueItems(t.activePlayerQueue.queue_id,g,m);c.value.push(...F),F.length<50?v("empty"):v("ok")};ge(()=>{const v=V.subscribe(Kt.QUEUE_ITEMS_UPDATED,m=>{m.object_id==t.activePlayerQueue?.queue_id&&(m.data,de())});ze(v)});const Me=v=>{v.key==="Escape"&&t.showFullscreenPlayer&&!t.dialogActive&&(t.showFullscreenPlayer=!1)};ge(()=>{window.addEventListener("keydown",Me),ze(()=>{window.removeEventListener("keydown",Me),f()})});const Ie=async function(v){if(!t.curQueueItem?.media_item)return;if(!t.curQueueItem.media_item.favorite){V.toggleFavorite(t.curQueueItem.media_item);return}let m=t.curQueueItem.media_item;(m.provider!="library"||!("provider_mappings"in m))&&[E.ALBUM,E.ARTIST,E.AUDIOBOOK,E.PLAYLIST,E.PODCAST,E.RADIO,E.TRACK].includes(m.media_type)&&(m=await V.getLibraryItem(m.media_type,m.item_id,m.provider)||m);const g=[];"favorite"in m&&m.favorite&&m.provider=="library"&&[E.ALBUM,E.ARTIST,E.AUDIOBOOK,E.PLAYLIST,E.PODCAST,E.RADIO,E.TRACK].includes(m.media_type)&&g.push({label:"favorites_remove",labelArgs:[],action:()=>{V.removeItemFromFavorites(m.media_type,m.item_id),m.favorite=!1,t.curQueueItem.media_item.favorite=!1},icon:"mdi-heart"}),[E.ALBUM,E.ARTIST,E.AUDIOBOOK,E.PLAYLIST,E.PODCAST,E.RADIO,E.TRACK].includes(m.media_type)&&g.push({label:"add_playlist",labelArgs:[],action:()=>{ke.emit("playlistdialog",{items:[t.curQueueItem.media_item]})},icon:"mdi-plus-circle-outline"}),ke.emit("contextmenu",{items:g,posX:v.clientX,posY:v.clientY})},we=function(){w.value=!0,vt(100).then(()=>{w.value=!1})},ve=function(v,m){V.playMedia(v.uri,Gt.PLAY,void 0,m.position.toString())};ee(()=>t.activePlayerId,v=>{de()},{immediate:!0});const me=Q(void 0),Se=Q(void 0);return Pa(()=>{const v=De("white"),m=De("black"),g=5,F=.05,B=Fe.theme.current.value.dark?i.colorPalette.darkColor||"#000":i.colorPalette.lightColor||"#fff";let J=De(B);const ct=v.contrast(J),dt=m.contrast(J),mt=ct>=dt;let Ge=mt?v:m,Ye=Math.max(ct,dt);if(Ye<g){let pt=F;for(;Ye<g&&pt<=.5;)mt?J=J.darken(F):J=J.lighten(F),Ye=De(Ge).contrast(J),pt+=F}document.documentElement.style.setProperty("--text-color",Ge.hex()),me.value=Ge.hex(),Se.value=J.hex()}),(v,m)=>(s(),h(Mt,{modelValue:e(t).showFullscreenPlayer,"onUpdate:modelValue":m[8]||(m[8]=g=>e(t).showFullscreenPlayer=g),fullscreen:"",scrim:!1,transition:"dialog-bottom-transition","z-index":"9999",persistent:""},{default:n(()=>[u(Ue,{color:Se.value},{default:n(()=>[u(Za,{class:"v-toolbar-default",color:"transparent"},{prepend:n(()=>[u(he,{icon:"",onClick:m[0]||(m[0]=g=>e(t).showFullscreenPlayer=!1)},{default:n(()=>[u(oe,{icon:"mdi-chevron-down"})]),_:1})]),append:n(()=>[e(t).activePlayerQueue?.radio_source.length?(s(),h(ot,{key:0,scrim:""},{activator:n(({props:g})=>[u(he,q(g,{icon:""}),{default:n(()=>[u(oe,{color:"accent",icon:"mdi-radio-tower"})]),_:1},16)]),default:n(()=>[u(Ue,{title:e(Z)("queue_radio_enabled"),subtitle:e(Z)("queue_radio_based_on")},{text:n(()=>[(s(!0),p(G,null,ue(e(t).activePlayerQueue?.radio_source,g=>(s(),p("div",{key:g.uri},[_("a",{onClick:F=>$(g)},I(g.name),9,Rl)]))),128))]),_:1},8,["title","subtitle"])]),_:1})):k("",!0),x.value?k("",!0):(s(),h(Ut,{key:1})),u(he,{icon:"",onClick:Ee(X,["stop"])},{default:n(()=>[u(oe,{icon:"mdi-dots-vertical"})]),_:1})]),_:1}),_("div",zl,[e(ae)("bp7")||!e(t).showQueueItems?(s(),p("div",Nl,[v.$vuetify.display.height>600?(s(),p("div",Ul,[e(t).activePlayer?.powered!=!1&&e(t).activePlayer?.current_media?.image_url?(s(),h(it,{key:0,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:e(qe)(e(t).activePlayer.current_media.image_url)},null,8,["src"])):(s(),p("div",Hl,[u(oe,{size:"128",icon:e(t).activePlayer?.type==e(et).PLAYER&&e(t).activePlayer?.group_members.length?"mdi-speaker-multiple":e(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"])]))])):k("",!0),_("div",Wl,[e(t).activePlayer?.powered==!1?(s(),h(Be,{key:0,style:ne(`font-size: ${z.value};`)},{default:n(()=>[K(I(e(t).activePlayer?.name),1)]),_:1},8,["style"])):e(t).activePlayer?.current_media?.title?(s(),h(Be,{key:1,style:ne(`font-size: ${z.value};cursor:pointer;`),onClick:D},{default:n(()=>[u(fe,{sync:e(r)},{default:n(()=>[K(I(e(t).activePlayer.current_media.title),1)]),_:1},8,["sync"])]),_:1},8,["style"])):(s(),h(Be,{key:2,style:ne(`font-size: ${z.value};cursor:pointer;`),onClick:m[1]||(m[1]=g=>e(t).showPlayersMenu=!0)},{default:n(()=>[u(fe,{sync:e(r)},{default:n(()=>[K(I(e(t).activePlayer?.name||e(Z)("no_player")),1)]),_:1},8,["sync"])]),_:1},8,["style"])),e(t).activePlayer?.powered==!1?(s(),h(Ve,{key:3,class:"text-h6 text-md-h5 text-lg-h4"},{default:n(()=>[K(I(e(Z)("off")),1)]),_:1})):e(t).activePlayer?.current_media?.album?(s(),h(Ve,{key:4,style:ne(`font-size: ${b.value};cursor:pointer;`),onClick:N},{default:n(()=>[u(fe,{sync:e(r)},{default:n(()=>[K(I(e(t).activePlayer.current_media.album),1)]),_:1},8,["sync"])]),_:1},8,["style"])):k("",!0),e(t).activePlayer?.current_media?.artist?(s(),h(Ve,{key:5,style:ne(`font-size: ${b.value};cursor:pointer;`),onClick:se},{default:n(()=>[u(fe,{sync:e(r)},{default:n(()=>[K(I(e(t).activePlayer.current_media.artist),1)]),_:1},8,["sync"])]),_:1},8,["style"])):k("",!0),!e(t).activePlayerQueue&&e(t).activePlayer?.active_source?(s(),h(Ve,{key:6,class:"caption"},{default:n(()=>[K(I(e(Z)("external_source_active",[e(Ct)(e(t).activePlayer)])),1)]),_:1})):e(t).activePlayerQueue&&e(t).activePlayerQueue.items==0?(s(),h(Ve,{key:7,class:"caption"},{default:n(()=>[K(I(e(Z)("queue_empty")),1)]),_:1})):k("",!0),e(t).activePlayer?.powered!=!1&&e(t).curQueueItem?.streamdetails?(s(),p("div",jl,[u(Qt)])):k("",!0)])])):k("",!0),e(t).showQueueItems&&e(t).activePlayerQueue?(s(),p("div",Kl,[u(ei,{modelValue:y.value,"onUpdate:modelValue":m[2]||(m[2]=g=>y.value=g),"hide-slider":"",density:"compact",onClick:we},{default:n(()=>[u(Ze,{value:0},{default:n(()=>[K(I(e(Z)("queue"))+" ",1),u(at,{color:"grey",content:(e(t).activePlayerQueue?.items||0)-(e(t).activePlayerQueue?.current_index||0),inline:""},null,8,["content"])]),_:1}),u(Ze,{value:1},{default:n(()=>[K(I(e(Z)("played"))+" ",1),u(at,{color:"grey",content:e(t).activePlayerQueue?.current_index,inline:""},null,8,["content"])]),_:1}),ye.value?(s(),h(Ze,{key:0,value:2},{default:n(()=>[K(I(e(Z)("lyrics")),1)]),_:1})):k("",!0)]),_:1},8,["modelValue"]),_("div",Gl,[!w.value&&y.value!==2?(s(),h(ti,{key:0,onLoad:Ce,"empty-text":"",height:"100%"},{default:n(()=>[u(ai,{"item-height":70,"max-height":"90%",items:y.value==0?O.value:te.value},{default:n(({item:g,index:F})=>[u(bi,{link:"","show-menu-btn":!0,disabled:!g.available,onClick:Ee(B=>H(B,g),["stop"]),onMenu:Ee(B=>H(B,g),["stop"]),onMouseenter:B=>d.value=F,onMouseleave:m[3]||(m[3]=B=>d.value=-1)},{prepend:n(()=>[_("div",Yl,[u(Lt,{size:"50",item:g},null,8,["item"])])]),title:n(()=>[_("div",Xl,[u(fe,{sync:F==0&&y.value==0?e(r):e(o),disabled:!(F==0&&y.value==0||d.value==F)},{default:n(()=>[_("span",{class:Y({"is-playing":g.queue_item_id===e(t).curQueueItem?.queue_item_id})},I(g.name),3)]),_:2},1032,["sync","disabled"])])]),subtitle:n(()=>[_("div",Jl,[_("span",Zl,I(e(Le)(g.duration))+" | ",1),u(fe,{sync:F==0&&y.value==0?e(r):e(o),disabled:!(F==0&&y.value==0||d.value==F)},{default:n(()=>[g.media_item&&"album"in g.media_item&&g.media_item.album?(s(),p("span",es,I(g.media_item.album.name),1)):k("",!0)]),_:2},1032,["sync","disabled"])])]),append:n(()=>[g.queue_item_id===e(t).curQueueItem?.queue_item_id&&e(t).activePlayer?.playback_state!=e(pe).IDLE?(s(),h(Et,{key:0,"show-badge":e(ae)("bp4")},null,8,["show-badge"])):k("",!0),g.available?k("",!0):(s(),h(oe,{key:1},{default:n(()=>[...m[9]||(m[9]=[K("mdi-alert",-1)])]),_:1}))]),_:2},1032,["disabled","onClick","onMenu","onMouseenter"]),g.queue_item_id==e(t).curQueueItem?.queue_item_id&&g.media_item?.metadata?.chapters?.length?(s(),p("div",ts,[(s(!0),p(G,null,ue(g.media_item.metadata?.chapters,B=>(s(),h(Qe,{key:B.position,onClick:Ee(J=>ve(g.media_item,B),["stop"])},{title:n(()=>[_("div",null,I(B.name),1)]),append:n(()=>[B.end?(s(),p("span",as,I(e(Le)(B.end-B.start)),1)):k("",!0)]),_:2},1032,["onClick"]))),128))])):k("",!0)]),_:1},8,["items"])]),_:1})):k("",!0),y.value===2?(s(),p("div",is,[u(ql,{"media-item":e(t).curQueueItem?.media_item,position:R.value,duration:e(t).curQueueItem?.duration,"stream-details":e(t).curQueueItem?.streamdetails,"text-color":me.value,lyrics:j.value.plain,"lrc-lyrics":j.value.synced},null,8,["media-item","position","duration","stream-details","text-color","lyrics","lrc-lyrics"])])):k("",!0)])])):k("",!0),!e(t).showQueueItems&&v.$vuetify.display.height<=600?(s(),p("div",ls,[_("div",ss,[e(t).activePlayer?.current_media?.image_url?(s(),h(it,{key:0,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:e(qe)(e(t).activePlayer.current_media.image_url)},null,8,["src"])):(s(),p("div",rs,[u(oe,{size:"128",icon:e(t).activePlayer?.type==e(et).PLAYER&&e(t).activePlayer?.group_members.length?"mdi-speaker-multiple":e(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"])]))])])):k("",!0)]),_("div",os,[_("div",ns,[u(Ht,{"show-labels":!0,color:me.value},null,8,["color"])]),_("div",us,[e(t).activePlayerQueue?(s(),h(Pe,{key:0,disabled:!e(t).curQueueItem?.media_item,icon:e(t).curQueueItem?.media_item?.favorite?"mdi-heart":"mdi-heart-outline",title:e(Z)("tooltip.favorite"),variant:"button",class:"media-controls-item","max-height":"30px",onClick:Ie},null,8,["disabled","icon","title"])):k("",!0),v.$vuetify.display.mdAndUp?(s(),h(zt,{key:1,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"30px"},null,8,["player-queue"])):k("",!0),u(Rt,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),u(qt,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"70px"},null,8,["player","player-queue"]),u(Ft,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),v.$vuetify.display.mdAndUp?(s(),h(Ot,{key:2,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"35px"},null,8,["player-queue"])):k("",!0),e(t).activePlayerQueue?(s(),h(Nt,{key:3,class:"media-controls-item","max-height":"30px"})):k("",!0)]),e(t).activePlayer?(s(),p("div",cs,[u(nt,{width:"100%","is-powered":e(t).activePlayer?.powered!=!1,disabled:!e(t).activePlayer||!e(t).activePlayer?.available||e(t).activePlayer.powered==!1||!e(t).activePlayer.supported_features.includes(e(_e).VOLUME_SET),"model-value":Math.round(e(t).activePlayer.group_members.length>0?e(t).activePlayer.group_volume:e(t).activePlayer.volume_level||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus",color:me.value,"allow-wheel":!0,"onUpdate:modelValue":m[4]||(m[4]=g=>e(t).activePlayer.group_members.length>0?e(V).playerCommandGroupVolume(e(t).activePlayerId,g):e(V).playerCommandVolumeSet(e(t).activePlayerId,g)),"onClick:prepend":m[5]||(m[5]=g=>e(t).activePlayer.group_members.length>0?e(V).playerCommandGroupVolumeDown(e(t).activePlayerId):e(V).playerCommandVolumeDown(e(t).activePlayerId)),"onClick:append":m[6]||(m[6]=g=>e(t).activePlayer.group_members.length>0?e(V).playerCommandGroupVolumeUp(e(t).activePlayerId):e(V).playerCommandVolumeUp(e(t).activePlayerId))},null,8,["is-powered","disabled","model-value","color"])])):k("",!0),x.value?(s(),p("div",ds,[u(lt,{class:"responsive-icon-holder-btn",variant:"outlined",onClick:m[7]||(m[7]=g=>e(t).showPlayersMenu=!0)},{default:n(()=>[u(oe,{icon:e(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"]),K(" "+I(e(t).activePlayer?e(It)(e(t).activePlayer):""),1)]),_:1})])):k("",!0)])]),_:1},8,["color"])]),_:1},8,["modelValue"]))}}),ps=ie(ms,[["__scopeId","data-v-94753a98"]]),ys={key:0},vs={key:1,class:"icon-thumb"},fs={key:0},hs={key:0,class:"pl-4"},_s={key:0},bs={class:"ma-line-clamp-1"},gs={class:"ma-line-clamp-1"},Ps={key:0},ws={key:1},ks={key:2},xs={key:2,class:"ma-line-clamp-1"},$s={key:3,class:"ma-line-clamp-1"},Cs={key:4},Is=T({__name:"PlayerTrackDetails",props:{showOnlyArtist:{type:Boolean,default:!1},showQualityDetailsBtn:{type:Boolean,default:!0},colorPalette:{},primaryColor:{default:""}},setup(a){const l=new st,i=a,r=L(()=>t.activePlayerQueue?.current_item?.streamdetails);return(d,o)=>(s(),p(G,null,[u(Qe,{class:"player-track-details",style:{height:"auto",width:"100%",margin:"0px",padding:"0px"},lines:"two"},{prepend:n(()=>[_("div",{class:"media-thumb player-media-thumb",style:ne(`cursor: pointer;height: ${e(ae)({breakpoint:"phone"})?60:64}px; width: ${e(ae)({breakpoint:"phone"})?60:64}px; `),onClick:o[0]||(o[0]=c=>e(t).showFullscreenPlayer=!0)},[e(t).activePlayer?.powered!=!1&&e(t).activePlayer?.current_media?.image_url?(s(),p("div",ys,[u(it,{class:"media-thumb",style:{"border-radius":"4px"},size:"60",src:e(qe)(e(t).activePlayer.current_media.image_url)},null,8,["src"])])):(s(),p("div",vs,[u(oe,{size:"32",icon:e(t).activePlayer?.type==e(et).PLAYER&&e(t).activePlayer?.group_members.length?"mdi-speaker-multiple":e(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"])]))],4)]),title:n(()=>[_("div",{style:ne({cursor:"pointer",color:a.primaryColor}),class:"d-flex align-center"},[e(t).activePlayer&&e(t).activePlayer?.powered!=!1?(s(),p("div",fs,I(e(It)(e(t).activePlayer)),1)):e(t).activePlayer?.powered==!1?(s(),p("div",{key:1,onClick:o[1]||(o[1]=c=>e(t).showPlayersMenu=!0)},I(e(t).activePlayer?.name),1)):(s(),p("div",{key:2,onClick:o[2]||(o[2]=c=>e(t).showPlayersMenu=!0)},I(d.$t("no_player")),1)),e(t).activePlayer&&e(t).activePlayer?.powered!=!1&&e(t).activePlayer?.playback_state!=e(pe).IDLE?(s(),h(Et,{key:3,"show-badge":!1,"show-icon":!0,"icon-style":"margin-left: 12px; margin-bottom: 4px;"})):k("",!0)],4)]),append:n(()=>[r.value?.audio_format.content_type&&!e(ae)({breakpoint:"phone"})&&a.showQualityDetailsBtn?(s(),p("div",hs,[u(Qt)])):k("",!0)]),subtitle:n(()=>[_("div",{style:ne({cursor:"pointer",color:a.primaryColor}),onClick:o[3]||(o[3]=c=>e(t).showFullscreenPlayer=!0)},[e(t).activePlayer?.powered==!1?(s(),p("div",_s,I(d.$t("off")),1)):e(t).activePlayer?.current_media?.title?(s(),p(G,{key:1},[_("div",bs,[u(fe,{sync:e(l)},{default:n(()=>[K(I(e(t).activePlayer.current_media.title),1)]),_:1},8,["sync"])]),_("div",gs,[u(fe,{sync:e(l)},{default:n(()=>[e(t).activePlayer?.current_media?.artist&&e(t).activePlayer?.current_media?.album&&!i.showOnlyArtist?(s(),p("span",Ps,I(e(t).activePlayer?.current_media?.artist)+" • "+I(e(t).activePlayer?.current_media?.album),1)):e(t).activePlayer?.current_media?.artist?(s(),p("span",ws,I(e(t).activePlayer?.current_media?.artist),1)):e(t).activePlayer?.current_media?.album?(s(),p("span",ks,I(e(t).activePlayer?.current_media?.album),1)):k("",!0)]),_:1},8,["sync"])])],64)):e(t).activePlayer&&!e(t).activePlayerQueue&&e(t).activePlayer?.active_source?(s(),p("div",xs,I(d.$t("external_source_active",[e(Ct)(e(t).activePlayer)])),1)):e(t).activePlayerQueue&&e(t).activePlayerQueue.items==0?(s(),p("div",$s,I(d.$t("queue_empty")),1)):e(t).activePlayer?(s(),p("div",Cs,I(e(t).activePlayer?.name),1)):k("",!0)],4)]),_:1}),u(ps,{"show-fullscreen":e(t).showFullscreenPlayer,"color-palette":a.colorPalette},null,8,["show-fullscreen","color-palette"])],64))}}),xt=ie(Is,[["__scopeId","data-v-5a848776"]]),Ss=["data-floating"],Vs={class:"mediacontrols"},Ts={class:"mediacontrols-left"},Ls={class:"mediacontrols-bottom-center"},Qs={class:"mediacontrols-bottom-right"},Ms={key:1,class:"mediacontrols-mobile-container"},As=["data-floating"],Es={class:"mediacontrols","data-mobile":!0},Ds={class:"mediacontrols-left"},Bs={class:"mediacontrols-bottom-right"},Os={key:0,class:"volume-slider"},Fs=T({__name:"Player",props:{useFloatingPlayer:{type:Boolean}},setup(a){Tt(o=>({v45d54d6a:d.value}));const{mobile:l}=At({mobileBreakpoint:576}),i=Q({0:"",1:"",2:"",3:"",4:"",5:"",lightColor:"",darkColor:""}),r=new Image;r.src=Fe.theme.current.value.dark?Wa:ja,r.crossOrigin="Anonymous",r.addEventListener("load",function(){i.value=Yt(r)});const d=L(()=>Fe.theme.current.value.dark?i.value&&i.value.darkColor?i.value.darkColor:"#CCCCCC26":i.value&&i.value.lightColor?i.value.lightColor:"#CCCCCC26");return ee(()=>t.activePlayer?.current_media?.image_url,()=>{t.activePlayer?.current_media?.image_url?r.src=qe(t.activePlayer.current_media.image_url):r.src=""}),(o,c)=>e(l)?(s(),p("div",Ms,[_("div",{class:"mediacontrols-bg","data-floating":a.useFloatingPlayer},null,8,As),_("div",Es,[_("div",Ds,[u(xt,{"show-quality-details-btn":!1,"show-only-artist":!0,"color-palette":i.value,"primary-color":o.$vuetify.theme.current.dark?"#fff":"#000"},null,8,["color-palette","primary-color"])]),_("div",Bs,[_("div",null,[u(kt,{queue:{isVisible:!1,color:o.$vuetify.theme.current.dark?"#fff":"#000"},player:{isVisible:!0,color:o.$vuetify.theme.current.dark?"#fff":"#000"},volume:{isVisible:!1,color:o.$vuetify.theme.current.dark?"#fff":"#000"}},null,8,["queue","player","volume"]),u(wt,{style:{"padding-right":"5px"},"visible-components":{repeat:{isVisible:!1},shuffle:{isVisible:!1},play:{isVisible:!0,icon:{staticWidth:"40px",staticHeight:"40px",color:o.$vuetify.theme.current.dark?"#fff":"#000"}},previous:{isVisible:!1},next:{isVisible:!1}}},null,8,["visible-components"])])])]),e(t).activePlayer?(s(),p("div",Os,[u(nt,{width:"100%",color:"secondary","is-powered":e(t).activePlayer?.powered!=!1,disabled:!e(t).activePlayer||!e(t).activePlayer?.available||e(t).activePlayer.powered==!1||!e(t).activePlayer.supported_features.includes(e(_e).VOLUME_SET),"model-value":Math.round(e(t).activePlayer.group_members.length>0?e(t).activePlayer.group_volume:e(t).activePlayer.volume_level||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus","onUpdate:modelValue":c[0]||(c[0]=y=>e(t).activePlayer.group_members.length>0?e(V).playerCommandGroupVolume(e(t).activePlayerId,y):e(V).playerCommandVolumeSet(e(t).activePlayerId,y)),"onClick:prepend":c[1]||(c[1]=y=>e(t).activePlayer.group_members.length>0?e(V).playerCommandGroupVolumeDown(e(t).activePlayerId):e(V).playerCommandVolumeDown(e(t).activePlayerId)),"onClick:append":c[2]||(c[2]=y=>e(t).activePlayer.group_members.length>0?e(V).playerCommandGroupVolumeUp(e(t).activePlayerId):e(V).playerCommandVolumeUp(e(t).activePlayerId))},null,8,["is-powered","disabled","model-value"])])):k("",!0)])):(s(),p(G,{key:0},[_("div",{class:"mediacontrols-bg","data-floating":a.useFloatingPlayer},null,8,Ss),_("div",Vs,[_("div",Ts,[u(xt,{"show-quality-details-btn":!!e(ae)("bp8"),"show-only-artist":!e(ae)("bp7"),"color-palette":i.value,"primary-color":o.$vuetify.theme.current.dark?"#fff":"#000"},null,8,["show-quality-details-btn","show-only-artist","color-palette","primary-color"])]),_("div",Ls,[u(wt,{"visible-components":{repeat:{isVisible:e(ae)("bp3")},shuffle:{isVisible:e(ae)("bp3")},play:{isVisible:!0,icon:{staticWidth:"48px",staticHeight:"48px"}},previous:{isVisible:e(ae)("bp3")},next:{isVisible:e(ae)("bp3")}}},null,8,["visible-components"]),e(ae)("bp6")?(s(),h(Ht,{key:0,"is-progress-bar":!1,disabled:!e(t).activePlayerQueue?.active||e(t).activePlayerQueue?.current_item?.media_item?.media_type!==e(E).TRACK},null,8,["disabled"])):k("",!0)]),_("div",Qs,[_("div",null,[u(kt,{queue:{isVisible:e(ae)("bp3"),color:o.$vuetify.theme.current.dark?"#fff":"#000"},player:{isVisible:!0,color:o.$vuetify.theme.current.dark?"#fff":"#000"},volume:{isVisible:e(t).activePlayer!=null,color:o.$vuetify.theme.current.dark?"#fff":"#000"}},null,8,["queue","player","volume"])])])])],64))}}),qs=ie(Fs,[["__scopeId","data-v-5ee38b8e"]]),Rs={class:"menuButton"},zs={class:"menuButton"},Ns=T({__name:"BottomNavigation",props:{height:{}},setup(a){const l=Bt(),i=Q(!1);return(r,d)=>(s(),h(ii,{height:a.height,"bg-color":"default",grow:"",role:"navigation"},{default:n(()=>[(s(!0),p(G,null,ue(e(l).filter(o=>!o.isLibraryNode),o=>(s(),h(lt,{key:o.label,to:o.path,"aria-label":r.$t(o.label),tabindex:"0",variant:"text","active-color":"fg","base-color":"grey"},{default:n(()=>[(s(),h(be(o.icon),{class:"w-6 h-6"})),_("span",Rs,I(r.$t(o.label)),1)]),_:2},1032,["to","aria-label"]))),128)),u(ot,null,{activator:n(({props:o})=>[u(lt,q(o,{"aria-haspopup":"true","aria-expanded":i.value.toString(),"aria-label":"Open library menu","base-color":"grey"}),{default:n(()=>[u(e(wa),{class:"w-6 h-6"}),_("span",zs,I(r.$t("library")),1)]),_:1},16,["aria-expanded"])]),default:n(()=>[u(He,null,{default:n(()=>[(s(!0),p(G,null,ue(e(l).filter(o=>o.isLibraryNode),o=>(s(),h(Qe,{key:o.label,title:r.$t(o.label),to:o.path},{prepend:n(()=>[(s(),h(be(o.icon),{class:"w-5 h-5 mr-3"}))]),_:2},1032,["title","to"]))),128))]),_:1})]),_:1})]),_:1},8,["height"]))}}),Us=T({__name:"Footer",setup(a){const l=L(()=>t.isInStandaloneMode?100:80);return(i,r)=>(s(),p(G,null,[e(t).mobileLayout?(s(),p("div",{key:0,class:Y(i.$vuetify.theme.current.dark?"gradient-dark":"gradient-light"),style:`
16
+ position: fixed;
17
+ width: 100%;
18
+ height: 180px;
19
+ bottom: 0px;
20
+ z-index: 999;
21
+ `},null,2)):k("",!0),e(t).mobileLayout?(s(),h(Ns,{key:1,height:l.value},null,8,["height"])):k("",!0),u(li,{app:"",color:"default",class:Y(`py-0 px-0 ${e(t).mobileLayout?"mediacontrols-player-float":"mediacontrols-player-default"}`)},{default:n(()=>[u(qs,{"use-floating-player":e(t).mobileLayout},null,8,["use-floating-player"])]),_:1},8,["class"])],64))}}),Hs={style:{float:"right"}},Ws={class:"player-content"},$t=3,js=T({__name:"PlayerSelect",setup(a){const l=Q(!1),i=Q([]),r=Q([]),d=Q(void 0),o=Q(""),{getPreference:c,setPreference:y}=gi(),w=c("allPlayersExpanded");ee(w,b=>{d.value=b?0:void 0},{immediate:!0}),ee(d,b=>{y("allPlayersExpanded",b===0)});const M=c("recentlySelectedPlayerIds");M.value&&(i.value=M.value);const A=b=>{let x=0;(b.playback_state===pe.PLAYING||b.playback_state===pe.PAUSED)&&(x+=2),b.player_id===Te.player_id&&(x+=2),b.current_media&&(x+=1);const $=i.value.indexOf(b.player_id);return $!==-1&&(x+=$t-$),x},S=()=>{const x=Object.values(V.players).filter($=>Ae($)).sort(($,P)=>{const C=A($),D=A(P);return D!==C?D-C:$.name.toUpperCase()>P.name.toUpperCase()?1:-1});r.value=x.map($=>$.player_id)},f=L(()=>Object.values(V.players).filter(b=>Ae(b)).sort((b,x)=>b.name.toUpperCase()>x.name?.toUpperCase()?1:-1)),R=L(()=>{if(o.value){const x=o.value.toLowerCase();return f.value.filter($=>$.name.toLowerCase().includes(x))}const b=te.value.map(x=>x.player_id);return f.value.filter(x=>!b.includes(x.player_id))}),O=L(()=>f.value.length>8),te=L(()=>Object.values(V.players).filter($=>Ae($)).filter($=>A($)>0).sort(($,P)=>{const C=r.value.indexOf($.player_id),D=r.value.indexOf(P.player_id);return C-D}).slice(0,3));ee(()=>t.showPlayersMenu,b=>{if(b)S();else{if(o.value="",t.activePlayerId){y("activePlayerId",t.activePlayerId),localStorage.setItem("activePlayerId",t.activePlayerId);const x=i.value.filter($=>$!==t.activePlayerId);x.unshift(t.activePlayerId),i.value=x.slice(0,$t)}y("recentlySelectedPlayerIds",i.value)}}),ee(()=>V.players,b=>{b&&ce()},{deep:!0}),ee(()=>Te.player_id,b=>{b&&ce()});function j(b,x=!1){t.activePlayerId!==b.player_id&&(t.activePlayerId=b.player_id,t.playerTipShown=!0),x&&(t.showPlayersMenu=!1),Ne(()=>{const $=document.getElementById(b.player_id);$&&$.scrollIntoView({behavior:"smooth",block:"nearest"})})}function ye(b){t.activePlayerId!==b.player_id?(t.activePlayerId=b.player_id,l.value=!0):l.value=!l.value,l.value&&Ne(()=>{const x=document.getElementById(b.player_id);x&&x.scrollIntoView({behavior:"smooth",block:"nearest"})})}ge(()=>{ce()});const ce=function(){if(t.activePlayer&&Ae(t.activePlayer))return;const b=z();b&&(t.activePlayerId=b)},z=function(){const b=localStorage.getItem("activePlayerId")||c("activePlayerId").value;if(b&&b in V.players&&V.players[b].available)return b;if(Te.player_id)return Te.player_id};return(b,x)=>(s(),p(G,null,[u(si,{modelValue:e(t).showPlayersMenu,"onUpdate:modelValue":x[0]||(x[0]=$=>e(t).showPlayersMenu=$)},null,8,["modelValue"]),e(t).showPlayersMenu?(s(),h(di,{key:0,modelValue:e(t).showPlayersMenu,"onUpdate:modelValue":x[4]||(x[4]=$=>e(t).showPlayersMenu=$),location:"right",app:"",clipped:"",temporary:"",width:460,style:{"z-index":"99999"},"z-index":"99999",color:"background"},{prepend:n(()=>[u(Be,{class:"title",style:{"padding-top":"20px","padding-bottom":"20px"}},{default:n(()=>[_("b",null,I(b.$t("players")),1),_("div",Hs,[e(Xt).isAdmin()?(s(),h(he,{key:0,variant:"icon",to:{name:"playersettings"}},{default:n(()=>[u(oe,{size:"24"},{default:n(()=>[...x[5]||(x[5]=[K("mdi-cog",-1)])]),_:1})]),_:1})):k("",!0),u(he,{variant:"icon",onClick:x[1]||(x[1]=$=>e(t).showPlayersMenu=!1)},{default:n(()=>[u(oe,{size:"24"},{default:n(()=>[...x[6]||(x[6]=[K("mdi-close",-1)])]),_:1})]),_:1})])]),_:1}),u(tt)]),default:n(()=>[_("div",Ws,[u(He,{flat:"",style:{margin:"0px 10px",padding:"0"}},{default:n(()=>[(s(!0),p(G,null,ue(te.value,$=>(s(),h(_t,{id:$.player_id,key:$.player_id,style:{margin:"10px 0px"},player:$,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&$.player_id==e(t).activePlayerId,"show-sync-controls":$.supported_features.includes(e(_e).SET_MEMBERS),"allow-power-control":!0,onClick:P=>j($),onToggleExpand:ye},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1}),f.value.length>3?(s(),h(ri,{key:0,modelValue:d.value,"onUpdate:modelValue":x[3]||(x[3]=$=>d.value=$),variant:"accordion",flat:"",class:"expansion"},{default:n(()=>[u(oi,{style:{padding:"0"}},{default:n(()=>[u(ni,null,{default:n(()=>[_("h3",null,I(b.$t("all_players")),1)]),_:1}),u(ui,{style:{padding:"0"}},{default:n(()=>[O.value?(s(),h(ci,{key:0,modelValue:o.value,"onUpdate:modelValue":x[2]||(x[2]=$=>o.value=$),placeholder:b.$t("search"),"prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","hide-details":"",style:{margin:"0 8px 24px 8px"}},null,8,["modelValue","placeholder"])):k("",!0),u(He,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:n(()=>[(s(!0),p(G,null,ue(R.value,$=>(s(),h(_t,{id:$.player_id,key:$.player_id,style:{margin:"5px 0px"},player:$,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&$.player_id==e(t).activePlayerId,"show-sync-controls":$.supported_features.includes(e(_e).SET_MEMBERS),"allow-power-control":!0,onClick:P=>j($),onToggleExpand:ye},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])):k("",!0)])]),_:1},8,["modelValue"])):k("",!0)],64))}}),Ks=ie(js,[["__scopeId","data-v-0347fc66"]]);function Gs(a={}){const{immediate:l=!1,onNeedRefresh:i,onOfflineReady:r,onRegistered:d,onRegisteredSW:o,onRegisterError:c}=a;let y,w,M;const A=async(f=!0)=>{await w,M?.()};async function S(){if("serviceWorker"in navigator){if(y=await Jt(async()=>{const{Workbox:f}=await import("./workbox-window.prod.es5-BIl4cyR9.js");return{Workbox:f}},[],import.meta.url).then(({Workbox:f})=>new f("./sw.js",{scope:"./",type:"classic"})).catch(f=>{c?.(f)}),!y)return;M=()=>{y?.messageSkipWaiting()};{let f=!1;const R=()=>{f=!0,y?.addEventListener("controlling",O=>{O.isUpdate&&window.location.reload()}),i?.()};y.addEventListener("installed",O=>{typeof O.isUpdate>"u"?typeof O.isExternal<"u"&&O.isExternal?R():!f&&r?.():O.isUpdate||r?.()}),y.addEventListener("waiting",R)}y.register({immediate:l}).then(f=>{o?o("./sw.js",f):d?.(f)}).catch(f=>{c?.(f)})}}return w=S(),A}function Ys(a={}){const{immediate:l=!0,onNeedRefresh:i,onOfflineReady:r,onRegistered:d,onRegisteredSW:o,onRegisterError:c}=a,y=Q(!1),w=Q(!1);return{updateServiceWorker:Gs({immediate:l,onNeedRefresh(){y.value=!0,i?.()},onOfflineReady(){w.value=!0,r?.()},onRegistered:d,onRegisteredSW:o,onRegisterError:c}),offlineReady:w,needRefresh:y}}const Xs={key:0,class:"pwa-toast",role:"alert"},Js={class:"message"},Zs={key:0},er={key:1},tr=T({__name:"ReloadPrompt",setup(a){const{offlineReady:l,needRefresh:i,updateServiceWorker:r}=Ys(),d=async()=>{l.value=!1,i.value=!1};return(o,c)=>e(l)||e(i)?(s(),p("div",Xs,[_("div",Js,[e(l)?(s(),p("span",Zs," App ready to work offline ")):(s(),p("span",er," New content available, click on reload button to update. "))]),e(i)?(s(),p("button",{key:0,onClick:c[0]||(c[0]=y=>e(r)())},"Reload")):k("",!0),_("button",{onClick:d},"Close")])):k("",!0)}}),ar=T({__name:"Default",setup(a){const l=St();return ee([()=>l.query.player,()=>Object.keys(V.players).length],([i])=>{if(!i)return;const r=i.toString().toLowerCase(),d=Object.values(V.players).find(o=>o.player_id.toLowerCase()===r||o.name.toLowerCase()===r)?.player_id;d&&(t.activePlayerId=d)},{immediate:!0}),ee(()=>l.query.showFullscreenPlayer,i=>{t.showFullscreenPlayer=!!i},{immediate:!0}),ee(()=>l.query.frameless,i=>{i&&(t.frameless=!0)},{immediate:!0}),(i,r)=>(s(),p(G,null,[u(mi,null,{default:n(()=>[e(t).frameless?(s(),h(Pt,{key:0})):(s(),p(G,{key:1},[u(Ks),u(Pt),u(Us)],64))]),_:1}),e(t).isInStandaloneMode?(s(),h(tr,{key:0})):k("",!0)],64))}}),Vr=ie(ar,[["__scopeId","data-v-f5755772"]]);export{Vr as default};
@@ -0,0 +1 @@
1
+ [data-v-9904e199] a{text-decoration:none!important;color:inherit!important}[data-v-9904e199] a:hover{text-decoration:none!important}[data-v-9904e199] a:visited{color:inherit!important}[data-v-9904e199] [data-sidebar=menu-button]>svg,[data-v-9904e199] [data-sidebar=menu-button] svg,[data-v-9904e199] [data-sidebar=menu-button] [class*=lucide]{width:1.2rem!important;height:1.2rem!important;padding-right:3px!important}[data-v-9904e199] [data-sidebar=menu-item]{display:flex!important;flex-direction:column!important}.sidebar-header-logo[data-v-791e6fdf]{width:30px;height:30px;border-radius:6px;flex-shrink:0}.sidebar-header-title[data-v-791e6fdf]{font-size:1.2rem;font-weight:700;margin:3px 0 0 10px;white-space:nowrap;overflow:hidden;transition:opacity .2s ease}.sidebar-header[data-v-791e6fdf]{display:flex;align-items:center;margin:2px 15px 8px 2px;gap:6px;transition:all .3s ease;position:relative;cursor:pointer}[data-v-791e6fdf] [data-sidebar=group]{padding-left:0!important;padding-right:.5rem!important}[data-v-791e6fdf] [data-sidebar=menu-button]{margin-left:.5rem!important;margin-right:.5rem!important;min-height:2.5rem!important}[data-v-791e6fdf] [data-sidebar=menu-button]>svg{width:2rem!important;height:2rem!important;margin-right:.5rem!important}.media-thumb[data-v-8f34ca82]{padding-right:15px}.main-layout[data-v-15e3d043]{display:flex;height:100vh;overflow:hidden;padding-left:0!important;padding-right:0!important}.content-section[data-v-15e3d043]{flex:1;overflow-y:auto;min-height:0;padding-bottom:90px}.content-section--mobile[data-v-15e3d043]{padding-bottom:230px}.icon-container[data-v-3db51b10]{display:flex;align-items:center;justify-content:center}.icon-container--button[data-v-3db51b10]{opacity:.62;cursor:pointer!important;transition:opacity .2s ease}.icon-container--button .v-icon[data-v-3db51b10]{cursor:pointer!important}.icon-container--button[data-v-3db51b10]:hover,.icon-container--button[data-v-3db51b10]:focus{opacity:1}.icon-container--button[data-v-3db51b10]:focus{outline:none;color:#0f0}.icon-container--button[data-v-3db51b10]:active{opacity:1}.icon-container--disabled[data-v-3db51b10]{opacity:.5;cursor:not-allowed;pointer-events:none}.icon[data-v-3db51b10]{line-height:1;display:flex!important;align-items:center!important;justify-content:center!important}.icon-container--button[data-v-3db51b10]{min-height:44px;min-width:44px;border-radius:4px}.icon-container[data-v-3db51b10]{width:100%;height:100%;max-width:100%;max-height:100%}.media-controls-item .icon[data-v-3db51b10]{font-size:1em!important}.player-controls{display:flex;justify-content:center}.player-controls-elements{width:46px;height:46px;display:flex;justify-content:center;align-items:center}.player-tip{width:auto!important;max-width:250px;padding:12px 16px!important;text-align:center;background:rgb(var(--v-theme-surface))!important;border:1px solid rgb(var(--v-theme-primary))!important;z-index:99999!important}.player-tip .tip-content{display:flex;flex-direction:column;gap:4px}.player-tip .tip-label{font-size:.75rem;opacity:.8}.player-tip .tip-player-name{font-weight:600;font-size:.95rem;color:rgb(var(--v-theme-primary))}.player-tip .tip-hint{font-size:.7rem;opacity:.7;margin-top:4px}.player-tip .tip-arrow{position:absolute;bottom:-7px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgb(var(--v-theme-primary))}.player-tip .tip-arrow:after{content:"";position:absolute;top:-9px;left:-6px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgb(var(--v-theme-surface))}.no_transform{text-transform:none}.volume-control-dialog>.v-overlay__content[data-v-a4673e3b]{bottom:135px!important;right:5px!important;left:unset!important;top:unset!important}.v-overlay__scrim[data-v-a4673e3b]{opacity:.4}.time-text-left[data-v-a2c59ecc]{text-align:left;display:table-cell}.time-text-right[data-v-a2c59ecc]{text-align:right;display:table-cell;right:0}.time-text-row[data-v-a2c59ecc]{cursor:pointer;height:8px;flex-basis:0;flex-grow:1;max-width:100%;opacity:.6;display:flex;flex:1 1 auto;margin-top:-10px;margin-bottom:5px}.time-text-row>div[data-v-a2c59ecc]{width:50%}.v-slider.v-input--horizontal[data-v-a2c59ecc]{align-items:center;margin-inline:0px}.lyrics-container[data-v-1a18eb83]{height:100%;width:100%;display:flex;flex-direction:column}.lyrics-loading[data-v-1a18eb83],.lyrics-empty[data-v-1a18eb83]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.7;gap:20px}.lyrics-intro[data-v-1a18eb83]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.song-title[data-v-1a18eb83]{font-size:2em;font-weight:700;margin-bottom:10px;color:var(--v275a5ede)}.artist-name[data-v-1a18eb83]{font-size:1.5em;margin-bottom:40px;opacity:.8}.lyrics-coming-soon[data-v-1a18eb83]{font-size:1.2em;opacity:.6;font-style:italic}.lyrics-scroll-container[data-v-1a18eb83]{height:100%;width:100%;overflow-y:auto;padding:40vh 0;text-align:center}.static-lyrics[data-v-1a18eb83]{padding:10px 0!important;display:flex;flex-direction:column;justify-content:flex-start}.lyrics-line[data-v-1a18eb83]{padding:10px 4px;font-size:1.1em;opacity:.5;transition:all .3s ease;margin:8px 0;filter:blur(1px);text-shadow:0 0 1px var(--text-color)}.lyrics-line.active[data-v-1a18eb83]{opacity:1;font-size:1.4em;font-weight:700;color:var(--v275a5ede);filter:blur(0);text-shadow:none}.main[data-v-94753a98]{display:flex;min-height:50%!important;height:50%!important;max-height:65%!important;padding-bottom:5px}.main-media-details[data-v-94753a98]{flex:50%;max-width:100%;width:50%}.main-queue-items[data-v-94753a98]{flex:50%;height:100%;max-width:100%;padding-right:10px;padding-left:15px}.queue-items-scroll-box[data-v-94753a98]{max-height:100%;overflow-y:scroll}.queue-items-scroll-box[data-v-94753a98]::-webkit-scrollbar{display:none}.v-infinite-scroll--vertical[data-v-94753a98]{overflow-y:unset}.main-media-details-image[data-v-94753a98]{min-height:50%;max-height:80%;height:60%;align-content:center;padding-left:20px;padding-right:20px}.main-media-details-image.v-img[data-v-94753a98]{width:auto}.main-media-details-image-alt[data-v-94753a98]{height:100%!important;max-height:100%!important;align-content:center;padding:0!important}.main-media-details-track-info[data-v-94753a98]{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px}.player-bottom[data-v-94753a98]{max-height:35%!important;min-height:25%!important;height:30%!important;margin-top:auto;bottom:0;position:unset!important;padding-bottom:5%}.track-info[data-v-94753a98]{margin-top:10px;margin-bottom:10px;padding-top:2vh;padding-bottom:2vh;text-align:center;line-height:10%}.track-info-subtitle[data-v-94753a98],.v-tab[data-v-94753a98]{opacity:.5}.v-tab-item--selected[data-v-94753a98]{opacity:1}.media-controls[data-v-94753a98]{display:flex;flex:1 1 auto;align-items:center;justify-content:center;max-width:100%;padding:15px;height:100px}.media-controls-item[data-v-94753a98]{margin:0 10px;width:100%;height:100%}@media(max-width:768px){.media-controls-item[data-v-94753a98]{margin:0 5px;width:100%;height:100%}}.row[data-v-94753a98]{align-content:center}.row-centered[data-v-94753a98]{justify-content:center;max-width:100%;padding:15px}.media-controls>button[data-v-94753a98]{flex:1 1 auto}.media-controls-bottom[data-v-94753a98]{display:flex;flex:0 1 auto;justify-content:center;align-items:center}.media-controls-bottom>div[data-v-94753a98]{flex-basis:0;flex-grow:1;max-width:100%}.media-controls>div[data-v-94753a98]{width:calc(100% / 3)}.mediacontrols-right[data-v-94753a98]{display:table-cell;text-align:right;vertical-align:middle}.mediacontrols-right>div[data-v-94753a98]{display:inline-flex;align-items:center}.v-toolbar[data-v-94753a98] .v-toolbar-title{text-align:center}.responsive-icon-holder-btn[data-v-94753a98]{display:flex;align-items:center;justify-content:center;opacity:.62;cursor:pointer!important}.responsive-icon-holder-btn[data-v-94753a98]:focus,.responsive-icon-holder-btn[data-v-94753a98]:hover{opacity:1}div[data-v-94753a98],button[data-v-94753a98]{color:var(--text-color)}.lyrics-wrapper[data-v-94753a98]{height:100%;width:100%;overflow:hidden}.title-row[data-v-94753a98]{display:flex;align-items:center;gap:6px}.icon-thumb-large[data-v-94753a98]{width:100%;aspect-ratio:1;max-width:400px;margin:0 auto;border-radius:4px;background-color:rgba(var(--v-theme-on-surface),.08);display:flex;align-items:center;justify-content:center}.player-media-thumb[data-v-5a848776]{margin-right:10px}.player-track-content-type[data-v-5a848776]{height:20px!important;padding:5px 9px!important;font-weight:500;font-size:10px!important;letter-spacing:.1em;border-radius:2px;margin-right:30px}.icon-thumb[data-v-5a848776]{width:60px;height:60px;border-radius:3px;background-color:#0000004d;display:flex;align-items:center;justify-content:center}.player-track-details .v-list-item-subtitle{-webkit-line-clamp:unset!important;line-clamp:unset!important}.mediadetails-streamdetails .icon[data-v-5ee38b8e]{opacity:100}.mediacontrols-mobile-container[data-v-5ee38b8e]{position:relative;width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 8px #0003;overflow:hidden;background-color:rgb(var(--v-theme-overlay))}.mediacontrols[data-v-5ee38b8e]{display:flex;align-items:center;width:100%;padding:10px 15px;background-color:rgb(var(--v-theme-overlay))}.mediacontrols .mediacontrols-bottom-center[data-v-5ee38b8e]{width:40%}.mediacontrols[data-mobile=true][data-v-5ee38b8e]{background-color:transparent}.mediacontrols[data-mobile=true] .mediacontrols-bottom-center[data-v-5ee38b8e]{display:none}.mediacontrols[data-mobile=true] .mediacontrols-left[data-v-5ee38b8e]{flex:1;min-width:0}.mediacontrols-bg[data-v-5ee38b8e]{height:100%;position:absolute;width:320px;left:0;top:0;background:linear-gradient(to right,var(--v45d54d6a) 0%,transparent)}.mediacontrols-bg[data-floating=true][data-v-5ee38b8e]{border-radius:10px;width:100%;background:var(--v45d54d6a)}.mediacontrols-top-right[data-v-5ee38b8e]{display:table-row}.mediacontrols-left[data-v-5ee38b8e]{margin-inline-end:auto;width:20%}.mediacontrols-left>div[data-v-5ee38b8e]{padding:0!important}.mediacontrols-bottom-right[data-v-5ee38b8e]{margin-inline-start:auto}.mediacontrols-bottom-right>div[data-v-5ee38b8e]{display:inline-flex;align-items:center}.volume-slider[data-v-5ee38b8e]{width:calc(100% - 16px);margin:-4px 8px 8px;padding-bottom:env(safe-area-inset-bottom,0px)}.menuButton{font-weight:350;font-size:x-small;font-stretch:condensed;text-transform:none;margin-top:5px}.v-btn--active>.v-btn__overlay{background:rgb(var(--v-theme-default))!important}.v-slide-group-item--active{opacity:100%}.mediacontrols-player-float{display:flex;flex-direction:column;margin:10px 10px 5px;width:calc(100% - 20px)!important;border-radius:10px!important}.gradient-dark{background:linear-gradient(0deg,#000000e6 0% 75%,#fff0)}.gradient-light{background:linear-gradient(0deg,#ffffffe6 0% 75%,#fff0)}.v-bottom-navigation--active{box-shadow:none}.title[data-v-0347fc66]{font-family:JetBrains Mono Medium;font-size:x-large;opacity:.7}.player-content[data-v-0347fc66]{overflow-y:auto;-webkit-overflow-scrolling:touch}.expansion[data-v-0347fc66] .v-expansion-panel-title{padding:10px 16px}.expansion[data-v-0347fc66] .v-expansion-panel-text__wrapper{padding:10px 5px}.pwa-toast{position:fixed;right:0;bottom:0;margin:16px;padding:12px;border:1px solid #8885;border-radius:4px;z-index:1;text-align:left;box-shadow:3px 4px 5px #8885;background-color:#fff}.pwa-toast .message{margin-bottom:8px}.pwa-toast button{border:1px solid #8885;outline:none;margin-right:5px;border-radius:2px;padding:3px 10px}.centeredoverlay[data-v-f5755772] .v-overlay__content{inset:50%}
@@ -0,0 +1 @@
1
+ import{u as g,X as y,Y as h,Z as B,p as w,_ as x,$ as b,a0 as D}from"./reka-ui-GpbaI08z.js";import{d,D as i,e as l,E as r,h as c,J as P,K as M,A as p,u as e,H as $}from"./lucide-C2DU1LFb.js";import{c as m}from"./utils-CDN07tui.js";import{v}from"./vueuse-DIaEWNCo.js";const S=d({__name:"DropdownMenu",props:{defaultOpen:{type:Boolean},open:{type:Boolean},dir:{},modal:{type:Boolean}},emits:["update:open"],setup(t,{emit:a}){const n=g(t,a);return(u,f)=>(l(),i(e(y),p({"data-slot":"dropdown-menu"},e(n)),{default:r(_=>[c(u.$slots,"default",P(M(_)))]),_:3},16))}}),F=d({inheritAttrs:!1,__name:"DropdownMenuContent",props:{forceMount:{type:Boolean},loop:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{default:void 0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(t,{emit:a}){const o=t,s=a,n=v(o,"class"),u=g(n,s);return(f,_)=>(l(),i(e(B),null,{default:r(()=>[$(e(h),p({"data-slot":"dropdown-menu-content"},{...f.$attrs,...e(u)},{class:e(m)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--reka-dropdown-menu-content-available-height) min-w-[8rem] origin-(--reka-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",o.class)}),{default:r(()=>[c(f.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),A=d({__name:"DropdownMenuItem",props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{default:void 0},inset:{type:Boolean,default:!1},variant:{default:"default"}},setup(t){const a=t,o=v(a,"inset","variant","class"),s=w(o);return(n,u)=>(l(),i(e(x),p({"data-slot":"dropdown-menu-item","data-inset":t.inset?"":void 0,"data-variant":t.variant},e(s),{class:e(m)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-3 cursor-pointer rounded-sm px-2 py-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a.class)}),{default:r(()=>[c(n.$slots,"default")]),_:3},16,["data-inset","data-variant","class"]))}}),E=d({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const a=t,o=v(a,"class");return(s,n)=>(l(),i(e(b),p({"data-slot":"dropdown-menu-separator"},e(o),{class:e(m)("bg-border -mx-1 my-1 h-px",a.class)}),null,16,["class"]))}}),I=d({__name:"DropdownMenuTrigger",props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(t){const o=w(t);return(s,n)=>(l(),i(e(D),p({"data-slot":"dropdown-menu-trigger"},e(o)),{default:r(()=>[c(s.$slots,"default")]),_:3},16))}});export{S as _,I as a,F as b,E as c,A as d};
@@ -0,0 +1 @@
1
+ import{_ as Ve}from"./index-_We2Vr5Z.js";import{$ as i,a2 as c,a5 as M,_ as le,C as Ce}from"./index-BFLe16Zh.js";import{o as we,u as he}from"./vue-router-BgJK_hRC.js";import{c as U}from"./utils-CDN07tui.js";import{u as $e,a9 as Te,p as ae,aa as Ne,ab as xe,ac as Se}from"./reka-ui-GpbaI08z.js";import{d as S,D as b,e as d,u as t,A as H,E as r,h as O,J as Ie,K as Ae,b as T,ad as oe,H as s,aK as qe,aL as Be,c as A,I as P,$ as V,a1 as g,f as x,r as h,w as Ue,a0 as De,F as z,M as Y,b7 as Fe}from"./lucide-C2DU1LFb.js";import{v as J}from"./vueuse-DIaEWNCo.js";import{e as Le,a7 as Z,s as X,n as $,R as Pe,A as Oe,m as L,a8 as Re,a9 as ze,aa as Ge,M as Me,a as _,r as G,Y as ee,Z as te,p as ne,q as He,N as Je,O as je,d as Ke,P as We}from"./vuetify-CrxirfrA.js";const Qe=S({__name:"NumberField",props:{defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},formatOptions:{},locale:{},disabled:{type:Boolean},readonly:{type:Boolean},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:["update:modelValue"],setup(e,{emit:p}){const y=e,f=p,C=J(y,"class"),w=$e(C,f);return(v,q)=>(d(),b(t(Te),H(t(w),{class:t(U)("grid gap-1.5",y.class)}),{default:r(m=>[O(v.$slots,"default",Ie(Ae(m)))]),_:3},16,["class"]))}}),Ye=S({__name:"NumberFieldContent",props:{class:{}},setup(e){const p=e;return(y,f)=>(d(),T("div",{class:oe(t(U)("relative [&>[data-slot=input]]:has-[[data-slot=increment]]:has-[[data-slot=decrement]]:px-10",p.class))},[O(y.$slots,"default")],2))}}),Ze=S({__name:"NumberFieldDecrement",props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){const p=e,y=J(p,"class"),f=ae(y);return(C,w)=>(d(),b(t(Ne),H({"data-slot":"decrement"},t(f),{class:t(U)("absolute top-1/2 -translate-y-1/2 left-0 p-3 disabled:cursor-not-allowed disabled:opacity-20 w-10 h-full flex items-center justify-center",p.class)}),{default:r(()=>[O(C.$slots,"default",{},()=>[s(t(qe),{class:"h-4 w-4"})])]),_:3},16,["class"]))}}),Xe=S({__name:"NumberFieldIncrement",props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){const p=e,y=J(p,"class"),f=ae(y);return(C,w)=>(d(),b(t(xe),H({"data-slot":"increment"},t(f),{class:t(U)("absolute top-1/2 -translate-y-1/2 right-0 disabled:cursor-not-allowed disabled:opacity-20 p-3 w-10 h-full flex items-center justify-center",p.class)}),{default:r(()=>[O(C.$slots,"default",{},()=>[s(t(Be),{class:"h-4 w-4"})])]),_:3},16,["class"]))}}),_e=S({__name:"NumberFieldInput",props:{class:{}},setup(e){const p=e;return(y,f)=>(d(),b(t(Se),{"data-slot":"input",class:oe(t(U)("flex h-9 w-full rounded-md border border-input bg-transparent py-1 px-0 text-sm text-center shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",p.class))},null,8,["class"]))}}),et={class:"config-field"},tt={key:0,class:"config-divider"},nt={key:4,class:"dsp-config"},lt={class:"dsp-status"},at={key:6,class:"config-slider-wrapper"},ot={class:"config-slider-block"},st={class:"config-slider-input"},it=S({__name:"ConfigEntryField",props:{confEntry:{},showPasswordValues:{type:Boolean},disabled:{type:Boolean}},emits:["togglePassword","action","openDsp","update:value"],setup(e,{emit:p}){const y=e,f=A(()=>y.disabled||y.confEntry.read_only),C=p,w=m=>{m==null||m===""||Array.isArray(m)&&m.length===0?C("update:value",y.confEntry.default_value):C("update:value",m)},v=()=>{C("update:value",null)},q=A(()=>{if(!y.confEntry.options)return[];const m=[];for(const u of y.confEntry.options){let o=u.value?.toString()||"",k=u.title?.toString()||"";for(const N of["@","$","|"])o.includes(N)&&(o=o.replaceAll(N,"")),k.includes(N)&&(k=k.toString().replaceAll(N,""));const I={title:i(`settings.${y.confEntry.key}.options.${o}`,k),value:u.value};I.value==y.confEntry.default_value&&(I.title+=` [${i("settings.default")}]`),m.push(I)}return m});return(m,u)=>(d(),T("div",et,[e.confEntry.type==t(c).DIVIDER?(d(),T("div",tt,[s(Le),e.confEntry.label?(d(),b(Z,{key:0,class:"divider-label"},{default:r(()=>[V(g(e.confEntry.label),1)]),_:1})):P("",!0)])):e.confEntry.type==t(c).LABEL?(d(),b(X,{key:1,variant:"tonal",type:"info",density:"comfortable",class:"config-alert"},{default:r(()=>[V(g(t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label)),1)]),_:1})):e.confEntry.type==t(c).ALERT?(d(),b(X,{key:2,density:"comfortable",type:"warning",variant:"tonal",class:"config-alert"},{default:r(()=>[V(g(t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label)),1)]),_:1})):e.confEntry.type==t(c).ACTION||e.confEntry.action&&!e.confEntry.value?(d(),b($,{key:3,variant:"outlined",class:"action-btn",disabled:f.value,onClick:u[0]||(u[0]=o=>m.$emit("action"))},{default:r(()=>[V(g(t(i)(`settings.${e.confEntry.action||e.confEntry.key}.label`,e.confEntry.action_label||e.confEntry.label)),1)]),_:1},8,["disabled"])):e.confEntry.type==t(c).DSP_SETTINGS?(d(),T("div",nt,[x("span",lt,g(e.confEntry.value?t(i)("settings.dsp_enabled"):t(i)("settings.dsp_disabled")),1),s($,{variant:"outlined",class:"action-btn",onClick:u[1]||(u[1]=o=>m.$emit("openDsp"))},{default:r(()=>[V(g(t(i)("open_dsp_settings")),1)]),_:1})])):e.confEntry.type==t(c).BOOLEAN?(d(),b(Pe,{key:5,"model-value":e.confEntry.value,label:t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label),color:"primary",disabled:f.value,"hide-details":"",density:"comfortable","onUpdate:modelValue":u[2]||(u[2]=o=>m.$emit("update:value",o))},null,8,["model-value","label","disabled"])):(e.confEntry.type==t(c).INTEGER||e.confEntry.type==t(c).FLOAT)&&e.confEntry.range&&e.confEntry.range.length==2?(d(),T("div",at,[s(Z,{class:"config-slider-label"},{default:r(()=>[V(g(t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label)),1)]),_:1}),x("div",ot,[s(Oe,{"model-value":e.confEntry.value,disabled:f.value,required:e.confEntry.required,min:e.confEntry.range[0],max:e.confEntry.range[1],step:e.confEntry.type==t(c).FLOAT?.5:1,"hide-details":"",color:"primary",class:"config-slider","onUpdate:modelValue":u[3]||(u[3]=o=>m.$emit("update:value",o))},null,8,["model-value","disabled","required","min","max","step"]),x("div",st,[s(t(Qe),{"model-value":e.confEntry.value,min:e.confEntry.range[0],max:e.confEntry.range[1],step:e.confEntry.type==t(c).FLOAT?.5:1,"format-options":{maximumFractionDigits:e.confEntry.type==t(c).FLOAT?1:0},class:"w-[100px]","onUpdate:modelValue":u[4]||(u[4]=o=>m.$emit("update:value",o))},{default:r(()=>[s(t(Ye),null,{default:r(()=>[s(t(_e)),s(t(Ze)),s(t(Xe))]),_:1})]),_:1},8,["model-value","min","max","step","format-options"])])])])):e.confEntry.type==t(c).SECURE_STRING?(d(),b(L,{key:7,"model-value":e.confEntry.value,label:t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,disabled:f.value,rules:[o=>!(!o&&e.confEntry.required)||t(i)("settings.invalid_input")],type:e.showPasswordValues?"text":"password","append-inner-icon":e.showPasswordValues?"mdi-eye":typeof e.confEntry.value=="string"&&e.confEntry.value.includes(t(M))?"":"mdi-eye-off",variant:"outlined",density:"comfortable",clearable:"",readonly:!!e.confEntry.action,"onUpdate:modelValue":u[5]||(u[5]=o=>w(o)),"onClick:appendInner":u[6]||(u[6]=o=>C("togglePassword")),"onClick:clear":v},null,8,["model-value","label","required","disabled","rules","type","append-inner-icon","readonly"])):e.confEntry.options&&e.confEntry.options.length>0?(d(),b(Re,{key:8,"model-value":e.confEntry.value,chips:e.confEntry.multi_value,clearable:!0,multiple:e.confEntry.multi_value,items:q.value,disabled:f.value,label:t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,rules:[o=>!(o==null&&e.confEntry.required)||t(i)("settings.invalid_input")],variant:"outlined",density:"comfortable","onUpdate:modelValue":u[7]||(u[7]=o=>w(o)),"onClick:clear":v},null,8,["model-value","chips","multiple","items","disabled","label","required","rules"])):e.confEntry.type==t(c).INTEGER||e.confEntry.type==t(c).FLOAT?(d(),b(L,{key:9,"model-value":e.confEntry.value,placeholder:e.confEntry.default_value?.toString(),disabled:f.value,label:t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,rules:[o=>!(!o&&e.confEntry.required)||t(i)("settings.invalid_input")],variant:"outlined",density:"comfortable",clearable:!e.confEntry.required,type:"number","onUpdate:modelValue":u[8]||(u[8]=o=>w(o)),"onClick:clear":v},null,8,["model-value","placeholder","disabled","label","required","rules","clearable"])):e.confEntry.type==t(c).ICON?(d(),b(L,{key:10,"model-value":e.confEntry.value,placeholder:e.confEntry.default_value?.toString(),clearable:"",disabled:f.value,label:t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label),"prepend-inner-icon":e.confEntry.value,variant:"outlined",density:"comfortable","onUpdate:modelValue":u[9]||(u[9]=o=>w(o)),"onClick:clear":v},null,8,["model-value","placeholder","disabled","label","prepend-inner-icon"])):e.confEntry.type==t(c).STRING&&e.confEntry.multi_value?(d(),b(ze,{key:11,"model-value":e.confEntry.value,multiple:"",chips:"",clearable:!0,disabled:f.value,label:t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,rules:[o=>!(!o&&e.confEntry.required)||t(i)("settings.invalid_input")],variant:"outlined",density:"comfortable","onUpdate:modelValue":u[10]||(u[10]=o=>w(o)),"onClick:clear":v},null,8,["model-value","disabled","label","required","rules"])):(d(),b(L,{key:12,"model-value":e.confEntry.value,placeholder:e.confEntry.default_value?.toString(),clearable:"",disabled:f.value,label:t(i)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,rules:[o=>!(!o&&e.confEntry.required)||t(i)("settings.invalid_input")],variant:"outlined",density:"comfortable",readonly:!!e.confEntry.action,"onUpdate:modelValue":u[11]||(u[11]=o=>w(o)),"onClick:clear":v},null,8,["model-value","placeholder","disabled","label","required","rules","readonly"]))]))}}),rt=le(it,[["__scopeId","data-v-36dfaf6b"]]),ut={class:"panel-title-text"},dt={class:"config-panel-content"},ct={class:"config-actions"},ft=S({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean}},emits:["submit","action","immediateApply"],setup(e,{emit:p}){const y=he(),f=h(!1),C=h(!1),w=p,v=h(),q=h(!1),m=h(),u=h([]),o=h(!1),k=h(),D=h({}),I=e,N=A(()=>["generic",...new Set(v.value.map(a=>a.category).filter(a=>!["generic","advanced"].includes(a))),"advanced"]),se=A(()=>{if(v.value){for(const n of v.value)if(n.required&&!(!B(n.value)||!B(n.default_value)||n.type==c.DIVIDER||n.type==c.LABEL||n.type==c.ALERT||n.type==c.ACTION))return!1;return!0}return!1}),R=A(()=>{if(!v.value)return!1;for(const n of v.value){if(n.type==c.DIVIDER||n.type==c.LABEL||n.type==c.ALERT||n.type==c.ACTION||n.type==c.SECURE_STRING&&n.value==M)continue;const a=D.value[n.key],l=n.value;if(JSON.stringify(a)!==JSON.stringify(l))return!0}return!1});Ue(()=>I.configEntries,n=>{v.value=[],D.value={};for(const l of n||[])(l.value==null||l.value==null)&&(l.value=l.default_value),D.value[l.key]=typeof l.value=="object"&&l.value!==null?JSON.parse(JSON.stringify(l.value)):l.value,v.value.push(l);const a=N.value.filter(l=>l!=="advanced");u.value=a},{immediate:!0});const ie=async function(){const{valid:n}=await m.value.validate();return n},re=async function(){await ie()&&(C.value=!0,w("submit",Q()))},ue=async function(n){w("action",n,Q())},de=function(n,a){n.value=a,n.immediate_apply&&w("immediateApply",{[n.key]:a})},j=function(n){const a=document.createElement("a");a.setAttribute("href",n),a.setAttribute("target","_blank"),a.click()},ce=function(){y.push(`${y.currentRoute.value.path}/dsp`)},fe=function(){if(v.value)for(const n of v.value)n.value=n.default_value},ye=function(){R.value?f.value=!0:y.back()},ve=function(){f.value=!1,C.value=!0,y.back()},me=function(){f.value=!1};we((n,a,l)=>{C.value||!R.value?l():(f.value=!0,l(!1))});const K=n=>{R.value&&(n.preventDefault(),n.returnValue="")};De(()=>{window.removeEventListener("beforeunload",K)}),window.addEventListener("beforeunload",K);const B=function(n){return n==null},be=function(n){return!n.hidden},ge=function(n){if(!B(n.depends_on)){const a=v.value?.find(E=>E.key==n.depends_on);if(!a)return!1;const l=a.value;return B(n.depends_on_value)?B(n.depends_on_value_not)?!l:l==n.depends_on_value_not:l!=n.depends_on_value}return!1},Ee=A(()=>{const n={};if(!v.value)return n;for(const a of v.value){if(!be(a)||a.key==="enabled"||a.key==="name")continue;const l=a.category||"generic";n[l]||(n[l]=[]),n[l].push(a)}return n}),W=function(n){return Ee.value[n]||[]},Q=function(){const n={};for(const a of I.configEntries){let l=a.value;l==null&&(l=null),!(a.type==c.SECURE_STRING&&l==M)&&(n[a.key]=l)}return n},pe=function(n){return{generic:"mdi-cog",audio:"mdi-volume-high",advanced:"mdi-tune",network:"mdi-lan",playback:"mdi-play-circle",announcements:"mdi-bullhorn",airplay:"mdi-apple",chromecast:"mdi-cast",slimproto:"mdi-speaker-wireless",snapcast:"mdi-speaker-multiple",ugp:"mdi-speaker-multiple",authentication:"mdi-lock",sync:"mdi-sync",web_player:"mdi-play-network"}[n]||"mdi-cog-outline"},ke=function(n){return(i(`settings.${n?.key}.description`,n.description||" ")||n.help_link||" ")?.length>1};return(n,a)=>(d(),T(z,null,[v.value?(d(),b(Ge,{key:0,ref_key:"form",ref:m,modelValue:q.value,"onUpdate:modelValue":a[2]||(a[2]=l=>q.value=l),disabled:e.disabled},{default:r(()=>[s(Me,{modelValue:u.value,"onUpdate:modelValue":a[1]||(a[1]=l=>u.value=l),multiple:"",class:"config-panels"},{default:r(()=>[(d(!0),T(z,null,Y(N.value.filter(l=>W(l).length>0),l=>(d(),b(Je,{key:l,value:l,class:"config-panel"},{default:r(()=>[s(je,{class:"config-panel-title"},{default:r(()=>[s(Ke,{icon:pe(l),class:"mr-3",size:"20"},null,8,["icon"]),x("span",ut,g(t(i)("settings.category."+l,l)),1)]),_:2},1024),s(We,null,{default:r(()=>[x("div",dt,[(d(!0),T(z,null,Y(W(l),E=>(d(),T("div",{key:E.key,class:"config-entry"},[s(rt,{"conf-entry":E,"show-password-values":o.value,disabled:ge(E),onTogglePassword:a[0]||(a[0]=F=>o.value=!o.value),"onUpdate:value":F=>de(E,F),onAction:F=>{ue(E.action||E.key),E.value=E.action?null:E.key},onOpenDsp:ce},null,8,["conf-entry","show-password-values","disabled","onUpdate:value","onAction"]),ke(E)?(d(),b(t(Ve),{key:0,type:"button",variant:"ghost",size:"icon",class:"help-btn",onClick:F=>t(i)(`settings.${E?.key}.description`,E.description||"")?k.value=E:j(E.help_link)},{default:r(()=>[s(t(Fe),{size:20})]),_:1},8,["onClick"])):P("",!0)]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),x("div",ct,[s($,{block:"",color:"primary",size:"large",disabled:!se.value,onClick:re},{default:r(()=>[V(g(t(i)("settings.save")),1)]),_:1},8,["disabled"]),s($,{block:"",variant:"outlined",size:"large",onClick:ye},{default:r(()=>[V(g(t(i)("close")),1)]),_:1}),s($,{block:"",variant:"text",size:"large",onClick:fe},{default:r(()=>[V(g(t(i)("settings.reset_to_defaults")),1)]),_:1})])]),_:1},8,["modelValue","disabled"])):P("",!0),s(ne,{"model-value":k.value!==void 0,width:"auto","onUpdate:modelValue":a[5]||(a[5]=l=>k.value=void 0)},{default:r(()=>[s(_,null,{default:r(()=>[s(G,null,{default:r(()=>[x("h2",null,g(t(i)(`settings.${k.value?.key}.label`,k.value?.label||"")),1)]),_:1}),s(G,{innerHTML:t(Ce)(t(i)(`settings.${k.value?.key}.description`,k.value?.description||""))},null,8,["innerHTML"]),s(ee,null,{default:r(()=>[k.value?.help_link?(d(),b($,{key:0,onClick:a[3]||(a[3]=l=>j(k.value.help_link))},{default:r(()=>[V(g(t(i)("read_more")),1)]),_:1})):P("",!0),s(te),s($,{color:"primary",onClick:a[4]||(a[4]=l=>k.value=void 0)},{default:r(()=>[V(g(t(i)("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"]),s(ne,{modelValue:f.value,"onUpdate:modelValue":a[6]||(a[6]=l=>f.value=l),"max-width":"400",persistent:""},{default:r(()=>[s(_,null,{default:r(()=>[s(He,null,{default:r(()=>[V(g(t(i)("settings.unsaved_changes")),1)]),_:1}),s(G,null,{default:r(()=>[V(g(t(i)("settings.unsaved_changes_message")),1)]),_:1}),s(ee,null,{default:r(()=>[s(te),s($,{variant:"text",onClick:me},{default:r(()=>[V(g(t(i)("settings.stay")),1)]),_:1}),s($,{color:"warning",variant:"flat",onClick:ve},{default:r(()=>[V(g(t(i)("settings.discard")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}}),Vt=le(ft,[["__scopeId","data-v-5a9dd3b6"]]);export{Vt as E};
@@ -0,0 +1 @@
1
+ .config-field[data-v-36dfaf6b]{flex:1;min-width:0}.config-divider[data-v-36dfaf6b]{padding:8px 0}.divider-label[data-v-36dfaf6b]{display:block;margin-top:12px;font-weight:600;font-size:.875rem}.config-alert[data-v-36dfaf6b],.action-btn[data-v-36dfaf6b]{margin:8px 0}.config-slider-wrapper[data-v-36dfaf6b]{display:flex;flex-direction:column;gap:8px}.config-slider-label[data-v-36dfaf6b]{font-size:.875rem;color:rgba(var(--v-theme-on-surface),.7);margin-bottom:0}.config-slider-block[data-v-36dfaf6b]{display:flex;flex-direction:row;align-items:center;gap:8px}.config-slider-input[data-v-36dfaf6b]{flex-shrink:0}@media(min-width:601px){.config-slider-wrapper[data-v-36dfaf6b]{flex-direction:row;align-items:center;gap:12px}.config-slider-label[data-v-36dfaf6b]{flex-shrink:0;margin-bottom:0}.config-slider-block[data-v-36dfaf6b]{flex:1}}.dsp-config[data-v-36dfaf6b]{display:flex;align-items:center;gap:16px;padding:8px 0}.dsp-status[data-v-36dfaf6b]{font-size:.875rem;color:rgba(var(--v-theme-on-surface),.7)}.config-section[data-v-5a9dd3b6]{margin-bottom:16px}.config-entry[data-v-5a9dd3b6]{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.config-entry[data-v-5a9dd3b6]:last-child{margin-bottom:0}.config-entry:has(.v-checkbox)+.config-entry[data-v-5a9dd3b6]:has(.v-text-field),.config-entry:has(.v-checkbox)+.config-entry[data-v-5a9dd3b6]:has(.v-select),.config-entry:has(.v-checkbox)+.config-entry[data-v-5a9dd3b6]:has(.v-slider),.config-entry:has(.v-checkbox)+.config-entry[data-v-5a9dd3b6]:has(.v-combobox){margin-top:16px}.help-btn[data-v-5a9dd3b6]{flex-shrink:0;margin-top:8px;opacity:.6;transition:opacity .2s ease;height:36px}.help-btn[data-v-5a9dd3b6]:hover{opacity:1}@media(min-width:601px){.config-entry:has(.config-slider-wrapper) .help-btn[data-v-5a9dd3b6]{margin-top:0;align-self:center}}@media(max-width:600px){.config-entry:has(.config-slider-wrapper) .help-btn[data-v-5a9dd3b6]{align-self:flex-start;margin-top:0}}.config-panels[data-v-5a9dd3b6]{margin-top:16px}.config-panel[data-v-5a9dd3b6]{margin-bottom:8px;border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:8px!important;overflow:hidden}.config-panel[data-v-5a9dd3b6]:before{display:none}.config-panel-title[data-v-5a9dd3b6]{min-height:52px;padding:14px 20px;background:rgba(var(--v-theme-primary),.08)}.config-panel-title .v-icon[data-v-5a9dd3b6]{color:rgb(var(--v-theme-primary))}.panel-title-text[data-v-5a9dd3b6]{font-size:1.1rem;font-weight:600;color:rgb(var(--v-theme-primary))}.config-panel[data-v-5a9dd3b6] .v-expansion-panel-text__wrapper{padding:0}.config-panel-content[data-v-5a9dd3b6]{padding:16px 20px 20px;border-top:1px solid rgba(var(--v-theme-on-surface),.08)}.config-actions[data-v-5a9dd3b6]{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:16px}
@@ -0,0 +1 @@
1
+ .edit-core-config[data-v-f9c4c36a]{padding:16px}.header-card[data-v-f9c4c36a]{border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:12px}.header-content[data-v-f9c4c36a]{display:flex;gap:20px;padding:24px}.header-icon[data-v-f9c4c36a]{flex-shrink:0;width:56px;height:56px;border-radius:12px;background:rgba(var(--v-theme-primary),.1);display:flex;align-items:center;justify-content:center}.header-info[data-v-f9c4c36a]{flex:1;min-width:0}.header-title[data-v-f9c4c36a]{font-size:1.25rem;font-weight:600;margin:0 0 8px;color:rgb(var(--v-theme-on-surface))}.header-description[data-v-f9c4c36a]{font-size:.875rem;color:rgba(var(--v-theme-on-surface),.7);margin:0;line-height:1.5}.loading-overlay[data-v-f9c4c36a]{display:flex;align-items:center;justify-content:center}@media(max-width:600px){.header-content[data-v-f9c4c36a]{flex-direction:column;align-items:flex-start}}
@@ -0,0 +1 @@
1
+ import{u as w}from"./vue-router-BgJK_hRC.js";import{c as i,_ as x}from"./index-BFLe16Zh.js";import{E as M}from"./EditConfig-BPYsIC-A.js";import{n as $}from"./index.browser-OxPLOBIU.js";import{d as B,a as N,l as D,L as O}from"./vuetify-CrxirfrA.js";import{d as j,r as p,c as z,w as S,b as f,e as c,I as v,D as T,H as r,u as A,E as d,f as n,$ as H,a1 as l}from"./lucide-C2DU1LFb.js";import{u as L}from"./vue-i18n-CX-lsKIo.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";import"./index-_We2Vr5Z.js";import"./utils-CDN07tui.js";import"./reka-ui-GpbaI08z.js";const P={class:"edit-core-config"},R={key:0},U={class:"header-content"},q={class:"header-icon"},F={class:"header-info"},G={class:"header-title"},J={class:"header-description"},K=j({__name:"EditCoreConfig",props:{domain:{}},setup(_){const g=w(),{t:m}=L(),t=p(),h=$(11),s=p(!1),C=_,y=z(()=>t.value?Object.values(t.value.values):[]);S(()=>C.domain,async e=>{e&&(t.value=await i.getCoreConfig(e))},{immediate:!0});const V=e=>{const o=m(`settings.core_module.${e.domain}.name`);return o!==`settings.core_module.${e.domain}.name`?o:i.providerManifests[e.domain].name},k=e=>{const o=m(`settings.core_module.${e.domain}.description`);return o!==`settings.core_module.${e.domain}.description`?o:i.providerManifests[e.domain].description},b=e=>({streams:"mdi-radio-tower",players:"mdi-speaker-multiple",metadata:"mdi-tag-multiple",music:"mdi-music",webserver:"mdi-web",cache:"mdi-cached"})[e]||"mdi-cog",E=async function(e){s.value=!0,i.saveCoreConfig(t.value.domain,e).then(()=>{s.value=!1,g.push({name:"providersettings"})}).catch(o=>{alert(o),s.value=!1})},I=async function(e,o){s.value=!0;for(const a of Object.values(t.value.values))a.value!==void 0&&o[a.key]==null&&(o[a.key]=a.value);o.session_id=h,i.getCoreConfigEntries(t.value.domain,e,o).then(a=>{t.value.values={};for(const u of a)t.value.values[u.key]=u;s.value=!1}).catch(a=>{alert(a),s.value=!1})};return(e,o)=>(c(),f("section",P,[t.value&&A(i).providerManifests[t.value.domain]?(c(),f("div",R,[r(N,{class:"header-card mb-4",elevation:"0"},{default:d(()=>[n("div",U,[n("div",q,[r(B,{size:"32",color:"primary"},{default:d(()=>[H(l(b(t.value.domain)),1)]),_:1})]),n("div",F,[n("h2",G,l(V(t.value)),1),n("p",J,l(k(t.value)),1)])])]),_:1})])):v("",!0),t.value?(c(),T(M,{key:1,"config-entries":y.value,disabled:!1,onSubmit:E,onAction:I},null,8,["config-entries"])):v("",!0),r(O,{modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=a=>s.value=a),scrim:"true",persistent:"",class:"loading-overlay"},{default:d(()=>[r(D,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}}),me=x(K,[["__scopeId","data-v-f9c4c36a"]]);export{me as default};
@@ -0,0 +1 @@
1
+ .edit-player[data-v-8ae923f8]{padding:16px}.header-card[data-v-8ae923f8]{border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:12px}.header-content[data-v-8ae923f8]{display:flex;gap:20px;padding:24px}.header-icon[data-v-8ae923f8]{flex-shrink:0;width:56px;height:56px;border-radius:12px;background:rgba(var(--v-theme-primary),.1);display:flex;align-items:center;justify-content:center}.header-info[data-v-8ae923f8]{flex:1;min-width:0}.header-title-row[data-v-8ae923f8]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.header-title[data-v-8ae923f8]{font-size:1.25rem;font-weight:600;margin:0;color:rgb(var(--v-theme-on-surface))}.rename-btn[data-v-8ae923f8]{opacity:.6;transition:opacity .2s ease}.rename-btn[data-v-8ae923f8]:hover{opacity:1}.disabled-banner[data-v-8ae923f8]{display:flex;align-items:center;justify-content:space-between;gap:16px}.header-meta[data-v-8ae923f8]{display:flex;flex-wrap:wrap;gap:16px}.meta-item[data-v-8ae923f8]{display:inline-flex;align-items:center;font-size:.813rem;color:rgba(var(--v-theme-on-surface),.6)}.docs-link[data-v-8ae923f8]{margin-left:4px;cursor:pointer;color:rgb(var(--v-theme-primary));opacity:.8;transition:opacity .2s ease}.docs-link[data-v-8ae923f8]:hover{opacity:1}@media(max-width:600px){.header-content[data-v-8ae923f8]{flex-direction:column;align-items:flex-start}.header-meta[data-v-8ae923f8]{flex-direction:column;gap:8px}}
@@ -0,0 +1 @@
1
+ import{d as O,r as _,a0 as G,c as D,w as h,b as c,e as p,I as f,D as w,H as s,u as r,E as n,f as u,a1 as d,$ as o,N as q}from"./lucide-C2DU1LFb.js";import{u as x}from"./vue-router-BgJK_hRC.js";import{c as t,E as F,k as C,a2 as E,d as S,Z as Y,_ as j}from"./index-BFLe16Zh.js";import{E as K}from"./EditConfig-BPYsIC-A.js";import{n as Z}from"./index.browser-OxPLOBIU.js";import{n as P,s as H,d as m,a as T,q as J,r as Q,m as W,Y as X,Z as ee,p as ae}from"./vuetify-CrxirfrA.js";import"./qrcode-DSFhiIp2.js";import"./marked-C0Rlrcoy.js";import"./color-BTziYnFN.js";import"./vue-i18n-CX-lsKIo.js";import"./vueuse-DIaEWNCo.js";/* empty css */import"./swiper-Jy9GbtzK.js";import"./index-_We2Vr5Z.js";import"./utils-CDN07tui.js";import"./reka-ui-GpbaI08z.js";const le={class:"edit-player"},te={key:0},se={class:"disabled-banner"},ne={class:"header-content"},ie={class:"header-icon"},oe={class:"header-info"},re={class:"header-title-row"},de={class:"header-title"},ue={class:"header-meta"},pe={class:"meta-item"},ve={class:"meta-item"},fe={key:0,class:"meta-item"},me={key:1,class:"meta-item"},ye={key:2,class:"meta-item"},ce=O({__name:"EditPlayer",props:{playerId:{}},setup($){const z=x(),a=_(),N=Z(11),g=_(!1),v=_(!1),b=_(null),y=$,k=_(!1);(async()=>{if(y.playerId)try{k.value=(await t.getDSPConfig(y.playerId)).enabled}catch(l){console.error("Error fetching DSP config:",l)}})();const U=t.subscribe(F.PLAYER_DSP_CONFIG_UPDATED,l=>{k.value=l.data.enabled});G(U);const A=D(()=>{if(!a.value)return[];const l=Object.values(a.value.values),e=t.players[a.value.player_id];return e&&e.type!==C.GROUP?l.push({key:"dsp_settings",type:E.DSP_SETTINGS,label:"",default_value:k.value,required:!1,category:"audio"}):e&&e.type===C.GROUP&&e.supported_features.includes(S.MULTI_DEVICE_DSP)?l.push({key:"dsp_note_multi_device_group",type:E.LABEL,label:"You can configure the DSP for each player individually.",default_value:null,required:!1,category:"audio"}):e&&e.type===C.GROUP&&!e.supported_features.includes(S.MULTI_DEVICE_DSP)&&l.push({key:"dsp_note_multi_device_group_not_supported",type:E.LABEL,label:"This group type does not support DSP when playing to multiple devices.",default_value:null,required:!1,category:"audio"}),l}),B=D(()=>A.value);h(()=>y.playerId,async l=>{l&&(a.value=await t.getPlayerConfig(l))},{immediate:!0}),h(v,l=>{l&&a.value&&(b.value=a.value.name||null)});const V=function(){a.value&&(a.value.name=b.value||void 0),t.savePlayerConfig(y.playerId,{name:a.value.name||null}).then(()=>{g.value=!0}).finally(()=>{g.value=!1,v.value=!1}),v.value=!1},L=async function(l){delete l.dsp_settings,l.enabled=a.value.enabled,t.savePlayerConfig(y.playerId,l),z.push({name:"playersettings"})},M=async function(l){t.savePlayerConfig(y.playerId,l)},R=async function(l,e){g.value=!0;for(const i of Object.values(a.value.values))i.value!==void 0&&e[i.key]==null&&(e[i.key]=i.value);e.session_id=N,t.getPlayerConfigEntries(a.value.player_id,l,e).then(i=>{a.value.values={};for(const I of i)a.value.values[I.key]=I}).catch(i=>{alert(i)}).finally(()=>{g.value=!1})};return(l,e)=>(p(),c("section",le,[a.value&&r(t).getProviderManifest(a.value.provider).domain in r(t).providerManifests?(p(),c("div",te,[a.value.enabled?f("",!0):(p(),w(H,{key:0,type:"warning",variant:"tonal",class:"mb-4",closable:""},{default:n(()=>[u("div",se,[u("span",null,d(l.$t("settings.player_disabled")),1),s(P,{size:"small",color:"warning",variant:"flat",onClick:e[0]||(e[0]=i=>a.value.enabled=!0)},{default:n(()=>[o(d(l.$t("settings.enable_player")),1)]),_:1})])]),_:1})),s(T,{class:"header-card mb-4",elevation:"0"},{default:n(()=>[u("div",ne,[u("div",ie,[s(m,{size:"32",color:"primary"},{default:n(()=>[...e[6]||(e[6]=[o("mdi-speaker",-1)])]),_:1})]),u("div",oe,[u("div",re,[u("h2",de,d(a.value.name||r(t).players[a.value.player_id]?.name||a.value.default_name),1),s(P,{icon:"mdi-pencil",variant:"text",size:"small",density:"compact",class:"rename-btn",onClick:e[1]||(e[1]=i=>v.value=!0)})]),u("div",ue,[u("span",pe,[s(m,{size:"14",class:"mr-1"},{default:n(()=>[...e[7]||(e[7]=[o("mdi-identifier",-1)])]),_:1}),o(" "+d(a.value.player_id),1)]),u("span",ve,[s(m,{size:"14",class:"mr-1"},{default:n(()=>[...e[8]||(e[8]=[o("mdi-puzzle",-1)])]),_:1}),o(" "+d(r(t).getProviderManifest(a.value.provider)?.name)+" ",1),r(t).getProviderManifest(a.value.provider)?.documentation?(p(),c("a",{key:0,class:"docs-link",onClick:e[2]||(e[2]=i=>r(Y)(r(t).getProviderManifest(a.value.provider)?.documentation))},[s(m,{size:"12"},{default:n(()=>[...e[9]||(e[9]=[o("mdi-open-in-new",-1)])]),_:1})])):f("",!0)]),r(t).players[a.value.player_id]?(p(),c("span",fe,[s(m,{size:"14",class:"mr-1"},{default:n(()=>[...e[10]||(e[10]=[o("mdi-information",-1)])]),_:1}),o(" "+d(r(t).players[a.value.player_id].device_info.manufacturer)+" / "+d(r(t).players[a.value.player_id].device_info.model),1)])):f("",!0),r(t).players[a.value.player_id]?.device_info.ip_address?(p(),c("span",me,[s(m,{size:"14",class:"mr-1"},{default:n(()=>[...e[11]||(e[11]=[o("mdi-ip-network",-1)])]),_:1}),o(" "+d(r(t).players[a.value.player_id].device_info.ip_address),1)])):f("",!0),r(t).players[a.value.player_id]?(p(),c("span",ye,[s(m,{size:"14",class:"mr-1"},{default:n(()=>[...e[12]||(e[12]=[o("mdi-tag",-1)])]),_:1}),o(" "+d(l.$t(`player_type.${r(t).players[a.value.player_id].type}`)),1)])):f("",!0)])])])]),_:1})])):f("",!0),a.value?(p(),w(K,{key:1,disabled:!a.value.enabled,"config-entries":B.value,onSubmit:L,onAction:R,onImmediateApply:M},null,8,["disabled","config-entries"])):f("",!0),s(ae,{modelValue:v.value,"onUpdate:modelValue":e[5]||(e[5]=i=>v.value=i),"max-width":"400"},{default:n(()=>[s(T,null,{default:n(()=>[s(J,null,{default:n(()=>[o(d(l.$t("settings.player_name")),1)]),_:1}),s(Q,null,{default:n(()=>[s(W,{modelValue:b.value,"onUpdate:modelValue":e[3]||(e[3]=i=>b.value=i),placeholder:r(t).players[a.value?.player_id]?.name||a.value?.default_name,variant:"outlined",density:"comfortable",autofocus:"",clearable:"",onKeyup:q(V,["enter"])},null,8,["modelValue","placeholder"])]),_:1}),s(X,null,{default:n(()=>[s(ee),s(P,{variant:"text",onClick:e[4]||(e[4]=i=>v.value=!1)},{default:n(()=>[o(d(l.$t("close")),1)]),_:1}),s(P,{color:"primary",variant:"flat",onClick:V},{default:n(()=>[o(d(l.$t("settings.save")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),Ue=j(ce,[["__scopeId","data-v-8ae923f8"]]);export{Ue as default};
@@ -0,0 +1 @@
1
+ .dsp-pipeline-card[data-v-0e0b8e42]{min-width:160px;transition:all .2s ease}.dsp-pipeline-card[data-v-0e0b8e42]:hover,.filter-selected[data-v-0e0b8e42]{transform:translate(4px)}.add-filter-btn[data-v-0e0b8e42]{background:transparent;border:1px dashed rgba(0,0,0,.5);cursor:pointer}.v-theme--dark .add-filter-btn[data-v-0e0b8e42]{border-color:#ffffff80}.add-filter-btn[data-v-0e0b8e42]:hover{border-color:rgb(var(--v-theme-primary));transform:none}.graph-container[data-v-ac29d681]{position:relative;aspect-ratio:7/2;width:100%;background:var(--v-surface-variant);border-radius:4px;overflow:hidden}.frequency-graph[data-v-ac29d681]{width:100%;height:100%}