music-assistant-frontend 2.15.4__py3-none-any.whl → 2.16.1__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 (159) hide show
  1. music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-B23hwdzS.js +1 -0
  2. music_assistant_frontend/assets/AddPlayerGroup-BC_U6Isc.js +1 -0
  3. music_assistant_frontend/assets/AddProvider-B-GI8U9C.js +1 -0
  4. music_assistant_frontend/assets/AlbumDetails-zLBlXPKW.js +1 -0
  5. music_assistant_frontend/assets/ArtistDetails-u3qxRzVC.js +1 -0
  6. music_assistant_frontend/assets/AudiobookDetails-BSND-D0N.js +1 -0
  7. music_assistant_frontend/assets/BrowseView-Ctn3ZCoq.js +1 -0
  8. music_assistant_frontend/assets/BrowseView-DsuxryYQ.css +1 -0
  9. music_assistant_frontend/assets/Button-aYXDVBuV.js +1 -0
  10. music_assistant_frontend/assets/Container-C2H2nkE9.js +1 -0
  11. music_assistant_frontend/assets/CoreConfigs-GnL75uDs.js +1 -0
  12. music_assistant_frontend/assets/Default-CYluO0jA.css +1 -0
  13. music_assistant_frontend/assets/Default-DTPP5lIK.js +21 -0
  14. music_assistant_frontend/assets/EditConfig-CIrdq0kK.js +1 -0
  15. music_assistant_frontend/assets/{EditConfig-BYaal-3X.css → EditConfig-D8eGIUBo.css} +1 -1
  16. music_assistant_frontend/assets/EditCoreConfig-C92JkoSR.js +1 -0
  17. music_assistant_frontend/assets/EditPlayer-B2quymvO.js +1 -0
  18. music_assistant_frontend/assets/EditPlayerDsp-f8TjoVW7.js +9 -0
  19. music_assistant_frontend/assets/EditProvider-D0wRVa_d.js +1 -0
  20. music_assistant_frontend/assets/FrontendConfig-Dr-6wWsn.js +1 -0
  21. music_assistant_frontend/assets/HomeView-DHo-vi8C.js +1 -0
  22. music_assistant_frontend/assets/HomeView-Durn_Ruf.css +1 -0
  23. music_assistant_frontend/assets/{ItemsListing-CF4BD1-1.css → ItemsListing-BhhAYTpM.css} +1 -1
  24. music_assistant_frontend/assets/ItemsListing-DvNht3Vs.js +1 -0
  25. music_assistant_frontend/assets/LibraryAlbums-C6VnsTwl.js +1 -0
  26. music_assistant_frontend/assets/LibraryArtists-BDWYbPjV.js +1 -0
  27. music_assistant_frontend/assets/LibraryAudiobooks-C5z3gfDz.js +1 -0
  28. music_assistant_frontend/assets/LibraryPlaylists-BW6GnO5w.js +1 -0
  29. music_assistant_frontend/assets/LibraryPodcasts-BZeXKU8I.js +1 -0
  30. music_assistant_frontend/assets/LibraryRadios-DNU_2xD3.js +1 -0
  31. music_assistant_frontend/assets/LibraryTracks-wVWawBPf.js +1 -0
  32. music_assistant_frontend/assets/ListItem-9a22IUe_.js +1 -0
  33. music_assistant_frontend/assets/MediaItemImages-CrgdQrv_.js +1 -0
  34. music_assistant_frontend/assets/{MediaItemThumb-DapaMoP4.js → MediaItemThumb-DGz8uUZs.js} +1 -1
  35. music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-CBri7dwB.js +1 -0
  36. music_assistant_frontend/assets/PanelviewItemCompact-CXG_pCst.css +1 -0
  37. music_assistant_frontend/assets/PanelviewItemCompact-CjzQnMou.js +1 -0
  38. music_assistant_frontend/assets/PlayerCard-D6M3c9ey.css +1 -0
  39. music_assistant_frontend/assets/PlayerCard-DumGMqWy.js +1 -0
  40. music_assistant_frontend/assets/Players-CK4-Fj4F.js +1 -0
  41. music_assistant_frontend/assets/PlaylistDetails-oJycTcrr.js +1 -0
  42. music_assistant_frontend/assets/PodcastDetails-CgP7GHit.js +1 -0
  43. music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-VcPvfh0i.js +8 -0
  44. music_assistant_frontend/assets/Providers-C-OHKf7-.js +1 -0
  45. music_assistant_frontend/assets/RadioDetails-DprWOO_b.js +1 -0
  46. music_assistant_frontend/assets/Search-DLBuwQF1.js +1 -0
  47. music_assistant_frontend/assets/Settings-DHWBehLQ.js +1 -0
  48. music_assistant_frontend/assets/{Toolbar-C39Y8p5k.css → Toolbar-DIXvUWAo.css} +1 -1
  49. music_assistant_frontend/assets/Toolbar-DajfpJeO.js +1 -0
  50. music_assistant_frontend/assets/TrackDetails-msU4pe30.js +1 -0
  51. music_assistant_frontend/assets/VAlert-0MPWfrjD.js +1 -0
  52. music_assistant_frontend/assets/VBtn-Bgp7shVZ.js +1 -0
  53. music_assistant_frontend/assets/VBtn-CKb-UCAe.css +1 -0
  54. music_assistant_frontend/assets/VContainer-D1a7FIB6.js +1 -0
  55. music_assistant_frontend/assets/VDialog-C8hQC-4-.js +1 -0
  56. music_assistant_frontend/assets/VExpansionPanels-B8KjM0Qi.css +1 -0
  57. music_assistant_frontend/assets/VExpansionPanels-BzxBk5CR.js +1 -0
  58. music_assistant_frontend/assets/VForm-Bi0G7nvJ.js +1 -0
  59. music_assistant_frontend/assets/VInfiniteScroll-C-GNeig6.js +1 -0
  60. music_assistant_frontend/assets/{VInfiniteScroll-Ym6ebus2.css → VInfiniteScroll-DtVkDWQ3.css} +1 -1
  61. music_assistant_frontend/assets/VInput-BYZ1ZOn5.js +1 -0
  62. music_assistant_frontend/assets/{VRow-BQOTE9C_.js → VRow-CAUFg519.js} +1 -1
  63. music_assistant_frontend/assets/VSlider-G29qKfHM.js +1 -0
  64. music_assistant_frontend/assets/VSpacer-C0HtE03C.js +1 -0
  65. music_assistant_frontend/assets/VSwitch-CWu7wOmc.js +1 -0
  66. music_assistant_frontend/assets/VTextField-CD7YR7fj.css +1 -0
  67. music_assistant_frontend/assets/VTextField-nSM0NIPC.js +1 -0
  68. music_assistant_frontend/assets/VToolbar-COKHN9Hu.css +1 -0
  69. music_assistant_frontend/assets/VToolbar-DS_w-ycX.js +1 -0
  70. music_assistant_frontend/assets/VVirtualScroll-MoFIZh7a.js +1 -0
  71. music_assistant_frontend/assets/WidgetRow-LLOKuXPh.css +1 -0
  72. music_assistant_frontend/assets/WidgetRow-hfaisagb.js +1 -0
  73. music_assistant_frontend/assets/icon-U5wS6iOz.svg +144 -0
  74. music_assistant_frontend/assets/index-Bqfuf-N2.css +5 -0
  75. music_assistant_frontend/assets/index-DkwJyNnc.js +1151 -0
  76. music_assistant_frontend/assets/layout-CKlDE2-Q.js +1 -0
  77. music_assistant_frontend/assets/{marquee_text_sync-D7pvlIaW.js → marquee_text_sync-CpCwLExW.js} +1 -1
  78. music_assistant_frontend/assets/workbox-window.prod.es5-CwtvwXb3.js +2 -0
  79. music_assistant_frontend/favicon.ico +0 -0
  80. music_assistant_frontend/index.html +2 -2
  81. music_assistant_frontend/pwa-192x192.png +0 -0
  82. music_assistant_frontend/pwa-512x512.png +0 -0
  83. music_assistant_frontend/sw.js +1 -1
  84. {music_assistant_frontend-2.15.4.dist-info → music_assistant_frontend-2.16.1.dist-info}/METADATA +1 -1
  85. music_assistant_frontend-2.16.1.dist-info/RECORD +140 -0
  86. music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-C5lewnND.js +0 -1
  87. music_assistant_frontend/assets/AddPlayerGroup-BPfChcs2.js +0 -1
  88. music_assistant_frontend/assets/AddProvider-KhNdmCTA.js +0 -1
  89. music_assistant_frontend/assets/AlbumDetails-B1wMfgae.js +0 -1
  90. music_assistant_frontend/assets/ArtistDetails-BQHXYeDz.js +0 -1
  91. music_assistant_frontend/assets/AudiobookDetails-BMf-Kanp.js +0 -1
  92. music_assistant_frontend/assets/BrowseView-CnQKtYig.js +0 -1
  93. music_assistant_frontend/assets/BrowseView-oeergoPG.css +0 -1
  94. music_assistant_frontend/assets/Button-kSJGA_Pw.js +0 -1
  95. music_assistant_frontend/assets/Container-Br6JH6Pm.js +0 -1
  96. music_assistant_frontend/assets/CoreConfigs-B4gUQUrC.js +0 -1
  97. music_assistant_frontend/assets/Default--5CEEAfs.js +0 -21
  98. music_assistant_frontend/assets/Default-Dx2pe-Q6.css +0 -1
  99. music_assistant_frontend/assets/EditConfig-CH-Rsyh7.js +0 -1
  100. music_assistant_frontend/assets/EditCoreConfig-BN8aV9-G.js +0 -1
  101. music_assistant_frontend/assets/EditPlayer-Dek9U9Dv.js +0 -1
  102. music_assistant_frontend/assets/EditPlayerDsp-BPlbtUov.js +0 -9
  103. music_assistant_frontend/assets/EditProvider-WLU5_IrG.js +0 -1
  104. music_assistant_frontend/assets/FrontendConfig-DnBvoAsc.js +0 -1
  105. music_assistant_frontend/assets/HomeView-B0xuDRaR.js +0 -1
  106. music_assistant_frontend/assets/HomeView-CAzHE5q_.css +0 -1
  107. music_assistant_frontend/assets/ItemsListing-t4zttHcu.js +0 -1
  108. music_assistant_frontend/assets/LibraryAlbums-Ap7N2N4-.js +0 -1
  109. music_assistant_frontend/assets/LibraryArtists-DWaZXNXM.js +0 -1
  110. music_assistant_frontend/assets/LibraryAudiobooks-C622C9Dc.js +0 -1
  111. music_assistant_frontend/assets/LibraryPlaylists-BRwoDo4L.js +0 -1
  112. music_assistant_frontend/assets/LibraryPodcasts-CJhgYliM.js +0 -1
  113. music_assistant_frontend/assets/LibraryRadios-DWNi4O3t.js +0 -1
  114. music_assistant_frontend/assets/LibraryTracks-BpKZMM3s.js +0 -1
  115. music_assistant_frontend/assets/ListItem-LV_WU--g.js +0 -1
  116. music_assistant_frontend/assets/MediaItemImages-CJ6xGg3E.js +0 -1
  117. music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-DnroVGI-.js +0 -1
  118. music_assistant_frontend/assets/PanelviewItemCompact-CIDxIfoQ.js +0 -1
  119. music_assistant_frontend/assets/PanelviewItemCompact-CpNCOyfa.css +0 -1
  120. music_assistant_frontend/assets/PlayerCard-5XdZCTyl.js +0 -1
  121. music_assistant_frontend/assets/PlayerCard-B_skq9Pv.css +0 -1
  122. music_assistant_frontend/assets/Players-Crva1j2X.js +0 -1
  123. music_assistant_frontend/assets/PlaylistDetails-BS8tJJiU.js +0 -1
  124. music_assistant_frontend/assets/PodcastDetails-C9ac20wo.js +0 -1
  125. music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-DKVZaoMX.js +0 -8
  126. music_assistant_frontend/assets/Providers-C0MUEQHq.js +0 -1
  127. music_assistant_frontend/assets/RadioDetails-BFielRcl.js +0 -1
  128. music_assistant_frontend/assets/Search-BZ4EXF5l.js +0 -1
  129. music_assistant_frontend/assets/Settings-DLp7_ydq.js +0 -1
  130. music_assistant_frontend/assets/Toolbar-BvxWbi_E.js +0 -1
  131. music_assistant_frontend/assets/TrackDetails-8grZ0uRA.js +0 -1
  132. music_assistant_frontend/assets/VAlert-QHTIcuEJ.js +0 -1
  133. music_assistant_frontend/assets/VBtn-7JSU8r8J.css +0 -1
  134. music_assistant_frontend/assets/VBtn-BPJ1JKW-.js +0 -1
  135. music_assistant_frontend/assets/VContainer-DB65WVbe.js +0 -1
  136. music_assistant_frontend/assets/VDialog-CAgq0L03.js +0 -1
  137. music_assistant_frontend/assets/VExpansionPanels-CR_eBB13.js +0 -1
  138. music_assistant_frontend/assets/VExpansionPanels-RsCANmDP.css +0 -1
  139. music_assistant_frontend/assets/VForm-C-dO2GIE.js +0 -1
  140. music_assistant_frontend/assets/VInfiniteScroll-CKZj-VKd.js +0 -1
  141. music_assistant_frontend/assets/VInput-BWBQqjuk.js +0 -1
  142. music_assistant_frontend/assets/VSlider-BCIrn4it.js +0 -1
  143. music_assistant_frontend/assets/VSpacer-DDLrofv-.js +0 -1
  144. music_assistant_frontend/assets/VSwitch-Bhk7qcAi.js +0 -1
  145. music_assistant_frontend/assets/VTextField-B-d5Pe9I.js +0 -1
  146. music_assistant_frontend/assets/VTextField-BzBVKKob.css +0 -1
  147. music_assistant_frontend/assets/VToolbar-BxjAEfSk.css +0 -1
  148. music_assistant_frontend/assets/VToolbar-RljK0PC9.js +0 -1
  149. music_assistant_frontend/assets/VVirtualScroll-CceW16X7.js +0 -1
  150. music_assistant_frontend/assets/WidgetRow-DXupbFci.js +0 -1
  151. music_assistant_frontend/assets/WidgetRow-DZUQiDrc.css +0 -1
  152. music_assistant_frontend/assets/index-B-lUZalq.js +0 -1150
  153. music_assistant_frontend/assets/index-ChR-4nN8.css +0 -5
  154. music_assistant_frontend/assets/layout-BuzUTwrQ.js +0 -1
  155. music_assistant_frontend/assets/workbox-window.prod.es5-B9K5rw8f.js +0 -2
  156. music_assistant_frontend-2.15.4.dist-info/RECORD +0 -139
  157. {music_assistant_frontend-2.15.4.dist-info → music_assistant_frontend-2.16.1.dist-info}/WHEEL +0 -0
  158. {music_assistant_frontend-2.15.4.dist-info → music_assistant_frontend-2.16.1.dist-info}/licenses/LICENSE +0 -0
  159. {music_assistant_frontend-2.15.4.dist-info → music_assistant_frontend-2.16.1.dist-info}/top_level.txt +0 -0
@@ -1,21 +0,0 @@
1
- import{B as pe,z as fa,m as wt}from"./Button-kSJGA_Pw.js";import{D as pa}from"./constants-BXWEQHoz.js";import{_ as ha,s as ve,c as $,a as xe,o as Ae,w as J,b as Le,C as ga,u as Se,d as _a,e as ot,f as ba,g as ce,p as de,h as st,i as Ue,j as nt,k as Me,l as rt,m as ut,n as ct,q as Aa,r as Ge,t as je,v as Ot,x as M,y as wa,z as X,A as Pa,B as dt,D as me,E as w,F as u,G as j,H as ka,T as Ca,I as W,J as ze,K as Ve,L as mt,M as vt,N as Ia,O as Qa,P as we,Q as yt,R as Ke,V as We,S as xa,U as q,W as V,X as r,Y as y,Z as be,$ as Ne,a0 as g,a1 as se,a2 as e,a3 as Ie,a4 as t,a5 as Ce,a6 as B,a7 as z,a8 as Pt,a9 as He,aa as Z,ab as Q,ac as Je,ad as k,ae as Va,af as $a,ag as H,ah as ie,ai as Sa,aj as Ta,ak as Ba,al as Dt,am as qt,an as Wt,ao as Ea,ap as Nt,aq as ae,ar as le,as as D,at as ft,au as pt,av as Ht,aw as Ma,ax as Yt,ay as La,az as Xt,aA as za,aB as Fa,aC as Ra,aD as Oa,aE as Da,aF as qa,aG as Wa,aH as Na,aI as Ha,aJ as Ya,aK as Xa,aL as kt,aM as Ua,aN as Ga,aO as ja,aP as Ka,aQ as Za,aR as Qe,aS as re,aT as Te,aU as et,aV as Be,aW as Ut,aX as Ye,aY as Ja,aZ as Fe,a_ as Re,a$ as Xe,b0 as tt,b1 as $e,b2 as he,b3 as Gt,b4 as jt,b5 as Kt,b6 as Ct,b7 as It,b8 as el,b9 as tl,ba as al,bb as De,bc as ll,bd as Qt,be as xt,bf as Vt,bg as $t,bh as _e,bi as Zt,bj as il,bk as ol,bl as sl,bm as nl}from"./index-B-lUZalq.js";import{u as ht,m as gt,a as rl,c as ul,b as cl}from"./layout-BuzUTwrQ.js";import{_ as ue}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{M as Ee}from"./MediaItemThumb-DapaMoP4.js";import{T as dl,V as at}from"./Toolbar-BvxWbi_E.js";import{V as Jt}from"./VDialog-CAgq0L03.js";import{V as ml,a as vl}from"./VInfiniteScroll-CKZj-VKd.js";import{V as yl,a as ge,m as fl,b as ea}from"./VBtn-BPJ1JKW-.js";import{V as pl,P as _t,g as hl,a as Oe}from"./PlayerCard-5XdZCTyl.js";import{V as gl}from"./VSlider-BCIrn4it.js";import{L as _l}from"./ListItem-LV_WU--g.js";import{M as oe,a as lt}from"./marquee_text_sync-D7pvlIaW.js";import{_ as bl}from"./NowPlayingBadge.vue_vue_type_style_index_0_lang-DnroVGI-.js";import{V as Al}from"./VToolbar-RljK0PC9.js";import{V as wl}from"./VVirtualScroll-CceW16X7.js";import{V as Pl,a as St,b as Tt,c as Bt}from"./VExpansionPanels-CR_eBB13.js";import"./VInput-BWBQqjuk.js";const kl=ue(ha,[["__scopeId","data-v-2703e550"]]),Cl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAKa0lEQVR42u3dW4ycdR3H4e87Mz1D2+1h27TAFiSRw4UaA4iJnPGYgIkmaLzwEO/VhCsT5aQXRuKlV96ZeAwmmpAQJZomysHoBSSmpQWhBFsoZUu37ba7nZnXi1LYtrszO9s9zbzPk/Si0GHKO+/vM///O4cttj89VgaopJpDAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAi6rhEFRTPclQLbnsvd+fSHK0nbQcGgFgcK0skk+uKfLAcD27Lq9l68qz//ztyeS14+389nArz5wqM1k6VlVQbH96zENdEVtqyYM7G/ns9nrW1qf/M+Ot5Kk3W3n8f80caTtmVgAMhOFa8tiuRm7bWk+9mPnPra0n9++oZ9OK5AevNfOWCAw0FwErNPy3dxn+968PFMltW+v50dWNbHOGCACDMfy1oocTo0g+tUUEBIDKDb8ICAAVH34REAAqPvwiIABUfPhFQACo+PCLgABQ8eEXAQGg4sMvAgJAxYf/ogjsEgEBoFLDf14EtoqAAFC54b8wAo/uamTY2SQAVGf4p0bgdhEQABZn+B9dRsM/NQJ3iIAAsPDDf8cyG34REAAqPvwiIABUfPini8BWZ5gAMHdbaskjfTT8F0bgMREQAC5h+Ef6b/hFQACYp+G/a3h2X+MlAgiA4XdNAAEw/MszAneKgABQveEXAQGg4sMvAgJAxYdfBASAig+/CAgAFR9+ERAAw1/x4RcBATD8FR9+ERAAw48ICIDh54MIPDIiAgJg+CsbgbuGRUAADL8IiIAAGH4REAEBMPwigAAYfhFgPjUcAsPfLxFIkh8eaOZI2zGxAjD8lYvAncP1PDrSyBZnrQAY/uqpi4AAGH4REAEBMPwiIAICYPhFQAQEwPBXOgKPiIAAGP7qRuAuERAAwy8CIiAAhr/iEXhopJHNzmoBMPzVjMA9w/U8LAICsBDD/7DhFwEBqJ6NRfLQSCN3G/6+isBDVzWyweMlAJdiVZE8uLOeewx/30Xg3m31PLijnpUeNwGYiyLJAxtquX9Hw/D3aQS+uLORBzbU4uETgJ6NNJKvjzSyylHq3xVcLfnGVY2M+OC7APT07JHk29vq2bnac0e/27mmyLeG6052AZi9a1YUuWu4npr57/+TvEju3lbPNQ0PpgDMcu//1c21bHL1aGBsXlnkK1tcCxCAWRiqJTdtqXn2H7BVwM2b69nojBeAbm5cXeSatXM/NO0yabbP/mqX/Xf7XrV6vL8ySfPcbcqzv18MH1pX5EbXdM7j2ug07t1YS2OO8//GeJknDjaze+zsaX37+iJf2tHIFWuLvrh9L8okr58s8/uDzTxzvEyjSO7ZUMt9O+rZPsOgNcvk2SOt/O5wOwdOldm2Kvny1nruGK4v+KstjdrZv9/fx1tOcgGY3qoiuXrd3PaKb4yX+d7eM3lxsnz/We0/R8r8Y+xMfnbdiq5DuNS379VrJ9v57kvN7Jn84Dn8hcOtPHO8nZ9ctyLbVhUXrUz+eLCVH7/RzIn3brK3mTw33sx3TpX55q6Ffb9FkeSay2pZVbQyUTrXbQGmcXmRbF3T+1nYLpMnDjbPG75zz5IvTJb5w6Fmx+XxUt9+Lsv+X77ROm/4z93fs6fKPHWoddH9HTpd5ucHW+8P/zkTZfKLt1vZd3zhv+976+oil9sFCMBM1iYZWjG3fffusXLa/WyZZPexsusAL+Xte3V4oszfxtozbg3+Ota+6P4OnGjn0Ax/idF28q+j7Sx0AjatPPsYIwDTWlkk6+Z4+f90a+YJO9Uql/3te7Hn3XbenOet9JOj7Uy0FnZtvq5W+GyAAHQ5KE6Qjppl8uej7XSa/1svu/hl1J3ratnc4djunyyz/0TpsRUAlrO3J8o8f2LmxfraIrlp4zQBWF3kox0uRB4vkxeOthflpUsEgAVa/u9qFPnw+osHvV5LPr+p83vynzzazqQCCAD9u/z/zFAta6d5Pa9Icv3GWsef8rt/ssy+EwIgAPTt8v/mjTO/jfqK2W4DHGoBYHCW/z1vA1pWAQJA/y3/N06//L9wG9Dp+/tftg0QAJbn8v+f3a7+D3X/FOUVq4t8rMM2YKxMXnzXNkAAWFb2HmvnUIen/5FGkevWd3+hfVbbgFHbAAFgeS3/Ry9t+d/LNmAx3hSEADBLR2Zz9X9o9l+i0u3VgLEyecE2QABYHvYc63z1f6TL1f/ptgFfsA0QAPpn+d/ssvxf18OH+W0DBICKLv9tAwSACi//p24DvBogACzz5f9f5nn5bxsgAPTR8v+5Dsv/NXNc/p9zpW2AANC/y/9dc1z+97QN8NkAAWB5Lv8/Pcfl/3nbgA1dtgETtgECwLJc/t8ydOk/QenKNd23AT4bIAAM2PJ/6jbgc7YBAkC1lv9TtwE3bKhlc4ezcZ9tgAAweMt/2wABYBnau0jL/6nbAK8GCAAVW/7bBggAy3D5/+wCvvnHNkAA6OPl/2y/+cc2QADoM60lWP5P3QZcbxsgACzh8n9yca/+X+iqNUU+YhsgACyNPe/Ozxd/XtI2YGg22wCPlQAw78v/p48uzfJ/6jbgho3dtwEvn7QGEADmffn/7PGlW/73tA3w48MEgHle/h9b2uV/r9uAMwogAMzj8r/r1f9iQZf/vW4D9p9QAAFgoJb/520D1sx8Z8dsAwSA+dPtx35d1Shy3frFO11m+6Yg2wABYICW/+dvAwrbgAXWcAjmz5ZakaTs8O+W5+2PninzyniZa+sznCRFcusiLv8/2AbU8ol1RfaMlzNG4qVj7dy4vpbC6Te30G5/esz7Kqe4tp786eOr0pjD2qjZ5cmo239zqW5fJml1uW2tyKIHYDb/T0WR9LIwabaT+/49kZe9kcgKYN4PZq0/b1/Mw30v12OKawCAAAACAAgAIADTantdZHAfW4dAADo5XSZjvnJqYB1rljnt4RWAmYyWyYGTzpBB9frJMqMeXgGYyXiZPD/ajkXA4GmVyfOjrYx7bAWgk1+/08or3mM+cP57op3fvONxFYAu3monj7/azOEJTxWD4vBEmZ++2syb5l8AZmP3eJnv7z2TfcdtB/p92b//eDsP7TuT3db+F/FhoC621ZKvba7nls21XLm2yPp6sSQfimH22u+9knPgZJl/jrbzq3daecszvwBcinVFMlQkqw1/Xzhdnn1Fx5N+Zz4NOEsny7O/wDUAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAEAAAAEABAAQAEAAAAEABAAQAEAAAAEA+tL/AYvYNHE2dY4wAAAAAElFTkSuQmCC";function Il(a){let{rootEl:l,isSticky:i,layoutItemStyles:o}=a;const n=ve(!1),s=ve(0),c=$(()=>{const v=typeof n.value=="boolean"?"top":n.value;return[i.value?{top:"auto",bottom:"auto",height:void 0}:void 0,n.value?{[v]:xe(s.value)}:{top:o.value.top}]});Ae(()=>{J(i,v=>{v?window.addEventListener("scroll",f,{passive:!0}):window.removeEventListener("scroll",f)},{immediate:!0})}),Le(()=>{window.removeEventListener("scroll",f)});let m=0;function f(){const v=m>window.scrollY?"up":"down",T=l.value.getBoundingClientRect(),b=parseFloat(o.value.top??0),d=window.scrollY-Math.max(0,s.value-b),I=T.height+Math.max(s.value,b)-window.scrollY-window.innerHeight,C=parseFloat(getComputedStyle(l.value).getPropertyValue("--v-body-scroll-y"))||0;T.height<window.innerHeight-b?(n.value="top",s.value=b):v==="up"&&n.value==="bottom"||v==="down"&&n.value==="top"?(s.value=window.scrollY+T.top-C,n.value=!0):v==="down"&&I<=0?(s.value=0,n.value="bottom"):v==="up"&&d<=0&&(C?n.value!=="top"&&(s.value=-d+C+b,n.value="top"):(s.value=T.top+d,n.value="top")),m=window.scrollY}return{isStuck:n,stickyStyles:c}}const Ql=100,xl=20;function Et(a){return(a<0?-1:1)*Math.sqrt(Math.abs(a))*1.41421356237}function Mt(a){if(a.length<2)return 0;if(a.length===2)return a[1].t===a[0].t?0:(a[1].d-a[0].d)/(a[1].t-a[0].t);let l=0;for(let i=a.length-1;i>0;i--){if(a[i].t===a[i-1].t)continue;const o=Et(l),n=(a[i].d-a[i-1].d)/(a[i].t-a[i-1].t);l+=(n-o)*Math.abs(n),i===a.length-1&&(l*=.5)}return Et(l)*1e3}function Vl(){const a={};function l(n){Array.from(n.changedTouches).forEach(s=>{(a[s.identifier]??(a[s.identifier]=new ga(xl))).push([n.timeStamp,s])})}function i(n){Array.from(n.changedTouches).forEach(s=>{delete a[s.identifier]})}function o(n){const s=a[n]?.values().reverse();if(!s)throw new Error(`No samples for touch id ${n}`);const c=s[0],m=[],f=[];for(const v of s){if(c[0]-v[0]>Ql)break;m.push({t:v[0],d:v[1].clientX}),f.push({t:v[0],d:v[1].clientY})}return{x:Mt(m),y:Mt(f),get direction(){const{x:v,y:T}=this,[b,d]=[Math.abs(v),Math.abs(T)];return b>d&&v>=0?"right":b>d&&v<=0?"left":d>b&&T>=0?"down":d>b&&T<=0?"up":$l()}}}return{addMovement:l,endTouch:i,getVelocity:o}}function $l(){throw new Error}function Sl(a){let{el:l,isActive:i,isTemporary:o,width:n,touchless:s,position:c}=a;Ae(()=>{window.addEventListener("touchstart",ee,{passive:!0}),window.addEventListener("touchmove",N,{passive:!1}),window.addEventListener("touchend",R,{passive:!0})}),Le(()=>{window.removeEventListener("touchstart",ee),window.removeEventListener("touchmove",N),window.removeEventListener("touchend",R)});const m=$(()=>["left","right"].includes(c.value)),{addMovement:f,endTouch:v,getVelocity:T}=Vl();let b=!1;const d=ve(!1),I=ve(0),C=ve(0);let E;function F(h,S){return(c.value==="left"?h:c.value==="right"?document.documentElement.clientWidth-h:c.value==="top"?h:c.value==="bottom"?document.documentElement.clientHeight-h:ke())-(S?n.value:0)}function U(h){let S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const x=c.value==="left"?(h-C.value)/n.value:c.value==="right"?(document.documentElement.clientWidth-h-C.value)/n.value:c.value==="top"?(h-C.value)/n.value:c.value==="bottom"?(document.documentElement.clientHeight-h-C.value)/n.value:ke();return S?_a(x):x}function ee(h){if(s.value)return;const S=h.changedTouches[0].clientX,x=h.changedTouches[0].clientY,L=25,G=c.value==="left"?S<L:c.value==="right"?S>document.documentElement.clientWidth-L:c.value==="top"?x<L:c.value==="bottom"?x>document.documentElement.clientHeight-L:ke(),A=i.value&&(c.value==="left"?S<n.value:c.value==="right"?S>document.documentElement.clientWidth-n.value:c.value==="top"?x<n.value:c.value==="bottom"?x>document.documentElement.clientHeight-n.value:ke());(G||A||i.value&&o.value)&&(E=[S,x],C.value=F(m.value?S:x,i.value),I.value=U(m.value?S:x),b=C.value>-20&&C.value<80,v(h),f(h))}function N(h){const S=h.changedTouches[0].clientX,x=h.changedTouches[0].clientY;if(b){if(!h.cancelable){b=!1;return}const G=Math.abs(S-E[0]),A=Math.abs(x-E[1]);(m.value?G>A&&G>3:A>G&&A>3)?(d.value=!0,b=!1):(m.value?A:G)>3&&(b=!1)}if(!d.value)return;h.preventDefault(),f(h);const L=U(m.value?S:x,!1);I.value=Math.max(0,Math.min(1,L)),L>1?C.value=F(m.value?S:x,!0):L<0&&(C.value=F(m.value?S:x,!1))}function R(h){if(b=!1,!d.value)return;f(h),d.value=!1;const S=T(h.changedTouches[0].identifier),x=Math.abs(S.x),L=Math.abs(S.y);(m.value?x>L&&x>400:L>x&&L>3)?i.value=S.direction===({left:"right",right:"left",top:"down",bottom:"up"}[c.value]||ke()):i.value=I.value>.5}const _=$(()=>d.value?{transform:c.value==="left"?`translateX(calc(-100% + ${I.value*n.value}px))`:c.value==="right"?`translateX(calc(100% - ${I.value*n.value}px))`:c.value==="top"?`translateY(calc(-100% + ${I.value*n.value}px))`:c.value==="bottom"?`translateY(calc(100% - ${I.value*n.value}px))`:ke(),transition:"none"}:void 0);return Se(d,()=>{const h=l.value?.style.transform??null,S=l.value?.style.transition??null;ot(()=>{l.value?.style.setProperty("transform",_.value?.transform||"none"),l.value?.style.setProperty("transition",_.value?.transition||null)}),ba(()=>{l.value?.style.setProperty("transform",h),l.value?.style.setProperty("transition",S)})}),{isDragging:d,dragProgress:I,dragStyles:_}}function ke(){throw new Error}const Tl=["start","end","left","right","top","bottom"],Bl=de({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:a=>Tl.includes(a)},sticky:Boolean,...yt(),...we(),...Qa(),...Ia({mobile:null}),...vt(),...gt(),...mt(),...Ve({tag:"nav"}),...ze()},"VNavigationDrawer"),ta=ce()({name:"VNavigationDrawer",props:Bl(),emits:{"update:modelValue":a=>!0,"update:rail":a=>!0},setup(a,l){let{attrs:i,emit:o,slots:n}=l;const{isRtl:s}=st(),{themeClasses:c}=Ue(a),{borderClasses:m}=nt(a),{backgroundColorClasses:f,backgroundColorStyles:v}=Me(()=>a.color),{elevationClasses:T}=rt(a),{displayClasses:b,mobile:d}=ut(a),{roundedClasses:I}=ct(a),C=Aa(),E=Ge(a,"modelValue",null,Y=>!!Y),{ssrBootStyles:F}=je(),{scopeId:U}=Ot(),ee=M(),N=ve(!1),{runOpenDelay:R,runCloseDelay:_}=ka(a,Y=>{N.value=Y}),h=$(()=>a.rail&&a.expandOnHover&&N.value?Number(a.width):Number(a.rail?a.railWidth:a.width)),S=$(()=>wa(a.location,s.value)),x=X(()=>a.persistent),L=$(()=>!a.permanent&&(d.value||a.temporary)),G=$(()=>a.sticky&&!L.value&&S.value!=="bottom");Se(()=>a.expandOnHover&&a.rail!=null,()=>{J(N,Y=>o("update:rail",!Y))}),Se(()=>!a.disableResizeWatcher,()=>{J(L,Y=>!a.permanent&&Ke(()=>E.value=!Y))}),Se(()=>!a.disableRouteWatcher&&!!C,()=>{J(C.currentRoute,()=>L.value&&(E.value=!1))}),J(()=>a.permanent,Y=>{Y&&(E.value=!0)}),a.modelValue==null&&!L.value&&(E.value=a.permanent||!d.value);const{isDragging:A,dragProgress:p}=Sl({el:ee,isActive:E,isTemporary:L,width:h,touchless:X(()=>a.touchless),position:S}),P=$(()=>{const Y=L.value?0:a.rail&&a.expandOnHover?Number(a.railWidth):h.value;return A.value?Y*p.value:Y}),{layoutItemStyles:O,layoutItemScrimStyles:K}=ht({id:a.name,order:$(()=>parseInt(a.order,10)),position:S,layoutSize:P,elementSize:h,active:Pa(E),disableTransitions:X(()=>A.value),absolute:$(()=>a.absolute||G.value&&typeof te.value!="string")}),{isStuck:te,stickyStyles:ye}=Il({rootEl:ee,isSticky:G,layoutItemStyles:O}),ne=Me(()=>typeof a.scrim=="string"?a.scrim:null),fe=$(()=>({...A.value?{opacity:p.value*.2,transition:"none"}:void 0,...K.value}));return dt({VList:{bgColor:"transparent"}}),me(()=>{const Y=n.image||a.image;return w(W,null,[u(a.tag,j({ref:ee,onMouseenter:R,onMouseleave:_,class:["v-navigation-drawer",`v-navigation-drawer--${S.value}`,{"v-navigation-drawer--expand-on-hover":a.expandOnHover,"v-navigation-drawer--floating":a.floating,"v-navigation-drawer--is-hovering":N.value,"v-navigation-drawer--rail":a.rail,"v-navigation-drawer--temporary":L.value,"v-navigation-drawer--persistent":x.value,"v-navigation-drawer--active":E.value,"v-navigation-drawer--sticky":G.value},c.value,f.value,m.value,b.value,T.value,I.value,a.class],style:[v.value,O.value,F.value,ye.value,a.style]},U,i),{default:()=>[Y&&w("div",{key:"image",class:"v-navigation-drawer__img"},[n.image?u(xa,{key:"image-defaults",disabled:!a.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:a.image}}},n.image):u(We,{key:"image-img",alt:"",cover:!0,height:"inherit",src:a.image},null)]),n.prepend&&w("div",{class:"v-navigation-drawer__prepend"},[n.prepend?.()]),w("div",{class:"v-navigation-drawer__content"},[n.default?.()]),n.append&&w("div",{class:"v-navigation-drawer__append"},[n.append?.()])]}),u(Ca,{name:"fade-transition"},{default:()=>[L.value&&(A.value||E.value)&&!!a.scrim&&w("div",j({class:["v-navigation-drawer__scrim",ne.backgroundColorClasses.value],style:[fe.value,ne.backgroundColorStyles.value],onClick:()=>{x.value||(E.value=!1)}},U),null)]})])}),{isStuck:te}}}),aa=function(){const a=localStorage.getItem("frontend.settings.menu_items"),l=a?a.split(","):pa,i=[];for(const o of l)o==="home"&&i.push({label:"home",icon:"mdi-home-outline",path:"/home",isLibraryNode:!1}),o==="search"&&i.push({label:"search",icon:"mdi-magnify",path:"/search",isLibraryNode:!1}),o==="artists"&&i.push({label:"artists",icon:"mdi-account-outline",path:"/artists",isLibraryNode:!0,hidden:t.libraryArtistsCount===0}),o==="albums"&&i.push({label:"albums",icon:"mdi-album",path:"/albums",isLibraryNode:!0,hidden:t.libraryAlbumsCount===0}),o==="tracks"&&i.push({label:"tracks",icon:"mdi-music-note",path:"/tracks",isLibraryNode:!0,hidden:t.libraryTracksCount===0}),o==="playlists"&&i.push({label:"playlists",icon:"mdi-playlist-play",path:"/playlists",isLibraryNode:!0,hidden:t.libraryPlaylistsCount===0}),o==="podcasts"&&i.push({label:"podcasts",icon:"mdi-podcast",path:"/podcasts",isLibraryNode:!0,hidden:t.libraryPodcastsCount===0}),o==="audiobooks"&&i.push({label:"audiobooks",icon:"mdi-book-play-outline",path:"/audiobooks",isLibraryNode:!0,hidden:t.libraryAudiobooksCount===0}),o==="radios"&&i.push({label:"radios",icon:"mdi-access-point",path:"/radios",isLibraryNode:!0,hidden:t.libraryRadiosCount===0}),o==="browse"&&i.push({label:"browse",icon:"mdi-folder-outline",path:"/browse",isLibraryNode:!0}),o==="settings"&&i.push({label:"settings.settings",icon:"mdi-cog-outline",path:"/settings",isLibraryNode:!0});return i},El=q({__name:"DrawerNavigation",setup(a){const l=M(localStorage.getItem("show_navigation_menu")==="true"),i=aa();return J(()=>l.value,o=>{localStorage.setItem("show_navigation_menu",o.toString())}),(o,n)=>(r(),V(ta,{app:"",rail:!l.value,width:280,permanent:""},{default:y(()=>[u(be,{style:{height:"55px"},active:!1},{prepend:y(()=>[...n[1]||(n[1]=[w("img",{class:"logo_icon",size:"40",src:Cl},null,-1)])]),title:y(()=>[...n[2]||(n[2]=[w("div",{class:"logo_text"},"Music Assistant",-1)])]),_:1}),u(Ne),u(Ie,{lines:"one",density:"compact",nav:""},{default:y(()=>[(r(!0),g(W,null,se(e(i).filter(s=>!s.hidden),s=>(r(),V(be,{key:s.path,nav:"",density:"compact",height:15,title:o.$t(s.label),"prepend-icon":s.icon,to:s.path},null,8,["title","prepend-icon","to"]))),128))]),_:1}),u(pe,{nav:"",height:15,width:40,style:{position:"relative",float:"right",right:"10px",top:"20px"},ripple:!1,icon:l.value?"mdi-chevron-left":"mdi-chevron-right",title:o.$t("tooltip.show_menu"),onClick:n[0]||(n[0]=s=>l.value=!l.value)},null,8,["icon","title"])]),_:1},8,["rail"]))}}),Ml=ue(El,[["__scopeId","data-v-46dc003b"]]),Ll={class:"media-thumb"},zl={style:{"margin-left":"-10px","padding-right":"5px"}},Fl=q({__name:"AddToPlaylistDialog",setup(a){const l=M(!1),i=M([]),o=M([]),n=M(),s=M([]);Ae(()=>{Ce.on("playlistdialog",async T=>{l.value=!0,s.value=T.items,n.value=T.parentItem,await c()}),Le(()=>{Ce.off("playlistdialog")})});const c=async function(){i.value=[],o.value=[];const T=await B.getLibraryPlaylists();let b=s.value.length?s.value[0]:void 0;if(b){"provider_mappings"in b||(b=await B.getItem(b.media_type,b.item_id,b.provider));for(const d of T){if(!d.provider_mappings.filter(C=>C.available).length||!d.is_editable||n.value&&n.value.media_type===z.PLAYLIST&&d.item_id===n.value.item_id)continue;const I=B.providers[d.provider_mappings[0].provider_instance];I&&(I.domain=="builtin"||I.is_streaming_provider||b?.provider_mappings.filter(C=>C.provider_instance==I.instance_id).length)&&i.value.push(d)}for(const d of Object.values(B.providers))d.supported_features.includes(Pt.PLAYLIST_CREATE)&&d.supported_features.includes(Pt.PLAYLIST_TRACKS_EDIT)&&(d.domain=="builtin"||d.is_streaming_provider||b?.provider_mappings.filter(I=>I.provider_instance==d.instance_id).length)&&o.value.push(d.instance_id)}},m=async function(T){B.addPlaylistTracks(T.item_id,s.value.map(b=>b.uri)),v(),t.activeAlert={type:Va.INFO,message:Z("background_task_added"),persistent:!1}},f=async function(T){const b=prompt(Z("new_playlist_name"));if(!b)return;const d=await B.createPlaylist(b,T);m(d)},v=function(){l.value=!1};return(T,b)=>(r(),V(Jt,{modelValue:l.value,"onUpdate:modelValue":[b[0]||(b[0]=d=>l.value=d),b[1]||(b[1]=d=>{e(t).dialogActive=d})],fullscreen:"",transition:"dialog-bottom-transition"},{default:y(()=>[u(He,null,{default:y(()=>[u(dl,{icon:"mdi-playlist-plus",title:e(Z)("add_playlist"),"menu-items":[{label:"close",icon:"mdi-close",action:v}]},null,8,["title","menu-items"]),u(Ne),b[4]||(b[4]=w("br",null,null,-1)),u(Ie,null,{default:y(()=>[(r(!0),g(W,null,se(i.value,d=>(r(),g("div",{key:d.item_id},[u(be,{onClick:I=>m(d)},{prepend:y(()=>[w("div",Ll,[u(Ee,{item:d,size:50},null,8,["item"])])]),title:y(()=>[w("div",null,k(d.name),1)]),subtitle:y(()=>[w("div",null,k(d.owner),1)]),append:y(()=>[d.provider_mappings?(r(),V(Je,{key:0,domain:d.provider_mappings[0].provider_domain,size:20},null,8,["domain"])):Q("",!0)]),_:2},1032,["onClick"])]))),128)),b[2]||(b[2]=w("div",{style:{height:"30px"}},null,-1)),u(Ne),b[3]||(b[3]=w("div",{style:{height:"30px"}},null,-1)),(r(!0),g(W,null,se(o.value,d=>(r(),g("div",{key:d},[u(be,{onClick:I=>f(d)},{prepend:y(()=>[w("div",zl,[u(Je,{domain:e(B).providers[d].domain,size:50},null,8,["domain"])])]),title:y(()=>[w("div",null,k(e(Z)("new_playlist")),1)]),subtitle:y(()=>[w("div",null,k(e(Z)("create_playlist_on",[e(B).providers[d].name])),1)]),append:y(()=>[u(Je,{domain:e(B).providers[d].domain,size:20},null,8,["domain"])]),_:2},1032,["onClick"])]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),Rl=ue(Fl,[["__scopeId","data-v-bd014719"]]),Ol=de({scrollable:Boolean,...we(),...Sa(),...Ve({tag:"main"})},"VMain"),Dl=ce()({name:"VMain",props:Ol(),setup(a,l){let{slots:i}=l;const{dimensionStyles:o}=$a(a),{mainStyles:n}=rl(),{ssrBootStyles:s}=je();return me(()=>u(a.tag,{class:ie(["v-main",{"v-main--scrollable":a.scrollable},a.class]),style:H([n.value,s.value,o.value,a.style])},{default:()=>[a.scrollable?w("div",{class:"v-main__scroller"},[i.default?.()]):i.default?.()]})),{}}}),Lt=q({__name:"View",setup(a){return(l,i)=>{const o=Ba("router-view");return r(),V(Dl,{id:"cont",class:"overflow-y-auto",style:{height:"0px"}},{default:y(()=>[e(t).navigationMenuStyle=="vertical"&&!e(t).frameless?(r(),V(Ml,{key:0})):Q("",!0),u(o,null,{default:y(({Component:n})=>[(r(),V(Ta(n)))]),_:1}),u(Rl),u(kl),u(ml,{"model-value":e(t).activeAlert!==void 0,color:e(t).activeAlert?.type||"grey",text:e(t).activeAlert?.message,"close-on-content-click":"",position:"sticky",timeout:e(t).activeAlert?.persistent?-1:5e3,"z-index":"999999",style:{"z-index":"999999"},"onUpdate:modelValue":i[0]||(i[0]=()=>e(t).activeAlert=void 0)},null,8,["model-value","color","text","timeout"])]),_:1})}}}),ql=de({baseColor:String,bgColor:String,color:String,grow:Boolean,mode:{type:String,validator:a=>!a||["horizontal","shift"].includes(a)},height:{type:[Number,String],default:56},active:{type:Boolean,default:!0},...yt(),...we(),...Nt(),...vt(),...mt(),...gt({name:"bottom-navigation"}),...Ve({tag:"header"}),...Ea({selectedClass:"v-btn--selected"}),...ze()},"VBottomNavigation"),Wl=ce()({name:"VBottomNavigation",props:ql(),emits:{"update:active":a=>!0,"update:modelValue":a=>!0},setup(a,l){let{slots:i}=l;const{themeClasses:o}=Dt(),{borderClasses:n}=nt(a),{backgroundColorClasses:s,backgroundColorStyles:c}=Me(()=>a.bgColor),{densityClasses:m}=qt(a),{elevationClasses:f}=rt(a),{roundedClasses:v}=ct(a),{ssrBootStyles:T}=je(),b=$(()=>Number(a.height)-(a.density==="comfortable"?8:0)-(a.density==="compact"?16:0)),d=Ge(a,"active",a.active),{layoutItemStyles:I}=ht({id:a.name,order:$(()=>parseInt(a.order,10)),position:X(()=>"bottom"),layoutSize:X(()=>d.value?b.value:0),elementSize:b,active:d,absolute:X(()=>a.absolute)});return Wt(a,yl),dt({VBtn:{baseColor:X(()=>a.baseColor),color:X(()=>a.color),density:X(()=>a.density),stacked:X(()=>a.mode!=="horizontal"),variant:"text"}},{scoped:!0}),me(()=>u(a.tag,{class:ie(["v-bottom-navigation",{"v-bottom-navigation--active":d.value,"v-bottom-navigation--grow":a.grow,"v-bottom-navigation--shift":a.mode==="shift"},o.value,s.value,n.value,m.value,f.value,v.value,a.class]),style:H([c.value,I.value,{height:xe(b.value)},T.value,a.style])},{default:()=>[i.default&&w("div",{class:"v-bottom-navigation__content"},[i.default()])]})),{}}}),Nl={class:"menuButton"},Hl={class:"menuButton"},Yl={class:"menuButton"},Xl=q({__name:"BottomNavigation",props:{height:{}},setup(a){const l=aa(),i=M(!1);return(o,n)=>(r(),V(Wl,{height:o.height,grow:"",elevation:"15",style:{"border-top":"1px solid #20202035"},role:"navigation"},{default:y(()=>[e(ae)("tablet")?(r(!0),g(W,{key:0},se(e(l),s=>(r(),V(ge,{key:s.label,to:s.path,"aria-label":o.$t(s.label),tabindex:"0"},{default:y(()=>[u(le,{size:"xx-large"},{default:y(()=>[D(k(s.icon),1)]),_:2},1024),w("span",Nl,k(o.$t(s.label)),1)]),_:2},1032,["to","aria-label"]))),128)):(r(),g(W,{key:1},[(r(!0),g(W,null,se(e(l).filter(s=>!s.isLibraryNode),s=>(r(),V(ge,{key:s.label,to:s.path,"aria-label":o.$t(s.label),tabindex:"0"},{default:y(()=>[u(le,{size:"xx-large"},{default:y(()=>[D(k(s.icon),1)]),_:2},1024),w("span",Hl,k(o.$t(s.label)),1)]),_:2},1032,["to","aria-label"]))),128)),u(ft,null,{activator:y(({props:s})=>[u(ge,j(s,{"aria-haspopup":"true","aria-expanded":i.value.toString(),"aria-label":"Open library menu"}),{default:y(()=>[u(le,{size:"xx-large"},{default:y(()=>[...n[0]||(n[0]=[D("mdi-bookshelf",-1)])]),_:1}),w("span",Yl,k(o.$t("library")),1)]),_:1},16,["aria-expanded"])]),default:y(()=>[u(Ie,null,{default:y(()=>[(r(!0),g(W,null,se(e(l).filter(s=>s.isLibraryNode),s=>(r(),V(be,{key:s.label,title:o.$t(s.label),"prepend-icon":s.icon,to:s.path},null,8,["title","prepend-icon","to"]))),128))]),_:1})]),_:1})],64))]),_:1},8,["height"]))}}),Ul=ue(Xl,[["__scopeId","data-v-5c8e33d1"]]),Gl=a=>{const l=$(()=>{const{variant:s,width:c,height:m,staticWidth:f,staticHeight:v,maxWidth:T,maxHeight:b,minWidth:d,minHeight:I,badge:C,...E}=a,F={...E,size:a.size||f||void 0||v||void 0||(a.maxHeight?a.maxHeight:void 0)||(a.maxWidth?a.maxWidth:void 0)||"24px"};return fa(s).with("button",()=>({...F,class:a.class?`icon-button ${a.class}`:"icon-button"})).with("responsive",()=>({...F,class:a.class?`icon-responsive ${a.class}`:"icon-responsive"})).with("default",()=>({...F,class:a.class?`icon-default ${a.class}`:"icon-default"})).otherwise(()=>({...F,class:a.class?`icon-default ${a.class}`:"icon-default"}))}),i=$(()=>{const s={};if(a.staticWidth?s.width=a.staticWidth:a.width&&(s.width=a.width),a.staticHeight?s.height=a.staticHeight:a.height&&(s.height=a.height),a.maxWidth&&(s.maxWidth=a.maxWidth),a.maxHeight&&(s.maxHeight=a.maxHeight),a.minWidth&&(s.minWidth=a.minWidth),a.minHeight&&(s.minHeight=a.minHeight),typeof a.style=="object")Object.assign(s,a.style);else if(typeof a.style=="string"){const c=a.style.split(";").reduce((m,f)=>{const[v,T]=f.split(":").map(b=>b.trim());return v&&T&&(m[v]=T),m},{});Object.assign(s,c)}return s}),o=$(()=>wt("icon-container",a.variant&&`icon-container--${a.variant}`,a.disabled&&"icon-container--disabled")),n=$(()=>wt("icon",a.variant&&`icon--${a.variant}`));return{iconProps:l,containerStyle:i,containerClasses:o,iconClasses:n}},jl={variant:"default",minWidth:"24px",minHeight:"24px",badge:!1,disabled:!1},Kl=de({...we(),...pt(cl(),["fullHeight"]),...ze()},"VApp"),Zl=ce()({name:"VApp",props:Kl(),setup(a,l){let{slots:i}=l;const o=Ue(a),{layoutClasses:n,getLayoutItem:s,items:c,layoutRef:m}=ul({...a,fullHeight:!0}),{rtlClasses:f}=st();return me(()=>w("div",{ref:m,class:ie(["v-application",o.themeClasses.value,n.value,f.value,a.class]),style:H([a.style])},[w("div",{class:"v-application__wrap"},[i.default?.()])])),{getLayoutItem:s,items:c,theme:o}}}),Jl=a=>{const{touchstartX:l,touchendX:i,touchstartY:o,touchendY:n}=a,s=.5,c=16;a.offsetX=i-l,a.offsetY=n-o,Math.abs(a.offsetY)<s*Math.abs(a.offsetX)&&(a.left&&i<l-c&&a.left(a),a.right&&i>l+c&&a.right(a)),Math.abs(a.offsetX)<s*Math.abs(a.offsetY)&&(a.up&&n<o-c&&a.up(a),a.down&&n>o+c&&a.down(a))};function ei(a,l){const i=a.changedTouches[0];l.touchstartX=i.clientX,l.touchstartY=i.clientY,l.start?.({originalEvent:a,...l})}function ti(a,l){const i=a.changedTouches[0];l.touchendX=i.clientX,l.touchendY=i.clientY,l.end?.({originalEvent:a,...l}),Jl(l)}function ai(a,l){const i=a.changedTouches[0];l.touchmoveX=i.clientX,l.touchmoveY=i.clientY,l.move?.({originalEvent:a,...l})}function li(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const l={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:a.left,right:a.right,up:a.up,down:a.down,start:a.start,move:a.move,end:a.end};return{touchstart:i=>ei(i,l),touchend:i=>ti(i,l),touchmove:i=>ai(i,l)}}function ii(a,l){const i=l.value,o=i?.parent?a.parentElement:a,n=i?.options??{passive:!0},s=l.instance?.$.uid;if(!o||s===void 0)return;const c=li(l.value);o._touchHandlers=o._touchHandlers??Object.create(null),o._touchHandlers[s]=c,Ht(c).forEach(m=>{o.addEventListener(m,c[m],n)})}function oi(a,l){const i=l.value?.parent?a.parentElement:a,o=l.instance?.$.uid;if(!i?._touchHandlers||o===void 0)return;const n=i._touchHandlers[o];Ht(n).forEach(s=>{i.removeEventListener(s,n[s])}),delete i._touchHandlers[o]}const it={mounted:ii,unmounted:oi},la=Symbol.for("vuetify:v-window"),ia=Symbol.for("vuetify:v-window-group"),oa=de({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:a=>typeof a=="boolean"||a==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},...we(),...Ve(),...ze()},"VWindow"),zt=ce()({name:"VWindow",directives:{vTouch:it},props:oa(),emits:{"update:modelValue":a=>!0},setup(a,l){let{slots:i}=l;const{themeClasses:o}=Ue(a),{isRtl:n}=st(),{t:s}=Ma(),c=Wt(a,ia),m=M(),f=$(()=>n.value?!a.reverse:a.reverse),v=ve(!1),T=$(()=>{const R=a.direction==="vertical"?"y":"x",h=(f.value?!v.value:v.value)?"-reverse":"";return`v-window-${R}${h}-transition`}),b=ve(0),d=M(void 0),I=$(()=>c.items.value.findIndex(R=>c.selected.value.includes(R.id)));J(I,(R,_)=>{const h=c.items.value.length,S=h-1;h<=2?v.value=R<_:R===S&&_===0?v.value=!0:R===0&&_===S?v.value=!1:v.value=R<_}),La(la,{transition:T,isReversed:v,transitionCount:b,transitionHeight:d,rootRef:m});const C=X(()=>a.continuous||I.value!==0),E=X(()=>a.continuous||I.value!==c.items.value.length-1);function F(){C.value&&c.prev()}function U(){E.value&&c.next()}const ee=$(()=>{const R=[],_={icon:n.value?a.nextIcon:a.prevIcon,class:`v-window__${f.value?"right":"left"}`,onClick:c.prev,"aria-label":s("$vuetify.carousel.prev")};R.push(C.value?i.prev?i.prev({props:_}):u(ge,_,null):w("div",null,null));const h={icon:n.value?a.prevIcon:a.nextIcon,class:`v-window__${f.value?"left":"right"}`,onClick:c.next,"aria-label":s("$vuetify.carousel.next")};return R.push(E.value?i.next?i.next({props:h}):u(ge,h,null):w("div",null,null)),R}),N=$(()=>a.touch===!1?a.touch:{...{left:()=>{f.value?F():U()},right:()=>{f.value?U():F()},start:_=>{let{originalEvent:h}=_;h.stopPropagation()}},...a.touch===!0?{}:a.touch});return me(()=>Yt(u(a.tag,{ref:m,class:ie(["v-window",{"v-window--show-arrows-on-hover":a.showArrows==="hover","v-window--vertical-arrows":!!a.verticalArrows},o.value,a.class]),style:H(a.style)},{default:()=>[w("div",{class:"v-window__container",style:{height:d.value}},[i.default?.({group:c}),a.showArrows!==!1&&w("div",{class:ie(["v-window__controls",{"v-window__controls--left":a.verticalArrows==="left"||a.verticalArrows===!0},{"v-window__controls--right":a.verticalArrows==="right"}])},[ee.value])]),i.additional?.({group:c})]}),[[it,N.value]])),{group:c}}}),sa=de({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...we(),...qa(),...Da()},"VWindowItem"),Ft=ce()({name:"VWindowItem",directives:{vTouch:it},props:sa(),emits:{"group:selected":a=>!0},setup(a,l){let{slots:i}=l;const o=Xt(la),n=za(a,ia),{isBooted:s}=je();if(!o||!n)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const c=ve(!1),m=$(()=>s.value&&(o.isReversed.value?a.reverseTransition!==!1:a.transition!==!1));function f(){!c.value||!o||(c.value=!1,o.transitionCount.value>0&&(o.transitionCount.value-=1,o.transitionCount.value===0&&(o.transitionHeight.value=void 0)))}function v(){c.value||!o||(c.value=!0,o.transitionCount.value===0&&(o.transitionHeight.value=xe(o.rootRef.value?.clientHeight)),o.transitionCount.value+=1)}function T(){f()}function b(C){c.value&&Ke(()=>{!m.value||!c.value||!o||(o.transitionHeight.value=xe(C.clientHeight))})}const d=$(()=>{const C=o.isReversed.value?a.reverseTransition:a.transition;return m.value?{name:typeof C!="string"?o.transition.value:C,onBeforeEnter:v,onAfterEnter:f,onEnterCancelled:T,onBeforeLeave:v,onAfterLeave:f,onLeaveCancelled:T,onEnter:b}:!1}),{hasContent:I}=Fa(a,n.isSelected);return me(()=>u(Oa,{transition:d.value,disabled:!s.value},{default:()=>[Yt(w("div",{class:ie(["v-window-item",n.selectedClass.value,a.class]),style:H(a.style)},[I.value&&i.default?.()]),[[Ra,n.isSelected.value]])]})),{groupItem:n}}}),si=de({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...yt(),...we(),...vt(),...gt(),...mt(),...Ve({tag:"footer"}),...ze()},"VFooter"),ni=ce()({name:"VFooter",props:si(),setup(a,l){let{slots:i}=l;const o=M(),{themeClasses:n}=Ue(a),{backgroundColorClasses:s,backgroundColorStyles:c}=Me(()=>a.color),{borderClasses:m}=nt(a),{elevationClasses:f}=rt(a),{roundedClasses:v}=ct(a),T=ve(32),{resizeRef:b}=Wa(I=>{I.length&&(T.value=I[0].target.clientHeight)}),d=$(()=>a.height==="auto"?T.value:parseInt(a.height,10));return Se(()=>a.app,()=>{const I=ht({id:a.name,order:$(()=>parseInt(a.order,10)),position:X(()=>"bottom"),layoutSize:d,elementSize:$(()=>a.height==="auto"?void 0:d.value),active:X(()=>a.app),absolute:X(()=>a.absolute)});ot(()=>{o.value=I.layoutItemStyles.value})}),me(()=>u(a.tag,{ref:b,class:ie(["v-footer",n.value,s.value,m.value,f.value,v.value,a.class]),style:H([c.value,a.app?o.value:{height:xe(a.height)},a.style])},i)),{}}}),bt=Symbol.for("vuetify:v-tabs"),ri=de({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...pt(fl({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),qe=ce()({name:"VTab",props:ri(),setup(a,l){let{slots:i,attrs:o}=l;const{textColorClasses:n,textColorStyles:s}=Na(()=>a.sliderColor),c=M(),m=M(),f=$(()=>a.direction==="horizontal"),v=$(()=>c.value?.group?.isSelected.value??!1);function T(b){let{value:d}=b;if(d){const I=c.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"),C=m.value;if(!I||!C)return;const E=getComputedStyle(I).color,F=I.getBoundingClientRect(),U=C.getBoundingClientRect(),ee=f.value?"x":"y",N=f.value?"X":"Y",R=f.value?"right":"bottom",_=f.value?"width":"height",h=F[ee],S=U[ee],x=h>S?F[R]-U[R]:F[ee]-U[ee],L=Math.sign(x)>0?f.value?"right":"bottom":Math.sign(x)<0?f.value?"left":"top":"center",A=(Math.abs(x)+(Math.sign(x)<0?F[_]:U[_]))/Math.max(F[_],U[_])||0,p=F[_]/U[_]||0,P=1.5;Ya(C,{backgroundColor:[E,"currentcolor"],transform:[`translate${N}(${x}px) scale${N}(${p})`,`translate${N}(${x/P}px) scale${N}(${(A-1)/P+1})`,"none"],transformOrigin:Array(3).fill(L)},{duration:225,easing:Xa})}}return me(()=>{const b=ge.filterProps(a);return u(ge,j({symbol:bt,ref:c,class:["v-tab",a.class],style:a.style,tabindex:v.value?0:-1,role:"tab","aria-selected":String(v.value),active:!1},b,o,{block:a.fixed,maxWidth:a.fixed?300:void 0,"onGroup:selected":T}),{...i,default:()=>w(W,null,[i.default?.()??a.text,!a.hideSlider&&w("div",{ref:m,class:ie(["v-tab__slider",n.value]),style:H(s.value)},null)])})}),Ha({},c)}}),ui=de({...pt(oa(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),ci=ce()({name:"VTabsWindow",props:ui(),emits:{"update:modelValue":a=>!0},setup(a,l){let{slots:i}=l;const o=Xt(bt,null),n=Ge(a,"modelValue"),s=$({get(){return n.value!=null||!o?n.value:o.items.value.find(c=>o.selected.value.includes(c.id))?.value},set(c){n.value=c}});return me(()=>{const c=zt.filterProps(a);return u(zt,j({_as:"VTabsWindow"},c,{modelValue:s.value,"onUpdate:modelValue":m=>s.value=m,class:["v-tabs-window",a.class],style:a.style,mandatory:!1,touch:!1}),i)}),{}}}),di=de({...sa()},"VTabsWindowItem"),mi=ce()({name:"VTabsWindowItem",props:di(),setup(a,l){let{slots:i}=l;return me(()=>{const o=Ft.filterProps(a);return u(Ft,j({_as:"VTabsWindowItem"},o,{class:["v-tabs-window-item",a.class],style:a.style}),i)}),{}}});function vi(a){return a?a.map(l=>Ga(l)?l:{text:l,value:l}):[]}const yi=de({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...Ua({mandatory:"force",selectedClass:"v-tab-item--selected"}),...Nt(),...Ve()},"VTabs"),fi=ce()({name:"VTabs",props:yi(),emits:{"update:modelValue":a=>!0},setup(a,l){let{attrs:i,slots:o}=l;const n=Ge(a,"modelValue"),s=$(()=>vi(a.items)),{densityClasses:c}=qt(a),{backgroundColorClasses:m,backgroundColorStyles:f}=Me(()=>a.bgColor),{scopeId:v}=Ot();return dt({VTab:{color:X(()=>a.color),direction:X(()=>a.direction),stacked:X(()=>a.stacked),fixed:X(()=>a.fixedTabs),sliderColor:X(()=>a.sliderColor),hideSlider:X(()=>a.hideSlider)}}),me(()=>{const T=kt.filterProps(a),b=!!(o.window||a.items.length>0);return w(W,null,[u(kt,j(T,{modelValue:n.value,"onUpdate:modelValue":d=>n.value=d,class:["v-tabs",`v-tabs--${a.direction}`,`v-tabs--align-tabs-${a.alignTabs}`,{"v-tabs--fixed-tabs":a.fixedTabs,"v-tabs--grow":a.grow,"v-tabs--stacked":a.stacked},c.value,m.value,a.class],style:[{"--v-tabs-height":xe(a.height)},f.value,a.style],role:"tablist",symbol:bt},v,i),{default:()=>[o.default?.()??s.value.map(d=>o.tab?.({item:d})??u(qe,j(d,{key:d.text,value:d.value}),{default:o[`tab.${d.value}`]?()=>o[`tab.${d.value}`]?.({item:d}):void 0}))]}),b&&u(ci,j({modelValue:n.value,"onUpdate:modelValue":d=>n.value=d,key:"tabs-window"},v),{default:()=>[s.value.map(d=>o.item?.({item:d})??u(mi,{value:d.value},{default:()=>o[`item.${d.value}`]?.({item:d})})),o.window?.()]})])}),{}}}),pi=q({__name:"Icon",props:ja({variant:{},width:{},height:{},staticWidth:{},staticHeight:{},maxWidth:{},maxHeight:{},minWidth:{},minHeight:{},icon:{},color:{},disabled:{type:Boolean},size:{},badge:{type:Boolean},class:{},style:{}},jl),emits:["click"],setup(a,{emit:l}){const i=a,o=l,{iconProps:n,containerStyle:s,containerClasses:c,iconClasses:m}=Gl(i),f=M(),v=M(),T=async()=>{if(!(i.variant!=="responsive"||!f.value||!v.value)){await Ke();try{const d=f.value.offsetWidth,I=f.value.offsetHeight,C=Math.min(d,I);v.value.$el&&(v.value.$el.style.fontSize=`${C}px`)}catch(d){console.error("Icon sizing adjustment failed:",d)}}},b=d=>{if(i.disabled){d.preventDefault(),d.stopPropagation();return}o("click",d)};return Ae(()=>{i.variant==="responsive"&&(T(),window.addEventListener("resize",T))}),Le(()=>{i.variant==="responsive"&&window.removeEventListener("resize",T)}),(d,I)=>(r(),g("div",{ref_key:"iconContainer",ref:f,class:ie(e(c)),style:H(e(s)),onClick:b},[u(at,{"model-value":d.badge===!0,color:"error",dot:""},{default:y(()=>[u(e(le),j({ref_key:"iconElement",ref:v},e(n),{class:e(m)}),Ka({_:2},[se(d.$slots,(C,E)=>({name:E,fn:y(()=>[Za(d.$slots,E,{},void 0,!0)])}))]),1040,["class"])]),_:3},8,["model-value"])],6))}}),Pe=ue(pi,[["__scopeId","data-v-3db51b10"]]),na=q({__name:"RepeatBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){return(l,i)=>l.isVisible&&l.playerQueue?(r(),V(Pe,j({key:0},l.icon,{disabled:!l.playerQueue.active||l.playerQueue.items==0,color:e(Qe)(l.icon?.color,[[l.playerQueue.repeat_mode==e(re).OFF,null],[l.playerQueue.repeat_mode==e(re).ALL,"primary"],[l.playerQueue.repeat_mode==e(re).ONE,"primary"]]),icon:e(Qe)(l.icon?.icon,[[l.playerQueue.repeat_mode==e(re).OFF,"mdi-repeat-off"],[l.playerQueue.repeat_mode==e(re).ALL,"mdi-repeat"],[l.playerQueue.repeat_mode==e(re).ONE,"mdi-repeat-once"],[!0,"mdi-repeat-off"]]),variant:"button",onClick:i[0]||(i[0]=o=>e(B).queueCommandRepeat(l.playerQueue.queue_id||"",e(Qe)(null,[[l.playerQueue.repeat_mode==e(re).OFF,e(re).ONE],[l.playerQueue.repeat_mode==e(re).ALL,e(re).OFF],[l.playerQueue.repeat_mode==e(re).ONE,e(re).ALL]])))}),null,16,["disabled","color","icon"])):Q("",!0)}}),ra=q({__name:"NextBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){const l=a,i=$(()=>l.playerQueue?.active?(l.playerQueue.current_index||0)<l.playerQueue.items-1:!1),o=$(()=>!l.player||l.playerQueue?.active||!l.player.current_media?!1:l.player.supported_features.includes(Te.NEXT_PREVIOUS));return(n,s)=>n.isVisible&&n.player?(r(),V(Pe,j({key:0},n.icon,{disabled:!i.value&&!o.value,icon:"mdi-skip-next-outline",variant:"button",onClick:s[0]||(s[0]=c=>e(B).playerCommandNext(n.player.player_id))}),null,16,["disabled"])):Q("",!0)}}),ua=q({__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,i=$(()=>l.playerQueue?l.playerQueue.items>0:!1),o=$(()=>!(!l.player||l.playerQueue?.active||!l.player.current_media)),n=$(()=>l.player?.playback_state==et.PLAYING?"mdi-pause":"mdi-play");return(s,c)=>s.isVisible&&s.player?(r(),V(Pe,j({key:0},s.icon,{disabled:!i.value&&!o.value,icon:s.iconStyle?`${n.value}-${s.iconStyle}`:n.value,variant:"button",onClick:c[0]||(c[0]=m=>e(B).playerCommandPlayPause(s.player.player_id))}),null,16,["disabled","icon"])):Q("",!0)}}),ca=q({__name:"PreviousBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){const l=a,i=$(()=>!l.playerQueue?.active||!l.playerQueue?.items||!l.playerQueue.current_index?!1:l.playerQueue.current_index>0),o=$(()=>!l.player||l.playerQueue?.active||!l.player.current_media?!1:l.player.supported_features.includes(Te.NEXT_PREVIOUS));return(n,s)=>n.isVisible&&n.player?(r(),V(Pe,j({key:0},n.icon,{disabled:!i.value&&!o.value,icon:"mdi-skip-previous-outline",variant:"button",onClick:s[0]||(s[0]=c=>e(B).playerCommandPrevious(n.player.player_id))}),null,16,["disabled"])):Q("",!0)}}),da=q({__name:"ShuffleBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(a){return(l,i)=>l.isVisible&&l.playerQueue?(r(),V(Pe,j({key:0},l.icon,{disabled:!l.playerQueue.active||l.playerQueue.items==0,color:e(Qe)(l.icon?.color,[[l.playerQueue.shuffle_enabled,"primary",""]]),icon:e(Qe)(l.icon?.icon,[[l.playerQueue.shuffle_enabled,"mdi-shuffle"],[l.playerQueue.shuffle_enabled==!1,"mdi-shuffle-disabled"],[!0,"mdi-shuffle"]]),variant:"button",onClick:i[0]||(i[0]=o=>e(B).queueCommandShuffle(l.playerQueue.queue_id,!l.playerQueue.shuffle_enabled))}),null,16,["disabled","color","icon"])):Q("",!0)}}),hi={key:0,class:"player-controls"},gi={key:0,class:"player-controls-elements"},_i={key:1,class:"player-controls-elements"},bi={key:2},Ai={key:3,class:"player-controls-elements"},wi={key:4,class:"player-controls-elements"},Rt=q({__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)=>l.visibleComponents?(r(),g("div",hi,[l.visibleComponents&&l.visibleComponents.shuffle?.isVisible?(r(),g("div",gi,[u(da,{"player-queue":e(t).activePlayerQueue,class:"media-controls-item",icon:l.visibleComponents.shuffle.icon},null,8,["player-queue","icon"])])):Q("",!0),l.visibleComponents&&l.visibleComponents.previous?.isVisible?(r(),g("div",_i,[u(ca,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item",icon:l.visibleComponents.previous.icon},null,8,["player","player-queue","icon"])])):Q("",!0),l.visibleComponents&&l.visibleComponents.play?.isVisible?(r(),g("div",bi,[u(ua,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","icon-style":l.visibleComponents.play.withCircle?"circle":"",icon:l.visibleComponents.play.icon},null,8,["player","player-queue","icon-style","icon"])])):Q("",!0),l.visibleComponents&&l.visibleComponents.next?.isVisible?(r(),g("div",Ai,[u(ra,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,icon:l.visibleComponents.next.icon,"static-height":"24px","static-width":"24px"},null,8,["player","player-queue","icon"])])):Q("",!0),l.visibleComponents&&l.visibleComponents.repeat?.isVisible?(r(),g("div",wi,[u(na,{"player-queue":e(t).activePlayerQueue,icon:l.visibleComponents.repeat.icon,"static-height":"24px","static-width":"24px"},null,8,["player-queue","icon"])])):Q("",!0)])):Q("",!0)}}),ma=q({__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,o)=>i.isVisible?(r(),V(Pe,j({key:0},i.icon,{disabled:!e(t).activePlayerId||e(t).showFullscreenPlayer&&!e(t).curQueueItem&&!e(t).showQueueItems,icon:"mdi-playlist-play",color:e(Qe)(i.icon?.color,[[e(t).showFullscreenPlayer&&e(t).showQueueItems,"primary",""]]),variant:"button",onClick:l}),null,16,["disabled","color"])):Q("",!0)}}),va=q({__name:"SpeakerBtn",props:{color:{}},setup(a){return(l,i)=>(r(),V(pe,{variant:"icon",ripple:!1,icon:"",onClick:i[0]||(i[0]=o=>e(t).showPlayersMenu=!0)},{default:y(()=>[u(le,{color:l.color?l.color:"",size:24,icon:e(t).activePlayer?.group_members.length?"mdi-speaker-multiple":"mdi-speaker"},null,8,["color","icon"])]),_:1}))}}),Pi={key:0},ki={key:0},Ci={class:"text-caption"},Ii={key:1},Qi=q({__name:"VolumeBtn",props:{volumeSize:{default:"150px"},responsiveVolumeSize:{type:Boolean,default:!0},isVisible:{type:Boolean,default:!0},color:{default:""}},setup(a){const l=a,i=M(!1);return(o,n)=>l.isVisible&&e(t).activePlayer?(r(),g("div",Pi,[u(ft,{modelValue:i.value,"onUpdate:modelValue":n[1]||(n[1]=s=>i.value=s),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:y(({props:s})=>[e(ae)("bp6")||!o.responsiveVolumeSize?(r(),g("div",ki,[u(_t,{style:"margin-right: 0px; margin-left: 0px;",width:o.volumeSize,"is-powered":!0,"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":n[0]||(n[0]=c=>e(t).activePlayer.group_members.length>0?e(B).playerCommandGroupVolume(e(t).activePlayer?.player_id||"",c):e(B).playerCommandVolumeSet(e(t).activePlayer?.player_id||"",c))},{prepend:y(()=>[u(pe,j({variant:"icon",size:"48",ripple:!1},{...s}),{default:y(()=>[u(le,{color:l.color?o.color:"",size:24,icon:"mdi-volume-high"},null,8,["color"]),w("div",Ci,k(e(t).activePlayer.group_members.length>0?Math.round(e(t).activePlayer?.group_volume||0):Math.round(e(t).activePlayer?.volume_level||0)),1)]),_:1},16)]),_:2},1032,["width","model-value"])])):(r(),g("div",Ii,[u(pe,j({...s},{size:"48",variant:"icon"}),{default:y(()=>[u(le,{color:l.color?o.color:"",icon:"mdi-volume-high"},null,8,["color"]),w("div",{class:"text-caption",style:H({color:l.color?o.color:""})},k(e(t).activePlayer.group_members.length>0?Math.round(e(t).activePlayer?.group_volume||0):Math.round(e(t).activePlayer?.volume_level||0)),5)]),_:1},16)]))]),default:y(()=>[u(He,{"min-width":300,style:{overflow:"hidden","padding-top":"20px","padding-bottom":"20px","padding-right":"20px"}},{default:y(()=>[e(t).activePlayer?(r(),V(pl,{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"])):Q("",!0)]),_:1})]),_:1},8,["modelValue","scrim"])])):Q("",!0)}}),xi=ue(Qi,[["__scopeId","data-v-70c82677"]]),Vi=q({__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)=>(r(),g(W,null,[l.player&&l.player.isVisible?(r(),V(va,{key:0,color:l.player.color},null,8,["color"])):Q("",!0),l.queue&&l.queue.isVisible?(r(),V(ma,{key:1,color:l.player.color,style:{"padding-left":"15px","padding-right":"20px"}},null,8,["color"])):Q("",!0),l.volume&&l.volume.isVisible?(r(),V(xi,{key:2,color:l.volume.color,"volume-size":l.volume.volumeSize,"responsive-volume-size":l.volume.responsiveVolumeSize},null,8,["color","volume-size","responsive-volume-size"])):Q("",!0)],64))}}),$i={style:{width:"auto"}},Si={key:0,style:{width:"100%"}},Ti=["onClick"],Bi={key:0,class:"time-text-row"},Ei={class:"text-caption time-text-right"},Mi=q({__name:"PlayerTimeline",props:{showLabels:{type:Boolean,default:!1},color:{default:void 0}},setup(a){const l=M(!1),i=M(!0),o=M(!1),n=M(0),s=M(0),c=$(()=>t.curQueueItem?l.value?`-${Be(t.curQueueItem.duration-f.value)}`:`${Be(f.value)}`:"0:00"),m=$(()=>{if(!t.curQueueItem||!t.curQueueItem.duration||t.curQueueItem.media_item?.media_type==z.RADIO)return"";const I=t.curQueueItem.duration;return Be(I)}),f=$(()=>o.value?(s.value=n.value,n.value):t.activePlayerQueue?t.activePlayerQueue.elapsed_time:0),v=$(()=>{const I={};return t.curQueueItem?.media_item?.metadata?.chapters&&t.curQueueItem.media_item.metadata.chapters.forEach(C=>{I[C.start]=C.name}),I});J(f,I=>{o.value||(n.value=I)});const T=function(){o.value=!0},b=()=>{o.value=!1,!o.value&&t.activePlayer&&B.playerCommandSeek(t.activePlayer.player_id,Math.round(s.value))},d=function(I){if(t.curQueueItem?.media_item?.metadata?.chapters){for(const C of t.curQueueItem.media_item.metadata.chapters)if(C.start==I){B.playMedia(t.curQueueItem.media_item.uri,void 0,void 0,C.position.toString());return}}};return(I,C)=>(r(),g("div",$i,[e(t).activePlayerQueue?(r(),g("div",Si,[u(gl,{modelValue:n.value,"onUpdate:modelValue":C[0]||(C[0]=E=>n.value=E),disabled:!e(t).curQueueItem||!e(t).curQueueItem.media_item||!e(t).curQueueItem.duration||e(t).curQueueItem.media_item.media_type==e(z).RADIO||e(t).activePlayer?.powered==!1,style:{width:"100%"},min:0,max:e(t).curQueueItem?.duration,"hide-details":"","track-size":2,"thumb-size":i.value?0:10,"show-ticks":v.value?"always":!1,ticks:v.value,"tick-size":"4",color:I.color,onTouchstart:C[1]||(C[1]=E=>i.value=!1),onTouchend:C[2]||(C[2]=E=>i.value=!0),onMouseenter:C[3]||(C[3]=E=>i.value=!1),onMouseleave:C[4]||(C[4]=E=>i.value=!0),onStart:T,onEnd:b},{"tick-label":y(({tick:E})=>[I.showLabels&&!i.value&&Object.values(v.value).length<6?(r(),g("a",{key:0,class:"text-caption",onClick:F=>d(E.value)},k(E.label),9,Ti)):Q("",!0)]),_:1},8,["modelValue","disabled","max","thumb-size","show-ticks","ticks","color"]),I.showLabels?(r(),g("div",Bi,[w("div",{class:"text-caption time-text-left",onClick:C[5]||(C[5]=E=>l.value?l.value=!1:l.value=!0)},k(c.value),1),w("div",Ei,k(m.value),1)])):Q("",!0)])):Q("",!0)]))}}),ya=ue(Mi,[["__scopeId","data-v-5386447e"]]),Li={class:"lyrics-container"},zi={key:0,class:"lyrics-loading"},Fi={key:1,class:"lyrics-empty"},Ri={key:2,class:"lyrics-intro"},Oi={class:"song-title"},Di={class:"artist-name"},qi={class:"lyrics-coming-soon"},Wi=q({__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}},setup(a){Ut(_=>({"762ad436":_.textColor}));const l=a,i=(_,h=!0)=>{if(h&&!l.debugMode)return;(h?console.debug:console.log)(`[lyricSynch] ${_}`)},o=M([]),n=M(!1),s=M(-1),c=M(null),m=M(!1),f=M(0),v=M(0),T=$(()=>{if(!d.value||!o.value.length)return!1;const _=o.value[0].time,h=l.position||0;return s.value===-1&&h<_}),b=$(()=>{if(!l.mediaItem)return"";if("media_type"in l.mediaItem&&l.mediaItem.media_type==="track"){const _=l.mediaItem;if(_.artists?.length)return _.artists.map(h=>h.name).join(", ")}return"media_type"in l.mediaItem&&l.mediaItem.media_type==="artist"?l.mediaItem.name:""});$(()=>{const _=l.mediaItem?.metadata?.lyrics,h=l.mediaItem?.metadata?.lrc_lyrics;return!!_&&_.trim().length>0||!!h&&h.trim().length>0});const d=$(()=>l.mediaItem?.metadata?.lrc_lyrics?!0:!l.mediaItem?.metadata?.lrc_lyrics&&l.mediaItem?.metadata?.lyrics?!1:o.value.some(_=>_.time>0)),I=_=>{const h=_.match(/\[(\d+):(\d+)([.:]\d+)?\](.*)/);if(h){const S=parseInt(h[1]);let x=parseInt(h[2]),L=0;if(h[3]){const p=h[3].replace(/[.:]/,".");L=Math.round(parseFloat(p)*1e3)}return{time:(S*60*1e3+x*1e3+L)/1e3,text:h[4].trim()||" "}}return{time:0,text:_.trim()||" "}},C=()=>{if(!l.mediaItem){o.value=[];return}n.value=!0;try{const _=l.mediaItem.metadata?.lrc_lyrics||"",h=l.mediaItem.metadata?.lyrics||"";if(_){const S=_.split(`
2
- `).filter(x=>x.trim());o.value=S.map(x=>I(x)).filter(x=>x.text).sort((x,L)=>x.time-L.time),i(`Loaded ${o.value.length} synchronized lyrics lines`,!1),i(`Processed synced lyrics: ${o.value.length} lines`)}else if(h){const S=h.split(`
3
- `).filter(x=>x.trim());o.value=S.map(x=>({time:0,text:x.trim()||" "})).filter(x=>x.text),i(`Loaded ${o.value.length} plain text lyrics lines`,!1),i(`Processed plain lyrics: ${o.value.length} lines`)}else o.value=[]}catch(_){i(`Error processing lyrics: ${_}`,!1),o.value=[]}finally{n.value=!1}},E=_=>{const h=_;i(`Calculating look-ahead at ${_.toFixed(3)}s`);let S=-1,x=-1;for(let ne=0;ne<o.value.length;ne++)if(o.value[ne].time<=h)S=ne;else{x=ne;break}if(i(`Current lyric index: ${S}, Next lyric index: ${x}`),x===0){const fe=o.value[0].time-h;if(i(`Pre-lyrics intro: ${fe.toFixed(2)}s until first lyric`),fe>5){i("Long intro - using fixed look-ahead: 0.3s"),f.value=.3;return}else if(fe>2){const Y=Math.min(1,fe*.15);i(`Medium intro - calculated look-ahead: ${Y.toFixed(2)}s`),f.value=Y;return}i("Short intro - using standard calculation")}if(x===-1||S===-1){i("Cannot determine appropriate look-ahead, using default: 0.3s"),f.value=.3;return}const L=o.value[S].time,G=o.value[x].time,A=G-L,p=f.value;i(`Gap analysis:
4
- - Current lyric time: ${L.toFixed(3)}s
5
- - Next lyric time: ${G.toFixed(3)}s
6
- - Gap between lyrics: ${A.toFixed(3)}s
7
- - Previous look-ahead: ${p.toFixed(3)}s`);let P;A<.5?(P=.3,i(`Very rapid lyrics detected (${A.toFixed(2)}s gap) - using 30% look-ahead`)):A<.8?(P=.1,i(`Fast lyrics detected (${A.toFixed(2)}s gap) - using 10% look-ahead`)):A<1.5?(P=.2,i(`Medium lyrics detected (${A.toFixed(2)}s gap) - using 20% look-ahead`)):A<3?(P=.3,i(`Slower lyrics detected (${A.toFixed(2)}s gap) - using 30% look-ahead`)):A>10?(P=.02,i(`Very slow lyrics detected (${A.toFixed(2)}s gap) - using 2% look-ahead`)):(P=.4,i(`Slow lyrics detected (${A.toFixed(2)}s gap) - using 40% look-ahead`));const O=Math.min(1.5,A*P);i(`Target look-ahead: ${O.toFixed(3)}s`);const K=Math.abs(O-p),te=Math.min(.8,.3+K*.5),ye=p*(1-te)+O*te;i(`Smoothed look-ahead: ${ye.toFixed(3)}s (adaptation rate: ${(te*100).toFixed(0)}%)`),Math.abs(ye-p)>.3&&i(`Look-ahead adjusted: ${p.toFixed(2)}s → ${ye.toFixed(2)}s`,!1),f.value=ye},F=_=>_===void 0||!o.value.length||!d.value||m.value,U=_=>{const h=Math.round((_+f.value)*1e3);let S=-1;for(let x=0;x<o.value.length&&Math.round(o.value[x].time*1e3)<=h;x++)S=x;return S},ee=(_,h)=>{_<0||_===s.value||(i(`Lyric activated: "${o.value[_].text}"`),i(`Activating lyric at ${h.toFixed(2)}s (adjusted: ${(h+f.value).toFixed(2)}s):
8
- - Index: ${_}
9
- - Lyric time: ${o.value[_].time.toFixed(2)}s`),i(`Transition details:
10
- - Raw position: ${h.toFixed(3)}s
11
- - Dynamic look-ahead: ${f.value.toFixed(3)}s
12
- - Adjusted position: ${(h+f.value).toFixed(3)}s`),_>0&&N(_,h),v.value=h,s.value=_,Ke(()=>R()))},N=(_,h)=>{const S=h-v.value,x=o.value[_].time-o.value[_-1].time;i(`Timing analysis:
13
- - Expected gap: ${x.toFixed(3)}s
14
- - Actual gap: ${S.toFixed(3)}s
15
- - Difference: ${(S-x).toFixed(3)}s`)},R=()=>{const _=document.querySelector(".lyrics-line.active"),h=c.value;_&&h&&_.scrollIntoView({behavior:"smooth",block:"center"})};return J(()=>l.mediaItem?.item_id,()=>{C()},{immediate:!0}),J(()=>l.position,_=>{if(F(_))return;const h=_??0;E(h);const S=U(h);S!==s.value&&ee(S,h)}),Ae(()=>{const _=c.value;_&&_.addEventListener("scroll",()=>{m.value=!0,setTimeout(()=>{m.value=!1},8e3)},{passive:!0})}),(_,h)=>(r(),g("div",Li,[n.value?(r(),g("div",zi,[u(ea,{indeterminate:"",color:_.textColor},null,8,["color"]),w("div",null,k(e(Z)("loading_lyrics")),1)])):o.value.length?T.value&&d.value?(r(),g("div",Ri,[w("div",Oi,k(l.mediaItem?.name),1),w("div",Di,k(b.value),1),w("div",qi,k(e(Z)("lyrics_will_appear_soon")),1)])):(r(),g("div",{key:3,ref_key:"lyricsContainer",ref:c,class:ie(["lyrics-scroll-container",{"static-lyrics":!d.value}])},[(r(!0),g(W,null,se(o.value,(S,x)=>(r(),g("div",{key:x,class:ie(["lyrics-line",{active:s.value===x||!d.value}])},k(S.text),3))),128))],2)):(r(),g("div",Fi,k(e(Z)("no_lyrics_available")),1))]))}}),Ni=ue(Wi,[["__scopeId","data-v-73a4fec0"]]),Hi=["onClick"],Yi={class:"main"},Xi={key:0,class:"main-media-details"},Ui={key:0,class:"main-media-details-image"},Gi={class:"main-media-details-track-info"},ji={key:0},Ki={key:0},Zi={key:12,style:{margin:"auto","padding-top":"20px"}},Ji={key:1,class:"main-queue-items"},eo={class:"queue-items-scroll-box"},to={class:"media-thumb listitem-media-thumb"},ao={class:"title-row"},lo={class:"d-flex"},io={style:{"white-space":"nowrap"},class:"pr-1"},oo={key:0},so={key:0,style:{"margin-left":"50px"}},no={key:0,class:"text-caption"},ro={key:1,class:"lyrics-wrapper"},uo={key:2,class:"main-queue-items"},co={class:"main-media-details-image main-media-details-image-alt"},mo={class:"player-bottom"},vo={class:"row",style:{"margin-left":"5%","margin-right":"5%"}},yo={class:"media-controls"},fo={key:0,class:"row",style:{"margin-left":"5%","margin-right":"5%"}},po={key:1,class:"row",style:{height:"70px",display:"flex","justify-content":"center","align-items":"center","padding-bottom":"15px","padding-top":"15px"}},ho=q({__name:"PlayerFullscreen",props:{colorPalette:{}},setup(a){const{name:l}=ut(),i=a,o=new lt,n=M(-1),s=new lt,c=M([]),m=M(0),f=M(!1),v=$(()=>t.activePlayerQueue?c.value.slice(t.activePlayerQueue.current_index):[]),T=$(()=>t.activePlayerQueue?c.value.slice(0,t.activePlayerQueue.current_index).reverse():[]),b=$(()=>{const A=t.curQueueItem?.media_item?.metadata?.lyrics,p=t.curQueueItem?.media_item?.metadata?.lrc_lyrics;return!!A&&A.trim().length>0||!!p&&p.trim().length>0}),d=$(()=>{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."}}),I=$(()=>{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."}}),C=$(()=>Ye.display.height.value>800),E=function(A){t.showFullscreenPlayer=!1,Ct.push({name:A.media_type,params:{itemId:A.item_id,provider:A.provider}})},F=function(A){t.globalSearchTerm=A,Ct.push({name:"search"}),t.showFullscreenPlayer=!1},U=function(A,p){const P=c.value.indexOf(p),O=[{label:"play_now",labelArgs:[],action:()=>{N(p,"play_now")},icon:"mdi-play-circle-outline",disabled:P===t.activePlayerQueue?.current_index||P===t.activePlayerQueue?.index_in_buffer},{label:"play_next",labelArgs:[],action:()=>{N(p,"move_next")},icon:"mdi-skip-next-circle-outline",disabled:P<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_up",labelArgs:[],action:()=>{N(p,"up")},icon:"mdi-arrow-up",disabled:P<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_down",labelArgs:[],action:()=>{N(p,"down")},icon:"mdi-arrow-down",disabled:P<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_delete",labelArgs:[],action:()=>{N(p,"delete")},icon:"mdi-delete",disabled:P<=(t.activePlayerQueue?.index_in_buffer||0)}];p?.media_item?.media_type==z.TRACK&&O.push({label:"show_info",labelArgs:[],action:()=>{E(p.media_item)},icon:"mdi-information-outline",disabled:!1}),Ce.emit("contextmenu",{items:O,posX:A.clientX,posY:A.clientY})},ee=function(A){t.activePlayer&&Ce.emit("contextmenu",{items:hl(t.activePlayer,t.activePlayerQueue),posX:A.clientX,posY:A.clientY})},N=function(A,p){!A||!t.activePlayerQueue||(p=="play_now"?B.queueCommandPlayIndex(t.activePlayerQueue?.queue_id,A.queue_item_id):p=="move_next"?B.queueCommandMoveNext(t.activePlayerQueue?.queue_id,A.queue_item_id):p=="up"?B.queueCommandMoveUp(t.activePlayerQueue?.queue_id,A.queue_item_id):p=="down"?B.queueCommandMoveDown(t.activePlayerQueue?.queue_id,A.queue_item_id):p=="delete"&&B.queueCommandDelete(t.activePlayerQueue?.queue_id,A.queue_item_id))},R=async function(){f.value=!0,c.value=[],await It(100),f.value=!1},_=async function({done:A}){if(!t.activePlayerQueue||t.activePlayerQueue.items==0){A("empty");return}if(c.value.length>=t.activePlayerQueue?.items){A("empty");return}const p=c.value.length,P=(t.activePlayerQueue.current_index||0)+50,O=await B.getPlayerQueueItems(t.activePlayerQueue.queue_id,P,p);c.value.push(...O),O.length<50?A("empty"):A("ok")};Ae(()=>{const A=B.subscribe(Ja.QUEUE_ITEMS_UPDATED,p=>{p.object_id==t.activePlayerQueue?.queue_id&&(p.data,R())});Le(A)});const h=async function(A){if(!t.curQueueItem?.media_item)return;if(!t.curQueueItem.media_item.favorite){B.toggleFavorite(t.curQueueItem.media_item);return}let p=t.curQueueItem.media_item;(p.provider!="library"||!("provider_mappings"in p))&&[z.ALBUM,z.ARTIST,z.AUDIOBOOK,z.PLAYLIST,z.PODCAST,z.RADIO,z.TRACK].includes(p.media_type)&&(p=await B.getLibraryItem(p.media_type,p.item_id,p.provider)||p);const P=[];"favorite"in p&&p.favorite&&p.provider=="library"&&[z.ALBUM,z.ARTIST,z.AUDIOBOOK,z.PLAYLIST,z.PODCAST,z.RADIO,z.TRACK].includes(p.media_type)&&P.push({label:"favorites_remove",labelArgs:[],action:()=>{B.removeItemFromFavorites(p.media_type,p.item_id),p.favorite=!1,t.curQueueItem.media_item.favorite=!1},icon:"mdi-heart"}),[z.ALBUM,z.ARTIST,z.AUDIOBOOK,z.PLAYLIST,z.PODCAST,z.RADIO,z.TRACK].includes(p.media_type)&&P.push({label:"add_playlist",labelArgs:[],action:()=>{Ce.emit("playlistdialog",{items:[t.curQueueItem.media_item]})},icon:"mdi-plus-circle-outline"}),Ce.emit("contextmenu",{items:P,posX:A.clientX,posY:A.clientY})},S=function(){f.value=!0,It(100).then(()=>{f.value=!1})},x=function(A,p){B.playMedia(A.uri,el.PLAY,void 0,p.position.toString())};J(()=>t.activePlayerId,A=>{R()},{immediate:!0});const L=M(void 0),G=M(void 0);return ot(()=>{const A=Fe("white"),p=Fe("black"),P=5,O=.05,K=Ye.theme.current.value.dark?i.colorPalette.darkColor||"#000":i.colorPalette.lightColor||"#fff";let te=Fe(K);const ye=A.contrast(te),ne=p.contrast(te),fe=ye>=ne;let Y=fe?A:p,Ze=Math.max(ye,ne);if(Ze<P){let At=O;for(;Ze<P&&At<=.5;)fe?te=te.darken(O):te=te.lighten(O),Ze=Fe(Y).contrast(te),At+=O}document.documentElement.style.setProperty("--text-color",Y.hex()),L.value=Y.hex(),G.value=te.hex()}),(A,p)=>(r(),V(Jt,{modelValue:e(t).showFullscreenPlayer,"onUpdate:modelValue":p[13]||(p[13]=P=>e(t).showFullscreenPlayer=P),fullscreen:"",scrim:!1,transition:"dialog-bottom-transition","z-index":"9999"},{default:y(()=>[u(He,{color:G.value},{default:y(()=>[u(Al,{class:"v-toolbar-default",color:"transparent"},{prepend:y(()=>[u(pe,{icon:"",onClick:p[0]||(p[0]=P=>e(t).showFullscreenPlayer=!1)},{default:y(()=>[u(le,{icon:"mdi-chevron-down"})]),_:1})]),append:y(()=>[e(t).activePlayerQueue?.radio_source.length?(r(),V(ft,{key:0,scrim:""},{activator:y(({props:P})=>[u(pe,j(P,{icon:""}),{default:y(()=>[u(le,{color:"accent",icon:"mdi-radio-tower"})]),_:1},16)]),default:y(()=>[u(He,{title:e(Z)("queue_radio_enabled"),subtitle:e(Z)("queue_radio_based_on")},{text:y(()=>[(r(!0),g(W,null,se(e(t).activePlayerQueue?.radio_source,P=>(r(),g("div",{key:P.uri},[w("a",{onClick:O=>E(P)},k(P.name),9,Hi)]))),128))]),_:1},8,["title","subtitle"])]),_:1})):Q("",!0),C.value?Q("",!0):(r(),V(va,{key:1})),u(pe,{icon:"",onClick:Re(ee,["stop"])},{default:y(()=>[u(le,{icon:"mdi-dots-vertical"})]),_:1})]),_:1}),w("div",Yi,[e(ae)("bp7")||!e(t).showQueueItems?(r(),g("div",Xi,[A.$vuetify.display.height>600?(r(),g("div",Ui,[e(t).activePlayer?.powered!=!1&&e(t).curQueueItem?(r(),V(Ee,{key:0,item:e(t).curQueueItem,thumbnail:!1,style:{"max-width":"100%",width:"auto"},fallback:A.$vuetify.theme.current.dark?e(Xe):e(tt)},null,8,["item","fallback"])):e(t).activePlayer?.powered!=!1&&!e(t).curQueueItem?.image&&e(t).activePlayer?.current_media?.image_url?(r(),V(We,{key:1,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:e(t).activePlayer.current_media.image_url},null,8,["src"])):(r(),V(We,{key:2,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:A.$vuetify.theme.current.dark?e(Xe):e(tt)},null,8,["src"]))])):Q("",!0),w("div",Gi,[e(t).activePlayer?.powered==!1?(r(),V($e,{key:0,style:H(`font-size: ${d.value};`)},{default:y(()=>[D(k(e(t).activePlayer?.name),1)]),_:1},8,["style"])):e(t).curQueueItem?.media_item?(r(),V($e,{key:1,style:H(`font-size: ${d.value};cursor:pointer;`),onClick:p[1]||(p[1]=P=>E(e(t).curQueueItem.media_item))},{default:y(()=>[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).curQueueItem.media_item.name)+" ",1),"version"in e(t).curQueueItem.media_item&&e(t).curQueueItem.media_item.version?(r(),g("span",ji,"("+k(e(t).curQueueItem.media_item.version)+")",1)):Q("",!0)]),_:1},8,["sync"])]),_:1},8,["style"])):!e(t).activePlayerQueue&&e(t).activePlayer?.current_media?.title?(r(),V($e,{key:2},{default:y(()=>[e(t).activePlayer?.current_media?.artist?(r(),g("div",Ki,[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).activePlayer?.current_media?.artist),1)]),_:1},8,["sync"])])):Q("",!0),e(t).activePlayer?.current_media?.title?(r(),g("div",{key:1,style:H(`font-size: ${I.value};`)},[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).activePlayer?.current_media?.title),1)]),_:1},8,["sync"])],4)):Q("",!0)]),_:1})):(r(),V($e,{key:3,style:H(`font-size: ${d.value};cursor:pointer;`),onClick:p[2]||(p[2]=P=>e(t).showPlayersMenu=!0)},{default:y(()=>[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).activePlayer?.name||e(Z)("no_player")),1)]),_:1},8,["sync"])]),_:1},8,["style"])),e(t).activePlayer?.powered==!1?(r(),V(he,{key:4,class:"text-h6 text-md-h5 text-lg-h4"},{default:y(()=>[D(k(e(Z)("off")),1)]),_:1})):Q("",!0),e(t).curQueueItem?.streamdetails?.stream_metadata&&e(t).curQueueItem?.streamdetails?.stream_metadata.title&&e(t).curQueueItem?.streamdetails?.stream_metadata.artist?(r(),V(he,{key:5,class:"text-h6 text-md-h5 text-lg-h4",onClick:p[3]||(p[3]=P=>F(`${e(t).curQueueItem?.streamdetails?.stream_metadata.artist} - ${e(t).curQueueItem?.streamdetails?.stream_metadata.title}`))},{default:y(()=>[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).curQueueItem?.streamdetails?.stream_metadata.artist)+" - "+k(e(t).curQueueItem?.streamdetails?.stream_metadata.title),1)]),_:1},8,["sync"])]),_:1})):Q("",!0),e(t).curQueueItem?.streamdetails?.stream_metadata&&e(t).curQueueItem?.streamdetails?.stream_metadata.title?(r(),V(he,{key:6,class:"text-h6 text-md-h5 text-lg-h4",onClick:p[4]||(p[4]=P=>F(e(t).curQueueItem?.streamdetails?.stream_metadata.title))},{default:y(()=>[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).curQueueItem?.streamdetails?.stream_metadata.title),1)]),_:1},8,["sync"])]),_:1})):Q("",!0),e(t).curQueueItem?.media_item&&"album"in e(t).curQueueItem.media_item&&e(t).curQueueItem.media_item.album&&e(t).activePlayer?.powered!=!1?(r(),V(he,{key:7,style:H(`font-size: ${I.value};cursor:pointer;`),onClick:p[5]||(p[5]=P=>E(e(t).curQueueItem.media_item.album))},{default:y(()=>[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).curQueueItem.media_item.album.name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):Q("",!0),e(t).curQueueItem?.media_item&&"artists"in e(t).curQueueItem.media_item&&e(t).curQueueItem.media_item.artists.length&&e(t).activePlayer?.powered!=!1?(r(),V(he,{key:8,style:H(`font-size: ${I.value};cursor:pointer;`),onClick:p[6]||(p[6]=P=>E(e(t).curQueueItem.media_item.artists[0]))},{default:y(()=>[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).curQueueItem.media_item.artists[0].name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):Q("",!0),e(t).curQueueItem?.media_item&&"podcast"in e(t).curQueueItem.media_item&&e(t).curQueueItem.media_item.podcast?(r(),V(he,{key:9,style:H(`font-size: ${I.value};`)},{default:y(()=>[u(oe,{sync:e(o)},{default:y(()=>[D(k(e(t).curQueueItem.media_item.podcast.name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):e(t).activePlayer&&e(t).activePlayer?.active_source!=e(t).activePlayer?.player_id&&e(t).activePlayer?.powered!=!1?(r(),V(he,{key:10},{default:y(()=>[D(k(e(Z)("external_source_active",[e(Gt)(e(t).activePlayer)])),1)]),_:1})):e(t).activePlayerQueue&&e(t).activePlayerQueue.items==0&&e(t).activePlayer?.powered!=!1?(r(),V(he,{key:11,style:H(`font-size: ${I.value}`)},{default:y(()=>[D(k(e(Z)("queue_empty")),1)]),_:1},8,["style"])):Q("",!0),e(t).activePlayer?.powered!=!1?(r(),g("div",Zi,[u(jt)])):Q("",!0)])])):Q("",!0),e(t).showQueueItems?(r(),g("div",Ji,[u(fi,{modelValue:m.value,"onUpdate:modelValue":p[7]||(p[7]=P=>m.value=P),"hide-slider":"",density:"compact",onClick:S},{default:y(()=>[u(qe,{value:0},{default:y(()=>[D(k(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(qe,{value:1},{default:y(()=>[D(k(e(Z)("played"))+" ",1),u(at,{color:"grey",content:e(t).activePlayerQueue?.current_index,inline:""},null,8,["content"])]),_:1}),b.value?(r(),V(qe,{key:0,value:2},{default:y(()=>[D(k(e(Z)("lyrics")),1)]),_:1})):Q("",!0)]),_:1},8,["modelValue"]),w("div",eo,[!f.value&&m.value!==2?(r(),V(vl,{key:0,onLoad:_,"empty-text":"",height:"100%"},{default:y(()=>[u(wl,{"item-height":70,"max-height":"90%",items:m.value==0?v.value:T.value},{default:y(({item:P,index:O})=>[u(_l,{link:"","show-menu-btn":!0,disabled:!P.available,onClick:Re(K=>U(K,P),["stop"]),onMenu:Re(K=>U(K,P),["stop"]),onMouseenter:K=>n.value=O,onMouseleave:p[8]||(p[8]=K=>n.value=-1)},{prepend:y(()=>[w("div",to,[u(Ee,{size:"50",item:P},null,8,["item"])])]),title:y(()=>[w("div",ao,[u(oe,{sync:O==0&&m.value==0?e(o):e(s),disabled:!(O==0&&m.value==0||n.value==O)},{default:y(()=>[w("span",{class:ie({"is-playing":P.queue_item_id===e(t).curQueueItem?.queue_item_id})},k(P.name),3)]),_:2},1032,["sync","disabled"])])]),subtitle:y(()=>[w("div",lo,[w("span",io,k(e(Be)(P.duration))+" | ",1),u(oe,{sync:O==0&&m.value==0?e(o):e(s),disabled:!(O==0&&m.value==0||n.value==O)},{default:y(()=>[P.media_item&&"album"in P.media_item&&P.media_item.album?(r(),g("span",oo,k(P.media_item.album.name),1)):Q("",!0)]),_:2},1032,["sync","disabled"])])]),append:y(()=>[P.queue_item_id===e(t).curQueueItem?.queue_item_id?(r(),V(bl,{key:0})):Q("",!0),P.available?Q("",!0):(r(),V(le,{key:1},{default:y(()=>[...p[14]||(p[14]=[D("mdi-alert",-1)])]),_:1}))]),_:2},1032,["disabled","onClick","onMenu","onMouseenter"]),P.queue_item_id==e(t).curQueueItem?.queue_item_id&&P.media_item?.metadata?.chapters?.length?(r(),g("div",so,[(r(!0),g(W,null,se(P.media_item.metadata?.chapters,K=>(r(),V(be,{key:K.position,onClick:Re(te=>x(P.media_item,K),["stop"])},{title:y(()=>[w("div",null,k(K.name),1)]),append:y(()=>[K.end?(r(),g("span",no,k(e(Be)(K.end-K.start)),1)):Q("",!0)]),_:2},1032,["onClick"]))),128))])):Q("",!0)]),_:1},8,["items"])]),_:1})):Q("",!0),m.value===2?(r(),g("div",ro,[u(Ni,{"media-item":e(t).curQueueItem?.media_item,position:e(t).activePlayerQueue?.elapsed_time,duration:e(t).curQueueItem?.duration,"stream-details":e(t).curQueueItem?.streamdetails,"text-color":L.value},null,8,["media-item","position","duration","stream-details","text-color"])])):Q("",!0)])])):Q("",!0),!e(t).showQueueItems&&A.$vuetify.display.height<=600?(r(),g("div",uo,[w("div",co,[u(Ee,{item:e(t).curQueueItem,thumbnail:!1,style:{"max-width":"100%",width:"auto"}},null,8,["item"])])])):Q("",!0)]),w("div",mo,[w("div",vo,[u(ya,{"show-labels":!0,color:L.value},null,8,["color"])]),w("div",yo,[e(t).activePlayerQueue?(r(),V(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:h},null,8,["disabled","icon","title"])):Q("",!0),A.$vuetify.display.mdAndUp?(r(),V(da,{key:1,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"30px"},null,8,["player-queue"])):Q("",!0),u(ca,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),u(ua,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"70px"},null,8,["player","player-queue"]),u(ra,{player:e(t).activePlayer,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),A.$vuetify.display.mdAndUp?(r(),V(na,{key:2,"player-queue":e(t).activePlayerQueue,class:"media-controls-item","max-height":"35px"},null,8,["player-queue"])):Q("",!0),e(t).activePlayerQueue?(r(),V(ma,{key:3,class:"media-controls-item","max-height":"30px"})):Q("",!0)]),e(t).activePlayer?(r(),g("div",fo,[u(_t,{width:"100%","is-powered":e(t).activePlayer?.powered!=!1,disabled:!e(t).activePlayer||!e(t).activePlayer?.available,"model-value":Math.round(e(t).activePlayer?.group_volume||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus",color:L.value,"allow-wheel":!0,"onUpdate:modelValue":p[9]||(p[9]=P=>e(t).activePlayer.group_members.length>0?e(B).playerCommandGroupVolume(e(t).activePlayerId,P):e(B).playerCommandVolumeSet(e(t).activePlayerId,P)),"onClick:prepend":p[10]||(p[10]=P=>e(t).activePlayer.group_members.length>0?e(B).playerCommandGroupVolumeDown(e(t).activePlayerId):e(B).playerCommandVolumeDown(e(t).activePlayerId)),"onClick:append":p[11]||(p[11]=P=>e(t).activePlayer.group_members.length>0?e(B).playerCommandGroupVolumeUp(e(t).activePlayerId):e(B).playerCommandVolumeUp(e(t).activePlayerId))},null,8,["is-powered","disabled","model-value","color"])])):Q("",!0),C.value?(r(),g("div",po,[u(ge,{class:"responsive-icon-holder-btn",variant:"outlined",onClick:p[12]||(p[12]=P=>e(t).showPlayersMenu=!0)},{default:y(()=>[u(le,{icon:e(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"]),D(" "+k(e(t).activePlayer?e(Kt)(e(t).activePlayer):""),1)]),_:1})])):Q("",!0)])]),_:1},8,["color"])]),_:1},8,["modelValue"]))}}),go=ue(ho,[["__scopeId","data-v-753a03fa"]]),_o={key:1},bo={key:2,class:"icon-thumb"},Ao={key:0},wo={key:2},Po={key:3},ko={key:4},Co={key:0,class:"pl-4"},Io={key:0},Qo={key:1},xo={key:2},Vo={key:3},$o={key:4},So={key:5},To={key:6,class:"line-clamp-1"},Bo={key:7},Eo={key:8,class:"line-clamp-1"},Mo={key:9,class:"line-clamp-1"},Lo={key:0},zo=q({__name:"PlayerTrackDetails",props:{showOnlyArtist:{type:Boolean,default:!1},showQualityDetailsBtn:{type:Boolean,default:!0},colorPalette:{},primaryColor:{default:""}},setup(a){const l=new lt,i=a,o=$(()=>t.activePlayerQueue?.current_item?.streamdetails);return(n,s)=>(r(),g(W,null,[u(be,{style:{height:"auto",width:"fit-content",margin:"0px",padding:"0px"},lines:"two"},{prepend:y(()=>[w("div",{class:"media-thumb player-media-thumb",style:H(`cursor: pointer;height: ${e(ae)({breakpoint:"phone"})?50:64}px; width: ${e(ae)({breakpoint:"phone"})?50:64}px; `),onClick:s[0]||(s[0]=c=>e(t).showFullscreenPlayer=!0)},[e(t).activePlayer?.powered!=!1&&e(t).curQueueItem?(r(),V(Ee,{key:0,item:e(t).curQueueItem,fallback:e(Xe)},null,8,["item","fallback"])):e(t).activePlayer?.powered!=!1&&e(t).activePlayer?.current_media?.image_url?(r(),g("div",_o,[u(We,{class:"media-thumb",style:{"border-radius":"4px"},size:"55",src:e(t).activePlayer.current_media.image_url},null,8,["src"])])):(r(),g("div",bo,[u(le,{size:"35",icon:e(t).activePlayer?.type==e(De).PLAYER&&e(t).activePlayer?.group_members.length?"mdi-speaker-multiple":e(t).activePlayer?.icon||"mdi-speaker",style:{display:"table-cell",opacity:"0.8"}},null,8,["icon"])]))],4)]),title:y(()=>[w("div",{style:H({cursor:"pointer",color:n.primaryColor})},[e(t).activePlayer?.powered==!1?(r(),g("div",{key:0,onClick:s[1]||(s[1]=c=>e(t).showPlayersMenu=!0)},k(e(t).activePlayer?.name),1)):e(t).curQueueItem?.media_item?(r(),g("div",{key:1,onClick:s[2]||(s[2]=c=>e(t).showFullscreenPlayer=!0)},[u(oe,{sync:e(l)},{default:y(()=>[D(k(e(t).curQueueItem.media_item.name)+" ",1),"version"in e(t).curQueueItem.media_item&&e(t).curQueueItem.media_item.version?(r(),g("span",Ao,"("+k(e(t).curQueueItem.media_item.version)+")",1)):Q("",!0)]),_:1},8,["sync"])])):e(t).curQueueItem?(r(),g("div",wo,k(e(t).curQueueItem.name),1)):!e(t).activePlayerQueue&&e(t).activePlayer?.current_media?.title?(r(),g("div",Po,k(e(t).activePlayer.current_media.title),1)):e(t).activePlayer?(r(),g("div",ko,k(e(t).activePlayer?.name),1)):(r(),g("div",{key:5,onClick:s[3]||(s[3]=c=>e(t).showPlayersMenu=!0)},k(n.$t("no_player")),1))],4)]),append:y(()=>[o.value?.audio_format.content_type&&!e(ae)({breakpoint:"phone"})&&n.showQualityDetailsBtn?(r(),g("div",Co,[u(jt)])):Q("",!0)]),subtitle:y(()=>[w("div",{style:H({cursor:"pointer",color:n.primaryColor}),class:"line-clamp-1",onClick:s[4]||(s[4]=c=>e(t).showFullscreenPlayer=!0)},[u(oe,{sync:e(l)},{default:y(()=>[e(t).activePlayer?.powered==!1?(r(),g("div",Io,k(n.$t("off")),1)):e(t).curQueueItem&&e(t).curQueueItem.media_item?.media_type==e(z).TRACK&&"album"in e(t).curQueueItem.media_item&&e(t).curQueueItem.media_item.album&&!i.showOnlyArtist?(r(),g("div",Qo,k(e(tl)(e(t).curQueueItem.media_item.artists))+" • "+k(e(t).curQueueItem.media_item.album.name),1)):e(t).curQueueItem?.media_item&&"artists"in e(t).curQueueItem.media_item&&e(t).curQueueItem.media_item.artists.length>0?(r(),g("div",xo,k(e(t).curQueueItem.media_item.artists[0].name),1)):e(t).curQueueItem?.media_item&&"podcast"in e(t).curQueueItem.media_item&&e(t).curQueueItem.media_item.podcast?.name?(r(),g("div",Vo,k(e(t).curQueueItem.media_item.podcast.name),1)):e(t).curQueueItem?.streamdetails?.stream_metadata&&e(t).curQueueItem?.streamdetails?.stream_metadata.title&&e(t).curQueueItem?.streamdetails?.stream_metadata.artist?(r(),g("div",$o,k(e(t).curQueueItem?.streamdetails?.stream_metadata.artist)+" - "+k(e(t).curQueueItem?.streamdetails?.stream_metadata.title),1)):e(t).curQueueItem?.streamdetails?.stream_metadata&&e(t).curQueueItem?.streamdetails?.stream_metadata.title?(r(),g("div",So,k(e(t).curQueueItem?.streamdetails?.stream_metadata.title),1)):e(t).curQueueItem?.media_item?.metadata.description?(r(),g("div",To,k(e(al)(e(t).curQueueItem.media_item.metadata.description,100)),1)):!e(t).activePlayerQueue&&e(t).activePlayer?.active_source&&e(t).activePlayer?.current_media?.artist?(r(),g("div",Bo,k(e(t).activePlayer.current_media.artist),1)):!e(t).activePlayerQueue&&e(t).activePlayer?.active_source?(r(),g("div",Eo,k(n.$t("external_source_active",[e(Gt)(e(t).activePlayer)])),1)):e(t).activePlayerQueue&&e(t).activePlayerQueue.items==0?(r(),g("div",Mo,k(n.$t("queue_empty")),1)):Q("",!0)]),_:1},8,["sync"]),e(t).activePlayer&&e(t).activePlayer?.powered!=!1?(r(),g("div",Lo,k(e(Kt)(e(t).activePlayer)),1)):Q("",!0)],4)]),_:1}),u(go,{"show-fullscreen":e(t).showFullscreenPlayer,"color-palette":n.colorPalette},null,8,["show-fullscreen","color-palette"])],64))}}),Fo=["data-floating"],Ro=["data-mobile"],Oo={class:"mediacontrols-left"},Do={class:"mediacontrols-bottom-center"},qo={class:"mediacontrols-bottom-right"},Wo={key:0,class:"volume-slider"},No=q({__name:"Player",props:{useFloatingPlayer:{type:Boolean}},setup(a){Ut(s=>({"692f32e8":n.value})),Dt();const{mobile:l}=ut({mobileBreakpoint:576}),i=M({0:"",1:"",2:"",3:"",4:"",5:"",lightColor:"",darkColor:""}),o=new Image;o.src=Ye.theme.current.value.dark?Xe:tt,o.crossOrigin="Anonymous",o.addEventListener("load",function(){i.value=ll(o)});const n=$(()=>Ye.theme.current.value.dark?i.value&&i.value.darkColor?i.value.darkColor+"26":"CCCCCC26":i.value&&i.value.lightColor?i.value.lightColor+"26":"CCCCCC26");return J(()=>t.curQueueItem?.queue_item_id,()=>{t.curQueueItem?.media_item?o.src=xt(t.curQueueItem.media_item,Vt.THUMB)||"":t.curQueueItem?o.src=xt(t.curQueueItem,Vt.THUMB)||"":o.src=""}),(s,c)=>(r(),g(W,null,[w("div",{class:"mediacontrols-bg","data-floating":s.useFloatingPlayer},null,8,Fo),w("div",{class:"mediacontrols","data-mobile":e(l)},[w("div",Oo,[u(zo,{"show-quality-details-btn":!!e(ae)("bp8"),"show-only-artist":!e(ae)("bp7"),"color-palette":i.value,"primary-color":s.$vuetify.theme.current.dark?"#fff":"#000"},null,8,["show-quality-details-btn","show-only-artist","color-palette","primary-color"])]),w("div",Do,[u(Rt,{"visible-components":{repeat:{isVisible:e(ae)("bp3")},shuffle:{isVisible:e(ae)("bp3")},play:{isVisible:!0,icon:{staticWidth:"50px",staticHeight:"50px"},withCircle:s.useFloatingPlayer},previous:{isVisible:e(ae)("bp3")},next:{isVisible:e(ae)("bp3")}}},null,8,["visible-components"]),e(ae)("bp6")?(r(),V(ya,{key:0,"is-progress-bar":!1,disabled:!e(t).activePlayerQueue?.active||e(t).activePlayerQueue?.current_item?.media_item?.media_type!==e(z).TRACK},null,8,["disabled"])):Q("",!0)]),w("div",qo,[w("div",null,[u(Vi,{queue:{isVisible:e(ae)("bp3"),color:s.$vuetify.theme.current.dark?"#fff":"#000"},player:{isVisible:!0,color:s.$vuetify.theme.current.dark?"#fff":"#000"},volume:{isVisible:!e(l)&&(e(t).activePlayer?.volume_control!=e(Qt)||e(t).activePlayer?.group_members.length>0),color:s.$vuetify.theme.current.dark?"#fff":"#000"}},null,8,["queue","player","volume"]),u(Rt,{style:{"padding-right":"5px"},"visible-components":{repeat:{isVisible:!1},shuffle:{isVisible:!1},play:{isVisible:e(ae)({breakpoint:"bp3",condition:"lt"}),withCircle:!1,icon:{staticWidth:"40px",staticHeight:"40px",color:s.$vuetify.theme.current.dark?"#fff":"#000"}},previous:{isVisible:!1},next:{isVisible:!1}}},null,8,["visible-components"])])])],8,Ro),e(l)&&(e(t).activePlayer?.volume_control!=e(Qt)||e(t).activePlayer?.group_members.length>0)?(r(),g("div",Wo,[u(_t,{width:"100%",color:"secondary","is-powered":e(t).activePlayer?.powered!=!1,disabled:!e(t).activePlayer||!e(t).activePlayer?.available,"model-value":Math.round(e(t).activePlayer?.group_volume||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus","onUpdate:modelValue":c[0]||(c[0]=m=>e(t).activePlayer.group_members.length>0?e(B).playerCommandGroupVolume(e(t).activePlayerId,m):e(B).playerCommandVolumeSet(e(t).activePlayerId,m)),"onClick:prepend":c[1]||(c[1]=m=>e(t).activePlayer.group_members.length>0?e(B).playerCommandGroupVolumeDown(e(t).activePlayerId):e(B).playerCommandVolumeDown(e(t).activePlayerId)),"onClick:append":c[2]||(c[2]=m=>e(t).activePlayer.group_members.length>0?e(B).playerCommandGroupVolumeUp(e(t).activePlayerId):e(B).playerCommandVolumeUp(e(t).activePlayerId))},null,8,["is-powered","disabled","model-value"])])):Q("",!0)],64))}}),Ho=ue(No,[["__scopeId","data-v-910c83d5"]]),Yo=q({__name:"Footer",setup(a){const l=$(()=>t.navigationMenuStyle=="horizontal"),i=$(()=>t.navigationMenuStyle!="horizontal"?0:t.isInStandaloneMode?100:80),o=$(()=>l.value?i.value+5:0);return(n,s)=>(r(),g(W,null,[l.value?(r(),g("div",{key:0,class:ie(n.$vuetify.theme.current.dark?"gradient-dark":"gradient-light"),style:H(`
16
- position: fixed;
17
- width: 100%;
18
- height: ${i.value+(e(ae)("bp3")?100:70)}px;
19
- bottom: 0px;
20
- z-index: 999;
21
- `)},null,6)):Q("",!0),e(t).navigationMenuStyle=="horizontal"?(r(),V(Ul,{key:1,height:i.value},null,8,["height"])):Q("",!0),u(ni,{bottom:"",fixed:"",class:ie(`d-flex flex-column ${l.value?"mediacontrols-player-float":"mediacontrols-player-default"}`),style:H(`bottom: ${o.value}px;`),elevation:"10",app:""},{default:y(()=>[u(Ho,{"use-floating-player":l.value},null,8,["use-floating-player"])]),_:1},8,["class","style"])],64))}}),Xo={style:{float:"right","margin-right":"-20px"}},Uo=q({__name:"PlayerSelect",setup(a){const l=M(!1),i=M(null),o=$(()=>Object.values(B.players).filter(m=>$t(m)).filter(m=>m.player_id!==_e.player_id).sort((m,f)=>m.name.toUpperCase()>f.name?.toUpperCase()?1:-1));J(()=>t.activePlayerId,m=>{m&&localStorage.setItem("mass.LastPlayerId",m)}),J(()=>B.players,m=>{m&&!t.activePlayer&&s()},{deep:!0}),J(()=>B.state,m=>{m.value!=ol.CONNECTED&&(t.activePlayerId=void 0)},{deep:!0});function n(m,f=!1){t.activePlayerId==m.player_id?l.value=!l.value:(l.value=!1,t.activePlayerId=m.player_id),f&&(t.showPlayersMenu=!1)}Ae(()=>{s()});const s=function(){if(t.activePlayer&&$t(t.activePlayer))return;const m=c();m&&(t.activePlayerId=m)},c=function(){const m=localStorage.getItem("mass.LastPlayerId");if(m&&m in B.players&&B.players[m].available)return m};return(m,f)=>(r(),g(W,null,[u(Zt,{modelValue:e(t).showPlayersMenu,"onUpdate:modelValue":f[0]||(f[0]=v=>e(t).showPlayersMenu=v)},null,8,["modelValue"]),e(t).showPlayersMenu?(r(),V(ta,{key:0,modelValue:e(t).showPlayersMenu,"onUpdate:modelValue":f[4]||(f[4]=v=>e(t).showPlayersMenu=v),location:"right",app:"",clipped:"",temporary:"",width:460,style:{"z-index":"99999"},"z-index":"99999"},{default:y(()=>[w("div",null,[u($e,{class:"title",style:{"padding-top":"20px","padding-bottom":"20px"}},{default:y(()=>[w("b",null,k(m.$t("players")),1),w("div",Xo,[u(pe,{variant:"icon",to:{name:"playersettings"}},{default:y(()=>[u(le,{size:"30"},{default:y(()=>[...f[5]||(f[5]=[D("mdi-cog-outline",-1)])]),_:1})]),_:1}),u(pe,{variant:"icon",onClick:f[1]||(f[1]=v=>e(t).showPlayersMenu=!1)},{default:y(()=>[u(le,{size:"30"},{default:y(()=>[...f[6]||(f[6]=[D("mdi-window-close",-1)])]),_:1})]),_:1})])]),_:1}),u(Ne),u(Ie,{flat:"",style:{margin:"0px 15px 5px 15px"}},{default:y(()=>[e(_e).mode===e(il).BUILTIN&&e(_e).player_id&&e(B).players[e(_e).player_id]?(r(),V(Oe,{key:0,id:e(_e).player_id,player:e(B).players[e(_e).player_id],"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":!1,"show-sync-controls":!1,"allow-power-control":!0,onClick:f[2]||(f[2]=v=>n(e(B).players[e(_e).player_id]))},null,8,["id","player"])):Q("",!0),(r(!0),g(W,null,se(o.value.filter(v=>[e(et).PLAYING,e(et).PAUSED].includes(v.playback_state)||e(B).queues[v.player_id]?.items>0&&v.powered!=!1),v=>(r(),V(Oe,{id:v.player_id,key:v.player_id,player:v,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&v.player_id==e(t).activePlayerId,"show-sync-controls":v.supported_features.includes(e(Te).SET_MEMBERS),"allow-power-control":!0,onClick:T=>n(v)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1}),u(Pl,{modelValue:i.value,"onUpdate:modelValue":f[3]||(f[3]=v=>i.value=v),variant:"accordion",flat:"",class:"expansion"},{default:y(()=>[u(St,{style:{padding:"0"}},{default:y(()=>[u(Tt,null,{default:y(()=>[w("h3",null,k(m.$t("all_players")),1)]),_:1}),u(Bt,{style:{padding:"0"}},{default:y(()=>[u(Ie,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:y(()=>[(r(!0),g(W,null,se(o.value.filter(v=>v.type!=e(De).GROUP),v=>(r(),V(Oe,{id:v.player_id,key:v.player_id,player:v,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&v.player_id==e(t).activePlayerId,"show-sync-controls":v.supported_features.includes(e(Te).SET_MEMBERS),"allow-power-control":!0,onClick:T=>n(v)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1}),o.value.filter(v=>v.type==e(De).GROUP).length?(r(),V(St,{key:0,style:{padding:"0"}},{default:y(()=>[u(Tt,null,{default:y(()=>[w("h3",null,k(m.$t("all_groups")),1)]),_:1}),u(Bt,{style:{padding:"0"}},{default:y(()=>[u(Ie,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:y(()=>[(r(!0),g(W,null,se(o.value.filter(v=>v.type==e(De).GROUP),v=>(r(),V(Oe,{id:v.player_id,key:v.player_id,player:v,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&v.player_id==e(t).activePlayerId,"show-sync-controls":v.supported_features.includes(e(Te).SET_MEMBERS),"allow-power-control":!0,onClick:T=>n(v)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1})):Q("",!0)]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"])):Q("",!0)],64))}}),Go=ue(Uo,[["__scopeId","data-v-2ed448d7"]]);function jo(a={}){const{immediate:l=!1,onNeedRefresh:i,onOfflineReady:o,onRegistered:n,onRegisteredSW:s,onRegisterError:c}=a;let m,f,v;const T=async(d=!0)=>{await f,v?.()};async function b(){if("serviceWorker"in navigator){if(m=await sl(async()=>{const{Workbox:d}=await import("./workbox-window.prod.es5-B9K5rw8f.js");return{Workbox:d}},[],import.meta.url).then(({Workbox:d})=>new d("./sw.js",{scope:"./",type:"classic"})).catch(d=>{c?.(d)}),!m)return;v=()=>{m?.messageSkipWaiting()};{let d=!1;const I=()=>{d=!0,m?.addEventListener("controlling",C=>{C.isUpdate&&window.location.reload()}),i?.()};m.addEventListener("installed",C=>{typeof C.isUpdate>"u"?typeof C.isExternal<"u"&&C.isExternal?I():!d&&o?.():C.isUpdate||o?.()}),m.addEventListener("waiting",I)}m.register({immediate:l}).then(d=>{s?s("./sw.js",d):n?.(d)}).catch(d=>{c?.(d)})}}return f=b(),T}function Ko(a={}){const{immediate:l=!0,onNeedRefresh:i,onOfflineReady:o,onRegistered:n,onRegisteredSW:s,onRegisterError:c}=a,m=M(!1),f=M(!1);return{updateServiceWorker:jo({immediate:l,onNeedRefresh(){m.value=!0,i?.()},onOfflineReady(){f.value=!0,o?.()},onRegistered:n,onRegisteredSW:s,onRegisterError:c}),offlineReady:f,needRefresh:m}}const Zo={key:0,class:"pwa-toast",role:"alert"},Jo={class:"message"},es={key:0},ts={key:1},as=q({__name:"ReloadPrompt",setup(a){const{offlineReady:l,needRefresh:i,updateServiceWorker:o}=Ko(),n=async()=>{l.value=!1,i.value=!1};return(s,c)=>e(l)||e(i)?(r(),g("div",Zo,[w("div",Jo,[e(l)?(r(),g("span",es," App ready to work offline ")):(r(),g("span",ts," New content available, click on reload button to update. "))]),e(i)?(r(),g("button",{key:0,onClick:c[0]||(c[0]=m=>e(o)())},"Reload")):Q("",!0),w("button",{onClick:n},"Close")])):Q("",!0)}}),ls=q({__name:"Default",setup(a){const l=nl();return J([()=>l.query.player,()=>Object.keys(B.players).length],([i])=>{if(!i)return;const o=i.toString().toLowerCase(),n=Object.values(B.players).find(s=>s.player_id.toLowerCase()===o||s.name.toLowerCase()===o)?.player_id;n&&(t.activePlayerId=n)},{immediate:!0}),J(()=>l.query.showFullscreenPlayer,i=>{t.showFullscreenPlayer=!!i},{immediate:!0}),J(()=>l.query.frameless,i=>{i&&(t.frameless=!0)},{immediate:!0}),(i,o)=>(r(),g(W,null,[e(t).connected?(r(),V(Zl,{key:0},{default:y(()=>[e(t).frameless?(r(),V(Lt,{key:0})):(r(),g(W,{key:1},[u(Go),u(Yo),u(Lt)],64))]),_:1})):(r(),V(Zt,{key:1,class:"centeredoverlay",persistent:"","model-value":!e(t).connected},{default:y(()=>[w("div",null,[u(ea,{color:"primary",indeterminate:"",size:"64"})])]),_:1},8,["model-value"])),e(t).isInStandaloneMode?(r(),V(as,{key:2})):Q("",!0)],64))}}),Ps=ue(ls,[["__scopeId","data-v-51ae78ef"]]);export{Ps as default};
@@ -1 +0,0 @@
1
- .v-navigation-drawer{-webkit-overflow-scrolling:touch;background:rgb(var(--v-theme-surface));display:flex;flex-direction:column;height:100%;max-width:100%;pointer-events:auto;transition-duration:.2s;transition-property:box-shadow,transform,visibility,width,height,left,right,top,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.v-navigation-drawer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-navigation-drawer--border{border-width:thin;box-shadow:none}.v-navigation-drawer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-navigation-drawer--rounded{border-radius:4px}.v-navigation-drawer--top{top:0;border-bottom-width:thin}.v-navigation-drawer--bottom{left:0;border-top-width:thin}.v-navigation-drawer--left{top:0;left:0;right:auto;border-right-width:thin}.v-navigation-drawer--right{top:0;left:auto;right:0;border-left-width:thin}.v-navigation-drawer--floating{border:none}.v-navigation-drawer--temporary.v-navigation-drawer--active{box-shadow:0 8px 10px -5px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 16px 24px 2px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 6px 30px 5px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-navigation-drawer--sticky{height:auto;transition:box-shadow,transform,visibility,width,height,left,right}.v-navigation-drawer .v-list{overflow:hidden}.v-navigation-drawer__content{flex:0 1 auto;height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}.v-navigation-drawer__img{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.v-navigation-drawer__img img:not(.v-img__img){height:inherit;object-fit:cover;width:inherit}.v-navigation-drawer__scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:.85;transition:opacity .2s cubic-bezier(.4,0,.2,1);z-index:1}.v-navigation-drawer__prepend,.v-navigation-drawer__append{flex:none;overflow:hidden}.logo_text[data-v-46dc003b]{margin-left:0;font-family:JetBrains Mono Medium;font-size:larger;font-weight:500}.logo_icon[data-v-46dc003b]{margin-left:-8px;border-radius:4px;width:38px}.v-list-item[data-v-46dc003b] .v-list-item__prepend{width:55px}.media-thumb[data-v-bd014719]{padding-right:15px}.v-main{flex:1 0 auto;max-width:100%;transition:.2s cubic-bezier(.4,0,.2,1);padding-left:var(--v-layout-left);padding-right:var(--v-layout-right);padding-top:var(--v-layout-top);padding-bottom:var(--v-layout-bottom)}.v-main__scroller{max-width:100%;position:relative}.v-main--scrollable{display:flex}.v-main--scrollable{position:absolute;top:0;left:0;width:100%;height:100%}.v-main--scrollable>.v-main__scroller{flex:1 1 auto;overflow-y:auto;--v-layout-left: 0px;--v-layout-right: 0px;--v-layout-top: 0px;--v-layout-bottom: 0px}.v-bottom-navigation{display:flex;max-width:100%;overflow:hidden;position:absolute;transition:transform,color,.2s,.1s cubic-bezier(.4,0,.2,1)}.v-bottom-navigation{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-bottom-navigation--border{border-width:thin;box-shadow:none}.v-bottom-navigation{border-radius:0}.v-bottom-navigation{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-bottom-navigation--active{box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 10px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-bottom-navigation__content{display:flex;flex:none;font-size:.75rem;justify-content:center;transition:inherit;width:100%}.v-bottom-navigation .v-bottom-navigation__content>.v-btn{font-size:inherit;height:100%;max-width:168px;min-width:80px;text-transform:none;transition:inherit;width:auto}.v-bottom-navigation .v-bottom-navigation__content>.v-btn{border-radius:0}.v-bottom-navigation .v-bottom-navigation__content>.v-btn .v-btn__content,.v-bottom-navigation .v-bottom-navigation__content>.v-btn .v-btn__icon{transition:inherit}.v-bottom-navigation .v-bottom-navigation__content>.v-btn .v-btn__icon{font-size:1.5rem}.v-bottom-navigation--grow .v-bottom-navigation__content>.v-btn{flex-basis:0;flex-grow:1}.v-bottom-navigation--shift .v-bottom-navigation__content .v-btn:not(.v-btn--selected) .v-btn__content>span{transition:inherit;opacity:0}.v-bottom-navigation--shift .v-bottom-navigation__content .v-btn:not(.v-btn--selected) .v-btn__content{transform:translateY(.5rem)}.menuButton[data-v-5c8e33d1]{font-weight:350;font-size:x-small;font-stretch:condensed;text-transform:none;margin-top:5px}.v-btn--active[data-v-5c8e33d1]{color:rgb(var(--v-theme-accent))}.v-slide-group-item--active[data-v-5c8e33d1]{opacity:100%}.v-application{display:flex;background:rgb(var(--v-theme-background));color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))}.v-application__wrap{backface-visibility:hidden;display:flex;flex-direction:column;flex:1 1 auto;max-width:100%;min-height:100vh;min-height:100dvh;position:relative}.v-window{overflow:hidden}.v-window__container{display:flex;flex-direction:column;height:inherit;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window__controls{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 16px;pointer-events:none}.v-window__controls>*{pointer-events:auto}.v-window--show-arrows-on-hover{overflow:hidden}.v-window--show-arrows-on-hover .v-window__left{transform:translate(-200%)}:has(.v-window__controls--right).v-window--show-arrows-on-hover .v-window__left{transform:translate(200%)}.v-window--show-arrows-on-hover .v-window__right{transform:translate(200%)}:has(.v-window__controls--left).v-window--show-arrows-on-hover .v-window__right{transform:translate(-200%)}.v-window--show-arrows-on-hover:hover .v-window__left,.v-window--show-arrows-on-hover:hover .v-window__right{transform:translate(0)}.v-window--vertical-arrows .v-window__controls{flex-direction:column;justify-content:center;gap:12px}.v-window--vertical-arrows .v-window__controls--left{align-items:start}.v-window--vertical-arrows .v-window__controls--right{align-items:end}.v-window--vertical-arrows .v-window__controls .v-window__left .v-icon,.v-window--vertical-arrows .v-window__controls .v-window__right .v-icon{transform:rotate(90deg)}.v-window-x-transition-enter-active,.v-window-x-transition-leave-active,.v-window-x-reverse-transition-enter-active,.v-window-x-reverse-transition-leave-active,.v-window-y-transition-enter-active,.v-window-y-transition-leave-active,.v-window-y-reverse-transition-enter-active,.v-window-y-reverse-transition-leave-active{transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window-x-transition-leave-from,.v-window-x-transition-leave-to,.v-window-x-reverse-transition-leave-from,.v-window-x-reverse-transition-leave-to,.v-window-y-transition-leave-from,.v-window-y-transition-leave-to,.v-window-y-reverse-transition-leave-from,.v-window-y-reverse-transition-leave-to{position:absolute!important;top:0;width:100%}.v-window-x-transition-enter-from{transform:translate(100%)}.v-window-x-transition-leave-to,.v-window-x-reverse-transition-enter-from{transform:translate(-100%)}.v-window-x-reverse-transition-leave-to{transform:translate(100%)}.v-window-y-transition-enter-from{transform:translateY(100%)}.v-window-y-transition-leave-to,.v-window-y-reverse-transition-enter-from{transform:translateY(-100%)}.v-window-y-reverse-transition-leave-to{transform:translateY(100%)}.v-footer{align-items:center;display:flex;flex:1 1 auto;padding:8px 16px;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom}.v-footer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-footer--border{border-width:thin;box-shadow:none}.v-footer{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-footer--absolute{position:absolute}.v-footer--fixed{position:fixed}.v-footer{border-radius:0}.v-footer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-footer--rounded{border-radius:4px}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}}.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}.no_transform{text-transform:none}.volume-control-dialog>.v-overlay__content[data-v-70c82677]{bottom:135px!important;right:5px!important;left:unset!important;top:unset!important}.v-overlay__scrim[data-v-70c82677]{opacity:.4}.time-text-left[data-v-5386447e]{text-align:left;display:table-cell}.time-text-right[data-v-5386447e]{text-align:right;display:table-cell;right:0}.time-text-row[data-v-5386447e]{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-5386447e]{width:50%}.v-slider.v-input--horizontal[data-v-5386447e]{align-items:center;margin-inline:0px}.lyrics-container[data-v-73a4fec0]{height:100%;width:100%;display:flex;flex-direction:column}.lyrics-loading[data-v-73a4fec0],.lyrics-empty[data-v-73a4fec0]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.7;gap:20px}.lyrics-intro[data-v-73a4fec0]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.song-title[data-v-73a4fec0]{font-size:2em;font-weight:700;margin-bottom:10px;color:var(--762ad436)}.artist-name[data-v-73a4fec0]{font-size:1.5em;margin-bottom:40px;opacity:.8}.lyrics-coming-soon[data-v-73a4fec0]{font-size:1.2em;opacity:.6;font-style:italic}.lyrics-scroll-container[data-v-73a4fec0]{height:100%;width:100%;overflow-y:auto;padding:40vh 0;text-align:center}.static-lyrics[data-v-73a4fec0]{padding:10px 0!important;display:flex;flex-direction:column;justify-content:flex-start}.lyrics-line[data-v-73a4fec0]{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-73a4fec0]{opacity:1;font-size:1.4em;font-weight:700;color:var(--762ad436);filter:blur(0);text-shadow:none}.main[data-v-753a03fa]{display:flex;min-height:50%!important;height:50%!important;max-height:65%!important;padding-bottom:5px}.main-media-details[data-v-753a03fa]{flex:50%;max-width:100%;width:50%}.main-queue-items[data-v-753a03fa]{flex:50%;height:100%;max-width:100%;padding-right:10px;padding-left:15px}.queue-items-scroll-box[data-v-753a03fa]{max-height:100%;overflow-y:scroll}.queue-items-scroll-box[data-v-753a03fa]::-webkit-scrollbar{display:none}.v-infinite-scroll--vertical[data-v-753a03fa]{overflow-y:unset}.main-media-details-image[data-v-753a03fa]{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-753a03fa]{width:auto}.main-media-details-image-alt[data-v-753a03fa]{height:100%!important;max-height:100%!important;align-content:center;padding:0!important}.main-media-details-track-info[data-v-753a03fa]{height:20%;max-height:20%;align-content:center;text-align:center;padding:20px}.player-bottom[data-v-753a03fa]{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-753a03fa]{margin-top:10px;margin-bottom:10px;padding-top:2vh;padding-bottom:2vh;text-align:center;line-height:10%}.track-info-subtitle[data-v-753a03fa],.v-tab[data-v-753a03fa]{opacity:.5}.v-tab-item--selected[data-v-753a03fa]{opacity:1}.media-controls[data-v-753a03fa]{display:flex;flex:1 1 auto;align-items:center;justify-content:center;max-width:100%;padding:15px;height:100px}.media-controls-item[data-v-753a03fa]{margin:0 10px;width:100%;height:100%}@media (max-width: 768px){.media-controls-item[data-v-753a03fa]{margin:0 5px;width:100%;height:100%}}.row[data-v-753a03fa]{align-content:center}.row-centered[data-v-753a03fa]{justify-content:center;max-width:100%;padding:15px}.media-controls>button[data-v-753a03fa]{flex:1 1 auto}.media-controls-bottom[data-v-753a03fa]{display:flex;flex:0 1 auto;justify-content:center;align-items:center}.media-controls-bottom>div[data-v-753a03fa]{flex-basis:0;flex-grow:1;max-width:100%}.media-controls>div[data-v-753a03fa]{width:calc(100% / 3)}.mediacontrols-right[data-v-753a03fa]{display:table-cell;text-align:right;vertical-align:middle}.mediacontrols-right>div[data-v-753a03fa]{display:inline-flex;align-items:center}.v-toolbar[data-v-753a03fa] .v-toolbar-title{text-align:center}.responsive-icon-holder-btn[data-v-753a03fa]{display:flex;align-items:center;justify-content:center;opacity:.62;cursor:pointer!important}.responsive-icon-holder-btn[data-v-753a03fa]:focus,.responsive-icon-holder-btn[data-v-753a03fa]:hover{opacity:1}div[data-v-753a03fa],button[data-v-753a03fa]{color:var(--text-color)}.lyrics-wrapper[data-v-753a03fa]{height:100%;width:100%;overflow:hidden}.title-row[data-v-753a03fa]{display:flex;align-items:center;gap:6px}.player-media-thumb{margin-right:10px}.player-track-content-type{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{width:55px;height:55px;margin-top:5px;border-radius:4px;background-color:#0000004d;display:inline-table}.v-list-item-subtitle{-webkit-line-clamp:unset!important;line-clamp:unset!important}.mediadetails-streamdetails .icon[data-v-910c83d5]{opacity:100}.mediacontrols[data-v-910c83d5]{display:flex;align-items:center;width:100%;padding-inline:10px;padding-block:10px}.mediacontrols .mediacontrols-bottom-center[data-v-910c83d5]{width:40%}.mediacontrols[data-mobile=true] .mediacontrols-bottom-center[data-v-910c83d5]{display:none}.mediacontrols[data-mobile=true] .mediacontrols-left[data-v-910c83d5]{width:unset}.mediacontrols-bg[data-v-910c83d5]{position:absolute;width:100%;height:100%;left:0;top:0;background-color:var(--692f32e8)}.mediacontrols-bg[data-floating=true][data-v-910c83d5]{border-radius:10px}.mediacontrols-top-right[data-v-910c83d5]{display:table-row}.mediacontrols-left[data-v-910c83d5]{margin-inline-end:auto;width:30%}.mediacontrols-left>div[data-v-910c83d5]{padding:0!important}.mediacontrols-bottom-right[data-v-910c83d5]{margin-inline-start:auto}.mediacontrols-bottom-right>div[data-v-910c83d5]{display:inline-flex;align-items:center}.volume-slider[data-v-910c83d5]{width:calc(100% - 30px);margin-bottom:6px;margin-top:-10px}.mediacontrols-player-float{width:100%;padding:0!important;left:5px!important;width:calc(100% - 10px)!important;border-radius:10px!important;border-color:rgba(100,100,100,.9) 75%;border-style:solid;border-width:thin}.mediacontrols-player-default{width:100%;border-top-style:ridge;padding:0;border-top:1px solid #20202035}.gradient-dark{background:linear-gradient(0deg,#000000e6 0% 75%,#fff0)}.gradient-light{background:linear-gradient(0deg,#ffffffe6 0% 75%,#fff0)}.title[data-v-2ed448d7]{font-family:JetBrains Mono Medium;font-size:x-large;opacity:.7}.expansion[data-v-2ed448d7] .v-expansion-panel-title{padding:10px 16px}.expansion[data-v-2ed448d7] .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-51ae78ef] .v-overlay__content{inset:50%}
@@ -1 +0,0 @@
1
- import{p as Ee,s as ee,c as M,a2 as i,e as Ne,cq as be,cr as Be,E as b,ah as ve,I as ae,g as Ke,aw as qe,x as q,cs as Ge,aH as He,r as ge,ct as ne,R as re,cu as je,z as ze,w as te,cv as ke,D as We,F as c,G as Z,aI as Qe,c9 as Xe,au as Ye,cw as Ze,cx as Ve,cy as Je,ar as he,cz as _e,at as el,a3 as ll,Z as Ce,$ as Ie,cA as al,bD as tl,cB as ul,ag as il,bp as nl,S as sl,as as z,U as ol,cd as E,cC as fe,a0 as j,X as S,W as B,ab as de,Y as T,a1 as xe,ad as K,aa as f,bH as rl,a9 as dl,bG as Se,bC as vl,bA as cl}from"./index-B-lUZalq.js";import{V as ml}from"./VForm-C-dO2GIE.js";import{V as fl,a as pl,b as bl,c as gl}from"./VExpansionPanels-CR_eBB13.js";import{c as kl,a as Vl,d as hl}from"./VInput-BWBQqjuk.js";import{V as we}from"./VAlert-QHTIcuEJ.js";import{a as _}from"./VBtn-BPJ1JKW-.js";import{u as Cl,m as xl,V as Sl,a as wl}from"./VSwitch-Bhk7qcAi.js";import{V as El}from"./VSlider-BCIrn4it.js";import{V as le,m as Il}from"./VTextField-B-d5Pe9I.js";import{V as Fl}from"./VVirtualScroll-CceW16X7.js";import{V as Tl}from"./VDialog-CAgq0L03.js";import{V as yl}from"./VSpacer-DDLrofv-.js";import{_ as $l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Al=(l,m,g)=>{if(l==null||m==null)return-1;if(!m.length)return 0;l=l.toString().toLocaleLowerCase(),m=m.toString().toLocaleLowerCase();const o=[];let p=l.indexOf(m);for(;~p;)o.push([p,p+m.length]),p=l.indexOf(m,p+m.length);return o.length?o:-1};function pe(l,m){if(!(l==null||typeof l=="boolean"||l===-1))return typeof l=="number"?[[l,l+m.length]]:Array.isArray(l[0])?l:[l]}const Rl=Ee({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Ul(l,m,g){const o=[],p=g?.default??Al,w=g?.filterKeys?be(g.filterKeys):!1,V=Object.keys(g?.customKeyFilter??{}).length;if(!l?.length)return o;e:for(let y=0;y<l.length;y++){const[h,$=h]=be(l[y]),O={},v={};let A=-1;if((m||V>0)&&!g?.noFilter){let W=!1;if(typeof h=="object"){if(h.type==="divider"||h.type==="subheader")continue;const Y=w||Object.keys($);W=Y.length===V;for(const P of Y){const r=Be($,P),R=g?.customKeyFilter?.[P];if(A=R?R(r,m,h):p(r,m,h),A!==-1&&A!==!1)R?O[P]=pe(A,m):v[P]=pe(A,m);else if(g?.filterMode==="every")continue e}}else A=p(h,m,h),A!==-1&&A!==!1&&(v.title=pe(A,m));const Q=Object.keys(v).length,X=Object.keys(O).length;if(!Q&&!X||g?.filterMode==="union"&&X!==V&&!Q||g?.filterMode==="intersection"&&(X!==V||!Q&&V>0&&!W))continue}o.push({index:y,matches:{...v,...O}})}return o}function Dl(l,m,g,o){const p=ee([]),w=ee(new Map),V=M(()=>i(m));Ne(()=>{const h=typeof g=="function"?g():i(g),$=typeof h!="string"&&typeof h!="number"?"":String(h),O=Ul(V.value,$,{customKeyFilter:{...l.customKeyFilter,...i(o?.customKeyFilter)},default:l.customFilter,filterKeys:l.filterKeys,filterMode:l.filterMode,noFilter:l.noFilter}),v=i(m),A=[],W=new Map;O.forEach(Q=>{let{index:X,matches:Y}=Q;const P=v[X];A.push(P),W.set(P.value,Y)}),p.value=A,w.value=W});function y(h){return w.value.get(h.value)}return{filteredItems:p,filteredMatches:w,getMatches:y}}function Ll(l,m,g){return g==null||!g.length?m:g.map((o,p)=>{const w=p===0?0:g[p-1][1],V=[b("span",{class:ve(`${l}__unmask`)},[m.slice(w,o[0])]),b("span",{class:ve(`${l}__mask`)},[m.slice(o[0],o[1])])];return p===g.length-1&&V.push(b("span",{class:ve(`${l}__unmask`)},[m.slice(o[1])])),b(ae,null,[V])})}const Ml=Ee({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Rl({filterKeys:["title"]}),...xl({hideNoData:!0,returnObject:!0}),...Ye(Il({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Xe({transition:!1})},"VCombobox"),Ol=Ke()({name:"VCombobox",props:Ml(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,m){let{emit:g,slots:o}=m;const{t:p}=qe(),w=q(),V=ee(!1),y=ee(!0),h=ee(!1),$=q(),O=q(),v=ee(-1);let A=!1;const{items:W,transformIn:Q,transformOut:X}=Ge(l),{textColorClasses:Y,textColorStyles:P}=He(()=>w.value?.color),r=ge(l,"modelValue",[],t=>Q(be(t)),t=>{const x=X(t);return l.multiple?x:x[0]??null}),R=kl(l),U=M(()=>!!(l.chips||o.chip)),N=M(()=>U.value||!!o.selection),G=ee(!l.multiple&&!N.value?r.value[0]?.title??"":""),F=M({get:()=>G.value,set:async t=>{if(G.value=t??"",!l.multiple&&!N.value&&(r.value=[ne(l,t)],re(()=>O.value?.scrollToIndex(0))),t&&l.multiple&&l.delimiters?.length){const x=l.delimiters.map(je).join("|"),I=t.split(new RegExp(`(?:${x})+`));if(I.length>1){for(let s of I)s=s.trim(),s&&(H(ne(l,s)),await re());G.value=""}}t||(v.value=-1),y.value=!t}}),u=M(()=>typeof l.counterValue=="function"?l.counterValue(r.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?r.value.length:F.value.length),{filteredItems:a,getMatches:k}=Dl(l,W,()=>y.value?"":F.value),e=M(()=>l.hideSelected?a.value.filter(t=>!r.value.some(x=>x.value===t.value)):a.value),n=M(()=>l.hideNoData&&!e.value.length||R.isReadonly.value||R.isDisabled.value),se=ge(l,"menu"),C=M({get:()=>se.value,set:t=>{se.value&&!t&&$.value?.ΨopenChildren.size||t&&n.value||(se.value=t)}}),J=ze(()=>C.value?l.closeText:l.openText);te(G,t=>{A?re(()=>A=!1):V.value&&!C.value&&(C.value=!0),g("update:search",t)}),te(r,t=>{!l.multiple&&!N.value&&(G.value=t[0]?.title??"")});const Fe=M(()=>r.value.map(t=>t.value)),ce=M(()=>(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&F.value===e.value[0]?.title)&&e.value.length>0&&!y.value&&!h.value),me=q(),Te=Cl(me,w);function ye(t){A=!0,l.openOnClear&&(C.value=!0)}function $e(){n.value||(C.value=!0)}function Ae(t){n.value||(V.value&&(t.preventDefault(),t.stopPropagation()),C.value=!C.value)}function Re(t){(Ve(t)||t.key==="Backspace")&&w.value?.focus()}function Ue(t){if(Ze(t)||R.isReadonly.value)return;const x=w.value?.selectionStart,I=r.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"].includes(t.key)&&(C.value=!0),["Escape"].includes(t.key)&&(C.value=!1),["Enter","Escape","Tab"].includes(t.key)&&(ce.value&&["Enter","Tab"].includes(t.key)&&!r.value.some(s=>{let{value:d}=s;return d===e.value[0].value})&&H(a.value[0]),y.value=!0),t.key==="ArrowDown"&&ce.value&&me.value?.focus("next"),t.key==="Enter"&&F.value&&(H(ne(l,F.value)),N.value&&(G.value="")),["Backspace","Delete"].includes(t.key)){if(!l.multiple&&N.value&&r.value.length>0&&!F.value)return H(r.value[0],!1);if(~v.value){t.preventDefault();const s=v.value;H(r.value[v.value],!1),v.value=s>=I-1?I-2:s}else t.key==="Backspace"&&!F.value&&(v.value=I-1);return}if(l.multiple)if(t.key==="ArrowLeft"){if(v.value<0&&x&&x>0)return;const s=v.value>-1?v.value-1:I-1;r.value[s]?v.value=s:(v.value=-1,w.value?.setSelectionRange(F.value.length,F.value.length))}else if(t.key==="ArrowRight"){if(v.value<0)return;const s=v.value+1;r.value[s]?v.value=s:(v.value=-1,w.value?.setSelectionRange(0,0))}else~v.value&&Ve(t)&&(v.value=-1)}function De(){l.eager&&O.value?.calculateVisibleItems()}function Le(){V.value&&(y.value=!0,w.value?.focus())}function H(t){let x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!t||t.props.disabled))if(l.multiple){const I=r.value.findIndex(d=>(l.valueComparator||ke)(d.value,t.value)),s=x??!~I;if(~I){const d=s?[...r.value,t]:[...r.value];d.splice(I,1),r.value=d}else s&&(r.value=[...r.value,t]);l.clearOnSelect&&(F.value="")}else{const I=x!==!1;r.value=I?[t]:[],G.value=I&&!N.value?t.title:"",re(()=>{C.value=!1,y.value=!0})}}function Me(t){V.value=!0,setTimeout(()=>{h.value=!0})}function Oe(t){h.value=!1}function Pe(t){(t==null||t===""&&!l.multiple&&!N.value)&&(r.value=[])}return te(V,(t,x)=>{if(!(t||t===x)&&(v.value=-1,C.value=!1,F.value)){if(l.multiple){H(ne(l,F.value));return}if(!N.value)return;r.value.some(I=>{let{title:s}=I;return s===F.value})?G.value="":H(ne(l,F.value))}}),te(C,()=>{if(!l.hideSelected&&C.value&&r.value.length){const t=e.value.findIndex(x=>r.value.some(I=>(l.valueComparator||ke)(I.value,x.value)));Je&&window.requestAnimationFrame(()=>{t>=0&&O.value?.scrollToIndex(t)})}}),te(()=>l.items,(t,x)=>{C.value||V.value&&!x.length&&t.length&&(C.value=!0)}),We(()=>{const t=!!(!l.hideNoData||e.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),x=r.value.length>0,I=le.filterProps(l);return c(le,Z({ref:w},I,{modelValue:F.value,"onUpdate:modelValue":[s=>F.value=s,Pe],focused:V.value,"onUpdate:focused":s=>V.value=s,validationValue:r.externalValue,counterValue:u.value,dirty:x,class:["v-combobox",{"v-combobox--active-menu":C.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!N.value,"v-combobox--selecting-index":v.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:R.isReadonly.value,placeholder:x?void 0:l.placeholder,"onClick:clear":ye,"onMousedown:control":$e,onKeydown:Ue}),{...o,default:()=>b(ae,null,[c(el,Z({ref:$,modelValue:C.value,"onUpdate:modelValue":s=>C.value=s,activator:"parent",contentClass:"v-combobox__content",disabled:n.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:l.transition,onAfterEnter:De,onAfterLeave:Le},l.menuProps),{default:()=>[t&&c(ll,Z({ref:me,filterable:!0,selected:Fe.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:s=>s.preventDefault(),onKeydown:Re,onFocusin:Me,onFocusout:Oe,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},Te,l.listProps),{default:()=>[o["prepend-item"]?.(),!e.value.length&&!l.hideNoData&&(o["no-data"]?.()??c(Ce,{key:"no-data",title:p(l.noDataText)},null)),c(Fl,{ref:O,renderless:!0,items:e.value,itemKey:"value"},{default:s=>{let{item:d,index:D,itemRef:oe}=s;const ue=Z(d.props,{ref:oe,key:d.value,active:ce.value&&D===0?!0:void 0,onClick:()=>H(d,null)});return d.type==="divider"?o.divider?.({props:d.raw,index:D})??c(Ie,Z(d.props,{key:`divider-${D}`}),null):d.type==="subheader"?o.subheader?.({props:d.raw,index:D})??c(al,Z(d.props,{key:`subheader-${D}`}),null):o.item?.({item:d,index:D,props:ue})??c(Ce,Z(ue,{role:"option"}),{prepend:ie=>{let{isSelected:L}=ie;return b(ae,null,[l.multiple&&!l.hideSelected?c(Vl,{key:d.value,modelValue:L,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&c(tl,{image:d.props.prependAvatar},null),d.props.prependIcon&&c(he,{icon:d.props.prependIcon},null)])},title:()=>y.value?d.title:Ll("v-combobox",d.title,k(d)?.title)})}}),o["append-item"]?.()]})]}),r.value.map((s,d)=>{function D(L){L.stopPropagation(),L.preventDefault(),H(s,!1)}const oe={"onClick:close":D,onKeydown(L){L.key!=="Enter"&&L.key!==" "||(L.preventDefault(),L.stopPropagation(),D(L))},onMousedown(L){L.preventDefault(),L.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},ue=U.value?!!o.chip:!!o.selection,ie=ue?ul(U.value?o.chip({item:s,index:d,props:oe}):o.selection({item:s,index:d})):void 0;if(!(ue&&!ie))return b("div",{key:s.value,class:ve(["v-combobox__selection",d===v.value&&["v-combobox__selection--selected",Y.value]]),style:il(d===v.value?P.value:{})},[U.value?o.chip?c(sl,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:s.title}}},{default:()=>[ie]}):c(nl,Z({key:"chip",closable:l.closableChips,size:"small",text:s.title,disabled:s.props.disabled},oe),null):ie??b("span",{class:"v-combobox__selection-text"},[s.title,l.multiple&&d<r.value.length-1&&b("span",{class:"v-combobox__selection-comma"},[z(",")])])])})]),"append-inner":function(){for(var s=arguments.length,d=new Array(s),D=0;D<s;D++)d[D]=arguments[D];return b(ae,null,[o["append-inner"]?.(...d),(!l.hideNoData||l.items.length)&&l.menuIcon?c(he,{class:"v-combobox__menu-icon",color:w.value?.fieldIconColor,icon:l.menuIcon,onMousedown:Ae,onClick:_e,"aria-label":p(J.value),title:p(J.value),tabindex:"-1"},null):void 0])}})}),Qe({isFocused:V,isPristine:y,menu:C,search:F,selectionIndex:v,filteredItems:a,select:H},w)}}),Pl={class:"configcolumnleft"},Nl={key:0},Bl={key:1},Kl={key:2},ql={key:3},Gl={key:4},Hl={key:0,class:"configcolumnright"},jl=ol({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean}},emits:["submit","action"],setup(l,{emit:m}){const g=rl(),o=m,p=q(),w=q(!1),V=q(),y=q("generic"),h=q(!1),$=q(),O=q({}),v=l,A=M(()=>{const u=p.value.map(a=>a.category);return u.filter(a=>a=="generic").length?new Set(["generic",...u]):new Set(u)}),W=M(()=>{if(p.value){for(const u of p.value)if(u.required&&!(!R(u.value)||!R(u.default_value)||u.type==E.DIVIDER||u.type==E.LABEL||u.type==E.ALERT||u.type==E.ACTION))return!1;return!0}return!1});M(()=>{const u={};for(const a of v.configEntries)a.value!=null&&(a.type==E.SECURE_STRING&&a.value==fe||(u[a.key]=a.value));return u}),te(()=>v.configEntries,u=>{p.value=[];for(const a of u||[])a.value!==void 0&&a.value!==null&&(O.value[a.key]=a.value),(a.value==null||a.value==null)&&(a.value=a.default_value),p.value.push(a)},{immediate:!0});const Q=async function(){const{valid:u}=await V.value.validate();return u},X=async function(){await Q()&&o("submit",N())},Y=async function(u){o("action",u,N())},P=function(u){const a=document.createElement("a");a.setAttribute("href",u),a.setAttribute("target","_blank"),a.click()},r=function(){g.push(`${g.currentRoute.value.path}/dsp`)},R=function(u){return u==null},U=function(u){if(!R(u.depends_on)){const a=p.value?.find(k=>k.key==u.depends_on);if(a){const k=a.value;if(!R(u.depends_on_value))return k!=u.depends_on_value;if(!R(u.depends_on_value_not))return k==u.depends_on_value_not;if(a.required&&R(a)||a.type==E.BOOLEAN&&!k)return!0}}return!1},N=function(){const u={};for(const a of v.configEntries)a.value==null&&(a.value=null),!(a.type==E.SECURE_STRING&&a.value==fe)&&(u[a.key]=a.value);return u},G=function(u){if(!u.options)return[];const a=[];for(const k of u.options){let e=k.value?.toString()||"",n=k.title?.toString()||"";for(const J of["@","$","|"])e.includes(J)&&(e=e.replaceAll(J,"")),n.includes(J)&&(n=n.toString().replaceAll(J,""));const C={title:f(`settings.${u.key}.options.${e}`,n),value:k.value};C.value==u.default_value&&(C.title+=` [${f("settings.default")}]`),a.push(C)}return a},F=function(u){return(f(`settings.${u?.key}.description`,u.description||" ")||u.help_link||" ")?.length>1};return(u,a)=>(S(),j(ae,null,[p.value?(S(),B(ml,{key:0,ref_key:"form",ref:V,modelValue:w.value,"onUpdate:modelValue":a[2]||(a[2]=k=>w.value=k),disabled:u.disabled},{default:T(()=>[c(fl,{modelValue:y.value,"onUpdate:modelValue":a[1]||(a[1]=k=>y.value=k),variant:"accordion",multiple:"",flat:""},{default:T(()=>[(S(!0),j(ae,null,xe(A.value,k=>(S(),B(pl,{key:k,value:k,flat:"",accordion:"",class:"configrowpanel"},{default:T(()=>[c(bl,null,{default:T(()=>[b("h3",null,K(i(f)("settings.category."+k,k)),1)]),_:2},1024),a[18]||(a[18]=b("br",null,null,-1)),c(gl,null,{default:T(()=>[(S(!0),j(ae,null,xe(p.value.filter(e=>e.category==k&&!e.hidden),e=>(S(),j("div",{key:e.key,class:"configrow"},[b("div",Pl,[e.type==i(E).DIVIDER?(S(),j("div",Nl,[a[7]||(a[7]=b("br",null,null,-1)),c(Ie),e.label?(S(),B(hl,{key:0,style:{"margin-left":"8px","margin-top":"10px","margin-bottom":"10px"}},{default:T(()=>[b("b",null,K(e.label),1)]),_:2},1024)):de("",!0),a[8]||(a[8]=b("br",null,null,-1)),a[9]||(a[9]=b("br",null,null,-1))])):e.type==i(E).LABEL?(S(),j("div",Bl,[a[10]||(a[10]=b("br",null,null,-1)),c(we,{variant:"outlined",type:"info"},{default:T(()=>[z(K(i(f)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[11]||(a[11]=b("br",null,null,-1)),a[12]||(a[12]=b("br",null,null,-1))])):e.type==i(E).ALERT?(S(),j("div",Kl,[a[13]||(a[13]=b("br",null,null,-1)),c(we,{density:"compact",type:"warning"},{default:T(()=>[z(K(i(f)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[14]||(a[14]=b("br",null,null,-1)),a[15]||(a[15]=b("br",null,null,-1))])):e.type==i(E).ACTION||e.action&&!e.value?(S(),j("div",ql,[a[16]||(a[16]=b("br",null,null,-1)),c(_,{class:"actionbutton",disabled:U(e),onClick:n=>{Y(e.action||e.key),e.value=e.action?null:e.key}},{default:T(()=>[z(K(i(f)(`settings.${e.action||e.key}.label`,e.action_label||e.label)),1)]),_:2},1032,["disabled","onClick"])])):e.type==i(E).DSP_SETTINGS?(S(),j("div",Gl,[a[17]||(a[17]=b("br",null,null,-1)),z(" "+K(e.value?i(f)("settings.dsp_enabled"):i(f)("settings.dsp_disabled"))+" ",1),c(_,{class:"actionbutton",onClick:r},{default:T(()=>[z(K(i(f)("open_dsp_settings")),1)]),_:1})])):e.type==i(E).BOOLEAN?(S(),B(Sl,{key:5,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:i(f)(`settings.${e.key}.label`,e.label),color:"primary",disabled:U(e)},null,8,["modelValue","onUpdate:modelValue","label","disabled"])):(e.type==i(E).INTEGER||e.type==i(E).FLOAT)&&e.range&&e.range.length==2?(S(),B(El,{key:6,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,disabled:U(e),label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,class:"align-center",min:e.range[0],max:e.range[1],step:e.type==i(E).FLOAT?.5:1,"hide-details":"",style:{"margin-top":"10px","margin-bottom":"25px"},color:"primary"},{append:T(()=>[c(le,{modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,"hide-details":"","single-line":"",density:"compact",type:"number",style:{width:"70px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","label","required","min","max","step"])):e.type==i(E).SECURE_STRING?(S(),B(le,{key:7,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,disabled:U(e),rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],type:h.value?"text":"password","append-inner-icon":h.value?"mdi-eye":typeof e.value=="string"&&e.value.includes(i(fe))?"":"mdi-eye-off",variant:"outlined",clearable:"",readonly:!!e.action,"onClick:appendInner":a[0]||(a[0]=n=>h.value=!h.value),"onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","label","required","disabled","rules","type","append-inner-icon","readonly","onClick:clear"])):e.options&&e.options.length>0?(S(),B(wl,{key:8,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,chips:e.multi_value,clearable:!0,multiple:e.multi_value,items:G(e),disabled:U(e),label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","chips","multiple","items","disabled","label","required","rules","onClick:clear"])):e.type==i(E).INTEGER||e.type==i(E).FLOAT?(S(),B(le,{key:9,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),disabled:U(e),label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],variant:"outlined",clearable:!e.required,type:"number","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","clearable","onClick:clear"])):e.type==i(E).ICON?(S(),B(le,{key:10,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),clearable:"",disabled:U(e),label:i(f)(`settings.${e.key}.label`,e.label),"prepend-inner-icon":e.value,variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","prepend-inner-icon","onClick:clear"])):e.type==i(E).STRING&&e.multi_value?(S(),B(Ol,{key:11,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,multiple:"",chips:"",clearable:!0,disabled:U(e),label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","disabled","label","required","rules","onClick:clear"])):(S(),B(le,{key:12,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),clearable:"",disabled:U(e),label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],variant:"outlined",readonly:!!e.action,"onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","readonly","onClick:clear"]))]),F(e)?(S(),j("div",Hl,[c(_,{icon:"mdi-help-box",variant:"plain",class:"helpicon",size:"x-large",onClick:n=>i(f)(`settings.${e?.key}.description`,e.description||"")?$.value=e:P(e.help_link)},null,8,["onClick"])])):de("",!0)]))),128))]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),a[19]||(a[19]=b("br",null,null,-1)),c(_,{block:"",color:"primary",disabled:!W.value,onClick:X},{default:T(()=>[z(K(i(f)("settings.save")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue","disabled"])):de("",!0),a[20]||(a[20]=b("br",null,null,-1)),c(_,{block:"",onClick:a[3]||(a[3]=k=>i(g).back())},{default:T(()=>[z(K(i(f)("close")),1)]),_:1}),c(Tl,{"model-value":$.value!==void 0,width:"auto","onUpdate:modelValue":a[6]||(a[6]=k=>$.value=void 0)},{default:T(()=>[c(dl,null,{default:T(()=>[c(Se,null,{default:T(()=>[b("h2",null,K(i(f)(`settings.${$.value?.key}.label`,$.value?.label||"")),1)]),_:1}),c(Se,{innerHTML:i(vl)(i(f)(`settings.${$.value?.key}.description`,$.value?.description||""))},null,8,["innerHTML"]),c(cl,null,{default:T(()=>[$.value?.help_link?(S(),B(_,{key:0,onClick:a[4]||(a[4]=k=>P($.value.help_link))},{default:T(()=>[z(K(i(f)("read_more")),1)]),_:1})):de("",!0),c(yl),c(_,{color:"primary",onClick:a[5]||(a[5]=k=>$.value=void 0)},{default:T(()=>[z(K(i(f)("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"])],64))}}),ia=$l(jl,[["__scopeId","data-v-4db42c7a"]]);export{ia as E};
@@ -1 +0,0 @@
1
- import{U as x,x as b,w as N,a0 as y,X as m,F as s,Y as u,bG as j,bi as B,ab as p,W as v,E as r,b1 as T,as as f,ad as d,a2 as l,a6 as o,b2 as c,cc as O,$ as C,bH as S}from"./index-B-lUZalq.js";import{E as D}from"./EditConfig-CH-Rsyh7.js";import{n as I}from"./index.browser-OxPLOBIU.js";import{b as U}from"./VBtn-BPJ1JKW-.js";import"./VForm-C-dO2GIE.js";import"./VInput-BWBQqjuk.js";import"./VExpansionPanels-CR_eBB13.js";import"./VAlert-QHTIcuEJ.js";import"./VSwitch-Bhk7qcAi.js";import"./VTextField-B-d5Pe9I.js";import"./VVirtualScroll-CceW16X7.js";import"./VSlider-BCIrn4it.js";import"./VDialog-CAgq0L03.js";import"./VSpacer-DDLrofv-.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const _={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},h=x({__name:"EditCoreConfig",props:{domain:{}},setup(k){const V=S(),t=b(),w=I(11),i=b(!1),E=k;N(()=>E.domain,async a=>{a&&(t.value=await o.getCoreConfig(a))},{immediate:!0});const M=async function(a){i.value=!0,o.saveCoreConfig(t.value.domain,a).then(()=>{i.value=!1,V.push({name:"providersettings"})}).catch(e=>{alert(e),i.value=!1})},$=async function(a,e){i.value=!0;for(const n of Object.values(t.value.values))n.value!==void 0&&e[n.key]==null&&(e[n.key]=n.value);e.session_id=w,o.getCoreConfigEntries(t.value.domain,a,e).then(n=>{t.value.values={};for(const g of n)t.value.values[g.key]=g;i.value=!1}).catch(n=>{alert(n),i.value=!1})};return(a,e)=>(m(),y("section",null,[s(j,null,{default:u(()=>[t.value?(m(),y("div",_,[s(T,null,{default:u(()=>[f(d(a.$t("settings.setup_provider",[l(o).providerManifests[t.value.domain].name])),1)]),_:1}),s(c,null,{default:u(()=>[f(d(l(o).providerManifests[t.value.domain].description),1)]),_:1}),e[3]||(e[3]=r("br",null,null,-1)),l(o).providerManifests[t.value.domain].codeowners.length?(m(),v(c,{key:0},{default:u(()=>[r("b",null,d(a.$t("settings.codeowners"))+": ",1),f(d(l(o).providerManifests[t.value.domain].codeowners.join(" / ")),1)]),_:1})):p("",!0),l(o).providerManifests[t.value.domain].documentation?(m(),v(c,{key:1},{default:u(()=>[r("b",null,d(a.$t("settings.need_help_setup_provider")),1),e[2]||(e[2]=f("  ",-1)),r("a",{onClick:e[0]||(e[0]=n=>l(O)(l(o).providerManifests[t.value.domain].documentation))},d(a.$t("settings.check_docs")),1)]),_:1})):p("",!0),e[4]||(e[4]=r("br",null,null,-1)),s(C),e[5]||(e[5]=r("br",null,null,-1)),e[6]||(e[6]=r("br",null,null,-1))])):p("",!0),s(C),t.value?(m(),v(D,{key:1,"config-entries":Object.values(t.value.values),disabled:!1,onSubmit:M,onAction:$},null,8,["config-entries"])):p("",!0)]),_:1}),s(B,{modelValue:i.value,"onUpdate:modelValue":e[1]||(e[1]=n=>i.value=n),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:u(()=>[s(U,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{h as default};
@@ -1 +0,0 @@
1
- import{U as $,x as P,a6 as t,aY as I,b as U,c as w,bb as g,cd as _,aT as E,w as L,a0 as c,X as i,F as d,Y as o,bG as M,ab as u,E as s,W as p,a2 as r,b1 as B,as as y,ad as n,b2 as v,cc as N,$ as V,bH as h}from"./index-B-lUZalq.js";import{E as G}from"./EditConfig-CH-Rsyh7.js";import{V as O}from"./VTextField-B-d5Pe9I.js";import{V as R}from"./VSwitch-Bhk7qcAi.js";import"./VForm-C-dO2GIE.js";import"./VInput-BWBQqjuk.js";import"./VExpansionPanels-CR_eBB13.js";import"./VAlert-QHTIcuEJ.js";import"./VBtn-BPJ1JKW-.js";import"./VSlider-BCIrn4it.js";import"./VVirtualScroll-CceW16X7.js";import"./VDialog-CAgq0L03.js";import"./VSpacer-DDLrofv-.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const A={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},te=$({__name:"EditPlayer",props:{playerId:{}},setup(k){const D=h(),e=P(),f=k,b=P(!1);(async()=>{if(f.playerId)try{b.value=(await t.getDSPConfig(f.playerId)).enabled}catch(a){console.error("Error fetching DSP config:",a)}})();const S=t.subscribe(I.PLAYER_DSP_CONFIG_UPDATED,a=>{b.value=a.data.enabled});U(S);const C=w(()=>{if(!e.value)return[];const a=Object.values(e.value.values),l=t.players[e.value.player_id];return l&&l.type!==g.GROUP?a.push({key:"dsp_settings",type:_.DSP_SETTINGS,label:"",default_value:b.value,required:!1,category:"audio"}):l&&l.type===g.GROUP&&l.supported_features.includes(E.MULTI_DEVICE_DSP)?a.push({key:"dsp_note_multi_device_group",type:_.LABEL,label:"You can configure the DSP for each player individually.",default_value:null,required:!1,category:"audio"}):l&&l.type===g.GROUP&&!l.supported_features.includes(E.MULTI_DEVICE_DSP)&&a.push({key:"dsp_note_multi_device_group_not_supported",type:_.LABEL,label:"This group type does not support DSP when playing to multiple devices.",default_value:null,required:!1,category:"audio"}),a});L(()=>f.playerId,async a=>{a&&(e.value=await t.getPlayerConfig(a))},{immediate:!0});const T=async function(a){delete a.dsp_settings,a.enabled=e.value.enabled,a.name=e.value.name||null,t.savePlayerConfig(f.playerId,a),D.push({name:"playersettings"})};return(a,l)=>(i(),c("section",null,[d(M,null,{default:o(()=>[e.value&&r(t).getProviderManifest(e.value.provider).domain in r(t).providerManifests?(i(),c("div",A,[d(B,null,{default:o(()=>[y(n(a.$t("settings.config_player",[e.value.name||r(t).players[e.value.player_id]?.name||e.value.default_name])),1)]),_:1}),d(v,null,{default:o(()=>[s("b",null,n(a.$t("settings.player_id"))+": ",1),y(n(e.value.player_id),1)]),_:1}),d(v,null,{default:o(()=>[s("b",null,n(a.$t("settings.player_provider"))+": ",1),y(n(r(t).getProviderManifest(e.value.provider)?.name)+" ",1),r(t).getProviderManifest(e.value.provider)?.documentation?(i(),c("a",{key:0,onClick:l[0]||(l[0]=m=>r(N)(r(t).getProviderManifest(e.value.provider)?.documentation))}," ["+n(a.$t("settings.check_docs"))+"]",1)):u("",!0)]),_:1}),r(t).players[e.value.player_id]?(i(),p(v,{key:0},{default:o(()=>[s("b",null,n(a.$t("settings.player_model"))+": ",1),y(n(r(t).players[e.value.player_id].device_info.manufacturer)+" / "+n(r(t).players[e.value.player_id].device_info.model),1)]),_:1})):u("",!0),r(t).players[e.value.player_id]?.device_info.ip_address?(i(),p(v,{key:1},{default:o(()=>[s("b",null,n(a.$t("settings.player_address"))+": ",1),y(n(r(t).players[e.value.player_id].device_info.ip_address),1)]),_:1})):u("",!0),r(t).players[e.value.player_id]?(i(),p(v,{key:2},{default:o(()=>[s("b",null,n(a.$t("settings.player_type_label"))+": ",1),y(n(a.$t(`player_type.${r(t).players[e.value.player_id].type}`)),1)]),_:1})):u("",!0),l[3]||(l[3]=s("br",null,null,-1)),d(V),l[4]||(l[4]=s("br",null,null,-1)),l[5]||(l[5]=s("br",null,null,-1)),"name"in e.value?(i(),p(O,{key:3,modelValue:e.value.name,"onUpdate:modelValue":l[1]||(l[1]=m=>e.value.name=m),placeholder:e.value?.name,label:a.$t("settings.player_name"),variant:"outlined",clearable:"",class:"configcolumnleft",style:{"margin-right":"25px"}},null,8,["modelValue","placeholder","label"])):u("",!0),"enabled"in e.value?(i(),p(R,{key:4,modelValue:e.value.enabled,"onUpdate:modelValue":l[2]||(l[2]=m=>e.value.enabled=m),label:a.$t("settings.enable_player"),color:"primary",disabled:r(t).getProviderManifest(e.value.provider)?.builtin},null,8,["modelValue","label","disabled"])):u("",!0)])):u("",!0),l[6]||(l[6]=s("br",null,null,-1)),d(V),e.value?(i(),p(G,{key:1,disabled:!e.value.enabled,"config-entries":C.value,onSubmit:T},null,8,["disabled","config-entries"])):u("",!0)]),_:1})]))}});export{te as default};
@@ -1,9 +0,0 @@
1
- import{g as Fe,p as qe,cf as il,k as Be,n as ol,l as rl,D as De,E as z,ag as ie,ah as Q,F as l,ar as K,S as ul,M as Qe,cg as Ke,L as Ye,P as we,ca as Xe,af as dl,s as ml,x as U,w as le,a as he,K as Je,ai as pl,i as vl,am as cl,h as fl,B as gl,z as ee,c as j,J as yl,ap as _l,ch as hl,U as ge,al as Oe,W as $,X as c,Y as a,a0 as pe,bG as ae,as as f,ad as A,I as fe,a1 as Ee,a_ as Ze,a5 as bl,by as Vl,bz as Ie,aa as O,a9 as te,ci as L,cj as F,e as kl,o as Le,ab as W,a2 as b,bo as Cl,bp as Se,ck as Sl,R as Pe,bt as Pl,cl as ne,m as Ll,b5 as $l,a6 as se,aY as He,b as Tl,at as Al,a3 as Fl,bv as Ue,Z as ze,G as ql,b1 as xe,bA as Ne,bH as Dl}from"./index-B-lUZalq.js";import{a as B}from"./VBtn-BPJ1JKW-.js";import{_ as el}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as wl}from"./VSlider-BCIrn4it.js";import{V as ll}from"./VTextField-B-d5Pe9I.js";import{V as tl}from"./VContainer-DB65WVbe.js";import{a as be,V as $e}from"./VSwitch-Bhk7qcAi.js";import{V as al,a as Te}from"./VRow-BQOTE9C_.js";import{V as Ae}from"./VSpacer-DDLrofv-.js";import{V as We,a as Ge}from"./VToolbar-RljK0PC9.js";import{V as je}from"./VDialog-CAgq0L03.js";import{V as Ol}from"./VAlert-QHTIcuEJ.js";import"./VInput-BWBQqjuk.js";/* empty css */import"./VVirtualScroll-CceW16X7.js";const El=qe({dotColor:String,fillDot:Boolean,hideDot:Boolean,icon:Xe,iconColor:String,lineColor:String,...we(),...Ye(),...Ke(),...Qe()},"VTimelineDivider"),Il=Fe()({name:"VTimelineDivider",props:El(),setup(t,S){let{slots:V}=S;const{sizeClasses:g,sizeStyles:s}=il(t,"v-timeline-divider__dot"),{backgroundColorStyles:D,backgroundColorClasses:m}=Be(()=>t.dotColor),{roundedClasses:H}=ol(t,"v-timeline-divider__dot"),{elevationClasses:w}=rl(t),{backgroundColorClasses:x,backgroundColorStyles:u}=Be(()=>t.lineColor);return De(()=>z("div",{class:Q(["v-timeline-divider",{"v-timeline-divider--fill-dot":t.fillDot},t.class]),style:ie(t.style)},[z("div",{class:Q(["v-timeline-divider__before",x.value]),style:ie(u.value)},null),!t.hideDot&&z("div",{key:"dot",class:Q(["v-timeline-divider__dot",w.value,H.value,g.value]),style:ie(s.value)},[z("div",{class:Q(["v-timeline-divider__inner-dot",m.value,H.value]),style:ie(D.value)},[V.default?l(ul,{key:"icon-defaults",disabled:!t.icon,defaults:{VIcon:{color:t.iconColor,icon:t.icon,size:t.size}}},V.default):l(K,{key:"icon",color:t.iconColor,icon:t.icon,size:t.size},null)])]),z("div",{class:Q(["v-timeline-divider__after",x.value]),style:ie(u.value)},null)])),{}}}),nl=qe({density:String,dotColor:String,fillDot:Boolean,hideDot:Boolean,hideOpposite:{type:Boolean,default:void 0},icon:Xe,iconColor:String,lineInset:[Number,String],side:{type:String,validator:t=>t==null||["start","end"].includes(t)},...we(),...pl(),...Qe(),...Ye(),...Ke(),...Je()},"VTimelineItem"),me=Fe()({name:"VTimelineItem",props:nl(),setup(t,S){let{slots:V}=S;const{dimensionStyles:g}=dl(t),s=ml(0),D=U();return le(D,m=>{m&&(s.value=m.$el.querySelector(".v-timeline-divider__dot")?.getBoundingClientRect().width??0)},{flush:"post"}),De(()=>z("div",{class:Q(["v-timeline-item",{"v-timeline-item--fill-dot":t.fillDot,"v-timeline-item--side-start":t.side==="start","v-timeline-item--side-end":t.side==="end"},t.class]),style:ie([{"--v-timeline-dot-size":he(s.value),"--v-timeline-line-inset":t.lineInset?`calc(var(--v-timeline-dot-size) / 2 + ${he(t.lineInset)})`:he(0)},t.style])},[z("div",{class:"v-timeline-item__body",style:ie(g.value)},[V.default?.()]),l(Il,{ref:D,hideDot:t.hideDot,icon:t.icon,iconColor:t.iconColor,size:t.size,elevation:t.elevation,dotColor:t.dotColor,fillDot:t.fillDot,rounded:t.rounded},{default:V.icon}),t.density!=="compact"&&z("div",{class:"v-timeline-item__opposite"},[!t.hideOpposite&&V.opposite?.()])])),{}}}),Rl=qe({align:{type:String,default:"center",validator:t=>["center","start"].includes(t)},direction:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)},justify:{type:String,default:"auto",validator:t=>["auto","center"].includes(t)},side:{type:String,validator:t=>t==null||["start","end"].includes(t)},lineThickness:{type:[String,Number],default:2},lineColor:String,truncateLine:{type:String,validator:t=>["start","end","both"].includes(t)},...hl(nl({lineInset:0}),["dotColor","fillDot","hideOpposite","iconColor","lineInset","size"]),...we(),..._l(),...Je(),...yl()},"VTimeline"),Ml=Fe()({name:"VTimeline",props:Rl(),setup(t,S){let{slots:V}=S;const{themeClasses:g}=vl(t),{densityClasses:s}=cl(t),{rtlClasses:D}=fl();gl({VTimelineDivider:{lineColor:ee(()=>t.lineColor)},VTimelineItem:{density:ee(()=>t.density),dotColor:ee(()=>t.dotColor),fillDot:ee(()=>t.fillDot),hideOpposite:ee(()=>t.hideOpposite),iconColor:ee(()=>t.iconColor),lineColor:ee(()=>t.lineColor),lineInset:ee(()=>t.lineInset),size:ee(()=>t.size)}});const m=j(()=>{const w=t.side?t.side:t.density!=="default"?"end":null;return w&&`v-timeline--side-${w}`}),H=j(()=>{const w=["v-timeline--truncate-line-start","v-timeline--truncate-line-end"];switch(t.truncateLine){case"both":return w;case"start":return w[0];case"end":return w[1];default:return null}});return De(()=>l(t.tag,{class:Q(["v-timeline",`v-timeline--${t.direction}`,`v-timeline--align-${t.align}`,`v-timeline--justify-${t.justify}`,H.value,{"v-timeline--inset-line":!!t.lineInset},g.value,s.value,m.value,D.value,t.class]),style:ie([{"--v-timeline-line-thickness":he(t.lineThickness)},t.style])},V)),{}}}),Bl=ge({__name:"DSPPipeline",props:{dsp:{},selected:{}},emits:["onSelect","onAddFilter","onMoveFilter","onDeleteFilter"],setup(t,{emit:S}){const V=Oe(),g=t,s=S,D=y=>g.selected===y?"primary":"secondary",m=y=>y==="input"||y==="output"?!1:!g.dsp.filters[y].enabled,H=y=>g.selected===y?"primary":V.global.current.value.dark?"grey-darken-3":"grey-lighten-3",w=y=>({"filter-selected":g.selected===y}),x=y=>{s("onSelect",y)},u=(y,E)=>{s("onMoveFilter",{index:y,direction:E})},C=y=>{s("onDeleteFilter",y)},M=function(y,E){const q=[{label:"settings.dsp.move_up",labelArgs:[],action:()=>{u(E,"up")},disabled:E===0,icon:"mdi-arrow-up"},{label:"settings.dsp.move_down",labelArgs:[],action:()=>{u(E,"down")},disabled:E===g.dsp.filters.length-1,icon:"mdi-arrow-down"},{label:"settings.dsp.delete_filter",labelArgs:[],action:()=>{C(E)},icon:"mdi-delete"}];bl.emit("contextmenu",{items:q,posX:y.clientX,posY:y.clientY})};return(y,E)=>(c(),$(Ml,{density:"compact",side:"end"},{default:a(()=>[l(me,{"dot-color":D("input"),size:"x-small",onClick:E[0]||(E[0]=q=>x("input"))},{default:a(()=>[l(B,{flat:"",rounded:"pill",color:H("input"),class:Q([w("input"),"dsp-pipeline-card"])},{default:a(()=>[l(ae,{class:"px-3 py-1"},{default:a(()=>[f(A(y.$t("settings.dsp.input")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"]),l(me,{"hide-dot":!0,size:"x-small"}),(c(!0),pe(fe,null,Ee(y.dsp.filters,(q,I)=>(c(),$(me,{key:I,"dot-color":D(I),size:"x-small","hide-dot":m(I),onClick:oe=>x(I),onContextmenu:Ze(oe=>M(oe,I),["prevent"])},{default:a(()=>[l(B,{flat:"",rounded:"pill",color:H(I),class:Q([w(I),"dsp-pipeline-card"])},{default:a(()=>[l(ae,{class:"px-3 py-1"},{default:a(()=>[f(A(y.$t(`settings.dsp.types.${q.type}`)),1)]),_:2},1024)]),_:2},1032,["color","class"])]),_:2},1032,["dot-color","hide-dot","onClick","onContextmenu"]))),128)),l(me,{"dot-color":"secondary",size:"x-small","hide-dot":!0},{default:a(()=>[l(B,{outlined:"",rounded:"pill",class:"dsp-pipeline-card add-filter-btn",elevation:0,onClick:E[1]||(E[1]=q=>s("onAddFilter"))},{default:a(()=>[l(ae,{class:"py-1 d-flex align-center"},{default:a(()=>[l(K,{size:"small",class:"mr-1"},{default:a(()=>[...E[3]||(E[3]=[f("mdi-plus",-1)])]),_:1}),f(" "+A(y.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1}),l(me,{"hide-dot":!0,size:"x-small"}),l(me,{"dot-color":D("output"),size:"x-small",onClick:E[2]||(E[2]=q=>x("output"))},{default:a(()=>[l(B,{flat:"",rounded:"pill",color:H("output"),class:Q([w("output"),"dsp-pipeline-card"])},{default:a(()=>[l(ae,{class:"px-3 py-1"},{default:a(()=>[f(A(y.$t("settings.dsp.output")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"])]),_:1}))}}),Hl=el(Bl,[["__scopeId","data-v-0e0b8e42"]]),Ul={style:{"min-width":"100px"},class:"v-label pl-2"},zl={style:{"min-width":"40px"},class:"pl-2"},J=ge({__name:"DSPSlider",props:Vl({type:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const S=t,V=Ie(t,"modelValue"),g=U(!1),s=j(()=>S.type==="gain"?{min:-15,max:15,step:.1,label:O("settings.dsp.parameter.gain"),unit:"dB",is_log:!1}:S.type==="q"?{min:.1,max:20,step:.1,label:O("settings.dsp.parameter.q_factor"),unit:"",is_log:!1}:S.type==="frequency"?{min:20,max:2e4,step:1,label:O("settings.dsp.parameter.frequency"),unit:"Hz",is_log:!0}:S.type),D=j({get:()=>g.value?V.value.toString():V.value>1e3?V.value.toFixed(0):V.value>100?V.value.toFixed(1):V.value.toFixed(2),set:u=>{V.value=Number(u)}}),m=j({get:()=>s.value.is_log?Math.log10(V.value):V.value,set:u=>{s.value.is_log?V.value=Math.pow(10,u):V.value=u}}),H=j(()=>s.value.is_log?Math.log10(s.value.max):s.value.max),w=j(()=>s.value.is_log?Math.log10(s.value.min):s.value.min),x=j(()=>s.value.is_log?Math.log10(s.value.step):s.value.step);return(u,C)=>(c(),$(te,{flat:"",color:"transparent"},{default:a(()=>[l(ae,{class:"d-flex align-center gap-4"},{default:a(()=>[z("span",Ul,A(s.value.label),1),l(wl,{modelValue:m.value,"onUpdate:modelValue":C[0]||(C[0]=M=>m.value=M),min:w.value,max:H.value,step:x.value,"hide-details":"",class:"flex-grow-1 pr-4",density:"compact",color:"primary"},null,8,["modelValue","min","max","step"]),l(ll,{modelValue:D.value,"onUpdate:modelValue":C[1]||(C[1]=M=>D.value=M),type:"number","hide-details":"",density:"compact",style:{"max-width":"100px"},onFocus:C[2]||(C[2]=M=>g.value=!0),onBlur:C[3]||(C[3]=M=>g.value=!1)},null,8,["modelValue"]),z("span",zl,A(s.value.unit),1)]),_:1})]),_:1}))}}),xl={class:"d-flex flex-wrap justify-end align-center ga-2 pr-2"},Nl={class:"d-flex align-center pl-1"},Wl=ge({__name:"DSPParametricEQ",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const S={PK:L.PEAK,PEQ:L.PEAK,HP:L.HIGH_PASS,HPQ:L.HIGH_PASS,LP:L.LOW_PASS,LPQ:L.LOW_PASS,LS:L.LOW_SHELF,HS:L.HIGH_SHELF,NO:L.NOTCH},V={[L.PEAK]:"PK",[L.HIGH_PASS]:"HP",[L.LOW_PASS]:"LP",[L.LOW_SHELF]:"LS",[L.HIGH_SHELF]:"HS",[L.NOTCH]:"NO"},g=Object.entries(F).map(([n,e])=>({title:O(`settings.dsp.channels.${n}`),value:e})),s=n=>{const e=n.split(`
2
- `),o=[];let P=!1,T={},k=F.ALL;for(const d of e)if(d.startsWith("Channel:")){const v=d.match(/Channel:\s*(.+)/);if(v&&v[1]){const h=v[1].trim().toUpperCase();h==="ALL"||h==="1 2"||h==="L R"?k=F.ALL:h==="L"||h==="1"||h==="FL"?(k=F.FL,P=!0):(h==="R"||h==="2"||h==="FR")&&(k=F.FR,P=!0)}T[k]||(T[k]=0)}else if(d.startsWith("Filter")){const v=d.match(/Filter(?:\s+\d+)?:\s+(ON|OFF)\s+(\w+)\s+(?:Fc\s+)?(\d+\.?\d*)\s*(?:Hz)?\s+(?:Gain\s+)?(-?\d+\.?\d*)\s+dB\s+(?:(?:Q\s+)?(\d+\.?\d*)|(?:BW\s+Oct\s+)(\d+\.?\d*))/);if(v){const[h,Y,Z,Re,ke,Ce,X]=v;Z!=="None"&&o.push({frequency:parseFloat(Re),gain:parseFloat(ke),q:parseFloat(Ce),type:S[Z]||L.PEAK,enabled:Y==="ON",channel:k})}}else if(d.startsWith("Preamp")){const v=d.match(/Preamp:\s*(-?\d+\.?\d*)\s+dB/);v&&(T[k]=parseFloat(v[1]))}let _;P?_=u.value.bands.filter(d=>!o.some(v=>v.channel===d.channel||v.channel===F.ALL||d.channel===F.ALL)):R.value!==F.ALL?(_=u.value.bands.filter(d=>d.channel!==F.ALL&&d.channel!==R.value),T.ALL&&(T[R.value]=T.ALL,T.ALL=0),o.forEach(d=>{d.channel=R.value})):(_=[],u.value.per_channel_preamp={}),u.value.bands=[..._,...o],Object.keys(T).length>0?(T.ALL&&(u.value.preamp=T.ALL),Object.entries(T).forEach(([d,v])=>{d!==F.ALL&&(u.value.per_channel_preamp[d]=v)})):(u.value.preamp=0,u.value.per_channel_preamp={}),Pe(()=>{G.value=-1})},D=n=>{const e=n.target;if(e.files&&e.files[0]){const o=e.files[0],P=new FileReader;P.onload=T=>{T.target?.result&&s(T.target.result)},P.readAsText(o)}},m=U(null),H=()=>{m.value?.click()},w=()=>{let n="";if(n+=`Preamp: ${ve.value.toFixed(2)} dB
3
- `,re.value){const T=Object.values(F);for(const k of T){if(k===F.ALL)continue;const _=g.find(v=>v.value===k)?.title||k;n+=`
4
- # ${_}
5
- `,n+=`Channel: ${k===F.FL?"L":"R"}
6
- `,u.value.per_channel_preamp[k]!==void 0&&(n+=`Preamp: ${u.value.per_channel_preamp[k].toFixed(2)} dB
7
- `);let d=1;u.value.bands.forEach(v=>{if(v.channel===k||v.channel===F.ALL){const h=V[v.type];n+=`Filter ${d++}: ${v.enabled?"ON":"OFF"} ${h} Fc ${v.frequency.toFixed(1)} Hz Gain ${v.gain.toFixed(2)} dB Q ${v.q.toFixed(3)}
8
- `}})}}else u.value.bands.forEach((T,k)=>{const _=V[T.type];n+=`Filter ${k+1}: ${T.enabled?"ON":"OFF"} ${_} Fc ${T.frequency.toFixed(1)} Hz Gain ${T.gain.toFixed(2)} dB Q ${T.q.toFixed(3)}
9
- `});const e=new Blob([n],{type:"text/plain"}),o=URL.createObjectURL(e),P=document.createElement("a");P.href=o,P.download=`music_assistant_eq_settings_${new Date().toISOString().split("T")[0]}.txt`,document.body.appendChild(P),P.click(),document.body.removeChild(P),URL.revokeObjectURL(o)},x=Oe(),u=Ie(t,"modelValue"),C=U(null),M=U(null),y=Object.values(L).map(n=>({title:O(`settings.dsp.parametric_eq.filter_types.${n}`),value:n})),E=n=>![L.HIGH_PASS,L.LOW_PASS,L.NOTCH].includes(n),q=U({width:0,height:0,min_gain:-20,max_gain:20,min_freq:20,max_freq:2e4,padding_lr:40,padding_tb:20}),I=()=>{if(!C.value||!M.value)return;const n=x.global.current.value.dark,e=C.value.getContext("2d");if(!e)return;C.value.width=M.value.clientWidth*2,C.value.height=M.value.clientHeight*2,q.value.width=C.value.width/2,q.value.height=C.value.height/2,e.scale(2,2),e.clearRect(0,0,C.value.width,C.value.height),ce(e,q.value);const o=e.canvas.width/2;e.canvas.height/2;const P=(k,_,d)=>{let v=`hsla(${_*360/u.value.bands.length}, 60%, ${n?70:50}%, 0.5)`;d.beginPath(),_===G.value?(d.lineWidth=5,v=`hsla(${_*360/u.value.bands.length}, 70%, ${n?70:60}%, 1)`):d.lineWidth=2,d.strokeStyle=v;const h=new Float32Array(o);for(let X=0;X<o;X++)h[X]=r(X,q.value);const Y=new Float32Array(o),Z=new Float32Array(o);oe(ye,k).getFrequencyResponse(h,Y,Z);for(let X=q.value.padding_lr;X<o-q.value.padding_lr;X++){const sl=20*Math.log10(Y[X]),Me=p(sl,q.value);X===q.value.padding_lr?d.moveTo(X,Me):d.lineTo(X,Me)}d.stroke();const ke=i(k.frequency,q.value),Ce=p(k.gain,q.value);return d.beginPath(),d.fillStyle=v,d.arc(ke,Ce,6,0,2*Math.PI),d.fill(),{frequencies:h,magResponse:Y}},T=(k,_)=>{_.lineWidth=3,n?_.strokeStyle="#fff":_.strokeStyle="#000",_.beginPath();for(let d=q.value.padding_lr;d<o-q.value.padding_lr;d++){const v=p(k[d],q.value);d===q.value.padding_lr?_.moveTo(d,v):_.lineTo(d,v)}_.stroke()};if(R.value===F.ALL&&re.value){const k=Object.values(F).filter(d=>d!==F.ALL),_={};k.forEach(d=>{_[d]=new Float32Array(o).fill((u.value.preamp??0)+(u.value.per_channel_preamp[d]??0))}),u.value.bands.forEach((d,v)=>{if(d.enabled){const{magResponse:h}=P(d,v,e);if(d.channel===F.ALL)k.forEach(Y=>{for(let Z=0;Z<o;Z++)_[Y][Z]+=20*Math.log10(h[Z])});else for(let Y=0;Y<o;Y++)_[d.channel][Y]+=20*Math.log10(h[Y])}}),k.forEach(d=>{T(_[d],e)})}else{const k=new Float32Array(o).fill((u.value.preamp??0)+(u.value.per_channel_preamp[R.value]??0));u.value.bands.forEach((_,d)=>{if(_.enabled&&_.channel===R.value||_.channel===F.ALL){const{magResponse:v}=P(_,d,e);for(let h=0;h<o;h++)k[h]+=20*Math.log10(v[h])}}),T(k,e)}},oe=(n,e)=>{const o=n.createBiquadFilter();switch(e.type){case L.HIGH_PASS:o.type="highpass";break;case L.LOW_PASS:o.type="lowpass";break;case L.HIGH_SHELF:o.type="highshelf";break;case L.LOW_SHELF:o.type="lowshelf";break;case L.NOTCH:o.type="notch";break;case L.PEAK:o.type="peaking";break}return o.frequency.value=e.frequency,o.Q.value=e.q,o.gain.value=e.gain,o},ye=new AudioContext;j(()=>u.value.bands.map(n=>oe(ye,n)));const re=j(()=>u.value.bands.some(n=>n.channel!==F.ALL)||Object.keys(u.value.per_channel_preamp).length>0&&Object.values(u.value.per_channel_preamp).some(n=>n!==0)),ue=U(!1),G=U(-1),R=U(F.ALL),N=j(()=>u.value.bands[G.value]),ve=j({get:()=>u.value.preamp??0,set:n=>{u.value.preamp=n}}),_e=j({get:()=>u.value.per_channel_preamp[R.value]??0,set:n=>{R.value!==F.ALL&&(u.value.per_channel_preamp[R.value]=n)}}),de=n=>{u.value.bands.splice(n,1),G.value>=u.value.bands.length&&Pe(()=>{G.value=u.value.bands.length-1})},Ve=()=>{const n=u.value.bands.length;u.value.bands.push({frequency:1e3,q:1,gain:0,type:L.PEAK,enabled:!0,channel:R.value}),Pe(()=>{G.value=n})};le(()=>u.value.preamp,I),le(()=>u.value.per_channel_preamp,I,{deep:!0}),le(()=>(G.value,u.value.bands),()=>{G.value>=u.value.bands.length&&(G.value=u.value.bands.length-1),I()},{deep:!0}),le(()=>R.value,I),le(()=>x.global.current.value.dark,I),kl(()=>{re.value&&(ue.value=!0)}),Le(()=>{I(),window.addEventListener("resize",I)});const i=(n,e)=>{const o=Math.log2(n/e.min_freq),P=Math.log2(e.max_freq/e.min_freq);return o/P*(e.width-e.padding_lr*2)+e.padding_lr},r=(n,e)=>{const o=Math.log2(e.max_freq/e.min_freq),P=e.min_freq*Math.pow(2,(n-e.padding_lr)/(e.width-e.padding_lr*2)*o);return Math.min(Math.max(P,e.min_freq),e.max_freq)},p=(n,e)=>e.height/2-n*(e.height-2*e.padding_tb)/(2*Math.max(Math.abs(e.min_gain),Math.abs(e.max_gain))),ce=(n,e)=>{const o=n.canvas.width/2,P=n.canvas.height/2;x.global.current.value.dark?(n.fillStyle="#eee",n.strokeStyle="#eee"):(n.fillStyle="#222",n.strokeStyle="#666"),n.lineWidth=1,[20,50,100,200,500,1e3,2e3,5e3,1e4,2e4].forEach(v=>{const h=i(v,e);n.beginPath(),n.moveTo(h,e.padding_tb),n.lineTo(h,P-e.padding_tb),n.stroke(),n.font="10px Arial",n.textAlign="center",n.fillText(v>=1e3?`${v/1e3}k`:v.toString(),h,P-5)});const _=e.max_gain-e.min_gain,d=Math.ceil(_/(e.height/30));for(let v=e.min_gain;v<=e.max_gain;v+=d){const h=p(v,e);n.beginPath(),n.moveTo(e.padding_lr,h),n.lineTo(o-e.padding_lr,h),n.stroke(),n.font="10px Arial",n.textAlign="right",n.fillText(`${v}dB`,e.padding_lr-3,h+3)}};return Le(()=>{const n=new ResizeObserver(()=>{I()});return M.value&&n.observe(M.value),()=>{n.disconnect()}}),(n,e)=>(c(),$(tl,{class:"pa-2"},{default:a(()=>[z("div",xl,[ue.value?(c(),$(be,{key:1,modelValue:R.value,"onUpdate:modelValue":e[1]||(e[1]=o=>R.value=o),class:"pa-2",items:b(g),label:b(O)("settings.dsp.parametric_eq.edited_channel"),variant:"outlined",density:"comfortable",style:{"min-width":"250px"},"hide-details":""},null,8,["modelValue","items","label"])):(c(),$(B,{key:0,variant:"outlined",onClick:e[0]||(e[0]=()=>{ue.value=!0})},{default:a(()=>[l(K,{start:""},{default:a(()=>[...e[12]||(e[12]=[f("mdi-speaker-multiple",-1)])]),_:1}),f(" "+A(b(O)("settings.dsp.parametric_eq.show_multichannel_controls")),1)]),_:1})),l(B,{variant:"outlined",onClick:H},{default:a(()=>[l(K,{start:""},{default:a(()=>[...e[13]||(e[13]=[f("mdi-file-import",-1)])]),_:1}),f(" "+A(b(O)("settings.dsp.parametric_eq.import_apo")),1)]),_:1}),l(B,{variant:"outlined",onClick:w},{default:a(()=>[l(K,{start:""},{default:a(()=>[...e[14]||(e[14]=[f("mdi-file-export",-1)])]),_:1}),f(" "+A(b(O)("settings.dsp.parametric_eq.export_apo")),1)]),_:1}),z("input",{ref_key:"fileInputRef",ref:m,type:"file",accept:".txt",class:"d-none",onChange:D},null,544)]),l(te,{elevation:"0",color:"transparent"},{default:a(()=>[z("div",{ref_key:"graphContainer",ref:M,class:"graph-container"},[z("canvas",{ref_key:"canvas",ref:C,class:"frequency-graph"},null,512)],512)]),_:1}),l(te,{elevation:"0",color:"transparent",class:"border-t border-b rounded-0"},{default:a(()=>[l(ae,{class:"pa-0"},{default:a(()=>[l(Cl,{modelValue:G.value,"onUpdate:modelValue":e[2]||(e[2]=o=>G.value=o),class:"mb-0 pa-2",mandatory:"","selected-class":"primary"},{default:a(()=>[(c(),$(Se,{key:-1,value:-1,filter:"",variant:"elevated"},{default:a(()=>[f(A(b(O)("settings.dsp.parametric_eq.preamp",{index:100})),1)]),_:1})),(c(!0),pe(fe,null,Ee(u.value.bands,(o,P)=>(c(),$(Se,{key:P,value:P,class:Q({"opacity-50":!o.enabled}),filter:"",variant:"elevated"},{default:a(()=>[f(A(o.channel===b(F).ALL?b(O)("settings.dsp.parametric_eq.band",{index:P+1}):b(O)("settings.dsp.parametric_eq.band_channel",{index:P+1,channel:b(O)(`settings.dsp.channels_compact.${o.channel}`)})),1)]),_:2},1032,["value","class"]))),128)),l(Se,{variant:"outlined",onClick:Ve},{default:a(()=>[l(K,{icon:"mdi-plus",start:""}),f(" "+A(R.value===b(F).ALL?b(O)("settings.dsp.parametric_eq.add_band"):b(O)("settings.dsp.parametric_eq.add_band_channel",{channel:b(O)(`settings.dsp.channels.${R.value}`)})),1)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),G.value===-1?(c(),$(te,{key:0,elevation:"0",color:"transparent"},{default:a(()=>[l(ae,null,{default:a(()=>[l(al,{dense:""},{default:a(()=>[l(Te,{cols:"12"},{default:a(()=>[l(J,{modelValue:ve.value,"onUpdate:modelValue":e[3]||(e[3]=o=>ve.value=o),type:"gain"},null,8,["modelValue"]),R.value!==b(F).ALL?(c(),$(J,{key:0,modelValue:_e.value,"onUpdate:modelValue":e[4]||(e[4]=o=>_e.value=o),type:{min:-15,max:15,step:.1,label:b(O)("settings.dsp.parametric_eq.per_channel_preamp",{channel:b(O)(`settings.dsp.channels.${R.value}`)}),unit:"dB",is_log:!1}},null,8,["modelValue","type"])):W("",!0)]),_:1})]),_:1})]),_:1})]),_:1})):W("",!0),N.value?(c(),pe(fe,{key:1},[l(Sl,null,{default:a(()=>[z("div",Nl,[l($e,{modelValue:N.value.enabled,"onUpdate:modelValue":e[5]||(e[5]=o=>N.value.enabled=o),label:b(O)("settings.dsp.parametric_eq.enable_band"),density:"comfortable","hide-details":"",color:"primary"},null,8,["modelValue","label"]),l(Ae),l(B,{color:"error",variant:"tonal",onClick:e[6]||(e[6]=o=>de(G.value))},{default:a(()=>[l(K,null,{default:a(()=>[...e[15]||(e[15]=[f("mdi-delete",-1)])]),_:1}),f(" "+A(b(O)("settings.dsp.parametric_eq.delete_band")),1)]),_:1})])]),_:1}),l(be,{modelValue:N.value.type,"onUpdate:modelValue":e[7]||(e[7]=o=>N.value.type=o),items:b(y),label:b(O)("settings.dsp.parametric_eq.filter_type"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"]),l(J,{modelValue:N.value.frequency,"onUpdate:modelValue":e[8]||(e[8]=o=>N.value.frequency=o),type:"frequency"},null,8,["modelValue"]),E(N.value.type)?(c(),$(J,{key:0,modelValue:N.value.gain,"onUpdate:modelValue":e[9]||(e[9]=o=>N.value.gain=o),type:"gain"},null,8,["modelValue"])):W("",!0),l(J,{modelValue:N.value.q,"onUpdate:modelValue":e[10]||(e[10]=o=>N.value.q=o),type:"q"},null,8,["modelValue"]),ue.value?(c(),$(be,{key:1,modelValue:N.value.channel,"onUpdate:modelValue":e[11]||(e[11]=o=>N.value.channel=o),items:b(g),label:b(O)("settings.dsp.parametric_eq.channel"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"])):W("",!0)],64)):W("",!0)]),_:1}))}}),Gl=el(Wl,[["__scopeId","data-v-ac29d681"]]),jl=ge({__name:"DSPToneControl",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const S=Ie(t,"modelValue");return(V,g)=>(c(),pe(fe,null,[l(J,{modelValue:S.value.bass_level,"onUpdate:modelValue":g[0]||(g[0]=s=>S.value.bass_level=s),type:{min:-10,max:10,step:.1,label:V.$t("settings.dsp.tone_control.bass_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"]),l(J,{modelValue:S.value.mid_level,"onUpdate:modelValue":g[1]||(g[1]=s=>S.value.mid_level=s),type:{min:-10,max:10,step:.1,label:V.$t("settings.dsp.tone_control.mid_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"]),l(J,{modelValue:S.value.treble_level,"onUpdate:modelValue":g[2]||(g[2]=s=>S.value.treble_level=s),type:{min:-10,max:10,step:.1,label:V.$t("settings.dsp.tone_control.treble_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"])],64))}}),Ql={key:0},Kl={class:"d-none d-md-inline"},Yl={class:"d-none d-md-inline"},pt=ge({__name:"EditPlayerDsp",props:{playerId:{}},setup(t){const{t:S}=Pl();Dl();const V=Oe(),g=t,s=U(),D=U([]),m=U(null),H=U(!1),w=U(!1),x=U(ne.PARAMETRIC_EQ),u=U("");U(window.innerWidth);const{mobile:C}=Ll();let M=!1,y;const E=Object.values(ne).map(i=>({value:i,title:S(`settings.dsp.types.${i}`)})),q=()=>V.global.current.value.dark?"bg-grey-darken-3":"bg-grey-lighten-3",I=i=>{m.value=i},oe=i=>S(i==="input"?"settings.dsp.input":i==="output"?"settings.dsp.output":`settings.dsp.types.${s.value?.filters[i].type}`),ye=()=>{if(!s.value)return;let i;switch(x.value){case ne.PARAMETRIC_EQ:i={preamp:0,per_channel_preamp:{},enabled:!0,type:ne.PARAMETRIC_EQ,bands:[]};break;case ne.TONE_CONTROL:i={enabled:!0,type:ne.TONE_CONTROL,bass_level:0,mid_level:0,treble_level:0};break;default:return}s.value.filters.push(i),H.value=!1,I(s.value.filters.length-1)},re=(i,r)=>{if(!s.value)return;const p=r==="up"?i-1:i+1;if(p<0||p>=s.value.filters.length)return;const[ce]=s.value.filters.splice(i,1);s.value.filters.splice(p,0,ce),m.value===i?m.value=p:m.value===p&&(m.value=i)},ue=i=>{m.value===i&&(m.value="input"),s.value?.filters.splice(i,1)},G=async i=>{!i||!i.config||(m.value="input",s.value=i.config)},R=async()=>{if(!s.value||!u.value.trim())return;const i={name:u.value.trim(),config:s.value};try{await se.saveDSPPreset(i),u.value="",w.value=!1}catch(r){console.error("Failed to save DSP preset:",r)}},N=async i=>{!i||!confirm(S("settings.dsp.presets.remove_confirm"))||(await se.removeDSPPreset(i),D.value=D.value.filter(r=>r.preset_id!==i))};le(C,i=>{!i&&m.value===null&&I("input")},{immediate:!0});const ve=j(()=>$l(se.players[g.playerId],27));le(()=>g.playerId,async i=>{y&&y(),M=!0,i&&(s.value=await se.getDSPConfig(i)),y=se.subscribe(He.PLAYER_DSP_CONFIG_UPDATED,r=>{M=!0,s.value=r.data},g.playerId)},{immediate:!0});const _e=se.subscribe(He.DSP_PRESETS_UPDATED,i=>{D.value=i.data});Le(async()=>{D.value=await se.getDSPPresets()}),Tl(()=>{y&&y(),_e()});let de=null;const Ve=i=>{de&&clearTimeout(de),de=setTimeout(async()=>{g.playerId&&await se.saveDSPConfig(g.playerId,i)},2e3)};return le(s,(i,r)=>{if(M){de&&clearTimeout(de),M=!1;return}r!==null&&i&&Ve(i)},{deep:!0}),(i,r)=>s.value?(c(),pe("section",Ql,[l(We,{color:"transparent",class:"border-b pr-4"},{default:a(()=>[l($e,{modelValue:s.value.enabled,"onUpdate:modelValue":r[0]||(r[0]=p=>s.value.enabled=p),"hide-details":"",color:"primary",class:"pl-4"},null,8,["modelValue"]),l(Ge,null,{default:a(()=>[f(A(i.$t("settings.dsp.configure_on",{name:ve.value})),1)]),_:1}),l(Al,{"offset-y":"",transition:"slide-y-transition"},{activator:a(({props:p})=>[l(B,ql(p,{class:["mr-4",q()]}),{default:a(()=>[l(K,{class:"p-0 ms-md-n1 me-md-2"},{default:a(()=>[...r[19]||(r[19]=[f(" mdi-tray-arrow-down ",-1)])]),_:1}),z("span",Kl,A(i.$t("settings.dsp.presets.load")),1)]),_:1},16,["class"])]),default:a(()=>[l(Fl,null,{default:a(()=>[D.value.length===0?(c(),$(ze,{key:0},{default:a(()=>[l(Ue,null,{default:a(()=>[f(A(i.$t("settings.dsp.presets.empty_warning")),1)]),_:1})]),_:1})):(c(!0),pe(fe,{key:1},Ee(D.value,p=>(c(),$(ze,{key:p.preset_id,onClick:ce=>G(p)},{append:a(()=>[l(B,{icon:"mdi-delete",variant:"text",density:"compact",onClick:Ze(ce=>N(p.preset_id),["stop"])},null,8,["onClick"])]),default:a(()=>[l(Ue,null,{default:a(()=>[f(A(p.name),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1}),l(B,{class:Q(q()),onClick:r[1]||(r[1]=p=>w.value=!0)},{default:a(()=>[l(K,{class:"p-0 ms-md-n1 me-md-2"},{default:a(()=>[...r[20]||(r[20]=[f(" mdi-content-save ",-1)])]),_:1}),z("span",Yl,A(i.$t("settings.dsp.presets.save")),1)]),_:1},8,["class"])]),_:1}),l(tl,{class:"pa-4"},{default:a(()=>[s.value.enabled?W("",!0):(c(),$(Ol,{key:0,type:"info",class:"mt-4",color:"transparent"},{default:a(()=>[f(A(i.$t("settings.dsp.disabled_message")),1)]),_:1})),l(al,{class:Q([{"justify-center":b(C)},"flex-nowrap"])},{default:a(()=>[!b(C)||m.value===null?(c(),$(Te,{key:0,class:Q(["flex-grow-0 flex-shrink-0",{"border-e pr-4":!b(C)}]),"align-self":"start"},{default:a(()=>[l(Hl,{dsp:s.value,selected:m.value,onOnSelect:I,onOnAddFilter:r[2]||(r[2]=p=>H.value=!0),onOnMoveFilter:r[3]||(r[3]=p=>re(p.index,p.direction)),onOnDeleteFilter:ue},null,8,["dsp","selected"])]),_:1},8,["class"])):W("",!0),m.value!=null?(c(),$(Te,{key:1,style:{"min-width":"0"}},{default:a(()=>[l(We,{density:"compact",color:i.$vuetify.theme.current.dark?"surface":"surface-light",class:"border-b"},{default:a(()=>[b(C)?(c(),$(B,{key:0,class:"hidden-xs-only",icon:"",onClick:r[4]||(r[4]=p=>m.value=null)},{default:a(()=>[l(K,null,{default:a(()=>[...r[21]||(r[21]=[f("mdi-arrow-left",-1)])]),_:1})]),_:1})):W("",!0),l(Ge,null,{default:a(()=>[f(A(oe(m.value)),1)]),_:1}),typeof m.value=="number"&&!b(C)&&m.value>0?(c(),$(B,{key:1,icon:"",onClick:r[5]||(r[5]=p=>re(m.value,"up"))},{default:a(()=>[l(K,null,{default:a(()=>[...r[22]||(r[22]=[f("mdi-arrow-up",-1)])]),_:1})]),_:1})):W("",!0),typeof m.value=="number"&&!b(C)&&m.value<s.value.filters.length-1?(c(),$(B,{key:2,icon:"",onClick:r[6]||(r[6]=p=>re(m.value,"down"))},{default:a(()=>[l(K,null,{default:a(()=>[...r[23]||(r[23]=[f("mdi-arrow-down",-1)])]),_:1})]),_:1})):W("",!0),typeof m.value=="number"?(c(),$($e,{key:3,modelValue:s.value.filters[m.value].enabled,"onUpdate:modelValue":r[7]||(r[7]=p=>s.value.filters[m.value].enabled=p),"hide-details":"",color:"primary",class:"mr-4"},null,8,["modelValue"])):W("",!0),typeof m.value=="number"?(c(),$(B,{key:4,icon:"",onClick:r[8]||(r[8]=p=>ue(m.value))},{default:a(()=>[l(K,null,{default:a(()=>[...r[24]||(r[24]=[f("mdi-delete",-1)])]),_:1})]),_:1})):W("",!0)]),_:1},8,["color"]),m.value==="input"?(c(),$(te,{key:0,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(J,{modelValue:s.value.input_gain,"onUpdate:modelValue":r[9]||(r[9]=p=>s.value.input_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):m.value==="output"?(c(),$(te,{key:1,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(J,{modelValue:s.value.output_gain,"onUpdate:modelValue":r[10]||(r[10]=p=>s.value.output_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):(c(),$(te,{key:2,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[s.value.filters[m.value].type===b(ne).PARAMETRIC_EQ?(c(),$(Gl,{key:0,modelValue:s.value.filters[m.value],"onUpdate:modelValue":r[11]||(r[11]=p=>s.value.filters[m.value]=p)},null,8,["modelValue"])):W("",!0),s.value.filters[m.value].type===b(ne).TONE_CONTROL?(c(),$(jl,{key:1,modelValue:s.value.filters[m.value],"onUpdate:modelValue":r[12]||(r[12]=p=>s.value.filters[m.value]=p)},null,8,["modelValue"])):W("",!0)]),_:1},8,["color"]))]),_:1})):W("",!0)]),_:1},8,["class"])]),_:1}),l(je,{modelValue:w.value,"onUpdate:modelValue":r[15]||(r[15]=p=>w.value=p),"max-width":"300"},{default:a(()=>[l(te,null,{default:a(()=>[l(xe,null,{default:a(()=>[f(A(i.$t("settings.dsp.presets.save")),1)]),_:1}),l(ae,null,{default:a(()=>[l(ll,{modelValue:u.value,"onUpdate:modelValue":r[13]||(r[13]=p=>u.value=p),label:i.$t("settings.dsp.presets.name"),placeholder:i.$t("settings.dsp.presets.name_placeholder"),variant:"outlined"},null,8,["modelValue","label","placeholder"])]),_:1}),l(Ne,null,{default:a(()=>[l(Ae),l(B,{onClick:r[14]||(r[14]=p=>w.value=!1)},{default:a(()=>[f(A(i.$t("cancel")),1)]),_:1}),l(B,{color:"primary",disabled:!u.value.trim(),onClick:R},{default:a(()=>[f(A(i.$t("settings.dsp.presets.save")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(je,{modelValue:H.value,"onUpdate:modelValue":r[18]||(r[18]=p=>H.value=p),"max-width":"300"},{default:a(()=>[l(te,null,{default:a(()=>[l(xe,null,{default:a(()=>[f(A(i.$t("settings.dsp.filter.add")),1)]),_:1}),l(ae,null,{default:a(()=>[l(be,{modelValue:x.value,"onUpdate:modelValue":r[16]||(r[16]=p=>x.value=p),items:b(E),label:i.$t("settings.dsp.filter.type")},null,8,["modelValue","items","label"])]),_:1}),l(Ne,null,{default:a(()=>[l(Ae),l(B,{onClick:r[17]||(r[17]=p=>H.value=!1)},{default:a(()=>[f(A(i.$t("cancel")),1)]),_:1}),l(B,{color:"primary",onClick:ye},{default:a(()=>[f(A(i.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])):W("",!0)}});export{pt as default};
@@ -1 +0,0 @@
1
- import{U as B,x as g,o as I,a6 as l,aY as S,b as N,w as P,a0 as k,X as u,F as s,Y as r,bG as U,bi as _,ab as v,W as d,a2 as o,E as m,b1 as w,as as f,ad as c,b2 as y,bC as j,cc as H,$ as C,bA as L,a9 as O,bt as x,bH as D}from"./index-B-lUZalq.js";import{E as F}from"./EditConfig-CH-Rsyh7.js";import{n as Y}from"./index.browser-OxPLOBIU.js";import{V as z}from"./VTextField-B-d5Pe9I.js";import{V as G}from"./VSwitch-Bhk7qcAi.js";import{a as R,b as W}from"./VBtn-BPJ1JKW-.js";import"./VForm-C-dO2GIE.js";import"./VInput-BWBQqjuk.js";import"./VExpansionPanels-CR_eBB13.js";import"./VAlert-QHTIcuEJ.js";import"./VSlider-BCIrn4it.js";import"./VVirtualScroll-CceW16X7.js";import"./VDialog-CAgq0L03.js";import"./VSpacer-DDLrofv-.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const X={key:0},q={id:"auth",href:"",target:"_blank"},pe=B({__name:"EditProvider",props:{instanceId:{}},setup(h){const M=D(),a=g(),V=Y(11),p=g(!1),b=g(!1),T=h;I(()=>{const n=l.subscribe(S.AUTH_SESSION,e=>{if(e.object_id!==V)return;const t=e.data;b.value=!0,window.setTimeout(()=>{const i=document.getElementById("auth");i.setAttribute("href",t),i.click()},100)});N(n)}),P(()=>T.instanceId,async n=>{n&&(a.value=await l.getProviderConfig(n))},{immediate:!0});const A=async function(n){p.value=!0,n.enabled=a.value.enabled,n.name=a.value.name||null,l.saveProviderConfig(a.value.domain,n,a.value.instance_id).then(()=>{M.push({name:"providersettings"})}).catch(e=>{alert(e)}).finally(()=>{p.value=!1,b.value=!1})},$=async function(n,e){p.value=!0;for(const t of Object.values(a.value.values))t.value!==void 0&&e[t.key]==null&&(e[t.key]=t.value);e.session_id=V,l.getProviderConfigEntries(a.value.domain,a.value.instance_id,n,e).then(t=>{a.value.values={};for(const i of t)a.value.values[i.key]=i}).catch(t=>{alert(t)}).finally(()=>{p.value=!1,b.value=!1})},E=function(n){const e=[],{t}=x();for(const i of n)i.includes("@")?e.push(`[${i.replace("@","")}](https://github.com/${i.replace("@","")})`):e.push(i);return`**${t("settings.codeowners")}**: `+e.join(" / ")};return(n,e)=>(u(),k("section",null,[s(U,null,{default:r(()=>[a.value&&o(l).providerManifests[a.value.domain]?(u(),k("div",X,[s(w,null,{default:r(()=>[f(c(n.$t("settings.setup_provider",[o(l).providerManifests[a.value.domain].name])),1)]),_:1}),s(y,{style:{"white-space":"normal"}},{default:r(()=>[f(c(o(l).providerManifests[a.value.domain].description),1)]),_:1}),e[5]||(e[5]=m("br",null,null,-1)),o(l).providerManifests[a.value.domain].codeowners.length?(u(),d(y,{key:0,innerHTML:o(j)(E(o(l).providerManifests[a.value.domain].codeowners))},null,8,["innerHTML"])):v("",!0),o(l).providerManifests[a.value.domain].documentation?(u(),d(y,{key:1},{default:r(()=>[m("b",null,c(n.$t("settings.need_help_setup_provider")),1),e[4]||(e[4]=f("  ",-1)),m("a",{onClick:e[0]||(e[0]=t=>o(H)(o(l).providerManifests[a.value.domain].documentation))},c(n.$t("settings.check_docs")),1)]),_:1})):v("",!0),e[6]||(e[6]=m("br",null,null,-1)),s(C),e[7]||(e[7]=m("br",null,null,-1)),e[8]||(e[8]=m("br",null,null,-1)),"name"in a.value?(u(),d(z,{key:2,modelValue:a.value.name,"onUpdate:modelValue":e[1]||(e[1]=t=>a.value.name=t),placeholder:o(l).getProvider(a.value.instance_id)?.name,label:n.$t("settings.provider_name"),variant:"outlined",clearable:""},null,8,["modelValue","placeholder","label"])):v("",!0),"enabled"in a.value?(u(),d(G,{key:3,modelValue:a.value.enabled,"onUpdate:modelValue":e[2]||(e[2]=t=>a.value.enabled=t),label:n.$t("settings.enable_provider"),color:"primary",disabled:!o(l).providerManifests[a.value.domain]?.allow_disable},null,8,["modelValue","label","disabled"])):v("",!0)])):v("",!0),s(C),a.value?(u(),d(F,{key:1,"config-entries":Object.values(a.value.values),disabled:!a.value.enabled,onSubmit:A,onAction:$},null,8,["config-entries","disabled"])):v("",!0)]),_:1}),s(_,{modelValue:p.value,"onUpdate:modelValue":e[3]||(e[3]=t=>p.value=t),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:r(()=>[b.value?(u(),d(O,{key:0,style:{"background-color":"white"}},{default:r(()=>[s(w,null,{default:r(()=>[...e[9]||(e[9]=[f("Authenticating...",-1)])]),_:1}),s(y,null,{default:r(()=>[...e[10]||(e[10]=[f("A new tab/popup should be opened where you can authenticate",-1)])]),_:1}),s(L,null,{default:r(()=>[m("a",q,[s(R,null,{default:r(()=>[...e[11]||(e[11]=[f("Click here if the popup did not open",-1)])]),_:1})])]),_:1})]),_:1})):(u(),d(W,{key:1,indeterminate:"",size:"64",color:"primary"}))]),_:1},8,["modelValue"])]))}});export{pe as default};
@@ -1 +0,0 @@
1
- import{U as k,x as m,o as S,cd as o,ce as h,aa as e,a0 as I,X as d,F as s,Y as i,bG as V,bi as N,as as g,ad as c,a2 as f,E as p,W as C,ab as E,b2 as T,$ as x,bH as q}from"./index-B-lUZalq.js";import{E as B}from"./EditConfig-CH-Rsyh7.js";import{D as v}from"./constants-BXWEQHoz.js";import{V as w}from"./VToolbar-RljK0PC9.js";import{b as G}from"./VBtn-BPJ1JKW-.js";import"./VForm-C-dO2GIE.js";import"./VInput-BWBQqjuk.js";import"./VExpansionPanels-CR_eBB13.js";import"./VAlert-QHTIcuEJ.js";import"./VSwitch-Bhk7qcAi.js";import"./VTextField-B-d5Pe9I.js";import"./VVirtualScroll-CceW16X7.js";import"./VSlider-BCIrn4it.js";import"./VDialog-CAgq0L03.js";import"./VSpacer-DDLrofv-.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const Q=k({__name:"FrontendConfig",setup(M){const y=q(),r=m([]),n=m(!1);S(()=>{const a=localStorage.getItem("frontend.settings.menu_items"),t=a?a.split(","):v;r.value=[{key:"theme",type:o.STRING,label:"theme",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},{title:"dark",value:"dark"},{title:"light",value:"light"}],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.theme")},{key:"language",type:o.STRING,label:"language",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},...h.global.availableLocales.map(l=>({title:l,value:l}))],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.language")},{key:"menu_style",type:o.STRING,label:"menu_style",default_value:"horizontal",required:!1,options:[{title:"horizontal",value:"horizontal"},{title:"vertical",value:"vertical"}],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.menu_style")},{key:"menu_items",type:o.STRING,label:"menu_items",default_value:v,required:!1,options:[{title:e("home"),value:"home"},{title:e("search"),value:"search"},{title:e("artists"),value:"artists"},{title:e("albums"),value:"albums"},{title:e("tracks"),value:"tracks"},{title:e("playlists"),value:"playlists"},{title:e("audiobooks"),value:"audiobooks"},{title:e("podcasts"),value:"podcasts"},{title:e("radios"),value:"radios"},{title:e("browse"),value:"browse"},{title:e("settings.settings"),value:"settings"}],multi_value:!0,category:"generic",value:t},{key:"hide_settings",type:o.BOOLEAN,label:"hide_settings",default_value:!1,required:!1,multi_value:!1,category:"advanced",value:localStorage.getItem("frontend.settings.hide_settings")=="true"},{key:"enable_builtin_player",type:o.BOOLEAN,label:"enable_builtin_player",default_value:!0,required:!0,multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.enable_builtin_player")!="false"}]});const _=async function(a){for(const t in a){const l=`frontend.settings.${t}`,u=a[t];u!=null?localStorage.setItem(l,u.toString()):localStorage.removeItem(l)}y.push({name:"home"}).then(()=>{window.location.reload()})},b=async function(a,t){};return(a,t)=>(d(),I("section",null,[s(w,{color:"transparent"},{title:i(()=>[g(c(f(e)("settings.frontend")),1)]),_:1}),s(V,{style:{"margin-left":"-5px","margin-right":"-5px"}},{default:i(()=>[s(T,null,{default:i(()=>[g(c(f(e)("settings.frontend_desc")),1)]),_:1}),t[1]||(t[1]=p("br",null,null,-1)),t[2]||(t[2]=p("br",null,null,-1)),s(x),r.value?(d(),C(B,{key:0,"config-entries":r.value,disabled:!1,onSubmit:_,onAction:b},null,8,["config-entries"])):E("",!0)]),_:1}),s(N,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=l=>n.value=l),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:i(()=>[s(G,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{Q as default};
@@ -1 +0,0 @@
1
- import{C as R}from"./Container-Br6JH6Pm.js";import{U as v,c as C,a6 as _,bg as P,aU as h,ak as S,a0 as m,X as o,ah as U,F as u,Y as d,ab as w,E as I,ad as B,ar as E,a2 as $,aq as A,I as b,a1 as M,W as g,a4 as N,x as f,o as T,aY as W,b as D,aa as O,b6 as Y,bn as H}from"./index-B-lUZalq.js";import{W as L}from"./WidgetRow-DXupbFci.js";import{a as F}from"./PlayerCard-5XdZCTyl.js";import{V as J}from"./VToolbar-RljK0PC9.js";import{a as j,b as q}from"./VBtn-BPJ1JKW-.js";import{_ as V}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{T as x}from"./Toolbar-BvxWbi_E.js";import"./Button-kSJGA_Pw.js";import"./VContainer-DB65WVbe.js";/* empty css */import"./PanelviewItemCompact-CIDxIfoQ.js";import"./MediaItemThumb-DapaMoP4.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-DnroVGI-.js";import"./VInput-BWBQqjuk.js";import"./VAlert-QHTIcuEJ.js";import"./VSlider-BCIrn4it.js";const z={class:"mr-3"},G={key:0},X=v({__name:"PlayersWidgetRow",props:{settings:{},editMode:{type:Boolean}},emits:["update:settings"],setup(y,{emit:n}){const a=C(()=>Object.values(_.players).filter(e=>P(e)).sort((e,t)=>e.name.toUpperCase()>t.name?.toUpperCase()?1:-1).sort((e,t)=>s(e)-s(t))),p=n;function c(e){N.activePlayerId=e.player_id}function s(e){return e.playback_state==h.PLAYING?0:e.playback_state==h.PAUSED?1:e.current_media&&e.powered?3:e.current_media?4:99}return(e,t)=>{const i=S("swiper-slide"),r=S("swiper");return o(),m("div",{class:U(`widget-row ${e.settings&&!e.settings.enabled?"disabled":""}`)},[u(J,{class:"header",color:"transparent"},{prepend:d(()=>[u(E,{icon:"mdi-speaker"})]),title:d(()=>[I("span",z,B(e.$t("players")),1)]),append:d(()=>[e.editMode?(o(),m("div",G,[u(j,{icon:e.settings.enabled?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",onClick:t[0]||(t[0]=l=>p("update:settings",{...e.settings,enabled:!e.settings.enabled}))},null,8,["icon"])])):w("",!0)]),_:1}),u(r,{"slides-per-view":"auto","space-between":15,"free-mode":!1,navigation:!$(A)({breakpoint:"mobile"}),mousewheel:{forceToAxis:!0,releaseOnEdges:!0}},{default:d(()=>[(o(!0),m(b,null,M(a.value,l=>(o(),g(i,{key:l.player_id},{default:d(()=>[(o(),g(F,{id:l.player_id,key:l.player_id,player:l,"show-volume-control":!1,"show-menu-button":!1,"show-sub-players":!1,"show-sync-controls":!1,style:{width:"305px",height:"70px"},onClick:k=>c(l)},null,8,["id","player","onClick"]))]),_:2},1024))),128))]),_:1},8,["navigation"])],2)}}}),K=V(X,[["__scopeId","data-v-955fe413"]]),Q=v({__name:"HomeWidgetRows",props:{editMode:{type:Boolean,default:!1}},setup(y){const n=f([]),a=f({}),p=async function(){const s=localStorage.getItem("widgetRowSettings");a.value=s?JSON.parse(s):{players:{position:0,enabled:!0}};const e=await _.getRecommendations(),t=[];let i=0;for(const r of e){i++;const l=a.value[r.uri]||{position:i,enabled:!0},k=r.translation_key?O(`recommendations.${r.translation_key}`,r.name):r.name;t.push({...r,settings:l,title:k}),n.value=t}};T(()=>{p();const s=_.subscribe(W.MEDIA_ITEM_PLAYED,async e=>{e.data&&!e.data.is_playing&&p()});D(s)});const c=function(s,e){for(const t of n.value)if(t.uri===s){t.settings=e;break}a.value[s]=e,localStorage.setItem("widgetRowSettings",JSON.stringify(a.value))};return(s,e)=>(o(),m(b,null,[a.value.players?.enabled||s.editMode?(o(),g(K,{key:0,settings:a.value.players,"edit-mode":s.editMode,"onUpdate:settings":e[0]||(e[0]=t=>c("players",t))},null,8,["settings","edit-mode"])):w("",!0),(o(!0),m(b,null,M(n.value.filter(t=>t.items.length&&(t.settings.enabled||s.editMode)).sort((t,i)=>t.settings.position-i.settings.position),t=>(o(),m("div",{key:t.uri},[n.value.length?(o(),g(L,{key:0,"widget-row":t,"edit-mode":s.editMode,"onUpdate:settings":i=>c(t.uri,i)},null,8,["widget-row","edit-mode","onUpdate:settings"])):w("",!0)]))),128))],64))}}),Z=v({__name:"HomeView",setup(y){const n=f(localStorage.getItem("frontend.settings.hide_settings")=="true"),a=f(!1),p=C(()=>[{label:"settings.settings",icon:"mdi-cog-outline",action:()=>{Y.push({path:"settings"})},hide:n.value},{label:a.value?"homescreen_edit_disable":"homescreen_edit_enable",icon:"mdi-pencil",action:()=>{a.value=!a.value}}]);return(c,s)=>(o(),m("div",null,[u(x,{title:"Music Assistant","show-loading":!0,"enforce-overflow-menu":!0,"menu-items":p.value},null,8,["menu-items"]),u(R,{variant:"panel"},{default:d(()=>[(o(),g(H,null,{fallback:d(()=>[u(q,{indeterminate:""})]),default:d(()=>[I("div",null,[u(Q,{"edit-mode":a.value},null,8,["edit-mode"])])]),_:1}))]),_:1})]))}}),we=V(Z,[["__scopeId","data-v-d5f47ad5"]]);export{we as default};
@@ -1 +0,0 @@
1
- .header.v-toolbar[data-v-955fe413]{height:55px;font-family:JetBrains Mono Medium}.widget-row[data-v-955fe413]{margin-bottom:10px;margin-left:0;margin-right:0;padding-left:0}.disabled[data-v-955fe413]{opacity:.2}.enabled[data-v-955fe413]{opacity:1}.widget-row-panel-item[data-v-955fe413]{margin-bottom:10px}.v-slide-group__prev[data-v-955fe413]{min-width:0px!important}.v-slide-group__prev.v-slide-group__prev--disabled[data-v-955fe413]{visibility:hidden;margin-right:-15px}.v-slide-group__next[data-v-955fe413]{min-width:15px!important}.v-slide-group__next.v-slide-group__next--disabled[data-v-955fe413]{visibility:hidden}[data-v-955fe413] .swiper-slide{width:auto}.v-progress-circular[data-v-d5f47ad5]{display:block;margin-inline:auto}