music-assistant-frontend 2.17.34__py3-none-any.whl → 2.17.63__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of music-assistant-frontend might be problematic. Click here for more details.
- music_assistant_frontend/assets/About-B64RAAE6.js +1 -0
- music_assistant_frontend/assets/About-lesUP2tB.css +1 -0
- music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-DQUirFGx.js +1 -0
- music_assistant_frontend/assets/AddPlayerGroup-BgGBSvG5.js +1 -0
- music_assistant_frontend/assets/AddProviderDetails-BHxivTcE.js +1 -0
- music_assistant_frontend/assets/AddProviderDetails-DQeCtnoy.css +1 -0
- music_assistant_frontend/assets/AlbumDetails-kSlct8q_.js +1 -0
- music_assistant_frontend/assets/ArtistDetails-CNnccN2P.js +1 -0
- music_assistant_frontend/assets/AudiobookDetails-BqlM2CS_.js +1 -0
- music_assistant_frontend/assets/AvatarImage.vue_vue_type_script_setup_true_lang-DBokkkla.js +1 -0
- music_assistant_frontend/assets/BrowseView-D3jhZGn3.css +1 -0
- music_assistant_frontend/assets/BrowseView-DuywWVQm.js +1 -0
- music_assistant_frontend/assets/Button-B4d5YBNY.js +1 -0
- music_assistant_frontend/assets/Button-J-l6bmDl.css +1 -0
- music_assistant_frontend/assets/Container-CLe-v6jJ.css +1 -0
- music_assistant_frontend/assets/Container-D1pLFqsU.js +1 -0
- music_assistant_frontend/assets/Default-CDpSGmTw.js +21 -0
- music_assistant_frontend/assets/Default-CQvuEVee.css +1 -0
- music_assistant_frontend/assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-DWuSqU5E.js +1 -0
- music_assistant_frontend/assets/EditConfig-BPYsIC-A.js +1 -0
- music_assistant_frontend/assets/EditConfig-DNe2y34q.css +1 -0
- music_assistant_frontend/assets/EditCoreConfig-BgqNrizT.css +1 -0
- music_assistant_frontend/assets/EditCoreConfig-BzGxPfuM.js +1 -0
- music_assistant_frontend/assets/EditPlayer-2rJC7VuC.css +1 -0
- music_assistant_frontend/assets/EditPlayer-D-W-NEU2.js +1 -0
- music_assistant_frontend/assets/EditPlayerDsp-BI39n7FA.css +1 -0
- music_assistant_frontend/assets/EditPlayerDsp-DLVoEBGu.js +9 -0
- music_assistant_frontend/assets/EditProvider-apfmFtz1.css +1 -0
- music_assistant_frontend/assets/EditProvider-pX2tzDDV.js +1 -0
- music_assistant_frontend/assets/FacetedFilter-CVMvoryN.css +1 -0
- music_assistant_frontend/assets/FacetedFilter-CcVgGpca.js +1 -0
- music_assistant_frontend/assets/FrontendConfig-CxraPthf.js +1 -0
- music_assistant_frontend/assets/FrontendConfig-a-oWNOqu.css +1 -0
- music_assistant_frontend/assets/HomeView-BYNgS4DU.js +1 -0
- music_assistant_frontend/assets/HomeView-Du3qC7g7.css +1 -0
- music_assistant_frontend/assets/ItemsListing-CF6i_DPA.css +1 -0
- music_assistant_frontend/assets/ItemsListing-DqCIuDVa.js +1 -0
- music_assistant_frontend/assets/LibraryAlbums-BtgPipsX.js +1 -0
- music_assistant_frontend/assets/LibraryArtists-BxJH58zj.js +1 -0
- music_assistant_frontend/assets/LibraryAudiobooks-CfxtyrvX.js +1 -0
- music_assistant_frontend/assets/LibraryPlaylists-DklE3jS2.js +1 -0
- music_assistant_frontend/assets/LibraryPodcasts-CCQmiove.js +1 -0
- music_assistant_frontend/assets/LibraryRadios-CnFDe94x.js +1 -0
- music_assistant_frontend/assets/LibraryTracks-DbeArd47.js +1 -0
- music_assistant_frontend/assets/ListItem-By9ygptX.css +1 -0
- music_assistant_frontend/assets/ListItem-DccRVadN.js +1 -0
- music_assistant_frontend/assets/MediaItemImages-C9Fy6AXA.js +1 -0
- music_assistant_frontend/assets/MediaItemImages-CLzhjwGQ.css +1 -0
- music_assistant_frontend/assets/MediaItemThumb-CYhBGQYb.js +1 -0
- music_assistant_frontend/assets/MediaItemThumb-Dh_kR1LP.css +1 -0
- music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-D7lqdhVg.js +1 -0
- music_assistant_frontend/assets/PanelviewItemCompact-C1lAmhs4.js +1 -0
- music_assistant_frontend/assets/PanelviewItemCompact-DPec3m9e.css +1 -0
- music_assistant_frontend/assets/PlayerCard-CvuecWVw.js +1 -0
- music_assistant_frontend/assets/PlayerCard-Sb0PieXV.css +1 -0
- music_assistant_frontend/assets/Players-CsGKvNru.js +1 -0
- music_assistant_frontend/assets/Players-DqQtrPDr.css +1 -0
- music_assistant_frontend/assets/PlaylistDetails-BRmplZDX.js +1 -0
- music_assistant_frontend/assets/PodcastDetails-CO9edw4i.js +1 -0
- music_assistant_frontend/assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-ZsAs7pQL.js +1 -0
- music_assistant_frontend/assets/ProviderDetails-DFxC0Z2P.css +1 -0
- music_assistant_frontend/assets/ProviderDetails.vue_vue_type_style_index_0_lang-DFoDB6o8.js +8 -0
- music_assistant_frontend/assets/ProviderIcon-CbwA83VX.css +1 -0
- music_assistant_frontend/assets/ProviderIcon.vue_vue_type_style_index_0_lang-3Xmo3tIn.js +1 -0
- music_assistant_frontend/assets/Providers-DoQCRcJD.css +1 -0
- music_assistant_frontend/assets/Providers-fnV7LLWJ.js +1 -0
- music_assistant_frontend/assets/RadioDetails-CSTUc8uy.js +1 -0
- music_assistant_frontend/assets/RemoteAccessSettings-BJcgBwnj.js +1 -0
- music_assistant_frontend/assets/RemoteAccessSettings-DzZ6b2JZ.css +1 -0
- music_assistant_frontend/assets/Search-CP2B4boW.js +1 -0
- music_assistant_frontend/assets/ServerLogs-DT9hKSu9.js +4 -0
- music_assistant_frontend/assets/ServerLogs-DqUM0n_B.css +1 -0
- music_assistant_frontend/assets/Settings-DTSUeTlH.js +1 -0
- music_assistant_frontend/assets/Settings-Dy52XfiN.css +1 -0
- music_assistant_frontend/assets/{SystemConfig-BKi5ffMS.css → SystemConfig-CI_tk8f0.css} +1 -1
- music_assistant_frontend/assets/SystemConfig-CwdPKWrs.js +1 -0
- music_assistant_frontend/assets/Toolbar-BH0q_AuX.js +1 -0
- music_assistant_frontend/assets/Toolbar-Dz5VG6wZ.css +1 -0
- music_assistant_frontend/assets/TrackDetails-D-roSajh.js +1 -0
- music_assistant_frontend/assets/UserManagement-Cjprr5Bf.css +1 -0
- music_assistant_frontend/assets/UserManagement-D95vHQbd.js +1 -0
- music_assistant_frontend/assets/UserProfile-BT070UWs.js +1 -0
- music_assistant_frontend/assets/UserProfile-D9w29jno.css +1 -0
- music_assistant_frontend/assets/WidgetRow-CzSfjn6J.js +1 -0
- music_assistant_frontend/assets/color-BTziYnFN.js +1 -0
- music_assistant_frontend/assets/index-BFLe16Zh.js +1103 -0
- music_assistant_frontend/assets/index-BMjInzaQ.js +1 -0
- music_assistant_frontend/assets/index-CeixlMcg.css +1 -0
- music_assistant_frontend/assets/index-_We2Vr5Z.js +1 -0
- music_assistant_frontend/assets/index-vt6UORr-.js +1 -0
- music_assistant_frontend/assets/libopus-decoder-elWjCkSR.js +1 -0
- music_assistant_frontend/assets/lucide-C2DU1LFb.js +1 -0
- music_assistant_frontend/assets/marked-C0Rlrcoy.js +59 -0
- music_assistant_frontend/assets/marquee_text_sync-CEgtptD4.js +1 -0
- music_assistant_frontend/assets/mdi-DTeawFQ8.css +1 -0
- music_assistant_frontend/assets/oggOpusDecoder-FGWA1cRr.js +1 -0
- music_assistant_frontend/assets/profile-Cv_y861N.js +23 -0
- music_assistant_frontend/assets/qrcode-DSFhiIp2.js +10 -0
- music_assistant_frontend/assets/reka-ui-GpbaI08z.js +3 -0
- music_assistant_frontend/assets/swiper-DDQ4uUkz.css +1 -0
- music_assistant_frontend/assets/swiper-Jy9GbtzK.js +1 -0
- music_assistant_frontend/assets/userPreferences-DsKUT7Ha.js +1 -0
- music_assistant_frontend/assets/utils-CDN07tui.js +1 -0
- music_assistant_frontend/assets/vue-i18n-CX-lsKIo.js +3 -0
- music_assistant_frontend/assets/vue-router-BgJK_hRC.js +1 -0
- music_assistant_frontend/assets/vuetify-CrxirfrA.js +16 -0
- music_assistant_frontend/assets/vuetify-bOa_R6j7.css +1 -0
- music_assistant_frontend/assets/vueuse-DIaEWNCo.js +1 -0
- music_assistant_frontend/index.html +14 -2
- music_assistant_frontend/sw.js +2 -2
- {music_assistant_frontend-2.17.34.dist-info → music_assistant_frontend-2.17.63.dist-info}/METADATA +1 -1
- music_assistant_frontend-2.17.63.dist-info/RECORD +159 -0
- music_assistant_frontend/assets/About-BkJaoSR3.js +0 -1
- music_assistant_frontend/assets/About-BlM2bNNU.css +0 -1
- music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-C1nm8oQh.js +0 -1
- music_assistant_frontend/assets/AddPlayerGroup-B3NNUL-h.js +0 -1
- music_assistant_frontend/assets/AddProviderDetails-BtrgTFts.js +0 -1
- music_assistant_frontend/assets/AlbumDetails-baXoKXD6.js +0 -1
- music_assistant_frontend/assets/ArtistDetails-Cv9mXN_k.js +0 -1
- music_assistant_frontend/assets/AudiobookDetails-7rFtcITw.js +0 -1
- music_assistant_frontend/assets/BrowseView-CYbwlBvT.css +0 -1
- music_assistant_frontend/assets/BrowseView-tAHBas4g.js +0 -1
- music_assistant_frontend/assets/Button-BcX_QSum.js +0 -1
- music_assistant_frontend/assets/Button-D25yJYMO.css +0 -1
- music_assistant_frontend/assets/Container-Bc5cvdS8.js +0 -1
- music_assistant_frontend/assets/Container-Df7sl-nn.css +0 -1
- music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-BHmJvDQD.js +0 -1
- music_assistant_frontend/assets/Default-BFKmuyAJ.css +0 -1
- music_assistant_frontend/assets/Default-DdviBUvO.js +0 -21
- music_assistant_frontend/assets/EditConfig-Bwi8QH5_.js +0 -2
- music_assistant_frontend/assets/EditConfig-UwCqmE_b.css +0 -1
- music_assistant_frontend/assets/EditCoreConfig-DhX-oxAE.css +0 -1
- music_assistant_frontend/assets/EditCoreConfig-Dlub9slv.js +0 -1
- music_assistant_frontend/assets/EditPlayer-CBFrbjNV.js +0 -1
- music_assistant_frontend/assets/EditPlayer-D1wKcKqn.css +0 -1
- music_assistant_frontend/assets/EditPlayerDsp-DTXNvLKR.js +0 -9
- music_assistant_frontend/assets/EditPlayerDsp-aJcSg6U0.css +0 -1
- music_assistant_frontend/assets/EditProvider-CHnmNs-E.js +0 -1
- music_assistant_frontend/assets/EditProvider-CM1P0zG2.css +0 -1
- music_assistant_frontend/assets/FrontendConfig-B3J0qsPa.js +0 -1
- music_assistant_frontend/assets/HomeView-BprizvGE.css +0 -1
- music_assistant_frontend/assets/HomeView-CfJ6PURe.js +0 -1
- music_assistant_frontend/assets/ItemsListing-4Tzirx3k.js +0 -1
- music_assistant_frontend/assets/ItemsListing-DBRgGdb9.css +0 -1
- music_assistant_frontend/assets/LibraryAlbums-B-uXhDO3.js +0 -1
- music_assistant_frontend/assets/LibraryArtists-Cm1JjbAl.js +0 -1
- music_assistant_frontend/assets/LibraryAudiobooks-BhxjD53T.js +0 -1
- music_assistant_frontend/assets/LibraryPlaylists-B854CAZn.js +0 -1
- music_assistant_frontend/assets/LibraryPodcasts-RhDZe6jX.js +0 -1
- music_assistant_frontend/assets/LibraryRadios-DL5ap70-.js +0 -1
- music_assistant_frontend/assets/LibraryTracks-9TVfLfIN.js +0 -1
- music_assistant_frontend/assets/ListItem-CZjh-Z2L.css +0 -1
- music_assistant_frontend/assets/ListItem-Cz0zK7Ay.js +0 -1
- music_assistant_frontend/assets/MediaItemImages-Dz3pW0B9.js +0 -1
- music_assistant_frontend/assets/MediaItemImages-EU1ndGHN.css +0 -1
- music_assistant_frontend/assets/MediaItemThumb-C--YJJ5Y.js +0 -1
- music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-BZUcSWaz.js +0 -1
- music_assistant_frontend/assets/PanelviewItemCompact-BFofUlbn.js +0 -1
- music_assistant_frontend/assets/PanelviewItemCompact-BzbA-hBb.css +0 -1
- music_assistant_frontend/assets/PlayerCard-BSr8tpdq.js +0 -1
- music_assistant_frontend/assets/PlayerCard-C-JW0iD0.css +0 -1
- music_assistant_frontend/assets/Players-BKvWHX7u.js +0 -1
- music_assistant_frontend/assets/Players-BpLyas-U.css +0 -1
- music_assistant_frontend/assets/PlaylistDetails-DwPf38WL.js +0 -1
- music_assistant_frontend/assets/PodcastDetails-BkL3RLSo.js +0 -1
- music_assistant_frontend/assets/ProviderDetails-sWAPBlBe.css +0 -1
- music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-Boj6o7qU.js +0 -8
- music_assistant_frontend/assets/Providers-7gRu2tNl.js +0 -1
- music_assistant_frontend/assets/Providers-CZ5m317K.css +0 -1
- music_assistant_frontend/assets/RadioDetails-B5bulWqe.js +0 -1
- music_assistant_frontend/assets/RemoteAccessSettings-Bf5s7Cwr.css +0 -1
- music_assistant_frontend/assets/RemoteAccessSettings-CFIeLSWz.js +0 -1
- music_assistant_frontend/assets/Search-BAjKkIIQ.js +0 -1
- music_assistant_frontend/assets/ServerLogs-CCtjIDNl.js +0 -4
- music_assistant_frontend/assets/ServerLogs-D16I7ozL.css +0 -1
- music_assistant_frontend/assets/Settings-BE2vTu_e.css +0 -1
- music_assistant_frontend/assets/Settings-C8IEjo0h.js +0 -1
- music_assistant_frontend/assets/SystemConfig-DgVHrDLs.js +0 -1
- music_assistant_frontend/assets/Toolbar-BhPGsr4E.js +0 -1
- music_assistant_frontend/assets/Toolbar-DzRHLZVV.css +0 -1
- music_assistant_frontend/assets/TrackDetails-CN0utK-p.js +0 -1
- music_assistant_frontend/assets/UserManagement-BXsqKl-G.css +0 -1
- music_assistant_frontend/assets/UserManagement-XUiOYKeu.js +0 -1
- music_assistant_frontend/assets/UserProfile-2WJSaYoR.css +0 -1
- music_assistant_frontend/assets/UserProfile-BJFh70ps.js +0 -1
- music_assistant_frontend/assets/VAlert-BDbtqfCV.css +0 -1
- music_assistant_frontend/assets/VAlert-C8Oto4eV.js +0 -1
- music_assistant_frontend/assets/VCheckbox-CgwahLqh.js +0 -1
- music_assistant_frontend/assets/VCheckbox-CvH8ekHL.css +0 -1
- music_assistant_frontend/assets/VCheckboxBtn-orONEqTE.js +0 -1
- music_assistant_frontend/assets/VDialog-DwTSAOeg.css +0 -1
- music_assistant_frontend/assets/VDialog-OmJrmVI_.js +0 -1
- music_assistant_frontend/assets/VExpansionPanels-B8KjM0Qi.css +0 -1
- music_assistant_frontend/assets/VExpansionPanels-D8F4VK-K.js +0 -1
- music_assistant_frontend/assets/VForm-CRBkgkz1.js +0 -1
- music_assistant_frontend/assets/VInfiniteScroll-B-XMauN8.css +0 -1
- music_assistant_frontend/assets/VInfiniteScroll-C839Qj3G.js +0 -1
- music_assistant_frontend/assets/VSelect-DMb2DNZp.css +0 -1
- music_assistant_frontend/assets/VSelect-vsgYa-Ce.js +0 -1
- music_assistant_frontend/assets/VSelectionControl-C9uJkKHo.js +0 -1
- music_assistant_frontend/assets/VSelectionControl-CIeJsqfW.css +0 -1
- music_assistant_frontend/assets/VSlider-BxXcuhLj.js +0 -1
- music_assistant_frontend/assets/VSlider-DlBvQp-0.css +0 -1
- music_assistant_frontend/assets/VSwitch-C4Td5_x0.js +0 -1
- music_assistant_frontend/assets/VSwitch-Mm7Rd7At.css +0 -1
- music_assistant_frontend/assets/VToolbar-BTrAkkB7.js +0 -1
- music_assistant_frontend/assets/VToolbar-D1tRNhN6.css +0 -1
- music_assistant_frontend/assets/VVirtualScroll-BNcY_ygg.css +0 -1
- music_assistant_frontend/assets/VVirtualScroll-YsHPZNGu.js +0 -1
- music_assistant_frontend/assets/WidgetRow-lS8eZGg2.js +0 -1
- music_assistant_frontend/assets/index-BYK1uYGl.css +0 -1
- music_assistant_frontend/assets/index-GQ3lWXrm.js +0 -1047
- music_assistant_frontend/assets/marquee_text_sync-a11Dvzhd.js +0 -1
- music_assistant_frontend/assets/userPreferences-CU3N6m4Z.js +0 -1
- music_assistant_frontend-2.17.34.dist-info/RECORD +0 -154
- {music_assistant_frontend-2.17.34.dist-info → music_assistant_frontend-2.17.63.dist-info}/WHEEL +0 -0
- {music_assistant_frontend-2.17.34.dist-info → music_assistant_frontend-2.17.63.dist-info}/licenses/LICENSE +0 -0
- {music_assistant_frontend-2.17.34.dist-info → music_assistant_frontend-2.17.63.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{M as f}from"./index-kQIztB-E.js";import{i as c,ay as m,a_ as d,u as p,aI as h,aA as C,aK as _,aH as v,ae as y,aD as u,cG as P,aG as b,a$ as w,_ as g}from"./index-GQ3lWXrm.js";const k=(a,s)=>{const r=c(()=>{const{variant:t,...e}=a;return{...e,fluid:a.fluid!==!1}}),o=c(()=>{const t=f(a.variant).with("panel",()=>["container-main","container-panel",s?"container-panel--dark":"container-panel--light"]).with("compact",()=>["container-main","container-compact"]).with("comfortable",()=>["container-main","container-comfortable"]).with("default",()=>["container-main","container-default"]).otherwise(()=>["container-main","container-default"]),e=[];return a.class&&(typeof a.class=="string"?e.push(a.class):Array.isArray(a.class)?e.push(...a.class):Object.entries(a.class).forEach(([n,i])=>{i&&e.push(n)})),[...t,...e].join(" ")});return{containerProps:r,containerClasses:o}},A={variant:"default",fluid:!0},B=m({__name:"Container",props:d({variant:{},fluid:{type:Boolean},tag:{},class:{},style:{}},A),setup(a){const s=a,r=p(),o=c(()=>r.current.value.dark),{containerProps:t,containerClasses:e}=k(s,o.value);return(n,i)=>(C(),h(P,y(u(t),{class:u(e)}),_({_:2},[v(n.$slots,(D,l)=>({name:l,fn:b(()=>[w(n.$slots,l,{},void 0,!0)])}))]),1040,["class"]))}}),x=g(B,[["__scopeId","data-v-b8d6ce90"]]);export{x as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.container-default[data-v-b8d6ce90]{padding:10px}.container-compact[data-v-b8d6ce90]{padding:5px}.container-comfortable[data-v-b8d6ce90]{padding:20px}.container-panel[data-v-b8d6ce90]{padding:10px}.container-panel--light[data-v-b8d6ce90]{background:#f5f5f5}@media (min-width: 1920px){.container-main[data-v-b8d6ce90]{max-width:unset!important}}@media (min-width: 1280px){.container-main[data-v-b8d6ce90]{max-width:unset!important}}@media (min-width: 960px){.container-main[data-v-b8d6ce90]{max-width:unset!important}}
|
music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-BHmJvDQD.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ay as $,bN as w,J as v,L as x,aI as c,aA as r,aG as t,o as l,aS as B,bg as N,r as I,bh as p,aN as d,c3 as A,az as D,bH as h,ah as F,E as S,bV as _,bW as U,M as k,aP as z,aW as i,c7 as E}from"./index-GQ3lWXrm.js";import{V as W}from"./VDialog-OmJrmVI_.js";const q={class:"text-body-2 mb-2 text-grey-darken-1"},J=$({__name:"CreateTokenDialog",props:{modelValue:{type:Boolean},userId:{}},emits:["update:modelValue","created"],setup(V,{emit:C}){const{t:n}=w(),y=V,m=C,f=v(!1),o=v(""),a=v(""),b=()=>{o.value="",a.value="",requestAnimationFrame(()=>{m("update:modelValue",!1)})},g=async()=>{f.value=!0;try{const e=await z.createToken(o.value,y.userId);e?(i.success(n("auth.token_created")),a.value=e,m("created")):i.error(n("auth.token_create_failed"))}catch(e){i.error(e.message||n("auth.token_create_failed"))}finally{f.value=!1}};x(()=>y.modelValue,e=>{e||(o.value="",a.value="")});const T=async()=>{if(!a.value)return;await E(a.value)?i.success(n("auth.token_copied")):i.error(n("auth.token_copy_failed"))};return(e,s)=>(r(),c(W,{"model-value":V.modelValue,"max-width":"500","onUpdate:modelValue":s[2]||(s[2]=u=>m("update:modelValue",u))},{default:t(()=>[l(B,null,{default:t(()=>[l(N,{class:I(["text-h6 pa-6",{"pb-0":a.value,"pb-4":!a.value}])},{default:t(()=>[p(d(a.value?o.value:e.$t("auth.create_token")),1)]),_:1},8,["class"]),l(A,{class:"px-6 pb-2"},{default:t(()=>[a.value?(r(),D(F,{key:1},[S("p",q,d(e.$t("auth.copy_new_token_hint")),1),l(h,{modelValue:a.value,"onUpdate:modelValue":s[1]||(s[1]=u=>a.value=u),readonly:"",variant:"outlined",density:"comfortable",class:"mb-2","append-inner-icon":"mdi-content-copy","onClick:appendInner":T},null,8,["modelValue"])],64)):(r(),c(h,{key:0,modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=u=>o.value=u),label:e.$t("auth.token_name"),variant:"outlined",density:"comfortable",hint:e.$t("auth.token_name_hint"),"persistent-hint":"",autofocus:""},null,8,["modelValue","label","hint"]))]),_:1}),a.value?(r(),c(_,{key:1,class:"px-6 pb-6 pt-0"},{default:t(()=>[l(k,{color:"primary",variant:"tonal",onClick:b},{default:t(()=>[p(d(e.$t("close")),1)]),_:1})]),_:1})):(r(),c(_,{key:0,class:"pa-6 pt-4"},{default:t(()=>[l(U),l(k,{variant:"text",onClick:b},{default:t(()=>[p(d(e.$t("cancel")),1)]),_:1}),l(k,{color:"primary",variant:"flat",loading:f.value,disabled:!o.value,onClick:g},{default:t(()=>[p(d(e.$t("create")),1)]),_:1},8,["loading","disabled"])]),_:1}))]),_:1})]),_:1},8,["model-value"]))}});export{J as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.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)}.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)}@container style(--v-window-transition-duration){.v-window .v-window-item{transition-duration:var(--v-window-transition-duration)!important}}.v-window--crossfade>.v-window__container{isolation:isolate}.v-window--crossfade>.v-window__container>.v-window-item{mix-blend-mode:plus-lighter}.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)}@media (prefers-reduced-motion: reduce){.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-duration:0s}}.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-window-crossfade-transition-enter-active,.v-window-crossfade-transition-leave-active{transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window-crossfade-transition-leave-from,.v-window-crossfade-transition-leave-to{position:absolute!important;top:0;width:100%}.v-window-crossfade-transition-enter-from,.v-window-crossfade-transition-leave-to{opacity:0}.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-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))}@media (prefers-reduced-motion: reduce){.v-navigation-drawer{transition:none}}.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}.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}@media (forced-colors: active){.v-tab--selected.v-btn{color:highlight!important}.v-tab__slider{background:highlight!important}}.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}.v-tabs--inset{--v-tabs-inset-radius: 4px;--v-tabs-inset-padding: 4px;background:rgba(var(--v-theme-on-surface),.06);box-shadow:inset 0 0 0 2px rgba(var(--v-border-color),var(--v-border-opacity));border-radius:calc(var(--v-tabs-inset-radius) + var(--v-tabs-inset-padding))}.v-tabs--inset .v-tab{margin:var(--v-tabs-inset-padding);transition-property:box-shadow,transform,opacity,background,color}.v-tabs--inset .v-tab.v-tab.v-btn{border-radius:var(--v-tabs-inset-radius)}.v-tabs--inset .v-tab:focus-visible{outline:2px solid rgb(var(--v-border-color));outline-offset:2px}.v-tabs--inset .v-tab:focus-visible:after{opacity:0}.v-tabs--inset:not(.v-tabs--fixed-tabs,.v-tabs--grow){max-width:max-content}.v-tabs--inset.v-tabs--fixed-tabs .v-slide-group__content{padding-inline:var(--v-tabs-inset-padding)}.v-tabs--inset .v-tab__slider{inset:0;border-radius:var(--v-tabs-inset-radius);z-index:-1;width:auto}.v-tabs--inset.v-tabs--horizontal{height:calc(var(--v-tabs-height) + var(--v-tabs-inset-padding) * 2);--v-tabs-inset-tab-radius: calc(var(--v-tabs-outer-radius) - var(--v-tabs-inset-padding) + 4px)}.v-tabs--inset.v-tabs--horizontal .v-tab__slider{height:auto}.v-tabs--inset .v-btn__overlay{display:none}.v-tabs--inset.v-tabs--vertical .v-tab{grid-template-columns:max-content 1fr max-content}.v-tabs--inset.v-tabs--vertical .v-tab>.v-btn__content{justify-content:start}@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}}.menuButton[data-v-5af0a01e]{margin:3px 10px;padding:0 15px;border-radius:15px}.v-list-item-title[data-v-5af0a01e]{font-size:medium;font-weight:700}.v-list-item--density-default.v-list-item--one-line[data-v-5af0a01e]{min-height:44px}.v-icon[data-v-5af0a01e]{opacity:1}.v-btn--active[data-v-5af0a01e]{color:rgb(var(--v-theme-primary))}.v-slide-group-item--active[data-v-5af0a01e]{opacity:100%}.sidebar[data-v-5af0a01e]{background-color:rgb(var(--v-theme-panel));width:290px;transition:width .3s ease;display:flex;flex-direction:column;height:100%}.sidebar.collapsed[data-v-5af0a01e]{width:68px}.sidebar-header[data-v-5af0a01e]{display:flex;align-items:center;gap:6px;margin:15px 22px 0;transition:all .3s ease;position:relative;cursor:pointer}.sidebar.collapsed .sidebar-header[data-v-5af0a01e]{margin:15px 10px 0;justify-content:center}.sidebar-header-logo[data-v-5af0a01e]{width:30px;height:30px;border-radius:6px;flex-shrink:0}.sidebar-header-title[data-v-5af0a01e]{font-size:1.2rem;font-weight:700;margin:3px 0 0 10px;white-space:nowrap;overflow:hidden;transition:opacity .2s ease}.sidebar-list[data-v-5af0a01e]{background-color:rgb(var(--v-theme-panel));list-style:none;padding:0 0 30px;margin:20px 0 0;flex:1}.sidebar.collapsed .menuButton[data-v-5af0a01e]{padding:0;margin:3px 10px}.sidebar.collapsed .menuButton[data-v-5af0a01e] .v-list-item__content{align-self:center;grid-area:content-start;overflow:hidden;min-width:40px;display:flex;justify-content:center}.sidebar-list li[data-v-5af0a01e]{padding:12px 16px}.sidebar-list li a[data-v-5af0a01e]{color:inherit;text-decoration:none;display:block;border-radius:4px;transition:background .2s}.sidebar-list li a[data-v-5af0a01e]:hover{background:#333}.media-thumb[data-v-8f34ca82]{padding-right:15px}.main-layout[data-v-544f60a2]{display:flex;height:100vh;overflow-y:auto}.main-layout--mobile[data-v-544f60a2]{padding-bottom:230px}.nav-section[data-v-544f60a2]{flex:0 0 auto;width:290px;transition:width .3s ease}.content-section[data-v-544f60a2]{flex:1;overflow-y:auto;height:100%}.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-bdfdc6da]{bottom:135px!important;right:5px!important;left:unset!important;top:unset!important}.v-overlay__scrim[data-v-bdfdc6da]{opacity:.4}.time-text-left[data-v-1b667236]{text-align:left;display:table-cell}.time-text-right[data-v-1b667236]{text-align:right;display:table-cell;right:0}.time-text-row[data-v-1b667236]{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-1b667236]{width:50%}.v-slider.v-input--horizontal[data-v-1b667236]{align-items:center;margin-inline:0px}.lyrics-container[data-v-a59ccea0]{height:100%;width:100%;display:flex;flex-direction:column}.lyrics-loading[data-v-a59ccea0],.lyrics-empty[data-v-a59ccea0]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.7;gap:20px}.lyrics-intro[data-v-a59ccea0]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.song-title[data-v-a59ccea0]{font-size:2em;font-weight:700;margin-bottom:10px;color:var(--v3c09aed1)}.artist-name[data-v-a59ccea0]{font-size:1.5em;margin-bottom:40px;opacity:.8}.lyrics-coming-soon[data-v-a59ccea0]{font-size:1.2em;opacity:.6;font-style:italic}.lyrics-scroll-container[data-v-a59ccea0]{height:100%;width:100%;overflow-y:auto;padding:40vh 0;text-align:center}.static-lyrics[data-v-a59ccea0]{padding:10px 0!important;display:flex;flex-direction:column;justify-content:flex-start}.lyrics-line[data-v-a59ccea0]{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-a59ccea0]{opacity:1;font-size:1.4em;font-weight:700;color:var(--v3c09aed1);filter:blur(0);text-shadow:none}.main[data-v-cd20d95b]{display:flex;min-height:50%!important;height:50%!important;max-height:65%!important;padding-bottom:5px}.main-media-details[data-v-cd20d95b]{flex:50%;max-width:100%;width:50%}.main-queue-items[data-v-cd20d95b]{flex:50%;height:100%;max-width:100%;padding-right:10px;padding-left:15px}.queue-items-scroll-box[data-v-cd20d95b]{max-height:100%;overflow-y:scroll}.queue-items-scroll-box[data-v-cd20d95b]::-webkit-scrollbar{display:none}.v-infinite-scroll--vertical[data-v-cd20d95b]{overflow-y:unset}.main-media-details-image[data-v-cd20d95b]{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-cd20d95b]{width:auto}.main-media-details-image-alt[data-v-cd20d95b]{height:100%!important;max-height:100%!important;align-content:center;padding:0!important}.main-media-details-track-info[data-v-cd20d95b]{height:20%;max-height:20%;align-content:center;text-align:center;padding:20px}.player-bottom[data-v-cd20d95b]{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-cd20d95b]{margin-top:10px;margin-bottom:10px;padding-top:2vh;padding-bottom:2vh;text-align:center;line-height:10%}.track-info-subtitle[data-v-cd20d95b],.v-tab[data-v-cd20d95b]{opacity:.5}.v-tab-item--selected[data-v-cd20d95b]{opacity:1}.media-controls[data-v-cd20d95b]{display:flex;flex:1 1 auto;align-items:center;justify-content:center;max-width:100%;padding:15px;height:100px}.media-controls-item[data-v-cd20d95b]{margin:0 10px;width:100%;height:100%}@media (max-width: 768px){.media-controls-item[data-v-cd20d95b]{margin:0 5px;width:100%;height:100%}}.row[data-v-cd20d95b]{align-content:center}.row-centered[data-v-cd20d95b]{justify-content:center;max-width:100%;padding:15px}.media-controls>button[data-v-cd20d95b]{flex:1 1 auto}.media-controls-bottom[data-v-cd20d95b]{display:flex;flex:0 1 auto;justify-content:center;align-items:center}.media-controls-bottom>div[data-v-cd20d95b]{flex-basis:0;flex-grow:1;max-width:100%}.media-controls>div[data-v-cd20d95b]{width:calc(100% / 3)}.mediacontrols-right[data-v-cd20d95b]{display:table-cell;text-align:right;vertical-align:middle}.mediacontrols-right>div[data-v-cd20d95b]{display:inline-flex;align-items:center}.v-toolbar[data-v-cd20d95b] .v-toolbar-title{text-align:center}.responsive-icon-holder-btn[data-v-cd20d95b]{display:flex;align-items:center;justify-content:center;opacity:.62;cursor:pointer!important}.responsive-icon-holder-btn[data-v-cd20d95b]:focus,.responsive-icon-holder-btn[data-v-cd20d95b]:hover{opacity:1}div[data-v-cd20d95b],button[data-v-cd20d95b]{color:var(--text-color)}.lyrics-wrapper[data-v-cd20d95b]{height:100%;width:100%;overflow:hidden}.title-row[data-v-cd20d95b]{display:flex;align-items:center;gap:6px}.player-media-thumb[data-v-01cf6ec5]{margin-right:10px}.player-track-content-type[data-v-01cf6ec5]{height:20px!important;padding:5px 9px!important;font-weight:500;font-size:10px!important;letter-spacing:.1em;border-radius:2px;margin-right:30px}.icon-thumb[data-v-01cf6ec5]{width:60px;height:60px;border-radius:3px;background-color:#0000004d;display:flex;align-items:center;justify-content:center}.v-list-item-subtitle[data-v-01cf6ec5]{-webkit-line-clamp:unset!important;line-clamp:unset!important}.mediadetails-streamdetails .icon[data-v-022a7f9a]{opacity:100}.mediacontrols[data-v-022a7f9a]{display:flex;align-items:center;width:100%;padding:10px 15px;background-color:rgb(var(--v-theme-overlay))}.mediacontrols .mediacontrols-bottom-center[data-v-022a7f9a]{width:40%}.mediacontrols[data-mobile=true][data-v-022a7f9a]{border-radius:10px}.mediacontrols[data-mobile=true] .mediacontrols-bottom-center[data-v-022a7f9a]{display:none}.mediacontrols[data-mobile=true] .mediacontrols-left[data-v-022a7f9a]{width:unset}.mediacontrols-bg[data-v-022a7f9a]{height:100%;position:absolute;width:320px;left:0;top:0;background:linear-gradient(to right,var(--v31d44b17) 0%,transparent)}.mediacontrols-bg[data-floating=true][data-v-022a7f9a]{border-radius:10px;width:100%;background:var(--v31d44b17)}.mediacontrols-top-right[data-v-022a7f9a]{display:table-row}.mediacontrols-left[data-v-022a7f9a]{margin-inline-end:auto;width:20%}.mediacontrols-left>div[data-v-022a7f9a]{padding:0!important}.mediacontrols-bottom-right[data-v-022a7f9a]{margin-inline-start:auto}.mediacontrols-bottom-right>div[data-v-022a7f9a]{display:inline-flex;align-items:center}.volume-slider[data-v-022a7f9a]{width:calc(100% - 30px);margin-bottom:6px;margin-top:-10px}.menuButton{font-weight:350;font-size:x-small;font-stretch:condensed;text-transform:none;margin-top:5px}.v-btn--active>.v-btn__overlay{background:rgb(var(--v-theme-default))!important}.v-slide-group-item--active{opacity:100%}.mediacontrols-player-float{display:flex;flex-direction:column;margin:10px 10px 0;width:calc(100% - 20px)!important;border-radius:10px!important}.gradient-dark{background:linear-gradient(0deg,#000000e6 0% 75%,#fff0)}.gradient-light{background:linear-gradient(0deg,#ffffffe6 0% 75%,#fff0)}.v-bottom-navigation--active{box-shadow:none}.title[data-v-0488156b]{font-family:JetBrains Mono Medium;font-size:x-large;opacity:.7}.expansion[data-v-0488156b] .v-expansion-panel-title{padding:10px 16px}.expansion[data-v-0488156b] .v-expansion-panel-text__wrapper{padding:10px 5px}.pwa-toast{position:fixed;right:0;bottom:0;margin:16px;padding:12px;border:1px solid #8885;border-radius:4px;z-index:1;text-align:left;box-shadow:3px 4px 5px #8885;background-color:#fff}.pwa-toast .message{margin-bottom:8px}.pwa-toast button{border:1px solid #8885;outline:none;margin-right:5px;border-radius:2px;padding:3px 10px}.centeredoverlay[data-v-f5755772] .v-overlay__content{inset:50%}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import{_ as oe,a as pa,g as he,p as pe,u as ga,b as st,c as Ve,d as zt,e as ot,f as rt,h as ut,i as $,j as je,k as ct,t as N,l as Nt,m as dt,n as ge,o as d,q as ee,r as ne,s as fe,v as Ge,w as _a,x as Re,y as mt,z as vt,A as yt,B as Wt,C as De,D as ft,V as ba,E as x,F as Ht,G as ht,H as Ut,I as Pa,J as R,K as me,L as te,M as Pe,N as Yt,P as wa,O as xt,Q as ka,R as Fe,S as xa,T as Xt,U as Ia,W as Ca,X as $a,Y as Qa,Z as Sa,$ as Va,a0 as Ta,a1 as Ee,a2 as pt,a3 as we,a4 as Te,a5 as Ma,a6 as La,a7 as Ea,a8 as gt,a9 as Ba,aa as jt,ab as Aa,ac as Ra,ad as Da,ae as Z,af as Fa,ag as qa,ah as G,ai as _t,aj as Oa,ak as za,al as Na,am as He,an as Wa,ao as Ha,ap as Ua,aq as Ya,ar as Xa,as as ja,at as It,au as Ga,av as Ka,aw as Za,ax as t,ay as U,az as P,aA as u,aB as k,aC as Ja,aD as a,aE as ei,aF as $e,aG as v,aH as ce,aI as Q,aJ as Me,aK as Gt,aL as ie,aM as ti,aN as I,aO as Ce,aP as T,aQ as O,aR as Ct,aS as Ue,aT as J,aU as tt,aV as et,aW as ai,aX as ii,aY as li,aZ as ni,a_ as si,a$ as oi,b0 as Qe,b1 as ue,b2 as ye,b3 as Ae,b4 as bt,b5 as le,b6 as Kt,b7 as ke,b8 as ri,b9 as Zt,ba as Ye,bb as ui,bc as qe,bd as Oe,be as Xe,bf as at,bg as Le,bh as Y,bi as _e,bj as Jt,bk as ea,bl as ta,bm as $t,bn as Qt,bo as ci,bp as di,bq as mi,br as Ne,bs as vi,bt as St,bu as Vt,bv as Tt,bw as de,bx as yi,by as fi,bz as hi,bA as pi,bB as gi,bC as _i,bD as bi}from"./index-GQ3lWXrm.js";import{D as Pi}from"./constants-CXMxJR4j.js";import{M as Be}from"./MediaItemThumb-C--YJJ5Y.js";import{T as wi,V as it}from"./Toolbar-BhPGsr4E.js";import{V as aa}from"./VDialog-OmJrmVI_.js";import{M as ki}from"./index-kQIztB-E.js";import{m as Mt,M as be}from"./Button-BcX_QSum.js";import{V as xi,P as Pt,g as Ii,a as ze}from"./PlayerCard-BSr8tpdq.js";import{V as Ci}from"./VSlider-BxXcuhLj.js";import{L as $i}from"./ListItem-Cz0zK7Ay.js";import{M as se,a as lt}from"./marquee_text_sync-a11Dvzhd.js";import{_ as Qi}from"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BZUcSWaz.js";import{V as Si}from"./VToolbar-BTrAkkB7.js";import{V as Vi}from"./VInfiniteScroll-C839Qj3G.js";import{V as Ti}from"./VVirtualScroll-YsHPZNGu.js";import{u as Mi}from"./userPreferences-CU3N6m4Z.js";import{V as Li,a as Lt,b as Et,c as Bt}from"./VExpansionPanels-D8F4VK-K.js";import"./VCheckbox-CgwahLqh.js";import"./VCheckboxBtn-orONEqTE.js";import"./VSelectionControl-C9uJkKHo.js";const Ei=oe(pa,[["__scopeId","data-v-3db9fdd5"]]),Bi=pe({baseColor:String,bgColor:String,color:String,grow:Boolean,mode:{type:String,validator:e=>!e||["horizontal","shift"].includes(e)},height:{type:[Number,String],default:56},active:{type:Boolean,default:!0},...ft(),...De(),...Wt(),...yt(),...vt(),...mt({name:"bottom-navigation"}),...Re({tag:"header"}),..._a({selectedClass:"v-btn--selected"}),...Ge()},"VBottomNavigation"),Ai=he()({name:"VBottomNavigation",props:Bi(),emits:{"update:active":e=>!0,"update:modelValue":e=>!0},setup(e,l){let{slots:i}=l;const{themeClasses:n}=ga(),{borderClasses:r}=st(e),{backgroundColorClasses:o,backgroundColorStyles:c}=Ve(()=>e.bgColor),{densityClasses:y}=zt(e),{elevationClasses:f}=ot(e),{roundedClasses:b}=rt(e),{ssrBootStyles:p}=ut(),h=$(()=>Number(e.height)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0)),s=je(e,"active",e.active),{layoutItemStyles:V}=ct({id:e.name,order:$(()=>parseInt(e.order,10)),position:N(()=>"bottom"),layoutSize:N(()=>s.value?h.value:0),elementSize:h,active:s,absolute:N(()=>e.absolute)});return Nt(e,ba),dt({VBtn:{baseColor:N(()=>e.baseColor),color:N(()=>e.color),density:N(()=>e.density),stacked:N(()=>e.mode!=="horizontal"),variant:"text"}},{scoped:!0}),ge(()=>d(e.tag,{class:ne(["v-bottom-navigation",{"v-bottom-navigation--active":s.value,"v-bottom-navigation--grow":e.grow,"v-bottom-navigation--shift":e.mode==="shift"},n.value,o.value,r.value,y.value,f.value,b.value,e.class]),style:ee([c.value,V.value,{height:fe(h.value)},p.value,e.style])},{default:()=>[i.default&&x("div",{class:"v-bottom-navigation__content"},[i.default()])]})),{}}}),Ri=e=>{const{touchstartX:l,touchendX:i,touchstartY:n,touchendY:r}=e,o=.5,c=16;e.offsetX=i-l,e.offsetY=r-n,Math.abs(e.offsetY)<o*Math.abs(e.offsetX)&&(e.left&&i<l-c&&e.left(e),e.right&&i>l+c&&e.right(e)),Math.abs(e.offsetX)<o*Math.abs(e.offsetY)&&(e.up&&r<n-c&&e.up(e),e.down&&r>n+c&&e.down(e))};function Di(e,l){const i=e.changedTouches[0];l.touchstartX=i.clientX,l.touchstartY=i.clientY,l.start?.({originalEvent:e,...l})}function Fi(e,l){const i=e.changedTouches[0];l.touchendX=i.clientX,l.touchendY=i.clientY,l.end?.({originalEvent:e,...l}),Ri(l)}function qi(e,l){const i=e.changedTouches[0];l.touchmoveX=i.clientX,l.touchmoveY=i.clientY,l.move?.({originalEvent:e,...l})}function Oi(){let e=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:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:i=>Di(i,l),touchend:i=>Fi(i,l),touchmove:i=>qi(i,l)}}function zi(e,l){const i=l.value,n=i?.parent?e.parentElement:e,r=i?.options??{passive:!0},o=l.instance?.$.uid;if(!n||o===void 0)return;const c=Oi(l.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[o]=c,Ht(c).forEach(y=>{n.addEventListener(y,c[y],r)})}function Ni(e,l){const i=l.value?.parent?e.parentElement:e,n=l.instance?.$.uid;if(!i?._touchHandlers||n===void 0)return;const r=i._touchHandlers[n];Ht(r).forEach(o=>{i.removeEventListener(o,r[o])}),delete i._touchHandlers[n]}const nt={mounted:zi,unmounted:Ni},ia=Symbol.for("vuetify:v-window"),la=Symbol.for("vuetify:v-window-group"),na=pe({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:e=>typeof e=="boolean"||e==="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"},crossfade:Boolean,transitionDuration:Number,...De(),...Re(),...Ge()},"VWindow"),At=he()({name:"VWindow",directives:{vTouch:nt},props:na(),emits:{"update:modelValue":e=>!0},setup(e,l){let{slots:i}=l;const{themeClasses:n}=ht(e),{isRtl:r}=Ut(),{t:o}=Pa(),c=Nt(e,la),y=R(),f=$(()=>r.value?!e.reverse:e.reverse),b=me(!1),p=$(()=>{if(e.crossfade)return"v-window-crossfade-transition";const M=e.direction==="vertical"?"y":"x",m=(f.value?!b.value:b.value)?"-reverse":"";return`v-window-${M}${m}-transition`}),h=me(0),s=R(void 0),V=$(()=>c.items.value.findIndex(M=>c.selected.value.includes(M.id)));te(V,(M,g)=>{let m;const w={left:0,top:0};xt&&g>=0&&(m=ka(y.value),w.left=m?.scrollLeft,w.top=m?.scrollTop);const L=c.items.value.length,D=L-1;L<=2?b.value=M<g:M===D&&g===0?b.value=!1:M===0&&g===D?b.value=!0:b.value=M<g,Fe(()=>{if(!xt||!m)return;m.scrollTop!==w.top&&m.scrollTo({...w,behavior:"instant"}),requestAnimationFrame(()=>{if(!m)return;m.scrollTop!==w.top&&m.scrollTo({...w,behavior:"instant"})})})},{flush:"sync"}),xa(ia,{transition:p,isReversed:b,transitionCount:h,transitionHeight:s,rootRef:y});const E=N(()=>e.continuous||V.value!==0),F=N(()=>e.continuous||V.value!==c.items.value.length-1);function z(){E.value&&c.prev()}function X(){F.value&&c.next()}const W=$(()=>{const M=[],g={icon:r.value?e.nextIcon:e.prevIcon,class:`v-window__${f.value?"right":"left"}`,onClick:c.prev,"aria-label":o("$vuetify.carousel.prev")};M.push(E.value?i.prev?i.prev({props:g}):d(Pe,g,null):x("div",null,null));const m={icon:r.value?e.prevIcon:e.nextIcon,class:`v-window__${f.value?"left":"right"}`,onClick:c.next,"aria-label":o("$vuetify.carousel.next")};return M.push(F.value?i.next?i.next({props:m}):d(Pe,m,null):x("div",null,null)),M}),B=$(()=>e.touch===!1?e.touch:{...{left:()=>{f.value?z():X()},right:()=>{f.value?X():z()},start:g=>{let{originalEvent:m}=g;m.stopPropagation()}},...e.touch===!0?{}:e.touch});return ge(()=>Yt(d(e.tag,{ref:y,class:ne(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},n.value,e.class]),style:ee([e.style,e.transitionDuration&&!wa?{"--v-window-transition-duration":fe(e.transitionDuration,"ms")}:void 0])},{default:()=>[x("div",{class:"v-window__container",style:{height:s.value}},[i.default?.({group:c}),e.showArrows!==!1&&x("div",{class:ne(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}])},[W.value])]),i.additional?.({group:c})]}),[[nt,B.value]])),{group:c}}}),sa=pe({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...De(),...Va(),...Sa()},"VWindowItem"),Rt=he()({name:"VWindowItem",directives:{vTouch:nt},props:sa(),emits:{"group:selected":e=>!0},setup(e,l){let{slots:i}=l;const n=Xt(ia),r=Ia(e,la),{isBooted:o}=ut();if(!n||!r)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const c=me(!1),y=$(()=>o.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function f(){!c.value||!n||(c.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function b(){c.value||!n||(c.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=fe(n.rootRef.value?.clientHeight)),n.transitionCount.value+=1)}function p(){f()}function h(E){c.value&&Fe(()=>{!y.value||!c.value||!n||(n.transitionHeight.value=fe(E.clientHeight))})}const s=$(()=>{const E=n.isReversed.value?e.reverseTransition:e.transition;return y.value?{name:typeof E!="string"?n.transition.value:E,onBeforeEnter:b,onAfterEnter:f,onEnterCancelled:p,onBeforeLeave:b,onAfterLeave:f,onLeaveCancelled:p,onEnter:h}:!1}),{hasContent:V}=Ca(e,r.isSelected);return ge(()=>d(Qa,{transition:s.value,disabled:!o.value},{default:()=>[Yt(x("div",{class:ne(["v-window-item",r.selectedClass.value,e.class]),style:ee(e.style)},[V.value&&i.default?.()]),[[$a,r.isSelected.value]])]})),{groupItem:r}}}),Wi=pe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...ft(),...De(),...yt(),...mt(),...vt(),...Re({tag:"footer"}),...Ge()},"VFooter"),Hi=he()({name:"VFooter",props:Wi(),setup(e,l){let{slots:i}=l;const n=R(),{themeClasses:r}=ht(e),{backgroundColorClasses:o,backgroundColorStyles:c}=Ve(()=>e.color),{borderClasses:y}=st(e),{elevationClasses:f}=ot(e),{roundedClasses:b}=rt(e),p=me(32),{resizeRef:h}=Ta(V=>{V.length&&(p.value=V[0].target.clientHeight)}),s=$(()=>e.height==="auto"?p.value:parseInt(e.height,10));return Ee(()=>e.app,()=>{const V=ct({id:e.name,order:$(()=>parseInt(e.order,10)),position:N(()=>"bottom"),layoutSize:s,elementSize:$(()=>e.height==="auto"?void 0:s.value),active:N(()=>e.app),absolute:N(()=>e.absolute)});pt(()=>{n.value=V.layoutItemStyles.value})}),ge(()=>d(e.tag,{ref:h,class:ne(["v-footer",r.value,o.value,y.value,f.value,b.value,e.class]),style:ee([c.value,e.app?n.value:{height:fe(e.height)},e.style])},i)),{}}});function Ui(e){let{rootEl:l,isSticky:i,layoutItemStyles:n}=e;const r=me(!1),o=me(0),c=$(()=>{const b=typeof r.value=="boolean"?"top":r.value;return[i.value?{top:"auto",bottom:"auto",height:void 0}:void 0,r.value?{[b]:fe(o.value)}:{top:n.value.top}]});we(()=>{te(i,b=>{b?window.addEventListener("scroll",f,{passive:!0}):window.removeEventListener("scroll",f)},{immediate:!0})}),Te(()=>{window.removeEventListener("scroll",f)});let y=0;function f(){const b=y>window.scrollY?"up":"down",p=l.value.getBoundingClientRect(),h=parseFloat(n.value.top??0),s=window.scrollY-Math.max(0,o.value-h),V=p.height+Math.max(o.value,h)-window.scrollY-window.innerHeight,E=parseFloat(getComputedStyle(l.value).getPropertyValue("--v-body-scroll-y"))||0;p.height<window.innerHeight-h?(r.value="top",o.value=h):b==="up"&&r.value==="bottom"||b==="down"&&r.value==="top"?(o.value=window.scrollY+p.top-E,r.value=!0):b==="down"&&V<=0?(o.value=0,r.value="bottom"):b==="up"&&s<=0&&(E?r.value!=="top"&&(o.value=-s+E+h,r.value="top"):(o.value=p.top+s,r.value="top")),y=window.scrollY}return{isStuck:r,stickyStyles:c}}const Yi=100,Xi=20;function Dt(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function Ft(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let l=0;for(let i=e.length-1;i>0;i--){if(e[i].t===e[i-1].t)continue;const n=Dt(l),r=(e[i].d-e[i-1].d)/(e[i].t-e[i-1].t);l+=(r-n)*Math.abs(r),i===e.length-1&&(l*=.5)}return Dt(l)*1e3}function ji(){const e={};function l(r){Array.from(r.changedTouches).forEach(o=>{(e[o.identifier]??(e[o.identifier]=new Ma(Xi))).push([r.timeStamp,o])})}function i(r){Array.from(r.changedTouches).forEach(o=>{delete e[o.identifier]})}function n(r){const o=e[r]?.values().reverse();if(!o)throw new Error(`No samples for touch id ${r}`);const c=o[0],y=[],f=[];for(const b of o){if(c[0]-b[0]>Yi)break;y.push({t:b[0],d:b[1].clientX}),f.push({t:b[0],d:b[1].clientY})}return{x:Ft(y),y:Ft(f),get direction(){const{x:b,y:p}=this,[h,s]=[Math.abs(b),Math.abs(p)];return h>s&&b>=0?"right":h>s&&b<=0?"left":s>h&&p>=0?"down":s>h&&p<=0?"up":Gi()}}}return{addMovement:l,endTouch:i,getVelocity:n}}function Gi(){throw new Error}function Ki(e){let{el:l,isActive:i,isTemporary:n,width:r,touchless:o,position:c}=e;we(()=>{window.addEventListener("touchstart",W,{passive:!0}),window.addEventListener("touchmove",B,{passive:!1}),window.addEventListener("touchend",M,{passive:!0})}),Te(()=>{window.removeEventListener("touchstart",W),window.removeEventListener("touchmove",B),window.removeEventListener("touchend",M)});const y=$(()=>["left","right"].includes(c.value)),{addMovement:f,endTouch:b,getVelocity:p}=ji();let h=!1;const s=me(!1),V=me(0),E=me(0);let F;function z(m,w){return(c.value==="left"?m:c.value==="right"?document.documentElement.clientWidth-m:c.value==="top"?m:c.value==="bottom"?document.documentElement.clientHeight-m:Ie())-(w?r.value:0)}function X(m){let w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const L=c.value==="left"?(m-E.value)/r.value:c.value==="right"?(document.documentElement.clientWidth-m-E.value)/r.value:c.value==="top"?(m-E.value)/r.value:c.value==="bottom"?(document.documentElement.clientHeight-m-E.value)/r.value:Ie();return w?La(L):L}function W(m){if(o.value)return;const w=m.changedTouches[0].clientX,L=m.changedTouches[0].clientY,D=25,A=c.value==="left"?w<D:c.value==="right"?w>document.documentElement.clientWidth-D:c.value==="top"?L<D:c.value==="bottom"?L>document.documentElement.clientHeight-D:Ie(),q=i.value&&(c.value==="left"?w<r.value:c.value==="right"?w>document.documentElement.clientWidth-r.value:c.value==="top"?L<r.value:c.value==="bottom"?L>document.documentElement.clientHeight-r.value:Ie());(A||q||i.value&&n.value)&&(F=[w,L],E.value=z(y.value?w:L,i.value),V.value=X(y.value?w:L),h=E.value>-20&&E.value<80,b(m),f(m))}function B(m){const w=m.changedTouches[0].clientX,L=m.changedTouches[0].clientY;if(h){if(!m.cancelable){h=!1;return}const A=Math.abs(w-F[0]),q=Math.abs(L-F[1]);(y.value?A>q&&A>3:q>A&&q>3)?(s.value=!0,h=!1):(y.value?q:A)>3&&(h=!1)}if(!s.value)return;m.preventDefault(),f(m);const D=X(y.value?w:L,!1);V.value=Math.max(0,Math.min(1,D)),D>1?E.value=z(y.value?w:L,!0):D<0&&(E.value=z(y.value?w:L,!1))}function M(m){if(h=!1,!s.value)return;f(m),s.value=!1;const w=p(m.changedTouches[0].identifier),L=Math.abs(w.x),D=Math.abs(w.y);(y.value?L>D&&L>400:D>L&&D>3)?i.value=w.direction===({left:"right",right:"left",top:"down",bottom:"up"}[c.value]||Ie()):i.value=V.value>.5}const g=$(()=>s.value?{transform:c.value==="left"?`translateX(calc(-100% + ${V.value*r.value}px))`:c.value==="right"?`translateX(calc(100% - ${V.value*r.value}px))`:c.value==="top"?`translateY(calc(-100% + ${V.value*r.value}px))`:c.value==="bottom"?`translateY(calc(100% - ${V.value*r.value}px))`:Ie(),transition:"none"}:void 0);return Ee(s,()=>{const m=l.value?.style.transform??null,w=l.value?.style.transition??null;pt(()=>{l.value?.style.setProperty("transform",g.value?.transform||"none"),l.value?.style.setProperty("transition",g.value?.transition||null)}),Ea(()=>{l.value?.style.setProperty("transform",m),l.value?.style.setProperty("transition",w)})}),{isDragging:s,dragProgress:V,dragStyles:g}}function Ie(){throw new Error}const Zi=["start","end","left","right","top","bottom"],Ji=pe({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:e=>Zi.includes(e)},sticky:Boolean,...ft(),...De(),...za(),...Oa({mobile:null}),...yt(),...mt(),...vt(),..._t(Na(),["disableInitialFocus"]),...Re({tag:"nav"}),...Ge()},"VNavigationDrawer"),el=he()({name:"VNavigationDrawer",props:Ji(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,l){let{attrs:i,emit:n,slots:r}=l;const{isRtl:o}=Ut(),{themeClasses:c}=ht(e),{borderClasses:y}=st(e),{backgroundColorClasses:f,backgroundColorStyles:b}=Ve(()=>e.color),{elevationClasses:p}=ot(e),{displayClasses:h,mobile:s}=gt(e),{roundedClasses:V}=rt(e),E=Ba(),F=je(e,"modelValue",null,K=>!!K),{ssrBootStyles:z}=ut(),{scopeId:X}=jt(),W=R(),B=me(!1),{runOpenDelay:M,runCloseDelay:g}=Fa(e,K=>{B.value=K}),m=$(()=>e.rail&&e.expandOnHover&&B.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),w=$(()=>Aa(e.location,o.value)),L=N(()=>e.persistent),D=$(()=>!e.permanent&&(s.value||e.temporary)),A=$(()=>e.sticky&&!D.value&&w.value!=="bottom");Ra(e,{isActive:F,localTop:D,contentEl:W}),Ee(()=>e.expandOnHover&&e.rail!=null,()=>{te(B,K=>n("update:rail",!K))}),Ee(()=>!e.disableResizeWatcher,()=>{te(D,K=>!e.permanent&&Fe(()=>F.value=!K))}),Ee(()=>!e.disableRouteWatcher&&!!E,()=>{te(E.currentRoute,()=>D.value&&(F.value=!1))}),te(()=>e.permanent,K=>{K&&(F.value=!0)}),e.modelValue==null&&!D.value&&(F.value=e.permanent||!s.value);const{isDragging:q,dragProgress:S}=Ki({el:W,isActive:F,isTemporary:D,width:m,touchless:N(()=>e.touchless),position:w}),_=$(()=>{const K=D.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):m.value;return q.value?K*S.value:K}),{layoutItemStyles:C,layoutItemScrimStyles:H}=ct({id:e.name,order:$(()=>parseInt(e.order,10)),position:w,layoutSize:_,elementSize:m,active:Da(F),disableTransitions:N(()=>q.value),absolute:$(()=>e.absolute||A.value&&typeof j.value!="string")}),{isStuck:j,stickyStyles:ae}=Ui({rootEl:W,isSticky:A,layoutItemStyles:C}),re=Ve(()=>typeof e.scrim=="string"?e.scrim:null),ve=$(()=>({...q.value?{opacity:S.value*.2,transition:"none"}:void 0,...H.value}));return dt({VList:{bgColor:"transparent"}}),ge(()=>{const K=r.image||e.image;return x(G,null,[d(e.tag,Z({ref:W,onMouseenter:M,onMouseleave:g,class:["v-navigation-drawer",`v-navigation-drawer--${w.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":B.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":D.value,"v-navigation-drawer--persistent":L.value,"v-navigation-drawer--active":F.value,"v-navigation-drawer--sticky":A.value},c.value,f.value,y.value,h.value,p.value,V.value,e.class],style:[b.value,C.value,z.value,ae.value,e.style],inert:!F.value},X,i),{default:()=>[K&&x("div",{key:"image",class:"v-navigation-drawer__img"},[r.image?d(Wa,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},r.image):d(He,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),r.prepend&&x("div",{class:"v-navigation-drawer__prepend"},[r.prepend?.()]),x("div",{class:"v-navigation-drawer__content"},[r.default?.()]),r.append&&x("div",{class:"v-navigation-drawer__append"},[r.append?.()])]}),d(qa,{name:"fade-transition"},{default:()=>[D.value&&(q.value||F.value)&&!!e.scrim&&x("div",Z({class:["v-navigation-drawer__scrim",re.backgroundColorClasses.value],style:[ve.value,re.backgroundColorStyles.value],onClick:()=>{L.value||(F.value=!1)}},X),null)]})])}),{isStuck:j}}}),wt=Symbol.for("vuetify:v-tabs"),oa=pe({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:"horizontal"},..._t(Ya({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),We=he()({name:"VTab",props:oa(),setup(e,l){let{slots:i,attrs:n}=l;const{textColorClasses:r,textColorStyles:o}=Ha(()=>e.sliderColor),{backgroundColorClasses:c,backgroundColorStyles:y}=Ve(()=>e.sliderColor),f=R(),b=R(),p=$(()=>e.direction==="horizontal"),h=$(()=>f.value?.group?.isSelected.value??!1);function s(z,X){return{opacity:[0,1]}}function V(z,X){return e.direction==="vertical"?{transform:["scaleY(0)","scaleY(1)"]}:{transform:["scaleX(0)","scaleX(1)"]}}function E(z,X){const W=X.getBoundingClientRect(),B=z.getBoundingClientRect(),M=p.value?"x":"y",g=p.value?"X":"Y",m=p.value?"right":"bottom",w=p.value?"width":"height",L=W[M],D=B[M],A=L>D?W[m]-B[m]:W[M]-B[M],q=Math.sign(A)>0?p.value?"right":"bottom":Math.sign(A)<0?p.value?"left":"top":"center",_=(Math.abs(A)+(Math.sign(A)<0?W[w]:B[w]))/Math.max(W[w],B[w])||0,C=W[w]/B[w]||0,H=1.5;return{transform:[`translate${g}(${A}px) scale${g}(${C})`,`translate${g}(${A/H}px) scale${g}(${(_-1)/H+1})`,"none"],transformOrigin:Array(3).fill(q)}}function F(z){let{value:X}=z;if(X){const W=f.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"),B=b.value;if(!W||!B)return;const M=getComputedStyle(W).color,g={fade:s,grow:V,shift:E}[e.sliderTransition??"shift"]??E,m=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??"shift"]??225);Xa(B,{backgroundColor:[M,"currentcolor"],...g(B,W)},{duration:m,easing:ja})}}return ge(()=>{const z=Pe.filterProps(e);return d(Pe,Z({symbol:wt,ref:f,class:["v-tab",e.class,h.value&&e.inset?c.value:[]],style:[e.style,h.value&&e.inset?y.value:[]],tabindex:h.value?0:-1,role:"tab","aria-selected":String(h.value),active:!1},z,n,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":F}),{...i,default:()=>x(G,null,[i.default?.()??e.text,!e.hideSlider&&x("div",{ref:b,class:ne(["v-tab__slider",r.value]),style:ee(o.value)},null)])})}),Ua({},f)}}),tl=pe({..._t(na(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),al=he()({name:"VTabsWindow",props:tl(),emits:{"update:modelValue":e=>!0},setup(e,l){let{slots:i}=l;const n=Xt(wt,null),r=je(e,"modelValue"),o=$({get(){return r.value!=null||!n?r.value:n.items.value.find(c=>n.selected.value.includes(c.id))?.value},set(c){r.value=c}});return ge(()=>{const c=At.filterProps(e);return d(At,Z({_as:"VTabsWindow"},c,{modelValue:o.value,"onUpdate:modelValue":y=>o.value=y,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),i)}),{}}}),il=pe({...sa()},"VTabsWindowItem"),ll=he()({name:"VTabsWindowItem",props:il(),setup(e,l){let{slots:i}=l;return ge(()=>{const n=Rt.filterProps(e);return d(Rt,Z({_as:"VTabsWindowItem"},n,{class:["v-tabs-window-item",e.class],style:e.style}),i)}),{}}});function nl(e){return e?e.map(l=>Za(l)?l:{text:l,value:l}):[]}const sl=pe({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,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...Ka(oa(),["spaced","sliderTransition","sliderTransitionDuration"]),...Ga({mandatory:"force",selectedClass:"v-tab-item--selected"}),...Wt(),...Re()},"VTabs"),ol=he()({name:"VTabs",props:sl(),emits:{"update:modelValue":e=>!0},setup(e,l){let{attrs:i,slots:n}=l;const r=je(e,"modelValue"),o=$(()=>nl(e.items)),{densityClasses:c}=zt(e),{backgroundColorClasses:y,backgroundColorStyles:f}=Ve(()=>e.bgColor),{scopeId:b}=jt();return dt({VTab:{color:N(e,"color"),direction:N(e,"direction"),stacked:N(e,"stacked"),fixed:N(e,"fixedTabs"),inset:N(e,"inset"),sliderColor:N(e,"sliderColor"),sliderTransition:N(e,"sliderTransition"),sliderTransitionDuration:N(e,"sliderTransitionDuration"),hideSlider:N(e,"hideSlider")}}),ge(()=>{const p=It.filterProps(e),h=!!(n.window||e.items.length>0);return x(G,null,[d(It,Z(p,{modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},c.value,y.value,e.class],style:[{"--v-tabs-height":fe(e.height),"--v-tabs-inset-padding":e.inset?fe(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?fe(e.insetRadius):void 0},f.value,e.style],role:"tablist",symbol:wt},b,i),{default:n.default??(()=>o.value.map(s=>n.tab?.({item:s})??d(We,Z(s,{key:s.text,value:s.value,spaced:e.spaced}),{default:n[`tab.${s.value}`]?()=>n[`tab.${s.value}`]?.({item:s}):void 0}))),prev:n.prev,next:n.next}),h&&d(al,Z({modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,key:"tabs-window"},b),{default:()=>[o.value.map(s=>n.item?.({item:s})??d(ll,{value:s.value},{default:()=>n[`item.${s.value}`]?.({item:s})})),n.window?.()]})])}),{}}}),ra=function(){const e=localStorage.getItem("frontend.settings.menu_items"),l=e?e.split(","):Pi,i=[];for(const n of l)n==="home"&&i.push({label:"home",icon:"mdi-home-outline",path:"/home",isLibraryNode:!1}),n==="search"&&i.push({label:"search",icon:"mdi-magnify",path:"/search",isLibraryNode:!1}),n==="artists"&&i.push({label:"artists",icon:"mdi-account-outline",path:"/artists",isLibraryNode:!0,hidden:t.libraryArtistsCount===0}),n==="albums"&&i.push({label:"albums",icon:"md:album",path:"/albums",isLibraryNode:!0,hidden:t.libraryAlbumsCount===0}),n==="tracks"&&i.push({label:"tracks",icon:"mdi-music-note",path:"/tracks",isLibraryNode:!0,hidden:t.libraryTracksCount===0}),n==="playlists"&&i.push({label:"playlists",icon:"md:playlist_play",path:"/playlists",isLibraryNode:!0,hidden:t.libraryPlaylistsCount===0}),n==="podcasts"&&i.push({label:"podcasts",icon:"mdi-podcast",path:"/podcasts",isLibraryNode:!0,hidden:t.libraryPodcastsCount===0}),n==="audiobooks"&&i.push({label:"audiobooks",icon:"mdi-book-play-outline",path:"/audiobooks",isLibraryNode:!0,hidden:t.libraryAudiobooksCount===0}),n==="radios"&&i.push({label:"radios",icon:"mdi-access-point",path:"/radios",isLibraryNode:!0,hidden:t.libraryRadiosCount===0}),n==="browse"&&i.push({label:"browse",icon:"mdi-folder-outline",path:"/browse",isLibraryNode:!0}),n==="settings"&&i.push({label:"settings.settings",icon:"mdi-cog-outline",path:"/settings",isLibraryNode:!0});return i},rl={key:0,class:"sidebar-header-title"},ul=U({__name:"Navigation",setup(e){const l=ei(),i=ra(),n=localStorage.getItem("frontend.settings.collapsed"),r=R(n==="true"),o=()=>{r.value=!r.value,localStorage.setItem("frontend.settings.collapsed",r.value.toString())};return(c,y)=>(u(),P("nav",{class:ne(["sidebar",{collapsed:r.value}])},[x("div",{class:"sidebar-header",onClick:y[0]||(y[0]=f=>a(l).push({name:"home"}))},[x("img",{src:Ja,alt:"Music Assistant",class:"sidebar-header-logo",onClick:o}),r.value?k("",!0):(u(),P("div",rl,"Music Assistant"))]),d($e,{class:"sidebar-list"},{default:v(()=>[(u(!0),P(G,null,ce(a(i),f=>(u(),Q(Me,{key:f.label,slim:"",nav:"",class:"menuButton",to:f.path},Gt({default:v(()=>[r.value?(u(),Q(ie,{key:0,icon:f.icon,size:"24px"},null,8,["icon"])):k("",!0),r.value?k("",!0):(u(),Q(ti,{key:1,textContent:I(c.$t(f.label))},null,8,["textContent"]))]),_:2},[r.value?void 0:{name:"prepend",fn:v(()=>[d(ie,{icon:f.icon,size:"24px"},null,8,["icon"])]),key:"0"}]),1032,["to"]))),128))]),_:1}),x("div",{class:ne(r.value?"d-flex justify-center":"ml-auto")},[d(Pe,{icon:r.value?"mdi-dock-left":"mdi-dock-right",class:"cursor-pointer mt-1",variant:"plain",onClick:o},null,8,["icon"])],2)],2))}}),cl=oe(ul,[["__scopeId","data-v-5af0a01e"]]),dl={class:"media-thumb"},ml={style:{"margin-left":"-10px","padding-right":"5px"}},vl=U({__name:"AddToPlaylistDialog",setup(e){const l=R(!1),i=R([]),n=R([]),r=R(),o=R([]);we(()=>{Ce.on("playlistdialog",async p=>{l.value=!0,o.value=p.items,r.value=p.parentItem,await c()}),Te(()=>{Ce.off("playlistdialog")})});const c=async function(){i.value=[],n.value=[];const p=await T.getLibraryPlaylists();let h=o.value.length?o.value[0]:void 0;if(h){"provider_mappings"in h||(h=await T.getItem(h.media_type,h.item_id,h.provider));for(const s of p){if(!s.provider_mappings.filter(E=>E.available).length||!s.is_editable||r.value&&r.value.media_type===O.PLAYLIST&&s.item_id===r.value.item_id)continue;const V=T.providers[s.provider_mappings[0].provider_instance];V&&(V.domain=="builtin"||V.is_streaming_provider||h?.provider_mappings.filter(E=>E.provider_instance==V.instance_id).length)&&i.value.push(s)}for(const s of Object.values(T.providers))s.supported_features.includes(Ct.PLAYLIST_CREATE)&&s.supported_features.includes(Ct.PLAYLIST_TRACKS_EDIT)&&(s.domain=="builtin"||s.is_streaming_provider||h?.provider_mappings.filter(V=>V.provider_instance==s.instance_id).length)&&n.value.push(s.instance_id)}},y=async function(p){T.addPlaylistTracks(p.item_id,o.value.map(h=>h.uri)),b(),ai.info(J("background_task_added"))},f=async function(p){const h=prompt(J("new_playlist_name"));if(!h)return;const s=await T.createPlaylist(h,p);y(s)},b=function(){l.value=!1};return(p,h)=>(u(),Q(aa,{modelValue:l.value,"onUpdate:modelValue":[h[0]||(h[0]=s=>l.value=s),h[1]||(h[1]=s=>{a(t).dialogActive=s})],fullscreen:"",transition:"dialog-bottom-transition"},{default:v(()=>[d(Ue,null,{default:v(()=>[d(wi,{icon:"mdi-playlist-plus",title:a(J)("add_playlist"),"menu-items":[{label:"close",icon:"mdi-close",action:b}]},null,8,["title","menu-items"]),d(tt),h[4]||(h[4]=x("br",null,null,-1)),d($e,null,{default:v(()=>[(u(!0),P(G,null,ce(i.value,s=>(u(),P("div",{key:s.item_id},[d(Me,{onClick:V=>y(s)},{prepend:v(()=>[x("div",dl,[d(Be,{item:s,size:50},null,8,["item"])])]),title:v(()=>[x("div",null,I(s.name),1)]),subtitle:v(()=>[x("div",null,I(s.owner),1)]),append:v(()=>[s.provider_mappings?(u(),Q(et,{key:0,domain:s.provider_mappings[0].provider_domain,size:20},null,8,["domain"])):k("",!0)]),_:2},1032,["onClick"])]))),128)),h[2]||(h[2]=x("div",{style:{height:"30px"}},null,-1)),d(tt),h[3]||(h[3]=x("div",{style:{height:"30px"}},null,-1)),(u(!0),P(G,null,ce(n.value,s=>(u(),P("div",{key:s},[d(Me,{onClick:V=>f(s)},{prepend:v(()=>[x("div",ml,[d(et,{domain:a(T).providers[s].domain,size:50},null,8,["domain"])])]),title:v(()=>[x("div",null,I(a(J)("new_playlist")),1)]),subtitle:v(()=>[x("div",null,I(a(J)("create_playlist_on",[a(T).providers[s].name])),1)]),append:v(()=>[d(et,{domain:a(T).providers[s].domain,size:20},null,8,["domain"])]),_:2},1032,["onClick"])]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),yl=oe(vl,[["__scopeId","data-v-8f34ca82"]]),fl={class:"content-section"},hl=U({__name:"View",setup(e){return(l,i)=>{const n=li("router-view");return u(),Q(ii,{id:"cont",class:ne(["main-layout",{"main-layout--mobile":a(t).mobileLayout}])},{default:v(()=>[a(t).mobileLayout?k("",!0):(u(),Q(cl,{key:0,class:"nav-section"})),x("div",fl,[d(n,null,{default:v(({Component:r})=>[(u(),Q(ni(r)))]),_:1}),d(yl),d(Ei)])]),_:1},8,["class"])}}}),qt=oe(hl,[["__scopeId","data-v-544f60a2"]]),pl=e=>{const l=$(()=>{const{variant:o,width:c,height:y,staticWidth:f,staticHeight:b,maxWidth:p,maxHeight:h,minWidth:s,minHeight:V,badge:E,...F}=e,z={...F,size:e.size||f||void 0||b||void 0||(e.maxHeight?e.maxHeight:void 0)||(e.maxWidth?e.maxWidth:void 0)||"24px"};return ki(o).with("button",()=>({...z,class:e.class?`icon-button ${e.class}`:"icon-button"})).with("responsive",()=>({...z,class:e.class?`icon-responsive ${e.class}`:"icon-responsive"})).with("default",()=>({...z,class:e.class?`icon-default ${e.class}`:"icon-default"})).otherwise(()=>({...z,class:e.class?`icon-default ${e.class}`:"icon-default"}))}),i=$(()=>{const o={};if(e.staticWidth?o.width=e.staticWidth:e.width&&(o.width=e.width),e.staticHeight?o.height=e.staticHeight:e.height&&(o.height=e.height),e.maxWidth&&(o.maxWidth=e.maxWidth),e.maxHeight&&(o.maxHeight=e.maxHeight),e.minWidth&&(o.minWidth=e.minWidth),e.minHeight&&(o.minHeight=e.minHeight),typeof e.style=="object")Object.assign(o,e.style);else if(typeof e.style=="string"){const c=e.style.split(";").reduce((y,f)=>{const[b,p]=f.split(":").map(h=>h.trim());return b&&p&&(y[b]=p),y},{});Object.assign(o,c)}return o}),n=$(()=>Mt("icon-container",e.variant&&`icon-container--${e.variant}`,e.disabled&&"icon-container--disabled")),r=$(()=>Mt("icon",e.variant&&`icon--${e.variant}`));return{iconProps:l,containerStyle:i,containerClasses:n,iconClasses:r}},gl={variant:"default",minWidth:"24px",minHeight:"24px",badge:!1,disabled:!1},_l=U({__name:"Icon",props:si({variant:{},width:{},height:{},staticWidth:{},staticHeight:{},maxWidth:{},maxHeight:{},minWidth:{},minHeight:{},icon:{},color:{},disabled:{type:Boolean},size:{},badge:{type:Boolean},class:{},style:{}},gl),emits:["click"],setup(e,{emit:l}){const i=e,n=l,{iconProps:r,containerStyle:o,containerClasses:c,iconClasses:y}=pl(i),f=R(),b=R(),p=async()=>{if(!(i.variant!=="responsive"||!f.value||!b.value)){await Fe();try{const s=f.value.offsetWidth,V=f.value.offsetHeight,E=Math.min(s,V);b.value.$el&&(b.value.$el.style.fontSize=`${E}px`)}catch(s){console.error("Icon sizing adjustment failed:",s)}}},h=s=>{if(i.disabled){s.preventDefault(),s.stopPropagation();return}n("click",s)};return we(()=>{i.variant==="responsive"&&(p(),window.addEventListener("resize",p))}),Te(()=>{i.variant==="responsive"&&window.removeEventListener("resize",p)}),(s,V)=>(u(),P("div",{ref_key:"iconContainer",ref:f,class:ne(a(c)),style:ee(a(o)),onClick:h},[d(it,{"model-value":e.badge===!0,color:"error",dot:""},{default:v(()=>[d(a(ie),Z({ref_key:"iconElement",ref:b},a(r),{class:a(y)}),Gt({_:2},[ce(s.$slots,(E,F)=>({name:F,fn:v(()=>[oi(s.$slots,F,{},void 0,!0)])}))]),1040,["class"])]),_:3},8,["model-value"])],6))}}),xe=oe(_l,[["__scopeId","data-v-3db51b10"]]),ua=U({__name:"RepeatBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){return(l,i)=>e.isVisible&&e.playerQueue?(u(),Q(xe,Z({key:0},e.icon,{disabled:!e.playerQueue.active||e.playerQueue.items==0,color:a(Qe)(e.icon?.color,[[e.playerQueue.repeat_mode==a(ue).OFF,null],[e.playerQueue.repeat_mode==a(ue).ALL,"primary"],[e.playerQueue.repeat_mode==a(ue).ONE,"primary"]]),icon:a(Qe)(e.icon?.icon,[[e.playerQueue.repeat_mode==a(ue).OFF,"mdi-repeat-off"],[e.playerQueue.repeat_mode==a(ue).ALL,"mdi-repeat"],[e.playerQueue.repeat_mode==a(ue).ONE,"mdi-repeat-once"],[!0,"mdi-repeat-off"]]),variant:"button",onClick:i[0]||(i[0]=n=>a(T).queueCommandRepeat(e.playerQueue.queue_id||"",a(Qe)(null,[[e.playerQueue.repeat_mode==a(ue).OFF,a(ue).ONE],[e.playerQueue.repeat_mode==a(ue).ALL,a(ue).OFF],[e.playerQueue.repeat_mode==a(ue).ONE,a(ue).ALL]])))}),null,16,["disabled","color","icon"])):k("",!0)}});function Ke(e){return{activeSource:$(()=>{const i=typeof e=="object"&&"value"in e?e.value:e;if(!(!i?.active_source||!i?.source_list))return i.source_list.find(n=>n.id===i.active_source)})}}const ca=U({__name:"NextBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){const l=e,{activeSource:i}=Ke(N(l,"player")),n=$(()=>l.playerQueue?.active?(l.playerQueue.current_index||0)<l.playerQueue.items-1:!1),r=$(()=>!l.player||l.playerQueue?.active||!l.player.current_media?!1:l.player.supported_features.includes(ye.NEXT_PREVIOUS)),o=$(()=>i.value?i.value.can_next_previous:n.value||r.value);return(c,y)=>e.isVisible&&e.player?(u(),Q(xe,Z({key:0},e.icon,{disabled:!o.value,icon:"mdi-skip-next-outline",variant:"button",onClick:y[0]||(y[0]=f=>a(T).playerCommandNext(e.player.player_id))}),null,16,["disabled"])):k("",!0)}}),da=U({__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(e){const l=e,{activeSource:i}=Ke(N(l,"player")),n=$(()=>l.playerQueue?l.playerQueue.items>0:!1),r=$(()=>!(!l.player||l.playerQueue?.active||!l.player.current_media)),o=$(()=>i.value?i.value.can_play_pause:n.value||r.value),c=$(()=>l.player?.playback_state==Ae.PLAYING?"mdi-pause":"mdi-play");return(y,f)=>e.isVisible&&e.player?(u(),Q(xe,Z({key:0},e.icon,{disabled:!o.value,icon:e.iconStyle?`${c.value}-${e.iconStyle}`:c.value,variant:"button",onClick:f[0]||(f[0]=b=>a(T).playerCommandPlayPause(e.player.player_id))}),null,16,["disabled","icon"])):k("",!0)}}),ma=U({__name:"PreviousBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){const l=e,{activeSource:i}=Ke(N(l,"player")),n=$(()=>!l.playerQueue?.active||!l.playerQueue?.items||!l.playerQueue.current_index?!1:l.playerQueue.current_index>0),r=$(()=>!l.player||l.playerQueue?.active||!l.player.current_media?!1:l.player.supported_features.includes(ye.NEXT_PREVIOUS)),o=$(()=>i.value?i.value.can_next_previous:n.value||r.value);return(c,y)=>e.isVisible&&e.player?(u(),Q(xe,Z({key:0},e.icon,{disabled:!o.value,icon:"mdi-skip-previous-outline",variant:"button",onClick:y[0]||(y[0]=f=>a(T).playerCommandPrevious(e.player.player_id))}),null,16,["disabled"])):k("",!0)}}),va=U({__name:"ShuffleBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){return(l,i)=>e.isVisible&&e.playerQueue?(u(),Q(xe,Z({key:0},e.icon,{disabled:!e.playerQueue.active||e.playerQueue.items==0,color:a(Qe)(e.icon?.color,[[e.playerQueue.shuffle_enabled,"primary",""]]),icon:a(Qe)(e.icon?.icon,[[e.playerQueue.shuffle_enabled,"mdi-shuffle"],[e.playerQueue.shuffle_enabled==!1,"mdi-shuffle-disabled"],[!0,"mdi-shuffle"]]),variant:"button",onClick:i[0]||(i[0]=n=>a(T).queueCommandShuffle(e.playerQueue.queue_id,!e.playerQueue.shuffle_enabled))}),null,16,["disabled","color","icon"])):k("",!0)}}),bl={key:0,class:"player-controls"},Pl={key:0,class:"player-controls-elements"},wl={key:1,class:"player-controls-elements"},kl={key:2},xl={key:3,class:"player-controls-elements"},Il={key:4,class:"player-controls-elements"},Ot=U({__name:"PlayerControls",props:{visibleComponents:{default:()=>({repeat:{isVisible:!0},shuffle:{isVisible:!0},play:{isVisible:!0},previous:{isVisible:!0},next:{isVisible:!0}})}},setup(e){return(l,i)=>e.visibleComponents?(u(),P("div",bl,[e.visibleComponents&&e.visibleComponents.shuffle?.isVisible?(u(),P("div",Pl,[d(va,{"player-queue":a(t).activePlayerQueue,class:"media-controls-item",icon:e.visibleComponents.shuffle.icon},null,8,["player-queue","icon"])])):k("",!0),e.visibleComponents&&e.visibleComponents.previous?.isVisible?(u(),P("div",wl,[d(ma,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item",icon:e.visibleComponents.previous.icon},null,8,["player","player-queue","icon"])])):k("",!0),e.visibleComponents&&e.visibleComponents.play?.isVisible?(u(),P("div",kl,[d(da,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","icon-style":"circle",icon:e.visibleComponents.play.icon},null,8,["player","player-queue","icon"])])):k("",!0),e.visibleComponents&&e.visibleComponents.next?.isVisible?(u(),P("div",xl,[d(ca,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,icon:e.visibleComponents.next.icon,"static-height":"24px","static-width":"24px"},null,8,["player","player-queue","icon"])])):k("",!0),e.visibleComponents&&e.visibleComponents.repeat?.isVisible?(u(),P("div",Il,[d(ua,{"player-queue":a(t).activePlayerQueue,icon:e.visibleComponents.repeat.icon,"static-height":"24px","static-width":"24px"},null,8,["player-queue","icon"])])):k("",!0)])):k("",!0)}}),ya=U({__name:"QueueBtn",props:{isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){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,n)=>e.isVisible?(u(),Q(xe,Z({key:0},e.icon,{disabled:!a(t).activePlayerId||a(t).showFullscreenPlayer&&!a(t).curQueueItem&&!a(t).showQueueItems,icon:"mdi-playlist-play",color:a(Qe)(e.icon?.color,[[a(t).showFullscreenPlayer&&a(t).showQueueItems,"primary",""]]),variant:"button",onClick:l}),null,16,["disabled","color"])):k("",!0)}}),fa=U({__name:"SpeakerBtn",props:{color:{}},setup(e){return(l,i)=>(u(),Q(be,{variant:"icon",ripple:!1,icon:"",onClick:i[0]||(i[0]=n=>a(t).showPlayersMenu=!0)},{default:v(()=>[d(ie,{color:e.color?e.color:"",size:24,icon:a(t).activePlayer?.group_members.length?"mdi-speaker-multiple":"mdi-speaker"},null,8,["color","icon"])]),_:1}))}}),Cl={key:0},$l={key:0},Ql={class:"text-caption"},Sl={key:1},Vl=U({__name:"VolumeBtn",props:{volumeSize:{default:"150px"},responsiveVolumeSize:{type:Boolean,default:!0},isVisible:{type:Boolean,default:!0},color:{default:""}},setup(e){const l=e,i=R(!1),n=R(0);t.activePlayer&&(n.value=Math.round(t.activePlayer.group_members.length>0?t.activePlayer.group_volume:t.activePlayer.volume_level||0)),te(()=>t.activePlayer,o=>{o&&(n.value=Math.round(o.group_members.length>0?o.group_volume:o.volume_level||0))},{immediate:!0,deep:!0});const r=$(()=>{if(!t.activePlayer)return"mdi-volume-high";if(t.activePlayer.volume_muted)return"mdi-volume-mute";const o=n.value;return o===0?"mdi-volume-low":o<50?"mdi-volume-medium":"mdi-volume-high"});return(o,c)=>l.isVisible&&a(t).activePlayer?(u(),P("div",Cl,[d(bt,{modelValue:i.value,"onUpdate:modelValue":c[2]||(c[2]=y=>i.value=y),class:"volume-control-dialog","close-on-content-click":!1,location:"top",scrim:o.$vuetify.theme.current.dark?"rgba(0,0,0,.75)":"rgba(0,0,0,.85)"},{activator:v(({props:y})=>[a(le)("bp6")||!e.responsiveVolumeSize?(u(),P("div",$l,[d(Pt,{style:"margin-right: 0px; margin-left: 0px;",width:e.volumeSize,"is-powered":a(t).activePlayer?.powered!=!1,disabled:!a(t).activePlayer?.available||a(t).activePlayer?.powered==!1||!a(t).activePlayer?.supported_features.includes(a(ye).VOLUME_SET),"model-value":a(t).activePlayer.group_members.length>0?Math.round(a(t).activePlayer?.group_volume||0):Math.round(a(t).activePlayer?.volume_level||0),"allow-wheel":!0,"onUpdate:modelValue":c[0]||(c[0]=f=>a(t).activePlayer.group_members.length>0?a(T).playerCommandGroupVolume(a(t).activePlayer?.player_id||"",f):a(T).playerCommandVolumeSet(a(t).activePlayer?.player_id||"",f)),"onUpdate:localValue":c[1]||(c[1]=f=>n.value=f)},{prepend:v(()=>[d(be,Z({variant:"icon",size:"48",ripple:!1},{...y}),{default:v(()=>[d(ie,{color:l.color?e.color:"",size:24,icon:r.value},null,8,["color","icon"]),x("div",Ql,I(Math.round(n.value)),1)]),_:1},16)]),_:2},1032,["width","is-powered","disabled","model-value"])])):(u(),P("div",Sl,[d(be,Z({...y},{size:"48",variant:"icon"}),{default:v(()=>[d(ie,{color:l.color?e.color:"",icon:r.value},null,8,["color","icon"]),x("div",{class:"text-caption",style:ee({color:l.color?e.color:""})},I(Math.round(n.value)),5)]),_:1},16)]))]),default:v(()=>[d(Ue,{"min-width":300,style:{overflow:"hidden","padding-top":"20px","padding-bottom":"20px","padding-right":"20px"}},{default:v(()=>[a(t).activePlayer?(u(),Q(xi,{key:0,player:a(t).activePlayer,"show-sub-players":!0,"show-sync-controls":!1,"show-heading-row":!0,"show-volume-control":!0,"allow-wheel":!0,style:{"margin-left":"18px"}},null,8,["player"])):k("",!0)]),_:1})]),_:1},8,["modelValue","scrim"])])):k("",!0)}}),Tl=oe(Vl,[["__scopeId","data-v-bdfdc6da"]]),Ml=U({__name:"PlayerExtendedControls",props:{queue:{default:()=>({isVisible:!0,showQueueDialog:!1})},player:{default:()=>({isVisible:!0})},volume:{default:()=>({isVisible:!0,volumeSize:"150px",responsiveVolumeSize:!1})}},setup(e){return(l,i)=>(u(),P(G,null,[e.player&&e.player.isVisible?(u(),Q(fa,{key:0,color:e.player.color},null,8,["color"])):k("",!0),e.queue&&e.queue.isVisible?(u(),Q(ya,{key:1,color:e.player.color,style:{"padding-left":"15px","padding-right":"20px"}},null,8,["color"])):k("",!0),e.volume&&e.volume.isVisible?(u(),Q(Tl,{key:2,color:e.volume.color,"volume-size":e.volume.volumeSize,"responsive-volume-size":e.volume.responsiveVolumeSize},null,8,["color","volume-size","responsive-volume-size"])):k("",!0)],64))}});function Se(e,l,i){if(e===void 0||l===void 0||i!==void 0&&i!==Ae.PLAYING)return e;const n=l*1e3,r=Date.now(),c=Math.max(0,r-n)/1e3;return e+c}const Ll={style:{width:"auto",height:"24px"}},El={key:0,style:{width:"100%"}},Bl=["onClick"],Al={key:0,class:"time-text-row"},Rl={class:"text-caption time-text-right"},Dl=U({__name:"PlayerTimeline",props:{showLabels:{type:Boolean,default:!1},color:{default:void 0}},setup(e){const{activeSource:l}=Ke(N(t,"activePlayer")),i=R(!1),n=R(!0),r=R(!1),o=R(0),c=R(0),y=R(0);let f=null;const b=(B=500)=>{f||(f=setInterval(()=>y.value=Date.now(),B))},p=()=>{f&&(clearInterval(f),f=null)};Kt(()=>{p()});const h=$(()=>{if(l.value){if(t.activePlayer?.powered===!1)return!1;const B=!!t.curQueueItem?.duration,g=!!t.activePlayer?.current_media?.duration;return t.curQueueItem?.media_item?.media_type==O.RADIO||t.activePlayer?.current_media?.media_type==O.RADIO?!1:!!(l.value.can_seek&&(B||g))}return!(t.curQueueItem?.media_item?.media_type==O.RADIO||t.activePlayer?.powered==!1||!t.curQueueItem||!t.curQueueItem.media_item||!t.curQueueItem.duration)}),s=$(()=>{if(t.curQueueItem)return i.value?`-${ke(t.curQueueItem.duration-E.value)}`:`${ke(E.value)}`;if(t.activePlayer?.current_media?.elapsed_time!=null||t.activePlayer?.elapsed_time!=null){const B=E.value||0;return i.value&&t.activePlayer?.current_media?.duration?`-${ke(t.activePlayer.current_media.duration-B)}`:`${ke(B)}`}return"0:00"}),V=$(()=>{const B=t.curQueueItem?.duration||t.activePlayer?.current_media?.duration;return!B||t.curQueueItem?.media_item?.media_type==O.RADIO||t.activePlayer?.current_media?.media_type==O.RADIO?"":ke(B)}),E=$(()=>{y.value;const B=t.activePlayer?.playback_state==="playing",M=!!(t.activePlayerQueue&&t.activePlayerQueue.active),g=t.activePlayer?.current_media?.elapsed_time!=null;if(B&&(M||g)?b():p(),r.value)return c.value=o.value,o.value;const m=t.activePlayerQueue;return m?.elapsed_time!=null&&m?.elapsed_time_last_updated!=null?Se(m.elapsed_time,m.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:t.activePlayer?.current_media?.elapsed_time!=null&&t.activePlayer?.current_media?.elapsed_time_last_updated!=null?Se(t.activePlayer.current_media.elapsed_time,t.activePlayer.current_media.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:t.activePlayer?.elapsed_time!=null&&t.activePlayer?.elapsed_time_last_updated!=null?Se(t.activePlayer.elapsed_time,t.activePlayer.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:0}),F=$(()=>{const B={};return t.curQueueItem?.media_item?.metadata?.chapters&&t.curQueueItem.media_item.metadata.chapters.forEach(M=>{B[M.start]=M.name}),B});te(E,B=>{r.value||(o.value=B)});const z=function(){r.value=!0},X=()=>{r.value=!1,!r.value&&t.activePlayer&&T.playerCommandSeek(t.activePlayer.player_id,Math.round(c.value))},W=function(B){if(t.curQueueItem?.media_item?.metadata?.chapters){for(const M of t.curQueueItem.media_item.metadata.chapters)if(M.start==B){T.playMedia(t.curQueueItem.media_item.uri,void 0,void 0,M.position.toString());return}}};return(B,M)=>(u(),P("div",Ll,[a(t).activePlayer?(u(),P("div",El,[d(Ci,{modelValue:o.value,"onUpdate:modelValue":M[0]||(M[0]=g=>o.value=g),disabled:!h.value,style:{width:"100%"},min:0,max:a(t).curQueueItem?.duration||a(t).activePlayer?.current_media?.duration,"hide-details":"","track-size":4,"thumb-size":n.value?0:10,"show-ticks":F.value?"always":!1,ticks:F.value,"tick-size":"4",color:e.color,onTouchstart:M[1]||(M[1]=g=>n.value=!1),onTouchend:M[2]||(M[2]=g=>n.value=!0),onMouseenter:M[3]||(M[3]=g=>n.value=!1),onMouseleave:M[4]||(M[4]=g=>n.value=!0),onStart:z,onEnd:X},{"tick-label":v(({tick:g})=>[e.showLabels&&!n.value&&Object.values(F.value).length<6?(u(),P("a",{key:0,class:"text-caption",onClick:m=>W(g.value)},I(g.label),9,Bl)):k("",!0)]),_:1},8,["modelValue","disabled","max","thumb-size","show-ticks","ticks","color"]),e.showLabels?(u(),P("div",Al,[x("div",{class:"text-caption time-text-left",onClick:M[5]||(M[5]=g=>i.value?i.value=!1:i.value=!0)},I(s.value),1),x("div",Rl,I(V.value),1)])):k("",!0)])):k("",!0)]))}}),ha=oe(Dl,[["__scopeId","data-v-1b667236"]]),Fl={class:"lyrics-container"},ql={key:0,class:"lyrics-loading"},Ol={key:1,class:"lyrics-empty"},zl={key:2,class:"lyrics-intro"},Nl={class:"song-title"},Wl={class:"artist-name"},Hl={class:"lyrics-coming-soon"},Ul=U({__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(e){Zt(g=>({v3c09aed1:g.textColor}));const l=e,i=(g,m=!0)=>{if(m&&!l.debugMode)return;(m?console.debug:console.log)(`[lyricSynch] ${g}`)},n=R([]),r=R(!1),o=R(-1),c=R(null),y=R(!1),f=R(0),b=R(0),p=$(()=>{if(!s.value||!n.value.length)return!1;const g=n.value[0].time,m=l.position||0;return o.value===-1&&m<g}),h=$(()=>{if(!l.mediaItem)return"";if("media_type"in l.mediaItem&&l.mediaItem.media_type==="track"){const g=l.mediaItem;if(g.artists?.length)return g.artists.map(m=>m.name).join(", ")}return"media_type"in l.mediaItem&&l.mediaItem.media_type==="artist"?l.mediaItem.name:""});$(()=>{const g=l.mediaItem?.metadata?.lyrics,m=l.mediaItem?.metadata?.lrc_lyrics;return!!g&&g.trim().length>0||!!m&&m.trim().length>0});const s=$(()=>{if(n.value.some(w=>w.time>0))return!0;const g=l.mediaItem?.metadata?.lrc_lyrics,m=l.mediaItem?.metadata?.lyrics;return!!(g&&g.includes("[")||m&&/\[\d+:\d+[.:]?\d*\]/.test(m))}),V=g=>{const m=g.match(/\[(\d+):(\d+)([.:]\d+)?\](.*)/);if(m){const w=parseInt(m[1]);let L=parseInt(m[2]),D=0;if(m[3]){const S=m[3].replace(/[.:]/,".");D=Math.round(parseFloat(S)*1e3)}return{time:(w*60*1e3+L*1e3+D)/1e3,text:m[4].trim()||" "}}return{time:0,text:g.trim()||" "}},E=()=>{if(!l.mediaItem){n.value=[];return}r.value=!0;try{const g=l.mediaItem.metadata?.lrc_lyrics||"",m=l.mediaItem.metadata?.lyrics||"";let w="",L=!1;if(g?(w=g,L=!0):m&&/\[\d+:\d+[.:]?\d*\]/.test(m)?(w=m,L=!0):m&&(w=m,L=!1),L){const D=w.split(`
|
|
2
|
-
`).filter(A=>A.trim());n.value=D.map(A=>V(A)).filter(A=>A.text.trim()).sort((A,q)=>A.time-q.time),i(`Loaded ${n.value.length} synchronized lyrics lines`,!1)}else if(w){const D=w.split(`
|
|
3
|
-
`).filter(A=>A.trim());n.value=D.map(A=>({time:0,text:A.trim()})).filter(A=>A.text),i(`Loaded ${n.value.length} plain text lyrics lines`,!1)}else n.value=[]}catch(g){i(`Error processing lyrics: ${g}`,!1),n.value=[]}finally{r.value=!1}},F=g=>{const m=g;i(`Calculating look-ahead at ${g.toFixed(3)}s`);let w=-1,L=-1;for(let re=0;re<n.value.length;re++)if(n.value[re].time<=m)w=re;else{L=re;break}if(i(`Current lyric index: ${w}, Next lyric index: ${L}`),L===0){const ve=n.value[0].time-m;if(i(`Pre-lyrics intro: ${ve.toFixed(2)}s until first lyric`),ve>5){i("Long intro - using fixed look-ahead: 0.3s"),f.value=.3;return}else if(ve>2){const K=Math.min(1,ve*.15);i(`Medium intro - calculated look-ahead: ${K.toFixed(2)}s`),f.value=K;return}i("Short intro - using standard calculation")}if(L===-1||w===-1){i("Cannot determine appropriate look-ahead, using default: 0.3s"),f.value=.3;return}const D=n.value[w].time,A=n.value[L].time,q=A-D,S=f.value;i(`Gap analysis:
|
|
4
|
-
- Current lyric time: ${D.toFixed(3)}s
|
|
5
|
-
- Next lyric time: ${A.toFixed(3)}s
|
|
6
|
-
- Gap between lyrics: ${q.toFixed(3)}s
|
|
7
|
-
- Previous look-ahead: ${S.toFixed(3)}s`);let _;q<.5?(_=.3,i(`Very rapid lyrics detected (${q.toFixed(2)}s gap) - using 30% look-ahead`)):q<.8?(_=.1,i(`Fast lyrics detected (${q.toFixed(2)}s gap) - using 10% look-ahead`)):q<1.5?(_=.2,i(`Medium lyrics detected (${q.toFixed(2)}s gap) - using 20% look-ahead`)):q<3?(_=.3,i(`Slower lyrics detected (${q.toFixed(2)}s gap) - using 30% look-ahead`)):q>10?(_=.02,i(`Very slow lyrics detected (${q.toFixed(2)}s gap) - using 2% look-ahead`)):(_=.4,i(`Slow lyrics detected (${q.toFixed(2)}s gap) - using 40% look-ahead`));const C=Math.min(1.5,q*_);i(`Target look-ahead: ${C.toFixed(3)}s`);const H=Math.abs(C-S),j=Math.min(.8,.3+H*.5),ae=S*(1-j)+C*j;i(`Smoothed look-ahead: ${ae.toFixed(3)}s (adaptation rate: ${(j*100).toFixed(0)}%)`),Math.abs(ae-S)>.3&&i(`Look-ahead adjusted: ${S.toFixed(2)}s → ${ae.toFixed(2)}s`,!1),f.value=ae},z=g=>g===void 0||!n.value.length||!s.value||y.value,X=g=>{const m=Math.round((g+f.value)*1e3);let w=-1;for(let L=0;L<n.value.length&&Math.round(n.value[L].time*1e3)<=m;L++)w=L;return w},W=(g,m)=>{g<0||g===o.value||(i(`Lyric activated: "${n.value[g].text}"`),i(`Activating lyric at ${m.toFixed(2)}s (adjusted: ${(m+f.value).toFixed(2)}s):
|
|
8
|
-
- Index: ${g}
|
|
9
|
-
- Lyric time: ${n.value[g].time.toFixed(2)}s`),i(`Transition details:
|
|
10
|
-
- Raw position: ${m.toFixed(3)}s
|
|
11
|
-
- Dynamic look-ahead: ${f.value.toFixed(3)}s
|
|
12
|
-
- Adjusted position: ${(m+f.value).toFixed(3)}s`),g>0&&B(g,m),b.value=m,o.value=g,Fe(()=>M()))},B=(g,m)=>{const w=m-b.value,L=n.value[g].time-n.value[g-1].time;i(`Timing analysis:
|
|
13
|
-
- Expected gap: ${L.toFixed(3)}s
|
|
14
|
-
- Actual gap: ${w.toFixed(3)}s
|
|
15
|
-
- Difference: ${(w-L).toFixed(3)}s`)},M=()=>{const g=document.querySelector(".lyrics-line.active"),m=c.value;g&&m&&g.scrollIntoView({behavior:"smooth",block:"center"})};return te(()=>l.mediaItem?.item_id,()=>{E()},{immediate:!0}),te(()=>l.position,g=>{if(z(g))return;const m=g??0;F(m);const w=X(m);w!==o.value&&W(w,m)}),we(()=>{const g=c.value;g&&g.addEventListener("scroll",()=>{y.value=!0,setTimeout(()=>{y.value=!1},8e3)},{passive:!0})}),(g,m)=>(u(),P("div",Fl,[r.value?(u(),P("div",ql,[d(ri,{indeterminate:"",color:e.textColor},null,8,["color"]),x("div",null,I(a(J)("loading_lyrics")),1)])):n.value.length?p.value&&s.value?(u(),P("div",zl,[x("div",Nl,I(l.mediaItem?.name),1),x("div",Wl,I(h.value),1),x("div",Hl,I(a(J)("lyrics_will_appear_soon")),1)])):(u(),P("div",{key:3,ref_key:"lyricsContainer",ref:c,class:ne(["lyrics-scroll-container",{"static-lyrics":!s.value}])},[(u(!0),P(G,null,ce(n.value,(w,L)=>(u(),P("div",{key:L,class:ne(["lyrics-line",{active:o.value===L||!s.value}])},I(w.text),3))),128))],2)):(u(),P("div",Ol,I(a(J)("no_lyrics_available")),1))]))}}),Yl=oe(Ul,[["__scopeId","data-v-a59ccea0"]]),Xl=["onClick"],jl={class:"main"},Gl={key:0,class:"main-media-details"},Kl={key:0,class:"main-media-details-image"},Zl={class:"main-media-details-track-info"},Jl={key:0},en={key:0},tn={key:12,style:{margin:"auto","padding-top":"20px"}},an={key:1,class:"main-queue-items"},ln={class:"queue-items-scroll-box"},nn={class:"media-thumb listitem-media-thumb"},sn={class:"title-row"},on={class:"d-flex"},rn={style:{"white-space":"nowrap"},class:"pr-1"},un={key:0},cn={key:0,style:{"margin-left":"50px"}},dn={key:0,class:"text-caption"},mn={key:1,class:"lyrics-wrapper"},vn={key:2,class:"main-queue-items"},yn={class:"main-media-details-image main-media-details-image-alt"},fn={class:"player-bottom"},hn={class:"row",style:{"margin-left":"5%","margin-right":"5%"}},pn={class:"media-controls"},gn={key:0,class:"row",style:{"margin-left":"5%","margin-right":"5%"}},_n={key:1,class:"row",style:{height:"70px",display:"flex","justify-content":"center","align-items":"center","padding-bottom":"15px","padding-top":"15px"}},bn=U({__name:"PlayerFullscreen",props:{colorPalette:{}},setup(e){const{name:l}=gt(),i=e,n=new lt,r=R(-1),o=new lt,c=R([]),y=R(0),f=R(!1),b=$(()=>t.activePlayerQueue?c.value.slice(t.activePlayerQueue.current_index):[]),p=$(()=>t.activePlayerQueue?c.value.slice(0,t.activePlayerQueue.current_index).reverse():[]),h=$(()=>{const S=t.curQueueItem?.media_item?.metadata?.lyrics,_=t.curQueueItem?.media_item?.metadata?.lrc_lyrics;return!!S&&S.trim().length>0||!!_&&_.trim().length>0}),s=$(()=>{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."}}),V=$(()=>{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."}}),E=$(()=>Ye.display.height.value>800),F=function(S){t.showFullscreenPlayer=!1,$t.push({name:S.media_type,params:{itemId:S.item_id,provider:S.provider}})},z=function(S){t.globalSearchTerm=S,$t.push({name:"search"}),t.showFullscreenPlayer=!1},X=function(S,_){const C=c.value.indexOf(_),H=[{label:"play_now",labelArgs:[],action:()=>{B(_,"play_now")},icon:"mdi-play-circle-outline",disabled:C===t.activePlayerQueue?.current_index||C===t.activePlayerQueue?.index_in_buffer},{label:"play_next",labelArgs:[],action:()=>{B(_,"move_next")},icon:"mdi-skip-next-circle-outline",disabled:C<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_up",labelArgs:[],action:()=>{B(_,"up")},icon:"mdi-arrow-up",disabled:C<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_down",labelArgs:[],action:()=>{B(_,"down")},icon:"mdi-arrow-down",disabled:C<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_delete",labelArgs:[],action:()=>{B(_,"delete")},icon:"mdi-delete",disabled:C<=(t.activePlayerQueue?.index_in_buffer||0)}];_?.media_item?.media_type==O.TRACK&&H.push({label:"show_info",labelArgs:[],action:()=>{F(_.media_item)},icon:"mdi-information-outline",disabled:!1}),Ce.emit("contextmenu",{items:H,posX:S.clientX,posY:S.clientY})},W=function(S){t.activePlayer&&Ce.emit("contextmenu",{items:Ii(t.activePlayer,t.activePlayerQueue),posX:S.clientX,posY:S.clientY})},B=function(S,_){!S||!t.activePlayerQueue||(_=="play_now"?T.queueCommandPlayIndex(t.activePlayerQueue?.queue_id,S.queue_item_id):_=="move_next"?T.queueCommandMoveNext(t.activePlayerQueue?.queue_id,S.queue_item_id):_=="up"?T.queueCommandMoveUp(t.activePlayerQueue?.queue_id,S.queue_item_id):_=="down"?T.queueCommandMoveDown(t.activePlayerQueue?.queue_id,S.queue_item_id):_=="delete"&&T.queueCommandDelete(t.activePlayerQueue?.queue_id,S.queue_item_id))},M=async function(){f.value=!0,c.value=[],await Qt(100),f.value=!1},g=async function({done:S}){if(!t.activePlayerQueue||t.activePlayerQueue.items==0){S("empty");return}if(c.value.length>=t.activePlayerQueue?.items){S("empty");return}const _=c.value.length,C=(t.activePlayerQueue.current_index||0)+50,H=await T.getPlayerQueueItems(t.activePlayerQueue.queue_id,C,_);c.value.push(...H),H.length<50?S("empty"):S("ok")};we(()=>{const S=T.subscribe(ui.QUEUE_ITEMS_UPDATED,_=>{_.object_id==t.activePlayerQueue?.queue_id&&(_.data,M())});Te(S)});const m=S=>{S.key==="Escape"&&t.showFullscreenPlayer&&!t.dialogActive&&(t.showFullscreenPlayer=!1)};we(()=>{window.addEventListener("keydown",m),Te(()=>window.removeEventListener("keydown",m))});const w=async function(S){if(!t.curQueueItem?.media_item)return;if(!t.curQueueItem.media_item.favorite){T.toggleFavorite(t.curQueueItem.media_item);return}let _=t.curQueueItem.media_item;(_.provider!="library"||!("provider_mappings"in _))&&[O.ALBUM,O.ARTIST,O.AUDIOBOOK,O.PLAYLIST,O.PODCAST,O.RADIO,O.TRACK].includes(_.media_type)&&(_=await T.getLibraryItem(_.media_type,_.item_id,_.provider)||_);const C=[];"favorite"in _&&_.favorite&&_.provider=="library"&&[O.ALBUM,O.ARTIST,O.AUDIOBOOK,O.PLAYLIST,O.PODCAST,O.RADIO,O.TRACK].includes(_.media_type)&&C.push({label:"favorites_remove",labelArgs:[],action:()=>{T.removeItemFromFavorites(_.media_type,_.item_id),_.favorite=!1,t.curQueueItem.media_item.favorite=!1},icon:"mdi-heart"}),[O.ALBUM,O.ARTIST,O.AUDIOBOOK,O.PLAYLIST,O.PODCAST,O.RADIO,O.TRACK].includes(_.media_type)&&C.push({label:"add_playlist",labelArgs:[],action:()=>{Ce.emit("playlistdialog",{items:[t.curQueueItem.media_item]})},icon:"mdi-plus-circle-outline"}),Ce.emit("contextmenu",{items:C,posX:S.clientX,posY:S.clientY})},L=function(){f.value=!0,Qt(100).then(()=>{f.value=!1})},D=function(S,_){T.playMedia(S.uri,ci.PLAY,void 0,_.position.toString())};te(()=>t.activePlayerId,S=>{M()},{immediate:!0});const A=R(void 0),q=R(void 0);return pt(()=>{const S=qe("white"),_=qe("black"),C=5,H=.05,j=Ye.theme.current.value.dark?i.colorPalette.darkColor||"#000":i.colorPalette.lightColor||"#fff";let ae=qe(j);const re=S.contrast(ae),ve=_.contrast(ae),K=re>=ve;let Ze=K?S:_,Je=Math.max(re,ve);if(Je<C){let kt=H;for(;Je<C&&kt<=.5;)K?ae=ae.darken(H):ae=ae.lighten(H),Je=qe(Ze).contrast(ae),kt+=H}document.documentElement.style.setProperty("--text-color",Ze.hex()),A.value=Ze.hex(),q.value=ae.hex()}),(S,_)=>(u(),Q(aa,{modelValue:a(t).showFullscreenPlayer,"onUpdate:modelValue":_[13]||(_[13]=C=>a(t).showFullscreenPlayer=C),fullscreen:"",scrim:!1,transition:"dialog-bottom-transition","z-index":"9999",persistent:""},{default:v(()=>[d(Ue,{color:q.value},{default:v(()=>[d(Si,{class:"v-toolbar-default",color:"transparent"},{prepend:v(()=>[d(be,{icon:"",onClick:_[0]||(_[0]=C=>a(t).showFullscreenPlayer=!1)},{default:v(()=>[d(ie,{icon:"mdi-chevron-down"})]),_:1})]),append:v(()=>[a(t).activePlayerQueue?.radio_source.length?(u(),Q(bt,{key:0,scrim:""},{activator:v(({props:C})=>[d(be,Z(C,{icon:""}),{default:v(()=>[d(ie,{color:"accent",icon:"mdi-radio-tower"})]),_:1},16)]),default:v(()=>[d(Ue,{title:a(J)("queue_radio_enabled"),subtitle:a(J)("queue_radio_based_on")},{text:v(()=>[(u(!0),P(G,null,ce(a(t).activePlayerQueue?.radio_source,C=>(u(),P("div",{key:C.uri},[x("a",{onClick:H=>F(C)},I(C.name),9,Xl)]))),128))]),_:1},8,["title","subtitle"])]),_:1})):k("",!0),E.value?k("",!0):(u(),Q(fa,{key:1})),d(be,{icon:"",onClick:Oe(W,["stop"])},{default:v(()=>[d(ie,{icon:"mdi-dots-vertical"})]),_:1})]),_:1}),x("div",jl,[a(le)("bp7")||!a(t).showQueueItems?(u(),P("div",Gl,[S.$vuetify.display.height>600?(u(),P("div",Kl,[a(t).activePlayer?.powered!=!1&&a(t).curQueueItem?(u(),Q(Be,{key:0,item:a(t).curQueueItem,thumbnail:!1,style:{"max-width":"100%",width:"auto"},fallback:S.$vuetify.theme.current.dark?a(Xe):a(at)},null,8,["item","fallback"])):a(t).activePlayer?.powered!=!1&&!a(t).curQueueItem?.image&&a(t).activePlayer?.current_media?.image_url?(u(),Q(He,{key:1,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:a(t).activePlayer.current_media.image_url},null,8,["src"])):(u(),Q(He,{key:2,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:S.$vuetify.theme.current.dark?a(Xe):a(at)},null,8,["src"]))])):k("",!0),x("div",Zl,[a(t).activePlayer?.powered==!1?(u(),Q(Le,{key:0,style:ee(`font-size: ${s.value};`)},{default:v(()=>[Y(I(a(t).activePlayer?.name),1)]),_:1},8,["style"])):a(t).curQueueItem?.media_item?(u(),Q(Le,{key:1,style:ee(`font-size: ${s.value};cursor:pointer;`),onClick:_[1]||(_[1]=C=>F(a(t).curQueueItem.media_item))},{default:v(()=>[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).curQueueItem.media_item.name)+" ",1),"version"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.version?(u(),P("span",Jl,"("+I(a(t).curQueueItem.media_item.version)+")",1)):k("",!0)]),_:1},8,["sync"])]),_:1},8,["style"])):!a(t).activePlayerQueue&&a(t).activePlayer?.current_media?.title?(u(),Q(Le,{key:2},{default:v(()=>[a(t).activePlayer?.current_media?.artist?(u(),P("div",en,[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).activePlayer?.current_media?.artist),1)]),_:1},8,["sync"])])):k("",!0),a(t).activePlayer?.current_media?.title?(u(),P("div",{key:1,style:ee(`font-size: ${V.value};`)},[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).activePlayer?.current_media?.title),1)]),_:1},8,["sync"])],4)):k("",!0)]),_:1})):(u(),Q(Le,{key:3,style:ee(`font-size: ${s.value};cursor:pointer;`),onClick:_[2]||(_[2]=C=>a(t).showPlayersMenu=!0)},{default:v(()=>[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).activePlayer?.name||a(J)("no_player")),1)]),_:1},8,["sync"])]),_:1},8,["style"])),a(t).activePlayer?.powered==!1?(u(),Q(_e,{key:4,class:"text-h6 text-md-h5 text-lg-h4"},{default:v(()=>[Y(I(a(J)("off")),1)]),_:1})):k("",!0),a(t).curQueueItem?.streamdetails?.stream_metadata&&a(t).curQueueItem?.streamdetails?.stream_metadata.title&&a(t).curQueueItem?.streamdetails?.stream_metadata.artist?(u(),Q(_e,{key:5,class:"text-h6 text-md-h5 text-lg-h4",onClick:_[3]||(_[3]=C=>z(`${a(t).curQueueItem?.streamdetails?.stream_metadata.artist} - ${a(t).curQueueItem?.streamdetails?.stream_metadata.title}`))},{default:v(()=>[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).curQueueItem?.streamdetails?.stream_metadata.artist)+" - "+I(a(t).curQueueItem?.streamdetails?.stream_metadata.title),1)]),_:1},8,["sync"])]),_:1})):k("",!0),a(t).curQueueItem?.streamdetails?.stream_metadata&&a(t).curQueueItem?.streamdetails?.stream_metadata.title?(u(),Q(_e,{key:6,class:"text-h6 text-md-h5 text-lg-h4",onClick:_[4]||(_[4]=C=>z(a(t).curQueueItem?.streamdetails?.stream_metadata.title))},{default:v(()=>[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).curQueueItem?.streamdetails?.stream_metadata.title),1)]),_:1},8,["sync"])]),_:1})):k("",!0),a(t).curQueueItem?.media_item&&"album"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.album&&a(t).activePlayer?.powered!=!1?(u(),Q(_e,{key:7,style:ee(`font-size: ${V.value};cursor:pointer;`),onClick:_[5]||(_[5]=C=>F(a(t).curQueueItem.media_item.album))},{default:v(()=>[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).curQueueItem.media_item.album.name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):k("",!0),a(t).curQueueItem?.media_item&&"artists"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.artists.length&&a(t).activePlayer?.powered!=!1?(u(),Q(_e,{key:8,style:ee(`font-size: ${V.value};cursor:pointer;`),onClick:_[6]||(_[6]=C=>F(a(t).curQueueItem.media_item.artists[0]))},{default:v(()=>[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).curQueueItem.media_item.artists[0].name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):k("",!0),a(t).curQueueItem?.media_item&&"podcast"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.podcast?(u(),Q(_e,{key:9,style:ee(`font-size: ${V.value};`)},{default:v(()=>[d(se,{sync:a(n)},{default:v(()=>[Y(I(a(t).curQueueItem.media_item.podcast.name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):a(t).activePlayer&&a(t).activePlayer?.active_source!=a(t).activePlayer?.player_id&&a(t).activePlayer?.powered!=!1?(u(),Q(_e,{key:10},{default:v(()=>[Y(I(a(J)("external_source_active",[a(Jt)(a(t).activePlayer)])),1)]),_:1})):a(t).activePlayerQueue&&a(t).activePlayerQueue.items==0&&a(t).activePlayer?.powered!=!1?(u(),Q(_e,{key:11,style:ee(`font-size: ${V.value}`)},{default:v(()=>[Y(I(a(J)("queue_empty")),1)]),_:1},8,["style"])):k("",!0),a(t).activePlayer?.powered!=!1?(u(),P("div",tn,[d(ea)])):k("",!0)])])):k("",!0),a(t).showQueueItems?(u(),P("div",an,[d(ol,{modelValue:y.value,"onUpdate:modelValue":_[7]||(_[7]=C=>y.value=C),"hide-slider":"",density:"compact",onClick:L},{default:v(()=>[d(We,{value:0},{default:v(()=>[Y(I(a(J)("queue"))+" ",1),d(it,{color:"grey",content:(a(t).activePlayerQueue?.items||0)-(a(t).activePlayerQueue?.current_index||0),inline:""},null,8,["content"])]),_:1}),d(We,{value:1},{default:v(()=>[Y(I(a(J)("played"))+" ",1),d(it,{color:"grey",content:a(t).activePlayerQueue?.current_index,inline:""},null,8,["content"])]),_:1}),h.value?(u(),Q(We,{key:0,value:2},{default:v(()=>[Y(I(a(J)("lyrics")),1)]),_:1})):k("",!0)]),_:1},8,["modelValue"]),x("div",ln,[!f.value&&y.value!==2?(u(),Q(Vi,{key:0,onLoad:g,"empty-text":"",height:"100%"},{default:v(()=>[d(Ti,{"item-height":70,"max-height":"90%",items:y.value==0?b.value:p.value},{default:v(({item:C,index:H})=>[d($i,{link:"","show-menu-btn":!0,disabled:!C.available,onClick:Oe(j=>X(j,C),["stop"]),onMenu:Oe(j=>X(j,C),["stop"]),onMouseenter:j=>r.value=H,onMouseleave:_[8]||(_[8]=j=>r.value=-1)},{prepend:v(()=>[x("div",nn,[d(Be,{size:"50",item:C},null,8,["item"])])]),title:v(()=>[x("div",sn,[d(se,{sync:H==0&&y.value==0?a(n):a(o),disabled:!(H==0&&y.value==0||r.value==H)},{default:v(()=>[x("span",{class:ne({"is-playing":C.queue_item_id===a(t).curQueueItem?.queue_item_id})},I(C.name),3)]),_:2},1032,["sync","disabled"])])]),subtitle:v(()=>[x("div",on,[x("span",rn,I(a(ke)(C.duration))+" | ",1),d(se,{sync:H==0&&y.value==0?a(n):a(o),disabled:!(H==0&&y.value==0||r.value==H)},{default:v(()=>[C.media_item&&"album"in C.media_item&&C.media_item.album?(u(),P("span",un,I(C.media_item.album.name),1)):k("",!0)]),_:2},1032,["sync","disabled"])])]),append:v(()=>[C.queue_item_id===a(t).curQueueItem?.queue_item_id&&a(t).activePlayer?.playback_state!=a(Ae).IDLE?(u(),Q(Qi,{key:0,"show-badge":a(le)("bp4")},null,8,["show-badge"])):k("",!0),C.available?k("",!0):(u(),Q(ie,{key:1},{default:v(()=>[..._[14]||(_[14]=[Y("mdi-alert",-1)])]),_:1}))]),_:2},1032,["disabled","onClick","onMenu","onMouseenter"]),C.queue_item_id==a(t).curQueueItem?.queue_item_id&&C.media_item?.metadata?.chapters?.length?(u(),P("div",cn,[(u(!0),P(G,null,ce(C.media_item.metadata?.chapters,j=>(u(),Q(Me,{key:j.position,onClick:Oe(ae=>D(C.media_item,j),["stop"])},{title:v(()=>[x("div",null,I(j.name),1)]),append:v(()=>[j.end?(u(),P("span",dn,I(a(ke)(j.end-j.start)),1)):k("",!0)]),_:2},1032,["onClick"]))),128))])):k("",!0)]),_:1},8,["items"])]),_:1})):k("",!0),y.value===2?(u(),P("div",mn,[d(Yl,{"media-item":a(t).curQueueItem?.media_item,position:a(t).activePlayerQueue?.elapsed_time,duration:a(t).curQueueItem?.duration,"stream-details":a(t).curQueueItem?.streamdetails,"text-color":A.value},null,8,["media-item","position","duration","stream-details","text-color"])])):k("",!0)])])):k("",!0),!a(t).showQueueItems&&S.$vuetify.display.height<=600?(u(),P("div",vn,[x("div",yn,[d(Be,{item:a(t).curQueueItem,thumbnail:!1,style:{"max-width":"100%",width:"auto"}},null,8,["item"])])])):k("",!0)]),x("div",fn,[x("div",hn,[d(ha,{"show-labels":!0,color:A.value},null,8,["color"])]),x("div",pn,[a(t).activePlayerQueue?(u(),Q(xe,{key:0,disabled:!a(t).curQueueItem?.media_item,icon:a(t).curQueueItem?.media_item?.favorite?"mdi-heart":"mdi-heart-outline",title:a(J)("tooltip.favorite"),variant:"button",class:"media-controls-item","max-height":"30px",onClick:w},null,8,["disabled","icon","title"])):k("",!0),S.$vuetify.display.mdAndUp?(u(),Q(va,{key:1,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"30px"},null,8,["player-queue"])):k("",!0),d(ma,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),d(da,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"70px"},null,8,["player","player-queue"]),d(ca,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),S.$vuetify.display.mdAndUp?(u(),Q(ua,{key:2,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"35px"},null,8,["player-queue"])):k("",!0),a(t).activePlayerQueue?(u(),Q(ya,{key:3,class:"media-controls-item","max-height":"30px"})):k("",!0)]),a(t).activePlayer?(u(),P("div",gn,[d(Pt,{width:"100%","is-powered":a(t).activePlayer?.powered!=!1,disabled:!a(t).activePlayer||!a(t).activePlayer?.available||a(t).activePlayer.powered==!1||!a(t).activePlayer.supported_features.includes(a(ye).VOLUME_SET),"model-value":Math.round(a(t).activePlayer.group_members.length>0?a(t).activePlayer.group_volume:a(t).activePlayer.volume_level||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus",color:A.value,"allow-wheel":!0,"onUpdate:modelValue":_[9]||(_[9]=C=>a(t).activePlayer.group_members.length>0?a(T).playerCommandGroupVolume(a(t).activePlayerId,C):a(T).playerCommandVolumeSet(a(t).activePlayerId,C)),"onClick:prepend":_[10]||(_[10]=C=>a(t).activePlayer.group_members.length>0?a(T).playerCommandGroupVolumeDown(a(t).activePlayerId):a(T).playerCommandVolumeDown(a(t).activePlayerId)),"onClick:append":_[11]||(_[11]=C=>a(t).activePlayer.group_members.length>0?a(T).playerCommandGroupVolumeUp(a(t).activePlayerId):a(T).playerCommandVolumeUp(a(t).activePlayerId))},null,8,["is-powered","disabled","model-value","color"])])):k("",!0),E.value?(u(),P("div",_n,[d(Pe,{class:"responsive-icon-holder-btn",variant:"outlined",onClick:_[12]||(_[12]=C=>a(t).showPlayersMenu=!0)},{default:v(()=>[d(ie,{icon:a(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"]),Y(" "+I(a(t).activePlayer?a(ta)(a(t).activePlayer):""),1)]),_:1})])):k("",!0)])]),_:1},8,["color"])]),_:1},8,["modelValue"]))}}),Pn=oe(bn,[["__scopeId","data-v-cd20d95b"]]),wn={key:1},kn={key:2,class:"icon-thumb"},xn={key:0},In={key:2},Cn={key:3},$n={key:4},Qn={key:0,class:"pl-4"},Sn={key:0},Vn={key:1},Tn={key:2},Mn={key:3},Ln={key:4},En={key:5},Bn={key:6,class:"line-clamp-1"},An={key:7},Rn={key:8,class:"line-clamp-1"},Dn={key:9,class:"line-clamp-1"},Fn={key:0},qn=U({__name:"PlayerTrackDetails",props:{showOnlyArtist:{type:Boolean,default:!1},showQualityDetailsBtn:{type:Boolean,default:!0},colorPalette:{},primaryColor:{default:""}},setup(e){const l=new lt,i=e,n=$(()=>t.activePlayerQueue?.current_item?.streamdetails),r=R(0);let o=null;const c=(f=500)=>{o||(o=setInterval(()=>r.value=Date.now(),f))},y=()=>{o&&(clearInterval(o),o=null)};return Kt(()=>{y()}),$(()=>{r.value;const f=t.activePlayer?.playback_state==="playing",b=!!(t.activePlayerQueue&&t.activePlayerQueue.active),p=t.activePlayer?.current_media?.elapsed_time!=null;f&&(b||p)?c():y();const h=t.activePlayerQueue;if(h?.elapsed_time!=null&&h?.elapsed_time_last_updated!=null)return Se(h.elapsed_time,h.elapsed_time_last_updated,t.activePlayer?.playback_state);if(t.activePlayer?.current_media?.elapsed_time!=null&&t.activePlayer?.current_media?.elapsed_time_last_updated!=null)return Se(t.activePlayer.current_media.elapsed_time,t.activePlayer.current_media.elapsed_time_last_updated,t.activePlayer?.playback_state);if(t.activePlayer?.elapsed_time!=null&&t.activePlayer?.elapsed_time_last_updated!=null)return Se(t.activePlayer.elapsed_time,t.activePlayer.elapsed_time_last_updated,t.activePlayer?.playback_state)}),(f,b)=>(u(),P(G,null,[d(Me,{style:{height:"auto",width:"fit-content",margin:"0px",padding:"0px"},lines:"two"},{prepend:v(()=>[x("div",{class:"media-thumb player-media-thumb",style:ee(`cursor: pointer;height: ${a(le)({breakpoint:"phone"})?60:64}px; width: ${a(le)({breakpoint:"phone"})?60:64}px; `),onClick:b[0]||(b[0]=p=>a(t).showFullscreenPlayer=!0)},[a(t).activePlayer?.powered!=!1&&a(t).curQueueItem?(u(),Q(Be,{key:0,item:a(t).curQueueItem,fallback:a(Xe)},null,8,["item","fallback"])):a(t).activePlayer?.powered!=!1&&a(t).activePlayer?.current_media?.image_url?(u(),P("div",wn,[d(He,{class:"media-thumb",style:{"border-radius":"4px"},size:"60",src:a(t).activePlayer.current_media.image_url},null,8,["src"])])):(u(),P("div",kn,[d(ie,{size:"24",icon:a(t).activePlayer?.type==a(Ne).PLAYER&&a(t).activePlayer?.group_members.length?"mdi-speaker-multiple":a(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"])]))],4)]),title:v(()=>[x("div",{style:ee({cursor:"pointer",color:e.primaryColor})},[a(t).activePlayer?.powered==!1?(u(),P("div",{key:0,onClick:b[1]||(b[1]=p=>a(t).showPlayersMenu=!0)},I(a(t).activePlayer?.name),1)):a(t).curQueueItem?.media_item?(u(),P("div",{key:1,onClick:b[2]||(b[2]=p=>a(t).showFullscreenPlayer=!0)},[d(se,{sync:a(l)},{default:v(()=>[Y(I(a(t).curQueueItem.media_item.name)+" ",1),"version"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.version?(u(),P("span",xn,"("+I(a(t).curQueueItem.media_item.version)+")",1)):k("",!0)]),_:1},8,["sync"])])):a(t).curQueueItem?(u(),P("div",In,I(a(t).curQueueItem.name),1)):!a(t).activePlayerQueue&&a(t).activePlayer?.current_media?.title?(u(),P("div",Cn,I(a(t).activePlayer.current_media.title),1)):a(t).activePlayer?(u(),P("div",$n,I(a(t).activePlayer?.name),1)):(u(),P("div",{key:5,onClick:b[3]||(b[3]=p=>a(t).showPlayersMenu=!0)},I(f.$t("no_player")),1))],4)]),append:v(()=>[n.value?.audio_format.content_type&&!a(le)({breakpoint:"phone"})&&e.showQualityDetailsBtn?(u(),P("div",Qn,[d(ea)])):k("",!0)]),subtitle:v(()=>[x("div",{style:ee({cursor:"pointer",color:e.primaryColor}),class:"line-clamp-1",onClick:b[4]||(b[4]=p=>a(t).showFullscreenPlayer=!0)},[d(se,{sync:a(l)},{default:v(()=>[a(t).activePlayer?.powered==!1?(u(),P("div",Sn,I(f.$t("off")),1)):a(t).curQueueItem&&a(t).curQueueItem.media_item?.media_type==a(O).TRACK&&"album"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.album&&!i.showOnlyArtist?(u(),P("div",Vn,I(a(di)(a(t).curQueueItem.media_item.artists))+" • "+I(a(t).curQueueItem.media_item.album.name),1)):a(t).curQueueItem?.media_item&&"artists"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.artists.length>0?(u(),P("div",Tn,I(a(t).curQueueItem.media_item.artists[0].name),1)):a(t).curQueueItem?.media_item&&"podcast"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.podcast?.name?(u(),P("div",Mn,I(a(t).curQueueItem.media_item.podcast.name),1)):a(t).curQueueItem?.streamdetails?.stream_metadata&&a(t).curQueueItem?.streamdetails?.stream_metadata.title&&a(t).curQueueItem?.streamdetails?.stream_metadata.artist?(u(),P("div",Ln,I(a(t).curQueueItem?.streamdetails?.stream_metadata.artist)+" - "+I(a(t).curQueueItem?.streamdetails?.stream_metadata.title),1)):a(t).curQueueItem?.streamdetails?.stream_metadata&&a(t).curQueueItem?.streamdetails?.stream_metadata.title?(u(),P("div",En,I(a(t).curQueueItem?.streamdetails?.stream_metadata.title),1)):a(t).curQueueItem?.media_item?.metadata.description?(u(),P("div",Bn,I(a(mi)(a(t).curQueueItem.media_item.metadata.description,100)),1)):!a(t).activePlayerQueue&&a(t).activePlayer?.active_source&&a(t).activePlayer?.current_media?.artist?(u(),P("div",An,I(a(t).activePlayer.current_media.artist),1)):!a(t).activePlayerQueue&&a(t).activePlayer?.active_source?(u(),P("div",Rn,I(f.$t("external_source_active",[a(Jt)(a(t).activePlayer)])),1)):a(t).activePlayerQueue&&a(t).activePlayerQueue.items==0?(u(),P("div",Dn,I(f.$t("queue_empty")),1)):k("",!0)]),_:1},8,["sync"]),a(t).activePlayer&&a(t).activePlayer?.powered!=!1?(u(),P("div",Fn,I(a(ta)(a(t).activePlayer)),1)):k("",!0)],4)]),_:1}),d(Pn,{"show-fullscreen":a(t).showFullscreenPlayer,"color-palette":e.colorPalette},null,8,["show-fullscreen","color-palette"])],64))}}),On=oe(qn,[["__scopeId","data-v-01cf6ec5"]]),zn=["data-floating"],Nn=["data-mobile"],Wn={class:"mediacontrols-left"},Hn={class:"mediacontrols-bottom-center"},Un={class:"mediacontrols-bottom-right"},Yn={key:0,class:"volume-slider"},Xn=U({__name:"Player",props:{useFloatingPlayer:{type:Boolean}},setup(e){Zt(o=>({v31d44b17:r.value}));const{mobile:l}=gt({mobileBreakpoint:576}),i=R({0:"",1:"",2:"",3:"",4:"",5:"",lightColor:"",darkColor:""}),n=new Image;n.src=Ye.theme.current.value.dark?Xe:at,n.crossOrigin="Anonymous",n.addEventListener("load",function(){i.value=vi(n)});const r=$(()=>Ye.theme.current.value.dark?i.value&&i.value.darkColor?i.value.darkColor:"#CCCCCC26":i.value&&i.value.lightColor?i.value.lightColor:"#CCCCCC26");return te(()=>t.curQueueItem?.queue_item_id,()=>{t.curQueueItem?.media_item?n.src=St(t.curQueueItem.media_item,Vt.THUMB)||"":t.curQueueItem?n.src=St(t.curQueueItem,Vt.THUMB)||"":n.src=""}),(o,c)=>(u(),P(G,null,[x("div",{class:"mediacontrols-bg","data-floating":e.useFloatingPlayer},null,8,zn),x("div",{class:"mediacontrols","data-mobile":a(l)},[x("div",Wn,[d(On,{"show-quality-details-btn":!!a(le)("bp8"),"show-only-artist":!a(le)("bp7"),"color-palette":i.value,"primary-color":o.$vuetify.theme.current.dark?"#fff":"#000"},null,8,["show-quality-details-btn","show-only-artist","color-palette","primary-color"])]),x("div",Hn,[d(Ot,{"visible-components":{repeat:{isVisible:a(le)("bp3")},shuffle:{isVisible:a(le)("bp3")},play:{isVisible:!0,icon:{staticWidth:"48px",staticHeight:"48px"}},previous:{isVisible:a(le)("bp3")},next:{isVisible:a(le)("bp3")}}},null,8,["visible-components"]),a(le)("bp6")?(u(),Q(ha,{key:0,"is-progress-bar":!1,disabled:!a(t).activePlayerQueue?.active||a(t).activePlayerQueue?.current_item?.media_item?.media_type!==a(O).TRACK},null,8,["disabled"])):k("",!0)]),x("div",Un,[x("div",null,[d(Ml,{queue:{isVisible:a(le)("bp3"),color:o.$vuetify.theme.current.dark?"#fff":"#000"},player:{isVisible:!0,color:o.$vuetify.theme.current.dark?"#fff":"#000"},volume:{isVisible:!a(l)&&a(t).activePlayer!=null,color:o.$vuetify.theme.current.dark?"#fff":"#000"}},null,8,["queue","player","volume"]),d(Ot,{style:{"padding-right":"5px"},"visible-components":{repeat:{isVisible:!1},shuffle:{isVisible:!1},play:{isVisible:a(le)({breakpoint:"bp3",condition:"lt"}),icon:{staticWidth:"40px",staticHeight:"40px",color:o.$vuetify.theme.current.dark?"#fff":"#000"}},previous:{isVisible:!1},next:{isVisible:!1}}},null,8,["visible-components"])])])],8,Nn),a(l)&&a(t).activePlayer?(u(),P("div",Yn,[d(Pt,{width:"100%",color:"secondary","is-powered":a(t).activePlayer?.powered!=!1,disabled:!a(t).activePlayer||!a(t).activePlayer?.available||a(t).activePlayer.powered==!1||!a(t).activePlayer.supported_features.includes(a(ye).VOLUME_SET),"model-value":Math.round(a(t).activePlayer.group_members.length>0?a(t).activePlayer.group_volume:a(t).activePlayer.volume_level||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus","onUpdate:modelValue":c[0]||(c[0]=y=>a(t).activePlayer.group_members.length>0?a(T).playerCommandGroupVolume(a(t).activePlayerId,y):a(T).playerCommandVolumeSet(a(t).activePlayerId,y)),"onClick:prepend":c[1]||(c[1]=y=>a(t).activePlayer.group_members.length>0?a(T).playerCommandGroupVolumeDown(a(t).activePlayerId):a(T).playerCommandVolumeDown(a(t).activePlayerId)),"onClick:append":c[2]||(c[2]=y=>a(t).activePlayer.group_members.length>0?a(T).playerCommandGroupVolumeUp(a(t).activePlayerId):a(T).playerCommandVolumeUp(a(t).activePlayerId))},null,8,["is-powered","disabled","model-value"])])):k("",!0)],64))}}),jn=oe(Xn,[["__scopeId","data-v-022a7f9a"]]),Gn={class:"menuButton"},Kn={class:"menuButton"},Zn=U({__name:"BottomNavigation",props:{height:{}},setup(e){const l=ra(),i=R(!1);return(n,r)=>(u(),Q(Ai,{height:e.height,"bg-color":"default",grow:"",role:"navigation"},{default:v(()=>[(u(!0),P(G,null,ce(a(l).filter(o=>!o.isLibraryNode),o=>(u(),Q(Pe,{key:o.label,to:o.path,"aria-label":n.$t(o.label),tabindex:"0",variant:"text","active-color":"fg","base-color":"grey"},{default:v(()=>[d(ie,{size:"xx-large"},{default:v(()=>[Y(I(o.icon),1)]),_:2},1024),x("span",Gn,I(n.$t(o.label)),1)]),_:2},1032,["to","aria-label"]))),128)),d(bt,null,{activator:v(({props:o})=>[d(Pe,Z(o,{"aria-haspopup":"true","aria-expanded":i.value.toString(),"aria-label":"Open library menu","base-color":"grey"}),{default:v(()=>[d(ie,{size:"xx-large"},{default:v(()=>[...r[0]||(r[0]=[Y("mdi-bookshelf",-1)])]),_:1}),x("span",Kn,I(n.$t("library")),1)]),_:1},16,["aria-expanded"])]),default:v(()=>[d($e,null,{default:v(()=>[(u(!0),P(G,null,ce(a(l).filter(o=>o.isLibraryNode),o=>(u(),Q(Me,{key:o.label,title:n.$t(o.label),"prepend-icon":o.icon,to:o.path},null,8,["title","prepend-icon","to"]))),128))]),_:1})]),_:1})]),_:1},8,["height"]))}}),Jn=U({__name:"Footer",setup(e){const l=$(()=>t.isInStandaloneMode?100:80);return(i,n)=>(u(),P(G,null,[a(t).mobileLayout?(u(),P("div",{key:0,class:ne(i.$vuetify.theme.current.dark?"gradient-dark":"gradient-light"),style:`
|
|
16
|
-
position: fixed;
|
|
17
|
-
width: 100%;
|
|
18
|
-
height: 180px;
|
|
19
|
-
bottom: 0px;
|
|
20
|
-
z-index: 999;
|
|
21
|
-
`},null,2)):k("",!0),a(t).mobileLayout?(u(),Q(Zn,{key:1,height:l.value},null,8,["height"])):k("",!0),d(Hi,{app:"",color:"default",class:ne(`py-0 px-0 ${a(t).mobileLayout?"mediacontrols-player-float":"mediacontrols-player-default"}`)},{default:v(()=>[d(jn,{"use-floating-player":a(t).mobileLayout},null,8,["use-floating-player"])]),_:1},8,["class"])],64))}}),es={style:{float:"right","margin-right":"-20px"}},ts=U({__name:"PlayerSelect",setup(e){const l=R(!1),i=R(null),{getPreference:n,setPreference:r}=Mi(),o=$(()=>Object.values(T.players).filter(p=>Tt(p)).filter(p=>p.player_id!==de.player_id).sort((p,h)=>p.name.toUpperCase()>h.name?.toUpperCase()?1:-1));te(()=>t.activePlayerId,p=>{p&&(r("activePlayerId",p),localStorage.setItem("activePlayerId",p))}),te(()=>T.players,p=>{p&&!t.activePlayer&&f()},{deep:!0}),te(()=>T.state,p=>{p.value!=pi.CONNECTED&&(t.activePlayerId=void 0)},{deep:!0});function c(p,h=!1){t.activePlayerId!==p.player_id&&(t.activePlayerId=p.player_id),h&&(t.showPlayersMenu=!1)}function y(p){t.activePlayerId!==p.player_id?(t.activePlayerId=p.player_id,l.value=!0):l.value=!l.value}we(()=>{f()});const f=function(){if(t.activePlayer&&Tt(t.activePlayer))return;const p=b();p&&(t.activePlayerId=p)},b=function(){const p=localStorage.getItem("activePlayerId")||n("activePlayerId").value;if(p&&p in T.players&&T.players[p].available)return p};return(p,h)=>(u(),P(G,null,[d(yi,{modelValue:a(t).showPlayersMenu,"onUpdate:modelValue":h[0]||(h[0]=s=>a(t).showPlayersMenu=s)},null,8,["modelValue"]),a(t).showPlayersMenu?(u(),Q(el,{key:0,modelValue:a(t).showPlayersMenu,"onUpdate:modelValue":h[4]||(h[4]=s=>a(t).showPlayersMenu=s),location:"right",app:"",clipped:"",temporary:"",width:460,style:{"z-index":"99999"},"z-index":"99999",color:"background"},{default:v(()=>[x("div",null,[d(Le,{class:"title",style:{"padding-top":"20px","padding-bottom":"20px"}},{default:v(()=>[x("b",null,I(p.$t("players")),1),x("div",es,[a(fi).isAdmin()?(u(),Q(be,{key:0,variant:"icon",to:{name:"playersettings"}},{default:v(()=>[d(ie,{size:"30"},{default:v(()=>[...h[5]||(h[5]=[Y("mdi-cog-outline",-1)])]),_:1})]),_:1})):k("",!0),d(be,{variant:"icon",onClick:h[1]||(h[1]=s=>a(t).showPlayersMenu=!1)},{default:v(()=>[d(ie,{size:"30"},{default:v(()=>[...h[6]||(h[6]=[Y("mdi-window-close",-1)])]),_:1})]),_:1})])]),_:1}),d(tt),d($e,{flat:"",style:{margin:"0px 10px",padding:"0"}},{default:v(()=>[a(hi)(a(de).mode)&&a(de).player_id&&a(T).players[a(de).player_id]&&!a(T).players[a(de).player_id].synced_to?(u(),Q(ze,{key:0,id:a(de).player_id,style:{margin:"10px 0px"},player:a(T).players[a(de).player_id],"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&a(de).player_id==a(t).activePlayerId,"show-sync-controls":a(T).players[a(de).player_id].supported_features.includes(a(ye).SET_MEMBERS),"allow-power-control":!0,onClick:h[2]||(h[2]=s=>c(a(T).players[a(de).player_id])),onToggleExpand:y},null,8,["id","player","show-sub-players","show-sync-controls"])):k("",!0),(u(!0),P(G,null,ce(o.value.filter(s=>[a(Ae).PLAYING,a(Ae).PAUSED].includes(s.playback_state)||a(T).queues[s.player_id]?.items>0&&s.powered!=!1),s=>(u(),Q(ze,{id:s.player_id,key:s.player_id,style:{margin:"10px 0px"},player:s,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&s.player_id==a(t).activePlayerId,"show-sync-controls":s.supported_features.includes(a(ye).SET_MEMBERS),"allow-power-control":!0,onClick:V=>c(s),onToggleExpand:y},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1}),d(Li,{modelValue:i.value,"onUpdate:modelValue":h[3]||(h[3]=s=>i.value=s),variant:"accordion",flat:"",class:"expansion"},{default:v(()=>[d(Lt,{style:{padding:"0"}},{default:v(()=>[d(Et,null,{default:v(()=>[x("h3",null,I(p.$t("all_players")),1)]),_:1}),d(Bt,{style:{padding:"0"}},{default:v(()=>[d($e,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:v(()=>[(u(!0),P(G,null,ce(o.value.filter(s=>s.type!=a(Ne).GROUP),s=>(u(),Q(ze,{id:s.player_id,key:s.player_id,style:{margin:"5px 0px"},player:s,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&s.player_id==a(t).activePlayerId,"show-sync-controls":s.supported_features.includes(a(ye).SET_MEMBERS),"allow-power-control":!0,onClick:V=>c(s),onToggleExpand:y},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1}),o.value.filter(s=>s.type==a(Ne).GROUP).length?(u(),Q(Lt,{key:0,style:{padding:"0"}},{default:v(()=>[d(Et,null,{default:v(()=>[x("h3",null,I(p.$t("all_groups")),1)]),_:1}),d(Bt,{style:{padding:"0"}},{default:v(()=>[d($e,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:v(()=>[(u(!0),P(G,null,ce(o.value.filter(s=>s.type==a(Ne).GROUP),s=>(u(),Q(ze,{id:s.player_id,key:s.player_id,style:{margin:"5px 0px"},player:s,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":l.value&&s.player_id==a(t).activePlayerId,"show-sync-controls":s.supported_features.includes(a(ye).SET_MEMBERS),"allow-power-control":!0,onClick:V=>c(s),onToggleExpand:y},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1})):k("",!0)]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"])):k("",!0)],64))}}),as=oe(ts,[["__scopeId","data-v-0488156b"]]);function is(e={}){const{immediate:l=!1,onNeedRefresh:i,onOfflineReady:n,onRegistered:r,onRegisteredSW:o,onRegisterError:c}=e;let y,f,b;const p=async(s=!0)=>{await f,b?.()};async function h(){if("serviceWorker"in navigator){if(y=await gi(async()=>{const{Workbox:s}=await import("./workbox-window.prod.es5-BIl4cyR9.js");return{Workbox:s}},[],import.meta.url).then(({Workbox:s})=>new s("./sw.js",{scope:"./",type:"classic"})).catch(s=>{c?.(s)}),!y)return;b=()=>{y?.messageSkipWaiting()};{let s=!1;const V=()=>{s=!0,y?.addEventListener("controlling",E=>{E.isUpdate&&window.location.reload()}),i?.()};y.addEventListener("installed",E=>{typeof E.isUpdate>"u"?typeof E.isExternal<"u"&&E.isExternal?V():!s&&n?.():E.isUpdate||n?.()}),y.addEventListener("waiting",V)}y.register({immediate:l}).then(s=>{o?o("./sw.js",s):r?.(s)}).catch(s=>{c?.(s)})}}return f=h(),p}function ls(e={}){const{immediate:l=!0,onNeedRefresh:i,onOfflineReady:n,onRegistered:r,onRegisteredSW:o,onRegisterError:c}=e,y=R(!1),f=R(!1);return{updateServiceWorker:is({immediate:l,onNeedRefresh(){y.value=!0,i?.()},onOfflineReady(){f.value=!0,n?.()},onRegistered:r,onRegisteredSW:o,onRegisterError:c}),offlineReady:f,needRefresh:y}}const ns={key:0,class:"pwa-toast",role:"alert"},ss={class:"message"},os={key:0},rs={key:1},us=U({__name:"ReloadPrompt",setup(e){const{offlineReady:l,needRefresh:i,updateServiceWorker:n}=ls(),r=async()=>{l.value=!1,i.value=!1};return(o,c)=>a(l)||a(i)?(u(),P("div",ns,[x("div",ss,[a(l)?(u(),P("span",os," App ready to work offline ")):(u(),P("span",rs," New content available, click on reload button to update. "))]),a(i)?(u(),P("button",{key:0,onClick:c[0]||(c[0]=y=>a(n)())},"Reload")):k("",!0),x("button",{onClick:r},"Close")])):k("",!0)}}),cs=U({__name:"Default",setup(e){const l=bi();return te([()=>l.query.player,()=>Object.keys(T.players).length],([i])=>{if(!i)return;const n=i.toString().toLowerCase(),r=Object.values(T.players).find(o=>o.player_id.toLowerCase()===n||o.name.toLowerCase()===n)?.player_id;r&&(t.activePlayerId=r)},{immediate:!0}),te(()=>l.query.showFullscreenPlayer,i=>{t.showFullscreenPlayer=!!i},{immediate:!0}),te(()=>l.query.frameless,i=>{i&&(t.frameless=!0)},{immediate:!0}),(i,n)=>(u(),P(G,null,[d(_i,null,{default:v(()=>[a(t).frameless?(u(),Q(qt,{key:0})):(u(),P(G,{key:1},[d(as),d(qt),d(Jn)],64))]),_:1}),a(t).isInStandaloneMode?(u(),Q(us,{key:0})):k("",!0)],64))}}),Ts=oe(cs,[["__scopeId","data-v-f5755772"]]);export{Ts as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as Fe,K as Y,i as L,aD as o,a2 as Xe,c_ as be,cX as Ze,E as M,r as de,ah as ee,g as Ye,I as _e,J as q,d6 as el,ao as ll,j as Ve,cL as tl,d7 as oe,R as se,L as ne,n as nl,bH as te,o as b,ae as X,ap as al,ai as il,d8 as ul,d9 as ol,cZ as pe,da as sl,db as Ce,O as rl,aL as ge,dc as dl,b4 as cl,aF as vl,aJ as we,aU as De,dd as fl,bE as ml,bK as $e,de as yl,q as bl,an as gl,bh as W,ay as Te,aT as k,az as J,aA as p,aI as T,cC as S,aB as ae,cT as El,aG as I,aN as N,M as _,df as Ae,_ as Pe,aH as me,aE as kl,aS as hl,c3 as xe,c0 as Vl,bV as pl,bW as Cl}from"./index-GQ3lWXrm.js";import{V as Se}from"./VAlert-C8Oto4eV.js";import{V as wl}from"./VCheckbox-CgwahLqh.js";import{V as $l}from"./VSlider-BxXcuhLj.js";import{u as xl,a as Sl,m as Il,V as Fl}from"./VSelect-vsgYa-Ce.js";import{V as Dl}from"./VVirtualScroll-YsHPZNGu.js";import{V as Tl}from"./VCheckboxBtn-orONEqTE.js";import{V as Al}from"./VForm-CRBkgkz1.js";import{V as Pl,a as Ll,b as Ml,c as Rl}from"./VExpansionPanels-D8F4VK-K.js";import{V as Ol}from"./VDialog-OmJrmVI_.js";const Ul=(e,c,f)=>{if(e==null||c==null)return-1;if(!c.length)return 0;e=e.toString().toLocaleLowerCase(),c=c.toString().toLocaleLowerCase();const d=[];let u=e.indexOf(c);for(;~u;)d.push([u,u+c.length]),u=e.indexOf(c,u+c.length);return d.length?d:-1};function ye(e,c){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+c.length]]:Array.isArray(e[0])?e:[e]}const Bl=Fe({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Nl(e,c,f){const d=[],u=f?.default??Ul,n=f?.filterKeys?be(f.filterKeys):!1,t=Object.keys(f?.customKeyFilter??{}).length;if(!e?.length)return d;let V=null;e:for(let w=0;w<e.length;w++){const[g,A=g]=be(e[w]),E={},P={};let F=-1;if((c||t>0)&&!f?.noFilter){let Z=!1;if(typeof g=="object"){if(g.type==="divider"||g.type==="subheader"){V?.type==="divider"&&g.type==="subheader"&&d.push(V),V={index:w,matches:{},type:g.type};continue}const K=n||Object.keys(A);Z=K.length===t;for(const v of K){const R=Ze(A,v),G=f?.customKeyFilter?.[v];if(F=G?G(R,c,g):u(R,c,g),F!==-1&&F!==!1)G?E[v]=ye(F,c):P[v]=ye(F,c);else if(f?.filterMode==="every")continue e}}else F=u(g,c,g),F!==-1&&F!==!1&&(P.title=ye(F,c));const Q=Object.keys(P).length,z=Object.keys(E).length;if(!Q&&!z||f?.filterMode==="union"&&z!==t&&!Q||f?.filterMode==="intersection"&&(z!==t||!Q&&t>0&&!Z))continue}V&&(d.push(V),V=null),d.push({index:w,matches:{...P,...E}})}return d}function Kl(e,c,f,d){const u=Y([]),n=Y(new Map),t=L(()=>o(c));Xe(()=>{const w=typeof f=="function"?f():o(f),g=typeof w!="string"&&typeof w!="number"?"":String(w),A=Nl(t.value,g,{customKeyFilter:{...e.customKeyFilter,...o(d?.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),E=o(c),P=[],F=new Map;A.forEach(Z=>{let{index:Q,matches:z}=Z;const K=E[Q];P.push(K),F.set(K.value,z)}),u.value=P,n.value=F});function V(w){return n.value.get(w.value)}return{filteredItems:u,filteredMatches:n,getMatches:V}}function ql(e,c,f){return f==null||!f.length?c:f.map((d,u)=>{const n=u===0?0:f[u-1][1],t=[M("span",{class:de(`${e}__unmask`)},[c.slice(n,d[0])]),M("span",{class:de(`${e}__mask`)},[c.slice(d[0],d[1])])];return u===f.length-1&&t.push(M("span",{class:de(`${e}__unmask`)},[c.slice(d[1])])),M(ee,null,[t])})}const zl=Fe({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Bl({filterKeys:["title"]}),...Il({hideNoData:!0,returnObject:!0}),...il(ul({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"])},"VCombobox"),Gl=Ye()({name:"VCombobox",props:zl(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,c){let{emit:f,slots:d}=c;const{t:u}=_e(),n=q(),t=Y(!1),V=Y(!0),w=Y(!1),g=q(),A=q(),E=Y(-1);let P=!1;const{items:F,transformIn:Z,transformOut:Q}=el(e),{textColorClasses:z,textColorStyles:K}=ll(()=>n.value?.color),v=Ve(e,"modelValue",[],l=>Z(be(l)),l=>{const m=Q(l);return e.multiple?m:m[0]??null}),R=tl(e),G=L(()=>!!(e.chips||d.chip)),U=L(()=>G.value||!!d.selection),B=Y(!e.multiple&&!U.value?v.value[0]?.title??"":""),j=Y(null),$=L({get:()=>B.value,set:async l=>{if(B.value=l??"",l===null||l===""&&!e.multiple&&!U.value?v.value=[]:!e.multiple&&!U.value&&(v.value=[oe(e,l)],se(()=>A.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const m=ke(l);m.length>1&&(he(m),B.value="")}l||(E.value=-1),V.value=!l}}),ce=L(()=>typeof e.counterValue=="function"?e.counterValue(v.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?v.value.length:$.value.length),{filteredItems:le,getMatches:s}=Kl(e,F,()=>j.value??(e.alwaysFilter||!V.value?$.value:"")),i=L(()=>e.hideSelected&&j.value===null?le.value.filter(l=>!v.value.some(m=>m.value===l.value)):le.value),a=L(()=>e.hideNoData&&!i.value.length||R.isReadonly.value||R.isDisabled.value),h=Ve(e,"menu"),C=L({get:()=>h.value,set:l=>{h.value&&!l&&g.value?.ΨopenChildren.size||l&&a.value||(h.value=l)}}),{menuId:Le,ariaExpanded:Me,ariaControls:Re,ariaLabel:Ee}=xl(e,C);ne(B,l=>{P?se(()=>P=!1):t.value&&!C.value&&(C.value=!0),f("update:search",l)}),ne(v,l=>{!e.multiple&&!U.value&&(B.value=l[0]?.title??"")});const Oe=L(()=>v.value.map(l=>l.value)),ve=L(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&$.value===i.value[0]?.title)&&i.value.length>0&&!V.value&&!w.value),fe=q(),Ue=Sl(fe,n);function Be(l){P=!0,se(()=>P=!1),e.openOnClear&&(C.value=!0)}function Ne(){a.value||(C.value=!0)}function Ke(l){a.value||(t.value&&(l.preventDefault(),l.stopPropagation()),C.value=!C.value)}function qe(l){(Ce(l)||l.key==="Backspace")&&n.value?.focus()}function ze(l){if(sl(l)||R.isReadonly.value)return;const m=n.value?.selectionStart,D=v.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(C.value=!0),["Escape"].includes(l.key)&&(C.value=!1),ve.value&&["Enter","Tab"].includes(l.key)&&!v.value.some(r=>{let{value:y}=r;return y===i.value[0].value})&&H(le.value[0]),l.key==="ArrowDown"&&ve.value&&fe.value?.focus("next"),l.key==="Enter"&&$.value&&(H(oe(e,$.value),!0,!0),U.value&&(B.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&U.value&&v.value.length>0&&!$.value)return H(v.value[0],!1);if(~E.value){l.preventDefault();const r=E.value;H(v.value[E.value],!1),E.value=r>=D-1?D-2:r}else l.key==="Backspace"&&!$.value&&(E.value=D-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(E.value<0&&m&&m>0)return;const r=E.value>-1?E.value-1:D-1;v.value[r]?E.value=r:(E.value=-1,n.value?.setSelectionRange($.value.length,$.value.length))}else if(l.key==="ArrowRight"){if(E.value<0)return;const r=E.value+1;v.value[r]?E.value=r:(E.value=-1,n.value?.setSelectionRange(0,0))}else~E.value&&Ce(l)&&(E.value=-1)}function Ge(l){const m=l?.clipboardData?.getData("Text")??"",D=ke(m);D.length>1&&e.multiple&&(l.preventDefault(),he(D))}function je(){e.eager&&A.value?.calculateVisibleItems()}function He(){t.value&&n.value?.focus(),V.value=!0,j.value=null}function H(l){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(!(!l||l.props.disabled))if(e.multiple){const r=v.value.findIndex(x=>(e.valueComparator||pe)(x.value,l.value)),y=m??!~r;if(~r){const x=y?[...v.value,l]:[...v.value];x.splice(r,1),v.value=x}else y&&(v.value=[...v.value,l]);e.clearOnSelect&&($.value="")}else{const r=m!==!1;v.value=r?[l]:[],(!V.value||e.alwaysFilter)&&B.value&&(j.value=B.value),B.value=r&&!U.value?l.title:"",se(()=>{C.value=D,V.value=!0})}}function ke(l){const D=[`
|
|
2
|
-
`,...e.delimiters??[]].map(ol).join("|");return l.split(new RegExp(`(?:${D})+`))}async function he(l){for(let m of l)m=m.trim(),m&&(H(oe(e,m)),await se())}function Je(l){t.value=!0,setTimeout(()=>{w.value=!0})}function We(l){w.value=!1}return ne(t,(l,m)=>{if(!(l||l===m)&&(E.value=-1,C.value=!1,$.value)){if(e.multiple){H(oe(e,$.value));return}if(!U.value)return;v.value.some(D=>{let{title:r}=D;return r===$.value})?B.value="":H(oe(e,$.value))}}),ne(C,l=>{if(!e.hideSelected&&l&&v.value.length&&V.value){const m=i.value.findIndex(D=>v.value.some(r=>(e.valueComparator||pe)(r.value,D.value)));rl&&window.requestAnimationFrame(()=>{m>=0&&A.value?.scrollToIndex(m)})}l&&(j.value=null)}),ne(F,(l,m)=>{C.value||t.value&&!m.length&&l.length&&(C.value=!0)}),nl(()=>{const l=!!(!e.hideNoData||i.value.length||d["prepend-item"]||d["append-item"]||d["no-data"]),m=v.value.length>0,D=te.filterProps(e);return b(te,X({ref:n},D,{modelValue:$.value,"onUpdate:modelValue":r=>$.value=r,focused:t.value,"onUpdate:focused":r=>t.value=r,validationValue:v.externalValue,counterValue:ce.value,dirty:m,class:["v-combobox",{"v-combobox--active-menu":C.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!U.value,"v-combobox--selecting-index":E.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:m?void 0:e.placeholder,"onClick:clear":Be,"onMousedown:control":Ne,onKeydown:ze,onPaste:Ge,"aria-expanded":Me.value,"aria-controls":Re.value}),{...d,default:()=>M(ee,null,[b(cl,X({id:Le.value,ref:g,modelValue:C.value,"onUpdate:modelValue":r=>C.value=r,activator:"parent",contentClass:"v-combobox__content",disabled:a.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:je,onAfterLeave:He},e.menuProps),{default:()=>[l&&b(vl,X({ref:fe,filterable:!0,selected:Oe.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:r=>r.preventDefault(),selectable:!0,onKeydown:qe,onFocusin:Je,onFocusout:We,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},Ue,e.listProps),{default:()=>[d["prepend-item"]?.(),!i.value.length&&!e.hideNoData&&(d["no-data"]?.()??b(we,{key:"no-data",title:u(e.noDataText)},null)),b(Dl,{ref:A,renderless:!0,items:i.value,itemKey:"value"},{default:r=>{let{item:y,index:x,itemRef:re}=r;const ie=X(y.props,{ref:re,key:y.value,active:ve.value&&x===0?!0:void 0,onClick:()=>H(y,null)});return y.type==="divider"?d.divider?.({props:y.raw,index:x})??b(De,X(y.props,{key:`divider-${x}`}),null):y.type==="subheader"?d.subheader?.({props:y.raw,index:x})??b(fl,X(y.props,{key:`subheader-${x}`}),null):d.item?.({item:y,index:x,props:ie})??b(we,X(ie,{role:"option"}),{prepend:ue=>{let{isSelected:O}=ue;return M(ee,null,[e.multiple&&!e.hideSelected?b(Tl,{key:y.value,modelValue:O,ripple:!1,tabindex:"-1",onClick:Qe=>Qe.preventDefault()},null):void 0,y.props.prependAvatar&&b(ml,{image:y.props.prependAvatar},null),y.props.prependIcon&&b(ge,{icon:y.props.prependIcon},null)])},title:()=>V.value?y.title:ql("v-combobox",y.title,s(y)?.title)})}}),d["append-item"]?.()]})]}),v.value.map((r,y)=>{function x(O){O.stopPropagation(),O.preventDefault(),H(r,!1)}const re=X($e.filterProps(r.props),{"onClick:close":x,onKeydown(O){O.key!=="Enter"&&O.key!==" "||(O.preventDefault(),O.stopPropagation(),x(O))},onMousedown(O){O.preventDefault(),O.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),ie=G.value?!!d.chip:!!d.selection,ue=ie?yl(G.value?d.chip({item:r,index:y,props:re}):d.selection({item:r,index:y})):void 0;if(!(ie&&!ue))return M("div",{key:r.value,class:de(["v-combobox__selection",y===E.value&&["v-combobox__selection--selected",z.value]]),style:bl(y===E.value?K.value:{})},[G.value?d.chip?b(gl,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:r.title}}},{default:()=>[ue]}):b($e,X({key:"chip",closable:e.closableChips,size:"small",text:r.title,disabled:r.props.disabled},re),null):ue??M("span",{class:"v-combobox__selection-text"},[r.title,e.multiple&&y<v.value.length-1&&M("span",{class:"v-combobox__selection-comma"},[W(",")])])])})]),"append-inner":function(){for(var r=arguments.length,y=new Array(r),x=0;x<r;x++)y[x]=arguments[x];return M(ee,null,[d["append-inner"]?.(...y),(!e.hideNoData||e.items.length)&&e.menuIcon?b(ge,{class:"v-combobox__menu-icon",color:n.value?.fieldIconColor,icon:e.menuIcon,onMousedown:Ke,onClick:dl,"aria-label":Ee.value,title:Ee.value,tabindex:"-1"},null):void 0])}})}),al({isFocused:t,isPristine:V,menu:C,search:$,selectionIndex:E,filteredItems:le,select:H},n)}}),jl={class:"config-field"},Hl={key:0,class:"config-divider"},Jl={key:4,class:"dsp-config"},Wl={class:"dsp-status"},Ql=Te({__name:"ConfigEntryField",props:{confEntry:{},showPasswordValues:{type:Boolean},disabled:{type:Boolean}},emits:["togglePassword","clearValue","action","openDsp","update:value"],setup(e){const c=e,f=L(()=>c.disabled||c.confEntry.read_only),d=L(()=>{if(!c.confEntry.options)return[];const u=[];for(const n of c.confEntry.options){let t=n.value?.toString()||"",V=n.title?.toString()||"";for(const A of["@","$","|"])t.includes(A)&&(t=t.replaceAll(A,"")),V.includes(A)&&(V=V.toString().replaceAll(A,""));const g={title:k(`settings.${c.confEntry.key}.options.${t}`,V),value:n.value};g.value==c.confEntry.default_value&&(g.title+=` [${k("settings.default")}]`),u.push(g)}return u});return(u,n)=>(p(),J("div",jl,[e.confEntry.type==o(S).DIVIDER?(p(),J("div",Hl,[b(De),e.confEntry.label?(p(),T(El,{key:0,class:"divider-label"},{default:I(()=>[W(N(e.confEntry.label),1)]),_:1})):ae("",!0)])):e.confEntry.type==o(S).LABEL?(p(),T(Se,{key:1,variant:"tonal",type:"info",density:"comfortable",class:"config-alert"},{default:I(()=>[W(N(o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label)),1)]),_:1})):e.confEntry.type==o(S).ALERT?(p(),T(Se,{key:2,density:"comfortable",type:"warning",variant:"tonal",class:"config-alert"},{default:I(()=>[W(N(o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label)),1)]),_:1})):e.confEntry.type==o(S).ACTION||e.confEntry.action&&!e.confEntry.value?(p(),T(_,{key:3,variant:"outlined",class:"action-btn",disabled:f.value,onClick:n[0]||(n[0]=t=>u.$emit("action"))},{default:I(()=>[W(N(o(k)(`settings.${e.confEntry.action||e.confEntry.key}.label`,e.confEntry.action_label||e.confEntry.label)),1)]),_:1},8,["disabled"])):e.confEntry.type==o(S).DSP_SETTINGS?(p(),J("div",Jl,[M("span",Wl,N(e.confEntry.value?o(k)("settings.dsp_enabled"):o(k)("settings.dsp_disabled")),1),b(_,{variant:"outlined",class:"action-btn",onClick:n[1]||(n[1]=t=>u.$emit("openDsp"))},{default:I(()=>[W(N(o(k)("open_dsp_settings")),1)]),_:1})])):e.confEntry.type==o(S).BOOLEAN?(p(),T(wl,{key:5,"model-value":e.confEntry.value,label:o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label),color:"primary",disabled:f.value,"hide-details":"",density:"comfortable","onUpdate:modelValue":n[2]||(n[2]=t=>u.$emit("update:value",t))},null,8,["model-value","label","disabled"])):(e.confEntry.type==o(S).INTEGER||e.confEntry.type==o(S).FLOAT)&&e.confEntry.range&&e.confEntry.range.length==2?(p(),T($l,{key:6,"model-value":e.confEntry.value,disabled:f.value,label:o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,class:"config-slider",min:e.confEntry.range[0],max:e.confEntry.range[1],step:e.confEntry.type==o(S).FLOAT?.5:1,"hide-details":"",color:"primary","onUpdate:modelValue":n[4]||(n[4]=t=>u.$emit("update:value",t))},{append:I(()=>[b(te,{"model-value":e.confEntry.value,"hide-details":"","single-line":"",density:"compact",type:"number",style:{width:"70px"},"onUpdate:modelValue":n[3]||(n[3]=t=>u.$emit("update:value",t))},null,8,["model-value"])]),_:1},8,["model-value","disabled","label","required","min","max","step"])):e.confEntry.type==o(S).SECURE_STRING?(p(),T(te,{key:7,"model-value":e.confEntry.value,label:o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,disabled:f.value,rules:[t=>!(!t&&e.confEntry.required)||o(k)("settings.invalid_input")],type:e.showPasswordValues?"text":"password","append-inner-icon":e.showPasswordValues?"mdi-eye":typeof e.confEntry.value=="string"&&e.confEntry.value.includes(o(Ae))?"":"mdi-eye-off",variant:"outlined",density:"comfortable",clearable:"",readonly:!!e.confEntry.action,"onUpdate:modelValue":n[5]||(n[5]=t=>u.$emit("update:value",t)),"onClick:appendInner":n[6]||(n[6]=t=>u.$emit("togglePassword")),"onClick:clear":n[7]||(n[7]=t=>u.$emit("clearValue"))},null,8,["model-value","label","required","disabled","rules","type","append-inner-icon","readonly"])):e.confEntry.options&&e.confEntry.options.length>0?(p(),T(Fl,{key:8,"model-value":e.confEntry.value,chips:e.confEntry.multi_value,clearable:!0,multiple:e.confEntry.multi_value,items:d.value,disabled:f.value,label:o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,rules:[t=>!(t==null&&e.confEntry.required)||o(k)("settings.invalid_input")],variant:"outlined",density:"comfortable","onUpdate:modelValue":n[8]||(n[8]=t=>u.$emit("update:value",t)),"onClick:clear":n[9]||(n[9]=t=>u.$emit("clearValue"))},null,8,["model-value","chips","multiple","items","disabled","label","required","rules"])):e.confEntry.type==o(S).INTEGER||e.confEntry.type==o(S).FLOAT?(p(),T(te,{key:9,"model-value":e.confEntry.value,placeholder:e.confEntry.default_value?.toString(),disabled:f.value,label:o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,rules:[t=>!(!t&&e.confEntry.required)||o(k)("settings.invalid_input")],variant:"outlined",density:"comfortable",clearable:!e.confEntry.required,type:"number","onUpdate:modelValue":n[10]||(n[10]=t=>u.$emit("update:value",t)),"onClick:clear":n[11]||(n[11]=t=>u.$emit("clearValue"))},null,8,["model-value","placeholder","disabled","label","required","rules","clearable"])):e.confEntry.type==o(S).ICON?(p(),T(te,{key:10,"model-value":e.confEntry.value,placeholder:e.confEntry.default_value?.toString(),clearable:"",disabled:f.value,label:o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label),"prepend-inner-icon":e.confEntry.value,variant:"outlined",density:"comfortable","onUpdate:modelValue":n[12]||(n[12]=t=>u.$emit("update:value",t)),"onClick:clear":n[13]||(n[13]=t=>u.$emit("clearValue"))},null,8,["model-value","placeholder","disabled","label","prepend-inner-icon"])):e.confEntry.type==o(S).STRING&&e.confEntry.multi_value?(p(),T(Gl,{key:11,"model-value":e.confEntry.value,multiple:"",chips:"",clearable:!0,disabled:f.value,label:o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,rules:[t=>!(!t&&e.confEntry.required)||o(k)("settings.invalid_input")],variant:"outlined",density:"comfortable","onUpdate:modelValue":n[14]||(n[14]=t=>u.$emit("update:value",t)),"onClick:clear":n[15]||(n[15]=t=>u.$emit("clearValue"))},null,8,["model-value","disabled","label","required","rules"])):(p(),T(te,{key:12,"model-value":e.confEntry.value,placeholder:e.confEntry.default_value?.toString(),clearable:"",disabled:f.value,label:o(k)(`settings.${e.confEntry.key}.label`,e.confEntry.label),required:e.confEntry.required,rules:[t=>!(!t&&e.confEntry.required)||o(k)("settings.invalid_input")],variant:"outlined",density:"comfortable",readonly:!!e.confEntry.action,"onUpdate:modelValue":n[16]||(n[16]=t=>u.$emit("update:value",t)),"onClick:clear":n[17]||(n[17]=t=>u.$emit("clearValue"))},null,8,["model-value","placeholder","disabled","label","required","rules","readonly"]))]))}}),Ie=Pe(Ql,[["__scopeId","data-v-4469350e"]]),Xl={key:0,class:"config-section"},Zl={class:"panel-title-text"},Yl={class:"config-panel-content"},_l={class:"config-actions"},et=Te({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean},showGenericSection:{type:Boolean}},emits:["submit","action"],setup(e,{emit:c}){const f=kl(),d=c,u=q(),n=q(!1),t=q(),V=q([]),w=q(!1),g=q(),A=q({}),E=e,P=L(()=>["generic",...new Set(u.value.map(i=>i.category).filter(i=>!["generic","advanced"].includes(i))),"advanced"]),F=L(()=>{if(u.value){for(const s of u.value)if(s.required&&!(!R(s.value)||!R(s.default_value)||s.type==S.DIVIDER||s.type==S.LABEL||s.type==S.ALERT||s.type==S.ACTION))return!1;return!0}return!1});ne(()=>E.configEntries,s=>{u.value=[];for(const a of s||[])a.value!==void 0&&a.value!==null&&(A.value[a.key]=a.value),(a.value==null||a.value==null)&&(a.value=a.default_value),u.value.push(a);const i=P.value.filter(a=>a!=="generic"&&a!=="advanced");V.value=i},{immediate:!0});const Z=async function(){const{valid:s}=await t.value.validate();return s},Q=async function(){await Z()&&d("submit",$())},z=async function(s){d("action",s,$())},K=function(s){const i=document.createElement("a");i.setAttribute("href",s),i.setAttribute("target","_blank"),i.click()},v=function(){f.push(`${f.currentRoute.value.path}/dsp`)},R=function(s){return s==null},G=function(s){return!s.hidden},U=function(s){if(!R(s.depends_on)){const i=u.value?.find(h=>h.key==s.depends_on);if(!i)return!1;const a=i.value;return R(s.depends_on_value)?R(s.depends_on_value_not)?!a:a==s.depends_on_value_not:a!=s.depends_on_value}return!1},B=L(()=>{const s={};if(!u.value)return s;for(const i of u.value){if(!G(i))continue;const a=i.category||"generic";s[a]||(s[a]=[]),s[a].push(i)}return s}),j=function(s){return B.value[s]||[]},$=function(){const s={};for(const i of E.configEntries)i.value==null&&(i.value=null),!(i.type==S.SECURE_STRING&&i.value==Ae)&&(s[i.key]=i.value);return s},ce=function(s){return{generic:"mdi-cog",audio:"mdi-volume-high",advanced:"mdi-tune",network:"mdi-lan",playback:"mdi-play-circle",announcements:"mdi-bullhorn",airplay:"mdi-apple",chromecast:"mdi-cast",slimproto:"mdi-speaker-wireless",snapcast:"mdi-speaker-multiple",ugp:"mdi-speaker-multiple",authentication:"mdi-lock",sync:"mdi-sync"}[s]||"mdi-cog-outline"},le=function(s){return(k(`settings.${s?.key}.description`,s.description||" ")||s.help_link||" ")?.length>1};return(s,i)=>(p(),J(ee,null,[u.value?(p(),T(Al,{key:0,ref_key:"form",ref:t,modelValue:n.value,"onUpdate:modelValue":i[4]||(i[4]=a=>n.value=a),disabled:e.disabled},{default:I(()=>[e.showGenericSection!==!1&&j("generic").length>0?(p(),J("div",Xl,[(p(!0),J(ee,null,me(j("generic"),a=>(p(),J("div",{key:a.key,class:"config-entry"},[b(Ie,{"conf-entry":a,"show-password-values":w.value,disabled:U(a),onTogglePassword:i[0]||(i[0]=h=>w.value=!w.value),onClearValue:h=>a.value=a.default_value,"onUpdate:value":h=>a.value=h,onAction:h=>{z(a.action||a.key),a.value=a.action?null:a.key},onOpenDsp:v},null,8,["conf-entry","show-password-values","disabled","onClearValue","onUpdate:value","onAction"]),le(a)?(p(),T(_,{key:0,icon:"mdi-help-circle-outline",variant:"text",size:"small",class:"help-btn",onClick:h=>o(k)(`settings.${a?.key}.description`,a.description||"")?g.value=a:K(a.help_link)},null,8,["onClick"])):ae("",!0)]))),128))])):ae("",!0),b(Pl,{modelValue:V.value,"onUpdate:modelValue":i[2]||(i[2]=a=>V.value=a),multiple:"",class:"config-panels"},{default:I(()=>[(p(!0),J(ee,null,me(P.value.filter(a=>a!=="generic"&&j(a).length>0),a=>(p(),T(Ll,{key:a,value:a,class:"config-panel"},{default:I(()=>[b(Ml,{class:"config-panel-title"},{default:I(()=>[b(ge,{icon:ce(a),class:"mr-3",size:"20"},null,8,["icon"]),M("span",Zl,N(o(k)("settings.category."+a,a)),1)]),_:2},1024),b(Rl,null,{default:I(()=>[M("div",Yl,[(p(!0),J(ee,null,me(j(a),h=>(p(),J("div",{key:h.key,class:"config-entry"},[b(Ie,{"conf-entry":h,"show-password-values":w.value,disabled:U(h),onTogglePassword:i[1]||(i[1]=C=>w.value=!w.value),onClearValue:C=>h.value=h.default_value,"onUpdate:value":C=>h.value=C,onAction:C=>{z(h.action||h.key),h.value=h.action?null:h.key},onOpenDsp:v},null,8,["conf-entry","show-password-values","disabled","onClearValue","onUpdate:value","onAction"]),le(h)?(p(),T(_,{key:0,icon:"mdi-help-circle-outline",variant:"text",size:"small",class:"help-btn",onClick:C=>o(k)(`settings.${h?.key}.description`,h.description||"")?g.value=h:K(h.help_link)},null,8,["onClick"])):ae("",!0)]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),M("div",_l,[b(_,{block:"",color:"primary",size:"large",disabled:!F.value,onClick:Q},{default:I(()=>[W(N(o(k)("settings.save")),1)]),_:1},8,["disabled"]),b(_,{block:"",variant:"outlined",size:"large",onClick:i[3]||(i[3]=a=>o(f).back())},{default:I(()=>[W(N(o(k)("close")),1)]),_:1})])]),_:1},8,["modelValue","disabled"])):ae("",!0),b(Ol,{"model-value":g.value!==void 0,width:"auto","onUpdate:modelValue":i[7]||(i[7]=a=>g.value=void 0)},{default:I(()=>[b(hl,null,{default:I(()=>[b(xe,null,{default:I(()=>[M("h2",null,N(o(k)(`settings.${g.value?.key}.label`,g.value?.label||"")),1)]),_:1}),b(xe,{innerHTML:o(Vl)(o(k)(`settings.${g.value?.key}.description`,g.value?.description||""))},null,8,["innerHTML"]),b(pl,null,{default:I(()=>[g.value?.help_link?(p(),T(_,{key:0,onClick:i[5]||(i[5]=a=>K(g.value.help_link))},{default:I(()=>[W(N(o(k)("read_more")),1)]),_:1})):ae("",!0),b(Cl),b(_,{color:"primary",onClick:i[6]||(i[6]=a=>g.value=void 0)},{default:I(()=>[W(N(o(k)("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"])],64))}}),ct=Pe(et,[["__scopeId","data-v-769f0c71"]]);export{Ie as C,ct as E};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.v-combobox--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-combobox .v-field .v-text-field__prefix,.v-combobox .v-field .v-text-field__suffix,.v-combobox .v-field .v-field__input,.v-combobox .v-field .v-field__input>input,.v-combobox .v-field.v-field{cursor:text}.v-combobox .v-field .v-field__input>input{flex:1 1}.v-combobox .v-field input{min-width:64px}.v-combobox .v-field:not(.v-field--focused) input{min-width:0}.v-combobox .v-field--dirty .v-combobox__selection{margin-inline-end:2px}.v-combobox .v-combobox__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-combobox__content{overflow:hidden}.v-combobox__content{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-menu>.v-overlay__content.v-combobox__content{border-radius:4px}.v-combobox__mask{background:rgb(var(--v-theme-surface-light))}.v-combobox__selection{display:inline-flex;align-items:center;height:1.5rem;letter-spacing:inherit;line-height:inherit;max-width:calc(100% - 4px)}.v-combobox__selection:first-child{margin-inline-start:0}.v-combobox--selecting-index .v-combobox__selection{opacity:var(--v-medium-emphasis-opacity)}.v-combobox--selecting-index .v-combobox__selection--selected{opacity:1}.v-combobox--selecting-index .v-field__input>input{caret-color:transparent}.v-combobox--single:not(.v-combobox--selection-slot).v-text-field input{flex:1 1;position:absolute;left:0;right:0;width:100%;padding-inline:inherit}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--active input{transition:none}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--dirty:not(.v-field--focused) input{opacity:0}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--focused .v-combobox__selection{opacity:0}.v-combobox__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-combobox--active-menu .v-combobox__menu-icon{transform:rotate(180deg)}.config-field[data-v-4469350e]{flex:1;min-width:0}.config-divider[data-v-4469350e]{padding:8px 0}.divider-label[data-v-4469350e]{display:block;margin-top:12px;font-weight:600;font-size:.875rem}.config-alert[data-v-4469350e],.action-btn[data-v-4469350e]{margin:8px 0}.dsp-config[data-v-4469350e]{display:flex;align-items:center;gap:16px;padding:8px 0}.dsp-status[data-v-4469350e]{font-size:.875rem;color:rgba(var(--v-theme-on-surface),.7)}.config-slider[data-v-4469350e]{padding-top:8px}.config-section[data-v-769f0c71]{margin-bottom:16px}.config-entry[data-v-769f0c71]{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.config-entry[data-v-769f0c71]:last-child{margin-bottom:0}.config-entry:has(.v-checkbox)+.config-entry[data-v-769f0c71]:has(.v-text-field),.config-entry:has(.v-checkbox)+.config-entry[data-v-769f0c71]:has(.v-select),.config-entry:has(.v-checkbox)+.config-entry[data-v-769f0c71]:has(.v-slider),.config-entry:has(.v-checkbox)+.config-entry[data-v-769f0c71]:has(.v-combobox){margin-top:16px}.help-btn[data-v-769f0c71]{flex-shrink:0;margin-top:8px;opacity:.6;transition:opacity .2s ease}.help-btn[data-v-769f0c71]:hover{opacity:1}.config-panels[data-v-769f0c71]{margin-top:16px}.config-panel[data-v-769f0c71]{margin-bottom:8px;border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:8px!important;overflow:hidden}.config-panel[data-v-769f0c71]:before{display:none}.config-panel-title[data-v-769f0c71]{min-height:52px;padding:14px 20px;background:rgba(var(--v-theme-primary),.08)}.config-panel-title .v-icon[data-v-769f0c71]{color:rgb(var(--v-theme-primary))}.panel-title-text[data-v-769f0c71]{font-size:1.1rem;font-weight:600;color:rgb(var(--v-theme-primary))}.config-panel[data-v-769f0c71] .v-expansion-panel-text__wrapper{padding:0}.config-panel-content[data-v-769f0c71]{padding:16px 20px 20px;border-top:1px solid rgba(var(--v-theme-on-surface),.08)}.config-card[data-v-769f0c71]{margin-top:16px;border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:8px;overflow:hidden}.config-card-header[data-v-769f0c71]{display:flex;align-items:center;gap:12px;padding:14px 20px;background:rgba(var(--v-theme-primary),.08);border-bottom:1px solid rgba(var(--v-theme-primary),.12)}.config-card-header .v-icon[data-v-769f0c71]{color:rgb(var(--v-theme-primary))}.config-card-title[data-v-769f0c71]{font-size:1.1rem;font-weight:600;margin:0;color:rgb(var(--v-theme-primary))}.config-card-content[data-v-769f0c71]{padding:16px 20px 20px}.config-actions[data-v-769f0c71]{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:16px}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.edit-core-config[data-v-bf710b9a]{padding:16px}.header-card[data-v-bf710b9a]{border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:12px}.header-content[data-v-bf710b9a]{display:flex;gap:20px;padding:24px}.header-icon[data-v-bf710b9a]{flex-shrink:0;width:56px;height:56px;border-radius:12px;background:rgba(var(--v-theme-primary),.1);display:flex;align-items:center;justify-content:center}.header-info[data-v-bf710b9a]{flex:1;min-width:0}.header-title[data-v-bf710b9a]{font-size:1.25rem;font-weight:600;margin:0 0 8px;color:rgb(var(--v-theme-on-surface))}.header-description[data-v-bf710b9a]{font-size:.875rem;color:rgba(var(--v-theme-on-surface),.7);margin:0;line-height:1.5}.settings-card[data-v-bf710b9a]{border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:12px;overflow:hidden}.settings-card-header[data-v-bf710b9a]{display:flex;align-items:center;gap:12px;padding:14px 20px;background:rgba(var(--v-theme-primary),.08);border-bottom:1px solid rgba(var(--v-theme-primary),.12)}.settings-card-header .v-icon[data-v-bf710b9a]{color:rgb(var(--v-theme-primary))}.settings-card-title[data-v-bf710b9a]{font-size:1.1rem;font-weight:600;margin:0;color:rgb(var(--v-theme-primary))}.settings-card-content[data-v-bf710b9a]{padding:20px}.config-entry[data-v-bf710b9a]{display:flex;align-items:flex-start;gap:8px;margin-top:12px}.config-entry[data-v-bf710b9a]:first-child{margin-top:0}.help-btn[data-v-bf710b9a]{flex-shrink:0;margin-top:8px;opacity:.6;transition:opacity .2s ease}.help-btn[data-v-bf710b9a]:hover{opacity:1}.config-entry:has(.v-checkbox)+.config-entry[data-v-bf710b9a]:has(.v-text-field),.config-entry:has(.v-checkbox)+.config-entry[data-v-bf710b9a]:has(.v-select),.config-entry:has(.v-checkbox)+.config-entry[data-v-bf710b9a]:has(.v-slider),.config-entry:has(.v-checkbox)+.config-entry[data-v-bf710b9a]:has(.v-combobox){margin-top:16px}.loading-overlay[data-v-bf710b9a]{display:flex;align-items:center;justify-content:center}@media (max-width: 600px){.header-content[data-v-bf710b9a]{flex-direction:column;align-items:flex-start}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ay as F,bN as G,J as p,i as E,L as J,az as f,aA as u,aB as m,aI as g,o as n,aD as I,aP as v,aG as i,E as r,aL as M,bh as h,aN as c,aS as b,ah as R,aH as W,b8 as q,bx as K,c3 as A,c0 as Q,bV as X,M as V,bW as Y,aE as Z,_ as ee}from"./index-GQ3lWXrm.js";import{E as ae,C as te}from"./EditConfig-Bwi8QH5_.js";import{n as se}from"./index.browser-OxPLOBIU.js";import{V as ne}from"./VDialog-OmJrmVI_.js";import"./VAlert-C8Oto4eV.js";import"./VCheckbox-CgwahLqh.js";import"./VCheckboxBtn-orONEqTE.js";import"./VSelectionControl-C9uJkKHo.js";import"./VSlider-BxXcuhLj.js";import"./VSelect-vsgYa-Ce.js";import"./VVirtualScroll-YsHPZNGu.js";import"./VForm-CRBkgkz1.js";import"./VExpansionPanels-D8F4VK-K.js";const oe={class:"edit-core-config"},ie={key:0},le={class:"header-content"},re={class:"header-icon"},de={class:"header-info"},ue={class:"header-title"},ce={class:"header-description"},ve={class:"settings-card-header"},me={class:"settings-card-title"},pe={class:"settings-card-content"},fe=F({__name:"EditCoreConfig",props:{domain:{}},setup(B){const L=Z(),{t:k}=G(),s=p(),N=se(11),d=p(!1),_=p(!1),l=p(),O=B,C=e=>e==null,T=e=>!e.hidden,D=e=>{if(!s.value)return!1;if(!C(e.depends_on)){const a=Object.values(s.value.values).find(x=>x.key==e.depends_on);if(!a)return!1;const o=a.value;return C(e.depends_on_value)?C(e.depends_on_value_not)?!o:o==e.depends_on_value_not:o!=e.depends_on_value}return!1},$=E(()=>s.value?Object.values(s.value.values).filter(e=>(!e.category||e.category==="generic")&&T(e)):[]),H=E(()=>s.value?Object.values(s.value.values).filter(e=>e.category&&e.category!=="generic"):[]);J(()=>O.domain,async e=>{e&&(s.value=await v.getCoreConfig(e))},{immediate:!0});const z=e=>{const t=k(`settings.core_module.${e.domain}.name`);return t!==`settings.core_module.${e.domain}.name`?t:v.providerManifests[e.domain].name},U=e=>{const t=k(`settings.core_module.${e.domain}.description`);return t!==`settings.core_module.${e.domain}.description`?t:v.providerManifests[e.domain].description},j=e=>({streams:"mdi-radio-tower",players:"mdi-speaker-multiple",metadata:"mdi-tag-multiple",music:"mdi-music",webserver:"mdi-web",cache:"mdi-cached"})[e]||"mdi-cog",P=async function(e){d.value=!0,v.saveCoreConfig(s.value.domain,e).then(()=>{d.value=!1,L.push({name:"providersettings"})}).catch(t=>{alert(t),d.value=!1})},w=async function(e,t){d.value=!0;for(const a of Object.values(s.value.values))a.value!==void 0&&t[a.key]==null&&(t[a.key]=a.value);t.session_id=N,v.getCoreConfigEntries(s.value.domain,e,t).then(a=>{s.value.values={};for(const o of a)s.value.values[o.key]=o;d.value=!1}).catch(a=>{alert(a),d.value=!1})},y=function(e){const t=document.createElement("a");t.setAttribute("href",e),t.setAttribute("target","_blank"),t.click()},S=function(e){return(k(`settings.${e?.key}.description`,e.description||" ")||e.help_link||" ")?.length>1};return(e,t)=>(u(),f("section",oe,[s.value&&I(v).providerManifests[s.value.domain]?(u(),f("div",ie,[n(b,{class:"header-card mb-4",elevation:"0"},{default:i(()=>[r("div",le,[r("div",re,[n(M,{size:"32",color:"primary"},{default:i(()=>[h(c(j(s.value.domain)),1)]),_:1})]),r("div",de,[r("h2",ue,c(z(s.value)),1),r("p",ce,c(U(s.value)),1)])])]),_:1}),$.value.length>0?(u(),g(b,{key:0,class:"settings-card mb-4",elevation:"0"},{default:i(()=>[r("div",ve,[n(M,{size:"20"},{default:i(()=>[...t[5]||(t[5]=[h("mdi-cog",-1)])]),_:1}),r("h3",me,c(e.$t("settings.category.generic","Basic settings")),1)]),r("div",pe,[(u(!0),f(R,null,W($.value,a=>(u(),f("div",{key:a.key,class:"config-entry"},[n(te,{"conf-entry":a,"show-password-values":_.value,disabled:D(a),onTogglePassword:t[0]||(t[0]=o=>_.value=!_.value),onClearValue:o=>a.value=a.default_value,"onUpdate:value":o=>a.value=o,onAction:o=>{w(a.action||a.key,{}),a.value=a.action?null:a.key}},null,8,["conf-entry","show-password-values","disabled","onClearValue","onUpdate:value","onAction"]),S(a)?(u(),g(V,{key:0,icon:"mdi-help-circle-outline",variant:"text",size:"small",class:"help-btn",onClick:o=>e.$t(`settings.${a?.key}.description`,a.description||"")?l.value=a:y(a.help_link)},null,8,["onClick"])):m("",!0)]))),128))])]),_:1})):m("",!0)])):m("",!0),s.value?(u(),g(ae,{key:1,"config-entries":H.value,disabled:!1,"show-generic-section":!1,onSubmit:P,onAction:w},null,8,["config-entries"])):m("",!0),n(K,{modelValue:d.value,"onUpdate:modelValue":t[1]||(t[1]=a=>d.value=a),scrim:"true",persistent:"",class:"loading-overlay"},{default:i(()=>[n(q,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"]),n(ne,{"model-value":l.value!==void 0,width:"auto","onUpdate:modelValue":t[4]||(t[4]=a=>l.value=void 0)},{default:i(()=>[n(b,null,{default:i(()=>[n(A,null,{default:i(()=>[r("h2",null,c(e.$t(`settings.${l.value?.key}.label`,l.value?.label||"")),1)]),_:1}),n(A,{innerHTML:I(Q)(e.$t(`settings.${l.value?.key}.description`,l.value?.description||""))},null,8,["innerHTML"]),n(X,null,{default:i(()=>[l.value?.help_link?(u(),g(V,{key:0,onClick:t[2]||(t[2]=a=>y(l.value.help_link))},{default:i(()=>[h(c(e.$t("read_more")),1)]),_:1})):m("",!0),n(Y),n(V,{color:"primary",onClick:t[3]||(t[3]=a=>l.value=void 0)},{default:i(()=>[h(c(e.$t("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"])]))}}),Ae=ee(fe,[["__scopeId","data-v-bf710b9a"]]);export{Ae as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ay as q,J as _,aP as s,bb as Y,a4 as J,i as P,br as V,cC as C,b2 as L,L as W,az as f,aA as d,aB as m,aI as g,o as i,aD as n,aG as o,E as p,aL as y,bh as r,aN as v,cw as K,aS as $,bH as Q,ah as X,aH as Z,c3 as U,c0 as x,bV as ee,M as w,bW as ae,aE as le,bN as te,_ as se}from"./index-GQ3lWXrm.js";import{E as ie,C as ne}from"./EditConfig-Bwi8QH5_.js";import{n as oe}from"./index.browser-OxPLOBIU.js";import{V as re}from"./VSwitch-C4Td5_x0.js";import{V as de}from"./VDialog-OmJrmVI_.js";import"./VAlert-C8Oto4eV.js";import"./VCheckbox-CgwahLqh.js";import"./VCheckboxBtn-orONEqTE.js";import"./VSelectionControl-C9uJkKHo.js";import"./VSlider-BxXcuhLj.js";import"./VSelect-vsgYa-Ce.js";import"./VVirtualScroll-YsHPZNGu.js";import"./VForm-CRBkgkz1.js";import"./VExpansionPanels-D8F4VK-K.js";const ue={class:"edit-player"},pe={key:0},ve={class:"header-content"},ce={class:"header-icon"},me={class:"header-info"},fe={class:"header-title"},ye={class:"header-meta"},_e={class:"meta-item"},ge={class:"meta-item"},be={key:0,class:"meta-item"},ke={key:1,class:"meta-item"},he={key:2,class:"meta-item"},Ee={class:"settings-card-header"},Pe={class:"settings-card-title"},Ve={class:"settings-card-content"},Ce=q({__name:"EditPlayer",props:{playerId:{}},setup(z){const A=le(),l=_(),M=oe(11),D=_(!1),b=z,k=_(!1),h=_(!1),c=_(),E=e=>e==null,B=e=>!e.hidden,N=e=>{if(!l.value)return!1;if(!E(e.depends_on)){const t=Object.values(l.value.values).find(j=>j.key==e.depends_on);if(!t)return!1;const u=t.value;return E(e.depends_on_value)?E(e.depends_on_value_not)?!u:u==e.depends_on_value_not:u!=e.depends_on_value}return!1};(async()=>{if(b.playerId)try{k.value=(await s.getDSPConfig(b.playerId)).enabled}catch(e){console.error("Error fetching DSP config:",e)}})();const O=s.subscribe(Y.PLAYER_DSP_CONFIG_UPDATED,e=>{k.value=e.data.enabled});J(O);const I=P(()=>{if(!l.value)return[];const e=Object.values(l.value.values),a=s.players[l.value.player_id];return a&&a.type!==V.GROUP?e.push({key:"dsp_settings",type:C.DSP_SETTINGS,label:"",default_value:k.value,required:!1,category:"audio"}):a&&a.type===V.GROUP&&a.supported_features.includes(L.MULTI_DEVICE_DSP)?e.push({key:"dsp_note_multi_device_group",type:C.LABEL,label:"You can configure the DSP for each player individually.",default_value:null,required:!1,category:"audio"}):a&&a.type===V.GROUP&&!a.supported_features.includes(L.MULTI_DEVICE_DSP)&&e.push({key:"dsp_note_multi_device_group_not_supported",type:C.LABEL,label:"This group type does not support DSP when playing to multiple devices.",default_value:null,required:!1,category:"audio"}),e}),G=P(()=>I.value.filter(e=>(!e.category||e.category==="generic")&&B(e))),H=P(()=>I.value.filter(e=>e.category&&e.category!=="generic"));W(()=>b.playerId,async e=>{e&&(l.value=await s.getPlayerConfig(e))},{immediate:!0});const F=async function(e){delete e.dsp_settings,e.enabled=l.value.enabled,e.name=l.value.name||null,s.savePlayerConfig(b.playerId,e),A.push({name:"playersettings"})},S=async function(e,a){D.value=!0;for(const t of Object.values(l.value.values))t.value!==void 0&&a[t.key]==null&&(a[t.key]=t.value);a.session_id=M,s.getPlayerConfigEntries(l.value.player_id,e,a).then(t=>{l.value.values={};for(const u of t)l.value.values[u.key]=u}).catch(t=>{alert(t)}).finally(()=>{D.value=!1})},T=function(e){const a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.click()},R=function(e){const{t:a}=te();return(a(`settings.${e?.key}.description`,e.description||" ")||e.help_link||" ")?.length>1};return(e,a)=>(d(),f("section",ue,[l.value&&n(s).getProviderManifest(l.value.provider).domain in n(s).providerManifests?(d(),f("div",pe,[i($,{class:"header-card mb-4",elevation:"0"},{default:o(()=>[p("div",ve,[p("div",ce,[i(y,{size:"32",color:"primary"},{default:o(()=>[...a[7]||(a[7]=[r("mdi-speaker",-1)])]),_:1})]),p("div",me,[p("h2",fe,v(l.value.name||n(s).players[l.value.player_id]?.name||l.value.default_name),1),p("div",ye,[p("span",_e,[i(y,{size:"14",class:"mr-1"},{default:o(()=>[...a[8]||(a[8]=[r("mdi-identifier",-1)])]),_:1}),r(" "+v(l.value.player_id),1)]),p("span",ge,[i(y,{size:"14",class:"mr-1"},{default:o(()=>[...a[9]||(a[9]=[r("mdi-puzzle",-1)])]),_:1}),r(" "+v(n(s).getProviderManifest(l.value.provider)?.name)+" ",1),n(s).getProviderManifest(l.value.provider)?.documentation?(d(),f("a",{key:0,class:"docs-link",onClick:a[0]||(a[0]=t=>n(K)(n(s).getProviderManifest(l.value.provider)?.documentation))},[i(y,{size:"12"},{default:o(()=>[...a[10]||(a[10]=[r("mdi-open-in-new",-1)])]),_:1})])):m("",!0)]),n(s).players[l.value.player_id]?(d(),f("span",be,[i(y,{size:"14",class:"mr-1"},{default:o(()=>[...a[11]||(a[11]=[r("mdi-information",-1)])]),_:1}),r(" "+v(n(s).players[l.value.player_id].device_info.manufacturer)+" / "+v(n(s).players[l.value.player_id].device_info.model),1)])):m("",!0),n(s).players[l.value.player_id]?.device_info.ip_address?(d(),f("span",ke,[i(y,{size:"14",class:"mr-1"},{default:o(()=>[...a[12]||(a[12]=[r("mdi-ip-network",-1)])]),_:1}),r(" "+v(n(s).players[l.value.player_id].device_info.ip_address),1)])):m("",!0),n(s).players[l.value.player_id]?(d(),f("span",he,[i(y,{size:"14",class:"mr-1"},{default:o(()=>[...a[13]||(a[13]=[r("mdi-tag",-1)])]),_:1}),r(" "+v(e.$t(`player_type.${n(s).players[l.value.player_id].type}`)),1)])):m("",!0)])])])]),_:1}),i($,{class:"settings-card mb-4",elevation:"0"},{default:o(()=>[p("div",Ee,[i(y,{size:"20"},{default:o(()=>[...a[14]||(a[14]=[r("mdi-cog",-1)])]),_:1}),p("h3",Pe,v(e.$t("settings.category.generic","Basic settings")),1)]),p("div",Ve,["name"in l.value?(d(),g(Q,{key:0,modelValue:l.value.name,"onUpdate:modelValue":a[1]||(a[1]=t=>l.value.name=t),placeholder:l.value?.name,label:e.$t("settings.player_name"),variant:"outlined",density:"comfortable",clearable:""},null,8,["modelValue","placeholder","label"])):m("",!0),"enabled"in l.value?(d(),g(re,{key:1,modelValue:l.value.enabled,"onUpdate:modelValue":a[2]||(a[2]=t=>l.value.enabled=t),label:e.$t("settings.enable_player"),color:"primary",disabled:n(s).getProviderManifest(l.value.provider)?.builtin,"hide-details":""},null,8,["modelValue","label","disabled"])):m("",!0),(d(!0),f(X,null,Z(G.value,t=>(d(),f("div",{key:t.key,class:"config-entry"},[i(ne,{"conf-entry":t,"show-password-values":h.value,disabled:N(t),onTogglePassword:a[3]||(a[3]=u=>h.value=!h.value),onClearValue:u=>t.value=t.default_value,"onUpdate:value":u=>t.value=u,onAction:u=>{S(t.action||t.key,{}),t.value=t.action?null:t.key}},null,8,["conf-entry","show-password-values","disabled","onClearValue","onUpdate:value","onAction"]),R(t)?(d(),g(w,{key:0,icon:"mdi-help-circle-outline",variant:"text",size:"small",class:"help-btn",onClick:u=>e.$t(`settings.${t?.key}.description`,t.description||"")?c.value=t:T(t.help_link)},null,8,["onClick"])):m("",!0)]))),128))])]),_:1})])):m("",!0),l.value?(d(),g(ie,{key:1,disabled:!l.value.enabled,"config-entries":H.value,"show-generic-section":!1,onSubmit:F,onAction:S},null,8,["disabled","config-entries"])):m("",!0),i(de,{"model-value":c.value!==void 0,width:"auto","onUpdate:modelValue":a[6]||(a[6]=t=>c.value=void 0)},{default:o(()=>[i($,null,{default:o(()=>[i(U,null,{default:o(()=>[p("h2",null,v(e.$t(`settings.${c.value?.key}.label`,c.value?.label||"")),1)]),_:1}),i(U,{innerHTML:n(x)(e.$t(`settings.${c.value?.key}.description`,c.value?.description||""))},null,8,["innerHTML"]),i(ee,null,{default:o(()=>[c.value?.help_link?(d(),g(w,{key:0,onClick:a[4]||(a[4]=t=>T(c.value.help_link))},{default:o(()=>[r(v(e.$t("read_more")),1)]),_:1})):m("",!0),i(ae),i(w,{color:"primary",onClick:a[5]||(a[5]=t=>c.value=void 0)},{default:o(()=>[r(v(e.$t("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"])]))}}),He=se(Ce,[["__scopeId","data-v-86616a80"]]);export{He as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.edit-player[data-v-86616a80]{padding:16px}.header-card[data-v-86616a80]{border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:12px}.header-content[data-v-86616a80]{display:flex;gap:20px;padding:24px}.header-icon[data-v-86616a80]{flex-shrink:0;width:56px;height:56px;border-radius:12px;background:rgba(var(--v-theme-primary),.1);display:flex;align-items:center;justify-content:center}.header-info[data-v-86616a80]{flex:1;min-width:0}.header-title[data-v-86616a80]{font-size:1.25rem;font-weight:600;margin:0 0 8px;color:rgb(var(--v-theme-on-surface))}.header-meta[data-v-86616a80]{display:flex;flex-wrap:wrap;gap:16px}.meta-item[data-v-86616a80]{display:inline-flex;align-items:center;font-size:.813rem;color:rgba(var(--v-theme-on-surface),.6)}.docs-link[data-v-86616a80]{margin-left:4px;cursor:pointer;color:rgb(var(--v-theme-primary));opacity:.8;transition:opacity .2s ease}.docs-link[data-v-86616a80]:hover{opacity:1}.settings-card[data-v-86616a80]{border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:12px;overflow:hidden}.settings-card-header[data-v-86616a80]{display:flex;align-items:center;gap:12px;padding:14px 20px;background:rgba(var(--v-theme-primary),.08);border-bottom:1px solid rgba(var(--v-theme-primary),.12)}.settings-card-header .v-icon[data-v-86616a80]{color:rgb(var(--v-theme-primary))}.settings-card-title[data-v-86616a80]{font-size:1.1rem;font-weight:600;margin:0;color:rgb(var(--v-theme-primary))}.settings-card-content[data-v-86616a80]{padding:20px}.config-entry[data-v-86616a80]{display:flex;align-items:flex-start;gap:8px;margin-top:12px}.config-entry[data-v-86616a80]:first-child{margin-top:0}.help-btn[data-v-86616a80]{flex-shrink:0;margin-top:8px;opacity:.6;transition:opacity .2s ease}.help-btn[data-v-86616a80]:hover{opacity:1}.config-entry:has(.v-checkbox)+.config-entry[data-v-86616a80]:has(.v-text-field),.config-entry:has(.v-checkbox)+.config-entry[data-v-86616a80]:has(.v-select),.config-entry:has(.v-checkbox)+.config-entry[data-v-86616a80]:has(.v-slider),.config-entry:has(.v-checkbox)+.config-entry[data-v-86616a80]:has(.v-combobox){margin-top:16px}@media (max-width: 600px){.header-content[data-v-86616a80]{flex-direction:column;align-items:flex-start}.header-meta[data-v-86616a80]{flex-direction:column;gap:8px}}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{g as Fe,p as qe,dk as il,c as Be,f as ol,e as rl,n as De,E as z,q as ie,r as Q,o as l,aL as K,an as ul,A as Qe,dl as Ke,z as Ye,C as we,cv as Xe,bZ as dl,K as ml,J as U,L as le,s as he,x as Je,b$ as pl,G as vl,d as cl,H as fl,m as gl,t as ee,i as j,v as yl,B as _l,av as hl,ay as ge,u as Oe,aI as $,aA as c,aG as a,az as pe,M as B,c3 as ae,bh as f,aN as A,ah as fe,aH as Ee,bd as Ze,aO as bl,_ as el,bT as Vl,bU as Ie,aT as O,aS as te,bH as ll,dm as L,dn as F,a2 as Cl,a3 as Le,cG as tl,aB as G,aD as h,bI as kl,bK as Se,bP as al,bQ as $e,cB as Sl,bW as Te,R as Pe,bN as Pl,dp as ne,a8 as Ll,bl as $l,aP as se,bb as He,a4 as Tl,b4 as Al,aF as Fl,aM as Ue,aJ as ze,ae as ql,bg as Ne,bV as xe,aE as Dl}from"./index-GQ3lWXrm.js";import{V as wl}from"./VSlider-BxXcuhLj.js";import{V as be}from"./VSelect-vsgYa-Ce.js";import{V as Ae}from"./VSwitch-C4Td5_x0.js";import{a as Ge,V as We}from"./VToolbar-BTrAkkB7.js";import{V as Ol}from"./VAlert-C8Oto4eV.js";import{V as je}from"./VDialog-OmJrmVI_.js";import"./VVirtualScroll-YsHPZNGu.js";import"./VCheckboxBtn-orONEqTE.js";import"./VSelectionControl-C9uJkKHo.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:b}=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:N,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",N.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)},[b.default?l(ul,{key:"icon-defaults",disabled:!t.icon,defaults:{VIcon:{color:t.iconColor,icon:t.icon,size:t.size}}},b.default):l(K,{key:"icon",color:t.iconColor,icon:t.icon,size:t.size},null)])]),z("div",{class:Q(["v-timeline-divider__after",N.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:b}=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)},[b.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:b.icon}),t.density!=="compact"&&z("div",{class:"v-timeline-item__opposite"},[!t.hideOpposite&&b.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:b}=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])},b)),{}}}),Bl=ge({__name:"DSPPipeline",props:{dsp:{},selected:{}},emits:["onSelect","onAddFilter","onMoveFilter","onDeleteFilter"],setup(t,{emit:S}){const b=Oe(),g=t,s=S,D=V=>g.selected===V?"primary":"secondary",m=V=>V==="input"||V==="output"?!1:!g.dsp.filters[V].enabled,H=V=>g.selected===V?"primary":b.global.current.value.dark?"grey-darken-3":"grey-lighten-3",w=V=>({"filter-selected":g.selected===V}),N=V=>{s("onSelect",V)},u=(V,E)=>{s("onMoveFilter",{index:V,direction:E})},k=V=>{s("onDeleteFilter",V)},M=function(V,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:()=>{k(E)},icon:"mdi-delete"}];bl.emit("contextmenu",{items:q,posX:V.clientX,posY:V.clientY})};return(V,E)=>(c(),$(Ml,{density:"compact",side:"end"},{default:a(()=>[l(me,{"dot-color":D("input"),size:"x-small",onClick:E[0]||(E[0]=q=>N("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(V.$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(t.dsp.filters,(q,I)=>(c(),$(me,{key:I,"dot-color":D(I),size:"x-small","hide-dot":m(I),onClick:oe=>N(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(V.$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(V.$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=>N("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(V.$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,b=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?b.value.toString():b.value>1e3?b.value.toFixed(0):b.value>100?b.value.toFixed(1):b.value.toFixed(2),set:u=>{b.value=Number(u)}}),m=j({get:()=>s.value.is_log?Math.log10(b.value):b.value,set:u=>{s.value.is_log?b.value=Math.pow(10,u):b.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),N=j(()=>s.value.is_log?Math.log10(s.value.step):s.value.step);return(u,k)=>(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":k[0]||(k[0]=M=>m.value=M),min:w.value,max:H.value,step:N.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":k[1]||(k[1]=M=>D.value=M),type:"number","hide-details":"",density:"compact",style:{"max-width":"100px"},onFocus:k[2]||(k[2]=M=>g.value=!0),onBlur:k[3]||(k[3]=M=>g.value=!1)},null,8,["modelValue"]),z("span",zl,A(s.value.unit),1)]),_:1})]),_:1}))}}),Nl={class:"d-flex flex-wrap justify-end align-center ga-2 pr-2"},xl={class:"d-flex align-center pl-1"},Gl=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},b={[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={},C=F.ALL;for(const d of e)if(d.startsWith("Channel:")){const v=d.match(/Channel:\s*(.+)/);if(v&&v[1]){const _=v[1].trim().toUpperCase();_==="ALL"||_==="1 2"||_==="L R"?C=F.ALL:_==="L"||_==="1"||_==="FL"?(C=F.FL,P=!0):(_==="R"||_==="2"||_==="FR")&&(C=F.FR,P=!0)}T[C]||(T[C]=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[_,Y,Z,Re,Ce,ke,X]=v;Z!=="None"&&o.push({frequency:parseFloat(Re),gain:parseFloat(Ce),q:parseFloat(ke),type:S[Z]||L.PEAK,enabled:Y==="ON",channel:C})}}else if(d.startsWith("Preamp")){const v=d.match(/Preamp:\s*(-?\d+\.?\d*)\s+dB/);v&&(T[C]=parseFloat(v[1]))}let y;P?y=u.value.bands.filter(d=>!o.some(v=>v.channel===d.channel||v.channel===F.ALL||d.channel===F.ALL)):R.value!==F.ALL?(y=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})):(y=[],u.value.per_channel_preamp={}),u.value.bands=[...y,...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(()=>{W.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 C of T){if(C===F.ALL)continue;const y=g.find(v=>v.value===C)?.title||C;n+=`
|
|
4
|
-
# ${y}
|
|
5
|
-
`,n+=`Channel: ${C===F.FL?"L":"R"}
|
|
6
|
-
`,u.value.per_channel_preamp[C]!==void 0&&(n+=`Preamp: ${u.value.per_channel_preamp[C].toFixed(2)} dB
|
|
7
|
-
`);let d=1;u.value.bands.forEach(v=>{if(v.channel===C||v.channel===F.ALL){const _=b[v.type];n+=`Filter ${d++}: ${v.enabled?"ON":"OFF"} ${_} Fc ${v.frequency.toFixed(1)} Hz Gain ${v.gain.toFixed(2)} dB Q ${v.q.toFixed(3)}
|
|
8
|
-
`}})}}else u.value.bands.forEach((T,C)=>{const y=b[T.type];n+=`Filter ${C+1}: ${T.enabled?"ON":"OFF"} ${y} 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)},N=Oe(),u=Ie(t,"modelValue"),k=U(null),M=U(null),V=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(!k.value||!M.value)return;const n=N.global.current.value.dark,e=k.value.getContext("2d");if(!e)return;k.value.width=M.value.clientWidth*2,k.value.height=M.value.clientHeight*2,q.value.width=k.value.width/2,q.value.height=k.value.height/2,e.scale(2,2),e.clearRect(0,0,k.value.width,k.value.height),ce(e,q.value);const o=e.canvas.width/2;e.canvas.height/2;const P=(C,y,d)=>{let v=`hsla(${y*360/u.value.bands.length}, 60%, ${n?70:50}%, 0.5)`;d.beginPath(),y===W.value?(d.lineWidth=5,v=`hsla(${y*360/u.value.bands.length}, 70%, ${n?70:60}%, 1)`):d.lineWidth=2,d.strokeStyle=v;const _=new Float32Array(o);for(let X=0;X<o;X++)_[X]=r(X,q.value);const Y=new Float32Array(o),Z=new Float32Array(o);oe(ye,C).getFrequencyResponse(_,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 Ce=i(C.frequency,q.value),ke=p(C.gain,q.value);return d.beginPath(),d.fillStyle=v,d.arc(Ce,ke,6,0,2*Math.PI),d.fill(),{frequencies:_,magResponse:Y}},T=(C,y)=>{y.lineWidth=3,n?y.strokeStyle="#fff":y.strokeStyle="#000",y.beginPath();for(let d=q.value.padding_lr;d<o-q.value.padding_lr;d++){const v=p(C[d],q.value);d===q.value.padding_lr?y.moveTo(d,v):y.lineTo(d,v)}y.stroke()};if(R.value===F.ALL&&re.value){const C=Object.values(F).filter(d=>d!==F.ALL),y={};C.forEach(d=>{y[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:_}=P(d,v,e);if(d.channel===F.ALL)C.forEach(Y=>{for(let Z=0;Z<o;Z++)y[Y][Z]+=20*Math.log10(_[Z])});else for(let Y=0;Y<o;Y++)y[d.channel][Y]+=20*Math.log10(_[Y])}}),C.forEach(d=>{T(y[d],e)})}else{const C=new Float32Array(o).fill((u.value.preamp??0)+(u.value.per_channel_preamp[R.value]??0));u.value.bands.forEach((y,d)=>{if(y.enabled&&y.channel===R.value||y.channel===F.ALL){const{magResponse:v}=P(y,d,e);for(let _=0;_<o;_++)C[_]+=20*Math.log10(v[_])}}),T(C,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),W=U(-1),R=U(F.ALL),x=j(()=>u.value.bands[W.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),W.value>=u.value.bands.length&&Pe(()=>{W.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(()=>{W.value=n})};le(()=>u.value.preamp,I),le(()=>u.value.per_channel_preamp,I,{deep:!0}),le(()=>(W.value,u.value.bands),()=>{W.value>=u.value.bands.length&&(W.value=u.value.bands.length-1),I()},{deep:!0}),le(()=>R.value,I),le(()=>N.global.current.value.dark,I),Cl(()=>{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;N.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 _=i(v,e);n.beginPath(),n.moveTo(_,e.padding_tb),n.lineTo(_,P-e.padding_tb),n.stroke(),n.font="10px Arial",n.textAlign="center",n.fillText(v>=1e3?`${v/1e3}k`:v.toString(),_,P-5)});const y=e.max_gain-e.min_gain,d=Math.ceil(y/(e.height/30));for(let v=e.min_gain;v<=e.max_gain;v+=d){const _=p(v,e);n.beginPath(),n.moveTo(e.padding_lr,_),n.lineTo(o-e.padding_lr,_),n.stroke(),n.font="10px Arial",n.textAlign="right",n.fillText(`${v}dB`,e.padding_lr-3,_+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",Nl,[ue.value?(c(),$(be,{key:1,modelValue:R.value,"onUpdate:modelValue":e[1]||(e[1]=o=>R.value=o),class:"pa-2",items:h(g),label:h(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(h(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(h(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(h(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:k,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(kl,{modelValue:W.value,"onUpdate:modelValue":e[2]||(e[2]=o=>W.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(h(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===h(F).ALL?h(O)("settings.dsp.parametric_eq.band",{index:P+1}):h(O)("settings.dsp.parametric_eq.band_channel",{index:P+1,channel:h(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===h(F).ALL?h(O)("settings.dsp.parametric_eq.add_band"):h(O)("settings.dsp.parametric_eq.add_band_channel",{channel:h(O)(`settings.dsp.channels.${R.value}`)})),1)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),W.value===-1?(c(),$(te,{key:0,elevation:"0",color:"transparent"},{default:a(()=>[l(ae,null,{default:a(()=>[l(al,{dense:""},{default:a(()=>[l($e,{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!==h(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:h(O)("settings.dsp.parametric_eq.per_channel_preamp",{channel:h(O)(`settings.dsp.channels.${R.value}`)}),unit:"dB",is_log:!1}},null,8,["modelValue","type"])):G("",!0)]),_:1})]),_:1})]),_:1})]),_:1})):G("",!0),x.value?(c(),pe(fe,{key:1},[l(Sl,null,{default:a(()=>[z("div",xl,[l(Ae,{modelValue:x.value.enabled,"onUpdate:modelValue":e[5]||(e[5]=o=>x.value.enabled=o),label:h(O)("settings.dsp.parametric_eq.enable_band"),density:"comfortable","hide-details":"",color:"primary"},null,8,["modelValue","label"]),l(Te),l(B,{color:"error",variant:"tonal",onClick:e[6]||(e[6]=o=>de(W.value))},{default:a(()=>[l(K,null,{default:a(()=>[...e[15]||(e[15]=[f("mdi-delete",-1)])]),_:1}),f(" "+A(h(O)("settings.dsp.parametric_eq.delete_band")),1)]),_:1})])]),_:1}),l(be,{modelValue:x.value.type,"onUpdate:modelValue":e[7]||(e[7]=o=>x.value.type=o),items:h(V),label:h(O)("settings.dsp.parametric_eq.filter_type"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"]),l(J,{modelValue:x.value.frequency,"onUpdate:modelValue":e[8]||(e[8]=o=>x.value.frequency=o),type:"frequency"},null,8,["modelValue"]),E(x.value.type)?(c(),$(J,{key:0,modelValue:x.value.gain,"onUpdate:modelValue":e[9]||(e[9]=o=>x.value.gain=o),type:"gain"},null,8,["modelValue"])):G("",!0),l(J,{modelValue:x.value.q,"onUpdate:modelValue":e[10]||(e[10]=o=>x.value.q=o),type:"q"},null,8,["modelValue"]),ue.value?(c(),$(be,{key:1,modelValue:x.value.channel,"onUpdate:modelValue":e[11]||(e[11]=o=>x.value.channel=o),items:h(g),label:h(O)("settings.dsp.parametric_eq.channel"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"])):G("",!0)],64)):G("",!0)]),_:1}))}}),Wl=el(Gl,[["__scopeId","data-v-ac29d681"]]),jl=ge({__name:"DSPToneControl",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const S=Ie(t,"modelValue");return(b,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:b.$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:b.$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:b.$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"},ot=ge({__name:"EditPlayerDsp",props:{playerId:{}},setup(t){const{t:S}=Pl();Dl();const b=Oe(),g=t,s=U(),D=U([]),m=U(null),H=U(!1),w=U(!1),N=U(ne.PARAMETRIC_EQ),u=U("");U(window.innerWidth);const{mobile:k}=Ll();let M=!1,V;const E=Object.values(ne).map(i=>({value:i,title:S(`settings.dsp.types.${i}`)})),q=()=>b.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(N.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)},W=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)}},x=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(k,i=>{!i&&m.value===null&&I("input")},{immediate:!0});const ve=j(()=>$l(se.players[g.playerId],27));le(()=>g.playerId,async i=>{V&&V(),M=!0,i&&(s.value=await se.getDSPConfig(i)),V=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(()=>{V&&V(),_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(Ae,{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=>W(p)},{append:a(()=>[l(B,{icon:"mdi-delete",variant:"text",density:"compact",onClick:Ze(ce=>x(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?G("",!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":h(k)},"flex-nowrap"])},{default:a(()=>[!h(k)||m.value===null?(c(),$($e,{key:0,class:Q(["flex-grow-0 flex-shrink-0",{"border-e pr-4":!h(k)}]),"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"])):G("",!0),m.value!=null?(c(),$($e,{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(()=>[h(k)?(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})):G("",!0),l(Ge,null,{default:a(()=>[f(A(oe(m.value)),1)]),_:1}),typeof m.value=="number"&&!h(k)&&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})):G("",!0),typeof m.value=="number"&&!h(k)&&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})):G("",!0),typeof m.value=="number"?(c(),$(Ae,{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"])):G("",!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})):G("",!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===h(ne).PARAMETRIC_EQ?(c(),$(Wl,{key:0,modelValue:s.value.filters[m.value],"onUpdate:modelValue":r[11]||(r[11]=p=>s.value.filters[m.value]=p)},null,8,["modelValue"])):G("",!0),s.value.filters[m.value].type===h(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"])):G("",!0)]),_:1},8,["color"]))]),_:1})):G("",!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(Ne,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(xe,null,{default:a(()=>[l(Te),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(Ne,null,{default:a(()=>[f(A(i.$t("settings.dsp.filter.add")),1)]),_:1}),l(ae,null,{default:a(()=>[l(be,{modelValue:N.value,"onUpdate:modelValue":r[16]||(r[16]=p=>N.value=p),items:h(E),label:i.$t("settings.dsp.filter.type")},null,8,["modelValue","items","label"])]),_:1}),l(xe,null,{default:a(()=>[l(Te),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"])])):G("",!0)}});export{ot as default};
|