music-assistant-frontend 2.16.3__py3-none-any.whl → 2.16.4__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/{AddManualLink.vue_vue_type_script_setup_true_lang-Btxi9C62.js → AddManualLink.vue_vue_type_script_setup_true_lang-_FA1DnfW.js} +1 -1
- music_assistant_frontend/assets/{AddPlayerGroup-B9Z_pSbp.js → AddPlayerGroup-BymaA44C.js} +1 -1
- music_assistant_frontend/assets/{AddProvider-Cvc1vKjb.js → AddProvider-CDfD5zPm.js} +1 -1
- music_assistant_frontend/assets/{AddProviderDetails-nxO_mtOV.js → AddProviderDetails-uEFxnGV0.js} +1 -1
- music_assistant_frontend/assets/{AlbumDetails-4k1gGn03.js → AlbumDetails-l_xW4RV3.js} +1 -1
- music_assistant_frontend/assets/{ArtistDetails-Cj5jS8dS.js → ArtistDetails-kNogzX20.js} +1 -1
- music_assistant_frontend/assets/AudiobookDetails-Be9K0b_I.js +1 -0
- music_assistant_frontend/assets/{BrowseView-KnS20KAJ.js → BrowseView-BBKz1QEs.js} +1 -1
- music_assistant_frontend/assets/{Button-BEhYIX-0.js → Button-D2bb5m0g.js} +1 -1
- music_assistant_frontend/assets/{Container-BVutxj42.js → Container-CAulpiq4.js} +1 -1
- music_assistant_frontend/assets/{CoreConfigs-cR-SOoT8.js → CoreConfigs-CiPfUyZq.js} +1 -1
- music_assistant_frontend/assets/{Default-C6YIMF4X.css → Default-B-5APf0O.css} +1 -1
- music_assistant_frontend/assets/Default-BQS24kaI.js +21 -0
- music_assistant_frontend/assets/EditConfig-BE9KVxcR.js +1 -0
- music_assistant_frontend/assets/{EditCoreConfig-zx9CmTur.js → EditCoreConfig-PMA0cR5Y.js} +1 -1
- music_assistant_frontend/assets/{EditPlayer-NN9IVHtY.js → EditPlayer-Qfq-aMFP.js} +1 -1
- music_assistant_frontend/assets/{EditPlayerDsp-CV4QvEHy.js → EditPlayerDsp-Bmqz60Wt.js} +3 -3
- music_assistant_frontend/assets/{EditProvider-BCCWAYGC.js → EditProvider-C--YzBtC.js} +1 -1
- music_assistant_frontend/assets/FrontendConfig-C9ylwa_p.js +1 -0
- music_assistant_frontend/assets/{HomeView-BmejYe5v.js → HomeView-BErye_ed.js} +1 -1
- music_assistant_frontend/assets/{ItemsListing-BbBL5S57.css → ItemsListing-CBCWLHeg.css} +1 -1
- music_assistant_frontend/assets/ItemsListing-x0jLS7wr.js +1 -0
- music_assistant_frontend/assets/{LibraryAlbums-CusIOqng.js → LibraryAlbums-Cy3vRXsT.js} +1 -1
- music_assistant_frontend/assets/{LibraryArtists-CTqEnV_e.js → LibraryArtists-DUOJWHbY.js} +1 -1
- music_assistant_frontend/assets/{LibraryAudiobooks-YyvEFilb.js → LibraryAudiobooks-DYrr4458.js} +1 -1
- music_assistant_frontend/assets/{LibraryPlaylists-CVIJ_N1P.js → LibraryPlaylists-CoQmnuRz.js} +1 -1
- music_assistant_frontend/assets/{LibraryPodcasts-BQqQsdr6.js → LibraryPodcasts-CPThfn_T.js} +1 -1
- music_assistant_frontend/assets/{LibraryRadios-DsoT58ha.js → LibraryRadios-CqssBjGs.js} +1 -1
- music_assistant_frontend/assets/{LibraryTracks-im3tsbMg.js → LibraryTracks-CsAkGEew.js} +1 -1
- music_assistant_frontend/assets/{ListItem-D3UfOTqB.js → ListItem-D2hYCs4D.js} +1 -1
- music_assistant_frontend/assets/MediaItemImages-BCrfvv1c.js +1 -0
- music_assistant_frontend/assets/{MediaItemThumb-4FqrTjbr.js → MediaItemThumb-CR-mI_Ce.js} +1 -1
- music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-RQRAUHrN.js +1 -0
- music_assistant_frontend/assets/PanelviewItemCompact-DSc-2D2k.js +1 -0
- music_assistant_frontend/assets/PlayerCard-vZUuOW-m.js +1 -0
- music_assistant_frontend/assets/{Players-CbJImU3B.js → Players-F0j7o7v2.js} +1 -1
- music_assistant_frontend/assets/PlaylistDetails-3ARdocF1.js +1 -0
- music_assistant_frontend/assets/{PodcastDetails-9rXzEs8I.js → PodcastDetails-DLPJM9Rh.js} +1 -1
- music_assistant_frontend/assets/{ProviderDetails.vue_vue_type_script_setup_true_lang-BaDwFhok.js → ProviderDetails.vue_vue_type_script_setup_true_lang-Cj6yJlQT.js} +2 -2
- music_assistant_frontend/assets/{ProviderFilters-Bzbv_8Zj.js → ProviderFilters-CPEgZ2Ss.js} +1 -1
- music_assistant_frontend/assets/{Providers-Breto0YQ.js → Providers-BAU3TSH_.js} +1 -1
- music_assistant_frontend/assets/RadioDetails-VCtqyONl.js +1 -0
- music_assistant_frontend/assets/{Search-BvB0EMhr.js → Search-BpNidIL3.js} +1 -1
- music_assistant_frontend/assets/{Settings-Dv4jewfc.js → Settings-CSAlGa4Q.js} +1 -1
- music_assistant_frontend/assets/{Toolbar-B2Btd3jr.css → Toolbar-B7KjojJ9.css} +1 -1
- music_assistant_frontend/assets/Toolbar-CrXd_iJ6.js +1 -0
- music_assistant_frontend/assets/{TrackDetails-DirI_xx-.js → TrackDetails-Jg_oSv-M.js} +1 -1
- music_assistant_frontend/assets/VAlert-B1mdsVdb.js +1 -0
- music_assistant_frontend/assets/VBtn-B-NuY1a5.js +1 -0
- music_assistant_frontend/assets/{VContainer-DOe7JF0h.js → VContainer-ClfgbbFl.js} +1 -1
- music_assistant_frontend/assets/VDialog-CAKjRQF6.js +1 -0
- music_assistant_frontend/assets/{VExpansionPanels-BWCnJP-B.js → VExpansionPanels-CVniPvfe.js} +1 -1
- music_assistant_frontend/assets/{VForm-ChQquqpb.js → VForm-CylqtGZY.js} +1 -1
- music_assistant_frontend/assets/VInfiniteScroll-Dt2Dv-Cq.js +1 -0
- music_assistant_frontend/assets/VInput-CEXId6XX.js +1 -0
- music_assistant_frontend/assets/{VRow-Dw7kUaJt.js → VRow-BrSA74tY.js} +1 -1
- music_assistant_frontend/assets/VSlider-D6BtFUZc.js +1 -0
- music_assistant_frontend/assets/VSpacer-UUBEbx8b.js +1 -0
- music_assistant_frontend/assets/VSwitch-PhUs-I1F.js +1 -0
- music_assistant_frontend/assets/VTextField-B-G8xtcN.js +1 -0
- music_assistant_frontend/assets/{VToolbar-BFOvSQM-.js → VToolbar-DA4cqAVo.js} +1 -1
- music_assistant_frontend/assets/{VVirtualScroll-JP5E3DQw.js → VVirtualScroll-CDzAG2cn.js} +1 -1
- music_assistant_frontend/assets/WidgetRow-BgLZl9n-.js +1 -0
- music_assistant_frontend/assets/{index-BLuBzgcR.js → index-ra7TBoRz.js} +14 -14
- music_assistant_frontend/assets/layout-CCTswPrU.js +1 -0
- music_assistant_frontend/assets/{marquee_text_sync-CbqHGytl.js → marquee_text_sync-PsJWXngV.js} +1 -1
- music_assistant_frontend/index.html +1 -1
- music_assistant_frontend/sw.js +1 -1
- {music_assistant_frontend-2.16.3.dist-info → music_assistant_frontend-2.16.4.dist-info}/METADATA +1 -1
- {music_assistant_frontend-2.16.3.dist-info → music_assistant_frontend-2.16.4.dist-info}/RECORD +73 -73
- music_assistant_frontend/assets/AudiobookDetails-DOLAfaw7.js +0 -1
- music_assistant_frontend/assets/Default-OBxfS-SQ.js +0 -21
- music_assistant_frontend/assets/EditConfig-BXS2Ap2c.js +0 -1
- music_assistant_frontend/assets/FrontendConfig-DlXbqfRd.js +0 -1
- music_assistant_frontend/assets/ItemsListing-CqOkN5bP.js +0 -1
- music_assistant_frontend/assets/MediaItemImages-Bl5Hyo8e.js +0 -1
- music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-Dwz4QKKd.js +0 -1
- music_assistant_frontend/assets/PanelviewItemCompact-Czo8xJLH.js +0 -1
- music_assistant_frontend/assets/PlayerCard-CA3BAmEY.js +0 -1
- music_assistant_frontend/assets/PlaylistDetails-tLhLQfGV.js +0 -1
- music_assistant_frontend/assets/RadioDetails-B-DMqEyq.js +0 -1
- music_assistant_frontend/assets/Toolbar-RSDUeNZR.js +0 -1
- music_assistant_frontend/assets/VAlert-Du-laR0E.js +0 -1
- music_assistant_frontend/assets/VBtn-i8gedOhv.js +0 -1
- music_assistant_frontend/assets/VDialog-CUNnqGJy.js +0 -1
- music_assistant_frontend/assets/VInfiniteScroll-XtiIpwbc.js +0 -1
- music_assistant_frontend/assets/VInput-S8c2HXsf.js +0 -1
- music_assistant_frontend/assets/VSlider-bRJnej6Z.js +0 -1
- music_assistant_frontend/assets/VSpacer-FdmIBMIx.js +0 -1
- music_assistant_frontend/assets/VSwitch-D4nwfxN1.js +0 -1
- music_assistant_frontend/assets/VTextField-BRzkPyuL.js +0 -1
- music_assistant_frontend/assets/WidgetRow-B9fF60Oe.js +0 -1
- music_assistant_frontend/assets/layout-Dtt5lK8k.js +0 -1
- {music_assistant_frontend-2.16.3.dist-info → music_assistant_frontend-2.16.4.dist-info}/WHEEL +0 -0
- {music_assistant_frontend-2.16.3.dist-info → music_assistant_frontend-2.16.4.dist-info}/licenses/LICENSE +0 -0
- {music_assistant_frontend-2.16.3.dist-info → music_assistant_frontend-2.16.4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{_ as ya,T as fa,V as et}from"./Toolbar-CrXd_iJ6.js";import{D as ha}from"./constants-BXWEQHoz.js";import{_ as pa,s as a,d as O,c as g,o as r,a as P,b as u,w as y,F as Y,r as ue,e as V,V as Qe,f as ga,t as I,g as le,u as t,h as Ce,i as A,j as we,k as Ie,l as Ae,m as M,M as F,P as kt,n as Ne,$ as Z,p as tt,q as C,v as Je,A as ba,x as ce,y as de,z as _a,B as Xe,C as me,D as j,E as ie,G as Ve,H as wa,I as Pe,J as Pa,K as ka,L as S,N as je,O as ot,Q as Re,R as nt,S as xa,T as rt,U as Be,W as zt,X as ut,Y as ct,Z as Ge,a0 as U,a1 as Dt,a2 as dt,a3 as be,a4 as Ia,a5 as mt,a6 as vt,a7 as Ot,a8 as yt,a9 as Nt,aa as Ca,ab as ve,ac as ee,ad as Wt,ae as $a,af as Qa,ag as Ht,ah as Va,ai as Sa,aj as Ta,ak as La,al as Ma,am as Ea,an as Ke,ao as Ba,ap as Te,aq as ft,ar as Aa,as as Ra,at as Fa,au as ht,av as qa,aw as Ut,ax as za,ay as Da,az as G,aA as Oa,aB as Na,aC as Wa,aD as Ha,aE as We,aF as Ua,aG as Ya,aH as Xa,aI as ja,aJ as Ga,aK as xt,aL as Ka,aM as Za,aN as Ja,aO as el,aP as tl,aQ as al,aR as $e,aS as re,aT as Le,aU as He,aV as pt,aW as ae,aX as Me,aY as Yt,aZ as Ue,a_ as ll,a$ as Fe,b0 as qe,b1 as Ye,b2 as at,b3 as Se,b4 as N,b5 as he,b6 as Xt,b7 as jt,b8 as lt,b9 as Gt,ba as It,bb as Ct,bc as il,bd as sl,be as ol,bf as De,bg as nl,bh as $t,bi as Qt,bj as Vt,bk as ge,bl as Kt,bm as rl,bn as ul,bo as cl,bp as dl}from"./index-ra7TBoRz.js";import{_ as oe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{M as Ee}from"./MediaItemThumb-CR-mI_Ce.js";import{V as Zt}from"./VDialog-CAKjRQF6.js";import{u as ml,c as vl,m as yl,a as gt,b as bt}from"./layout-CCTswPrU.js";import{V as fl,a as hl}from"./VInfiniteScroll-Dt2Dv-Cq.js";import{z as pl}from"./index-CBho6rsP.js";import{m as St,B as pe}from"./Button-D2bb5m0g.js";import{V as gl,P as _t,g as bl,a as ze}from"./PlayerCard-vZUuOW-m.js";import{V as _l}from"./VSlider-D6BtFUZc.js";import{L as wl}from"./ListItem-D2hYCs4D.js";import{V as Pl,a as _e,m as kl,b as Jt}from"./VBtn-B-NuY1a5.js";import{M as se,a as it}from"./marquee_text_sync-PsJWXngV.js";import{_ as xl}from"./NowPlayingBadge.vue_vue_type_style_index_0_lang-RQRAUHrN.js";import{V as Il}from"./VToolbar-DA4cqAVo.js";import{V as Cl}from"./VVirtualScroll-CDzAG2cn.js";import{V as $l,a as Tt,b as Lt,c as Mt}from"./VExpansionPanels-CVniPvfe.js";import"./VInput-CEXId6XX.js";const Ql=oe(pa,[["__scopeId","data-v-89a5b6dd"]]),ea=function(){const e=localStorage.getItem("frontend.settings.menu_items"),i=e?e.split(","):ha,l=[];for(const s of i)s==="home"&&l.push({label:"home",icon:"mdi-home-outline",path:"/home",isLibraryNode:!1}),s==="search"&&l.push({label:"search",icon:"mdi-magnify",path:"/search",isLibraryNode:!1}),s==="artists"&&l.push({label:"artists",icon:"mdi-account-outline",path:"/artists",isLibraryNode:!0,hidden:a.libraryArtistsCount===0}),s==="albums"&&l.push({label:"albums",icon:"md:album",path:"/albums",isLibraryNode:!0,hidden:a.libraryAlbumsCount===0}),s==="tracks"&&l.push({label:"tracks",icon:"mdi-music-note",path:"/tracks",isLibraryNode:!0,hidden:a.libraryTracksCount===0}),s==="playlists"&&l.push({label:"playlists",icon:"md:playlist_play",path:"/playlists",isLibraryNode:!0,hidden:a.libraryPlaylistsCount===0}),s==="podcasts"&&l.push({label:"podcasts",icon:"mdi-podcast",path:"/podcasts",isLibraryNode:!0,hidden:a.libraryPodcastsCount===0}),s==="audiobooks"&&l.push({label:"audiobooks",icon:"mdi-book-play-outline",path:"/audiobooks",isLibraryNode:!0,hidden:a.libraryAudiobooksCount===0}),s==="radios"&&l.push({label:"radios",icon:"mdi-access-point",path:"/radios",isLibraryNode:!0,hidden:a.libraryRadiosCount===0}),s==="browse"&&l.push({label:"browse",icon:"mdi-folder-outline",path:"/browse",isLibraryNode:!0}),s==="settings"&&l.push({label:"settings.settings",icon:"mdi-cog-outline",path:"/settings",isLibraryNode:!0});return l},Vl={class:"sidebar"},Sl=O({__name:"Navigation",setup(e){const i=ea();return(l,s)=>(r(),g("nav",Vl,[s[0]||(s[0]=P("div",{class:"sidebar-header"},[P("img",{src:ya,alt:"Music Assistant",class:"sidebar-header-logo"}),P("div",{class:"sidebar-header-title"},"Music Assistant")],-1)),u(Ce,{class:"sidebar-list"},{default:y(()=>[(r(!0),g(Y,null,ue(t(i),o=>(r(),V(Qe,{key:o.label,slim:"",nav:"",class:"menuButton",to:o.path},{prepend:y(()=>[u(le,{icon:o.icon,size:"24px"},null,8,["icon"])]),default:y(()=>[u(ga,{textContent:I(l.$t(o.label))},null,8,["textContent"])]),_:2},1032,["to"]))),128))]),_:1})]))}}),Tl=oe(Sl,[["__scopeId","data-v-032ea6d4"]]),Ll={class:"media-thumb"},Ml={style:{"margin-left":"-10px","padding-right":"5px"}},El=O({__name:"AddToPlaylistDialog",setup(e){const i=A(!1),l=A([]),s=A([]),o=A(),n=A([]);we(()=>{Ie.on("playlistdialog",async T=>{i.value=!0,n.value=T.items,o.value=T.parentItem,await c()}),Ae(()=>{Ie.off("playlistdialog")})});const c=async function(){l.value=[],s.value=[];const T=await M.getLibraryPlaylists();let w=n.value.length?n.value[0]:void 0;if(w){"provider_mappings"in w||(w=await M.getItem(w.media_type,w.item_id,w.provider));for(const d of T){if(!d.provider_mappings.filter(x=>x.available).length||!d.is_editable||o.value&&o.value.media_type===F.PLAYLIST&&d.item_id===o.value.item_id)continue;const $=M.providers[d.provider_mappings[0].provider_instance];$&&($.domain=="builtin"||$.is_streaming_provider||w?.provider_mappings.filter(x=>x.provider_instance==$.instance_id).length)&&l.value.push(d)}for(const d of Object.values(M.providers))d.supported_features.includes(kt.PLAYLIST_CREATE)&&d.supported_features.includes(kt.PLAYLIST_TRACKS_EDIT)&&(d.domain=="builtin"||d.is_streaming_provider||w?.provider_mappings.filter($=>$.provider_instance==d.instance_id).length)&&s.value.push(d.instance_id)}},m=async function(T){M.addPlaylistTracks(T.item_id,n.value.map(w=>w.uri)),v(),a.activeAlert={type:ba.INFO,message:Z("background_task_added"),persistent:!1}},f=async function(T){const w=prompt(Z("new_playlist_name"));if(!w)return;const d=await M.createPlaylist(w,T);m(d)},v=function(){i.value=!1};return(T,w)=>(r(),V(Zt,{modelValue:i.value,"onUpdate:modelValue":[w[0]||(w[0]=d=>i.value=d),w[1]||(w[1]=d=>{t(a).dialogActive=d})],fullscreen:"",transition:"dialog-bottom-transition"},{default:y(()=>[u(Ne,null,{default:y(()=>[u(fa,{icon:"mdi-playlist-plus",title:t(Z)("add_playlist"),"menu-items":[{label:"close",icon:"mdi-close",action:v}]},null,8,["title","menu-items"]),u(tt),w[4]||(w[4]=P("br",null,null,-1)),u(Ce,null,{default:y(()=>[(r(!0),g(Y,null,ue(l.value,d=>(r(),g("div",{key:d.item_id},[u(Qe,{onClick:$=>m(d)},{prepend:y(()=>[P("div",Ll,[u(Ee,{item:d,size:50},null,8,["item"])])]),title:y(()=>[P("div",null,I(d.name),1)]),subtitle:y(()=>[P("div",null,I(d.owner),1)]),append:y(()=>[d.provider_mappings?(r(),V(Je,{key:0,domain:d.provider_mappings[0].provider_domain,size:20},null,8,["domain"])):C("",!0)]),_:2},1032,["onClick"])]))),128)),w[2]||(w[2]=P("div",{style:{height:"30px"}},null,-1)),u(tt),w[3]||(w[3]=P("div",{style:{height:"30px"}},null,-1)),(r(!0),g(Y,null,ue(s.value,d=>(r(),g("div",{key:d},[u(Qe,{onClick:$=>f(d)},{prepend:y(()=>[P("div",Ml,[u(Je,{domain:t(M).providers[d].domain,size:50},null,8,["domain"])])]),title:y(()=>[P("div",null,I(t(Z)("new_playlist")),1)]),subtitle:y(()=>[P("div",null,I(t(Z)("create_playlist_on",[t(M).providers[d].name])),1)]),append:y(()=>[u(Je,{domain:t(M).providers[d].domain,size:20},null,8,["domain"])]),_:2},1032,["onClick"])]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),Bl=oe(El,[["__scopeId","data-v-bd014719"]]),Al=de({scrollable:Boolean,...Pe(),...wa(),...Ve({tag:"main"})},"VMain"),Rl=ce()({name:"VMain",props:Al(),setup(e,i){let{slots:l}=i;const{dimensionStyles:s}=_a(e),{mainStyles:o}=ml(),{ssrBootStyles:n}=Xe();return me(()=>u(e.tag,{class:ie(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:j([o.value,n.value,s.value,e.style])},{default:()=>[e.scrollable?P("div",{class:"v-main__scroller"},[l.default?.()]):l.default?.()]})),{}}}),Fl={class:"content-section"},ql=O({__name:"View",setup(e){return(i,l)=>{const s=ka("router-view");return r(),V(Rl,{id:"cont",class:"main-layout"},{default:y(()=>[t(a).mobileLayout?C("",!0):(r(),V(Tl,{key:0,class:"nav-section"})),P("div",Fl,[u(s,null,{default:y(({Component:o})=>[(r(),V(Pa(o)))]),_:1}),u(Bl),u(Ql),u(fl,{"model-value":t(a).activeAlert!==void 0,color:t(a).activeAlert?.type||"grey",text:t(a).activeAlert?.message,"close-on-content-click":"",position:"sticky",timeout:t(a).activeAlert?.persistent?-1:5e3,"z-index":"999999",style:{"z-index":"999999"},"onUpdate:modelValue":l[0]||(l[0]=()=>t(a).activeAlert=void 0)},null,8,["model-value","color","text","timeout"])])]),_:1})}}}),Et=oe(ql,[["__scopeId","data-v-1daaf33c"]]),zl=e=>{const i=S(()=>{const{variant:n,width:c,height:m,staticWidth:f,staticHeight:v,maxWidth:T,maxHeight:w,minWidth:d,minHeight:$,badge:x,...E}=e,q={...E,size:e.size||f||void 0||v||void 0||(e.maxHeight?e.maxHeight:void 0)||(e.maxWidth?e.maxWidth:void 0)||"24px"};return pl(n).with("button",()=>({...q,class:e.class?`icon-button ${e.class}`:"icon-button"})).with("responsive",()=>({...q,class:e.class?`icon-responsive ${e.class}`:"icon-responsive"})).with("default",()=>({...q,class:e.class?`icon-default ${e.class}`:"icon-default"})).otherwise(()=>({...q,class:e.class?`icon-default ${e.class}`:"icon-default"}))}),l=S(()=>{const n={};if(e.staticWidth?n.width=e.staticWidth:e.width&&(n.width=e.width),e.staticHeight?n.height=e.staticHeight:e.height&&(n.height=e.height),e.maxWidth&&(n.maxWidth=e.maxWidth),e.maxHeight&&(n.maxHeight=e.maxHeight),e.minWidth&&(n.minWidth=e.minWidth),e.minHeight&&(n.minHeight=e.minHeight),typeof e.style=="object")Object.assign(n,e.style);else if(typeof e.style=="string"){const c=e.style.split(";").reduce((m,f)=>{const[v,T]=f.split(":").map(w=>w.trim());return v&&T&&(m[v]=T),m},{});Object.assign(n,c)}return n}),s=S(()=>St("icon-container",e.variant&&`icon-container--${e.variant}`,e.disabled&&"icon-container--disabled")),o=S(()=>St("icon",e.variant&&`icon--${e.variant}`));return{iconProps:i,containerStyle:l,containerClasses:s,iconClasses:o}},Dl={variant:"default",minWidth:"24px",minHeight:"24px",badge:!1,disabled:!1},Ol=de({...Pe(),...nt(yl(),["fullHeight"]),...Re()},"VApp"),Nl=ce()({name:"VApp",props:Ol(),setup(e,i){let{slots:l}=i;const s=je(e),{layoutClasses:o,getLayoutItem:n,items:c,layoutRef:m}=vl({...e,fullHeight:!0}),{rtlClasses:f}=ot();return me(()=>P("div",{ref:m,class:ie(["v-application",s.themeClasses.value,o.value,f.value,e.class]),style:j([e.style])},[P("div",{class:"v-application__wrap"},[l.default?.()])])),{getLayoutItem:n,items:c,theme:s}}}),Wl=de({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},...yt(),...Pe(),...Ot(),...vt(),...mt(),...bt({name:"bottom-navigation"}),...Ve({tag:"header"}),...Ia({selectedClass:"v-btn--selected"}),...Re()},"VBottomNavigation"),Hl=ce()({name:"VBottomNavigation",props:Wl(),emits:{"update:active":e=>!0,"update:modelValue":e=>!0},setup(e,i){let{slots:l}=i;const{themeClasses:s}=xa(),{borderClasses:o}=rt(e),{backgroundColorClasses:n,backgroundColorStyles:c}=Be(()=>e.bgColor),{densityClasses:m}=zt(e),{elevationClasses:f}=ut(e),{roundedClasses:v}=ct(e),{ssrBootStyles:T}=Xe(),w=S(()=>Number(e.height)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0)),d=Ge(e,"active",e.active),{layoutItemStyles:$}=gt({id:e.name,order:S(()=>parseInt(e.order,10)),position:U(()=>"bottom"),layoutSize:U(()=>d.value?w.value:0),elementSize:w,active:d,absolute:U(()=>e.absolute)});return Dt(e,Pl),dt({VBtn:{baseColor:U(()=>e.baseColor),color:U(()=>e.color),density:U(()=>e.density),stacked:U(()=>e.mode!=="horizontal"),variant:"text"}},{scoped:!0}),me(()=>u(e.tag,{class:ie(["v-bottom-navigation",{"v-bottom-navigation--active":d.value,"v-bottom-navigation--grow":e.grow,"v-bottom-navigation--shift":e.mode==="shift"},s.value,n.value,o.value,m.value,f.value,v.value,e.class]),style:j([c.value,$.value,{height:be(w.value)},T.value,e.style])},{default:()=>[l.default&&P("div",{class:"v-bottom-navigation__content"},[l.default()])]})),{}}}),Ul=e=>{const{touchstartX:i,touchendX:l,touchstartY:s,touchendY:o}=e,n=.5,c=16;e.offsetX=l-i,e.offsetY=o-s,Math.abs(e.offsetY)<n*Math.abs(e.offsetX)&&(e.left&&l<i-c&&e.left(e),e.right&&l>i+c&&e.right(e)),Math.abs(e.offsetX)<n*Math.abs(e.offsetY)&&(e.up&&o<s-c&&e.up(e),e.down&&o>s+c&&e.down(e))};function Yl(e,i){const l=e.changedTouches[0];i.touchstartX=l.clientX,i.touchstartY=l.clientY,i.start?.({originalEvent:e,...i})}function Xl(e,i){const l=e.changedTouches[0];i.touchendX=l.clientX,i.touchendY=l.clientY,i.end?.({originalEvent:e,...i}),Ul(i)}function jl(e,i){const l=e.changedTouches[0];i.touchmoveX=l.clientX,i.touchmoveY=l.clientY,i.move?.({originalEvent:e,...i})}function Gl(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const i={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:l=>Yl(l,i),touchend:l=>Xl(l,i),touchmove:l=>jl(l,i)}}function Kl(e,i){const l=i.value,s=l?.parent?e.parentElement:e,o=l?.options??{passive:!0},n=i.instance?.$.uid;if(!s||n===void 0)return;const c=Gl(i.value);s._touchHandlers=s._touchHandlers??Object.create(null),s._touchHandlers[n]=c,Nt(c).forEach(m=>{s.addEventListener(m,c[m],o)})}function Zl(e,i){const l=i.value?.parent?e.parentElement:e,s=i.instance?.$.uid;if(!l?._touchHandlers||s===void 0)return;const o=l._touchHandlers[s];Nt(o).forEach(n=>{l.removeEventListener(n,o[n])}),delete l._touchHandlers[s]}const st={mounted:Kl,unmounted:Zl},ta=Symbol.for("vuetify:v-window"),aa=Symbol.for("vuetify:v-window-group"),la=de({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator: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,...Pe(),...Ve(),...Re()},"VWindow"),Bt=ce()({name:"VWindow",directives:{vTouch:st},props:la(),emits:{"update:modelValue":e=>!0},setup(e,i){let{slots:l}=i;const{themeClasses:s}=je(e),{isRtl:o}=ot(),{t:n}=Ca(),c=Dt(e,aa),m=A(),f=S(()=>o.value?!e.reverse:e.reverse),v=ve(!1),T=S(()=>{if(e.crossfade)return"v-window-crossfade-transition";const z=e.direction==="vertical"?"y":"x",h=(f.value?!v.value:v.value)?"-reverse":"";return`v-window-${z}${h}-transition`}),w=ve(0),d=A(void 0),$=S(()=>c.items.value.findIndex(z=>c.selected.value.includes(z.id)));ee($,(z,b)=>{const h=c.items.value.length,Q=h-1;h<=2?v.value=z<b:z===Q&&b===0?v.value=!0:z===0&&b===Q?v.value=!1:v.value=z<b}),Qa(ta,{transition:T,isReversed:v,transitionCount:w,transitionHeight:d,rootRef:m});const x=U(()=>e.continuous||$.value!==0),E=U(()=>e.continuous||$.value!==c.items.value.length-1);function q(){x.value&&c.prev()}function X(){E.value&&c.next()}const J=S(()=>{const z=[],b={icon:o.value?e.nextIcon:e.prevIcon,class:`v-window__${f.value?"right":"left"}`,onClick:c.prev,"aria-label":n("$vuetify.carousel.prev")};z.push(x.value?l.prev?l.prev({props:b}):u(_e,b,null):P("div",null,null));const h={icon:o.value?e.prevIcon:e.nextIcon,class:`v-window__${f.value?"left":"right"}`,onClick:c.next,"aria-label":n("$vuetify.carousel.next")};return z.push(E.value?l.next?l.next({props:h}):u(_e,h,null):P("div",null,null)),z}),W=S(()=>e.touch===!1?e.touch:{...{left:()=>{f.value?q():X()},right:()=>{f.value?X():q()},start:b=>{let{originalEvent:h}=b;h.stopPropagation()}},...e.touch===!0?{}:e.touch});return me(()=>Wt(u(e.tag,{ref:m,class:ie(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},s.value,e.class]),style:j([e.style,e.transitionDuration&&!$a?{"--v-window-transition-duration":be(e.transitionDuration,"ms")}:void 0])},{default:()=>[P("div",{class:"v-window__container",style:{height:d.value}},[l.default?.({group:c}),e.showArrows!==!1&&P("div",{class:ie(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}])},[J.value])]),l.additional?.({group:c})]}),[[st,W.value]])),{group:c}}}),ia=de({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...Pe(),...Ea(),...Ma()},"VWindowItem"),At=ce()({name:"VWindowItem",directives:{vTouch:st},props:ia(),emits:{"group:selected":e=>!0},setup(e,i){let{slots:l}=i;const s=Ht(ta),o=Va(e,aa),{isBooted:n}=Xe();if(!s||!o)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const c=ve(!1),m=S(()=>n.value&&(s.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function f(){!c.value||!s||(c.value=!1,s.transitionCount.value>0&&(s.transitionCount.value-=1,s.transitionCount.value===0&&(s.transitionHeight.value=void 0)))}function v(){c.value||!s||(c.value=!0,s.transitionCount.value===0&&(s.transitionHeight.value=be(s.rootRef.value?.clientHeight)),s.transitionCount.value+=1)}function T(){f()}function w(x){c.value&&Ke(()=>{!m.value||!c.value||!s||(s.transitionHeight.value=be(x.clientHeight))})}const d=S(()=>{const x=s.isReversed.value?e.reverseTransition:e.transition;return m.value?{name:typeof x!="string"?s.transition.value:x,onBeforeEnter:v,onAfterEnter:f,onEnterCancelled:T,onBeforeLeave:v,onAfterLeave:f,onLeaveCancelled:T,onEnter:w}:!1}),{hasContent:$}=Sa(e,o.isSelected);return me(()=>u(La,{transition:d.value,disabled:!n.value},{default:()=>[Wt(P("div",{class:ie(["v-window-item",o.selectedClass.value,e.class]),style:j(e.style)},[$.value&&l.default?.()]),[[Ta,o.isSelected.value]])]})),{groupItem:o}}}),Jl=de({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...yt(),...Pe(),...vt(),...bt(),...mt(),...Ve({tag:"footer"}),...Re()},"VFooter"),ei=ce()({name:"VFooter",props:Jl(),setup(e,i){let{slots:l}=i;const s=A(),{themeClasses:o}=je(e),{backgroundColorClasses:n,backgroundColorStyles:c}=Be(()=>e.color),{borderClasses:m}=rt(e),{elevationClasses:f}=ut(e),{roundedClasses:v}=ct(e),T=ve(32),{resizeRef:w}=Ba($=>{$.length&&(T.value=$[0].target.clientHeight)}),d=S(()=>e.height==="auto"?T.value:parseInt(e.height,10));return Te(()=>e.app,()=>{const $=gt({id:e.name,order:S(()=>parseInt(e.order,10)),position:U(()=>"bottom"),layoutSize:d,elementSize:S(()=>e.height==="auto"?void 0:d.value),active:U(()=>e.app),absolute:U(()=>e.absolute)});ft(()=>{s.value=$.layoutItemStyles.value})}),me(()=>u(e.tag,{ref:w,class:ie(["v-footer",o.value,n.value,m.value,f.value,v.value,e.class]),style:j([c.value,e.app?s.value:{height:be(e.height)},e.style])},l)),{}}});function ti(e){let{rootEl:i,isSticky:l,layoutItemStyles:s}=e;const o=ve(!1),n=ve(0),c=S(()=>{const v=typeof o.value=="boolean"?"top":o.value;return[l.value?{top:"auto",bottom:"auto",height:void 0}:void 0,o.value?{[v]:be(n.value)}:{top:s.value.top}]});we(()=>{ee(l,v=>{v?window.addEventListener("scroll",f,{passive:!0}):window.removeEventListener("scroll",f)},{immediate:!0})}),Ae(()=>{window.removeEventListener("scroll",f)});let m=0;function f(){const v=m>window.scrollY?"up":"down",T=i.value.getBoundingClientRect(),w=parseFloat(s.value.top??0),d=window.scrollY-Math.max(0,n.value-w),$=T.height+Math.max(n.value,w)-window.scrollY-window.innerHeight,x=parseFloat(getComputedStyle(i.value).getPropertyValue("--v-body-scroll-y"))||0;T.height<window.innerHeight-w?(o.value="top",n.value=w):v==="up"&&o.value==="bottom"||v==="down"&&o.value==="top"?(n.value=window.scrollY+T.top-x,o.value=!0):v==="down"&&$<=0?(n.value=0,o.value="bottom"):v==="up"&&d<=0&&(x?o.value!=="top"&&(n.value=-d+x+w,o.value="top"):(n.value=T.top+d,o.value="top")),m=window.scrollY}return{isStuck:o,stickyStyles:c}}const ai=100,li=20;function Rt(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 i=0;for(let l=e.length-1;l>0;l--){if(e[l].t===e[l-1].t)continue;const s=Rt(i),o=(e[l].d-e[l-1].d)/(e[l].t-e[l-1].t);i+=(o-s)*Math.abs(o),l===e.length-1&&(i*=.5)}return Rt(i)*1e3}function ii(){const e={};function i(o){Array.from(o.changedTouches).forEach(n=>{(e[n.identifier]??(e[n.identifier]=new Aa(li))).push([o.timeStamp,n])})}function l(o){Array.from(o.changedTouches).forEach(n=>{delete e[n.identifier]})}function s(o){const n=e[o]?.values().reverse();if(!n)throw new Error(`No samples for touch id ${o}`);const c=n[0],m=[],f=[];for(const v of n){if(c[0]-v[0]>ai)break;m.push({t:v[0],d:v[1].clientX}),f.push({t:v[0],d:v[1].clientY})}return{x:Ft(m),y:Ft(f),get direction(){const{x:v,y:T}=this,[w,d]=[Math.abs(v),Math.abs(T)];return w>d&&v>=0?"right":w>d&&v<=0?"left":d>w&&T>=0?"down":d>w&&T<=0?"up":si()}}}return{addMovement:i,endTouch:l,getVelocity:s}}function si(){throw new Error}function oi(e){let{el:i,isActive:l,isTemporary:s,width:o,touchless:n,position:c}=e;we(()=>{window.addEventListener("touchstart",J,{passive:!0}),window.addEventListener("touchmove",W,{passive:!1}),window.addEventListener("touchend",z,{passive:!0})}),Ae(()=>{window.removeEventListener("touchstart",J),window.removeEventListener("touchmove",W),window.removeEventListener("touchend",z)});const m=S(()=>["left","right"].includes(c.value)),{addMovement:f,endTouch:v,getVelocity:T}=ii();let w=!1;const d=ve(!1),$=ve(0),x=ve(0);let E;function q(h,Q){return(c.value==="left"?h:c.value==="right"?document.documentElement.clientWidth-h:c.value==="top"?h:c.value==="bottom"?document.documentElement.clientHeight-h:xe())-(Q?o.value:0)}function X(h){let Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const L=c.value==="left"?(h-x.value)/o.value:c.value==="right"?(document.documentElement.clientWidth-h-x.value)/o.value:c.value==="top"?(h-x.value)/o.value:c.value==="bottom"?(document.documentElement.clientHeight-h-x.value)/o.value:xe();return Q?Ra(L):L}function J(h){if(n.value)return;const Q=h.changedTouches[0].clientX,L=h.changedTouches[0].clientY,B=25,R=c.value==="left"?Q<B:c.value==="right"?Q>document.documentElement.clientWidth-B:c.value==="top"?L<B:c.value==="bottom"?L>document.documentElement.clientHeight-B:xe(),_=l.value&&(c.value==="left"?Q<o.value:c.value==="right"?Q>document.documentElement.clientWidth-o.value:c.value==="top"?L<o.value:c.value==="bottom"?L>document.documentElement.clientHeight-o.value:xe());(R||_||l.value&&s.value)&&(E=[Q,L],x.value=q(m.value?Q:L,l.value),$.value=X(m.value?Q:L),w=x.value>-20&&x.value<80,v(h),f(h))}function W(h){const Q=h.changedTouches[0].clientX,L=h.changedTouches[0].clientY;if(w){if(!h.cancelable){w=!1;return}const R=Math.abs(Q-E[0]),_=Math.abs(L-E[1]);(m.value?R>_&&R>3:_>R&&_>3)?(d.value=!0,w=!1):(m.value?_:R)>3&&(w=!1)}if(!d.value)return;h.preventDefault(),f(h);const B=X(m.value?Q:L,!1);$.value=Math.max(0,Math.min(1,B)),B>1?x.value=q(m.value?Q:L,!0):B<0&&(x.value=q(m.value?Q:L,!1))}function z(h){if(w=!1,!d.value)return;f(h),d.value=!1;const Q=T(h.changedTouches[0].identifier),L=Math.abs(Q.x),B=Math.abs(Q.y);(m.value?L>B&&L>400:B>L&&B>3)?l.value=Q.direction===({left:"right",right:"left",top:"down",bottom:"up"}[c.value]||xe()):l.value=$.value>.5}const b=S(()=>d.value?{transform:c.value==="left"?`translateX(calc(-100% + ${$.value*o.value}px))`:c.value==="right"?`translateX(calc(100% - ${$.value*o.value}px))`:c.value==="top"?`translateY(calc(-100% + ${$.value*o.value}px))`:c.value==="bottom"?`translateY(calc(100% - ${$.value*o.value}px))`:xe(),transition:"none"}:void 0);return Te(d,()=>{const h=i.value?.style.transform??null,Q=i.value?.style.transition??null;ft(()=>{i.value?.style.setProperty("transform",b.value?.transform||"none"),i.value?.style.setProperty("transition",b.value?.transition||null)}),Fa(()=>{i.value?.style.setProperty("transform",h),i.value?.style.setProperty("transition",Q)})}),{isDragging:d,dragProgress:$,dragStyles:b}}function xe(){throw new Error}const ni=["start","end","left","right","top","bottom"],ri=de({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>ni.includes(e)},sticky:Boolean,...yt(),...Pe(),...Ha(),...Wa({mobile:null}),...vt(),...bt(),...mt(),...Ve({tag:"nav"}),...Re()},"VNavigationDrawer"),ui=ce()({name:"VNavigationDrawer",props:ri(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,i){let{attrs:l,emit:s,slots:o}=i;const{isRtl:n}=ot(),{themeClasses:c}=je(e),{borderClasses:m}=rt(e),{backgroundColorClasses:f,backgroundColorStyles:v}=Be(()=>e.color),{elevationClasses:T}=ut(e),{displayClasses:w,mobile:d}=ht(e),{roundedClasses:$}=ct(e),x=qa(),E=Ge(e,"modelValue",null,H=>!!H),{ssrBootStyles:q}=Xe(),{scopeId:X}=Ut(),J=A(),W=ve(!1),{runOpenDelay:z,runCloseDelay:b}=Oa(e,H=>{W.value=H}),h=S(()=>e.rail&&e.expandOnHover&&W.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),Q=S(()=>za(e.location,n.value)),L=U(()=>e.persistent),B=S(()=>!e.permanent&&(d.value||e.temporary)),R=S(()=>e.sticky&&!B.value&&Q.value!=="bottom");Te(()=>e.expandOnHover&&e.rail!=null,()=>{ee(W,H=>s("update:rail",!H))}),Te(()=>!e.disableResizeWatcher,()=>{ee(B,H=>!e.permanent&&Ke(()=>E.value=!H))}),Te(()=>!e.disableRouteWatcher&&!!x,()=>{ee(x.currentRoute,()=>B.value&&(E.value=!1))}),ee(()=>e.permanent,H=>{H&&(E.value=!0)}),e.modelValue==null&&!B.value&&(E.value=e.permanent||!d.value);const{isDragging:_,dragProgress:p}=oi({el:J,isActive:E,isTemporary:B,width:h,touchless:U(()=>e.touchless),position:Q}),k=S(()=>{const H=B.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):h.value;return _.value?H*p.value:H}),{layoutItemStyles:D,layoutItemScrimStyles:K}=gt({id:e.name,order:S(()=>parseInt(e.order,10)),position:Q,layoutSize:k,elementSize:h,active:Da(E),disableTransitions:U(()=>_.value),absolute:S(()=>e.absolute||R.value&&typeof te.value!="string")}),{isStuck:te,stickyStyles:ye}=ti({rootEl:J,isSticky:R,layoutItemStyles:D}),ne=Be(()=>typeof e.scrim=="string"?e.scrim:null),fe=S(()=>({..._.value?{opacity:p.value*.2,transition:"none"}:void 0,...K.value}));return dt({VList:{bgColor:"transparent"}}),me(()=>{const H=o.image||e.image;return P(Y,null,[u(e.tag,G({ref:J,onMouseenter:z,onMouseleave:b,class:["v-navigation-drawer",`v-navigation-drawer--${Q.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":W.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":B.value,"v-navigation-drawer--persistent":L.value,"v-navigation-drawer--active":E.value,"v-navigation-drawer--sticky":R.value},c.value,f.value,m.value,w.value,T.value,$.value,e.class],style:[v.value,D.value,q.value,ye.value,e.style]},X,l),{default:()=>[H&&P("div",{key:"image",class:"v-navigation-drawer__img"},[o.image?u(Ua,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},o.image):u(We,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),o.prepend&&P("div",{class:"v-navigation-drawer__prepend"},[o.prepend?.()]),P("div",{class:"v-navigation-drawer__content"},[o.default?.()]),o.append&&P("div",{class:"v-navigation-drawer__append"},[o.append?.()])]}),u(Na,{name:"fade-transition"},{default:()=>[B.value&&(_.value||E.value)&&!!e.scrim&&P("div",G({class:["v-navigation-drawer__scrim",ne.backgroundColorClasses.value],style:[fe.value,ne.backgroundColorStyles.value],onClick:()=>{L.value||(E.value=!1)}},X),null)]})])}),{isStuck:te}}}),wt=Symbol.for("vuetify:v-tabs"),sa=de({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...nt(kl({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),Oe=ce()({name:"VTab",props:sa(),setup(e,i){let{slots:l,attrs:s}=i;const{textColorClasses:o,textColorStyles:n}=Ya(()=>e.sliderColor),c=A(),m=A(),f=S(()=>e.direction==="horizontal"),v=S(()=>c.value?.group?.isSelected.value??!1);function T(w){let{value:d}=w;if(d){const $=c.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"),x=m.value;if(!$||!x)return;const E=getComputedStyle($).color,q=$.getBoundingClientRect(),X=x.getBoundingClientRect(),J=f.value?"x":"y",W=f.value?"X":"Y",z=f.value?"right":"bottom",b=f.value?"width":"height",h=q[J],Q=X[J],L=h>Q?q[z]-X[z]:q[J]-X[J],B=Math.sign(L)>0?f.value?"right":"bottom":Math.sign(L)<0?f.value?"left":"top":"center",_=(Math.abs(L)+(Math.sign(L)<0?q[b]:X[b]))/Math.max(q[b],X[b])||0,p=q[b]/X[b]||0,k=1.5;ja(x,{backgroundColor:[E,"currentcolor"],transform:[`translate${W}(${L}px) scale${W}(${p})`,`translate${W}(${L/k}px) scale${W}(${(_-1)/k+1})`,"none"],transformOrigin:Array(3).fill(B)},{duration:225,easing:Ga})}}return me(()=>{const w=_e.filterProps(e);return u(_e,G({symbol:wt,ref:c,class:["v-tab",e.class],style:e.style,tabindex:v.value?0:-1,role:"tab","aria-selected":String(v.value),active:!1},w,s,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":T}),{...l,default:()=>P(Y,null,[l.default?.()??e.text,!e.hideSlider&&P("div",{ref:m,class:ie(["v-tab__slider",o.value]),style:j(n.value)},null)])})}),Xa({},c)}}),ci=de({...nt(la(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),di=ce()({name:"VTabsWindow",props:ci(),emits:{"update:modelValue":e=>!0},setup(e,i){let{slots:l}=i;const s=Ht(wt,null),o=Ge(e,"modelValue"),n=S({get(){return o.value!=null||!s?o.value:s.items.value.find(c=>s.selected.value.includes(c.id))?.value},set(c){o.value=c}});return me(()=>{const c=Bt.filterProps(e);return u(Bt,G({_as:"VTabsWindow"},c,{modelValue:n.value,"onUpdate:modelValue":m=>n.value=m,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),l)}),{}}}),mi=de({...ia()},"VTabsWindowItem"),vi=ce()({name:"VTabsWindowItem",props:mi(),setup(e,i){let{slots:l}=i;return me(()=>{const s=At.filterProps(e);return u(At,G({_as:"VTabsWindowItem"},s,{class:["v-tabs-window-item",e.class],style:e.style}),l)}),{}}});function yi(e){return e?e.map(i=>Ja(i)?i:{text:i,value:i}):[]}const fi=de({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...Za(sa(),["spaced"]),...Ka({mandatory:"force",selectedClass:"v-tab-item--selected"}),...Ot(),...Ve()},"VTabs"),hi=ce()({name:"VTabs",props:fi(),emits:{"update:modelValue":e=>!0},setup(e,i){let{attrs:l,slots:s}=i;const o=Ge(e,"modelValue"),n=S(()=>yi(e.items)),{densityClasses:c}=zt(e),{backgroundColorClasses:m,backgroundColorStyles:f}=Be(()=>e.bgColor),{scopeId:v}=Ut();return dt({VTab:{color:U(()=>e.color),direction:U(()=>e.direction),stacked:U(()=>e.stacked),fixed:U(()=>e.fixedTabs),sliderColor:U(()=>e.sliderColor),hideSlider:U(()=>e.hideSlider)}}),me(()=>{const T=xt.filterProps(e),w=!!(s.window||e.items.length>0);return P(Y,null,[u(xt,G(T,{modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,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--stacked":e.stacked},c.value,m.value,e.class],style:[{"--v-tabs-height":be(e.height)},f.value,e.style],role:"tablist",symbol:wt},v,l),{default:()=>[s.default?.()??n.value.map(d=>s.tab?.({item:d})??u(Oe,G(d,{key:d.text,value:d.value,spaced:e.spaced}),{default:s[`tab.${d.value}`]?()=>s[`tab.${d.value}`]?.({item:d}):void 0}))]}),w&&u(di,G({modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,key:"tabs-window"},v),{default:()=>[n.value.map(d=>s.item?.({item:d})??u(vi,{value:d.value},{default:()=>s[`item.${d.value}`]?.({item:d})})),s.window?.()]})])}),{}}}),pi=O({__name:"Icon",props:el({variant:{},width:{},height:{},staticWidth:{},staticHeight:{},maxWidth:{},maxHeight:{},minWidth:{},minHeight:{},icon:{},color:{},disabled:{type:Boolean},size:{},badge:{type:Boolean},class:{},style:{}},Dl),emits:["click"],setup(e,{emit:i}){const l=e,s=i,{iconProps:o,containerStyle:n,containerClasses:c,iconClasses:m}=zl(l),f=A(),v=A(),T=async()=>{if(!(l.variant!=="responsive"||!f.value||!v.value)){await Ke();try{const d=f.value.offsetWidth,$=f.value.offsetHeight,x=Math.min(d,$);v.value.$el&&(v.value.$el.style.fontSize=`${x}px`)}catch(d){console.error("Icon sizing adjustment failed:",d)}}},w=d=>{if(l.disabled){d.preventDefault(),d.stopPropagation();return}s("click",d)};return we(()=>{l.variant==="responsive"&&(T(),window.addEventListener("resize",T))}),Ae(()=>{l.variant==="responsive"&&window.removeEventListener("resize",T)}),(d,$)=>(r(),g("div",{ref_key:"iconContainer",ref:f,class:ie(t(c)),style:j(t(n)),onClick:w},[u(et,{"model-value":e.badge===!0,color:"error",dot:""},{default:y(()=>[u(t(le),G({ref_key:"iconElement",ref:v},t(o),{class:t(m)}),tl({_:2},[ue(d.$slots,(x,E)=>({name:E,fn:y(()=>[al(d.$slots,E,{},void 0,!0)])}))]),1040,["class"])]),_:3},8,["model-value"])],6))}}),ke=oe(pi,[["__scopeId","data-v-3db51b10"]]),oa=O({__name:"RepeatBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){return(i,l)=>e.isVisible&&e.playerQueue?(r(),V(ke,G({key:0},e.icon,{disabled:!e.playerQueue.active||e.playerQueue.items==0,color:t($e)(e.icon?.color,[[e.playerQueue.repeat_mode==t(re).OFF,null],[e.playerQueue.repeat_mode==t(re).ALL,"primary"],[e.playerQueue.repeat_mode==t(re).ONE,"primary"]]),icon:t($e)(e.icon?.icon,[[e.playerQueue.repeat_mode==t(re).OFF,"mdi-repeat-off"],[e.playerQueue.repeat_mode==t(re).ALL,"mdi-repeat"],[e.playerQueue.repeat_mode==t(re).ONE,"mdi-repeat-once"],[!0,"mdi-repeat-off"]]),variant:"button",onClick:l[0]||(l[0]=s=>t(M).queueCommandRepeat(e.playerQueue.queue_id||"",t($e)(null,[[e.playerQueue.repeat_mode==t(re).OFF,t(re).ONE],[e.playerQueue.repeat_mode==t(re).ALL,t(re).OFF],[e.playerQueue.repeat_mode==t(re).ONE,t(re).ALL]])))}),null,16,["disabled","color","icon"])):C("",!0)}}),na=O({__name:"NextBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){const i=e,l=S(()=>i.playerQueue?.active?(i.playerQueue.current_index||0)<i.playerQueue.items-1:!1),s=S(()=>!i.player||i.playerQueue?.active||!i.player.current_media?!1:i.player.supported_features.includes(Le.NEXT_PREVIOUS));return(o,n)=>e.isVisible&&e.player?(r(),V(ke,G({key:0},e.icon,{disabled:!l.value&&!s.value,icon:"mdi-skip-next-outline",variant:"button",onClick:n[0]||(n[0]=c=>t(M).playerCommandNext(e.player.player_id))}),null,16,["disabled"])):C("",!0)}}),ra=O({__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 i=e,l=S(()=>i.playerQueue?i.playerQueue.items>0:!1),s=S(()=>!(!i.player||i.playerQueue?.active||!i.player.current_media)),o=S(()=>i.player?.playback_state==He.PLAYING?"mdi-pause":"mdi-play");return(n,c)=>e.isVisible&&e.player?(r(),V(ke,G({key:0},e.icon,{disabled:!l.value&&!s.value,icon:e.iconStyle?`${o.value}-${e.iconStyle}`:o.value,variant:"button",onClick:c[0]||(c[0]=m=>t(M).playerCommandPlayPause(e.player.player_id))}),null,16,["disabled","icon"])):C("",!0)}}),ua=O({__name:"PreviousBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){const i=e,l=S(()=>!i.playerQueue?.active||!i.playerQueue?.items||!i.playerQueue.current_index?!1:i.playerQueue.current_index>0),s=S(()=>!i.player||i.playerQueue?.active||!i.player.current_media?!1:i.player.supported_features.includes(Le.NEXT_PREVIOUS));return(o,n)=>e.isVisible&&e.player?(r(),V(ke,G({key:0},e.icon,{disabled:!l.value&&!s.value,icon:"mdi-skip-previous-outline",variant:"button",onClick:n[0]||(n[0]=c=>t(M).playerCommandPrevious(e.player.player_id))}),null,16,["disabled"])):C("",!0)}}),ca=O({__name:"ShuffleBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){return(i,l)=>e.isVisible&&e.playerQueue?(r(),V(ke,G({key:0},e.icon,{disabled:!e.playerQueue.active||e.playerQueue.items==0,color:t($e)(e.icon?.color,[[e.playerQueue.shuffle_enabled,"primary",""]]),icon:t($e)(e.icon?.icon,[[e.playerQueue.shuffle_enabled,"mdi-shuffle"],[e.playerQueue.shuffle_enabled==!1,"mdi-shuffle-disabled"],[!0,"mdi-shuffle"]]),variant:"button",onClick:l[0]||(l[0]=s=>t(M).queueCommandShuffle(e.playerQueue.queue_id,!e.playerQueue.shuffle_enabled))}),null,16,["disabled","color","icon"])):C("",!0)}}),gi={key:0,class:"player-controls"},bi={key:0,class:"player-controls-elements"},_i={key:1,class:"player-controls-elements"},wi={key:2},Pi={key:3,class:"player-controls-elements"},ki={key:4,class:"player-controls-elements"},qt=O({__name:"PlayerControls",props:{visibleComponents:{default:()=>({repeat:{isVisible:!0},shuffle:{isVisible:!0},play:{isVisible:!0},previous:{isVisible:!0},next:{isVisible:!0}})}},setup(e){return(i,l)=>e.visibleComponents?(r(),g("div",gi,[e.visibleComponents&&e.visibleComponents.shuffle?.isVisible?(r(),g("div",bi,[u(ca,{"player-queue":t(a).activePlayerQueue,class:"media-controls-item",icon:e.visibleComponents.shuffle.icon},null,8,["player-queue","icon"])])):C("",!0),e.visibleComponents&&e.visibleComponents.previous?.isVisible?(r(),g("div",_i,[u(ua,{player:t(a).activePlayer,"player-queue":t(a).activePlayerQueue,class:"media-controls-item",icon:e.visibleComponents.previous.icon},null,8,["player","player-queue","icon"])])):C("",!0),e.visibleComponents&&e.visibleComponents.play?.isVisible?(r(),g("div",wi,[u(ra,{player:t(a).activePlayer,"player-queue":t(a).activePlayerQueue,class:"media-controls-item","icon-style":"circle",icon:e.visibleComponents.play.icon},null,8,["player","player-queue","icon"])])):C("",!0),e.visibleComponents&&e.visibleComponents.next?.isVisible?(r(),g("div",Pi,[u(na,{player:t(a).activePlayer,"player-queue":t(a).activePlayerQueue,icon:e.visibleComponents.next.icon,"static-height":"24px","static-width":"24px"},null,8,["player","player-queue","icon"])])):C("",!0),e.visibleComponents&&e.visibleComponents.repeat?.isVisible?(r(),g("div",ki,[u(oa,{"player-queue":t(a).activePlayerQueue,icon:e.visibleComponents.repeat.icon,"static-height":"24px","static-width":"24px"},null,8,["player-queue","icon"])])):C("",!0)])):C("",!0)}}),da=O({__name:"QueueBtn",props:{isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){const i=function(){a.showFullscreenPlayer&&a.showQueueItems?a.showQueueItems=!1:a.showFullscreenPlayer&&!a.showQueueItems?a.showQueueItems=!0:(a.showQueueItems=!0,a.showFullscreenPlayer=!0)};return(l,s)=>e.isVisible?(r(),V(ke,G({key:0},e.icon,{disabled:!t(a).activePlayerId||t(a).showFullscreenPlayer&&!t(a).curQueueItem&&!t(a).showQueueItems,icon:"mdi-playlist-play",color:t($e)(e.icon?.color,[[t(a).showFullscreenPlayer&&t(a).showQueueItems,"primary",""]]),variant:"button",onClick:i}),null,16,["disabled","color"])):C("",!0)}}),ma=O({__name:"SpeakerBtn",props:{color:{}},setup(e){return(i,l)=>(r(),V(pe,{variant:"icon",ripple:!1,icon:"",onClick:l[0]||(l[0]=s=>t(a).showPlayersMenu=!0)},{default:y(()=>[u(le,{color:e.color?e.color:"",size:24,icon:t(a).activePlayer?.group_members.length?"mdi-speaker-multiple":"mdi-speaker"},null,8,["color","icon"])]),_:1}))}}),xi={key:0},Ii={key:0},Ci={class:"text-caption"},$i={key:1},Qi=O({__name:"VolumeBtn",props:{volumeSize:{default:"150px"},responsiveVolumeSize:{type:Boolean,default:!0},isVisible:{type:Boolean,default:!0},color:{default:""}},setup(e){const i=e,l=A(!1);return(s,o)=>i.isVisible&&t(a).activePlayer?(r(),g("div",xi,[u(pt,{modelValue:l.value,"onUpdate:modelValue":o[1]||(o[1]=n=>l.value=n),class:"volume-control-dialog","close-on-content-click":!1,location:"top",scrim:s.$vuetify.theme.current.dark?"rgba(0,0,0,.75)":"rgba(0,0,0,.85)"},{activator:y(({props:n})=>[t(ae)("bp6")||!e.responsiveVolumeSize?(r(),g("div",Ii,[u(_t,{style:"margin-right: 0px; margin-left: 0px;",width:e.volumeSize,"is-powered":!0,"model-value":t(a).activePlayer.group_members.length>0?Math.round(t(a).activePlayer?.group_volume||0):Math.round(t(a).activePlayer?.volume_level||0),"allow-wheel":!0,"onUpdate:modelValue":o[0]||(o[0]=c=>t(a).activePlayer.group_members.length>0?t(M).playerCommandGroupVolume(t(a).activePlayer?.player_id||"",c):t(M).playerCommandVolumeSet(t(a).activePlayer?.player_id||"",c))},{prepend:y(()=>[u(pe,G({variant:"icon",size:"48",ripple:!1},{...n}),{default:y(()=>[u(le,{color:i.color?e.color:"",size:24,icon:"mdi-volume-high"},null,8,["color"]),P("div",Ci,I(t(a).activePlayer.group_members.length>0?Math.round(t(a).activePlayer?.group_volume||0):Math.round(t(a).activePlayer?.volume_level||0)),1)]),_:1},16)]),_:2},1032,["width","model-value"])])):(r(),g("div",$i,[u(pe,G({...n},{size:"48",variant:"icon"}),{default:y(()=>[u(le,{color:i.color?e.color:"",icon:"mdi-volume-high"},null,8,["color"]),P("div",{class:"text-caption",style:j({color:i.color?e.color:""})},I(t(a).activePlayer.group_members.length>0?Math.round(t(a).activePlayer?.group_volume||0):Math.round(t(a).activePlayer?.volume_level||0)),5)]),_:1},16)]))]),default:y(()=>[u(Ne,{"min-width":300,style:{overflow:"hidden","padding-top":"20px","padding-bottom":"20px","padding-right":"20px"}},{default:y(()=>[t(a).activePlayer?(r(),V(gl,{key:0,player:t(a).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"])):C("",!0)]),_:1})]),_:1},8,["modelValue","scrim"])])):C("",!0)}}),Vi=oe(Qi,[["__scopeId","data-v-70c82677"]]),Si=O({__name:"PlayerExtendedControls",props:{queue:{default:()=>({isVisible:!0,showQueueDialog:!1})},player:{default:()=>({isVisible:!0})},volume:{default:()=>({isVisible:!0,volumeSize:"150px",responsiveVolumeSize:!1})}},setup(e){return(i,l)=>(r(),g(Y,null,[e.player&&e.player.isVisible?(r(),V(ma,{key:0,color:e.player.color},null,8,["color"])):C("",!0),e.queue&&e.queue.isVisible?(r(),V(da,{key:1,color:e.player.color,style:{"padding-left":"15px","padding-right":"20px"}},null,8,["color"])):C("",!0),e.volume&&e.volume.isVisible?(r(),V(Vi,{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"])):C("",!0)],64))}}),Ti={style:{width:"auto",height:"24px"}},Li={key:0,style:{width:"100%"}},Mi=["onClick"],Ei={key:0,class:"time-text-row"},Bi={class:"text-caption time-text-right"},Ai=O({__name:"PlayerTimeline",props:{showLabels:{type:Boolean,default:!1},color:{default:void 0}},setup(e){const i=A(!1),l=A(!0),s=A(!1),o=A(0),n=A(0),c=S(()=>a.curQueueItem?i.value?`-${Me(a.curQueueItem.duration-f.value)}`:`${Me(f.value)}`:"0:00"),m=S(()=>{if(!a.curQueueItem||!a.curQueueItem.duration||a.curQueueItem.media_item?.media_type==F.RADIO)return"";const $=a.curQueueItem.duration;return Me($)}),f=S(()=>s.value?(n.value=o.value,o.value):a.activePlayerQueue?a.activePlayerQueue.elapsed_time:0),v=S(()=>{const $={};return a.curQueueItem?.media_item?.metadata?.chapters&&a.curQueueItem.media_item.metadata.chapters.forEach(x=>{$[x.start]=x.name}),$});ee(f,$=>{s.value||(o.value=$)});const T=function(){s.value=!0},w=()=>{s.value=!1,!s.value&&a.activePlayer&&M.playerCommandSeek(a.activePlayer.player_id,Math.round(n.value))},d=function($){if(a.curQueueItem?.media_item?.metadata?.chapters){for(const x of a.curQueueItem.media_item.metadata.chapters)if(x.start==$){M.playMedia(a.curQueueItem.media_item.uri,void 0,void 0,x.position.toString());return}}};return($,x)=>(r(),g("div",Ti,[t(a).activePlayerQueue?(r(),g("div",Li,[u(_l,{modelValue:o.value,"onUpdate:modelValue":x[0]||(x[0]=E=>o.value=E),disabled:!t(a).curQueueItem||!t(a).curQueueItem.media_item||!t(a).curQueueItem.duration||t(a).curQueueItem.media_item.media_type==t(F).RADIO||t(a).activePlayer?.powered==!1,style:{width:"100%"},min:0,max:t(a).curQueueItem?.duration,"hide-details":"","track-size":4,"thumb-size":l.value?0:10,"show-ticks":v.value?"always":!1,ticks:v.value,"tick-size":"4",color:e.color,onTouchstart:x[1]||(x[1]=E=>l.value=!1),onTouchend:x[2]||(x[2]=E=>l.value=!0),onMouseenter:x[3]||(x[3]=E=>l.value=!1),onMouseleave:x[4]||(x[4]=E=>l.value=!0),onStart:T,onEnd:w},{"tick-label":y(({tick:E})=>[e.showLabels&&!l.value&&Object.values(v.value).length<6?(r(),g("a",{key:0,class:"text-caption",onClick:q=>d(E.value)},I(E.label),9,Mi)):C("",!0)]),_:1},8,["modelValue","disabled","max","thumb-size","show-ticks","ticks","color"]),e.showLabels?(r(),g("div",Ei,[P("div",{class:"text-caption time-text-left",onClick:x[5]||(x[5]=E=>i.value?i.value=!1:i.value=!0)},I(c.value),1),P("div",Bi,I(m.value),1)])):C("",!0)])):C("",!0)]))}}),va=oe(Ai,[["__scopeId","data-v-43d849c6"]]),Ri={class:"lyrics-container"},Fi={key:0,class:"lyrics-loading"},qi={key:1,class:"lyrics-empty"},zi={key:2,class:"lyrics-intro"},Di={class:"song-title"},Oi={class:"artist-name"},Ni={class:"lyrics-coming-soon"},Wi=O({__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){Yt(b=>({v3c09aed1:b.textColor}));const i=e,l=(b,h=!0)=>{if(h&&!i.debugMode)return;(h?console.debug:console.log)(`[lyricSynch] ${b}`)},s=A([]),o=A(!1),n=A(-1),c=A(null),m=A(!1),f=A(0),v=A(0),T=S(()=>{if(!d.value||!s.value.length)return!1;const b=s.value[0].time,h=i.position||0;return n.value===-1&&h<b}),w=S(()=>{if(!i.mediaItem)return"";if("media_type"in i.mediaItem&&i.mediaItem.media_type==="track"){const b=i.mediaItem;if(b.artists?.length)return b.artists.map(h=>h.name).join(", ")}return"media_type"in i.mediaItem&&i.mediaItem.media_type==="artist"?i.mediaItem.name:""});S(()=>{const b=i.mediaItem?.metadata?.lyrics,h=i.mediaItem?.metadata?.lrc_lyrics;return!!b&&b.trim().length>0||!!h&&h.trim().length>0});const d=S(()=>{if(s.value.some(Q=>Q.time>0))return!0;const b=i.mediaItem?.metadata?.lrc_lyrics,h=i.mediaItem?.metadata?.lyrics;return!!(b&&b.includes("[")||h&&/\[\d+:\d+[.:]?\d*\]/.test(h))}),$=b=>{const h=b.match(/\[(\d+):(\d+)([.:]\d+)?\](.*)/);if(h){const Q=parseInt(h[1]);let L=parseInt(h[2]),B=0;if(h[3]){const p=h[3].replace(/[.:]/,".");B=Math.round(parseFloat(p)*1e3)}return{time:(Q*60*1e3+L*1e3+B)/1e3,text:h[4].trim()||" "}}return{time:0,text:b.trim()||" "}},x=()=>{if(!i.mediaItem){s.value=[];return}o.value=!0;try{const b=i.mediaItem.metadata?.lrc_lyrics||"",h=i.mediaItem.metadata?.lyrics||"";let Q="",L=!1;if(b?(Q=b,L=!0):h&&/\[\d+:\d+[.:]?\d*\]/.test(h)?(Q=h,L=!0):h&&(Q=h,L=!1),L){const B=Q.split(`
|
|
2
|
+
`).filter(R=>R.trim());s.value=B.map(R=>$(R)).filter(R=>R.text.trim()).sort((R,_)=>R.time-_.time),l(`Loaded ${s.value.length} synchronized lyrics lines`,!1)}else if(Q){const B=Q.split(`
|
|
3
|
+
`).filter(R=>R.trim());s.value=B.map(R=>({time:0,text:R.trim()})).filter(R=>R.text),l(`Loaded ${s.value.length} plain text lyrics lines`,!1)}else s.value=[]}catch(b){l(`Error processing lyrics: ${b}`,!1),s.value=[]}finally{o.value=!1}},E=b=>{const h=b;l(`Calculating look-ahead at ${b.toFixed(3)}s`);let Q=-1,L=-1;for(let ne=0;ne<s.value.length;ne++)if(s.value[ne].time<=h)Q=ne;else{L=ne;break}if(l(`Current lyric index: ${Q}, Next lyric index: ${L}`),L===0){const fe=s.value[0].time-h;if(l(`Pre-lyrics intro: ${fe.toFixed(2)}s until first lyric`),fe>5){l("Long intro - using fixed look-ahead: 0.3s"),f.value=.3;return}else if(fe>2){const H=Math.min(1,fe*.15);l(`Medium intro - calculated look-ahead: ${H.toFixed(2)}s`),f.value=H;return}l("Short intro - using standard calculation")}if(L===-1||Q===-1){l("Cannot determine appropriate look-ahead, using default: 0.3s"),f.value=.3;return}const B=s.value[Q].time,R=s.value[L].time,_=R-B,p=f.value;l(`Gap analysis:
|
|
4
|
+
- Current lyric time: ${B.toFixed(3)}s
|
|
5
|
+
- Next lyric time: ${R.toFixed(3)}s
|
|
6
|
+
- Gap between lyrics: ${_.toFixed(3)}s
|
|
7
|
+
- Previous look-ahead: ${p.toFixed(3)}s`);let k;_<.5?(k=.3,l(`Very rapid lyrics detected (${_.toFixed(2)}s gap) - using 30% look-ahead`)):_<.8?(k=.1,l(`Fast lyrics detected (${_.toFixed(2)}s gap) - using 10% look-ahead`)):_<1.5?(k=.2,l(`Medium lyrics detected (${_.toFixed(2)}s gap) - using 20% look-ahead`)):_<3?(k=.3,l(`Slower lyrics detected (${_.toFixed(2)}s gap) - using 30% look-ahead`)):_>10?(k=.02,l(`Very slow lyrics detected (${_.toFixed(2)}s gap) - using 2% look-ahead`)):(k=.4,l(`Slow lyrics detected (${_.toFixed(2)}s gap) - using 40% look-ahead`));const D=Math.min(1.5,_*k);l(`Target look-ahead: ${D.toFixed(3)}s`);const K=Math.abs(D-p),te=Math.min(.8,.3+K*.5),ye=p*(1-te)+D*te;l(`Smoothed look-ahead: ${ye.toFixed(3)}s (adaptation rate: ${(te*100).toFixed(0)}%)`),Math.abs(ye-p)>.3&&l(`Look-ahead adjusted: ${p.toFixed(2)}s → ${ye.toFixed(2)}s`,!1),f.value=ye},q=b=>b===void 0||!s.value.length||!d.value||m.value,X=b=>{const h=Math.round((b+f.value)*1e3);let Q=-1;for(let L=0;L<s.value.length&&Math.round(s.value[L].time*1e3)<=h;L++)Q=L;return Q},J=(b,h)=>{b<0||b===n.value||(l(`Lyric activated: "${s.value[b].text}"`),l(`Activating lyric at ${h.toFixed(2)}s (adjusted: ${(h+f.value).toFixed(2)}s):
|
|
8
|
+
- Index: ${b}
|
|
9
|
+
- Lyric time: ${s.value[b].time.toFixed(2)}s`),l(`Transition details:
|
|
10
|
+
- Raw position: ${h.toFixed(3)}s
|
|
11
|
+
- Dynamic look-ahead: ${f.value.toFixed(3)}s
|
|
12
|
+
- Adjusted position: ${(h+f.value).toFixed(3)}s`),b>0&&W(b,h),v.value=h,n.value=b,Ke(()=>z()))},W=(b,h)=>{const Q=h-v.value,L=s.value[b].time-s.value[b-1].time;l(`Timing analysis:
|
|
13
|
+
- Expected gap: ${L.toFixed(3)}s
|
|
14
|
+
- Actual gap: ${Q.toFixed(3)}s
|
|
15
|
+
- Difference: ${(Q-L).toFixed(3)}s`)},z=()=>{const b=document.querySelector(".lyrics-line.active"),h=c.value;b&&h&&b.scrollIntoView({behavior:"smooth",block:"center"})};return ee(()=>i.mediaItem?.item_id,()=>{x()},{immediate:!0}),ee(()=>i.position,b=>{if(q(b))return;const h=b??0;E(h);const Q=X(h);Q!==n.value&&J(Q,h)}),we(()=>{const b=c.value;b&&b.addEventListener("scroll",()=>{m.value=!0,setTimeout(()=>{m.value=!1},8e3)},{passive:!0})}),(b,h)=>(r(),g("div",Ri,[o.value?(r(),g("div",Fi,[u(Jt,{indeterminate:"",color:e.textColor},null,8,["color"]),P("div",null,I(t(Z)("loading_lyrics")),1)])):s.value.length?T.value&&d.value?(r(),g("div",zi,[P("div",Di,I(i.mediaItem?.name),1),P("div",Oi,I(w.value),1),P("div",Ni,I(t(Z)("lyrics_will_appear_soon")),1)])):(r(),g("div",{key:3,ref_key:"lyricsContainer",ref:c,class:ie(["lyrics-scroll-container",{"static-lyrics":!d.value}])},[(r(!0),g(Y,null,ue(s.value,(Q,L)=>(r(),g("div",{key:L,class:ie(["lyrics-line",{active:n.value===L||!d.value}])},I(Q.text),3))),128))],2)):(r(),g("div",qi,I(t(Z)("no_lyrics_available")),1))]))}}),Hi=oe(Wi,[["__scopeId","data-v-a59ccea0"]]),Ui=["onClick"],Yi={class:"main"},Xi={key:0,class:"main-media-details"},ji={key:0,class:"main-media-details-image"},Gi={class:"main-media-details-track-info"},Ki={key:0},Zi={key:0},Ji={key:12,style:{margin:"auto","padding-top":"20px"}},es={key:1,class:"main-queue-items"},ts={class:"queue-items-scroll-box"},as={class:"media-thumb listitem-media-thumb"},ls={class:"title-row"},is={class:"d-flex"},ss={style:{"white-space":"nowrap"},class:"pr-1"},os={key:0},ns={key:0,style:{"margin-left":"50px"}},rs={key:0,class:"text-caption"},us={key:1,class:"lyrics-wrapper"},cs={key:2,class:"main-queue-items"},ds={class:"main-media-details-image main-media-details-image-alt"},ms={class:"player-bottom"},vs={class:"row",style:{"margin-left":"5%","margin-right":"5%"}},ys={class:"media-controls"},fs={key:0,class:"row",style:{"margin-left":"5%","margin-right":"5%"}},hs={key:1,class:"row",style:{height:"70px",display:"flex","justify-content":"center","align-items":"center","padding-bottom":"15px","padding-top":"15px"}},ps=O({__name:"PlayerFullscreen",props:{colorPalette:{}},setup(e){const{name:i}=ht(),l=e,s=new it,o=A(-1),n=new it,c=A([]),m=A(0),f=A(!1),v=S(()=>a.activePlayerQueue?c.value.slice(a.activePlayerQueue.current_index):[]),T=S(()=>a.activePlayerQueue?c.value.slice(0,a.activePlayerQueue.current_index).reverse():[]),w=S(()=>{const _=a.curQueueItem?.media_item?.metadata?.lyrics,p=a.curQueueItem?.media_item?.metadata?.lrc_lyrics;return!!_&&_.trim().length>0||!!p&&p.trim().length>0}),d=S(()=>{switch(i.value){case"xs":return"1.2em";case"sm":return"1.6em";case"md":return"2em";case"lg":return a.showQueueItems?"1.5em":"2.5em";case"xl":return a.showQueueItems?"1.6em":"3em";case"xxl":return a.showQueueItems?"1.7em":"3.2em";default:return"1.0em."}}),$=S(()=>{switch(i.value){case"xs":return"1.0em";case"sm":return"1.2em";case"md":return"1.7em";case"lg":return a.showQueueItems?"1.0em":"1.6em";case"xl":return a.showQueueItems?"1.2em":"2em";case"xxl":return a.showQueueItems?"1.2em":"2em";default:return"1.0em."}}),x=S(()=>Ue.display.height.value>800),E=function(_){a.showFullscreenPlayer=!1,It.push({name:_.media_type,params:{itemId:_.item_id,provider:_.provider}})},q=function(_){a.globalSearchTerm=_,It.push({name:"search"}),a.showFullscreenPlayer=!1},X=function(_,p){const k=c.value.indexOf(p),D=[{label:"play_now",labelArgs:[],action:()=>{W(p,"play_now")},icon:"mdi-play-circle-outline",disabled:k===a.activePlayerQueue?.current_index||k===a.activePlayerQueue?.index_in_buffer},{label:"play_next",labelArgs:[],action:()=>{W(p,"move_next")},icon:"mdi-skip-next-circle-outline",disabled:k<=(a.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_up",labelArgs:[],action:()=>{W(p,"up")},icon:"mdi-arrow-up",disabled:k<=(a.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_down",labelArgs:[],action:()=>{W(p,"down")},icon:"mdi-arrow-down",disabled:k<=(a.activePlayerQueue?.index_in_buffer||0)},{label:"queue_delete",labelArgs:[],action:()=>{W(p,"delete")},icon:"mdi-delete",disabled:k<=(a.activePlayerQueue?.index_in_buffer||0)}];p?.media_item?.media_type==F.TRACK&&D.push({label:"show_info",labelArgs:[],action:()=>{E(p.media_item)},icon:"mdi-information-outline",disabled:!1}),Ie.emit("contextmenu",{items:D,posX:_.clientX,posY:_.clientY})},J=function(_){a.activePlayer&&Ie.emit("contextmenu",{items:bl(a.activePlayer,a.activePlayerQueue),posX:_.clientX,posY:_.clientY})},W=function(_,p){!_||!a.activePlayerQueue||(p=="play_now"?M.queueCommandPlayIndex(a.activePlayerQueue?.queue_id,_.queue_item_id):p=="move_next"?M.queueCommandMoveNext(a.activePlayerQueue?.queue_id,_.queue_item_id):p=="up"?M.queueCommandMoveUp(a.activePlayerQueue?.queue_id,_.queue_item_id):p=="down"?M.queueCommandMoveDown(a.activePlayerQueue?.queue_id,_.queue_item_id):p=="delete"&&M.queueCommandDelete(a.activePlayerQueue?.queue_id,_.queue_item_id))},z=async function(){f.value=!0,c.value=[],await Ct(100),f.value=!1},b=async function({done:_}){if(!a.activePlayerQueue||a.activePlayerQueue.items==0){_("empty");return}if(c.value.length>=a.activePlayerQueue?.items){_("empty");return}const p=c.value.length,k=(a.activePlayerQueue.current_index||0)+50,D=await M.getPlayerQueueItems(a.activePlayerQueue.queue_id,k,p);c.value.push(...D),D.length<50?_("empty"):_("ok")};we(()=>{const _=M.subscribe(ll.QUEUE_ITEMS_UPDATED,p=>{p.object_id==a.activePlayerQueue?.queue_id&&(p.data,z())});Ae(_)});const h=async function(_){if(!a.curQueueItem?.media_item)return;if(!a.curQueueItem.media_item.favorite){M.toggleFavorite(a.curQueueItem.media_item);return}let p=a.curQueueItem.media_item;(p.provider!="library"||!("provider_mappings"in p))&&[F.ALBUM,F.ARTIST,F.AUDIOBOOK,F.PLAYLIST,F.PODCAST,F.RADIO,F.TRACK].includes(p.media_type)&&(p=await M.getLibraryItem(p.media_type,p.item_id,p.provider)||p);const k=[];"favorite"in p&&p.favorite&&p.provider=="library"&&[F.ALBUM,F.ARTIST,F.AUDIOBOOK,F.PLAYLIST,F.PODCAST,F.RADIO,F.TRACK].includes(p.media_type)&&k.push({label:"favorites_remove",labelArgs:[],action:()=>{M.removeItemFromFavorites(p.media_type,p.item_id),p.favorite=!1,a.curQueueItem.media_item.favorite=!1},icon:"mdi-heart"}),[F.ALBUM,F.ARTIST,F.AUDIOBOOK,F.PLAYLIST,F.PODCAST,F.RADIO,F.TRACK].includes(p.media_type)&&k.push({label:"add_playlist",labelArgs:[],action:()=>{Ie.emit("playlistdialog",{items:[a.curQueueItem.media_item]})},icon:"mdi-plus-circle-outline"}),Ie.emit("contextmenu",{items:k,posX:_.clientX,posY:_.clientY})},Q=function(){f.value=!0,Ct(100).then(()=>{f.value=!1})},L=function(_,p){M.playMedia(_.uri,il.PLAY,void 0,p.position.toString())};ee(()=>a.activePlayerId,_=>{z()},{immediate:!0});const B=A(void 0),R=A(void 0);return ft(()=>{const _=Fe("white"),p=Fe("black"),k=5,D=.05,K=Ue.theme.current.value.dark?l.colorPalette.darkColor||"#000":l.colorPalette.lightColor||"#fff";let te=Fe(K);const ye=_.contrast(te),ne=p.contrast(te),fe=ye>=ne;let H=fe?_:p,Ze=Math.max(ye,ne);if(Ze<k){let Pt=D;for(;Ze<k&&Pt<=.5;)fe?te=te.darken(D):te=te.lighten(D),Ze=Fe(H).contrast(te),Pt+=D}document.documentElement.style.setProperty("--text-color",H.hex()),B.value=H.hex(),R.value=te.hex()}),(_,p)=>(r(),V(Zt,{modelValue:t(a).showFullscreenPlayer,"onUpdate:modelValue":p[13]||(p[13]=k=>t(a).showFullscreenPlayer=k),fullscreen:"",scrim:!1,transition:"dialog-bottom-transition","z-index":"9999"},{default:y(()=>[u(Ne,{color:R.value},{default:y(()=>[u(Il,{class:"v-toolbar-default",color:"transparent"},{prepend:y(()=>[u(pe,{icon:"",onClick:p[0]||(p[0]=k=>t(a).showFullscreenPlayer=!1)},{default:y(()=>[u(le,{icon:"mdi-chevron-down"})]),_:1})]),append:y(()=>[t(a).activePlayerQueue?.radio_source.length?(r(),V(pt,{key:0,scrim:""},{activator:y(({props:k})=>[u(pe,G(k,{icon:""}),{default:y(()=>[u(le,{color:"accent",icon:"mdi-radio-tower"})]),_:1},16)]),default:y(()=>[u(Ne,{title:t(Z)("queue_radio_enabled"),subtitle:t(Z)("queue_radio_based_on")},{text:y(()=>[(r(!0),g(Y,null,ue(t(a).activePlayerQueue?.radio_source,k=>(r(),g("div",{key:k.uri},[P("a",{onClick:D=>E(k)},I(k.name),9,Ui)]))),128))]),_:1},8,["title","subtitle"])]),_:1})):C("",!0),x.value?C("",!0):(r(),V(ma,{key:1})),u(pe,{icon:"",onClick:qe(J,["stop"])},{default:y(()=>[u(le,{icon:"mdi-dots-vertical"})]),_:1})]),_:1}),P("div",Yi,[t(ae)("bp7")||!t(a).showQueueItems?(r(),g("div",Xi,[_.$vuetify.display.height>600?(r(),g("div",ji,[t(a).activePlayer?.powered!=!1&&t(a).curQueueItem?(r(),V(Ee,{key:0,item:t(a).curQueueItem,thumbnail:!1,style:{"max-width":"100%",width:"auto"},fallback:_.$vuetify.theme.current.dark?t(Ye):t(at)},null,8,["item","fallback"])):t(a).activePlayer?.powered!=!1&&!t(a).curQueueItem?.image&&t(a).activePlayer?.current_media?.image_url?(r(),V(We,{key:1,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:t(a).activePlayer.current_media.image_url},null,8,["src"])):(r(),V(We,{key:2,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:_.$vuetify.theme.current.dark?t(Ye):t(at)},null,8,["src"]))])):C("",!0),P("div",Gi,[t(a).activePlayer?.powered==!1?(r(),V(Se,{key:0,style:j(`font-size: ${d.value};`)},{default:y(()=>[N(I(t(a).activePlayer?.name),1)]),_:1},8,["style"])):t(a).curQueueItem?.media_item?(r(),V(Se,{key:1,style:j(`font-size: ${d.value};cursor:pointer;`),onClick:p[1]||(p[1]=k=>E(t(a).curQueueItem.media_item))},{default:y(()=>[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).curQueueItem.media_item.name)+" ",1),"version"in t(a).curQueueItem.media_item&&t(a).curQueueItem.media_item.version?(r(),g("span",Ki,"("+I(t(a).curQueueItem.media_item.version)+")",1)):C("",!0)]),_:1},8,["sync"])]),_:1},8,["style"])):!t(a).activePlayerQueue&&t(a).activePlayer?.current_media?.title?(r(),V(Se,{key:2},{default:y(()=>[t(a).activePlayer?.current_media?.artist?(r(),g("div",Zi,[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).activePlayer?.current_media?.artist),1)]),_:1},8,["sync"])])):C("",!0),t(a).activePlayer?.current_media?.title?(r(),g("div",{key:1,style:j(`font-size: ${$.value};`)},[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).activePlayer?.current_media?.title),1)]),_:1},8,["sync"])],4)):C("",!0)]),_:1})):(r(),V(Se,{key:3,style:j(`font-size: ${d.value};cursor:pointer;`),onClick:p[2]||(p[2]=k=>t(a).showPlayersMenu=!0)},{default:y(()=>[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).activePlayer?.name||t(Z)("no_player")),1)]),_:1},8,["sync"])]),_:1},8,["style"])),t(a).activePlayer?.powered==!1?(r(),V(he,{key:4,class:"text-h6 text-md-h5 text-lg-h4"},{default:y(()=>[N(I(t(Z)("off")),1)]),_:1})):C("",!0),t(a).curQueueItem?.streamdetails?.stream_metadata&&t(a).curQueueItem?.streamdetails?.stream_metadata.title&&t(a).curQueueItem?.streamdetails?.stream_metadata.artist?(r(),V(he,{key:5,class:"text-h6 text-md-h5 text-lg-h4",onClick:p[3]||(p[3]=k=>q(`${t(a).curQueueItem?.streamdetails?.stream_metadata.artist} - ${t(a).curQueueItem?.streamdetails?.stream_metadata.title}`))},{default:y(()=>[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).curQueueItem?.streamdetails?.stream_metadata.artist)+" - "+I(t(a).curQueueItem?.streamdetails?.stream_metadata.title),1)]),_:1},8,["sync"])]),_:1})):C("",!0),t(a).curQueueItem?.streamdetails?.stream_metadata&&t(a).curQueueItem?.streamdetails?.stream_metadata.title?(r(),V(he,{key:6,class:"text-h6 text-md-h5 text-lg-h4",onClick:p[4]||(p[4]=k=>q(t(a).curQueueItem?.streamdetails?.stream_metadata.title))},{default:y(()=>[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).curQueueItem?.streamdetails?.stream_metadata.title),1)]),_:1},8,["sync"])]),_:1})):C("",!0),t(a).curQueueItem?.media_item&&"album"in t(a).curQueueItem.media_item&&t(a).curQueueItem.media_item.album&&t(a).activePlayer?.powered!=!1?(r(),V(he,{key:7,style:j(`font-size: ${$.value};cursor:pointer;`),onClick:p[5]||(p[5]=k=>E(t(a).curQueueItem.media_item.album))},{default:y(()=>[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).curQueueItem.media_item.album.name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):C("",!0),t(a).curQueueItem?.media_item&&"artists"in t(a).curQueueItem.media_item&&t(a).curQueueItem.media_item.artists.length&&t(a).activePlayer?.powered!=!1?(r(),V(he,{key:8,style:j(`font-size: ${$.value};cursor:pointer;`),onClick:p[6]||(p[6]=k=>E(t(a).curQueueItem.media_item.artists[0]))},{default:y(()=>[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).curQueueItem.media_item.artists[0].name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):C("",!0),t(a).curQueueItem?.media_item&&"podcast"in t(a).curQueueItem.media_item&&t(a).curQueueItem.media_item.podcast?(r(),V(he,{key:9,style:j(`font-size: ${$.value};`)},{default:y(()=>[u(se,{sync:t(s)},{default:y(()=>[N(I(t(a).curQueueItem.media_item.podcast.name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):t(a).activePlayer&&t(a).activePlayer?.active_source!=t(a).activePlayer?.player_id&&t(a).activePlayer?.powered!=!1?(r(),V(he,{key:10},{default:y(()=>[N(I(t(Z)("external_source_active",[t(Xt)(t(a).activePlayer)])),1)]),_:1})):t(a).activePlayerQueue&&t(a).activePlayerQueue.items==0&&t(a).activePlayer?.powered!=!1?(r(),V(he,{key:11,style:j(`font-size: ${$.value}`)},{default:y(()=>[N(I(t(Z)("queue_empty")),1)]),_:1},8,["style"])):C("",!0),t(a).activePlayer?.powered!=!1?(r(),g("div",Ji,[u(jt)])):C("",!0)])])):C("",!0),t(a).showQueueItems?(r(),g("div",es,[u(hi,{modelValue:m.value,"onUpdate:modelValue":p[7]||(p[7]=k=>m.value=k),"hide-slider":"",density:"compact",onClick:Q},{default:y(()=>[u(Oe,{value:0},{default:y(()=>[N(I(t(Z)("queue"))+" ",1),u(et,{color:"grey",content:(t(a).activePlayerQueue?.items||0)-(t(a).activePlayerQueue?.current_index||0),inline:""},null,8,["content"])]),_:1}),u(Oe,{value:1},{default:y(()=>[N(I(t(Z)("played"))+" ",1),u(et,{color:"grey",content:t(a).activePlayerQueue?.current_index,inline:""},null,8,["content"])]),_:1}),w.value?(r(),V(Oe,{key:0,value:2},{default:y(()=>[N(I(t(Z)("lyrics")),1)]),_:1})):C("",!0)]),_:1},8,["modelValue"]),P("div",ts,[!f.value&&m.value!==2?(r(),V(hl,{key:0,onLoad:b,"empty-text":"",height:"100%"},{default:y(()=>[u(Cl,{"item-height":70,"max-height":"90%",items:m.value==0?v.value:T.value},{default:y(({item:k,index:D})=>[u(wl,{link:"","show-menu-btn":!0,disabled:!k.available,onClick:qe(K=>X(K,k),["stop"]),onMenu:qe(K=>X(K,k),["stop"]),onMouseenter:K=>o.value=D,onMouseleave:p[8]||(p[8]=K=>o.value=-1)},{prepend:y(()=>[P("div",as,[u(Ee,{size:"50",item:k},null,8,["item"])])]),title:y(()=>[P("div",ls,[u(se,{sync:D==0&&m.value==0?t(s):t(n),disabled:!(D==0&&m.value==0||o.value==D)},{default:y(()=>[P("span",{class:ie({"is-playing":k.queue_item_id===t(a).curQueueItem?.queue_item_id})},I(k.name),3)]),_:2},1032,["sync","disabled"])])]),subtitle:y(()=>[P("div",is,[P("span",ss,I(t(Me)(k.duration))+" | ",1),u(se,{sync:D==0&&m.value==0?t(s):t(n),disabled:!(D==0&&m.value==0||o.value==D)},{default:y(()=>[k.media_item&&"album"in k.media_item&&k.media_item.album?(r(),g("span",os,I(k.media_item.album.name),1)):C("",!0)]),_:2},1032,["sync","disabled"])])]),append:y(()=>[k.queue_item_id===t(a).curQueueItem?.queue_item_id&&t(a).activePlayer?.playback_state!=t(He).IDLE?(r(),V(xl,{key:0,"show-badge":t(ae)("bp4")},null,8,["show-badge"])):C("",!0),k.available?C("",!0):(r(),V(le,{key:1},{default:y(()=>[...p[14]||(p[14]=[N("mdi-alert",-1)])]),_:1}))]),_:2},1032,["disabled","onClick","onMenu","onMouseenter"]),k.queue_item_id==t(a).curQueueItem?.queue_item_id&&k.media_item?.metadata?.chapters?.length?(r(),g("div",ns,[(r(!0),g(Y,null,ue(k.media_item.metadata?.chapters,K=>(r(),V(Qe,{key:K.position,onClick:qe(te=>L(k.media_item,K),["stop"])},{title:y(()=>[P("div",null,I(K.name),1)]),append:y(()=>[K.end?(r(),g("span",rs,I(t(Me)(K.end-K.start)),1)):C("",!0)]),_:2},1032,["onClick"]))),128))])):C("",!0)]),_:1},8,["items"])]),_:1})):C("",!0),m.value===2?(r(),g("div",us,[u(Hi,{"media-item":t(a).curQueueItem?.media_item,position:t(a).activePlayerQueue?.elapsed_time,duration:t(a).curQueueItem?.duration,"stream-details":t(a).curQueueItem?.streamdetails,"text-color":B.value},null,8,["media-item","position","duration","stream-details","text-color"])])):C("",!0)])])):C("",!0),!t(a).showQueueItems&&_.$vuetify.display.height<=600?(r(),g("div",cs,[P("div",ds,[u(Ee,{item:t(a).curQueueItem,thumbnail:!1,style:{"max-width":"100%",width:"auto"}},null,8,["item"])])])):C("",!0)]),P("div",ms,[P("div",vs,[u(va,{"show-labels":!0,color:B.value},null,8,["color"])]),P("div",ys,[t(a).activePlayerQueue?(r(),V(ke,{key:0,disabled:!t(a).curQueueItem?.media_item,icon:t(a).curQueueItem?.media_item?.favorite?"mdi-heart":"mdi-heart-outline",title:t(Z)("tooltip.favorite"),variant:"button",class:"media-controls-item","max-height":"30px",onClick:h},null,8,["disabled","icon","title"])):C("",!0),_.$vuetify.display.mdAndUp?(r(),V(ca,{key:1,"player-queue":t(a).activePlayerQueue,class:"media-controls-item","max-height":"30px"},null,8,["player-queue"])):C("",!0),u(ua,{player:t(a).activePlayer,"player-queue":t(a).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),u(ra,{player:t(a).activePlayer,"player-queue":t(a).activePlayerQueue,class:"media-controls-item","max-height":"70px"},null,8,["player","player-queue"]),u(na,{player:t(a).activePlayer,"player-queue":t(a).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),_.$vuetify.display.mdAndUp?(r(),V(oa,{key:2,"player-queue":t(a).activePlayerQueue,class:"media-controls-item","max-height":"35px"},null,8,["player-queue"])):C("",!0),t(a).activePlayerQueue?(r(),V(da,{key:3,class:"media-controls-item","max-height":"30px"})):C("",!0)]),t(a).activePlayer&&t(a).activePlayer.volume_control!=t(lt)?(r(),g("div",fs,[u(_t,{width:"100%","is-powered":t(a).activePlayer?.powered!=!1,disabled:!t(a).activePlayer||!t(a).activePlayer?.available,"model-value":Math.round(t(a).activePlayer?.group_volume||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus",color:B.value,"allow-wheel":!0,"onUpdate:modelValue":p[9]||(p[9]=k=>t(a).activePlayer.group_members.length>0?t(M).playerCommandGroupVolume(t(a).activePlayerId,k):t(M).playerCommandVolumeSet(t(a).activePlayerId,k)),"onClick:prepend":p[10]||(p[10]=k=>t(a).activePlayer.group_members.length>0?t(M).playerCommandGroupVolumeDown(t(a).activePlayerId):t(M).playerCommandVolumeDown(t(a).activePlayerId)),"onClick:append":p[11]||(p[11]=k=>t(a).activePlayer.group_members.length>0?t(M).playerCommandGroupVolumeUp(t(a).activePlayerId):t(M).playerCommandVolumeUp(t(a).activePlayerId))},null,8,["is-powered","disabled","model-value","color"])])):C("",!0),x.value?(r(),g("div",hs,[u(_e,{class:"responsive-icon-holder-btn",variant:"outlined",onClick:p[12]||(p[12]=k=>t(a).showPlayersMenu=!0)},{default:y(()=>[u(le,{icon:t(a).activePlayer?.icon||"mdi-speaker"},null,8,["icon"]),N(" "+I(t(a).activePlayer?t(Gt)(t(a).activePlayer):""),1)]),_:1})])):C("",!0)])]),_:1},8,["color"])]),_:1},8,["modelValue"]))}}),gs=oe(ps,[["__scopeId","data-v-291f8a20"]]),bs={key:1},_s={key:2,class:"icon-thumb"},ws={key:0},Ps={key:2},ks={key:3},xs={key:4},Is={key:0,class:"pl-4"},Cs={key:0},$s={key:1},Qs={key:2},Vs={key:3},Ss={key:4},Ts={key:5},Ls={key:6,class:"line-clamp-1"},Ms={key:7},Es={key:8,class:"line-clamp-1"},Bs={key:9,class:"line-clamp-1"},As={key:0},Rs=O({__name:"PlayerTrackDetails",props:{showOnlyArtist:{type:Boolean,default:!1},showQualityDetailsBtn:{type:Boolean,default:!0},colorPalette:{},primaryColor:{default:""}},setup(e){const i=new it,l=e,s=S(()=>a.activePlayerQueue?.current_item?.streamdetails);return(o,n)=>(r(),g(Y,null,[u(Qe,{style:{height:"auto",width:"fit-content",margin:"0px",padding:"0px"},lines:"two"},{prepend:y(()=>[P("div",{class:"media-thumb player-media-thumb",style:j(`cursor: pointer;height: ${t(ae)({breakpoint:"phone"})?60:64}px; width: ${t(ae)({breakpoint:"phone"})?60:64}px; `),onClick:n[0]||(n[0]=c=>t(a).showFullscreenPlayer=!0)},[t(a).activePlayer?.powered!=!1&&t(a).curQueueItem?(r(),V(Ee,{key:0,item:t(a).curQueueItem,fallback:t(Ye)},null,8,["item","fallback"])):t(a).activePlayer?.powered!=!1&&t(a).activePlayer?.current_media?.image_url?(r(),g("div",bs,[u(We,{class:"media-thumb",style:{"border-radius":"4px"},size:"60",src:t(a).activePlayer.current_media.image_url},null,8,["src"])])):(r(),g("div",_s,[u(le,{size:"24",icon:t(a).activePlayer?.type==t(De).PLAYER&&t(a).activePlayer?.group_members.length?"mdi-speaker-multiple":t(a).activePlayer?.icon||"mdi-speaker"},null,8,["icon"])]))],4)]),title:y(()=>[P("div",{style:j({cursor:"pointer",color:e.primaryColor})},[t(a).activePlayer?.powered==!1?(r(),g("div",{key:0,onClick:n[1]||(n[1]=c=>t(a).showPlayersMenu=!0)},I(t(a).activePlayer?.name),1)):t(a).curQueueItem?.media_item?(r(),g("div",{key:1,onClick:n[2]||(n[2]=c=>t(a).showFullscreenPlayer=!0)},[u(se,{sync:t(i)},{default:y(()=>[N(I(t(a).curQueueItem.media_item.name)+" ",1),"version"in t(a).curQueueItem.media_item&&t(a).curQueueItem.media_item.version?(r(),g("span",ws,"("+I(t(a).curQueueItem.media_item.version)+")",1)):C("",!0)]),_:1},8,["sync"])])):t(a).curQueueItem?(r(),g("div",Ps,I(t(a).curQueueItem.name),1)):!t(a).activePlayerQueue&&t(a).activePlayer?.current_media?.title?(r(),g("div",ks,I(t(a).activePlayer.current_media.title),1)):t(a).activePlayer?(r(),g("div",xs,I(t(a).activePlayer?.name),1)):(r(),g("div",{key:5,onClick:n[3]||(n[3]=c=>t(a).showPlayersMenu=!0)},I(o.$t("no_player")),1))],4)]),append:y(()=>[s.value?.audio_format.content_type&&!t(ae)({breakpoint:"phone"})&&e.showQualityDetailsBtn?(r(),g("div",Is,[u(jt)])):C("",!0)]),subtitle:y(()=>[P("div",{style:j({cursor:"pointer",color:e.primaryColor}),class:"line-clamp-1",onClick:n[4]||(n[4]=c=>t(a).showFullscreenPlayer=!0)},[u(se,{sync:t(i)},{default:y(()=>[t(a).activePlayer?.powered==!1?(r(),g("div",Cs,I(o.$t("off")),1)):t(a).curQueueItem&&t(a).curQueueItem.media_item?.media_type==t(F).TRACK&&"album"in t(a).curQueueItem.media_item&&t(a).curQueueItem.media_item.album&&!l.showOnlyArtist?(r(),g("div",$s,I(t(sl)(t(a).curQueueItem.media_item.artists))+" • "+I(t(a).curQueueItem.media_item.album.name),1)):t(a).curQueueItem?.media_item&&"artists"in t(a).curQueueItem.media_item&&t(a).curQueueItem.media_item.artists.length>0?(r(),g("div",Qs,I(t(a).curQueueItem.media_item.artists[0].name),1)):t(a).curQueueItem?.media_item&&"podcast"in t(a).curQueueItem.media_item&&t(a).curQueueItem.media_item.podcast?.name?(r(),g("div",Vs,I(t(a).curQueueItem.media_item.podcast.name),1)):t(a).curQueueItem?.streamdetails?.stream_metadata&&t(a).curQueueItem?.streamdetails?.stream_metadata.title&&t(a).curQueueItem?.streamdetails?.stream_metadata.artist?(r(),g("div",Ss,I(t(a).curQueueItem?.streamdetails?.stream_metadata.artist)+" - "+I(t(a).curQueueItem?.streamdetails?.stream_metadata.title),1)):t(a).curQueueItem?.streamdetails?.stream_metadata&&t(a).curQueueItem?.streamdetails?.stream_metadata.title?(r(),g("div",Ts,I(t(a).curQueueItem?.streamdetails?.stream_metadata.title),1)):t(a).curQueueItem?.media_item?.metadata.description?(r(),g("div",Ls,I(t(ol)(t(a).curQueueItem.media_item.metadata.description,100)),1)):!t(a).activePlayerQueue&&t(a).activePlayer?.active_source&&t(a).activePlayer?.current_media?.artist?(r(),g("div",Ms,I(t(a).activePlayer.current_media.artist),1)):!t(a).activePlayerQueue&&t(a).activePlayer?.active_source?(r(),g("div",Es,I(o.$t("external_source_active",[t(Xt)(t(a).activePlayer)])),1)):t(a).activePlayerQueue&&t(a).activePlayerQueue.items==0?(r(),g("div",Bs,I(o.$t("queue_empty")),1)):C("",!0)]),_:1},8,["sync"]),t(a).activePlayer&&t(a).activePlayer?.powered!=!1?(r(),g("div",As,I(t(Gt)(t(a).activePlayer)),1)):C("",!0)],4)]),_:1}),u(gs,{"show-fullscreen":t(a).showFullscreenPlayer,"color-palette":e.colorPalette},null,8,["show-fullscreen","color-palette"])],64))}}),Fs=oe(Rs,[["__scopeId","data-v-4af10a97"]]),qs=["data-floating"],zs=["data-mobile"],Ds={class:"mediacontrols-left"},Os={class:"mediacontrols-bottom-center"},Ns={class:"mediacontrols-bottom-right"},Ws={key:0,class:"volume-slider"},Hs=O({__name:"Player",props:{useFloatingPlayer:{type:Boolean}},setup(e){Yt(n=>({v0920870d:o.value}));const{mobile:i}=ht({mobileBreakpoint:576}),l=A({0:"",1:"",2:"",3:"",4:"",5:"",lightColor:"",darkColor:""}),s=new Image;s.src=Ue.theme.current.value.dark?Ye:at,s.crossOrigin="Anonymous",s.addEventListener("load",function(){l.value=nl(s)});const o=S(()=>Ue.theme.current.value.dark?l.value&&l.value.darkColor?l.value.darkColor:"#CCCCCC26":l.value&&l.value.lightColor?l.value.lightColor:"#CCCCCC26");return ee(()=>a.curQueueItem?.queue_item_id,()=>{a.curQueueItem?.media_item?s.src=$t(a.curQueueItem.media_item,Qt.THUMB)||"":a.curQueueItem?s.src=$t(a.curQueueItem,Qt.THUMB)||"":s.src=""}),(n,c)=>(r(),g(Y,null,[P("div",{class:"mediacontrols-bg","data-floating":e.useFloatingPlayer},null,8,qs),P("div",{class:"mediacontrols","data-mobile":t(i)},[P("div",Ds,[u(Fs,{"show-quality-details-btn":!!t(ae)("bp8"),"show-only-artist":!t(ae)("bp7"),"color-palette":l.value,"primary-color":n.$vuetify.theme.current.dark?"#fff":"#000"},null,8,["show-quality-details-btn","show-only-artist","color-palette","primary-color"])]),P("div",Os,[u(qt,{"visible-components":{repeat:{isVisible:t(ae)("bp3")},shuffle:{isVisible:t(ae)("bp3")},play:{isVisible:!0,icon:{staticWidth:"48px",staticHeight:"48px"}},previous:{isVisible:t(ae)("bp3")},next:{isVisible:t(ae)("bp3")}}},null,8,["visible-components"]),t(ae)("bp6")?(r(),V(va,{key:0,"is-progress-bar":!1,disabled:!t(a).activePlayerQueue?.active||t(a).activePlayerQueue?.current_item?.media_item?.media_type!==t(F).TRACK},null,8,["disabled"])):C("",!0)]),P("div",Ns,[P("div",null,[u(Si,{queue:{isVisible:t(ae)("bp3"),color:n.$vuetify.theme.current.dark?"#fff":"#000"},player:{isVisible:!0,color:n.$vuetify.theme.current.dark?"#fff":"#000"},volume:{isVisible:!t(i)&&(t(a).activePlayer?.volume_control!=t(lt)||t(a).activePlayer?.group_members.length>0),color:n.$vuetify.theme.current.dark?"#fff":"#000"}},null,8,["queue","player","volume"]),u(qt,{style:{"padding-right":"5px"},"visible-components":{repeat:{isVisible:!1},shuffle:{isVisible:!1},play:{isVisible:t(ae)({breakpoint:"bp3",condition:"lt"}),icon:{staticWidth:"40px",staticHeight:"40px",color:n.$vuetify.theme.current.dark?"#fff":"#000"}},previous:{isVisible:!1},next:{isVisible:!1}}},null,8,["visible-components"])])])],8,zs),t(i)&&(t(a).activePlayer?.volume_control!=t(lt)||t(a).activePlayer?.group_members.length>0)?(r(),g("div",Ws,[u(_t,{width:"100%",color:"secondary","is-powered":t(a).activePlayer?.powered!=!1,disabled:!t(a).activePlayer||!t(a).activePlayer?.available,"model-value":Math.round(t(a).activePlayer?.group_volume||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus","onUpdate:modelValue":c[0]||(c[0]=m=>t(a).activePlayer.group_members.length>0?t(M).playerCommandGroupVolume(t(a).activePlayerId,m):t(M).playerCommandVolumeSet(t(a).activePlayerId,m)),"onClick:prepend":c[1]||(c[1]=m=>t(a).activePlayer.group_members.length>0?t(M).playerCommandGroupVolumeDown(t(a).activePlayerId):t(M).playerCommandVolumeDown(t(a).activePlayerId)),"onClick:append":c[2]||(c[2]=m=>t(a).activePlayer.group_members.length>0?t(M).playerCommandGroupVolumeUp(t(a).activePlayerId):t(M).playerCommandVolumeUp(t(a).activePlayerId))},null,8,["is-powered","disabled","model-value"])])):C("",!0)],64))}}),Us=oe(Hs,[["__scopeId","data-v-f0b417b2"]]),Ys={class:"menuButton"},Xs={class:"menuButton"},js=O({__name:"BottomNavigation",props:{height:{}},setup(e){const i=ea(),l=A(!1);return(s,o)=>(r(),V(Hl,{height:e.height,"bg-color":"default",grow:"",role:"navigation"},{default:y(()=>[(r(!0),g(Y,null,ue(t(i).filter(n=>!n.isLibraryNode),n=>(r(),V(_e,{key:n.label,to:n.path,"aria-label":s.$t(n.label),tabindex:"0",variant:"text","active-color":"fg","base-color":"grey"},{default:y(()=>[u(le,{size:"xx-large"},{default:y(()=>[N(I(n.icon),1)]),_:2},1024),P("span",Ys,I(s.$t(n.label)),1)]),_:2},1032,["to","aria-label"]))),128)),u(pt,null,{activator:y(({props:n})=>[u(_e,G(n,{"aria-haspopup":"true","aria-expanded":l.value.toString(),"aria-label":"Open library menu","base-color":"grey"}),{default:y(()=>[u(le,{size:"xx-large"},{default:y(()=>[...o[0]||(o[0]=[N("mdi-bookshelf",-1)])]),_:1}),P("span",Xs,I(s.$t("library")),1)]),_:1},16,["aria-expanded"])]),default:y(()=>[u(Ce,null,{default:y(()=>[(r(!0),g(Y,null,ue(t(i).filter(n=>n.isLibraryNode),n=>(r(),V(Qe,{key:n.label,title:s.$t(n.label),"prepend-icon":n.icon,to:n.path},null,8,["title","prepend-icon","to"]))),128))]),_:1})]),_:1})]),_:1},8,["height"]))}}),Gs=O({__name:"Footer",setup(e){const i=S(()=>a.isInStandaloneMode?100:80);return(l,s)=>(r(),g(Y,null,[t(a).mobileLayout?(r(),g("div",{key:0,class:ie(l.$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)):C("",!0),t(a).mobileLayout?(r(),V(js,{key:1,height:i.value},null,8,["height"])):C("",!0),u(ei,{app:"",color:"default",class:ie(`py-0 px-0 ${t(a).mobileLayout?"mediacontrols-player-float":"mediacontrols-player-default"}`)},{default:y(()=>[u(Us,{"use-floating-player":t(a).mobileLayout},null,8,["use-floating-player"])]),_:1},8,["class"])],64))}}),Ks={style:{float:"right","margin-right":"-20px"}},Zs=O({__name:"PlayerSelect",setup(e){const i=A(!1),l=A(null),s=S(()=>Object.values(M.players).filter(m=>Vt(m)).filter(m=>m.player_id!==ge.player_id).sort((m,f)=>m.name.toUpperCase()>f.name?.toUpperCase()?1:-1));ee(()=>a.activePlayerId,m=>{m&&localStorage.setItem("mass.LastPlayerId",m)}),ee(()=>M.players,m=>{m&&!a.activePlayer&&n()},{deep:!0}),ee(()=>M.state,m=>{m.value!=ul.CONNECTED&&(a.activePlayerId=void 0)},{deep:!0});function o(m,f=!1){a.activePlayerId==m.player_id?i.value=!i.value:(i.value=!1,a.activePlayerId=m.player_id),f&&(a.showPlayersMenu=!1)}we(()=>{n()});const n=function(){if(a.activePlayer&&Vt(a.activePlayer))return;const m=c();m&&(a.activePlayerId=m)},c=function(){const m=localStorage.getItem("mass.LastPlayerId");if(m&&m in M.players&&M.players[m].available)return m};return(m,f)=>(r(),g(Y,null,[u(Kt,{modelValue:t(a).showPlayersMenu,"onUpdate:modelValue":f[0]||(f[0]=v=>t(a).showPlayersMenu=v)},null,8,["modelValue"]),t(a).showPlayersMenu?(r(),V(ui,{key:0,modelValue:t(a).showPlayersMenu,"onUpdate:modelValue":f[4]||(f[4]=v=>t(a).showPlayersMenu=v),location:"right",app:"",clipped:"",temporary:"",width:460,style:{"z-index":"99999"},"z-index":"99999",color:"background"},{default:y(()=>[P("div",null,[u(Se,{class:"title",style:{"padding-top":"20px","padding-bottom":"20px"}},{default:y(()=>[P("b",null,I(m.$t("players")),1),P("div",Ks,[u(pe,{variant:"icon",to:{name:"playersettings"}},{default:y(()=>[u(le,{size:"30"},{default:y(()=>[...f[5]||(f[5]=[N("mdi-cog-outline",-1)])]),_:1})]),_:1}),u(pe,{variant:"icon",onClick:f[1]||(f[1]=v=>t(a).showPlayersMenu=!1)},{default:y(()=>[u(le,{size:"30"},{default:y(()=>[...f[6]||(f[6]=[N("mdi-window-close",-1)])]),_:1})]),_:1})])]),_:1}),u(tt),u(Ce,{flat:"",style:{margin:"0px 10px",padding:"0"}},{default:y(()=>[t(ge).mode===t(rl).BUILTIN&&t(ge).player_id&&t(M).players[t(ge).player_id]?(r(),V(ze,{key:0,id:t(ge).player_id,style:{margin:"10px 0px"},player:t(M).players[t(ge).player_id],"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":!1,"show-sync-controls":!1,"allow-power-control":!0,onClick:f[2]||(f[2]=v=>o(t(M).players[t(ge).player_id]))},null,8,["id","player"])):C("",!0),(r(!0),g(Y,null,ue(s.value.filter(v=>[t(He).PLAYING,t(He).PAUSED].includes(v.playback_state)||t(M).queues[v.player_id]?.items>0&&v.powered!=!1),v=>(r(),V(ze,{id:v.player_id,key:v.player_id,style:{margin:"10px 0px"},player:v,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":i.value&&v.player_id==t(a).activePlayerId,"show-sync-controls":v.supported_features.includes(t(Le).SET_MEMBERS),"allow-power-control":!0,onClick:T=>o(v)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1}),u($l,{modelValue:l.value,"onUpdate:modelValue":f[3]||(f[3]=v=>l.value=v),variant:"accordion",flat:"",class:"expansion"},{default:y(()=>[u(Tt,{style:{padding:"0"}},{default:y(()=>[u(Lt,null,{default:y(()=>[P("h3",null,I(m.$t("all_players")),1)]),_:1}),u(Mt,{style:{padding:"0"}},{default:y(()=>[u(Ce,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:y(()=>[(r(!0),g(Y,null,ue(s.value.filter(v=>v.type!=t(De).GROUP),v=>(r(),V(ze,{id:v.player_id,key:v.player_id,style:{margin:"5px 0px"},player:v,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":i.value&&v.player_id==t(a).activePlayerId,"show-sync-controls":v.supported_features.includes(t(Le).SET_MEMBERS),"allow-power-control":!0,onClick:T=>o(v)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1}),s.value.filter(v=>v.type==t(De).GROUP).length?(r(),V(Tt,{key:0,style:{padding:"0"}},{default:y(()=>[u(Lt,null,{default:y(()=>[P("h3",null,I(m.$t("all_groups")),1)]),_:1}),u(Mt,{style:{padding:"0"}},{default:y(()=>[u(Ce,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:y(()=>[(r(!0),g(Y,null,ue(s.value.filter(v=>v.type==t(De).GROUP),v=>(r(),V(ze,{id:v.player_id,key:v.player_id,style:{margin:"5px 0px"},player:v,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":i.value&&v.player_id==t(a).activePlayerId,"show-sync-controls":v.supported_features.includes(t(Le).SET_MEMBERS),"allow-power-control":!0,onClick:T=>o(v)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1})):C("",!0)]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"])):C("",!0)],64))}}),Js=oe(Zs,[["__scopeId","data-v-cc077ef3"]]);function eo(e={}){const{immediate:i=!1,onNeedRefresh:l,onOfflineReady:s,onRegistered:o,onRegisteredSW:n,onRegisterError:c}=e;let m,f,v;const T=async(d=!0)=>{await f,v?.()};async function w(){if("serviceWorker"in navigator){if(m=await cl(async()=>{const{Workbox:d}=await import("./workbox-window.prod.es5-CwtvwXb3.js");return{Workbox:d}},[],import.meta.url).then(({Workbox:d})=>new d("./sw.js",{scope:"./",type:"classic"})).catch(d=>{c?.(d)}),!m)return;v=()=>{m?.messageSkipWaiting()};{let d=!1;const $=()=>{d=!0,m?.addEventListener("controlling",x=>{x.isUpdate&&window.location.reload()}),l?.()};m.addEventListener("installed",x=>{typeof x.isUpdate>"u"?typeof x.isExternal<"u"&&x.isExternal?$():!d&&s?.():x.isUpdate||s?.()}),m.addEventListener("waiting",$)}m.register({immediate:i}).then(d=>{n?n("./sw.js",d):o?.(d)}).catch(d=>{c?.(d)})}}return f=w(),T}function to(e={}){const{immediate:i=!0,onNeedRefresh:l,onOfflineReady:s,onRegistered:o,onRegisteredSW:n,onRegisterError:c}=e,m=A(!1),f=A(!1);return{updateServiceWorker:eo({immediate:i,onNeedRefresh(){m.value=!0,l?.()},onOfflineReady(){f.value=!0,s?.()},onRegistered:o,onRegisteredSW:n,onRegisterError:c}),offlineReady:f,needRefresh:m}}const ao={key:0,class:"pwa-toast",role:"alert"},lo={class:"message"},io={key:0},so={key:1},oo=O({__name:"ReloadPrompt",setup(e){const{offlineReady:i,needRefresh:l,updateServiceWorker:s}=to(),o=async()=>{i.value=!1,l.value=!1};return(n,c)=>t(i)||t(l)?(r(),g("div",ao,[P("div",lo,[t(i)?(r(),g("span",io," App ready to work offline ")):(r(),g("span",so," New content available, click on reload button to update. "))]),t(l)?(r(),g("button",{key:0,onClick:c[0]||(c[0]=m=>t(s)())},"Reload")):C("",!0),P("button",{onClick:o},"Close")])):C("",!0)}}),no=O({__name:"Default",setup(e){const i=dl();return ee([()=>i.query.player,()=>Object.keys(M.players).length],([l])=>{if(!l)return;const s=l.toString().toLowerCase(),o=Object.values(M.players).find(n=>n.player_id.toLowerCase()===s||n.name.toLowerCase()===s)?.player_id;o&&(a.activePlayerId=o)},{immediate:!0}),ee(()=>i.query.showFullscreenPlayer,l=>{a.showFullscreenPlayer=!!l},{immediate:!0}),ee(()=>i.query.frameless,l=>{l&&(a.frameless=!0)},{immediate:!0}),(l,s)=>(r(),g(Y,null,[t(a).connected?(r(),V(Nl,{key:0},{default:y(()=>[t(a).frameless?(r(),V(Et,{key:0})):(r(),g(Y,{key:1},[u(Js),u(Et),u(Gs)],64))]),_:1})):(r(),V(Kt,{key:1,class:"centeredoverlay",persistent:"","model-value":!t(a).connected},{default:y(()=>[P("div",null,[u(Jt,{color:"primary",indeterminate:"",size:"64"})])]),_:1},8,["model-value"])),t(a).isInStandaloneMode?(r(),V(oo,{key:2})):C("",!0)],64))}}),Vo=oe(no,[["__scopeId","data-v-3dcdb3ba"]]);export{Vo as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{y as Ie,ab as _,L as P,u,aq as qe,cu as be,cv as Ge,a as b,E as ve,F as le,x as je,aa as ze,i as q,cw as He,aG as Je,Z as Ve,cx as se,an as re,cy as Qe,ac as te,cz as ke,C as We,b as c,az as X,aH as Ze,ce as Xe,R as Ye,cA as _e,cB as he,cC as el,g as Ce,cD as ll,aV as al,h as tl,V as xe,p as Fe,cE as ul,bF as il,cF as nl,D as sl,bs as ol,aF as rl,b4 as H,d as dl,ch as F,c as z,o as x,e as M,q as de,w as T,r as Se,t as O,$ as p,cG as we,bJ as vl,n as cl,bI as ye,bE as ml,bC as fl}from"./index-ra7TBoRz.js";import{V as pl}from"./VForm-CylqtGZY.js";import{V as bl,a as gl,b as Vl,c as kl}from"./VExpansionPanels-CVniPvfe.js";import{c as hl,a as Cl,d as xl}from"./VInput-CEXId6XX.js";import{V as Ee}from"./VAlert-B1mdsVdb.js";import{a as Y}from"./VBtn-B-NuY1a5.js";import{u as Sl,b as wl,m as yl,V as El,a as Il}from"./VSwitch-PhUs-I1F.js";import{V as Fl}from"./VSlider-D6BtFUZc.js";import{V as ee,m as $l}from"./VTextField-B-G8xtcN.js";import{V as Tl}from"./VVirtualScroll-CDzAG2cn.js";import{V as Al}from"./VDialog-CAKjRQF6.js";import{V as Ll}from"./VSpacer-UUBEbx8b.js";import{_ as Rl}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Dl=(l,f,g)=>{if(l==null||f==null)return-1;if(!f.length)return 0;l=l.toString().toLocaleLowerCase(),f=f.toString().toLocaleLowerCase();const o=[];let V=l.indexOf(f);for(;~V;)o.push([V,V+f.length]),V=l.indexOf(f,V+f.length);return o.length?o:-1};function pe(l,f){if(!(l==null||typeof l=="boolean"||l===-1))return typeof l=="number"?[[l,l+f.length]]:Array.isArray(l[0])?l:[l]}const Ul=Ie({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Ml(l,f,g){const o=[],V=g?.default??Dl,S=g?.filterKeys?be(g.filterKeys):!1,h=Object.keys(g?.customKeyFilter??{}).length;if(!l?.length)return o;let w=null;e:for(let y=0;y<l.length;y++){const[k,N=k]=be(l[y]),m={},D={};let A=-1;if((f||h>0)&&!g?.noFilter){let Z=!1;if(typeof k=="object"){if(k.type==="divider"||k.type==="subheader"){w?.type==="divider"&&k.type==="subheader"&&o.push(w),w={index:y,matches:{},type:k.type};continue}const G=S||Object.keys(N);Z=G.length===h;for(const r of G){const W=Ge(N,r),L=g?.customKeyFilter?.[r];if(A=L?L(W,f,k):V(W,f,k),A!==-1&&A!==!1)L?m[r]=pe(A,f):D[r]=pe(A,f);else if(g?.filterMode==="every")continue e}}else A=V(k,f,k),A!==-1&&A!==!1&&(D.title=pe(A,f));const J=Object.keys(D).length,Q=Object.keys(m).length;if(!J&&!Q||g?.filterMode==="union"&&Q!==h&&!J||g?.filterMode==="intersection"&&(Q!==h||!J&&h>0&&!Z))continue}w&&(o.push(w),w=null),o.push({index:y,matches:{...D,...m}})}return o}function Ol(l,f,g,o){const V=_([]),S=_(new Map),h=P(()=>u(f));qe(()=>{const y=typeof g=="function"?g():u(g),k=typeof y!="string"&&typeof y!="number"?"":String(y),N=Ml(h.value,k,{customKeyFilter:{...l.customKeyFilter,...u(o?.customKeyFilter)},default:l.customFilter,filterKeys:l.filterKeys,filterMode:l.filterMode,noFilter:l.noFilter}),m=u(f),D=[],A=new Map;N.forEach(Z=>{let{index:J,matches:Q}=Z;const G=m[J];D.push(G),A.set(G.value,Q)}),V.value=D,S.value=A});function w(y){return S.value.get(y.value)}return{filteredItems:V,filteredMatches:S,getMatches:w}}function Pl(l,f,g){return g==null||!g.length?f:g.map((o,V)=>{const S=V===0?0:g[V-1][1],h=[b("span",{class:ve(`${l}__unmask`)},[f.slice(S,o[0])]),b("span",{class:ve(`${l}__mask`)},[f.slice(o[0],o[1])])];return V===g.length-1&&h.push(b("span",{class:ve(`${l}__unmask`)},[f.slice(o[1])])),b(le,null,[h])})}const Nl=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Ul({filterKeys:["title"]}),...yl({hideNoData:!0,returnObject:!0}),...Ye($l({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Xe({transition:!1})},"VCombobox"),Bl=je()({name:"VCombobox",props:Nl(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,f){let{emit:g,slots:o}=f;const{t:V}=ze(),S=q(),h=_(!1),w=_(!0),y=_(!1),k=q(),N=q(),m=_(-1);let D=!1;const{items:A,transformIn:Z,transformOut:J}=He(l),{textColorClasses:Q,textColorStyles:G}=Je(()=>S.value?.color),r=Ve(l,"modelValue",[],t=>Z(be(t)),t=>{const C=J(t);return l.multiple?C:C[0]??null}),W=hl(l),L=P(()=>!!(l.chips||o.chip)),B=P(()=>L.value||!!o.selection),K=_(!l.multiple&&!B.value?r.value[0]?.title??"":""),$=P({get:()=>K.value,set:async t=>{if(K.value=t??"",!l.multiple&&!B.value&&(r.value=[se(l,t)],re(()=>N.value?.scrollToIndex(0))),t&&l.multiple&&l.delimiters?.length){const C=l.delimiters.map(Qe).join("|"),I=t.split(new RegExp(`(?:${C})+`));if(I.length>1){for(let s of I)s=s.trim(),s&&(j(se(l,s)),await re());K.value=""}}t||(m.value=-1),w.value=!t}}),ce=P(()=>typeof l.counterValue=="function"?l.counterValue(r.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?r.value.length:$.value.length),{filteredItems:i,getMatches:a}=Ol(l,A,()=>w.value?"":$.value),d=P(()=>l.hideSelected?i.value.filter(t=>!r.value.some(C=>C.value===t.value)):i.value),e=P(()=>l.hideNoData&&!d.value.length||W.isReadonly.value||W.isDisabled.value),n=Ve(l,"menu"),E=P({get:()=>n.value,set:t=>{n.value&&!t&&k.value?.ΨopenChildren.size||t&&e.value||(n.value=t)}}),{menuId:ue,ariaExpanded:ae,ariaControls:$e,ariaLabel:ge}=Sl(l,E);te(K,t=>{D?re(()=>D=!1):h.value&&!E.value&&(E.value=!0),g("update:search",t)}),te(r,t=>{!l.multiple&&!B.value&&(K.value=t[0]?.title??"")});const Te=P(()=>r.value.map(t=>t.value)),me=P(()=>(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&$.value===d.value[0]?.title)&&d.value.length>0&&!w.value&&!y.value),fe=q(),Ae=wl(fe,S);function Le(t){D=!0,l.openOnClear&&(E.value=!0)}function Re(){e.value||(E.value=!0)}function De(t){e.value||(h.value&&(t.preventDefault(),t.stopPropagation()),E.value=!E.value)}function Ue(t){(he(t)||t.key==="Backspace")&&S.value?.focus()}function Me(t){if(_e(t)||W.isReadonly.value)return;const C=S.value?.selectionStart,I=r.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"].includes(t.key)&&(E.value=!0),["Escape"].includes(t.key)&&(E.value=!1),["Enter","Escape","Tab"].includes(t.key)&&(me.value&&["Enter","Tab"].includes(t.key)&&!r.value.some(s=>{let{value:v}=s;return v===d.value[0].value})&&j(i.value[0]),w.value=!0),t.key==="ArrowDown"&&me.value&&fe.value?.focus("next"),t.key==="Enter"&&$.value&&(j(se(l,$.value)),B.value&&(K.value="")),["Backspace","Delete"].includes(t.key)){if(!l.multiple&&B.value&&r.value.length>0&&!$.value)return j(r.value[0],!1);if(~m.value){t.preventDefault();const s=m.value;j(r.value[m.value],!1),m.value=s>=I-1?I-2:s}else t.key==="Backspace"&&!$.value&&(m.value=I-1);return}if(l.multiple)if(t.key==="ArrowLeft"){if(m.value<0&&C&&C>0)return;const s=m.value>-1?m.value-1:I-1;r.value[s]?m.value=s:(m.value=-1,S.value?.setSelectionRange($.value.length,$.value.length))}else if(t.key==="ArrowRight"){if(m.value<0)return;const s=m.value+1;r.value[s]?m.value=s:(m.value=-1,S.value?.setSelectionRange(0,0))}else~m.value&&he(t)&&(m.value=-1)}function Oe(){l.eager&&N.value?.calculateVisibleItems()}function Pe(){h.value&&(w.value=!0,S.value?.focus())}function j(t){let C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!t||t.props.disabled))if(l.multiple){const I=r.value.findIndex(v=>(l.valueComparator||ke)(v.value,t.value)),s=C??!~I;if(~I){const v=s?[...r.value,t]:[...r.value];v.splice(I,1),r.value=v}else s&&(r.value=[...r.value,t]);l.clearOnSelect&&($.value="")}else{const I=C!==!1;r.value=I?[t]:[],K.value=I&&!B.value?t.title:"",re(()=>{E.value=!1,w.value=!0})}}function Ne(t){h.value=!0,setTimeout(()=>{y.value=!0})}function Be(t){y.value=!1}function Ke(t){(t==null||t===""&&!l.multiple&&!B.value)&&(r.value=[])}return te(h,(t,C)=>{if(!(t||t===C)&&(m.value=-1,E.value=!1,$.value)){if(l.multiple){j(se(l,$.value));return}if(!B.value)return;r.value.some(I=>{let{title:s}=I;return s===$.value})?K.value="":j(se(l,$.value))}}),te(E,()=>{if(!l.hideSelected&&E.value&&r.value.length){const t=d.value.findIndex(C=>r.value.some(I=>(l.valueComparator||ke)(I.value,C.value)));el&&window.requestAnimationFrame(()=>{t>=0&&N.value?.scrollToIndex(t)})}}),te(A,(t,C)=>{E.value||h.value&&!C.length&&t.length&&(E.value=!0)}),We(()=>{const t=!!(!l.hideNoData||d.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),C=r.value.length>0,I=ee.filterProps(l);return c(ee,X({ref:S},I,{modelValue:$.value,"onUpdate:modelValue":[s=>$.value=s,Ke],focused:h.value,"onUpdate:focused":s=>h.value=s,validationValue:r.externalValue,counterValue:ce.value,dirty:C,class:["v-combobox",{"v-combobox--active-menu":E.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!B.value,"v-combobox--selecting-index":m.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:W.isReadonly.value,placeholder:C?void 0:l.placeholder,"onClick:clear":Le,"onMousedown:control":Re,onKeydown:Me,"aria-expanded":ae.value,"aria-controls":$e.value}),{...o,default:()=>b(le,null,[c(al,X({id:ue.value,ref:k,modelValue:E.value,"onUpdate:modelValue":s=>E.value=s,activator:"parent",contentClass:"v-combobox__content",disabled:e.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:l.transition,onAfterEnter:Oe,onAfterLeave:Pe},l.menuProps),{default:()=>[t&&c(tl,X({ref:fe,filterable:!0,selected:Te.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:s=>s.preventDefault(),selectable:!0,onKeydown:Ue,onFocusin:Ne,onFocusout:Be,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},Ae,l.listProps),{default:()=>[o["prepend-item"]?.(),!d.value.length&&!l.hideNoData&&(o["no-data"]?.()??c(xe,{key:"no-data",title:V(l.noDataText)},null)),c(Tl,{ref:N,renderless:!0,items:d.value,itemKey:"value"},{default:s=>{let{item:v,index:R,itemRef:oe}=s;const ie=X(v.props,{ref:oe,key:v.value,active:me.value&&R===0?!0:void 0,onClick:()=>j(v,null)});return v.type==="divider"?o.divider?.({props:v.raw,index:R})??c(Fe,X(v.props,{key:`divider-${R}`}),null):v.type==="subheader"?o.subheader?.({props:v.raw,index:R})??c(ul,X(v.props,{key:`subheader-${R}`}),null):o.item?.({item:v,index:R,props:ie})??c(xe,X(ie,{role:"option"}),{prepend:ne=>{let{isSelected:U}=ne;return b(le,null,[l.multiple&&!l.hideSelected?c(Cl,{key:v.value,modelValue:U,ripple:!1,tabindex:"-1"},null):void 0,v.props.prependAvatar&&c(il,{image:v.props.prependAvatar},null),v.props.prependIcon&&c(Ce,{icon:v.props.prependIcon},null)])},title:()=>w.value?v.title:Pl("v-combobox",v.title,a(v)?.title)})}}),o["append-item"]?.()]})]}),r.value.map((s,v)=>{function R(U){U.stopPropagation(),U.preventDefault(),j(s,!1)}const oe={"onClick:close":R,onKeydown(U){U.key!=="Enter"&&U.key!==" "||(U.preventDefault(),U.stopPropagation(),R(U))},onMousedown(U){U.preventDefault(),U.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},ie=L.value?!!o.chip:!!o.selection,ne=ie?nl(L.value?o.chip({item:s,index:v,props:oe}):o.selection({item:s,index:v})):void 0;if(!(ie&&!ne))return b("div",{key:s.value,class:ve(["v-combobox__selection",v===m.value&&["v-combobox__selection--selected",Q.value]]),style:sl(v===m.value?G.value:{})},[L.value?o.chip?c(rl,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:s.title}}},{default:()=>[ne]}):c(ol,X({key:"chip",closable:l.closableChips,size:"small",text:s.title,disabled:s.props.disabled},oe),null):ne??b("span",{class:"v-combobox__selection-text"},[s.title,l.multiple&&v<r.value.length-1&&b("span",{class:"v-combobox__selection-comma"},[H(",")])])])})]),"append-inner":function(){for(var s=arguments.length,v=new Array(s),R=0;R<s;R++)v[R]=arguments[R];return b(le,null,[o["append-inner"]?.(...v),(!l.hideNoData||l.items.length)&&l.menuIcon?c(Ce,{class:"v-combobox__menu-icon",color:S.value?.fieldIconColor,icon:l.menuIcon,onMousedown:De,onClick:ll,"aria-label":ge.value,title:ge.value,tabindex:"-1"},null):void 0])}})}),Ze({isFocused:h,isPristine:w,menu:E,search:$,selectionIndex:m,filteredItems:i,select:j},S)}}),Kl={class:"configcolumnleft"},ql={key:0},Gl={key:1},jl={key:2},zl={key:3},Hl={key:4},Jl={key:0,class:"configcolumnright"},Ql=dl({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean}},emits:["submit","action"],setup(l,{emit:f}){const g=vl(),o=f,V=q(),S=q(!1),h=q(),w=q("generic"),y=q(!1),k=q(),N=q({}),m=l,D=P(()=>["generic",...new Set(V.value.map(a=>a.category).filter(a=>!["generic","advanced"].includes(a))),"advanced"]),A=P(()=>{if(V.value){for(const i of V.value)if(i.required&&!(!L(i.value)||!L(i.default_value)||i.type==F.DIVIDER||i.type==F.LABEL||i.type==F.ALERT||i.type==F.ACTION))return!1;return!0}return!1});te(()=>m.configEntries,i=>{V.value=[];for(const a of i||[])a.value!==void 0&&a.value!==null&&(N.value[a.key]=a.value),(a.value==null||a.value==null)&&(a.value=a.default_value),V.value.push(a)},{immediate:!0});const Z=async function(){const{valid:i}=await h.value.validate();return i},J=async function(){await Z()&&o("submit",K())},Q=async function(i){o("action",i,K())},G=function(i){const a=document.createElement("a");a.setAttribute("href",i),a.setAttribute("target","_blank"),a.click()},r=function(i){return V.value.filter(a=>a.category==i&&B(a))},W=function(){g.push(`${g.currentRoute.value.path}/dsp`)},L=function(i){return i==null},B=function(i){if(i.hidden)return!1;if(!L(i.depends_on)){const a=V.value?.find(d=>d.key==i.depends_on);if(a){const d=a.value;if(!L(i.depends_on_value))return d==i.depends_on_value;if(!L(i.depends_on_value_not))return d!=i.depends_on_value_not;if(a.required&&L(a))return!0;if(a.type==F.BOOLEAN&&!d)return!1}}return!0},K=function(){const i={};for(const a of m.configEntries)a.value==null&&(a.value=null),!(a.type==F.SECURE_STRING&&a.value==we)&&(i[a.key]=a.value);return i},$=function(i){if(!i.options)return[];const a=[];for(const d of i.options){let e=d.value?.toString()||"",n=d.title?.toString()||"";for(const ae of["@","$","|"])e.includes(ae)&&(e=e.replaceAll(ae,"")),n.includes(ae)&&(n=n.toString().replaceAll(ae,""));const ue={title:p(`settings.${i.key}.options.${e}`,n),value:d.value};ue.value==i.default_value&&(ue.title+=` [${p("settings.default")}]`),a.push(ue)}return a},ce=function(i){return(p(`settings.${i?.key}.description`,i.description||" ")||i.help_link||" ")?.length>1};return(i,a)=>(x(),z(le,null,[V.value?(x(),M(pl,{key:0,ref_key:"form",ref:h,modelValue:S.value,"onUpdate:modelValue":a[2]||(a[2]=d=>S.value=d),disabled:l.disabled},{default:T(()=>[c(bl,{modelValue:w.value,"onUpdate:modelValue":a[1]||(a[1]=d=>w.value=d),variant:"accordion",multiple:"",flat:""},{default:T(()=>[(x(!0),z(le,null,Se(D.value.filter(d=>r(d).length>0),d=>(x(),M(gl,{key:d,value:d,flat:"",accordion:"",class:"configrowpanel"},{default:T(()=>[c(Vl,null,{default:T(()=>[b("h3",null,O(u(p)("settings.category."+d,d)),1)]),_:2},1024),a[18]||(a[18]=b("br",null,null,-1)),c(kl,null,{default:T(()=>[(x(!0),z(le,null,Se(r(d),e=>(x(),z("div",{key:e.key,class:"configrow"},[b("div",Kl,[e.type==u(F).DIVIDER?(x(),z("div",ql,[a[7]||(a[7]=b("br",null,null,-1)),c(Fe),e.label?(x(),M(xl,{key:0,style:{"margin-left":"8px","margin-top":"10px","margin-bottom":"10px"}},{default:T(()=>[b("b",null,O(e.label),1)]),_:2},1024)):de("",!0),a[8]||(a[8]=b("br",null,null,-1)),a[9]||(a[9]=b("br",null,null,-1))])):e.type==u(F).LABEL?(x(),z("div",Gl,[a[10]||(a[10]=b("br",null,null,-1)),c(Ee,{variant:"outlined",type:"info"},{default:T(()=>[H(O(u(p)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[11]||(a[11]=b("br",null,null,-1)),a[12]||(a[12]=b("br",null,null,-1))])):e.type==u(F).ALERT?(x(),z("div",jl,[a[13]||(a[13]=b("br",null,null,-1)),c(Ee,{density:"compact",type:"warning"},{default:T(()=>[H(O(u(p)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[14]||(a[14]=b("br",null,null,-1)),a[15]||(a[15]=b("br",null,null,-1))])):e.type==u(F).ACTION||e.action&&!e.value?(x(),z("div",zl,[a[16]||(a[16]=b("br",null,null,-1)),c(Y,{class:"actionbutton",disabled:e.read_only,onClick:n=>{Q(e.action||e.key),e.value=e.action?null:e.key}},{default:T(()=>[H(O(u(p)(`settings.${e.action||e.key}.label`,e.action_label||e.label)),1)]),_:2},1032,["disabled","onClick"])])):e.type==u(F).DSP_SETTINGS?(x(),z("div",Hl,[a[17]||(a[17]=b("br",null,null,-1)),H(" "+O(e.value?u(p)("settings.dsp_enabled"):u(p)("settings.dsp_disabled"))+" ",1),c(Y,{class:"actionbutton",onClick:W},{default:T(()=>[H(O(u(p)("open_dsp_settings")),1)]),_:1})])):e.type==u(F).BOOLEAN?(x(),M(El,{key:5,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:u(p)(`settings.${e.key}.label`,e.label),color:"primary",disabled:e.read_only},null,8,["modelValue","onUpdate:modelValue","label","disabled"])):(e.type==u(F).INTEGER||e.type==u(F).FLOAT)&&e.range&&e.range.length==2?(x(),M(Fl,{key:6,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,disabled:e.read_only,label:u(p)(`settings.${e.key}.label`,e.label),required:e.required,class:"align-center",min:e.range[0],max:e.range[1],step:e.type==u(F).FLOAT?.5:1,"hide-details":"",style:{"margin-top":"10px","margin-bottom":"25px"},color:"primary"},{append:T(()=>[c(ee,{modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,"hide-details":"","single-line":"",density:"compact",type:"number",style:{width:"70px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","label","required","min","max","step"])):e.type==u(F).SECURE_STRING?(x(),M(ee,{key:7,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:u(p)(`settings.${e.key}.label`,e.label),required:e.required,disabled:e.read_only,rules:[n=>!(!n&&e.required)||u(p)("settings.invalid_input")],type:y.value?"text":"password","append-inner-icon":y.value?"mdi-eye":typeof e.value=="string"&&e.value.includes(u(we))?"":"mdi-eye-off",variant:"outlined",clearable:"",readonly:!!e.action,"onClick:appendInner":a[0]||(a[0]=n=>y.value=!y.value),"onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","label","required","disabled","rules","type","append-inner-icon","readonly","onClick:clear"])):e.options&&e.options.length>0?(x(),M(Il,{key:8,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,chips:e.multi_value,clearable:!0,multiple:e.multi_value,items:$(e),disabled:e.read_only,label:u(p)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||u(p)("settings.invalid_input")],variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","chips","multiple","items","disabled","label","required","rules","onClick:clear"])):e.type==u(F).INTEGER||e.type==u(F).FLOAT?(x(),M(ee,{key:9,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),disabled:e.read_only,label:u(p)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||u(p)("settings.invalid_input")],variant:"outlined",clearable:!e.required,type:"number","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","clearable","onClick:clear"])):e.type==u(F).ICON?(x(),M(ee,{key:10,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),clearable:"",disabled:e.read_only,label:u(p)(`settings.${e.key}.label`,e.label),"prepend-inner-icon":e.value,variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","prepend-inner-icon","onClick:clear"])):e.type==u(F).STRING&&e.multi_value?(x(),M(Bl,{key:11,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,multiple:"",chips:"",clearable:!0,disabled:e.read_only,label:u(p)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||u(p)("settings.invalid_input")],variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","disabled","label","required","rules","onClick:clear"])):(x(),M(ee,{key:12,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),clearable:"",disabled:e.read_only,label:u(p)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||u(p)("settings.invalid_input")],variant:"outlined",readonly:!!e.action,"onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","readonly","onClick:clear"]))]),ce(e)?(x(),z("div",Jl,[c(Y,{icon:"mdi-help-box",variant:"plain",class:"helpicon",size:"x-large",onClick:n=>u(p)(`settings.${e?.key}.description`,e.description||"")?k.value=e:G(e.help_link)},null,8,["onClick"])])):de("",!0)]))),128))]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),a[19]||(a[19]=b("br",null,null,-1)),c(Y,{block:"",color:"primary",disabled:!A.value,onClick:J},{default:T(()=>[H(O(u(p)("settings.save")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue","disabled"])):de("",!0),a[20]||(a[20]=b("br",null,null,-1)),c(Y,{block:"",onClick:a[3]||(a[3]=d=>u(g).back())},{default:T(()=>[H(O(u(p)("close")),1)]),_:1}),c(Al,{"model-value":k.value!==void 0,width:"auto","onUpdate:modelValue":a[6]||(a[6]=d=>k.value=void 0)},{default:T(()=>[c(cl,null,{default:T(()=>[c(ye,null,{default:T(()=>[b("h2",null,O(u(p)(`settings.${k.value?.key}.label`,k.value?.label||"")),1)]),_:1}),c(ye,{innerHTML:u(ml)(u(p)(`settings.${k.value?.key}.description`,k.value?.description||""))},null,8,["innerHTML"]),c(fl,null,{default:T(()=>[k.value?.help_link?(x(),M(Y,{key:0,onClick:a[4]||(a[4]=d=>G(k.value.help_link))},{default:T(()=>[H(O(u(p)("read_more")),1)]),_:1})):de("",!0),c(Ll),c(Y,{color:"primary",onClick:a[5]||(a[5]=d=>k.value=void 0)},{default:T(()=>[H(O(u(p)("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"])],64))}}),oa=Rl(Ql,[["__scopeId","data-v-878c5a5e"]]);export{oa as E};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as $,i as b,
|
|
1
|
+
import{d as $,i as b,ac as j,c as y,b as s,w as u,bI as x,bl as B,o as m,q as p,e as v,a as r,b3 as T,b4 as f,t as d,u as l,m as a,b5 as c,cg as I,p as C,bJ as O}from"./index-ra7TBoRz.js";import{E as S}from"./EditConfig-BE9KVxcR.js";import{n as D}from"./index.browser-OxPLOBIU.js";import{b as _}from"./VBtn-B-NuY1a5.js";import"./VForm-CylqtGZY.js";import"./VInput-CEXId6XX.js";import"./VExpansionPanels-CVniPvfe.js";import"./VAlert-B1mdsVdb.js";import"./VSwitch-PhUs-I1F.js";import"./VTextField-B-G8xtcN.js";import"./VVirtualScroll-CDzAG2cn.js";import"./VSlider-D6BtFUZc.js";import"./VDialog-CAKjRQF6.js";import"./VSpacer-UUBEbx8b.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const q={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},h=$({__name:"EditCoreConfig",props:{domain:{}},setup(k){const V=O(),t=b(),w=D(11),i=b(!1),M=k;j(()=>M.domain,async n=>{n&&(t.value=await a.getCoreConfig(n))},{immediate:!0});const E=async function(n){i.value=!0,a.saveCoreConfig(t.value.domain,n).then(()=>{i.value=!1,V.push({name:"providersettings"})}).catch(e=>{alert(e),i.value=!1})},N=async function(n,e){i.value=!0;for(const o of Object.values(t.value.values))o.value!==void 0&&e[o.key]==null&&(e[o.key]=o.value);e.session_id=w,a.getCoreConfigEntries(t.value.domain,n,e).then(o=>{t.value.values={};for(const g of o)t.value.values[g.key]=g;i.value=!1}).catch(o=>{alert(o),i.value=!1})};return(n,e)=>(m(),y("section",null,[s(x,null,{default:u(()=>[t.value?(m(),y("div",q,[s(T,null,{default:u(()=>[f(d(n.$t("settings.setup_provider",[l(a).providerManifests[t.value.domain].name])),1)]),_:1}),s(c,null,{default:u(()=>[f(d(l(a).providerManifests[t.value.domain].description),1)]),_:1}),e[3]||(e[3]=r("br",null,null,-1)),l(a).providerManifests[t.value.domain].codeowners.length?(m(),v(c,{key:0},{default:u(()=>[r("b",null,d(n.$t("settings.codeowners"))+": ",1),f(d(l(a).providerManifests[t.value.domain].codeowners.join(" / ")),1)]),_:1})):p("",!0),l(a).providerManifests[t.value.domain].documentation?(m(),v(c,{key:1},{default:u(()=>[r("b",null,d(n.$t("settings.need_help_setup_provider")),1),e[2]||(e[2]=f(" ",-1)),r("a",{onClick:e[0]||(e[0]=o=>l(I)(l(a).providerManifests[t.value.domain].documentation))},d(n.$t("settings.check_docs")),1)]),_:1})):p("",!0),e[4]||(e[4]=r("br",null,null,-1)),s(C),e[5]||(e[5]=r("br",null,null,-1)),e[6]||(e[6]=r("br",null,null,-1))])):p("",!0),s(C),t.value?(m(),v(S,{key:1,"config-entries":Object.values(t.value.values),disabled:!1,onSubmit:E,onAction:N},null,8,["config-entries"])):p("",!0)]),_:1}),s(B,{modelValue:i.value,"onUpdate:modelValue":e[1]||(e[1]=o=>i.value=o),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:u(()=>[s(_,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as I,i as P,m as t,a_ as $,l as
|
|
1
|
+
import{d as I,i as P,m as t,a_ as $,l as L,L as U,bf as g,ch as _,aT as V,ac as w,c,b as d,w as o,bI as M,o as i,q as u,a as s,e as p,u as r,b3 as h,b4 as y,t as n,b5 as f,cg as B,p as E,bJ as N}from"./index-ra7TBoRz.js";import{E as G}from"./EditConfig-BE9KVxcR.js";import{V as O}from"./VTextField-B-G8xtcN.js";import{V as R}from"./VSwitch-PhUs-I1F.js";import"./VForm-CylqtGZY.js";import"./VInput-CEXId6XX.js";import"./VExpansionPanels-CVniPvfe.js";import"./VAlert-B1mdsVdb.js";import"./VBtn-B-NuY1a5.js";import"./VSlider-D6BtFUZc.js";import"./VVirtualScroll-CDzAG2cn.js";import"./VDialog-CAKjRQF6.js";import"./VSpacer-UUBEbx8b.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const q={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},te=I({__name:"EditPlayer",props:{playerId:{}},setup(k){const D=N(),e=P(),m=k,b=P(!1);(async()=>{if(m.playerId)try{b.value=(await t.getDSPConfig(m.playerId)).enabled}catch(a){console.error("Error fetching DSP config:",a)}})();const S=t.subscribe($.PLAYER_DSP_CONFIG_UPDATED,a=>{b.value=a.data.enabled});L(S);const C=U(()=>{if(!e.value)return[];const a=Object.values(e.value.values),l=t.players[e.value.player_id];return l&&l.type!==g.GROUP?a.push({key:"dsp_settings",type:_.DSP_SETTINGS,label:"",default_value:b.value,required:!1,category:"audio"}):l&&l.type===g.GROUP&&l.supported_features.includes(V.MULTI_DEVICE_DSP)?a.push({key:"dsp_note_multi_device_group",type:_.LABEL,label:"You can configure the DSP for each player individually.",default_value:null,required:!1,category:"audio"}):l&&l.type===g.GROUP&&!l.supported_features.includes(V.MULTI_DEVICE_DSP)&&a.push({key:"dsp_note_multi_device_group_not_supported",type:_.LABEL,label:"This group type does not support DSP when playing to multiple devices.",default_value:null,required:!1,category:"audio"}),a});w(()=>m.playerId,async a=>{a&&(e.value=await t.getPlayerConfig(a))},{immediate:!0});const T=async function(a){delete a.dsp_settings,a.enabled=e.value.enabled,a.name=e.value.name||null,t.savePlayerConfig(m.playerId,a),D.push({name:"playersettings"})};return(a,l)=>(i(),c("section",null,[d(M,null,{default:o(()=>[e.value&&r(t).getProviderManifest(e.value.provider).domain in r(t).providerManifests?(i(),c("div",q,[d(h,null,{default:o(()=>[y(n(a.$t("settings.config_player",[e.value.name||r(t).players[e.value.player_id]?.name||e.value.default_name])),1)]),_:1}),d(f,null,{default:o(()=>[s("b",null,n(a.$t("settings.player_id"))+": ",1),y(n(e.value.player_id),1)]),_:1}),d(f,null,{default:o(()=>[s("b",null,n(a.$t("settings.player_provider"))+": ",1),y(n(r(t).getProviderManifest(e.value.provider)?.name)+" ",1),r(t).getProviderManifest(e.value.provider)?.documentation?(i(),c("a",{key:0,onClick:l[0]||(l[0]=v=>r(B)(r(t).getProviderManifest(e.value.provider)?.documentation))}," ["+n(a.$t("settings.check_docs"))+"]",1)):u("",!0)]),_:1}),r(t).players[e.value.player_id]?(i(),p(f,{key:0},{default:o(()=>[s("b",null,n(a.$t("settings.player_model"))+": ",1),y(n(r(t).players[e.value.player_id].device_info.manufacturer)+" / "+n(r(t).players[e.value.player_id].device_info.model),1)]),_:1})):u("",!0),r(t).players[e.value.player_id]?.device_info.ip_address?(i(),p(f,{key:1},{default:o(()=>[s("b",null,n(a.$t("settings.player_address"))+": ",1),y(n(r(t).players[e.value.player_id].device_info.ip_address),1)]),_:1})):u("",!0),r(t).players[e.value.player_id]?(i(),p(f,{key:2},{default:o(()=>[s("b",null,n(a.$t("settings.player_type_label"))+": ",1),y(n(a.$t(`player_type.${r(t).players[e.value.player_id].type}`)),1)]),_:1})):u("",!0),l[3]||(l[3]=s("br",null,null,-1)),d(E),l[4]||(l[4]=s("br",null,null,-1)),l[5]||(l[5]=s("br",null,null,-1)),"name"in e.value?(i(),p(O,{key:3,modelValue:e.value.name,"onUpdate:modelValue":l[1]||(l[1]=v=>e.value.name=v),placeholder:e.value?.name,label:a.$t("settings.player_name"),variant:"outlined",clearable:"",class:"configcolumnleft",style:{"margin-right":"25px"}},null,8,["modelValue","placeholder","label"])):u("",!0),"enabled"in e.value?(i(),p(R,{key:4,modelValue:e.value.enabled,"onUpdate:modelValue":l[2]||(l[2]=v=>e.value.enabled=v),label:a.$t("settings.enable_player"),color:"primary",disabled:r(t).getProviderManifest(e.value.provider)?.builtin},null,8,["modelValue","label","disabled"])):u("",!0)])):u("",!0),l[6]||(l[6]=s("br",null,null,-1)),d(E),e.value?(i(),p(G,{key:1,disabled:!e.value.enabled,"config-entries":C.value,onSubmit:T},null,8,["disabled","config-entries"])):u("",!0)]),_:1})]))}});export{te as default};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{x as Fe,y as qe,ck as il,W as Be,Z as ol,Y as rl,C as De,a as z,D as ie,E as Q,b as l,g as K,aG as ul,a7 as Qe,cl as Ke,a6 as Ye,I as we,cb as Xe,z as dl,ac as ml,i as U,ad as le,a4 as he,G as Je,H as pl,O as vl,X as cl,Q as fl,a3 as gl,a1 as ee,N as j,R as yl,a8 as _l,aN as hl,d as ge,T as Oe,e as $,o as c,w as a,c as pe,bI as ae,b4 as f,t as A,F as fe,r as Ee,b0 as Ze,k as bl,bA as Vl,bB as Ie,$ as O,n as te,cm as L,cn as F,ar as Cl,j as Le,q as W,u as h,br as kl,bs as Se,co as Sl,ao as Pe,bw as Pl,cp as ne,av as Ll,b9 as $l,m as se,a_ as He,l as Tl,aW as Al,h as Fl,f as Ue,V as ze,aA as ql,b3 as Ne,bC as xe,bJ as Dl}from"./index-BLuBzgcR.js";import{a as B}from"./VBtn-i8gedOhv.js";import{_ as el}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as wl}from"./VSlider-bRJnej6Z.js";import{V as ll}from"./VTextField-BRzkPyuL.js";import{V as tl}from"./VContainer-DOe7JF0h.js";import{a as be,V as $e}from"./VSwitch-D4nwfxN1.js";import{V as al,a as Te}from"./VRow-Dw7kUaJt.js";import{V as Ae}from"./VSpacer-FdmIBMIx.js";import{V as We,a as Ge}from"./VToolbar-BFOvSQM-.js";import{V as je}from"./VDialog-CUNnqGJy.js";import{V as Ol}from"./VAlert-Du-laR0E.js";import"./VInput-S8c2HXsf.js";/* empty css */import"./VVirtualScroll-JP5E3DQw.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"},Wl=ge({__name:"DSPParametricEQ",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const S={PK:L.PEAK,PEQ:L.PEAK,HP:L.HIGH_PASS,HPQ:L.HIGH_PASS,LP:L.LOW_PASS,LPQ:L.LOW_PASS,LS:L.LOW_SHELF,HS:L.HIGH_SHELF,NO:L.NOTCH},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(()=>{
|
|
1
|
+
import{x as Fe,y as qe,ck as il,U as Be,Y as ol,X as rl,C as De,a as z,D as ie,E as Q,b as l,g as K,aF as ul,a6 as Qe,cl as Ke,a5 as Ye,I as we,cb as Xe,z as dl,ab as ml,i as U,ac as le,a3 as he,G as Je,H as pl,N as vl,W as cl,O as fl,a2 as gl,a0 as ee,L as G,Q as yl,a7 as _l,aM as hl,d as ge,S as Oe,e as $,o as c,w as a,c as pe,bI as ae,b4 as f,t as A,F as fe,r as Ee,b0 as Ze,k as bl,bA as Vl,bB as Ie,$ as O,n as te,cm as L,cn as F,aq as Cl,j as Le,q as W,u as h,br as kl,bs as Se,co as Sl,an as Pe,bw as Pl,cp as ne,au as Ll,b9 as $l,m as se,a_ as He,l as Tl,aV as Al,h as Fl,f as Ue,V as ze,az as ql,b3 as xe,bC as Ne,bJ as Dl}from"./index-ra7TBoRz.js";import{a as B}from"./VBtn-B-NuY1a5.js";import{_ as el}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as wl}from"./VSlider-D6BtFUZc.js";import{V as ll}from"./VTextField-B-G8xtcN.js";import{V as tl}from"./VContainer-ClfgbbFl.js";import{a as be,V as $e}from"./VSwitch-PhUs-I1F.js";import{V as al,a as Te}from"./VRow-BrSA74tY.js";import{V as Ae}from"./VSpacer-UUBEbx8b.js";import{V as We,a as je}from"./VToolbar-DA4cqAVo.js";import{V as Ge}from"./VDialog-CAKjRQF6.js";import{V as Ol}from"./VAlert-B1mdsVdb.js";import"./VInput-CEXId6XX.js";/* empty css */import"./VVirtualScroll-CDzAG2cn.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:x,backgroundColorStyles:u}=Be(()=>t.lineColor);return De(()=>z("div",{class:Q(["v-timeline-divider",{"v-timeline-divider--fill-dot":t.fillDot},t.class]),style:ie(t.style)},[z("div",{class:Q(["v-timeline-divider__before",x.value]),style:ie(u.value)},null),!t.hideDot&&z("div",{key:"dot",class:Q(["v-timeline-divider__dot",w.value,H.value,g.value]),style:ie(s.value)},[z("div",{class:Q(["v-timeline-divider__inner-dot",m.value,H.value]),style:ie(D.value)},[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",x.value]),style:ie(u.value)},null)])),{}}}),nl=qe({density:String,dotColor:String,fillDot:Boolean,hideDot:Boolean,hideOpposite:{type:Boolean,default:void 0},icon:Xe,iconColor:String,lineInset:[Number,String],side:{type:String,validator:t=>t==null||["start","end"].includes(t)},...we(),...pl(),...Qe(),...Ye(),...Ke(),...Je()},"VTimelineItem"),me=Fe()({name:"VTimelineItem",props:nl(),setup(t,S){let{slots: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=G(()=>{const w=t.side?t.side:t.density!=="default"?"end":null;return w&&`v-timeline--side-${w}`}),H=G(()=>{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}),x=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=>x("input"))},{default:a(()=>[l(B,{flat:"",rounded:"pill",color:H("input"),class:Q([w("input"),"dsp-pipeline-card"])},{default:a(()=>[l(ae,{class:"px-3 py-1"},{default:a(()=>[f(A(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=>x(I),onContextmenu:Ze(oe=>M(oe,I),["prevent"])},{default:a(()=>[l(B,{flat:"",rounded:"pill",color:H(I),class:Q([w(I),"dsp-pipeline-card"])},{default:a(()=>[l(ae,{class:"px-3 py-1"},{default:a(()=>[f(A(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=>x("output"))},{default:a(()=>[l(B,{flat:"",rounded:"pill",color:H("output"),class:Q([w("output"),"dsp-pipeline-card"])},{default:a(()=>[l(ae,{class:"px-3 py-1"},{default:a(()=>[f(A(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=G(()=>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=G({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=G({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=G(()=>s.value.is_log?Math.log10(s.value.max):s.value.max),w=G(()=>s.value.is_log?Math.log10(s.value.min):s.value.min),x=G(()=>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:x.value,"hide-details":"",class:"flex-grow-1 pr-4",density:"compact",color:"primary"},null,8,["modelValue","min","max","step"]),l(ll,{modelValue:D.value,"onUpdate:modelValue":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}))}}),xl={class:"d-flex flex-wrap justify-end align-center ga-2 pr-2"},Nl={class:"d-flex align-center pl-1"},Wl=ge({__name:"DSPParametricEQ",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const S={PK:L.PEAK,PEQ:L.PEAK,HP:L.HIGH_PASS,HPQ:L.HIGH_PASS,LP:L.LOW_PASS,LPQ:L.LOW_PASS,LS:L.LOW_SHELF,HS:L.HIGH_SHELF,NO:L.NOTCH},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(()=>{j.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
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
4
|
# ${y}
|
|
5
5
|
`,n+=`Channel: ${C===F.FL?"L":"R"}
|
|
6
6
|
`,u.value.per_channel_preamp[C]!==void 0&&(n+=`Preamp: ${u.value.per_channel_preamp[C].toFixed(2)} dB
|
|
7
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
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===G.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),G=U(-1),R=U(F.ALL),x=j(()=>u.value.bands[G.value]),ve=j({get:()=>u.value.preamp??0,set:n=>{u.value.preamp=n}}),_e=j({get:()=>u.value.per_channel_preamp[R.value]??0,set:n=>{R.value!==F.ALL&&(u.value.per_channel_preamp[R.value]=n)}}),de=n=>{u.value.bands.splice(n,1),G.value>=u.value.bands.length&&Pe(()=>{G.value=u.value.bands.length-1})},Ve=()=>{const n=u.value.bands.length;u.value.bands.push({frequency:1e3,q:1,gain:0,type:L.PEAK,enabled:!0,channel:R.value}),Pe(()=>{G.value=n})};le(()=>u.value.preamp,I),le(()=>u.value.per_channel_preamp,I,{deep:!0}),le(()=>(G.value,u.value.bands),()=>{G.value>=u.value.bands.length&&(G.value=u.value.bands.length-1),I()},{deep:!0}),le(()=>R.value,I),le(()=>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:G.value,"onUpdate:modelValue":e[2]||(e[2]=o=>G.value=o),class:"mb-0 pa-2",mandatory:"","selected-class":"primary"},{default:a(()=>[(c(),$(Se,{key:-1,value:-1,filter:"",variant:"elevated"},{default:a(()=>[f(A(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}),G.value===-1?(c(),$(te,{key:0,elevation:"0",color:"transparent"},{default:a(()=>[l(ae,null,{default:a(()=>[l(al,{dense:""},{default:a(()=>[l(Te,{cols:"12"},{default:a(()=>[l(J,{modelValue:ve.value,"onUpdate:modelValue":e[3]||(e[3]=o=>ve.value=o),type:"gain"},null,8,["modelValue"]),R.value!==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"])):W("",!0)]),_:1})]),_:1})]),_:1})]),_:1})):W("",!0),x.value?(c(),pe(fe,{key:1},[l(Sl,null,{default:a(()=>[z("div",xl,[l($e,{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(Ae),l(B,{color:"error",variant:"tonal",onClick:e[6]||(e[6]=o=>de(G.value))},{default:a(()=>[l(K,null,{default:a(()=>[...e[15]||(e[15]=[f("mdi-delete",-1)])]),_:1}),f(" "+A(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"])):W("",!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"])):W("",!0)],64)):W("",!0)]),_:1}))}}),Gl=el(Wl,[["__scopeId","data-v-ac29d681"]]),jl=ge({__name:"DSPToneControl",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const S=Ie(t,"modelValue");return(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"},pt=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)},G=async i=>{!i||!i.config||(m.value="input",s.value=i.config)},R=async()=>{if(!s.value||!u.value.trim())return;const i={name:u.value.trim(),config:s.value};try{await se.saveDSPPreset(i),u.value="",w.value=!1}catch(r){console.error("Failed to save DSP preset:",r)}},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($e,{modelValue:s.value.enabled,"onUpdate:modelValue":r[0]||(r[0]=p=>s.value.enabled=p),"hide-details":"",color:"primary",class:"pl-4"},null,8,["modelValue"]),l(Ge,null,{default:a(()=>[f(A(i.$t("settings.dsp.configure_on",{name:ve.value})),1)]),_:1}),l(Al,{"offset-y":"",transition:"slide-y-transition"},{activator:a(({props:p})=>[l(B,ql(p,{class:["mr-4",q()]}),{default:a(()=>[l(K,{class:"p-0 ms-md-n1 me-md-2"},{default:a(()=>[...r[19]||(r[19]=[f(" mdi-tray-arrow-down ",-1)])]),_:1}),z("span",Kl,A(i.$t("settings.dsp.presets.load")),1)]),_:1},16,["class"])]),default:a(()=>[l(Fl,null,{default:a(()=>[D.value.length===0?(c(),$(ze,{key:0},{default:a(()=>[l(Ue,null,{default:a(()=>[f(A(i.$t("settings.dsp.presets.empty_warning")),1)]),_:1})]),_:1})):(c(!0),pe(fe,{key:1},Ee(D.value,p=>(c(),$(ze,{key:p.preset_id,onClick:ce=>G(p)},{append:a(()=>[l(B,{icon:"mdi-delete",variant:"text",density:"compact",onClick:Ze(ce=>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?W("",!0):(c(),$(Ol,{key:0,type:"info",class:"mt-4",color:"transparent"},{default:a(()=>[f(A(i.$t("settings.dsp.disabled_message")),1)]),_:1})),l(al,{class:Q([{"justify-center":h(k)},"flex-nowrap"])},{default:a(()=>[!h(k)||m.value===null?(c(),$(Te,{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"])):W("",!0),m.value!=null?(c(),$(Te,{key:1,style:{"min-width":"0"}},{default:a(()=>[l(We,{density:"compact",color:i.$vuetify.theme.current.dark?"surface":"surface-light",class:"border-b"},{default:a(()=>[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})):W("",!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})):W("",!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})):W("",!0),typeof m.value=="number"?(c(),$($e,{key:3,modelValue:s.value.filters[m.value].enabled,"onUpdate:modelValue":r[7]||(r[7]=p=>s.value.filters[m.value].enabled=p),"hide-details":"",color:"primary",class:"mr-4"},null,8,["modelValue"])):W("",!0),typeof m.value=="number"?(c(),$(B,{key:4,icon:"",onClick:r[8]||(r[8]=p=>ue(m.value))},{default:a(()=>[l(K,null,{default:a(()=>[...r[24]||(r[24]=[f("mdi-delete",-1)])]),_:1})]),_:1})):W("",!0)]),_:1},8,["color"]),m.value==="input"?(c(),$(te,{key:0,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(J,{modelValue:s.value.input_gain,"onUpdate:modelValue":r[9]||(r[9]=p=>s.value.input_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):m.value==="output"?(c(),$(te,{key:1,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(J,{modelValue:s.value.output_gain,"onUpdate:modelValue":r[10]||(r[10]=p=>s.value.output_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):(c(),$(te,{key:2,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[s.value.filters[m.value].type===h(ne).PARAMETRIC_EQ?(c(),$(Gl,{key:0,modelValue:s.value.filters[m.value],"onUpdate:modelValue":r[11]||(r[11]=p=>s.value.filters[m.value]=p)},null,8,["modelValue"])):W("",!0),s.value.filters[m.value].type===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"])):W("",!0)]),_:1},8,["color"]))]),_:1})):W("",!0)]),_:1},8,["class"])]),_:1}),l(je,{modelValue:w.value,"onUpdate:modelValue":r[15]||(r[15]=p=>w.value=p),"max-width":"300"},{default:a(()=>[l(te,null,{default:a(()=>[l(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(Ae),l(B,{onClick:r[14]||(r[14]=p=>w.value=!1)},{default:a(()=>[f(A(i.$t("cancel")),1)]),_:1}),l(B,{color:"primary",disabled:!u.value.trim(),onClick:R},{default:a(()=>[f(A(i.$t("settings.dsp.presets.save")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(je,{modelValue:H.value,"onUpdate:modelValue":r[18]||(r[18]=p=>H.value=p),"max-width":"300"},{default:a(()=>[l(te,null,{default:a(()=>[l(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(Ae),l(B,{onClick:r[17]||(r[17]=p=>H.value=!1)},{default:a(()=>[f(A(i.$t("cancel")),1)]),_:1}),l(B,{color:"primary",onClick:ye},{default:a(()=>[f(A(i.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])):W("",!0)}});export{pt as default};
|
|
9
|
+
`});const e=new Blob([n],{type:"text/plain"}),o=URL.createObjectURL(e),P=document.createElement("a");P.href=o,P.download=`music_assistant_eq_settings_${new Date().toISOString().split("T")[0]}.txt`,document.body.appendChild(P),P.click(),document.body.removeChild(P),URL.revokeObjectURL(o)},x=Oe(),u=Ie(t,"modelValue"),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=x.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===j.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;G(()=>u.value.bands.map(n=>oe(ye,n)));const re=G(()=>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),j=U(-1),R=U(F.ALL),N=G(()=>u.value.bands[j.value]),ve=G({get:()=>u.value.preamp??0,set:n=>{u.value.preamp=n}}),_e=G({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),j.value>=u.value.bands.length&&Pe(()=>{j.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(()=>{j.value=n})};le(()=>u.value.preamp,I),le(()=>u.value.per_channel_preamp,I,{deep:!0}),le(()=>(j.value,u.value.bands),()=>{j.value>=u.value.bands.length&&(j.value=u.value.bands.length-1),I()},{deep:!0}),le(()=>R.value,I),le(()=>x.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;x.global.current.value.dark?(n.fillStyle="#eee",n.strokeStyle="#eee"):(n.fillStyle="#222",n.strokeStyle="#666"),n.lineWidth=1,[20,50,100,200,500,1e3,2e3,5e3,1e4,2e4].forEach(v=>{const _=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",xl,[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:j.value,"onUpdate:modelValue":e[2]||(e[2]=o=>j.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}),j.value===-1?(c(),$(te,{key:0,elevation:"0",color:"transparent"},{default:a(()=>[l(ae,null,{default:a(()=>[l(al,{dense:""},{default:a(()=>[l(Te,{cols:"12"},{default:a(()=>[l(J,{modelValue:ve.value,"onUpdate:modelValue":e[3]||(e[3]=o=>ve.value=o),type:"gain"},null,8,["modelValue"]),R.value!==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"])):W("",!0)]),_:1})]),_:1})]),_:1})]),_:1})):W("",!0),N.value?(c(),pe(fe,{key:1},[l(Sl,null,{default:a(()=>[z("div",Nl,[l($e,{modelValue:N.value.enabled,"onUpdate:modelValue":e[5]||(e[5]=o=>N.value.enabled=o),label:h(O)("settings.dsp.parametric_eq.enable_band"),density:"comfortable","hide-details":"",color:"primary"},null,8,["modelValue","label"]),l(Ae),l(B,{color:"error",variant:"tonal",onClick:e[6]||(e[6]=o=>de(j.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:N.value.type,"onUpdate:modelValue":e[7]||(e[7]=o=>N.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:N.value.frequency,"onUpdate:modelValue":e[8]||(e[8]=o=>N.value.frequency=o),type:"frequency"},null,8,["modelValue"]),E(N.value.type)?(c(),$(J,{key:0,modelValue:N.value.gain,"onUpdate:modelValue":e[9]||(e[9]=o=>N.value.gain=o),type:"gain"},null,8,["modelValue"])):W("",!0),l(J,{modelValue:N.value.q,"onUpdate:modelValue":e[10]||(e[10]=o=>N.value.q=o),type:"q"},null,8,["modelValue"]),ue.value?(c(),$(be,{key:1,modelValue:N.value.channel,"onUpdate:modelValue":e[11]||(e[11]=o=>N.value.channel=o),items:h(g),label:h(O)("settings.dsp.parametric_eq.channel"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"])):W("",!0)],64)):W("",!0)]),_:1}))}}),jl=el(Wl,[["__scopeId","data-v-ac29d681"]]),Gl=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"},pt=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),x=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(x.value){case ne.PARAMETRIC_EQ:i={preamp:0,per_channel_preamp:{},enabled:!0,type:ne.PARAMETRIC_EQ,bands:[]};break;case ne.TONE_CONTROL:i={enabled:!0,type:ne.TONE_CONTROL,bass_level:0,mid_level:0,treble_level:0};break;default:return}s.value.filters.push(i),H.value=!1,I(s.value.filters.length-1)},re=(i,r)=>{if(!s.value)return;const p=r==="up"?i-1:i+1;if(p<0||p>=s.value.filters.length)return;const[ce]=s.value.filters.splice(i,1);s.value.filters.splice(p,0,ce),m.value===i?m.value=p:m.value===p&&(m.value=i)},ue=i=>{m.value===i&&(m.value="input"),s.value?.filters.splice(i,1)},j=async i=>{!i||!i.config||(m.value="input",s.value=i.config)},R=async()=>{if(!s.value||!u.value.trim())return;const i={name:u.value.trim(),config:s.value};try{await se.saveDSPPreset(i),u.value="",w.value=!1}catch(r){console.error("Failed to save DSP preset:",r)}},N=async i=>{!i||!confirm(S("settings.dsp.presets.remove_confirm"))||(await se.removeDSPPreset(i),D.value=D.value.filter(r=>r.preset_id!==i))};le(k,i=>{!i&&m.value===null&&I("input")},{immediate:!0});const ve=G(()=>$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($e,{modelValue:s.value.enabled,"onUpdate:modelValue":r[0]||(r[0]=p=>s.value.enabled=p),"hide-details":"",color:"primary",class:"pl-4"},null,8,["modelValue"]),l(je,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=>j(p)},{append:a(()=>[l(B,{icon:"mdi-delete",variant:"text",density:"compact",onClick:Ze(ce=>N(p.preset_id),["stop"])},null,8,["onClick"])]),default:a(()=>[l(Ue,null,{default:a(()=>[f(A(p.name),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1}),l(B,{class:Q(q()),onClick:r[1]||(r[1]=p=>w.value=!0)},{default:a(()=>[l(K,{class:"p-0 ms-md-n1 me-md-2"},{default:a(()=>[...r[20]||(r[20]=[f(" mdi-content-save ",-1)])]),_:1}),z("span",Yl,A(i.$t("settings.dsp.presets.save")),1)]),_:1},8,["class"])]),_:1}),l(tl,{class:"pa-4"},{default:a(()=>[s.value.enabled?W("",!0):(c(),$(Ol,{key:0,type:"info",class:"mt-4",color:"transparent"},{default:a(()=>[f(A(i.$t("settings.dsp.disabled_message")),1)]),_:1})),l(al,{class:Q([{"justify-center":h(k)},"flex-nowrap"])},{default:a(()=>[!h(k)||m.value===null?(c(),$(Te,{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"])):W("",!0),m.value!=null?(c(),$(Te,{key:1,style:{"min-width":"0"}},{default:a(()=>[l(We,{density:"compact",color:i.$vuetify.theme.current.dark?"surface":"surface-light",class:"border-b"},{default:a(()=>[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})):W("",!0),l(je,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})):W("",!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})):W("",!0),typeof m.value=="number"?(c(),$($e,{key:3,modelValue:s.value.filters[m.value].enabled,"onUpdate:modelValue":r[7]||(r[7]=p=>s.value.filters[m.value].enabled=p),"hide-details":"",color:"primary",class:"mr-4"},null,8,["modelValue"])):W("",!0),typeof m.value=="number"?(c(),$(B,{key:4,icon:"",onClick:r[8]||(r[8]=p=>ue(m.value))},{default:a(()=>[l(K,null,{default:a(()=>[...r[24]||(r[24]=[f("mdi-delete",-1)])]),_:1})]),_:1})):W("",!0)]),_:1},8,["color"]),m.value==="input"?(c(),$(te,{key:0,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(J,{modelValue:s.value.input_gain,"onUpdate:modelValue":r[9]||(r[9]=p=>s.value.input_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):m.value==="output"?(c(),$(te,{key:1,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(J,{modelValue:s.value.output_gain,"onUpdate:modelValue":r[10]||(r[10]=p=>s.value.output_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):(c(),$(te,{key:2,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[s.value.filters[m.value].type===h(ne).PARAMETRIC_EQ?(c(),$(jl,{key:0,modelValue:s.value.filters[m.value],"onUpdate:modelValue":r[11]||(r[11]=p=>s.value.filters[m.value]=p)},null,8,["modelValue"])):W("",!0),s.value.filters[m.value].type===h(ne).TONE_CONTROL?(c(),$(Gl,{key:1,modelValue:s.value.filters[m.value],"onUpdate:modelValue":r[12]||(r[12]=p=>s.value.filters[m.value]=p)},null,8,["modelValue"])):W("",!0)]),_:1},8,["color"]))]),_:1})):W("",!0)]),_:1},8,["class"])]),_:1}),l(Ge,{modelValue:w.value,"onUpdate:modelValue":r[15]||(r[15]=p=>w.value=p),"max-width":"300"},{default:a(()=>[l(te,null,{default:a(()=>[l(xe,null,{default:a(()=>[f(A(i.$t("settings.dsp.presets.save")),1)]),_:1}),l(ae,null,{default:a(()=>[l(ll,{modelValue:u.value,"onUpdate:modelValue":r[13]||(r[13]=p=>u.value=p),label:i.$t("settings.dsp.presets.name"),placeholder:i.$t("settings.dsp.presets.name_placeholder"),variant:"outlined"},null,8,["modelValue","label","placeholder"])]),_:1}),l(Ne,null,{default:a(()=>[l(Ae),l(B,{onClick:r[14]||(r[14]=p=>w.value=!1)},{default:a(()=>[f(A(i.$t("cancel")),1)]),_:1}),l(B,{color:"primary",disabled:!u.value.trim(),onClick:R},{default:a(()=>[f(A(i.$t("settings.dsp.presets.save")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(Ge,{modelValue:H.value,"onUpdate:modelValue":r[18]||(r[18]=p=>H.value=p),"max-width":"300"},{default:a(()=>[l(te,null,{default:a(()=>[l(xe,null,{default:a(()=>[f(A(i.$t("settings.dsp.filter.add")),1)]),_:1}),l(ae,null,{default:a(()=>[l(be,{modelValue:x.value,"onUpdate:modelValue":r[16]||(r[16]=p=>x.value=p),items:h(E),label:i.$t("settings.dsp.filter.type")},null,8,["modelValue","items","label"])]),_:1}),l(Ne,null,{default:a(()=>[l(Ae),l(B,{onClick:r[17]||(r[17]=p=>H.value=!1)},{default:a(()=>[f(A(i.$t("cancel")),1)]),_:1}),l(B,{color:"primary",onClick:ye},{default:a(()=>[f(A(i.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])):W("",!0)}});export{pt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as I,i as g,j as B,m as l,a_ as S,l as _,
|
|
1
|
+
import{d as I,i as g,j as B,m as l,a_ as S,l as _,ac as j,c as k,b as s,w as r,bI as N,bl as P,o as u,q as v,e as d,u as o,a as m,b3 as w,b4 as f,t as c,b5 as y,bE as U,cg as H,p as C,bC as L,n as O,bw as x,bJ as D}from"./index-ra7TBoRz.js";import{E as q}from"./EditConfig-BE9KVxcR.js";import{n as z}from"./index.browser-OxPLOBIU.js";import{V as F}from"./VTextField-B-G8xtcN.js";import{V as J}from"./VSwitch-PhUs-I1F.js";import{a as R,b as G}from"./VBtn-B-NuY1a5.js";import"./VForm-CylqtGZY.js";import"./VInput-CEXId6XX.js";import"./VExpansionPanels-CVniPvfe.js";import"./VAlert-B1mdsVdb.js";import"./VSlider-D6BtFUZc.js";import"./VVirtualScroll-CDzAG2cn.js";import"./VDialog-CAKjRQF6.js";import"./VSpacer-UUBEbx8b.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const K={key:0},Q={id:"auth",href:"",target:"_blank"},pe=I({__name:"EditProvider",props:{instanceId:{}},setup(h){const M=D(),t=g(),V=z(11),p=g(!1),b=g(!1),T=h;B(()=>{const n=l.subscribe(S.AUTH_SESSION,e=>{if(e.object_id!==V)return;const a=e.data;b.value=!0,window.setTimeout(()=>{const i=document.getElementById("auth");i.setAttribute("href",a),i.click()},100)});_(n)}),j(()=>T.instanceId,async n=>{n&&(t.value=await l.getProviderConfig(n))},{immediate:!0});const A=async function(n){p.value=!0,n.enabled=t.value.enabled,n.name=t.value.name||null,l.saveProviderConfig(t.value.domain,n,t.value.instance_id).then(()=>{M.push({name:"providersettings"})}).catch(e=>{alert(e)}).finally(()=>{p.value=!1,b.value=!1})},E=async function(n,e){p.value=!0;for(const a of Object.values(t.value.values))a.value!==void 0&&e[a.key]==null&&(e[a.key]=a.value);e.session_id=V,l.getProviderConfigEntries(t.value.domain,t.value.instance_id,n,e).then(a=>{t.value.values={};for(const i of a)t.value.values[i.key]=i}).catch(a=>{alert(a)}).finally(()=>{p.value=!1,b.value=!1})},$=function(n){const e=[],{t:a}=x();for(const i of n)i.includes("@")?e.push(`[${i.replace("@","")}](https://github.com/${i.replace("@","")})`):e.push(i);return`**${a("settings.codeowners")}**: `+e.join(" / ")};return(n,e)=>(u(),k("section",null,[s(N,null,{default:r(()=>[t.value&&o(l).providerManifests[t.value.domain]?(u(),k("div",K,[s(w,null,{default:r(()=>[f(c(n.$t("settings.setup_provider",[o(l).providerManifests[t.value.domain].name])),1)]),_:1}),s(y,{style:{"white-space":"normal"}},{default:r(()=>[f(c(o(l).providerManifests[t.value.domain].description),1)]),_:1}),e[5]||(e[5]=m("br",null,null,-1)),o(l).providerManifests[t.value.domain].codeowners.length?(u(),d(y,{key:0,innerHTML:o(U)($(o(l).providerManifests[t.value.domain].codeowners))},null,8,["innerHTML"])):v("",!0),o(l).providerManifests[t.value.domain].documentation?(u(),d(y,{key:1},{default:r(()=>[m("b",null,c(n.$t("settings.need_help_setup_provider")),1),e[4]||(e[4]=f(" ",-1)),m("a",{onClick:e[0]||(e[0]=a=>o(H)(o(l).providerManifests[t.value.domain].documentation))},c(n.$t("settings.check_docs")),1)]),_:1})):v("",!0),e[6]||(e[6]=m("br",null,null,-1)),s(C),e[7]||(e[7]=m("br",null,null,-1)),e[8]||(e[8]=m("br",null,null,-1)),"name"in t.value?(u(),d(F,{key:2,modelValue:t.value.name,"onUpdate:modelValue":e[1]||(e[1]=a=>t.value.name=a),placeholder:o(l).getProvider(t.value.instance_id)?.name,label:n.$t("settings.provider_name"),variant:"outlined",clearable:""},null,8,["modelValue","placeholder","label"])):v("",!0),"enabled"in t.value?(u(),d(J,{key:3,modelValue:t.value.enabled,"onUpdate:modelValue":e[2]||(e[2]=a=>t.value.enabled=a),label:n.$t("settings.enable_provider"),color:"primary",disabled:!o(l).providerManifests[t.value.domain]?.allow_disable},null,8,["modelValue","label","disabled"])):v("",!0)])):v("",!0),s(C),t.value?(u(),d(q,{key:1,"config-entries":Object.values(t.value.values),disabled:!t.value.enabled,onSubmit:A,onAction:E},null,8,["config-entries","disabled"])):v("",!0)]),_:1}),s(P,{modelValue:p.value,"onUpdate:modelValue":e[3]||(e[3]=a=>p.value=a),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:r(()=>[b.value?(u(),d(O,{key:0,style:{"background-color":"white"}},{default:r(()=>[s(w,null,{default:r(()=>[...e[9]||(e[9]=[f("Authenticating...",-1)])]),_:1}),s(y,null,{default:r(()=>[...e[10]||(e[10]=[f("A new tab/popup should be opened where you can authenticate",-1)])]),_:1}),s(L,null,{default:r(()=>[m("a",Q,[s(R,null,{default:r(()=>[...e[11]||(e[11]=[f("Click here if the popup did not open",-1)])]),_:1})])]),_:1})]),_:1})):(u(),d(G,{key:1,indeterminate:"",size:"64",color:"primary"}))]),_:1},8,["modelValue"])]))}});export{pe as default};
|