music-assistant-frontend 2.17.11__py3-none-any.whl → 2.17.15__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/CNAME +1 -0
- music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-DG4jP955.js +1 -0
- music_assistant_frontend/assets/AddPlayerGroup-Bwk7pmNx.js +1 -0
- music_assistant_frontend/assets/AddProviderDetails-9el-oexz.js +1 -0
- music_assistant_frontend/assets/AlbumDetails-BxtRl2YX.js +1 -0
- music_assistant_frontend/assets/ArtistDetails-C15MPi-J.js +1 -0
- music_assistant_frontend/assets/AudiobookDetails-BtzViAS0.js +1 -0
- music_assistant_frontend/assets/BrowseView-DwddahrD.js +1 -0
- music_assistant_frontend/assets/Button-Da2w4xZe.js +1 -0
- music_assistant_frontend/assets/Container-vEyxubcK.js +1 -0
- music_assistant_frontend/assets/CoreConfigs-D3Lk-7JE.js +1 -0
- music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-C6YdwidI.js +1 -0
- music_assistant_frontend/assets/Default-Br-juh2E.js +21 -0
- music_assistant_frontend/assets/Default-C8ExxF7E.css +1 -0
- music_assistant_frontend/assets/EditConfig-BnGkC7Dx.js +1 -0
- music_assistant_frontend/assets/EditCoreConfig-CnIejyq9.js +1 -0
- music_assistant_frontend/assets/EditPlayer-DWbeXaJ5.js +1 -0
- music_assistant_frontend/assets/EditPlayerDsp-BFHS-0i1.js +9 -0
- music_assistant_frontend/assets/EditProvider-DaVXHsTj.js +1 -0
- music_assistant_frontend/assets/FrontendConfig-eR1Z1zGd.js +1 -0
- music_assistant_frontend/assets/HomeView-Dn-M1jTz.js +1 -0
- music_assistant_frontend/assets/ItemsListing-DsCHQduO.js +1 -0
- music_assistant_frontend/assets/ItemsListing-qc86ZllS.css +1 -0
- music_assistant_frontend/assets/LibraryAlbums-CHYwiQaW.js +1 -0
- music_assistant_frontend/assets/LibraryArtists-BdcWa4H2.js +1 -0
- music_assistant_frontend/assets/LibraryAudiobooks-DC0SIBx-.js +1 -0
- music_assistant_frontend/assets/LibraryPlaylists-AKjmGQHJ.js +1 -0
- music_assistant_frontend/assets/LibraryPodcasts-D8nYpNLG.js +1 -0
- music_assistant_frontend/assets/LibraryRadios-1GRC-OzJ.js +1 -0
- music_assistant_frontend/assets/LibraryTracks-p8Y13gW3.js +1 -0
- music_assistant_frontend/assets/ListItem-CMI0ccXI.js +1 -0
- music_assistant_frontend/assets/MediaItemImages-CpqpuCtk.js +1 -0
- music_assistant_frontend/assets/MediaItemThumb-CMOvHHof.js +1 -0
- music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-B8G50Aza.js +1 -0
- music_assistant_frontend/assets/PanelviewItemCompact-C6DCjPZU.js +1 -0
- music_assistant_frontend/assets/PlayerCard-RpvQiENI.js +1 -0
- music_assistant_frontend/assets/Players-DbwqOQm4.js +1 -0
- music_assistant_frontend/assets/PlaylistDetails-DhlSXFbi.js +1 -0
- music_assistant_frontend/assets/PodcastDetails-bqHu2VUs.js +1 -0
- music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-BvNkAPPj.js +8 -0
- music_assistant_frontend/assets/Providers-CgdTyZF0.js +1 -0
- music_assistant_frontend/assets/RadioDetails-BDJXF1Lf.js +1 -0
- music_assistant_frontend/assets/Search-BOjaQ4tl.js +1 -0
- music_assistant_frontend/assets/Settings-D8dH3JXV.js +1 -0
- music_assistant_frontend/assets/Toolbar-94EvSFT-.js +1 -0
- music_assistant_frontend/assets/TrackDetails-D-mFx3v3.js +1 -0
- music_assistant_frontend/assets/UserManagement-DqY36gSD.js +1 -0
- music_assistant_frontend/assets/UserProfile-2DGSt3Q4.js +1 -0
- music_assistant_frontend/assets/{UserProfile-N41UXZkv.css → UserProfile-2WJSaYoR.css} +1 -1
- music_assistant_frontend/assets/VAlert-DfNKgxBR.js +1 -0
- music_assistant_frontend/assets/VCheckboxBtn-B_ZAO1Qo.js +1 -0
- music_assistant_frontend/assets/{VDialog-BPGCUfED.js → VDialog-B7h8eW0m.js} +1 -1
- music_assistant_frontend/assets/VExpansionPanels-cqvywsgH.js +1 -0
- music_assistant_frontend/assets/VForm-D2eK17M_.js +1 -0
- music_assistant_frontend/assets/VInfiniteScroll-Bbntx9NP.css +1 -0
- music_assistant_frontend/assets/VInfiniteScroll-CBHSFC6_.js +1 -0
- music_assistant_frontend/assets/VSelect-cNIaLpz4.js +1 -0
- music_assistant_frontend/assets/VSlider-Dt4jt2Zl.js +1 -0
- music_assistant_frontend/assets/VSwitch-CvtgmnVD.js +1 -0
- music_assistant_frontend/assets/VToolbar-DyyzvXAh.js +1 -0
- music_assistant_frontend/assets/VVirtualScroll-Ck3MSSZi.js +1 -0
- music_assistant_frontend/assets/WidgetRow-CXYVjNw0.js +1 -0
- music_assistant_frontend/assets/{index-9wFVyQJF.js → index-BjdGY0D1.js} +31 -31
- music_assistant_frontend/assets/index-DFqSLpsO.css +1 -0
- music_assistant_frontend/assets/marquee_text_sync-WzwJ--pH.js +1 -0
- music_assistant_frontend/index.html +2 -2
- music_assistant_frontend/sw.js +2 -1
- {music_assistant_frontend-2.17.11.dist-info → music_assistant_frontend-2.17.15.dist-info}/METADATA +1 -1
- music_assistant_frontend-2.17.15.dist-info/RECORD +139 -0
- music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-BilDCpf6.js +0 -1
- music_assistant_frontend/assets/AddPlayerGroup-BYV8Y1LE.js +0 -1
- music_assistant_frontend/assets/AddProviderDetails-kB7INZIB.js +0 -1
- music_assistant_frontend/assets/AlbumDetails-DU6l-aqD.js +0 -1
- music_assistant_frontend/assets/ArtistDetails-C5fwf1Ul.js +0 -1
- music_assistant_frontend/assets/AudiobookDetails-BdfpQjus.js +0 -1
- music_assistant_frontend/assets/BrowseView-BssNiRRa.js +0 -1
- music_assistant_frontend/assets/Button-C-VEz_LI.js +0 -1
- music_assistant_frontend/assets/Container-BJrCSObY.js +0 -1
- music_assistant_frontend/assets/CoreConfigs-rOpcKZFT.js +0 -1
- music_assistant_frontend/assets/Default-3G11SZal.css +0 -1
- music_assistant_frontend/assets/Default-CUXRm2rg.js +0 -21
- music_assistant_frontend/assets/EditConfig-DXjpmNn9.js +0 -1
- music_assistant_frontend/assets/EditCoreConfig-C-eN53T5.js +0 -1
- music_assistant_frontend/assets/EditPlayer-DIvL3z3D.js +0 -1
- music_assistant_frontend/assets/EditPlayerDsp-B1Xon7v2.js +0 -9
- music_assistant_frontend/assets/EditProvider-D9MCfQ0w.js +0 -1
- music_assistant_frontend/assets/FrontendConfig-GHYdXDxu.js +0 -1
- music_assistant_frontend/assets/HomeView-DJF0saSj.js +0 -1
- music_assistant_frontend/assets/ItemsListing-C49HRbSG.js +0 -1
- music_assistant_frontend/assets/ItemsListing-CBCWLHeg.css +0 -1
- music_assistant_frontend/assets/LibraryAlbums-D9tiVoO5.js +0 -1
- music_assistant_frontend/assets/LibraryArtists-6kAIUMT4.js +0 -1
- music_assistant_frontend/assets/LibraryAudiobooks-Bs8mF684.js +0 -1
- music_assistant_frontend/assets/LibraryPlaylists-DkpseMkD.js +0 -1
- music_assistant_frontend/assets/LibraryPodcasts-DwH40GTd.js +0 -1
- music_assistant_frontend/assets/LibraryRadios-fbUMI3_x.js +0 -1
- music_assistant_frontend/assets/LibraryTracks-CglybHEv.js +0 -1
- music_assistant_frontend/assets/ListItem-UwdbG-Br.js +0 -1
- music_assistant_frontend/assets/MediaItemImages-C4aHMmVs.js +0 -1
- music_assistant_frontend/assets/MediaItemThumb-CIzEvLC1.js +0 -1
- music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js +0 -1
- music_assistant_frontend/assets/PanelviewItemCompact-Bh2HNG1g.js +0 -1
- music_assistant_frontend/assets/PlayerCard-CNtRdfSH.js +0 -1
- music_assistant_frontend/assets/Players-C0QWtmPX.js +0 -1
- music_assistant_frontend/assets/PlaylistDetails-CnlMQiYr.js +0 -1
- music_assistant_frontend/assets/PodcastDetails-DoAzZcpm.js +0 -1
- music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-BrpUE5JN.js +0 -8
- music_assistant_frontend/assets/Providers-DbouHjV4.js +0 -1
- music_assistant_frontend/assets/RadioDetails-BNB_Zz7v.js +0 -1
- music_assistant_frontend/assets/Search-X_hTXwtA.js +0 -1
- music_assistant_frontend/assets/Settings-v85kXJFD.js +0 -1
- music_assistant_frontend/assets/Toolbar-DKtKPcsg.js +0 -1
- music_assistant_frontend/assets/TrackDetails-kIDB3KQY.js +0 -1
- music_assistant_frontend/assets/UserManagement-D2TMWca2.js +0 -1
- music_assistant_frontend/assets/UserProfile-DQbgJeA-.js +0 -1
- music_assistant_frontend/assets/VAlert-D47QZ7qK.js +0 -1
- music_assistant_frontend/assets/VCheckboxBtn-DtwUx7x8.js +0 -1
- music_assistant_frontend/assets/VContainer-Bmll2nQh.js +0 -1
- music_assistant_frontend/assets/VExpansionPanels-A0OVIs-m.js +0 -1
- music_assistant_frontend/assets/VForm-RrHOXWl_.js +0 -1
- music_assistant_frontend/assets/VInput-Bym6CXFb.js +0 -1
- music_assistant_frontend/assets/VInput-CcxkaOXT.css +0 -1
- music_assistant_frontend/assets/VRow-plcqQvnb.js +0 -1
- music_assistant_frontend/assets/VSelect-FK85NUXM.js +0 -1
- music_assistant_frontend/assets/VSlider-DxpYJWk3.js +0 -1
- music_assistant_frontend/assets/VSnackbar-B7zT2MUe.js +0 -1
- music_assistant_frontend/assets/VSnackbar-BIpAVEnw.css +0 -1
- music_assistant_frontend/assets/VSwitch-DhfvNVio.js +0 -1
- music_assistant_frontend/assets/VTextField-DJZc05eK.js +0 -1
- music_assistant_frontend/assets/VTextField-PT7-TPYc.css +0 -1
- music_assistant_frontend/assets/VToolbar-BKGXqxdt.js +0 -1
- music_assistant_frontend/assets/VVirtualScroll-H5Wikvf-.js +0 -1
- music_assistant_frontend/assets/WidgetRow-DaVwmU5p.js +0 -1
- music_assistant_frontend/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
- music_assistant_frontend/assets/index-BMleNiiT.css +0 -1
- music_assistant_frontend/assets/layout-BdbtgIRG.js +0 -1
- music_assistant_frontend/assets/marquee_text_sync-D3Qu1KPM.js +0 -1
- music_assistant_frontend/workbox-e3490c72.js +0 -1
- music_assistant_frontend-2.17.11.dist-info/RECORD +0 -146
- {music_assistant_frontend-2.17.11.dist-info → music_assistant_frontend-2.17.15.dist-info}/WHEEL +0 -0
- {music_assistant_frontend-2.17.11.dist-info → music_assistant_frontend-2.17.15.dist-info}/licenses/LICENSE +0 -0
- {music_assistant_frontend-2.17.11.dist-info → music_assistant_frontend-2.17.15.dist-info}/top_level.txt +0 -0
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import{_ as ga,T as _a,V as at}from"./Toolbar-DKtKPcsg.js";import{_ as ba,g as ce,p as de,a as Ge,u as ot,b as me,m as De,o as rt,c as ke,d as w,n as j,e as le,f as Pa,h as ut,i as Be,j as Ot,k as ct,l as dt,q as Ke,r as S,s as Ze,t as N,v as Nt,w as mt,x as d,y as we,z as wa,A as Le,B as vt,C as yt,D as Wt,E as ft,V as ka,F as Ht,G as xa,H as R,I as ve,J as ee,K as _e,L as Ut,P as Ia,M as xt,N as Ca,O as qe,Q as $a,R as Yt,S as Qa,T as Sa,U as Va,W as Ta,X as La,Y as Ma,Z as Ea,$ as Ee,a0 as ht,a1 as Aa,a2 as Ba,a3 as xe,a4 as Fe,a5 as Ra,a6 as Da,a7 as qa,a8 as pt,a9 as Fa,aa as Xt,ab as za,ac as Oa,ad as K,ae as Na,af as Wa,ag as X,ah as Ha,ai as Ua,aj as Ue,ak as Ya,al as Xa,am as ja,an as Ga,ao as Ka,ap as Za,aq as It,ar as Ja,as as el,at as tl,au as t,av as W,aw as _,ax as r,ay as k,az as a,aA as al,aB as f,aC as ue,aD as Q,aE as Te,aF as jt,aG as ae,aH as ll,aI as C,aJ as Qe,aK as $e,aL as M,aM as F,aN as Ct,aO as Ye,aP as J,aQ as lt,aR as tt,aS as il,aT as nl,aU as sl,aV as ol,aW as rl,aX as Se,aY as re,aZ as pe,a_ as Re,a$ as gt,b0 as ie,b1 as Gt,b2 as Pe,b3 as Kt,b4 as Zt,b5 as Xe,b6 as ul,b7 as ze,b8 as Oe,b9 as je,ba as it,bb as Me,bc as H,bd as he,be as Jt,bf as ea,bg as ta,bh as $t,bi as Qt,bj as cl,bk as dl,bl as ml,bm as We,bn as vl,bo as St,bp as Vt,bq as Tt,br as be,bs as aa,bt as yl,bu as fl,bv as hl,bw as pl,bx as gl}from"./index-9wFVyQJF.js";import{D as _l}from"./constants-CXMxJR4j.js";import{_ as se}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{M as Ae}from"./MediaItemThumb-CIzEvLC1.js";import{V as la}from"./VDialog-BPGCUfED.js";import{c as bl,m as Pl,u as _t,a as bt,b as wl}from"./layout-BdbtgIRG.js";import{V as kl,a as xl}from"./VSnackbar-B7zT2MUe.js";import{M as Il}from"./index-kQIztB-E.js";import{m as Lt,B as ge}from"./Button-C-VEz_LI.js";import{V as Cl,P as Pt,g as $l,a as Ne}from"./PlayerCard-CNtRdfSH.js";import{V as Ql}from"./VSlider-DxpYJWk3.js";import{L as Sl}from"./ListItem-UwdbG-Br.js";import{M as ne,a as nt}from"./marquee_text_sync-D3Qu1KPM.js";import{_ as Vl}from"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import{V as Tl}from"./VToolbar-BKGXqxdt.js";import{V as Ll}from"./VVirtualScroll-H5Wikvf-.js";import{V as Ml,a as Mt,b as Et,c as At}from"./VExpansionPanels-A0OVIs-m.js";import"./VInput-Bym6CXFb.js";import"./VCheckboxBtn-DtwUx7x8.js";const El=se(ba,[["__scopeId","data-v-e81c826a"]]),Al=de({...ke(),...rt(Pl(),["fullHeight"]),...De()},"VApp"),Bl=ce()({name:"VApp",props:Al(),setup(e,n){let{slots:l}=n;const i=Ge(e),{layoutClasses:s,getLayoutItem:o,items:u,layoutRef:c}=bl({...e,fullHeight:!0}),{rtlClasses:v}=ot();return me(()=>w("div",{ref:c,class:le(["v-application",i.themeClasses.value,s.value,v.value,e.class]),style:j([e.style])},[w("div",{class:"v-application__wrap"},[l.default?.()])])),{getLayoutItem:o,items:u,theme:i}}}),Rl=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},...ft(),...ke(),...Wt(),...yt(),...vt(),...bt({name:"bottom-navigation"}),...Le({tag:"header"}),...wa({selectedClass:"v-btn--selected"}),...De()},"VBottomNavigation"),Dl=ce()({name:"VBottomNavigation",props:Rl(),emits:{"update:active":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{slots:l}=n;const{themeClasses:i}=Pa(),{borderClasses:s}=ut(e),{backgroundColorClasses:o,backgroundColorStyles:u}=Be(()=>e.bgColor),{densityClasses:c}=Ot(e),{elevationClasses:v}=ct(e),{roundedClasses:y}=dt(e),{ssrBootStyles:$}=Ke(),b=S(()=>Number(e.height)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0)),m=Ze(e,"active",e.active),{layoutItemStyles:T}=_t({id:e.name,order:S(()=>parseInt(e.order,10)),position:N(()=>"bottom"),layoutSize:N(()=>m.value?b.value:0),elementSize:b,active:m,absolute:N(()=>e.absolute)});return Nt(e,ka),mt({VBtn:{baseColor:N(()=>e.baseColor),color:N(()=>e.color),density:N(()=>e.density),stacked:N(()=>e.mode!=="horizontal"),variant:"text"}},{scoped:!0}),me(()=>d(e.tag,{class:le(["v-bottom-navigation",{"v-bottom-navigation--active":m.value,"v-bottom-navigation--grow":e.grow,"v-bottom-navigation--shift":e.mode==="shift"},i.value,o.value,s.value,c.value,v.value,y.value,e.class]),style:j([u.value,T.value,{height:we(b.value)},$.value,e.style])},{default:()=>[l.default&&w("div",{class:"v-bottom-navigation__content"},[l.default()])]})),{}}}),ql=e=>{const{touchstartX:n,touchendX:l,touchstartY:i,touchendY:s}=e,o=.5,u=16;e.offsetX=l-n,e.offsetY=s-i,Math.abs(e.offsetY)<o*Math.abs(e.offsetX)&&(e.left&&l<n-u&&e.left(e),e.right&&l>n+u&&e.right(e)),Math.abs(e.offsetX)<o*Math.abs(e.offsetY)&&(e.up&&s<i-u&&e.up(e),e.down&&s>i+u&&e.down(e))};function Fl(e,n){const l=e.changedTouches[0];n.touchstartX=l.clientX,n.touchstartY=l.clientY,n.start?.({originalEvent:e,...n})}function zl(e,n){const l=e.changedTouches[0];n.touchendX=l.clientX,n.touchendY=l.clientY,n.end?.({originalEvent:e,...n}),ql(n)}function Ol(e,n){const l=e.changedTouches[0];n.touchmoveX=l.clientX,n.touchmoveY=l.clientY,n.move?.({originalEvent:e,...n})}function Nl(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n={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=>Fl(l,n),touchend:l=>zl(l,n),touchmove:l=>Ol(l,n)}}function Wl(e,n){const l=n.value,i=l?.parent?e.parentElement:e,s=l?.options??{passive:!0},o=n.instance?.$.uid;if(!i||o===void 0)return;const u=Nl(n.value);i._touchHandlers=i._touchHandlers??Object.create(null),i._touchHandlers[o]=u,Ht(u).forEach(c=>{i.addEventListener(c,u[c],s)})}function Hl(e,n){const l=n.value?.parent?e.parentElement:e,i=n.instance?.$.uid;if(!l?._touchHandlers||i===void 0)return;const s=l._touchHandlers[i];Ht(s).forEach(o=>{l.removeEventListener(o,s[o])}),delete l._touchHandlers[i]}const st={mounted:Wl,unmounted:Hl},ia=Symbol.for("vuetify:v-window"),na=Symbol.for("vuetify:v-window-group"),sa=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,...ke(),...Le(),...De()},"VWindow"),Bt=ce()({name:"VWindow",directives:{vTouch:st},props:sa(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:l}=n;const{themeClasses:i}=Ge(e),{isRtl:s}=ot(),{t:o}=xa(),u=Nt(e,na),c=R(),v=S(()=>s.value?!e.reverse:e.reverse),y=ve(!1),$=S(()=>{if(e.crossfade)return"v-window-crossfade-transition";const E=e.direction==="vertical"?"y":"x",h=(v.value?!y.value:y.value)?"-reverse":"";return`v-window-${E}${h}-transition`}),b=ve(0),m=R(void 0),T=S(()=>u.items.value.findIndex(E=>u.selected.value.includes(E.id)));ee(T,(E,p)=>{let h;const x={left:0,top:0};xt&&p>=0&&(h=Ca(c.value),x.left=h?.scrollLeft,x.top=h?.scrollTop);const V=u.items.value.length,B=V-1;V<=2?y.value=E<p:E===B&&p===0?y.value=!1:E===0&&p===B?y.value=!0:y.value=E<p,qe(()=>{if(!xt||!h)return;h.scrollTop!==x.top&&h.scrollTo({...x,behavior:"instant"}),requestAnimationFrame(()=>{if(!h)return;h.scrollTop!==x.top&&h.scrollTo({...x,behavior:"instant"})})})},{flush:"sync"}),$a(ia,{transition:$,isReversed:y,transitionCount:b,transitionHeight:m,rootRef:c});const L=N(()=>e.continuous||T.value!==0),D=N(()=>e.continuous||T.value!==u.items.value.length-1);function z(){L.value&&u.prev()}function U(){D.value&&u.next()}const G=S(()=>{const E=[],p={icon:s.value?e.nextIcon:e.prevIcon,class:`v-window__${v.value?"right":"left"}`,onClick:u.prev,"aria-label":o("$vuetify.carousel.prev")};E.push(L.value?l.prev?l.prev({props:p}):d(_e,p,null):w("div",null,null));const h={icon:s.value?e.prevIcon:e.nextIcon,class:`v-window__${v.value?"left":"right"}`,onClick:u.next,"aria-label":o("$vuetify.carousel.next")};return E.push(D.value?l.next?l.next({props:h}):d(_e,h,null):w("div",null,null)),E}),A=S(()=>e.touch===!1?e.touch:{...{left:()=>{v.value?z():U()},right:()=>{v.value?U():z()},start:p=>{let{originalEvent:h}=p;h.stopPropagation()}},...e.touch===!0?{}:e.touch});return me(()=>Ut(d(e.tag,{ref:c,class:le(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},i.value,e.class]),style:j([e.style,e.transitionDuration&&!Ia?{"--v-window-transition-duration":we(e.transitionDuration,"ms")}:void 0])},{default:()=>[w("div",{class:"v-window__container",style:{height:m.value}},[l.default?.({group:u}),e.showArrows!==!1&&w("div",{class:le(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}])},[G.value])]),l.additional?.({group:u})]}),[[st,A.value]])),{group:u}}}),oa=de({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...ke(),...Ma(),...La()},"VWindowItem"),Rt=ce()({name:"VWindowItem",directives:{vTouch:st},props:oa(),emits:{"group:selected":e=>!0},setup(e,n){let{slots:l}=n;const i=Yt(ia),s=Qa(e,na),{isBooted:o}=Ke();if(!i||!s)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const u=ve(!1),c=S(()=>o.value&&(i.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function v(){!u.value||!i||(u.value=!1,i.transitionCount.value>0&&(i.transitionCount.value-=1,i.transitionCount.value===0&&(i.transitionHeight.value=void 0)))}function y(){u.value||!i||(u.value=!0,i.transitionCount.value===0&&(i.transitionHeight.value=we(i.rootRef.value?.clientHeight)),i.transitionCount.value+=1)}function $(){v()}function b(L){u.value&&qe(()=>{!c.value||!u.value||!i||(i.transitionHeight.value=we(L.clientHeight))})}const m=S(()=>{const L=i.isReversed.value?e.reverseTransition:e.transition;return c.value?{name:typeof L!="string"?i.transition.value:L,onBeforeEnter:y,onAfterEnter:v,onEnterCancelled:$,onBeforeLeave:y,onAfterLeave:v,onLeaveCancelled:$,onEnter:b}:!1}),{hasContent:T}=Sa(e,s.isSelected);return me(()=>d(Ta,{transition:m.value,disabled:!o.value},{default:()=>[Ut(w("div",{class:le(["v-window-item",s.selectedClass.value,e.class]),style:j(e.style)},[T.value&&l.default?.()]),[[Va,s.isSelected.value]])]})),{groupItem:s}}}),Ul=de({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...ft(),...ke(),...yt(),...bt(),...vt(),...Le({tag:"footer"}),...De()},"VFooter"),Yl=ce()({name:"VFooter",props:Ul(),setup(e,n){let{slots:l}=n;const i=R(),{themeClasses:s}=Ge(e),{backgroundColorClasses:o,backgroundColorStyles:u}=Be(()=>e.color),{borderClasses:c}=ut(e),{elevationClasses:v}=ct(e),{roundedClasses:y}=dt(e),$=ve(32),{resizeRef:b}=Ea(T=>{T.length&&($.value=T[0].target.clientHeight)}),m=S(()=>e.height==="auto"?$.value:parseInt(e.height,10));return Ee(()=>e.app,()=>{const T=_t({id:e.name,order:S(()=>parseInt(e.order,10)),position:N(()=>"bottom"),layoutSize:m,elementSize:S(()=>e.height==="auto"?void 0:m.value),active:N(()=>e.app),absolute:N(()=>e.absolute)});ht(()=>{i.value=T.layoutItemStyles.value})}),me(()=>d(e.tag,{ref:b,class:le(["v-footer",s.value,o.value,c.value,v.value,y.value,e.class]),style:j([u.value,e.app?i.value:{height:we(e.height)},e.style])},l)),{}}}),Xl=de({scrollable:Boolean,...ke(),...Ba(),...Le({tag:"main"})},"VMain"),jl=ce()({name:"VMain",props:Xl(),setup(e,n){let{slots:l}=n;const{dimensionStyles:i}=Aa(e),{mainStyles:s}=wl(),{ssrBootStyles:o}=Ke();return me(()=>d(e.tag,{class:le(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:j([s.value,o.value,i.value,e.style])},{default:()=>[e.scrollable?w("div",{class:"v-main__scroller"},[l.default?.()]):l.default?.()]})),{}}});function Gl(e){let{rootEl:n,isSticky:l,layoutItemStyles:i}=e;const s=ve(!1),o=ve(0),u=S(()=>{const y=typeof s.value=="boolean"?"top":s.value;return[l.value?{top:"auto",bottom:"auto",height:void 0}:void 0,s.value?{[y]:we(o.value)}:{top:i.value.top}]});xe(()=>{ee(l,y=>{y?window.addEventListener("scroll",v,{passive:!0}):window.removeEventListener("scroll",v)},{immediate:!0})}),Fe(()=>{window.removeEventListener("scroll",v)});let c=0;function v(){const y=c>window.scrollY?"up":"down",$=n.value.getBoundingClientRect(),b=parseFloat(i.value.top??0),m=window.scrollY-Math.max(0,o.value-b),T=$.height+Math.max(o.value,b)-window.scrollY-window.innerHeight,L=parseFloat(getComputedStyle(n.value).getPropertyValue("--v-body-scroll-y"))||0;$.height<window.innerHeight-b?(s.value="top",o.value=b):y==="up"&&s.value==="bottom"||y==="down"&&s.value==="top"?(o.value=window.scrollY+$.top-L,s.value=!0):y==="down"&&T<=0?(o.value=0,s.value="bottom"):y==="up"&&m<=0&&(L?s.value!=="top"&&(o.value=-m+L+b,s.value="top"):(o.value=$.top+m,s.value="top")),c=window.scrollY}return{isStuck:s,stickyStyles:u}}const Kl=100,Zl=20;function Dt(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function qt(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 n=0;for(let l=e.length-1;l>0;l--){if(e[l].t===e[l-1].t)continue;const i=Dt(n),s=(e[l].d-e[l-1].d)/(e[l].t-e[l-1].t);n+=(s-i)*Math.abs(s),l===e.length-1&&(n*=.5)}return Dt(n)*1e3}function Jl(){const e={};function n(s){Array.from(s.changedTouches).forEach(o=>{(e[o.identifier]??(e[o.identifier]=new Ra(Zl))).push([s.timeStamp,o])})}function l(s){Array.from(s.changedTouches).forEach(o=>{delete e[o.identifier]})}function i(s){const o=e[s]?.values().reverse();if(!o)throw new Error(`No samples for touch id ${s}`);const u=o[0],c=[],v=[];for(const y of o){if(u[0]-y[0]>Kl)break;c.push({t:y[0],d:y[1].clientX}),v.push({t:y[0],d:y[1].clientY})}return{x:qt(c),y:qt(v),get direction(){const{x:y,y:$}=this,[b,m]=[Math.abs(y),Math.abs($)];return b>m&&y>=0?"right":b>m&&y<=0?"left":m>b&&$>=0?"down":m>b&&$<=0?"up":ei()}}}return{addMovement:n,endTouch:l,getVelocity:i}}function ei(){throw new Error}function ti(e){let{el:n,isActive:l,isTemporary:i,width:s,touchless:o,position:u}=e;xe(()=>{window.addEventListener("touchstart",G,{passive:!0}),window.addEventListener("touchmove",A,{passive:!1}),window.addEventListener("touchend",E,{passive:!0})}),Fe(()=>{window.removeEventListener("touchstart",G),window.removeEventListener("touchmove",A),window.removeEventListener("touchend",E)});const c=S(()=>["left","right"].includes(u.value)),{addMovement:v,endTouch:y,getVelocity:$}=Jl();let b=!1;const m=ve(!1),T=ve(0),L=ve(0);let D;function z(h,x){return(u.value==="left"?h:u.value==="right"?document.documentElement.clientWidth-h:u.value==="top"?h:u.value==="bottom"?document.documentElement.clientHeight-h:Ce())-(x?s.value:0)}function U(h){let x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const V=u.value==="left"?(h-L.value)/s.value:u.value==="right"?(document.documentElement.clientWidth-h-L.value)/s.value:u.value==="top"?(h-L.value)/s.value:u.value==="bottom"?(document.documentElement.clientHeight-h-L.value)/s.value:Ce();return x?Da(V):V}function G(h){if(o.value)return;const x=h.changedTouches[0].clientX,V=h.changedTouches[0].clientY,B=25,q=u.value==="left"?x<B:u.value==="right"?x>document.documentElement.clientWidth-B:u.value==="top"?V<B:u.value==="bottom"?V>document.documentElement.clientHeight-B:Ce(),P=l.value&&(u.value==="left"?x<s.value:u.value==="right"?x>document.documentElement.clientWidth-s.value:u.value==="top"?V<s.value:u.value==="bottom"?V>document.documentElement.clientHeight-s.value:Ce());(q||P||l.value&&i.value)&&(D=[x,V],L.value=z(c.value?x:V,l.value),T.value=U(c.value?x:V),b=L.value>-20&&L.value<80,y(h),v(h))}function A(h){const x=h.changedTouches[0].clientX,V=h.changedTouches[0].clientY;if(b){if(!h.cancelable){b=!1;return}const q=Math.abs(x-D[0]),P=Math.abs(V-D[1]);(c.value?q>P&&q>3:P>q&&P>3)?(m.value=!0,b=!1):(c.value?P:q)>3&&(b=!1)}if(!m.value)return;h.preventDefault(),v(h);const B=U(c.value?x:V,!1);T.value=Math.max(0,Math.min(1,B)),B>1?L.value=z(c.value?x:V,!0):B<0&&(L.value=z(c.value?x:V,!1))}function E(h){if(b=!1,!m.value)return;v(h),m.value=!1;const x=$(h.changedTouches[0].identifier),V=Math.abs(x.x),B=Math.abs(x.y);(c.value?V>B&&V>400:B>V&&B>3)?l.value=x.direction===({left:"right",right:"left",top:"down",bottom:"up"}[u.value]||Ce()):l.value=T.value>.5}const p=S(()=>m.value?{transform:u.value==="left"?`translateX(calc(-100% + ${T.value*s.value}px))`:u.value==="right"?`translateX(calc(100% - ${T.value*s.value}px))`:u.value==="top"?`translateY(calc(-100% + ${T.value*s.value}px))`:u.value==="bottom"?`translateY(calc(100% - ${T.value*s.value}px))`:Ce(),transition:"none"}:void 0);return Ee(m,()=>{const h=n.value?.style.transform??null,x=n.value?.style.transition??null;ht(()=>{n.value?.style.setProperty("transform",p.value?.transform||"none"),n.value?.style.setProperty("transition",p.value?.transition||null)}),qa(()=>{n.value?.style.setProperty("transform",h),n.value?.style.setProperty("transition",x)})}),{isDragging:m,dragProgress:T,dragStyles:p}}function Ce(){throw new Error}const ai=["start","end","left","right","top","bottom"],li=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=>ai.includes(e)},sticky:Boolean,...ft(),...ke(),...Ua(),...Ha({mobile:null}),...yt(),...bt(),...vt(),...Le({tag:"nav"}),...De()},"VNavigationDrawer"),ii=ce()({name:"VNavigationDrawer",props:li(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,n){let{attrs:l,emit:i,slots:s}=n;const{isRtl:o}=ot(),{themeClasses:u}=Ge(e),{borderClasses:c}=ut(e),{backgroundColorClasses:v,backgroundColorStyles:y}=Be(()=>e.color),{elevationClasses:$}=ct(e),{displayClasses:b,mobile:m}=pt(e),{roundedClasses:T}=dt(e),L=Fa(),D=Ze(e,"modelValue",null,Y=>!!Y),{ssrBootStyles:z}=Ke(),{scopeId:U}=Xt(),G=R(),A=ve(!1),{runOpenDelay:E,runCloseDelay:p}=Na(e,Y=>{A.value=Y}),h=S(()=>e.rail&&e.expandOnHover&&A.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),x=S(()=>za(e.location,o.value)),V=N(()=>e.persistent),B=S(()=>!e.permanent&&(m.value||e.temporary)),q=S(()=>e.sticky&&!B.value&&x.value!=="bottom");Ee(()=>e.expandOnHover&&e.rail!=null,()=>{ee(A,Y=>i("update:rail",!Y))}),Ee(()=>!e.disableResizeWatcher,()=>{ee(B,Y=>!e.permanent&&qe(()=>D.value=!Y))}),Ee(()=>!e.disableRouteWatcher&&!!L,()=>{ee(L.currentRoute,()=>B.value&&(D.value=!1))}),ee(()=>e.permanent,Y=>{Y&&(D.value=!0)}),e.modelValue==null&&!B.value&&(D.value=e.permanent||!m.value);const{isDragging:P,dragProgress:g}=ti({el:G,isActive:D,isTemporary:B,width:h,touchless:N(()=>e.touchless),position:x}),I=S(()=>{const Y=B.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):h.value;return P.value?Y*g.value:Y}),{layoutItemStyles:O,layoutItemScrimStyles:Z}=_t({id:e.name,order:S(()=>parseInt(e.order,10)),position:x,layoutSize:I,elementSize:h,active:Oa(D),disableTransitions:N(()=>P.value),absolute:S(()=>e.absolute||q.value&&typeof te.value!="string")}),{isStuck:te,stickyStyles:ye}=Gl({rootEl:G,isSticky:q,layoutItemStyles:O}),oe=Be(()=>typeof e.scrim=="string"?e.scrim:null),fe=S(()=>({...P.value?{opacity:g.value*.2,transition:"none"}:void 0,...Z.value}));return mt({VList:{bgColor:"transparent"}}),me(()=>{const Y=s.image||e.image;return w(X,null,[d(e.tag,K({ref:G,onMouseenter:E,onMouseleave:p,class:["v-navigation-drawer",`v-navigation-drawer--${x.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":A.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":B.value,"v-navigation-drawer--persistent":V.value,"v-navigation-drawer--active":D.value,"v-navigation-drawer--sticky":q.value},u.value,v.value,c.value,b.value,$.value,T.value,e.class],style:[y.value,O.value,z.value,ye.value,e.style]},U,l),{default:()=>[Y&&w("div",{key:"image",class:"v-navigation-drawer__img"},[s.image?d(Ya,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},s.image):d(Ue,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),s.prepend&&w("div",{class:"v-navigation-drawer__prepend"},[s.prepend?.()]),w("div",{class:"v-navigation-drawer__content"},[s.default?.()]),s.append&&w("div",{class:"v-navigation-drawer__append"},[s.append?.()])]}),d(Wa,{name:"fade-transition"},{default:()=>[B.value&&(P.value||D.value)&&!!e.scrim&&w("div",K({class:["v-navigation-drawer__scrim",oe.backgroundColorClasses.value],style:[fe.value,oe.backgroundColorStyles.value],onClick:()=>{V.value||(D.value=!1)}},U),null)]})])}),{isStuck:te}}}),wt=Symbol.for("vuetify:v-tabs"),ra=de({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...rt(Ga({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),He=ce()({name:"VTab",props:ra(),setup(e,n){let{slots:l,attrs:i}=n;const{textColorClasses:s,textColorStyles:o}=Xa(()=>e.sliderColor),u=R(),c=R(),v=S(()=>e.direction==="horizontal"),y=S(()=>u.value?.group?.isSelected.value??!1);function $(b){let{value:m}=b;if(m){const T=u.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"),L=c.value;if(!T||!L)return;const D=getComputedStyle(T).color,z=T.getBoundingClientRect(),U=L.getBoundingClientRect(),G=v.value?"x":"y",A=v.value?"X":"Y",E=v.value?"right":"bottom",p=v.value?"width":"height",h=z[G],x=U[G],V=h>x?z[E]-U[E]:z[G]-U[G],B=Math.sign(V)>0?v.value?"right":"bottom":Math.sign(V)<0?v.value?"left":"top":"center",P=(Math.abs(V)+(Math.sign(V)<0?z[p]:U[p]))/Math.max(z[p],U[p])||0,g=z[p]/U[p]||0,I=1.5;Ka(L,{backgroundColor:[D,"currentcolor"],transform:[`translate${A}(${V}px) scale${A}(${g})`,`translate${A}(${V/I}px) scale${A}(${(P-1)/I+1})`,"none"],transformOrigin:Array(3).fill(B)},{duration:225,easing:Za})}}return me(()=>{const b=_e.filterProps(e);return d(_e,K({symbol:wt,ref:u,class:["v-tab",e.class],style:e.style,tabindex:y.value?0:-1,role:"tab","aria-selected":String(y.value),active:!1},b,i,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":$}),{...l,default:()=>w(X,null,[l.default?.()??e.text,!e.hideSlider&&w("div",{ref:c,class:le(["v-tab__slider",s.value]),style:j(o.value)},null)])})}),ja({},u)}}),ni=de({...rt(sa(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),si=ce()({name:"VTabsWindow",props:ni(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:l}=n;const i=Yt(wt,null),s=Ze(e,"modelValue"),o=S({get(){return s.value!=null||!i?s.value:i.items.value.find(u=>i.selected.value.includes(u.id))?.value},set(u){s.value=u}});return me(()=>{const u=Bt.filterProps(e);return d(Bt,K({_as:"VTabsWindow"},u,{modelValue:o.value,"onUpdate:modelValue":c=>o.value=c,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),l)}),{}}}),oi=de({...oa()},"VTabsWindowItem"),ri=ce()({name:"VTabsWindowItem",props:oi(),setup(e,n){let{slots:l}=n;return me(()=>{const i=Rt.filterProps(e);return d(Rt,K({_as:"VTabsWindowItem"},i,{class:["v-tabs-window-item",e.class],style:e.style}),l)}),{}}});function ui(e){return e?e.map(n=>tl(n)?n:{text:n,value:n}):[]}const ci=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,...el(ra(),["spaced"]),...Ja({mandatory:"force",selectedClass:"v-tab-item--selected"}),...Wt(),...Le()},"VTabs"),di=ce()({name:"VTabs",props:ci(),emits:{"update:modelValue":e=>!0},setup(e,n){let{attrs:l,slots:i}=n;const s=Ze(e,"modelValue"),o=S(()=>ui(e.items)),{densityClasses:u}=Ot(e),{backgroundColorClasses:c,backgroundColorStyles:v}=Be(()=>e.bgColor),{scopeId:y}=Xt();return mt({VTab:{color:N(()=>e.color),direction:N(()=>e.direction),stacked:N(()=>e.stacked),fixed:N(()=>e.fixedTabs),sliderColor:N(()=>e.sliderColor),hideSlider:N(()=>e.hideSlider)}}),me(()=>{const $=It.filterProps(e),b=!!(i.window||e.items.length>0);return w(X,null,[d(It,K($,{modelValue:s.value,"onUpdate:modelValue":m=>s.value=m,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},u.value,c.value,e.class],style:[{"--v-tabs-height":we(e.height)},v.value,e.style],role:"tablist",symbol:wt},y,l),{default:()=>[i.default?.()??o.value.map(m=>i.tab?.({item:m})??d(He,K(m,{key:m.text,value:m.value,spaced:e.spaced}),{default:i[`tab.${m.value}`]?()=>i[`tab.${m.value}`]?.({item:m}):void 0}))]}),b&&d(si,K({modelValue:s.value,"onUpdate:modelValue":m=>s.value=m,key:"tabs-window"},y),{default:()=>[o.value.map(m=>i.item?.({item:m})??d(ri,{value:m.value},{default:()=>i[`item.${m.value}`]?.({item:m})})),i.window?.()]})])}),{}}}),ua=function(){const e=localStorage.getItem("frontend.settings.menu_items"),n=e?e.split(","):_l,l=[];for(const i of n)i==="home"&&l.push({label:"home",icon:"mdi-home-outline",path:"/home",isLibraryNode:!1}),i==="search"&&l.push({label:"search",icon:"mdi-magnify",path:"/search",isLibraryNode:!1}),i==="artists"&&l.push({label:"artists",icon:"mdi-account-outline",path:"/artists",isLibraryNode:!0,hidden:t.libraryArtistsCount===0}),i==="albums"&&l.push({label:"albums",icon:"md:album",path:"/albums",isLibraryNode:!0,hidden:t.libraryAlbumsCount===0}),i==="tracks"&&l.push({label:"tracks",icon:"mdi-music-note",path:"/tracks",isLibraryNode:!0,hidden:t.libraryTracksCount===0}),i==="playlists"&&l.push({label:"playlists",icon:"md:playlist_play",path:"/playlists",isLibraryNode:!0,hidden:t.libraryPlaylistsCount===0}),i==="podcasts"&&l.push({label:"podcasts",icon:"mdi-podcast",path:"/podcasts",isLibraryNode:!0,hidden:t.libraryPodcastsCount===0}),i==="audiobooks"&&l.push({label:"audiobooks",icon:"mdi-book-play-outline",path:"/audiobooks",isLibraryNode:!0,hidden:t.libraryAudiobooksCount===0}),i==="radios"&&l.push({label:"radios",icon:"mdi-access-point",path:"/radios",isLibraryNode:!0,hidden:t.libraryRadiosCount===0}),i==="browse"&&l.push({label:"browse",icon:"mdi-folder-outline",path:"/browse",isLibraryNode:!0}),i==="settings"&&l.push({label:"settings.settings",icon:"mdi-cog-outline",path:"/settings",isLibraryNode:!0});return l},mi={key:0,class:"sidebar-header-title"},vi=W({__name:"Navigation",setup(e){const n=al(),l=ua(),i=localStorage.getItem("frontend.settings.collapsed"),s=R(i==="true"),o=()=>{s.value=!s.value,localStorage.setItem("frontend.settings.collapsed",s.value.toString())};return(u,c)=>(r(),_("nav",{class:le(["sidebar",{collapsed:s.value}])},[w("div",{class:"sidebar-header",onClick:c[0]||(c[0]=v=>a(n).push({name:"home"}))},[w("img",{src:ga,alt:"Music Assistant",class:"sidebar-header-logo",onClick:o}),s.value?k("",!0):(r(),_("div",mi,"Music Assistant"))]),d(Qe,{class:"sidebar-list"},{default:f(()=>[(r(!0),_(X,null,ue(a(l),v=>(r(),Q(Te,{key:v.label,slim:"",nav:"",class:"menuButton",to:v.path},jt({default:f(()=>[s.value?(r(),Q(ae,{key:0,icon:v.icon,size:"24px"},null,8,["icon"])):k("",!0),s.value?k("",!0):(r(),Q(ll,{key:1,textContent:C(u.$t(v.label))},null,8,["textContent"]))]),_:2},[s.value?void 0:{name:"prepend",fn:f(()=>[d(ae,{icon:v.icon,size:"24px"},null,8,["icon"])]),key:"0"}]),1032,["to"]))),128))]),_:1}),w("div",{class:le(s.value?"d-flex justify-center":"ml-auto")},[d(_e,{icon:s.value?"mdi-dock-left":"mdi-dock-right",class:"cursor-pointer mt-1",variant:"plain",onClick:o},null,8,["icon"])],2)],2))}}),yi=se(vi,[["__scopeId","data-v-5af0a01e"]]),fi={class:"media-thumb"},hi={style:{"margin-left":"-10px","padding-right":"5px"}},pi=W({__name:"AddToPlaylistDialog",setup(e){const n=R(!1),l=R([]),i=R([]),s=R(),o=R([]);xe(()=>{$e.on("playlistdialog",async $=>{n.value=!0,o.value=$.items,s.value=$.parentItem,await u()}),Fe(()=>{$e.off("playlistdialog")})});const u=async function(){l.value=[],i.value=[];const $=await M.getLibraryPlaylists();let b=o.value.length?o.value[0]:void 0;if(b){"provider_mappings"in b||(b=await M.getItem(b.media_type,b.item_id,b.provider));for(const m of $){if(!m.provider_mappings.filter(L=>L.available).length||!m.is_editable||s.value&&s.value.media_type===F.PLAYLIST&&m.item_id===s.value.item_id)continue;const T=M.providers[m.provider_mappings[0].provider_instance];T&&(T.domain=="builtin"||T.is_streaming_provider||b?.provider_mappings.filter(L=>L.provider_instance==T.instance_id).length)&&l.value.push(m)}for(const m of Object.values(M.providers))m.supported_features.includes(Ct.PLAYLIST_CREATE)&&m.supported_features.includes(Ct.PLAYLIST_TRACKS_EDIT)&&(m.domain=="builtin"||m.is_streaming_provider||b?.provider_mappings.filter(T=>T.provider_instance==m.instance_id).length)&&i.value.push(m.instance_id)}},c=async function($){M.addPlaylistTracks($.item_id,o.value.map(b=>b.uri)),y(),t.activeAlert={type:il.INFO,message:J("background_task_added"),persistent:!1}},v=async function($){const b=prompt(J("new_playlist_name"));if(!b)return;const m=await M.createPlaylist(b,$);c(m)},y=function(){n.value=!1};return($,b)=>(r(),Q(la,{modelValue:n.value,"onUpdate:modelValue":[b[0]||(b[0]=m=>n.value=m),b[1]||(b[1]=m=>{a(t).dialogActive=m})],fullscreen:"",transition:"dialog-bottom-transition"},{default:f(()=>[d(Ye,null,{default:f(()=>[d(_a,{icon:"mdi-playlist-plus",title:a(J)("add_playlist"),"menu-items":[{label:"close",icon:"mdi-close",action:y}]},null,8,["title","menu-items"]),d(lt),b[4]||(b[4]=w("br",null,null,-1)),d(Qe,null,{default:f(()=>[(r(!0),_(X,null,ue(l.value,m=>(r(),_("div",{key:m.item_id},[d(Te,{onClick:T=>c(m)},{prepend:f(()=>[w("div",fi,[d(Ae,{item:m,size:50},null,8,["item"])])]),title:f(()=>[w("div",null,C(m.name),1)]),subtitle:f(()=>[w("div",null,C(m.owner),1)]),append:f(()=>[m.provider_mappings?(r(),Q(tt,{key:0,domain:m.provider_mappings[0].provider_domain,size:20},null,8,["domain"])):k("",!0)]),_:2},1032,["onClick"])]))),128)),b[2]||(b[2]=w("div",{style:{height:"30px"}},null,-1)),d(lt),b[3]||(b[3]=w("div",{style:{height:"30px"}},null,-1)),(r(!0),_(X,null,ue(i.value,m=>(r(),_("div",{key:m},[d(Te,{onClick:T=>v(m)},{prepend:f(()=>[w("div",hi,[d(tt,{domain:a(M).providers[m].domain,size:50},null,8,["domain"])])]),title:f(()=>[w("div",null,C(a(J)("new_playlist")),1)]),subtitle:f(()=>[w("div",null,C(a(J)("create_playlist_on",[a(M).providers[m].name])),1)]),append:f(()=>[d(tt,{domain:a(M).providers[m].domain,size:20},null,8,["domain"])]),_:2},1032,["onClick"])]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),gi=se(pi,[["__scopeId","data-v-bd014719"]]),_i={class:"content-section"},bi=W({__name:"View",setup(e){return(n,l)=>{const i=sl("router-view");return r(),Q(jl,{id:"cont",class:"main-layout"},{default:f(()=>[a(t).mobileLayout?k("",!0):(r(),Q(yi,{key:0,class:"nav-section"})),w("div",_i,[d(i,null,{default:f(({Component:s})=>[(r(),Q(nl(s)))]),_:1}),d(gi),d(El),d(kl,{"model-value":a(t).activeAlert!==void 0,color:a(t).activeAlert?.type||"grey",text:a(t).activeAlert?.message,"close-on-content-click":"",position:"sticky",timeout:a(t).activeAlert?.persistent?-1:5e3,"z-index":"999999",style:{"z-index":"999999"},"onUpdate:modelValue":l[0]||(l[0]=()=>a(t).activeAlert=void 0)},null,8,["model-value","color","text","timeout"])])]),_:1})}}}),Ft=se(bi,[["__scopeId","data-v-1afe9eed"]]),Pi=e=>{const n=S(()=>{const{variant:o,width:u,height:c,staticWidth:v,staticHeight:y,maxWidth:$,maxHeight:b,minWidth:m,minHeight:T,badge:L,...D}=e,z={...D,size:e.size||v||void 0||y||void 0||(e.maxHeight?e.maxHeight:void 0)||(e.maxWidth?e.maxWidth:void 0)||"24px"};return Il(o).with("button",()=>({...z,class:e.class?`icon-button ${e.class}`:"icon-button"})).with("responsive",()=>({...z,class:e.class?`icon-responsive ${e.class}`:"icon-responsive"})).with("default",()=>({...z,class:e.class?`icon-default ${e.class}`:"icon-default"})).otherwise(()=>({...z,class:e.class?`icon-default ${e.class}`:"icon-default"}))}),l=S(()=>{const o={};if(e.staticWidth?o.width=e.staticWidth:e.width&&(o.width=e.width),e.staticHeight?o.height=e.staticHeight:e.height&&(o.height=e.height),e.maxWidth&&(o.maxWidth=e.maxWidth),e.maxHeight&&(o.maxHeight=e.maxHeight),e.minWidth&&(o.minWidth=e.minWidth),e.minHeight&&(o.minHeight=e.minHeight),typeof e.style=="object")Object.assign(o,e.style);else if(typeof e.style=="string"){const u=e.style.split(";").reduce((c,v)=>{const[y,$]=v.split(":").map(b=>b.trim());return y&&$&&(c[y]=$),c},{});Object.assign(o,u)}return o}),i=S(()=>Lt("icon-container",e.variant&&`icon-container--${e.variant}`,e.disabled&&"icon-container--disabled")),s=S(()=>Lt("icon",e.variant&&`icon--${e.variant}`));return{iconProps:n,containerStyle:l,containerClasses:i,iconClasses:s}},wi={variant:"default",minWidth:"24px",minHeight:"24px",badge:!1,disabled:!1},ki=W({__name:"Icon",props:ol({variant:{},width:{},height:{},staticWidth:{},staticHeight:{},maxWidth:{},maxHeight:{},minWidth:{},minHeight:{},icon:{},color:{},disabled:{type:Boolean},size:{},badge:{type:Boolean},class:{},style:{}},wi),emits:["click"],setup(e,{emit:n}){const l=e,i=n,{iconProps:s,containerStyle:o,containerClasses:u,iconClasses:c}=Pi(l),v=R(),y=R(),$=async()=>{if(!(l.variant!=="responsive"||!v.value||!y.value)){await qe();try{const m=v.value.offsetWidth,T=v.value.offsetHeight,L=Math.min(m,T);y.value.$el&&(y.value.$el.style.fontSize=`${L}px`)}catch(m){console.error("Icon sizing adjustment failed:",m)}}},b=m=>{if(l.disabled){m.preventDefault(),m.stopPropagation();return}i("click",m)};return xe(()=>{l.variant==="responsive"&&($(),window.addEventListener("resize",$))}),Fe(()=>{l.variant==="responsive"&&window.removeEventListener("resize",$)}),(m,T)=>(r(),_("div",{ref_key:"iconContainer",ref:v,class:le(a(u)),style:j(a(o)),onClick:b},[d(at,{"model-value":e.badge===!0,color:"error",dot:""},{default:f(()=>[d(a(ae),K({ref_key:"iconElement",ref:y},a(s),{class:a(c)}),jt({_:2},[ue(m.$slots,(L,D)=>({name:D,fn:f(()=>[rl(m.$slots,D,{},void 0,!0)])}))]),1040,["class"])]),_:3},8,["model-value"])],6))}}),Ie=se(ki,[["__scopeId","data-v-3db51b10"]]),ca=W({__name:"RepeatBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){return(n,l)=>e.isVisible&&e.playerQueue?(r(),Q(Ie,K({key:0},e.icon,{disabled:!e.playerQueue.active||e.playerQueue.items==0,color:a(Se)(e.icon?.color,[[e.playerQueue.repeat_mode==a(re).OFF,null],[e.playerQueue.repeat_mode==a(re).ALL,"primary"],[e.playerQueue.repeat_mode==a(re).ONE,"primary"]]),icon:a(Se)(e.icon?.icon,[[e.playerQueue.repeat_mode==a(re).OFF,"mdi-repeat-off"],[e.playerQueue.repeat_mode==a(re).ALL,"mdi-repeat"],[e.playerQueue.repeat_mode==a(re).ONE,"mdi-repeat-once"],[!0,"mdi-repeat-off"]]),variant:"button",onClick:l[0]||(l[0]=i=>a(M).queueCommandRepeat(e.playerQueue.queue_id||"",a(Se)(null,[[e.playerQueue.repeat_mode==a(re).OFF,a(re).ONE],[e.playerQueue.repeat_mode==a(re).ALL,a(re).OFF],[e.playerQueue.repeat_mode==a(re).ONE,a(re).ALL]])))}),null,16,["disabled","color","icon"])):k("",!0)}});function Je(e){return{activeSource:S(()=>{const l=typeof e=="object"&&"value"in e?e.value:e;if(!(!l?.active_source||!l?.source_list))return l.source_list.find(i=>i.id===l.active_source)})}}const da=W({__name:"NextBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){const n=e,{activeSource:l}=Je(N(n,"player")),i=S(()=>n.playerQueue?.active?(n.playerQueue.current_index||0)<n.playerQueue.items-1:!1),s=S(()=>!n.player||n.playerQueue?.active||!n.player.current_media?!1:n.player.supported_features.includes(pe.NEXT_PREVIOUS)),o=S(()=>l.value?l.value.can_next_previous:i.value||s.value);return(u,c)=>e.isVisible&&e.player?(r(),Q(Ie,K({key:0},e.icon,{disabled:!o.value,icon:"mdi-skip-next-outline",variant:"button",onClick:c[0]||(c[0]=v=>a(M).playerCommandNext(e.player.player_id))}),null,16,["disabled"])):k("",!0)}}),ma=W({__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 n=e,{activeSource:l}=Je(N(n,"player")),i=S(()=>n.playerQueue?n.playerQueue.items>0:!1),s=S(()=>!(!n.player||n.playerQueue?.active||!n.player.current_media)),o=S(()=>l.value?l.value.can_play_pause:i.value||s.value),u=S(()=>n.player?.playback_state==Re.PLAYING?"mdi-pause":"mdi-play");return(c,v)=>e.isVisible&&e.player?(r(),Q(Ie,K({key:0},e.icon,{disabled:!o.value,icon:e.iconStyle?`${u.value}-${e.iconStyle}`:u.value,variant:"button",onClick:v[0]||(v[0]=y=>a(M).playerCommandPlayPause(e.player.player_id))}),null,16,["disabled","icon"])):k("",!0)}}),va=W({__name:"PreviousBtn",props:{player:{},playerQueue:{default:void 0},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){const n=e,{activeSource:l}=Je(N(n,"player")),i=S(()=>!n.playerQueue?.active||!n.playerQueue?.items||!n.playerQueue.current_index?!1:n.playerQueue.current_index>0),s=S(()=>!n.player||n.playerQueue?.active||!n.player.current_media?!1:n.player.supported_features.includes(pe.NEXT_PREVIOUS)),o=S(()=>l.value?l.value.can_next_previous:i.value||s.value);return(u,c)=>e.isVisible&&e.player?(r(),Q(Ie,K({key:0},e.icon,{disabled:!o.value,icon:"mdi-skip-previous-outline",variant:"button",onClick:c[0]||(c[0]=v=>a(M).playerCommandPrevious(e.player.player_id))}),null,16,["disabled"])):k("",!0)}}),ya=W({__name:"ShuffleBtn",props:{playerQueue:{},isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){return(n,l)=>e.isVisible&&e.playerQueue?(r(),Q(Ie,K({key:0},e.icon,{disabled:!e.playerQueue.active||e.playerQueue.items==0,color:a(Se)(e.icon?.color,[[e.playerQueue.shuffle_enabled,"primary",""]]),icon:a(Se)(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]=i=>a(M).queueCommandShuffle(e.playerQueue.queue_id,!e.playerQueue.shuffle_enabled))}),null,16,["disabled","color","icon"])):k("",!0)}}),xi={key:0,class:"player-controls"},Ii={key:0,class:"player-controls-elements"},Ci={key:1,class:"player-controls-elements"},$i={key:2},Qi={key:3,class:"player-controls-elements"},Si={key:4,class:"player-controls-elements"},zt=W({__name:"PlayerControls",props:{visibleComponents:{default:()=>({repeat:{isVisible:!0},shuffle:{isVisible:!0},play:{isVisible:!0},previous:{isVisible:!0},next:{isVisible:!0}})}},setup(e){return(n,l)=>e.visibleComponents?(r(),_("div",xi,[e.visibleComponents&&e.visibleComponents.shuffle?.isVisible?(r(),_("div",Ii,[d(ya,{"player-queue":a(t).activePlayerQueue,class:"media-controls-item",icon:e.visibleComponents.shuffle.icon},null,8,["player-queue","icon"])])):k("",!0),e.visibleComponents&&e.visibleComponents.previous?.isVisible?(r(),_("div",Ci,[d(va,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item",icon:e.visibleComponents.previous.icon},null,8,["player","player-queue","icon"])])):k("",!0),e.visibleComponents&&e.visibleComponents.play?.isVisible?(r(),_("div",$i,[d(ma,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","icon-style":"circle",icon:e.visibleComponents.play.icon},null,8,["player","player-queue","icon"])])):k("",!0),e.visibleComponents&&e.visibleComponents.next?.isVisible?(r(),_("div",Qi,[d(da,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,icon:e.visibleComponents.next.icon,"static-height":"24px","static-width":"24px"},null,8,["player","player-queue","icon"])])):k("",!0),e.visibleComponents&&e.visibleComponents.repeat?.isVisible?(r(),_("div",Si,[d(ca,{"player-queue":a(t).activePlayerQueue,icon:e.visibleComponents.repeat.icon,"static-height":"24px","static-width":"24px"},null,8,["player-queue","icon"])])):k("",!0)])):k("",!0)}}),fa=W({__name:"QueueBtn",props:{isVisible:{type:Boolean,default:!0},icon:{default:void 0}},setup(e){const n=function(){t.showFullscreenPlayer&&t.showQueueItems?t.showQueueItems=!1:t.showFullscreenPlayer&&!t.showQueueItems?t.showQueueItems=!0:(t.showQueueItems=!0,t.showFullscreenPlayer=!0)};return(l,i)=>e.isVisible?(r(),Q(Ie,K({key:0},e.icon,{disabled:!a(t).activePlayerId||a(t).showFullscreenPlayer&&!a(t).curQueueItem&&!a(t).showQueueItems,icon:"mdi-playlist-play",color:a(Se)(e.icon?.color,[[a(t).showFullscreenPlayer&&a(t).showQueueItems,"primary",""]]),variant:"button",onClick:n}),null,16,["disabled","color"])):k("",!0)}}),ha=W({__name:"SpeakerBtn",props:{color:{}},setup(e){return(n,l)=>(r(),Q(ge,{variant:"icon",ripple:!1,icon:"",onClick:l[0]||(l[0]=i=>a(t).showPlayersMenu=!0)},{default:f(()=>[d(ae,{color:e.color?e.color:"",size:24,icon:a(t).activePlayer?.group_members.length?"mdi-speaker-multiple":"mdi-speaker"},null,8,["color","icon"])]),_:1}))}}),Vi={key:0},Ti={key:0},Li={class:"text-caption"},Mi={key:1},Ei=W({__name:"VolumeBtn",props:{volumeSize:{default:"150px"},responsiveVolumeSize:{type:Boolean,default:!0},isVisible:{type:Boolean,default:!0},color:{default:""}},setup(e){const n=e,l=R(!1),i=R(0);t.activePlayer&&(i.value=Math.round(t.activePlayer.group_members.length>0?t.activePlayer.group_volume:t.activePlayer.volume_level||0)),ee(()=>t.activePlayer,o=>{o&&(i.value=Math.round(o.group_members.length>0?o.group_volume:o.volume_level||0))},{immediate:!0,deep:!0});const s=S(()=>{if(!t.activePlayer)return"mdi-volume-high";if(t.activePlayer.volume_muted)return"mdi-volume-mute";const o=i.value;return o===0?"mdi-volume-low":o<50?"mdi-volume-medium":"mdi-volume-high"});return(o,u)=>n.isVisible&&a(t).activePlayer?(r(),_("div",Vi,[d(gt,{modelValue:l.value,"onUpdate:modelValue":u[2]||(u[2]=c=>l.value=c),class:"volume-control-dialog","close-on-content-click":!1,location:"top",scrim:o.$vuetify.theme.current.dark?"rgba(0,0,0,.75)":"rgba(0,0,0,.85)"},{activator:f(({props:c})=>[a(ie)("bp6")||!e.responsiveVolumeSize?(r(),_("div",Ti,[d(Pt,{style:"margin-right: 0px; margin-left: 0px;",width:e.volumeSize,"is-powered":a(t).activePlayer?.powered!=!1,disabled:!a(t).activePlayer?.available||a(t).activePlayer?.powered==!1||!a(t).activePlayer?.supported_features.includes(a(pe).VOLUME_SET),"model-value":a(t).activePlayer.group_members.length>0?Math.round(a(t).activePlayer?.group_volume||0):Math.round(a(t).activePlayer?.volume_level||0),"allow-wheel":!0,"onUpdate:modelValue":u[0]||(u[0]=v=>a(t).activePlayer.group_members.length>0?a(M).playerCommandGroupVolume(a(t).activePlayer?.player_id||"",v):a(M).playerCommandVolumeSet(a(t).activePlayer?.player_id||"",v)),"onUpdate:localValue":u[1]||(u[1]=v=>i.value=v)},{prepend:f(()=>[d(ge,K({variant:"icon",size:"48",ripple:!1},{...c}),{default:f(()=>[d(ae,{color:n.color?e.color:"",size:24,icon:s.value},null,8,["color","icon"]),w("div",Li,C(Math.round(i.value)),1)]),_:1},16)]),_:2},1032,["width","is-powered","disabled","model-value"])])):(r(),_("div",Mi,[d(ge,K({...c},{size:"48",variant:"icon"}),{default:f(()=>[d(ae,{color:n.color?e.color:"",icon:s.value},null,8,["color","icon"]),w("div",{class:"text-caption",style:j({color:n.color?e.color:""})},C(Math.round(i.value)),5)]),_:1},16)]))]),default:f(()=>[d(Ye,{"min-width":300,style:{overflow:"hidden","padding-top":"20px","padding-bottom":"20px","padding-right":"20px"}},{default:f(()=>[a(t).activePlayer?(r(),Q(Cl,{key:0,player:a(t).activePlayer,"show-sub-players":!0,"show-sync-controls":!1,"show-heading-row":!0,"show-volume-control":!0,"allow-wheel":!0,style:{"margin-left":"18px"}},null,8,["player"])):k("",!0)]),_:1})]),_:1},8,["modelValue","scrim"])])):k("",!0)}}),Ai=se(Ei,[["__scopeId","data-v-bdfdc6da"]]),Bi=W({__name:"PlayerExtendedControls",props:{queue:{default:()=>({isVisible:!0,showQueueDialog:!1})},player:{default:()=>({isVisible:!0})},volume:{default:()=>({isVisible:!0,volumeSize:"150px",responsiveVolumeSize:!1})}},setup(e){return(n,l)=>(r(),_(X,null,[e.player&&e.player.isVisible?(r(),Q(ha,{key:0,color:e.player.color},null,8,["color"])):k("",!0),e.queue&&e.queue.isVisible?(r(),Q(fa,{key:1,color:e.player.color,style:{"padding-left":"15px","padding-right":"20px"}},null,8,["color"])):k("",!0),e.volume&&e.volume.isVisible?(r(),Q(Ai,{key:2,color:e.volume.color,"volume-size":e.volume.volumeSize,"responsive-volume-size":e.volume.responsiveVolumeSize},null,8,["color","volume-size","responsive-volume-size"])):k("",!0)],64))}});function Ve(e,n,l){if(e===void 0||n===void 0||l!==void 0&&l!==Re.PLAYING)return e;const i=n*1e3,s=Date.now(),u=Math.max(0,s-i)/1e3;return e+u}const Ri={style:{width:"auto",height:"24px"}},Di={key:0,style:{width:"100%"}},qi=["onClick"],Fi={key:0,class:"time-text-row"},zi={class:"text-caption time-text-right"},Oi=W({__name:"PlayerTimeline",props:{showLabels:{type:Boolean,default:!1},color:{default:void 0}},setup(e){const{activeSource:n}=Je(N(t,"activePlayer")),l=R(!1),i=R(!0),s=R(!1),o=R(0),u=R(0),c=R(0);let v=null;const y=(A=500)=>{v||(v=setInterval(()=>c.value=Date.now(),A))},$=()=>{v&&(clearInterval(v),v=null)};Gt(()=>{$()});const b=S(()=>{if(n.value){if(t.activePlayer?.powered===!1)return!1;const A=!!t.curQueueItem?.duration,p=!!t.activePlayer?.current_media?.duration;return t.curQueueItem?.media_item?.media_type==F.RADIO||t.activePlayer?.current_media?.media_type==F.RADIO?!1:!!(n.value.can_seek&&(A||p))}return!(t.curQueueItem?.media_item?.media_type==F.RADIO||t.activePlayer?.powered==!1||!t.curQueueItem||!t.curQueueItem.media_item||!t.curQueueItem.duration)}),m=S(()=>{if(t.curQueueItem)return l.value?`-${Pe(t.curQueueItem.duration-L.value)}`:`${Pe(L.value)}`;if(t.activePlayer?.current_media?.elapsed_time!=null||t.activePlayer?.elapsed_time!=null){const A=L.value||0;return l.value&&t.activePlayer?.current_media?.duration?`-${Pe(t.activePlayer.current_media.duration-A)}`:`${Pe(A)}`}return"0:00"}),T=S(()=>{const A=t.curQueueItem?.duration||t.activePlayer?.current_media?.duration;return!A||t.curQueueItem?.media_item?.media_type==F.RADIO||t.activePlayer?.current_media?.media_type==F.RADIO?"":Pe(A)}),L=S(()=>{c.value;const A=t.activePlayer?.playback_state==="playing",E=!!(t.activePlayerQueue&&t.activePlayerQueue.active),p=t.activePlayer?.current_media?.elapsed_time!=null;if(A&&(E||p)?y():$(),s.value)return u.value=o.value,o.value;const h=t.activePlayerQueue;return h?.elapsed_time!=null&&h?.elapsed_time_last_updated!=null?Ve(h.elapsed_time,h.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:t.activePlayer?.current_media?.elapsed_time!=null&&t.activePlayer?.current_media?.elapsed_time_last_updated!=null?Ve(t.activePlayer.current_media.elapsed_time,t.activePlayer.current_media.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:t.activePlayer?.elapsed_time!=null&&t.activePlayer?.elapsed_time_last_updated!=null?Ve(t.activePlayer.elapsed_time,t.activePlayer.elapsed_time_last_updated,t.activePlayer?.playback_state)??0:0}),D=S(()=>{const A={};return t.curQueueItem?.media_item?.metadata?.chapters&&t.curQueueItem.media_item.metadata.chapters.forEach(E=>{A[E.start]=E.name}),A});ee(L,A=>{s.value||(o.value=A)});const z=function(){s.value=!0},U=()=>{s.value=!1,!s.value&&t.activePlayer&&M.playerCommandSeek(t.activePlayer.player_id,Math.round(u.value))},G=function(A){if(t.curQueueItem?.media_item?.metadata?.chapters){for(const E of t.curQueueItem.media_item.metadata.chapters)if(E.start==A){M.playMedia(t.curQueueItem.media_item.uri,void 0,void 0,E.position.toString());return}}};return(A,E)=>(r(),_("div",Ri,[a(t).activePlayer?(r(),_("div",Di,[d(Ql,{modelValue:o.value,"onUpdate:modelValue":E[0]||(E[0]=p=>o.value=p),disabled:!b.value,style:{width:"100%"},min:0,max:a(t).curQueueItem?.duration||a(t).activePlayer?.current_media?.duration,"hide-details":"","track-size":4,"thumb-size":i.value?0:10,"show-ticks":D.value?"always":!1,ticks:D.value,"tick-size":"4",color:e.color,onTouchstart:E[1]||(E[1]=p=>i.value=!1),onTouchend:E[2]||(E[2]=p=>i.value=!0),onMouseenter:E[3]||(E[3]=p=>i.value=!1),onMouseleave:E[4]||(E[4]=p=>i.value=!0),onStart:z,onEnd:U},{"tick-label":f(({tick:p})=>[e.showLabels&&!i.value&&Object.values(D.value).length<6?(r(),_("a",{key:0,class:"text-caption",onClick:h=>G(p.value)},C(p.label),9,qi)):k("",!0)]),_:1},8,["modelValue","disabled","max","thumb-size","show-ticks","ticks","color"]),e.showLabels?(r(),_("div",Fi,[w("div",{class:"text-caption time-text-left",onClick:E[5]||(E[5]=p=>l.value?l.value=!1:l.value=!0)},C(m.value),1),w("div",zi,C(T.value),1)])):k("",!0)])):k("",!0)]))}}),pa=se(Oi,[["__scopeId","data-v-1b667236"]]),Ni={class:"lyrics-container"},Wi={key:0,class:"lyrics-loading"},Hi={key:1,class:"lyrics-empty"},Ui={key:2,class:"lyrics-intro"},Yi={class:"song-title"},Xi={class:"artist-name"},ji={class:"lyrics-coming-soon"},Gi=W({__name:"LyricsViewer",props:{mediaItem:{default:void 0},position:{default:void 0},duration:{default:void 0},streamDetails:{default:void 0},textColor:{default:"#FFFFFF"},debugMode:{type:Boolean,default:!1}},setup(e){Zt(p=>({v3c09aed1:p.textColor}));const n=e,l=(p,h=!0)=>{if(h&&!n.debugMode)return;(h?console.debug:console.log)(`[lyricSynch] ${p}`)},i=R([]),s=R(!1),o=R(-1),u=R(null),c=R(!1),v=R(0),y=R(0),$=S(()=>{if(!m.value||!i.value.length)return!1;const p=i.value[0].time,h=n.position||0;return o.value===-1&&h<p}),b=S(()=>{if(!n.mediaItem)return"";if("media_type"in n.mediaItem&&n.mediaItem.media_type==="track"){const p=n.mediaItem;if(p.artists?.length)return p.artists.map(h=>h.name).join(", ")}return"media_type"in n.mediaItem&&n.mediaItem.media_type==="artist"?n.mediaItem.name:""});S(()=>{const p=n.mediaItem?.metadata?.lyrics,h=n.mediaItem?.metadata?.lrc_lyrics;return!!p&&p.trim().length>0||!!h&&h.trim().length>0});const m=S(()=>{if(i.value.some(x=>x.time>0))return!0;const p=n.mediaItem?.metadata?.lrc_lyrics,h=n.mediaItem?.metadata?.lyrics;return!!(p&&p.includes("[")||h&&/\[\d+:\d+[.:]?\d*\]/.test(h))}),T=p=>{const h=p.match(/\[(\d+):(\d+)([.:]\d+)?\](.*)/);if(h){const x=parseInt(h[1]);let V=parseInt(h[2]),B=0;if(h[3]){const g=h[3].replace(/[.:]/,".");B=Math.round(parseFloat(g)*1e3)}return{time:(x*60*1e3+V*1e3+B)/1e3,text:h[4].trim()||" "}}return{time:0,text:p.trim()||" "}},L=()=>{if(!n.mediaItem){i.value=[];return}s.value=!0;try{const p=n.mediaItem.metadata?.lrc_lyrics||"",h=n.mediaItem.metadata?.lyrics||"";let x="",V=!1;if(p?(x=p,V=!0):h&&/\[\d+:\d+[.:]?\d*\]/.test(h)?(x=h,V=!0):h&&(x=h,V=!1),V){const B=x.split(`
|
|
2
|
-
`).filter(q=>q.trim());i.value=B.map(q=>T(q)).filter(q=>q.text.trim()).sort((q,P)=>q.time-P.time),l(`Loaded ${i.value.length} synchronized lyrics lines`,!1)}else if(x){const B=x.split(`
|
|
3
|
-
`).filter(q=>q.trim());i.value=B.map(q=>({time:0,text:q.trim()})).filter(q=>q.text),l(`Loaded ${i.value.length} plain text lyrics lines`,!1)}else i.value=[]}catch(p){l(`Error processing lyrics: ${p}`,!1),i.value=[]}finally{s.value=!1}},D=p=>{const h=p;l(`Calculating look-ahead at ${p.toFixed(3)}s`);let x=-1,V=-1;for(let oe=0;oe<i.value.length;oe++)if(i.value[oe].time<=h)x=oe;else{V=oe;break}if(l(`Current lyric index: ${x}, Next lyric index: ${V}`),V===0){const fe=i.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"),v.value=.3;return}else if(fe>2){const Y=Math.min(1,fe*.15);l(`Medium intro - calculated look-ahead: ${Y.toFixed(2)}s`),v.value=Y;return}l("Short intro - using standard calculation")}if(V===-1||x===-1){l("Cannot determine appropriate look-ahead, using default: 0.3s"),v.value=.3;return}const B=i.value[x].time,q=i.value[V].time,P=q-B,g=v.value;l(`Gap analysis:
|
|
4
|
-
- Current lyric time: ${B.toFixed(3)}s
|
|
5
|
-
- Next lyric time: ${q.toFixed(3)}s
|
|
6
|
-
- Gap between lyrics: ${P.toFixed(3)}s
|
|
7
|
-
- Previous look-ahead: ${g.toFixed(3)}s`);let I;P<.5?(I=.3,l(`Very rapid lyrics detected (${P.toFixed(2)}s gap) - using 30% look-ahead`)):P<.8?(I=.1,l(`Fast lyrics detected (${P.toFixed(2)}s gap) - using 10% look-ahead`)):P<1.5?(I=.2,l(`Medium lyrics detected (${P.toFixed(2)}s gap) - using 20% look-ahead`)):P<3?(I=.3,l(`Slower lyrics detected (${P.toFixed(2)}s gap) - using 30% look-ahead`)):P>10?(I=.02,l(`Very slow lyrics detected (${P.toFixed(2)}s gap) - using 2% look-ahead`)):(I=.4,l(`Slow lyrics detected (${P.toFixed(2)}s gap) - using 40% look-ahead`));const O=Math.min(1.5,P*I);l(`Target look-ahead: ${O.toFixed(3)}s`);const Z=Math.abs(O-g),te=Math.min(.8,.3+Z*.5),ye=g*(1-te)+O*te;l(`Smoothed look-ahead: ${ye.toFixed(3)}s (adaptation rate: ${(te*100).toFixed(0)}%)`),Math.abs(ye-g)>.3&&l(`Look-ahead adjusted: ${g.toFixed(2)}s → ${ye.toFixed(2)}s`,!1),v.value=ye},z=p=>p===void 0||!i.value.length||!m.value||c.value,U=p=>{const h=Math.round((p+v.value)*1e3);let x=-1;for(let V=0;V<i.value.length&&Math.round(i.value[V].time*1e3)<=h;V++)x=V;return x},G=(p,h)=>{p<0||p===o.value||(l(`Lyric activated: "${i.value[p].text}"`),l(`Activating lyric at ${h.toFixed(2)}s (adjusted: ${(h+v.value).toFixed(2)}s):
|
|
8
|
-
- Index: ${p}
|
|
9
|
-
- Lyric time: ${i.value[p].time.toFixed(2)}s`),l(`Transition details:
|
|
10
|
-
- Raw position: ${h.toFixed(3)}s
|
|
11
|
-
- Dynamic look-ahead: ${v.value.toFixed(3)}s
|
|
12
|
-
- Adjusted position: ${(h+v.value).toFixed(3)}s`),p>0&&A(p,h),y.value=h,o.value=p,qe(()=>E()))},A=(p,h)=>{const x=h-y.value,V=i.value[p].time-i.value[p-1].time;l(`Timing analysis:
|
|
13
|
-
- Expected gap: ${V.toFixed(3)}s
|
|
14
|
-
- Actual gap: ${x.toFixed(3)}s
|
|
15
|
-
- Difference: ${(x-V).toFixed(3)}s`)},E=()=>{const p=document.querySelector(".lyrics-line.active"),h=u.value;p&&h&&p.scrollIntoView({behavior:"smooth",block:"center"})};return ee(()=>n.mediaItem?.item_id,()=>{L()},{immediate:!0}),ee(()=>n.position,p=>{if(z(p))return;const h=p??0;D(h);const x=U(h);x!==o.value&&G(x,h)}),xe(()=>{const p=u.value;p&&p.addEventListener("scroll",()=>{c.value=!0,setTimeout(()=>{c.value=!1},8e3)},{passive:!0})}),(p,h)=>(r(),_("div",Ni,[s.value?(r(),_("div",Wi,[d(Kt,{indeterminate:"",color:e.textColor},null,8,["color"]),w("div",null,C(a(J)("loading_lyrics")),1)])):i.value.length?$.value&&m.value?(r(),_("div",Ui,[w("div",Yi,C(n.mediaItem?.name),1),w("div",Xi,C(b.value),1),w("div",ji,C(a(J)("lyrics_will_appear_soon")),1)])):(r(),_("div",{key:3,ref_key:"lyricsContainer",ref:u,class:le(["lyrics-scroll-container",{"static-lyrics":!m.value}])},[(r(!0),_(X,null,ue(i.value,(x,V)=>(r(),_("div",{key:V,class:le(["lyrics-line",{active:o.value===V||!m.value}])},C(x.text),3))),128))],2)):(r(),_("div",Hi,C(a(J)("no_lyrics_available")),1))]))}}),Ki=se(Gi,[["__scopeId","data-v-a59ccea0"]]),Zi=["onClick"],Ji={class:"main"},en={key:0,class:"main-media-details"},tn={key:0,class:"main-media-details-image"},an={class:"main-media-details-track-info"},ln={key:0},nn={key:0},sn={key:12,style:{margin:"auto","padding-top":"20px"}},on={key:1,class:"main-queue-items"},rn={class:"queue-items-scroll-box"},un={class:"media-thumb listitem-media-thumb"},cn={class:"title-row"},dn={class:"d-flex"},mn={style:{"white-space":"nowrap"},class:"pr-1"},vn={key:0},yn={key:0,style:{"margin-left":"50px"}},fn={key:0,class:"text-caption"},hn={key:1,class:"lyrics-wrapper"},pn={key:2,class:"main-queue-items"},gn={class:"main-media-details-image main-media-details-image-alt"},_n={class:"player-bottom"},bn={class:"row",style:{"margin-left":"5%","margin-right":"5%"}},Pn={class:"media-controls"},wn={key:0,class:"row",style:{"margin-left":"5%","margin-right":"5%"}},kn={key:1,class:"row",style:{height:"70px",display:"flex","justify-content":"center","align-items":"center","padding-bottom":"15px","padding-top":"15px"}},xn=W({__name:"PlayerFullscreen",props:{colorPalette:{}},setup(e){const{name:n}=pt(),l=e,i=new nt,s=R(-1),o=new nt,u=R([]),c=R(0),v=R(!1),y=S(()=>t.activePlayerQueue?u.value.slice(t.activePlayerQueue.current_index):[]),$=S(()=>t.activePlayerQueue?u.value.slice(0,t.activePlayerQueue.current_index).reverse():[]),b=S(()=>{const P=t.curQueueItem?.media_item?.metadata?.lyrics,g=t.curQueueItem?.media_item?.metadata?.lrc_lyrics;return!!P&&P.trim().length>0||!!g&&g.trim().length>0}),m=S(()=>{switch(n.value){case"xs":return"1.2em";case"sm":return"1.6em";case"md":return"2em";case"lg":return t.showQueueItems?"1.5em":"2.5em";case"xl":return t.showQueueItems?"1.6em":"3em";case"xxl":return t.showQueueItems?"1.7em":"3.2em";default:return"1.0em."}}),T=S(()=>{switch(n.value){case"xs":return"1.0em";case"sm":return"1.2em";case"md":return"1.7em";case"lg":return t.showQueueItems?"1.0em":"1.6em";case"xl":return t.showQueueItems?"1.2em":"2em";case"xxl":return t.showQueueItems?"1.2em":"2em";default:return"1.0em."}}),L=S(()=>Xe.display.height.value>800),D=function(P){t.showFullscreenPlayer=!1,$t.push({name:P.media_type,params:{itemId:P.item_id,provider:P.provider}})},z=function(P){t.globalSearchTerm=P,$t.push({name:"search"}),t.showFullscreenPlayer=!1},U=function(P,g){const I=u.value.indexOf(g),O=[{label:"play_now",labelArgs:[],action:()=>{A(g,"play_now")},icon:"mdi-play-circle-outline",disabled:I===t.activePlayerQueue?.current_index||I===t.activePlayerQueue?.index_in_buffer},{label:"play_next",labelArgs:[],action:()=>{A(g,"move_next")},icon:"mdi-skip-next-circle-outline",disabled:I<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_up",labelArgs:[],action:()=>{A(g,"up")},icon:"mdi-arrow-up",disabled:I<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_move_down",labelArgs:[],action:()=>{A(g,"down")},icon:"mdi-arrow-down",disabled:I<=(t.activePlayerQueue?.index_in_buffer||0)},{label:"queue_delete",labelArgs:[],action:()=>{A(g,"delete")},icon:"mdi-delete",disabled:I<=(t.activePlayerQueue?.index_in_buffer||0)}];g?.media_item?.media_type==F.TRACK&&O.push({label:"show_info",labelArgs:[],action:()=>{D(g.media_item)},icon:"mdi-information-outline",disabled:!1}),$e.emit("contextmenu",{items:O,posX:P.clientX,posY:P.clientY})},G=function(P){t.activePlayer&&$e.emit("contextmenu",{items:$l(t.activePlayer,t.activePlayerQueue),posX:P.clientX,posY:P.clientY})},A=function(P,g){!P||!t.activePlayerQueue||(g=="play_now"?M.queueCommandPlayIndex(t.activePlayerQueue?.queue_id,P.queue_item_id):g=="move_next"?M.queueCommandMoveNext(t.activePlayerQueue?.queue_id,P.queue_item_id):g=="up"?M.queueCommandMoveUp(t.activePlayerQueue?.queue_id,P.queue_item_id):g=="down"?M.queueCommandMoveDown(t.activePlayerQueue?.queue_id,P.queue_item_id):g=="delete"&&M.queueCommandDelete(t.activePlayerQueue?.queue_id,P.queue_item_id))},E=async function(){v.value=!0,u.value=[],await Qt(100),v.value=!1},p=async function({done:P}){if(!t.activePlayerQueue||t.activePlayerQueue.items==0){P("empty");return}if(u.value.length>=t.activePlayerQueue?.items){P("empty");return}const g=u.value.length,I=(t.activePlayerQueue.current_index||0)+50,O=await M.getPlayerQueueItems(t.activePlayerQueue.queue_id,I,g);u.value.push(...O),O.length<50?P("empty"):P("ok")};xe(()=>{const P=M.subscribe(ul.QUEUE_ITEMS_UPDATED,g=>{g.object_id==t.activePlayerQueue?.queue_id&&(g.data,E())});Fe(P)});const h=async function(P){if(!t.curQueueItem?.media_item)return;if(!t.curQueueItem.media_item.favorite){M.toggleFavorite(t.curQueueItem.media_item);return}let g=t.curQueueItem.media_item;(g.provider!="library"||!("provider_mappings"in g))&&[F.ALBUM,F.ARTIST,F.AUDIOBOOK,F.PLAYLIST,F.PODCAST,F.RADIO,F.TRACK].includes(g.media_type)&&(g=await M.getLibraryItem(g.media_type,g.item_id,g.provider)||g);const I=[];"favorite"in g&&g.favorite&&g.provider=="library"&&[F.ALBUM,F.ARTIST,F.AUDIOBOOK,F.PLAYLIST,F.PODCAST,F.RADIO,F.TRACK].includes(g.media_type)&&I.push({label:"favorites_remove",labelArgs:[],action:()=>{M.removeItemFromFavorites(g.media_type,g.item_id),g.favorite=!1,t.curQueueItem.media_item.favorite=!1},icon:"mdi-heart"}),[F.ALBUM,F.ARTIST,F.AUDIOBOOK,F.PLAYLIST,F.PODCAST,F.RADIO,F.TRACK].includes(g.media_type)&&I.push({label:"add_playlist",labelArgs:[],action:()=>{$e.emit("playlistdialog",{items:[t.curQueueItem.media_item]})},icon:"mdi-plus-circle-outline"}),$e.emit("contextmenu",{items:I,posX:P.clientX,posY:P.clientY})},x=function(){v.value=!0,Qt(100).then(()=>{v.value=!1})},V=function(P,g){M.playMedia(P.uri,cl.PLAY,void 0,g.position.toString())};ee(()=>t.activePlayerId,P=>{E()},{immediate:!0});const B=R(void 0),q=R(void 0);return ht(()=>{const P=ze("white"),g=ze("black"),I=5,O=.05,Z=Xe.theme.current.value.dark?l.colorPalette.darkColor||"#000":l.colorPalette.lightColor||"#fff";let te=ze(Z);const ye=P.contrast(te),oe=g.contrast(te),fe=ye>=oe;let Y=fe?P:g,et=Math.max(ye,oe);if(et<I){let kt=O;for(;et<I&&kt<=.5;)fe?te=te.darken(O):te=te.lighten(O),et=ze(Y).contrast(te),kt+=O}document.documentElement.style.setProperty("--text-color",Y.hex()),B.value=Y.hex(),q.value=te.hex()}),(P,g)=>(r(),Q(la,{modelValue:a(t).showFullscreenPlayer,"onUpdate:modelValue":g[13]||(g[13]=I=>a(t).showFullscreenPlayer=I),fullscreen:"",scrim:!1,transition:"dialog-bottom-transition","z-index":"9999"},{default:f(()=>[d(Ye,{color:q.value},{default:f(()=>[d(Tl,{class:"v-toolbar-default",color:"transparent"},{prepend:f(()=>[d(ge,{icon:"",onClick:g[0]||(g[0]=I=>a(t).showFullscreenPlayer=!1)},{default:f(()=>[d(ae,{icon:"mdi-chevron-down"})]),_:1})]),append:f(()=>[a(t).activePlayerQueue?.radio_source.length?(r(),Q(gt,{key:0,scrim:""},{activator:f(({props:I})=>[d(ge,K(I,{icon:""}),{default:f(()=>[d(ae,{color:"accent",icon:"mdi-radio-tower"})]),_:1},16)]),default:f(()=>[d(Ye,{title:a(J)("queue_radio_enabled"),subtitle:a(J)("queue_radio_based_on")},{text:f(()=>[(r(!0),_(X,null,ue(a(t).activePlayerQueue?.radio_source,I=>(r(),_("div",{key:I.uri},[w("a",{onClick:O=>D(I)},C(I.name),9,Zi)]))),128))]),_:1},8,["title","subtitle"])]),_:1})):k("",!0),L.value?k("",!0):(r(),Q(ha,{key:1})),d(ge,{icon:"",onClick:Oe(G,["stop"])},{default:f(()=>[d(ae,{icon:"mdi-dots-vertical"})]),_:1})]),_:1}),w("div",Ji,[a(ie)("bp7")||!a(t).showQueueItems?(r(),_("div",en,[P.$vuetify.display.height>600?(r(),_("div",tn,[a(t).activePlayer?.powered!=!1&&a(t).curQueueItem?(r(),Q(Ae,{key:0,item:a(t).curQueueItem,thumbnail:!1,style:{"max-width":"100%",width:"auto"},fallback:P.$vuetify.theme.current.dark?a(je):a(it)},null,8,["item","fallback"])):a(t).activePlayer?.powered!=!1&&!a(t).curQueueItem?.image&&a(t).activePlayer?.current_media?.image_url?(r(),Q(Ue,{key:1,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:a(t).activePlayer.current_media.image_url},null,8,["src"])):(r(),Q(Ue,{key:2,style:{"max-width":"100%",width:"auto","border-radius":"4px"},src:P.$vuetify.theme.current.dark?a(je):a(it)},null,8,["src"]))])):k("",!0),w("div",an,[a(t).activePlayer?.powered==!1?(r(),Q(Me,{key:0,style:j(`font-size: ${m.value};`)},{default:f(()=>[H(C(a(t).activePlayer?.name),1)]),_:1},8,["style"])):a(t).curQueueItem?.media_item?(r(),Q(Me,{key:1,style:j(`font-size: ${m.value};cursor:pointer;`),onClick:g[1]||(g[1]=I=>D(a(t).curQueueItem.media_item))},{default:f(()=>[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).curQueueItem.media_item.name)+" ",1),"version"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.version?(r(),_("span",ln,"("+C(a(t).curQueueItem.media_item.version)+")",1)):k("",!0)]),_:1},8,["sync"])]),_:1},8,["style"])):!a(t).activePlayerQueue&&a(t).activePlayer?.current_media?.title?(r(),Q(Me,{key:2},{default:f(()=>[a(t).activePlayer?.current_media?.artist?(r(),_("div",nn,[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).activePlayer?.current_media?.artist),1)]),_:1},8,["sync"])])):k("",!0),a(t).activePlayer?.current_media?.title?(r(),_("div",{key:1,style:j(`font-size: ${T.value};`)},[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).activePlayer?.current_media?.title),1)]),_:1},8,["sync"])],4)):k("",!0)]),_:1})):(r(),Q(Me,{key:3,style:j(`font-size: ${m.value};cursor:pointer;`),onClick:g[2]||(g[2]=I=>a(t).showPlayersMenu=!0)},{default:f(()=>[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).activePlayer?.name||a(J)("no_player")),1)]),_:1},8,["sync"])]),_:1},8,["style"])),a(t).activePlayer?.powered==!1?(r(),Q(he,{key:4,class:"text-h6 text-md-h5 text-lg-h4"},{default:f(()=>[H(C(a(J)("off")),1)]),_:1})):k("",!0),a(t).curQueueItem?.streamdetails?.stream_metadata&&a(t).curQueueItem?.streamdetails?.stream_metadata.title&&a(t).curQueueItem?.streamdetails?.stream_metadata.artist?(r(),Q(he,{key:5,class:"text-h6 text-md-h5 text-lg-h4",onClick:g[3]||(g[3]=I=>z(`${a(t).curQueueItem?.streamdetails?.stream_metadata.artist} - ${a(t).curQueueItem?.streamdetails?.stream_metadata.title}`))},{default:f(()=>[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).curQueueItem?.streamdetails?.stream_metadata.artist)+" - "+C(a(t).curQueueItem?.streamdetails?.stream_metadata.title),1)]),_:1},8,["sync"])]),_:1})):k("",!0),a(t).curQueueItem?.streamdetails?.stream_metadata&&a(t).curQueueItem?.streamdetails?.stream_metadata.title?(r(),Q(he,{key:6,class:"text-h6 text-md-h5 text-lg-h4",onClick:g[4]||(g[4]=I=>z(a(t).curQueueItem?.streamdetails?.stream_metadata.title))},{default:f(()=>[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).curQueueItem?.streamdetails?.stream_metadata.title),1)]),_:1},8,["sync"])]),_:1})):k("",!0),a(t).curQueueItem?.media_item&&"album"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.album&&a(t).activePlayer?.powered!=!1?(r(),Q(he,{key:7,style:j(`font-size: ${T.value};cursor:pointer;`),onClick:g[5]||(g[5]=I=>D(a(t).curQueueItem.media_item.album))},{default:f(()=>[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).curQueueItem.media_item.album.name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):k("",!0),a(t).curQueueItem?.media_item&&"artists"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.artists.length&&a(t).activePlayer?.powered!=!1?(r(),Q(he,{key:8,style:j(`font-size: ${T.value};cursor:pointer;`),onClick:g[6]||(g[6]=I=>D(a(t).curQueueItem.media_item.artists[0]))},{default:f(()=>[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).curQueueItem.media_item.artists[0].name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):k("",!0),a(t).curQueueItem?.media_item&&"podcast"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.podcast?(r(),Q(he,{key:9,style:j(`font-size: ${T.value};`)},{default:f(()=>[d(ne,{sync:a(i)},{default:f(()=>[H(C(a(t).curQueueItem.media_item.podcast.name),1)]),_:1},8,["sync"])]),_:1},8,["style"])):a(t).activePlayer&&a(t).activePlayer?.active_source!=a(t).activePlayer?.player_id&&a(t).activePlayer?.powered!=!1?(r(),Q(he,{key:10},{default:f(()=>[H(C(a(J)("external_source_active",[a(Jt)(a(t).activePlayer)])),1)]),_:1})):a(t).activePlayerQueue&&a(t).activePlayerQueue.items==0&&a(t).activePlayer?.powered!=!1?(r(),Q(he,{key:11,style:j(`font-size: ${T.value}`)},{default:f(()=>[H(C(a(J)("queue_empty")),1)]),_:1},8,["style"])):k("",!0),a(t).activePlayer?.powered!=!1?(r(),_("div",sn,[d(ea)])):k("",!0)])])):k("",!0),a(t).showQueueItems?(r(),_("div",on,[d(di,{modelValue:c.value,"onUpdate:modelValue":g[7]||(g[7]=I=>c.value=I),"hide-slider":"",density:"compact",onClick:x},{default:f(()=>[d(He,{value:0},{default:f(()=>[H(C(a(J)("queue"))+" ",1),d(at,{color:"grey",content:(a(t).activePlayerQueue?.items||0)-(a(t).activePlayerQueue?.current_index||0),inline:""},null,8,["content"])]),_:1}),d(He,{value:1},{default:f(()=>[H(C(a(J)("played"))+" ",1),d(at,{color:"grey",content:a(t).activePlayerQueue?.current_index,inline:""},null,8,["content"])]),_:1}),b.value?(r(),Q(He,{key:0,value:2},{default:f(()=>[H(C(a(J)("lyrics")),1)]),_:1})):k("",!0)]),_:1},8,["modelValue"]),w("div",rn,[!v.value&&c.value!==2?(r(),Q(xl,{key:0,onLoad:p,"empty-text":"",height:"100%"},{default:f(()=>[d(Ll,{"item-height":70,"max-height":"90%",items:c.value==0?y.value:$.value},{default:f(({item:I,index:O})=>[d(Sl,{link:"","show-menu-btn":!0,disabled:!I.available,onClick:Oe(Z=>U(Z,I),["stop"]),onMenu:Oe(Z=>U(Z,I),["stop"]),onMouseenter:Z=>s.value=O,onMouseleave:g[8]||(g[8]=Z=>s.value=-1)},{prepend:f(()=>[w("div",un,[d(Ae,{size:"50",item:I},null,8,["item"])])]),title:f(()=>[w("div",cn,[d(ne,{sync:O==0&&c.value==0?a(i):a(o),disabled:!(O==0&&c.value==0||s.value==O)},{default:f(()=>[w("span",{class:le({"is-playing":I.queue_item_id===a(t).curQueueItem?.queue_item_id})},C(I.name),3)]),_:2},1032,["sync","disabled"])])]),subtitle:f(()=>[w("div",dn,[w("span",mn,C(a(Pe)(I.duration))+" | ",1),d(ne,{sync:O==0&&c.value==0?a(i):a(o),disabled:!(O==0&&c.value==0||s.value==O)},{default:f(()=>[I.media_item&&"album"in I.media_item&&I.media_item.album?(r(),_("span",vn,C(I.media_item.album.name),1)):k("",!0)]),_:2},1032,["sync","disabled"])])]),append:f(()=>[I.queue_item_id===a(t).curQueueItem?.queue_item_id&&a(t).activePlayer?.playback_state!=a(Re).IDLE?(r(),Q(Vl,{key:0,"show-badge":a(ie)("bp4")},null,8,["show-badge"])):k("",!0),I.available?k("",!0):(r(),Q(ae,{key:1},{default:f(()=>[...g[14]||(g[14]=[H("mdi-alert",-1)])]),_:1}))]),_:2},1032,["disabled","onClick","onMenu","onMouseenter"]),I.queue_item_id==a(t).curQueueItem?.queue_item_id&&I.media_item?.metadata?.chapters?.length?(r(),_("div",yn,[(r(!0),_(X,null,ue(I.media_item.metadata?.chapters,Z=>(r(),Q(Te,{key:Z.position,onClick:Oe(te=>V(I.media_item,Z),["stop"])},{title:f(()=>[w("div",null,C(Z.name),1)]),append:f(()=>[Z.end?(r(),_("span",fn,C(a(Pe)(Z.end-Z.start)),1)):k("",!0)]),_:2},1032,["onClick"]))),128))])):k("",!0)]),_:1},8,["items"])]),_:1})):k("",!0),c.value===2?(r(),_("div",hn,[d(Ki,{"media-item":a(t).curQueueItem?.media_item,position:a(t).activePlayerQueue?.elapsed_time,duration:a(t).curQueueItem?.duration,"stream-details":a(t).curQueueItem?.streamdetails,"text-color":B.value},null,8,["media-item","position","duration","stream-details","text-color"])])):k("",!0)])])):k("",!0),!a(t).showQueueItems&&P.$vuetify.display.height<=600?(r(),_("div",pn,[w("div",gn,[d(Ae,{item:a(t).curQueueItem,thumbnail:!1,style:{"max-width":"100%",width:"auto"}},null,8,["item"])])])):k("",!0)]),w("div",_n,[w("div",bn,[d(pa,{"show-labels":!0,color:B.value},null,8,["color"])]),w("div",Pn,[a(t).activePlayerQueue?(r(),Q(Ie,{key:0,disabled:!a(t).curQueueItem?.media_item,icon:a(t).curQueueItem?.media_item?.favorite?"mdi-heart":"mdi-heart-outline",title:a(J)("tooltip.favorite"),variant:"button",class:"media-controls-item","max-height":"30px",onClick:h},null,8,["disabled","icon","title"])):k("",!0),P.$vuetify.display.mdAndUp?(r(),Q(ya,{key:1,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"30px"},null,8,["player-queue"])):k("",!0),d(va,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),d(ma,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"70px"},null,8,["player","player-queue"]),d(da,{player:a(t).activePlayer,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"45px"},null,8,["player","player-queue"]),P.$vuetify.display.mdAndUp?(r(),Q(ca,{key:2,"player-queue":a(t).activePlayerQueue,class:"media-controls-item","max-height":"35px"},null,8,["player-queue"])):k("",!0),a(t).activePlayerQueue?(r(),Q(fa,{key:3,class:"media-controls-item","max-height":"30px"})):k("",!0)]),a(t).activePlayer?(r(),_("div",wn,[d(Pt,{width:"100%","is-powered":a(t).activePlayer?.powered!=!1,disabled:!a(t).activePlayer||!a(t).activePlayer?.available||a(t).activePlayer.powered==!1||!a(t).activePlayer.supported_features.includes(a(pe).VOLUME_SET),"model-value":Math.round(a(t).activePlayer.group_members.length>0?a(t).activePlayer.group_volume:a(t).activePlayer.volume_level||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus",color:B.value,"allow-wheel":!0,"onUpdate:modelValue":g[9]||(g[9]=I=>a(t).activePlayer.group_members.length>0?a(M).playerCommandGroupVolume(a(t).activePlayerId,I):a(M).playerCommandVolumeSet(a(t).activePlayerId,I)),"onClick:prepend":g[10]||(g[10]=I=>a(t).activePlayer.group_members.length>0?a(M).playerCommandGroupVolumeDown(a(t).activePlayerId):a(M).playerCommandVolumeDown(a(t).activePlayerId)),"onClick:append":g[11]||(g[11]=I=>a(t).activePlayer.group_members.length>0?a(M).playerCommandGroupVolumeUp(a(t).activePlayerId):a(M).playerCommandVolumeUp(a(t).activePlayerId))},null,8,["is-powered","disabled","model-value","color"])])):k("",!0),L.value?(r(),_("div",kn,[d(_e,{class:"responsive-icon-holder-btn",variant:"outlined",onClick:g[12]||(g[12]=I=>a(t).showPlayersMenu=!0)},{default:f(()=>[d(ae,{icon:a(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"]),H(" "+C(a(t).activePlayer?a(ta)(a(t).activePlayer):""),1)]),_:1})])):k("",!0)])]),_:1},8,["color"])]),_:1},8,["modelValue"]))}}),In=se(xn,[["__scopeId","data-v-b887a403"]]),Cn={key:1},$n={key:2,class:"icon-thumb"},Qn={key:0},Sn={key:2},Vn={key:3},Tn={key:4},Ln={key:0,class:"pl-4"},Mn={key:0},En={key:1},An={key:2},Bn={key:3},Rn={key:4},Dn={key:5},qn={key:6,class:"line-clamp-1"},Fn={key:7},zn={key:8,class:"line-clamp-1"},On={key:9,class:"line-clamp-1"},Nn={key:0},Wn=W({__name:"PlayerTrackDetails",props:{showOnlyArtist:{type:Boolean,default:!1},showQualityDetailsBtn:{type:Boolean,default:!0},colorPalette:{},primaryColor:{default:""}},setup(e){const n=new nt,l=e,i=S(()=>t.activePlayerQueue?.current_item?.streamdetails),s=R(0);let o=null;const u=(v=500)=>{o||(o=setInterval(()=>s.value=Date.now(),v))},c=()=>{o&&(clearInterval(o),o=null)};return Gt(()=>{c()}),S(()=>{s.value;const v=t.activePlayer?.playback_state==="playing",y=!!(t.activePlayerQueue&&t.activePlayerQueue.active),$=t.activePlayer?.current_media?.elapsed_time!=null;v&&(y||$)?u():c();const b=t.activePlayerQueue;if(b?.elapsed_time!=null&&b?.elapsed_time_last_updated!=null)return Ve(b.elapsed_time,b.elapsed_time_last_updated,t.activePlayer?.playback_state);if(t.activePlayer?.current_media?.elapsed_time!=null&&t.activePlayer?.current_media?.elapsed_time_last_updated!=null)return Ve(t.activePlayer.current_media.elapsed_time,t.activePlayer.current_media.elapsed_time_last_updated,t.activePlayer?.playback_state);if(t.activePlayer?.elapsed_time!=null&&t.activePlayer?.elapsed_time_last_updated!=null)return Ve(t.activePlayer.elapsed_time,t.activePlayer.elapsed_time_last_updated,t.activePlayer?.playback_state)}),(v,y)=>(r(),_(X,null,[d(Te,{style:{height:"auto",width:"fit-content",margin:"0px",padding:"0px"},lines:"two"},{prepend:f(()=>[w("div",{class:"media-thumb player-media-thumb",style:j(`cursor: pointer;height: ${a(ie)({breakpoint:"phone"})?60:64}px; width: ${a(ie)({breakpoint:"phone"})?60:64}px; `),onClick:y[0]||(y[0]=$=>a(t).showFullscreenPlayer=!0)},[a(t).activePlayer?.powered!=!1&&a(t).curQueueItem?(r(),Q(Ae,{key:0,item:a(t).curQueueItem,fallback:a(je)},null,8,["item","fallback"])):a(t).activePlayer?.powered!=!1&&a(t).activePlayer?.current_media?.image_url?(r(),_("div",Cn,[d(Ue,{class:"media-thumb",style:{"border-radius":"4px"},size:"60",src:a(t).activePlayer.current_media.image_url},null,8,["src"])])):(r(),_("div",$n,[d(ae,{size:"24",icon:a(t).activePlayer?.type==a(We).PLAYER&&a(t).activePlayer?.group_members.length?"mdi-speaker-multiple":a(t).activePlayer?.icon||"mdi-speaker"},null,8,["icon"])]))],4)]),title:f(()=>[w("div",{style:j({cursor:"pointer",color:e.primaryColor})},[a(t).activePlayer?.powered==!1?(r(),_("div",{key:0,onClick:y[1]||(y[1]=$=>a(t).showPlayersMenu=!0)},C(a(t).activePlayer?.name),1)):a(t).curQueueItem?.media_item?(r(),_("div",{key:1,onClick:y[2]||(y[2]=$=>a(t).showFullscreenPlayer=!0)},[d(ne,{sync:a(n)},{default:f(()=>[H(C(a(t).curQueueItem.media_item.name)+" ",1),"version"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.version?(r(),_("span",Qn,"("+C(a(t).curQueueItem.media_item.version)+")",1)):k("",!0)]),_:1},8,["sync"])])):a(t).curQueueItem?(r(),_("div",Sn,C(a(t).curQueueItem.name),1)):!a(t).activePlayerQueue&&a(t).activePlayer?.current_media?.title?(r(),_("div",Vn,C(a(t).activePlayer.current_media.title),1)):a(t).activePlayer?(r(),_("div",Tn,C(a(t).activePlayer?.name),1)):(r(),_("div",{key:5,onClick:y[3]||(y[3]=$=>a(t).showPlayersMenu=!0)},C(v.$t("no_player")),1))],4)]),append:f(()=>[i.value?.audio_format.content_type&&!a(ie)({breakpoint:"phone"})&&e.showQualityDetailsBtn?(r(),_("div",Ln,[d(ea)])):k("",!0)]),subtitle:f(()=>[w("div",{style:j({cursor:"pointer",color:e.primaryColor}),class:"line-clamp-1",onClick:y[4]||(y[4]=$=>a(t).showFullscreenPlayer=!0)},[d(ne,{sync:a(n)},{default:f(()=>[a(t).activePlayer?.powered==!1?(r(),_("div",Mn,C(v.$t("off")),1)):a(t).curQueueItem&&a(t).curQueueItem.media_item?.media_type==a(F).TRACK&&"album"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.album&&!l.showOnlyArtist?(r(),_("div",En,C(a(dl)(a(t).curQueueItem.media_item.artists))+" • "+C(a(t).curQueueItem.media_item.album.name),1)):a(t).curQueueItem?.media_item&&"artists"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.artists.length>0?(r(),_("div",An,C(a(t).curQueueItem.media_item.artists[0].name),1)):a(t).curQueueItem?.media_item&&"podcast"in a(t).curQueueItem.media_item&&a(t).curQueueItem.media_item.podcast?.name?(r(),_("div",Bn,C(a(t).curQueueItem.media_item.podcast.name),1)):a(t).curQueueItem?.streamdetails?.stream_metadata&&a(t).curQueueItem?.streamdetails?.stream_metadata.title&&a(t).curQueueItem?.streamdetails?.stream_metadata.artist?(r(),_("div",Rn,C(a(t).curQueueItem?.streamdetails?.stream_metadata.artist)+" - "+C(a(t).curQueueItem?.streamdetails?.stream_metadata.title),1)):a(t).curQueueItem?.streamdetails?.stream_metadata&&a(t).curQueueItem?.streamdetails?.stream_metadata.title?(r(),_("div",Dn,C(a(t).curQueueItem?.streamdetails?.stream_metadata.title),1)):a(t).curQueueItem?.media_item?.metadata.description?(r(),_("div",qn,C(a(ml)(a(t).curQueueItem.media_item.metadata.description,100)),1)):!a(t).activePlayerQueue&&a(t).activePlayer?.active_source&&a(t).activePlayer?.current_media?.artist?(r(),_("div",Fn,C(a(t).activePlayer.current_media.artist),1)):!a(t).activePlayerQueue&&a(t).activePlayer?.active_source?(r(),_("div",zn,C(v.$t("external_source_active",[a(Jt)(a(t).activePlayer)])),1)):a(t).activePlayerQueue&&a(t).activePlayerQueue.items==0?(r(),_("div",On,C(v.$t("queue_empty")),1)):k("",!0)]),_:1},8,["sync"]),a(t).activePlayer&&a(t).activePlayer?.powered!=!1?(r(),_("div",Nn,C(a(ta)(a(t).activePlayer)),1)):k("",!0)],4)]),_:1}),d(In,{"show-fullscreen":a(t).showFullscreenPlayer,"color-palette":e.colorPalette},null,8,["show-fullscreen","color-palette"])],64))}}),Hn=se(Wn,[["__scopeId","data-v-01cf6ec5"]]),Un=["data-floating"],Yn=["data-mobile"],Xn={class:"mediacontrols-left"},jn={class:"mediacontrols-bottom-center"},Gn={class:"mediacontrols-bottom-right"},Kn={key:0,class:"volume-slider"},Zn=W({__name:"Player",props:{useFloatingPlayer:{type:Boolean}},setup(e){Zt(o=>({v31d44b17:s.value}));const{mobile:n}=pt({mobileBreakpoint:576}),l=R({0:"",1:"",2:"",3:"",4:"",5:"",lightColor:"",darkColor:""}),i=new Image;i.src=Xe.theme.current.value.dark?je:it,i.crossOrigin="Anonymous",i.addEventListener("load",function(){l.value=vl(i)});const s=S(()=>Xe.theme.current.value.dark?l.value&&l.value.darkColor?l.value.darkColor:"#CCCCCC26":l.value&&l.value.lightColor?l.value.lightColor:"#CCCCCC26");return ee(()=>t.curQueueItem?.queue_item_id,()=>{t.curQueueItem?.media_item?i.src=St(t.curQueueItem.media_item,Vt.THUMB)||"":t.curQueueItem?i.src=St(t.curQueueItem,Vt.THUMB)||"":i.src=""}),(o,u)=>(r(),_(X,null,[w("div",{class:"mediacontrols-bg","data-floating":e.useFloatingPlayer},null,8,Un),w("div",{class:"mediacontrols","data-mobile":a(n)},[w("div",Xn,[d(Hn,{"show-quality-details-btn":!!a(ie)("bp8"),"show-only-artist":!a(ie)("bp7"),"color-palette":l.value,"primary-color":o.$vuetify.theme.current.dark?"#fff":"#000"},null,8,["show-quality-details-btn","show-only-artist","color-palette","primary-color"])]),w("div",jn,[d(zt,{"visible-components":{repeat:{isVisible:a(ie)("bp3")},shuffle:{isVisible:a(ie)("bp3")},play:{isVisible:!0,icon:{staticWidth:"48px",staticHeight:"48px"}},previous:{isVisible:a(ie)("bp3")},next:{isVisible:a(ie)("bp3")}}},null,8,["visible-components"]),a(ie)("bp6")?(r(),Q(pa,{key:0,"is-progress-bar":!1,disabled:!a(t).activePlayerQueue?.active||a(t).activePlayerQueue?.current_item?.media_item?.media_type!==a(F).TRACK},null,8,["disabled"])):k("",!0)]),w("div",Gn,[w("div",null,[d(Bi,{queue:{isVisible:a(ie)("bp3"),color:o.$vuetify.theme.current.dark?"#fff":"#000"},player:{isVisible:!0,color:o.$vuetify.theme.current.dark?"#fff":"#000"},volume:{isVisible:!a(n)&&a(t).activePlayer!=null,color:o.$vuetify.theme.current.dark?"#fff":"#000"}},null,8,["queue","player","volume"]),d(zt,{style:{"padding-right":"5px"},"visible-components":{repeat:{isVisible:!1},shuffle:{isVisible:!1},play:{isVisible:a(ie)({breakpoint:"bp3",condition:"lt"}),icon:{staticWidth:"40px",staticHeight:"40px",color:o.$vuetify.theme.current.dark?"#fff":"#000"}},previous:{isVisible:!1},next:{isVisible:!1}}},null,8,["visible-components"])])])],8,Yn),a(n)&&a(t).activePlayer?(r(),_("div",Kn,[d(Pt,{width:"100%",color:"secondary","is-powered":a(t).activePlayer?.powered!=!1,disabled:!a(t).activePlayer||!a(t).activePlayer?.available||a(t).activePlayer.powered==!1||!a(t).activePlayer.supported_features.includes(a(pe).VOLUME_SET),"model-value":Math.round(a(t).activePlayer.group_members.length>0?a(t).activePlayer.group_volume:a(t).activePlayer.volume_level||0),"prepend-icon":"mdi-volume-minus","append-icon":"mdi-volume-plus","onUpdate:modelValue":u[0]||(u[0]=c=>a(t).activePlayer.group_members.length>0?a(M).playerCommandGroupVolume(a(t).activePlayerId,c):a(M).playerCommandVolumeSet(a(t).activePlayerId,c)),"onClick:prepend":u[1]||(u[1]=c=>a(t).activePlayer.group_members.length>0?a(M).playerCommandGroupVolumeDown(a(t).activePlayerId):a(M).playerCommandVolumeDown(a(t).activePlayerId)),"onClick:append":u[2]||(u[2]=c=>a(t).activePlayer.group_members.length>0?a(M).playerCommandGroupVolumeUp(a(t).activePlayerId):a(M).playerCommandVolumeUp(a(t).activePlayerId))},null,8,["is-powered","disabled","model-value"])])):k("",!0)],64))}}),Jn=se(Zn,[["__scopeId","data-v-022a7f9a"]]),es={class:"menuButton"},ts={class:"menuButton"},as=W({__name:"BottomNavigation",props:{height:{}},setup(e){const n=ua(),l=R(!1);return(i,s)=>(r(),Q(Dl,{height:e.height,"bg-color":"default",grow:"",role:"navigation"},{default:f(()=>[(r(!0),_(X,null,ue(a(n).filter(o=>!o.isLibraryNode),o=>(r(),Q(_e,{key:o.label,to:o.path,"aria-label":i.$t(o.label),tabindex:"0",variant:"text","active-color":"fg","base-color":"grey"},{default:f(()=>[d(ae,{size:"xx-large"},{default:f(()=>[H(C(o.icon),1)]),_:2},1024),w("span",es,C(i.$t(o.label)),1)]),_:2},1032,["to","aria-label"]))),128)),d(gt,null,{activator:f(({props:o})=>[d(_e,K(o,{"aria-haspopup":"true","aria-expanded":l.value.toString(),"aria-label":"Open library menu","base-color":"grey"}),{default:f(()=>[d(ae,{size:"xx-large"},{default:f(()=>[...s[0]||(s[0]=[H("mdi-bookshelf",-1)])]),_:1}),w("span",ts,C(i.$t("library")),1)]),_:1},16,["aria-expanded"])]),default:f(()=>[d(Qe,null,{default:f(()=>[(r(!0),_(X,null,ue(a(n).filter(o=>o.isLibraryNode),o=>(r(),Q(Te,{key:o.label,title:i.$t(o.label),"prepend-icon":o.icon,to:o.path},null,8,["title","prepend-icon","to"]))),128))]),_:1})]),_:1})]),_:1},8,["height"]))}}),ls=W({__name:"Footer",setup(e){const n=S(()=>t.isInStandaloneMode?100:80);return(l,i)=>(r(),_(X,null,[a(t).mobileLayout?(r(),_("div",{key:0,class:le(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)):k("",!0),a(t).mobileLayout?(r(),Q(as,{key:1,height:n.value},null,8,["height"])):k("",!0),d(Yl,{app:"",color:"default",class:le(`py-0 px-0 ${a(t).mobileLayout?"mediacontrols-player-float":"mediacontrols-player-default"}`)},{default:f(()=>[d(Jn,{"use-floating-player":a(t).mobileLayout},null,8,["use-floating-player"])]),_:1},8,["class"])],64))}}),is={style:{float:"right","margin-right":"-20px"}},ns=W({__name:"PlayerSelect",setup(e){const n=R(!1),l=R(null),i=S(()=>Object.values(M.players).filter(c=>Tt(c)).filter(c=>c.player_id!==be.player_id).sort((c,v)=>c.name.toUpperCase()>v.name?.toUpperCase()?1:-1));ee(()=>t.activePlayerId,c=>{c&&localStorage.setItem("mass.LastPlayerId",c)}),ee(()=>M.players,c=>{c&&!t.activePlayer&&o()},{deep:!0}),ee(()=>M.state,c=>{c.value!=hl.CONNECTED&&(t.activePlayerId=void 0)},{deep:!0});function s(c,v=!1){t.activePlayerId==c.player_id?n.value=!n.value:(n.value=!1,t.activePlayerId=c.player_id),v&&(t.showPlayersMenu=!1)}xe(()=>{o()});const o=function(){if(t.activePlayer&&Tt(t.activePlayer))return;const c=u();c&&(t.activePlayerId=c)},u=function(){const c=localStorage.getItem("mass.LastPlayerId");if(c&&c in M.players&&M.players[c].available)return c};return(c,v)=>(r(),_(X,null,[d(aa,{modelValue:a(t).showPlayersMenu,"onUpdate:modelValue":v[0]||(v[0]=y=>a(t).showPlayersMenu=y)},null,8,["modelValue"]),a(t).showPlayersMenu?(r(),Q(ii,{key:0,modelValue:a(t).showPlayersMenu,"onUpdate:modelValue":v[4]||(v[4]=y=>a(t).showPlayersMenu=y),location:"right",app:"",clipped:"",temporary:"",width:460,style:{"z-index":"99999"},"z-index":"99999",color:"background"},{default:f(()=>[w("div",null,[d(Me,{class:"title",style:{"padding-top":"20px","padding-bottom":"20px"}},{default:f(()=>[w("b",null,C(c.$t("players")),1),w("div",is,[a(yl).isAdmin()?(r(),Q(ge,{key:0,variant:"icon",to:{name:"playersettings"}},{default:f(()=>[d(ae,{size:"30"},{default:f(()=>[...v[5]||(v[5]=[H("mdi-cog-outline",-1)])]),_:1})]),_:1})):k("",!0),d(ge,{variant:"icon",onClick:v[1]||(v[1]=y=>a(t).showPlayersMenu=!1)},{default:f(()=>[d(ae,{size:"30"},{default:f(()=>[...v[6]||(v[6]=[H("mdi-window-close",-1)])]),_:1})]),_:1})])]),_:1}),d(lt),d(Qe,{flat:"",style:{margin:"0px 10px",padding:"0"}},{default:f(()=>[a(be).mode===a(fl).BUILTIN&&a(be).player_id&&a(M).players[a(be).player_id]?(r(),Q(Ne,{key:0,id:a(be).player_id,style:{margin:"10px 0px"},player:a(M).players[a(be).player_id],"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":!1,"show-sync-controls":!1,"allow-power-control":!0,onClick:v[2]||(v[2]=y=>s(a(M).players[a(be).player_id]))},null,8,["id","player"])):k("",!0),(r(!0),_(X,null,ue(i.value.filter(y=>[a(Re).PLAYING,a(Re).PAUSED].includes(y.playback_state)||a(M).queues[y.player_id]?.items>0&&y.powered!=!1),y=>(r(),Q(Ne,{id:y.player_id,key:y.player_id,style:{margin:"10px 0px"},player:y,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":n.value&&y.player_id==a(t).activePlayerId,"show-sync-controls":y.supported_features.includes(a(pe).SET_MEMBERS),"allow-power-control":!0,onClick:$=>s(y)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1}),d(Ml,{modelValue:l.value,"onUpdate:modelValue":v[3]||(v[3]=y=>l.value=y),variant:"accordion",flat:"",class:"expansion"},{default:f(()=>[d(Mt,{style:{padding:"0"}},{default:f(()=>[d(Et,null,{default:f(()=>[w("h3",null,C(c.$t("all_players")),1)]),_:1}),d(At,{style:{padding:"0"}},{default:f(()=>[d(Qe,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:f(()=>[(r(!0),_(X,null,ue(i.value.filter(y=>y.type!=a(We).GROUP),y=>(r(),Q(Ne,{id:y.player_id,key:y.player_id,style:{margin:"5px 0px"},player:y,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":n.value&&y.player_id==a(t).activePlayerId,"show-sync-controls":y.supported_features.includes(a(pe).SET_MEMBERS),"allow-power-control":!0,onClick:$=>s(y)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1}),i.value.filter(y=>y.type==a(We).GROUP).length?(r(),Q(Mt,{key:0,style:{padding:"0"}},{default:f(()=>[d(Et,null,{default:f(()=>[w("h3",null,C(c.$t("all_groups")),1)]),_:1}),d(At,{style:{padding:"0"}},{default:f(()=>[d(Qe,{flat:"",style:{margin:"-20px 3px 5px 3px"}},{default:f(()=>[(r(!0),_(X,null,ue(i.value.filter(y=>y.type==a(We).GROUP),y=>(r(),Q(Ne,{id:y.player_id,key:y.player_id,style:{margin:"5px 0px"},player:y,"show-volume-control":!0,"show-menu-button":!0,"show-sub-players":n.value&&y.player_id==a(t).activePlayerId,"show-sync-controls":y.supported_features.includes(a(pe).SET_MEMBERS),"allow-power-control":!0,onClick:$=>s(y)},null,8,["id","player","show-sub-players","show-sync-controls","onClick"]))),128))]),_:1})]),_:1})]),_:1})):k("",!0)]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"])):k("",!0)],64))}}),ss=se(ns,[["__scopeId","data-v-c039da70"]]);function os(e={}){const{immediate:n=!1,onNeedRefresh:l,onOfflineReady:i,onRegistered:s,onRegisteredSW:o,onRegisterError:u}=e;let c,v,y;const $=async(m=!0)=>{await v,y?.()};async function b(){if("serviceWorker"in navigator){if(c=await pl(async()=>{const{Workbox:m}=await import("./workbox-window.prod.es5-CwtvwXb3.js");return{Workbox:m}},[],import.meta.url).then(({Workbox:m})=>new m("./sw.js",{scope:"./",type:"classic"})).catch(m=>{u?.(m)}),!c)return;y=()=>{c?.messageSkipWaiting()};{let m=!1;const T=()=>{m=!0,c?.addEventListener("controlling",L=>{L.isUpdate&&window.location.reload()}),l?.()};c.addEventListener("installed",L=>{typeof L.isUpdate>"u"?typeof L.isExternal<"u"&&L.isExternal?T():!m&&i?.():L.isUpdate||i?.()}),c.addEventListener("waiting",T)}c.register({immediate:n}).then(m=>{o?o("./sw.js",m):s?.(m)}).catch(m=>{u?.(m)})}}return v=b(),$}function rs(e={}){const{immediate:n=!0,onNeedRefresh:l,onOfflineReady:i,onRegistered:s,onRegisteredSW:o,onRegisterError:u}=e,c=R(!1),v=R(!1);return{updateServiceWorker:os({immediate:n,onNeedRefresh(){c.value=!0,l?.()},onOfflineReady(){v.value=!0,i?.()},onRegistered:s,onRegisteredSW:o,onRegisterError:u}),offlineReady:v,needRefresh:c}}const us={key:0,class:"pwa-toast",role:"alert"},cs={class:"message"},ds={key:0},ms={key:1},vs=W({__name:"ReloadPrompt",setup(e){const{offlineReady:n,needRefresh:l,updateServiceWorker:i}=rs(),s=async()=>{n.value=!1,l.value=!1};return(o,u)=>a(n)||a(l)?(r(),_("div",us,[w("div",cs,[a(n)?(r(),_("span",ds," App ready to work offline ")):(r(),_("span",ms," New content available, click on reload button to update. "))]),a(l)?(r(),_("button",{key:0,onClick:u[0]||(u[0]=c=>a(i)())},"Reload")):k("",!0),w("button",{onClick:s},"Close")])):k("",!0)}}),ys=W({__name:"Default",setup(e){const n=gl();return ee([()=>n.query.player,()=>Object.keys(M.players).length],([l])=>{if(!l)return;const i=l.toString().toLowerCase(),s=Object.values(M.players).find(o=>o.player_id.toLowerCase()===i||o.name.toLowerCase()===i)?.player_id;s&&(t.activePlayerId=s)},{immediate:!0}),ee(()=>n.query.showFullscreenPlayer,l=>{t.showFullscreenPlayer=!!l},{immediate:!0}),ee(()=>n.query.frameless,l=>{l&&(t.frameless=!0)},{immediate:!0}),(l,i)=>(r(),_(X,null,[a(t).connected?(r(),Q(Bl,{key:0},{default:f(()=>[a(t).frameless?(r(),Q(Ft,{key:0})):(r(),_(X,{key:1},[d(ss),d(Ft),d(ls)],64))]),_:1})):(r(),Q(aa,{key:1,class:"centeredoverlay",persistent:"","model-value":!a(t).connected},{default:f(()=>[w("div",null,[d(Kt,{color:"primary",indeterminate:"",size:"64"})])]),_:1},8,["model-value"])),a(t).isInStandaloneMode?(r(),Q(vs,{key:2})):k("",!0)],64))}}),As=se(ys,[["__scopeId","data-v-3dcdb3ba"]]);export{As as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as Fe,I as Z,r as N,az as i,a0 as Ge,cF as be,cG as He,d as p,e as ce,ag as ae,g as je,G as ze,H as q,cH as Je,al as Qe,s as ke,cI as se,O as oe,cJ as We,J as ue,cK as Ve,b as Xe,x as d,ad as Y,am as Ye,o as Ze,cL as _e,cM as he,M as el,aG as Ce,cN as ll,a$ as al,aJ as tl,aE as xe,aQ as Ee,cO as ul,by as il,cP as nl,n as sl,bC as ol,ak as rl,bc as z,av as dl,cs as F,aw as j,ax as S,aD as U,ay as ve,aB as A,aC as Se,aI as P,aP as f,K as ee,cQ as we,aA as vl,aO as cl,bS as ye,bP as ml,bM as fl,bN as pl}from"./index-9wFVyQJF.js";import{V as bl}from"./VForm-RrHOXWl_.js";import{V as gl,a as kl,b as Vl,c as hl}from"./VExpansionPanels-A0OVIs-m.js";import{a as Cl,b as xl}from"./VInput-Bym6CXFb.js";import{V as Ie}from"./VAlert-D47QZ7qK.js";import{V as Sl}from"./VSwitch-DhfvNVio.js";import{V as wl}from"./VSlider-DxpYJWk3.js";import{V as le,m as yl}from"./VTextField-DJZc05eK.js";import{u as Il,a as Fl,m as El,V as $l}from"./VSelect-FK85NUXM.js";import{V as Al}from"./VVirtualScroll-H5Wikvf-.js";import{V as Tl}from"./VCheckboxBtn-DtwUx7x8.js";import{V as Ll}from"./VDialog-BPGCUfED.js";import{_ as Ml}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Rl=(l,m,g)=>{if(l==null||m==null)return-1;if(!m.length)return 0;l=l.toString().toLocaleLowerCase(),m=m.toString().toLocaleLowerCase();const o=[];let k=l.indexOf(m);for(;~k;)o.push([k,k+m.length]),k=l.indexOf(m,k+m.length);return o.length?o:-1};function pe(l,m){if(!(l==null||typeof l=="boolean"||l===-1))return typeof l=="number"?[[l,l+m.length]]:Array.isArray(l[0])?l:[l]}const Dl=Fe({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Ol(l,m,g){const o=[],k=g?.default??Rl,w=g?.filterKeys?be(g.filterKeys):!1,h=Object.keys(g?.customKeyFilter??{}).length;if(!l?.length)return o;let y=null;e:for(let I=0;I<l.length;I++){const[V,K=V]=be(l[I]),c={},R={};let T=-1;if((m||h>0)&&!g?.noFilter){let X=!1;if(typeof V=="object"){if(V.type==="divider"||V.type==="subheader"){y?.type==="divider"&&V.type==="subheader"&&o.push(y),y={index:I,matches:{},type:V.type};continue}const G=w||Object.keys(K);X=G.length===h;for(const r of G){const W=He(K,r),L=g?.customKeyFilter?.[r];if(T=L?L(W,m,V):k(W,m,V),T!==-1&&T!==!1)L?c[r]=pe(T,m):R[r]=pe(T,m);else if(g?.filterMode==="every")continue e}}else T=k(V,m,V),T!==-1&&T!==!1&&(R.title=pe(T,m));const J=Object.keys(R).length,Q=Object.keys(c).length;if(!J&&!Q||g?.filterMode==="union"&&Q!==h&&!J||g?.filterMode==="intersection"&&(Q!==h||!J&&h>0&&!X))continue}y&&(o.push(y),y=null),o.push({index:I,matches:{...R,...c}})}return o}function Ul(l,m,g,o){const k=Z([]),w=Z(new Map),h=N(()=>i(m));Ge(()=>{const I=typeof g=="function"?g():i(g),V=typeof I!="string"&&typeof I!="number"?"":String(I),K=Ol(h.value,V,{customKeyFilter:{...l.customKeyFilter,...i(o?.customKeyFilter)},default:l.customFilter,filterKeys:l.filterKeys,filterMode:l.filterMode,noFilter:l.noFilter}),c=i(m),R=[],T=new Map;K.forEach(X=>{let{index:J,matches:Q}=X;const G=c[J];R.push(G),T.set(G.value,Q)}),k.value=R,w.value=T});function y(I){return w.value.get(I.value)}return{filteredItems:k,filteredMatches:w,getMatches:y}}function Pl(l,m,g){return g==null||!g.length?m:g.map((o,k)=>{const w=k===0?0:g[k-1][1],h=[p("span",{class:ce(`${l}__unmask`)},[m.slice(w,o[0])]),p("span",{class:ce(`${l}__mask`)},[m.slice(o[0],o[1])])];return k===g.length-1&&h.push(p("span",{class:ce(`${l}__unmask`)},[m.slice(o[1])])),p(ae,null,[h])})}const Nl=Fe({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Dl({filterKeys:["title"]}),...El({hideNoData:!0,returnObject:!0}),...Ze(yl({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"])},"VCombobox"),Kl=je()({name:"VCombobox",props:Nl(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,m){let{emit:g,slots:o}=m;const{t:k}=ze(),w=q(),h=Z(!1),y=Z(!0),I=Z(!1),V=q(),K=q(),c=Z(-1);let R=!1;const{items:T,transformIn:X,transformOut:J}=Je(l),{textColorClasses:Q,textColorStyles:G}=Qe(()=>w.value?.color),r=ke(l,"modelValue",[],t=>X(be(t)),t=>{const C=J(t);return l.multiple?C:C[0]??null}),W=Cl(l),L=N(()=>!!(l.chips||o.chip)),B=N(()=>L.value||!!o.selection),D=Z(!l.multiple&&!B.value?r.value[0]?.title??"":""),_=Z(null),E=N({get:()=>D.value,set:async t=>{if(D.value=t??"",t===null||t===""&&!l.multiple&&!B.value?r.value=[]:!l.multiple&&!B.value&&(r.value=[se(l,t)],oe(()=>K.value?.scrollToIndex(0))),t&&l.multiple&&l.delimiters?.length){const C=l.delimiters.map(We).join("|"),M=t.split(new RegExp(`(?:${C})+`));if(M.length>1){for(let u of M)u=u.trim(),u&&(H(se(l,u)),await oe());D.value=""}}t||(c.value=-1),y.value=!t}}),s=N(()=>typeof l.counterValue=="function"?l.counterValue(r.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?r.value.length:E.value.length),{filteredItems:a,getMatches:b}=Ul(l,T,()=>_.value??(l.alwaysFilter||!y.value?E.value:"")),e=N(()=>l.hideSelected&&_.value===null?a.value.filter(t=>!r.value.some(C=>C.value===t.value)):a.value),n=N(()=>l.hideNoData&&!e.value.length||W.isReadonly.value||W.isDisabled.value),re=ke(l,"menu"),x=N({get:()=>re.value,set:t=>{re.value&&!t&&V.value?.ΨopenChildren.size||t&&n.value||(re.value=t)}}),{menuId:te,ariaExpanded:$e,ariaControls:Ae,ariaLabel:ge}=Il(l,x);ue(D,t=>{R?oe(()=>R=!1):h.value&&!x.value&&(x.value=!0),g("update:search",t)}),ue(r,t=>{!l.multiple&&!B.value&&(D.value=t[0]?.title??"")});const Te=N(()=>r.value.map(t=>t.value)),me=N(()=>(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&E.value===e.value[0]?.title)&&e.value.length>0&&!y.value&&!I.value),fe=q(),Le=Fl(fe,w);function Me(t){R=!0,oe(()=>R=!1),l.openOnClear&&(x.value=!0)}function Re(){n.value||(x.value=!0)}function De(t){n.value||(h.value&&(t.preventDefault(),t.stopPropagation()),x.value=!x.value)}function Oe(t){(he(t)||t.key==="Backspace")&&w.value?.focus()}function Ue(t){if(_e(t)||W.isReadonly.value)return;const C=w.value?.selectionStart,M=r.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"].includes(t.key)&&(x.value=!0),["Escape"].includes(t.key)&&(x.value=!1),me.value&&["Enter","Tab"].includes(t.key)&&!r.value.some(u=>{let{value:v}=u;return v===e.value[0].value})&&H(a.value[0]),t.key==="ArrowDown"&&me.value&&fe.value?.focus("next"),t.key==="Enter"&&E.value&&(H(se(l,E.value),!0,!0),B.value&&(D.value="")),["Backspace","Delete"].includes(t.key)){if(!l.multiple&&B.value&&r.value.length>0&&!E.value)return H(r.value[0],!1);if(~c.value){t.preventDefault();const u=c.value;H(r.value[c.value],!1),c.value=u>=M-1?M-2:u}else t.key==="Backspace"&&!E.value&&(c.value=M-1);return}if(l.multiple)if(t.key==="ArrowLeft"){if(c.value<0&&C&&C>0)return;const u=c.value>-1?c.value-1:M-1;r.value[u]?c.value=u:(c.value=-1,w.value?.setSelectionRange(E.value.length,E.value.length))}else if(t.key==="ArrowRight"){if(c.value<0)return;const u=c.value+1;r.value[u]?c.value=u:(c.value=-1,w.value?.setSelectionRange(0,0))}else~c.value&&he(t)&&(c.value=-1)}function Pe(){l.eager&&K.value?.calculateVisibleItems()}function Ne(){h.value&&w.value?.focus(),y.value=!0,_.value=null}function H(t){let C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,M=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(!(!t||t.props.disabled))if(l.multiple){const u=r.value.findIndex($=>(l.valueComparator||Ve)($.value,t.value)),v=C??!~u;if(~u){const $=v?[...r.value,t]:[...r.value];$.splice(u,1),r.value=$}else v&&(r.value=[...r.value,t]);l.clearOnSelect&&(E.value="")}else{const u=C!==!1;r.value=u?[t]:[],(!y.value||l.alwaysFilter)&&D.value&&(_.value=D.value),D.value=u&&!B.value?t.title:"",oe(()=>{x.value=M,y.value=!0})}}function Ke(t){h.value=!0,setTimeout(()=>{I.value=!0})}function Be(t){I.value=!1}return ue(h,(t,C)=>{if(!(t||t===C)&&(c.value=-1,x.value=!1,E.value)){if(l.multiple){H(se(l,E.value));return}if(!B.value)return;r.value.some(M=>{let{title:u}=M;return u===E.value})?D.value="":H(se(l,E.value))}}),ue(x,t=>{if(!l.hideSelected&&t&&r.value.length&&y.value){const C=e.value.findIndex(M=>r.value.some(u=>(l.valueComparator||Ve)(u.value,M.value)));el&&window.requestAnimationFrame(()=>{C>=0&&K.value?.scrollToIndex(C)})}t&&(_.value=null)}),ue(T,(t,C)=>{x.value||h.value&&!C.length&&t.length&&(x.value=!0)}),Xe(()=>{const t=!!(!l.hideNoData||e.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),C=r.value.length>0,M=le.filterProps(l);return d(le,Y({ref:w},M,{modelValue:E.value,"onUpdate:modelValue":u=>E.value=u,focused:h.value,"onUpdate:focused":u=>h.value=u,validationValue:r.externalValue,counterValue:s.value,dirty:C,class:["v-combobox",{"v-combobox--active-menu":x.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!B.value,"v-combobox--selecting-index":c.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":Me,"onMousedown:control":Re,onKeydown:Ue,"aria-expanded":$e.value,"aria-controls":Ae.value}),{...o,default:()=>p(ae,null,[d(al,Y({id:te.value,ref:V,modelValue:x.value,"onUpdate:modelValue":u=>x.value=u,activator:"parent",contentClass:"v-combobox__content",disabled:n.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Pe,onAfterLeave:Ne},l.menuProps),{default:()=>[t&&d(tl,Y({ref:fe,filterable:!0,selected:Te.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:u=>u.preventDefault(),selectable:!0,onKeydown:Oe,onFocusin:Ke,onFocusout:Be,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},Le,l.listProps),{default:()=>[o["prepend-item"]?.(),!e.value.length&&!l.hideNoData&&(o["no-data"]?.()??d(xe,{key:"no-data",title:k(l.noDataText)},null)),d(Al,{ref:K,renderless:!0,items:e.value,itemKey:"value"},{default:u=>{let{item:v,index:$,itemRef:de}=u;const ie=Y(v.props,{ref:de,key:v.value,active:me.value&&$===0?!0:void 0,onClick:()=>H(v,null)});return v.type==="divider"?o.divider?.({props:v.raw,index:$})??d(Ee,Y(v.props,{key:`divider-${$}`}),null):v.type==="subheader"?o.subheader?.({props:v.raw,index:$})??d(ul,Y(v.props,{key:`subheader-${$}`}),null):o.item?.({item:v,index:$,props:ie})??d(xe,Y(ie,{role:"option"}),{prepend:ne=>{let{isSelected:O}=ne;return p(ae,null,[l.multiple&&!l.hideSelected?d(Tl,{key:v.value,modelValue:O,ripple:!1,tabindex:"-1",onClick:qe=>qe.preventDefault()},null):void 0,v.props.prependAvatar&&d(il,{image:v.props.prependAvatar},null),v.props.prependIcon&&d(Ce,{icon:v.props.prependIcon},null)])},title:()=>y.value?v.title:Pl("v-combobox",v.title,b(v)?.title)})}}),o["append-item"]?.()]})]}),r.value.map((u,v)=>{function $(O){O.stopPropagation(),O.preventDefault(),H(u,!1)}const de={"onClick:close":$,onKeydown(O){O.key!=="Enter"&&O.key!==" "||(O.preventDefault(),O.stopPropagation(),$(O))},onMousedown(O){O.preventDefault(),O.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},ie=L.value?!!o.chip:!!o.selection,ne=ie?nl(L.value?o.chip({item:u,index:v,props:de}):o.selection({item:u,index:v})):void 0;if(!(ie&&!ne))return p("div",{key:u.value,class:ce(["v-combobox__selection",v===c.value&&["v-combobox__selection--selected",Q.value]]),style:sl(v===c.value?G.value:{})},[L.value?o.chip?d(rl,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:u.title}}},{default:()=>[ne]}):d(ol,Y({key:"chip",closable:l.closableChips,size:"small",text:u.title,disabled:u.props.disabled},de),null):ne??p("span",{class:"v-combobox__selection-text"},[u.title,l.multiple&&v<r.value.length-1&&p("span",{class:"v-combobox__selection-comma"},[z(",")])])])})]),"append-inner":function(){for(var u=arguments.length,v=new Array(u),$=0;$<u;$++)v[$]=arguments[$];return p(ae,null,[o["append-inner"]?.(...v),(!l.hideNoData||l.items.length)&&l.menuIcon?d(Ce,{class:"v-combobox__menu-icon",color:w.value?.fieldIconColor,icon:l.menuIcon,onMousedown:De,onClick:ll,"aria-label":ge.value,title:ge.value,tabindex:"-1"},null):void 0])}})}),Ye({isFocused:h,isPristine:y,menu:x,search:E,selectionIndex:c,filteredItems:a,select:H},w)}}),Bl={class:"configcolumnleft"},ql={key:0},Gl={key:1},Hl={key:2},jl={key:3},zl={key:4},Jl={key:0,class:"configcolumnright"},Ql=dl({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean}},emits:["submit","action"],setup(l,{emit:m}){const g=vl(),o=m,k=q(),w=q(!1),h=q(),y=q("generic"),I=q(!1),V=q(),K=q({}),c=l,R=N(()=>["generic",...new Set(k.value.map(a=>a.category).filter(a=>!["generic","advanced"].includes(a))),"advanced"]),T=N(()=>{if(k.value){for(const s of k.value)if(s.required&&!(!L(s.value)||!L(s.default_value)||s.type==F.DIVIDER||s.type==F.LABEL||s.type==F.ALERT||s.type==F.ACTION))return!1;return!0}return!1});ue(()=>c.configEntries,s=>{k.value=[];for(const a of s||[])a.value!==void 0&&a.value!==null&&(K.value[a.key]=a.value),(a.value==null||a.value==null)&&(a.value=a.default_value),k.value.push(a)},{immediate:!0});const X=async function(){const{valid:s}=await h.value.validate();return s},J=async function(){await X()&&o("submit",D())},Q=async function(s){o("action",s,D())},G=function(s){const a=document.createElement("a");a.setAttribute("href",s),a.setAttribute("target","_blank"),a.click()},r=function(s){return k.value.filter(a=>a.category==s&&B(a))},W=function(){g.push(`${g.currentRoute.value.path}/dsp`)},L=function(s){return s==null},B=function(s){if(s.hidden)return!1;if(!L(s.depends_on)){const a=k.value?.find(b=>b.key==s.depends_on);if(a){const b=a.value;if(!L(s.depends_on_value))return b==s.depends_on_value;if(!L(s.depends_on_value_not))return b!=s.depends_on_value_not;if(a.required&&L(a))return!0;if(a.type==F.BOOLEAN&&!b)return!1}}return!0},D=function(){const s={};for(const a of c.configEntries)a.value==null&&(a.value=null),!(a.type==F.SECURE_STRING&&a.value==we)&&(s[a.key]=a.value);return s},_=function(s){if(!s.options)return[];const a=[];for(const b of s.options){let e=b.value?.toString()||"",n=b.title?.toString()||"";for(const te of["@","$","|"])e.includes(te)&&(e=e.replaceAll(te,"")),n.includes(te)&&(n=n.toString().replaceAll(te,""));const x={title:f(`settings.${s.key}.options.${e}`,n),value:b.value};x.value==s.default_value&&(x.title+=` [${f("settings.default")}]`),a.push(x)}return a},E=function(s){return(f(`settings.${s?.key}.description`,s.description||" ")||s.help_link||" ")?.length>1};return(s,a)=>(S(),j(ae,null,[k.value?(S(),U(bl,{key:0,ref_key:"form",ref:h,modelValue:w.value,"onUpdate:modelValue":a[2]||(a[2]=b=>w.value=b),disabled:l.disabled},{default:A(()=>[d(gl,{modelValue:y.value,"onUpdate:modelValue":a[1]||(a[1]=b=>y.value=b),variant:"accordion",multiple:"",flat:""},{default:A(()=>[(S(!0),j(ae,null,Se(R.value.filter(b=>r(b).length>0),b=>(S(),U(kl,{key:b,value:b,flat:"",accordion:"",class:"configrowpanel"},{default:A(()=>[d(Vl,null,{default:A(()=>[p("h3",null,P(i(f)("settings.category."+b,b)),1)]),_:2},1024),a[18]||(a[18]=p("br",null,null,-1)),d(hl,null,{default:A(()=>[(S(!0),j(ae,null,Se(r(b),e=>(S(),j("div",{key:e.key,class:"configrow"},[p("div",Bl,[e.type==i(F).DIVIDER?(S(),j("div",ql,[a[7]||(a[7]=p("br",null,null,-1)),d(Ee),e.label?(S(),U(xl,{key:0,style:{"margin-left":"8px","margin-top":"10px","margin-bottom":"10px"}},{default:A(()=>[p("b",null,P(e.label),1)]),_:2},1024)):ve("",!0),a[8]||(a[8]=p("br",null,null,-1)),a[9]||(a[9]=p("br",null,null,-1))])):e.type==i(F).LABEL?(S(),j("div",Gl,[a[10]||(a[10]=p("br",null,null,-1)),d(Ie,{variant:"outlined",type:"info"},{default:A(()=>[z(P(i(f)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[11]||(a[11]=p("br",null,null,-1)),a[12]||(a[12]=p("br",null,null,-1))])):e.type==i(F).ALERT?(S(),j("div",Hl,[a[13]||(a[13]=p("br",null,null,-1)),d(Ie,{density:"compact",type:"warning"},{default:A(()=>[z(P(i(f)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[14]||(a[14]=p("br",null,null,-1)),a[15]||(a[15]=p("br",null,null,-1))])):e.type==i(F).ACTION||e.action&&!e.value?(S(),j("div",jl,[a[16]||(a[16]=p("br",null,null,-1)),d(ee,{class:"actionbutton",disabled:e.read_only,onClick:n=>{Q(e.action||e.key),e.value=e.action?null:e.key}},{default:A(()=>[z(P(i(f)(`settings.${e.action||e.key}.label`,e.action_label||e.label)),1)]),_:2},1032,["disabled","onClick"])])):e.type==i(F).DSP_SETTINGS?(S(),j("div",zl,[a[17]||(a[17]=p("br",null,null,-1)),z(" "+P(e.value?i(f)("settings.dsp_enabled"):i(f)("settings.dsp_disabled"))+" ",1),d(ee,{class:"actionbutton",onClick:W},{default:A(()=>[z(P(i(f)("open_dsp_settings")),1)]),_:1})])):e.type==i(F).BOOLEAN?(S(),U(Sl,{key:5,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:i(f)(`settings.${e.key}.label`,e.label),color:"primary",disabled:e.read_only},null,8,["modelValue","onUpdate:modelValue","label","disabled"])):(e.type==i(F).INTEGER||e.type==i(F).FLOAT)&&e.range&&e.range.length==2?(S(),U(wl,{key:6,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,disabled:e.read_only,label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,class:"align-center",min:e.range[0],max:e.range[1],step:e.type==i(F).FLOAT?.5:1,"hide-details":"",style:{"margin-top":"10px","margin-bottom":"25px"},color:"primary"},{append:A(()=>[d(le,{modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,"hide-details":"","single-line":"",density:"compact",type:"number",style:{width:"70px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","label","required","min","max","step"])):e.type==i(F).SECURE_STRING?(S(),U(le,{key:7,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,disabled:e.read_only,rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],type:I.value?"text":"password","append-inner-icon":I.value?"mdi-eye":typeof e.value=="string"&&e.value.includes(i(we))?"":"mdi-eye-off",variant:"outlined",clearable:"",readonly:!!e.action,"onClick:appendInner":a[0]||(a[0]=n=>I.value=!I.value),"onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","label","required","disabled","rules","type","append-inner-icon","readonly","onClick:clear"])):e.options&&e.options.length>0?(S(),U($l,{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:i(f)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(n==null&&e.required)||i(f)("settings.invalid_input")],variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","chips","multiple","items","disabled","label","required","rules","onClick:clear"])):e.type==i(F).INTEGER||e.type==i(F).FLOAT?(S(),U(le,{key:9,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),disabled:e.read_only,label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],variant:"outlined",clearable:!e.required,type:"number","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","clearable","onClick:clear"])):e.type==i(F).ICON?(S(),U(le,{key:10,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),clearable:"",disabled:e.read_only,label:i(f)(`settings.${e.key}.label`,e.label),"prepend-inner-icon":e.value,variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","prepend-inner-icon","onClick:clear"])):e.type==i(F).STRING&&e.multi_value?(S(),U(Kl,{key:11,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,multiple:"",chips:"",clearable:!0,disabled:e.read_only,label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","disabled","label","required","rules","onClick:clear"])):(S(),U(le,{key:12,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:e.default_value?.toString(),clearable:"",disabled:e.read_only,label:i(f)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(f)("settings.invalid_input")],variant:"outlined",readonly:!!e.action,"onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","readonly","onClick:clear"]))]),E(e)?(S(),j("div",Jl,[d(ee,{icon:"mdi-help-box",variant:"plain",class:"helpicon",size:"x-large",onClick:n=>i(f)(`settings.${e?.key}.description`,e.description||"")?V.value=e:G(e.help_link)},null,8,["onClick"])])):ve("",!0)]))),128))]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),a[19]||(a[19]=p("br",null,null,-1)),d(ee,{block:"",color:"primary",disabled:!T.value,onClick:J},{default:A(()=>[z(P(i(f)("settings.save")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue","disabled"])):ve("",!0),a[20]||(a[20]=p("br",null,null,-1)),d(ee,{block:"",onClick:a[3]||(a[3]=b=>i(g).back())},{default:A(()=>[z(P(i(f)("close")),1)]),_:1}),d(Ll,{"model-value":V.value!==void 0,width:"auto","onUpdate:modelValue":a[6]||(a[6]=b=>V.value=void 0)},{default:A(()=>[d(cl,null,{default:A(()=>[d(ye,null,{default:A(()=>[p("h2",null,P(i(f)(`settings.${V.value?.key}.label`,V.value?.label||"")),1)]),_:1}),d(ye,{innerHTML:i(ml)(i(f)(`settings.${V.value?.key}.description`,V.value?.description||""))},null,8,["innerHTML"]),d(fl,null,{default:A(()=>[V.value?.help_link?(S(),U(ee,{key:0,onClick:a[4]||(a[4]=b=>G(V.value.help_link))},{default:A(()=>[z(P(i(f)("read_more")),1)]),_:1})):ve("",!0),d(pl),d(ee,{color:"primary",onClick:a[5]||(a[5]=b=>V.value=void 0)},{default:A(()=>[z(P(i(f)("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"])],64))}}),oa=Ml(Ql,[["__scopeId","data-v-73a4f527"]]);export{oa as E};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{av as E,H as y,J as N,aw as b,x as i,aB as u,bS as $,bs as j,ax as m,ay as p,aD as v,d as r,bb as S,bc as f,aI as d,az as l,aL as o,bd as c,cr as T,aQ as C,b3 as D,aA as I}from"./index-9wFVyQJF.js";import{E as O}from"./EditConfig-DXjpmNn9.js";import{n as z}from"./index.browser-OxPLOBIU.js";import"./VForm-RrHOXWl_.js";import"./VInput-Bym6CXFb.js";import"./VExpansionPanels-A0OVIs-m.js";import"./VAlert-D47QZ7qK.js";import"./VSwitch-DhfvNVio.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VSlider-DxpYJWk3.js";import"./VTextField-DJZc05eK.js";import"./VSelect-FK85NUXM.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VDialog-BPGCUfED.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const A={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},Z=E({__name:"EditCoreConfig",props:{domain:{}},setup(k){const V=I(),t=y(),w=z(11),s=y(!1),x=k;N(()=>x.domain,async a=>{a&&(t.value=await o.getCoreConfig(a))},{immediate:!0});const M=async function(a){s.value=!0,o.saveCoreConfig(t.value.domain,a).then(()=>{s.value=!1,V.push({name:"providersettings"})}).catch(e=>{alert(e),s.value=!1})},B=async function(a,e){s.value=!0;for(const n of Object.values(t.value.values))n.value!==void 0&&e[n.key]==null&&(e[n.key]=n.value);e.session_id=w,o.getCoreConfigEntries(t.value.domain,a,e).then(n=>{t.value.values={};for(const g of n)t.value.values[g.key]=g;s.value=!1}).catch(n=>{alert(n),s.value=!1})};return(a,e)=>(m(),b("section",null,[i($,null,{default:u(()=>[t.value?(m(),b("div",A,[i(S,null,{default:u(()=>[f(d(a.$t("settings.setup_provider",[l(o).providerManifests[t.value.domain].name])),1)]),_:1}),i(c,null,{default:u(()=>[f(d(l(o).providerManifests[t.value.domain].description),1)]),_:1}),e[3]||(e[3]=r("br",null,null,-1)),l(o).providerManifests[t.value.domain].codeowners.length?(m(),v(c,{key:0},{default:u(()=>[r("b",null,d(a.$t("settings.codeowners"))+": ",1),f(d(l(o).providerManifests[t.value.domain].codeowners.join(" / ")),1)]),_:1})):p("",!0),l(o).providerManifests[t.value.domain].documentation?(m(),v(c,{key:1},{default:u(()=>[r("b",null,d(a.$t("settings.need_help_setup_provider")),1),e[2]||(e[2]=f(" ",-1)),r("a",{onClick:e[0]||(e[0]=n=>l(T)(l(o).providerManifests[t.value.domain].documentation))},d(a.$t("settings.check_docs")),1)]),_:1})):p("",!0),e[4]||(e[4]=r("br",null,null,-1)),i(C),e[5]||(e[5]=r("br",null,null,-1)),e[6]||(e[6]=r("br",null,null,-1))])):p("",!0),i(C),t.value?(m(),v(O,{key:1,"config-entries":Object.values(t.value.values),disabled:!1,onSubmit:M,onAction:B},null,8,["config-entries"])):p("",!0)]),_:1}),i(j,{modelValue:s.value,"onUpdate:modelValue":e[1]||(e[1]=n=>s.value=n),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:u(()=>[i(D,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{Z as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{av as h,H as c,aL as t,b6 as w,a4 as B,r as M,bm as g,cs as _,aZ as V,J as N,aw as P,x as p,aB as d,bS as A,ax as s,ay as u,d as o,aD as y,az as r,bb as O,bc as v,aI as i,bd as f,cr as G,aQ as D,aA as R}from"./index-9wFVyQJF.js";import{E as q}from"./EditConfig-DXjpmNn9.js";import{n as F}from"./index.browser-OxPLOBIU.js";import{V as j}from"./VTextField-DJZc05eK.js";import{V as Y}from"./VSwitch-DhfvNVio.js";import"./VForm-RrHOXWl_.js";import"./VInput-Bym6CXFb.js";import"./VExpansionPanels-A0OVIs-m.js";import"./VAlert-D47QZ7qK.js";import"./VSlider-DxpYJWk3.js";import"./VSelect-FK85NUXM.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VDialog-BPGCUfED.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const x={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},oe=h({__name:"EditPlayer",props:{playerId:{}},setup(S){const C=R(),e=c(),I=F(11),k=c(!1),m=S,b=c(!1);(async()=>{if(m.playerId)try{b.value=(await t.getDSPConfig(m.playerId)).enabled}catch(a){console.error("Error fetching DSP config:",a)}})();const T=t.subscribe(w.PLAYER_DSP_CONFIG_UPDATED,a=>{b.value=a.data.enabled});B(T);const $=M(()=>{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});N(()=>m.playerId,async a=>{a&&(e.value=await t.getPlayerConfig(a))},{immediate:!0});const L=async function(a){delete a.dsp_settings,a.enabled=e.value.enabled,a.name=e.value.name||null,t.savePlayerConfig(m.playerId,a),C.push({name:"playersettings"})},U=async function(a,l){k.value=!0;for(const n of Object.values(e.value.values))n.value!==void 0&&l[n.key]==null&&(l[n.key]=n.value);l.session_id=I,t.getPlayerConfigEntries(e.value.player_id,a,l).then(n=>{e.value.values={};for(const E of n)e.value.values[E.key]=E}).catch(n=>{alert(n)}).finally(()=>{k.value=!1})};return(a,l)=>(s(),P("section",null,[p(A,null,{default:d(()=>[e.value&&r(t).getProviderManifest(e.value.provider).domain in r(t).providerManifests?(s(),P("div",x,[p(O,null,{default:d(()=>[v(i(a.$t("settings.config_player",[e.value.name||r(t).players[e.value.player_id]?.name||e.value.default_name])),1)]),_:1}),p(f,null,{default:d(()=>[o("b",null,i(a.$t("settings.player_id"))+": ",1),v(i(e.value.player_id),1)]),_:1}),p(f,null,{default:d(()=>[o("b",null,i(a.$t("settings.player_provider"))+": ",1),v(i(r(t).getProviderManifest(e.value.provider)?.name)+" ",1),r(t).getProviderManifest(e.value.provider)?.documentation?(s(),P("a",{key:0,onClick:l[0]||(l[0]=n=>r(G)(r(t).getProviderManifest(e.value.provider)?.documentation))}," ["+i(a.$t("settings.check_docs"))+"]",1)):u("",!0)]),_:1}),r(t).players[e.value.player_id]?(s(),y(f,{key:0},{default:d(()=>[o("b",null,i(a.$t("settings.player_model"))+": ",1),v(i(r(t).players[e.value.player_id].device_info.manufacturer)+" / "+i(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?(s(),y(f,{key:1},{default:d(()=>[o("b",null,i(a.$t("settings.player_address"))+": ",1),v(i(r(t).players[e.value.player_id].device_info.ip_address),1)]),_:1})):u("",!0),r(t).players[e.value.player_id]?(s(),y(f,{key:2},{default:d(()=>[o("b",null,i(a.$t("settings.player_type_label"))+": ",1),v(i(a.$t(`player_type.${r(t).players[e.value.player_id].type}`)),1)]),_:1})):u("",!0),l[3]||(l[3]=o("br",null,null,-1)),p(D),l[4]||(l[4]=o("br",null,null,-1)),l[5]||(l[5]=o("br",null,null,-1)),"name"in e.value?(s(),y(j,{key:3,modelValue:e.value.name,"onUpdate:modelValue":l[1]||(l[1]=n=>e.value.name=n),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?(s(),y(Y,{key:4,modelValue:e.value.enabled,"onUpdate:modelValue":l[2]||(l[2]=n=>e.value.enabled=n),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]=o("br",null,null,-1)),p(D),e.value?(s(),y(q,{key:1,disabled:!e.value.enabled,"config-entries":$.value,onSubmit:L,onAction:U},null,8,["disabled","config-entries"])):u("",!0)]),_:1})]))}});export{oe as default};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{g as Fe,p as qe,cv as il,i as Be,l as ol,k as rl,b as De,d as U,n as ie,e as Q,x as l,aG as K,ak as ul,C as Qe,cw as Ke,B as Ye,c as we,ck as Xe,a1 as dl,I as ml,H as z,J as le,y as he,A as Je,a2 as pl,a as vl,j as cl,u as fl,w as gl,t as ee,r as j,m as yl,D as _l,as as hl,av as ge,f as Oe,aD as $,ax as c,aB as a,aw as pe,K as B,bS as ae,bc as f,aI as T,ag as fe,aC as Ee,b8 as Ze,aK as bl,bK as Vl,bL as Ie,aP as O,aO as te,cx as L,cy as F,a0 as Cl,a3 as Le,ay as G,az as h,bB as kl,bC as Se,cz as Sl,bN as $e,O as Pe,bG as Pl,cA as ne,a8 as Ll,bg as $l,aL as se,b6 as He,a4 as Al,a$ as Tl,aJ as Fl,aH as ze,aE as Ue,ad as ql,bb as xe,bM as Ne,aA as Dl}from"./index-9wFVyQJF.js";import{_ as el}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as wl}from"./VSlider-DxpYJWk3.js";import{V as ll}from"./VTextField-DJZc05eK.js";import{V as tl}from"./VContainer-Bmll2nQh.js";import{V as be}from"./VSelect-FK85NUXM.js";import{V as al,a as Ae}from"./VRow-plcqQvnb.js";import{V as Te}from"./VSwitch-DhfvNVio.js";import{V as Ge,a as We}from"./VToolbar-BKGXqxdt.js";import{V as je}from"./VDialog-BPGCUfED.js";import{V as Ol}from"./VAlert-D47QZ7qK.js";import"./VInput-Bym6CXFb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VCheckboxBtn-DtwUx7x8.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(()=>U("div",{class:Q(["v-timeline-divider",{"v-timeline-divider--fill-dot":t.fillDot},t.class]),style:ie(t.style)},[U("div",{class:Q(["v-timeline-divider__before",x.value]),style:ie(u.value)},null),!t.hideDot&&U("div",{key:"dot",class:Q(["v-timeline-divider__dot",w.value,H.value,g.value]),style:ie(s.value)},[U("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)])]),U("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=z();return le(D,m=>{m&&(s.value=m.$el.querySelector(".v-timeline-divider__dot")?.getBoundingClientRect().width??0)},{flush:"post"}),De(()=>U("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])},[U("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"&&U("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}),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(T(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(T(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(" "+T(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(T(V.$t("settings.dsp.output")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"])]),_:1}))}}),Hl=el(Bl,[["__scopeId","data-v-0e0b8e42"]]),zl={style:{"min-width":"100px"},class:"v-label pl-2"},Ul={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=z(!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),x=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(()=>[U("span",zl,T(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"]),U("span",Ul,T(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"},Gl=ge({__name:"DSPParametricEQ",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const S={PK:L.PEAK,PEQ:L.PEAK,HP:L.HIGH_PASS,HPQ:L.HIGH_PASS,LP:L.LOW_PASS,LPQ:L.LOW_PASS,LS:L.LOW_SHELF,HS:L.HIGH_SHELF,NO:L.NOTCH},b={[L.PEAK]:"PK",[L.HIGH_PASS]:"HP",[L.LOW_PASS]:"LP",[L.LOW_SHELF]:"LS",[L.HIGH_SHELF]:"HS",[L.NOTCH]:"NO"},g=Object.entries(F).map(([n,e])=>({title:O(`settings.dsp.channels.${n}`),value:e})),s=n=>{const e=n.split(`
|
|
2
|
-
`),o=[];let P=!1,A={},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)}A[C]||(A[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&&(A[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),A.ALL&&(A[R.value]=A.ALL,A.ALL=0),o.forEach(d=>{d.channel=R.value})):(y=[],u.value.per_channel_preamp={}),u.value.bands=[...y,...o],Object.keys(A).length>0?(A.ALL&&(u.value.preamp=A.ALL),Object.entries(A).forEach(([d,v])=>{d!==F.ALL&&(u.value.per_channel_preamp[d]=v)})):(u.value.preamp=0,u.value.per_channel_preamp={}),Pe(()=>{W.value=-1})},D=n=>{const e=n.target;if(e.files&&e.files[0]){const o=e.files[0],P=new FileReader;P.onload=A=>{A.target?.result&&s(A.target.result)},P.readAsText(o)}},m=z(null),H=()=>{m.value?.click()},w=()=>{let n="";if(n+=`Preamp: ${ve.value.toFixed(2)} dB
|
|
3
|
-
`,re.value){const A=Object.values(F);for(const C of A){if(C===F.ALL)continue;const y=g.find(v=>v.value===C)?.title||C;n+=`
|
|
4
|
-
# ${y}
|
|
5
|
-
`,n+=`Channel: ${C===F.FL?"L":"R"}
|
|
6
|
-
`,u.value.per_channel_preamp[C]!==void 0&&(n+=`Preamp: ${u.value.per_channel_preamp[C].toFixed(2)} dB
|
|
7
|
-
`);let d=1;u.value.bands.forEach(v=>{if(v.channel===C||v.channel===F.ALL){const _=b[v.type];n+=`Filter ${d++}: ${v.enabled?"ON":"OFF"} ${_} Fc ${v.frequency.toFixed(1)} Hz Gain ${v.gain.toFixed(2)} dB Q ${v.q.toFixed(3)}
|
|
8
|
-
`}})}}else u.value.bands.forEach((A,C)=>{const y=b[A.type];n+=`Filter ${C+1}: ${A.enabled?"ON":"OFF"} ${y} Fc ${A.frequency.toFixed(1)} Hz Gain ${A.gain.toFixed(2)} dB Q ${A.q.toFixed(3)}
|
|
9
|
-
`});const e=new Blob([n],{type:"text/plain"}),o=URL.createObjectURL(e),P=document.createElement("a");P.href=o,P.download=`music_assistant_eq_settings_${new Date().toISOString().split("T")[0]}.txt`,document.body.appendChild(P),P.click(),document.body.removeChild(P),URL.revokeObjectURL(o)},x=Oe(),u=Ie(t,"modelValue"),k=z(null),M=z(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=z({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===W.value?(d.lineWidth=5,v=`hsla(${y*360/u.value.bands.length}, 70%, ${n?70:60}%, 1)`):d.lineWidth=2,d.strokeStyle=v;const _=new Float32Array(o);for(let X=0;X<o;X++)_[X]=r(X,q.value);const Y=new Float32Array(o),Z=new Float32Array(o);oe(ye,C).getFrequencyResponse(_,Y,Z);for(let X=q.value.padding_lr;X<o-q.value.padding_lr;X++){const sl=20*Math.log10(Y[X]),Me=p(sl,q.value);X===q.value.padding_lr?d.moveTo(X,Me):d.lineTo(X,Me)}d.stroke();const Ce=i(C.frequency,q.value),ke=p(C.gain,q.value);return d.beginPath(),d.fillStyle=v,d.arc(Ce,ke,6,0,2*Math.PI),d.fill(),{frequencies:_,magResponse:Y}},A=(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=>{A(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[_])}}),A(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=z(!1),W=z(-1),R=z(F.ALL),N=j(()=>u.value.bands[W.value]),ve=j({get:()=>u.value.preamp??0,set:n=>{u.value.preamp=n}}),_e=j({get:()=>u.value.per_channel_preamp[R.value]??0,set:n=>{R.value!==F.ALL&&(u.value.per_channel_preamp[R.value]=n)}}),de=n=>{u.value.bands.splice(n,1),W.value>=u.value.bands.length&&Pe(()=>{W.value=u.value.bands.length-1})},Ve=()=>{const n=u.value.bands.length;u.value.bands.push({frequency:1e3,q:1,gain:0,type:L.PEAK,enabled:!0,channel:R.value}),Pe(()=>{W.value=n})};le(()=>u.value.preamp,I),le(()=>u.value.per_channel_preamp,I,{deep:!0}),le(()=>(W.value,u.value.bands),()=>{W.value>=u.value.bands.length&&(W.value=u.value.bands.length-1),I()},{deep:!0}),le(()=>R.value,I),le(()=>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(()=>[U("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(" "+T(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(" "+T(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(" "+T(h(O)("settings.dsp.parametric_eq.export_apo")),1)]),_:1}),U("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(()=>[U("div",{ref_key:"graphContainer",ref:M,class:"graph-container"},[U("canvas",{ref_key:"canvas",ref:k,class:"frequency-graph"},null,512)],512)]),_:1}),l(te,{elevation:"0",color:"transparent",class:"border-t border-b rounded-0"},{default:a(()=>[l(ae,{class:"pa-0"},{default:a(()=>[l(kl,{modelValue:W.value,"onUpdate:modelValue":e[2]||(e[2]=o=>W.value=o),class:"mb-0 pa-2",mandatory:"","selected-class":"primary"},{default:a(()=>[(c(),$(Se,{key:-1,value:-1,filter:"",variant:"elevated"},{default:a(()=>[f(T(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(T(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(" "+T(R.value===h(F).ALL?h(O)("settings.dsp.parametric_eq.add_band"):h(O)("settings.dsp.parametric_eq.add_band_channel",{channel:h(O)(`settings.dsp.channels.${R.value}`)})),1)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),W.value===-1?(c(),$(te,{key:0,elevation:"0",color:"transparent"},{default:a(()=>[l(ae,null,{default:a(()=>[l(al,{dense:""},{default:a(()=>[l(Ae,{cols:"12"},{default:a(()=>[l(J,{modelValue:ve.value,"onUpdate:modelValue":e[3]||(e[3]=o=>ve.value=o),type:"gain"},null,8,["modelValue"]),R.value!==h(F).ALL?(c(),$(J,{key:0,modelValue:_e.value,"onUpdate:modelValue":e[4]||(e[4]=o=>_e.value=o),type:{min:-15,max:15,step:.1,label:h(O)("settings.dsp.parametric_eq.per_channel_preamp",{channel:h(O)(`settings.dsp.channels.${R.value}`)}),unit:"dB",is_log:!1}},null,8,["modelValue","type"])):G("",!0)]),_:1})]),_:1})]),_:1})]),_:1})):G("",!0),N.value?(c(),pe(fe,{key:1},[l(Sl,null,{default:a(()=>[U("div",Nl,[l(Te,{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($e),l(B,{color:"error",variant:"tonal",onClick:e[6]||(e[6]=o=>de(W.value))},{default:a(()=>[l(K,null,{default:a(()=>[...e[15]||(e[15]=[f("mdi-delete",-1)])]),_:1}),f(" "+T(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"])):G("",!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"])):G("",!0)],64)):G("",!0)]),_:1}))}}),Wl=el(Gl,[["__scopeId","data-v-ac29d681"]]),jl=ge({__name:"DSPToneControl",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const S=Ie(t,"modelValue");return(b,g)=>(c(),pe(fe,null,[l(J,{modelValue:S.value.bass_level,"onUpdate:modelValue":g[0]||(g[0]=s=>S.value.bass_level=s),type:{min:-10,max:10,step:.1,label:b.$t("settings.dsp.tone_control.bass_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"]),l(J,{modelValue:S.value.mid_level,"onUpdate:modelValue":g[1]||(g[1]=s=>S.value.mid_level=s),type:{min:-10,max:10,step:.1,label:b.$t("settings.dsp.tone_control.mid_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"]),l(J,{modelValue:S.value.treble_level,"onUpdate:modelValue":g[2]||(g[2]=s=>S.value.treble_level=s),type:{min:-10,max:10,step:.1,label:b.$t("settings.dsp.tone_control.treble_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"])],64))}}),Ql={key:0},Kl={class:"d-none d-md-inline"},Yl={class:"d-none d-md-inline"},mt=ge({__name:"EditPlayerDsp",props:{playerId:{}},setup(t){const{t:S}=Pl();Dl();const b=Oe(),g=t,s=z(),D=z([]),m=z(null),H=z(!1),w=z(!1),x=z(ne.PARAMETRIC_EQ),u=z("");z(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)},W=async i=>{!i||!i.config||(m.value="input",s.value=i.config)},R=async()=>{if(!s.value||!u.value.trim())return;const i={name:u.value.trim(),config:s.value};try{await se.saveDSPPreset(i),u.value="",w.value=!1}catch(r){console.error("Failed to save DSP preset:",r)}},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=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()}),Al(()=>{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(Ge,{color:"transparent",class:"border-b pr-4"},{default:a(()=>[l(Te,{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(We,null,{default:a(()=>[f(T(i.$t("settings.dsp.configure_on",{name:ve.value})),1)]),_:1}),l(Tl,{"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}),U("span",Kl,T(i.$t("settings.dsp.presets.load")),1)]),_:1},16,["class"])]),default:a(()=>[l(Fl,null,{default:a(()=>[D.value.length===0?(c(),$(Ue,{key:0},{default:a(()=>[l(ze,null,{default:a(()=>[f(T(i.$t("settings.dsp.presets.empty_warning")),1)]),_:1})]),_:1})):(c(!0),pe(fe,{key:1},Ee(D.value,p=>(c(),$(Ue,{key:p.preset_id,onClick:ce=>W(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(ze,null,{default:a(()=>[f(T(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}),U("span",Yl,T(i.$t("settings.dsp.presets.save")),1)]),_:1},8,["class"])]),_:1}),l(tl,{class:"pa-4"},{default:a(()=>[s.value.enabled?G("",!0):(c(),$(Ol,{key:0,type:"info",class:"mt-4",color:"transparent"},{default:a(()=>[f(T(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(),$(Ae,{key:0,class:Q(["flex-grow-0 flex-shrink-0",{"border-e pr-4":!h(k)}]),"align-self":"start"},{default:a(()=>[l(Hl,{dsp:s.value,selected:m.value,onOnSelect:I,onOnAddFilter:r[2]||(r[2]=p=>H.value=!0),onOnMoveFilter:r[3]||(r[3]=p=>re(p.index,p.direction)),onOnDeleteFilter:ue},null,8,["dsp","selected"])]),_:1},8,["class"])):G("",!0),m.value!=null?(c(),$(Ae,{key:1,style:{"min-width":"0"}},{default:a(()=>[l(Ge,{density:"compact",color:i.$vuetify.theme.current.dark?"surface":"surface-light",class:"border-b"},{default:a(()=>[h(k)?(c(),$(B,{key:0,class:"hidden-xs-only",icon:"",onClick:r[4]||(r[4]=p=>m.value=null)},{default:a(()=>[l(K,null,{default:a(()=>[...r[21]||(r[21]=[f("mdi-arrow-left",-1)])]),_:1})]),_:1})):G("",!0),l(We,null,{default:a(()=>[f(T(oe(m.value)),1)]),_:1}),typeof m.value=="number"&&!h(k)&&m.value>0?(c(),$(B,{key:1,icon:"",onClick:r[5]||(r[5]=p=>re(m.value,"up"))},{default:a(()=>[l(K,null,{default:a(()=>[...r[22]||(r[22]=[f("mdi-arrow-up",-1)])]),_:1})]),_:1})):G("",!0),typeof m.value=="number"&&!h(k)&&m.value<s.value.filters.length-1?(c(),$(B,{key:2,icon:"",onClick:r[6]||(r[6]=p=>re(m.value,"down"))},{default:a(()=>[l(K,null,{default:a(()=>[...r[23]||(r[23]=[f("mdi-arrow-down",-1)])]),_:1})]),_:1})):G("",!0),typeof m.value=="number"?(c(),$(Te,{key:3,modelValue:s.value.filters[m.value].enabled,"onUpdate:modelValue":r[7]||(r[7]=p=>s.value.filters[m.value].enabled=p),"hide-details":"",color:"primary",class:"mr-4"},null,8,["modelValue"])):G("",!0),typeof m.value=="number"?(c(),$(B,{key:4,icon:"",onClick:r[8]||(r[8]=p=>ue(m.value))},{default:a(()=>[l(K,null,{default:a(()=>[...r[24]||(r[24]=[f("mdi-delete",-1)])]),_:1})]),_:1})):G("",!0)]),_:1},8,["color"]),m.value==="input"?(c(),$(te,{key:0,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(J,{modelValue:s.value.input_gain,"onUpdate:modelValue":r[9]||(r[9]=p=>s.value.input_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):m.value==="output"?(c(),$(te,{key:1,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(J,{modelValue:s.value.output_gain,"onUpdate:modelValue":r[10]||(r[10]=p=>s.value.output_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):(c(),$(te,{key:2,flat:"",color:i.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[s.value.filters[m.value].type===h(ne).PARAMETRIC_EQ?(c(),$(Wl,{key:0,modelValue:s.value.filters[m.value],"onUpdate:modelValue":r[11]||(r[11]=p=>s.value.filters[m.value]=p)},null,8,["modelValue"])):G("",!0),s.value.filters[m.value].type===h(ne).TONE_CONTROL?(c(),$(jl,{key:1,modelValue:s.value.filters[m.value],"onUpdate:modelValue":r[12]||(r[12]=p=>s.value.filters[m.value]=p)},null,8,["modelValue"])):G("",!0)]),_:1},8,["color"]))]),_:1})):G("",!0)]),_:1},8,["class"])]),_:1}),l(je,{modelValue:w.value,"onUpdate:modelValue":r[15]||(r[15]=p=>w.value=p),"max-width":"300"},{default:a(()=>[l(te,null,{default:a(()=>[l(xe,null,{default:a(()=>[f(T(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($e),l(B,{onClick:r[14]||(r[14]=p=>w.value=!1)},{default:a(()=>[f(T(i.$t("cancel")),1)]),_:1}),l(B,{color:"primary",disabled:!u.value.trim(),onClick:R},{default:a(()=>[f(T(i.$t("settings.dsp.presets.save")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(je,{modelValue:H.value,"onUpdate:modelValue":r[18]||(r[18]=p=>H.value=p),"max-width":"300"},{default:a(()=>[l(te,null,{default:a(()=>[l(xe,null,{default:a(()=>[f(T(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($e),l(B,{onClick:r[17]||(r[17]=p=>H.value=!1)},{default:a(()=>[f(T(i.$t("cancel")),1)]),_:1}),l(B,{color:"primary",onClick:ye},{default:a(()=>[f(T(i.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])):G("",!0)}});export{mt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{av as E,H as g,a3 as I,aL as l,b6 as S,a4 as P,J as N,aw as k,x as s,aB as r,bS as _,bs as j,ax as u,ay as v,aD as d,az as o,d as m,bb as w,bc as f,aI as c,bd as y,bP as H,cr as L,aQ as C,bM as O,K as U,aO as x,b3 as D,bG as z,aA as F}from"./index-9wFVyQJF.js";import{E as G}from"./EditConfig-DXjpmNn9.js";import{n as J}from"./index.browser-OxPLOBIU.js";import{V as K}from"./VTextField-DJZc05eK.js";import{V as Q}from"./VSwitch-DhfvNVio.js";import"./VForm-RrHOXWl_.js";import"./VInput-Bym6CXFb.js";import"./VExpansionPanels-A0OVIs-m.js";import"./VAlert-D47QZ7qK.js";import"./VSlider-DxpYJWk3.js";import"./VSelect-FK85NUXM.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VDialog-BPGCUfED.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const R={key:0},q={id:"auth",href:"",target:"_blank"},me=E({__name:"EditProvider",props:{instanceId:{}},setup(h){const M=F(),a=g(),V=J(11),p=g(!1),b=g(!1),T=h;I(()=>{const n=l.subscribe(S.AUTH_SESSION,e=>{if(e.object_id!==V)return;const t=e.data;b.value=!0,window.setTimeout(()=>{const i=document.getElementById("auth");i.setAttribute("href",t),i.click()},100)});P(n)}),N(()=>T.instanceId,async n=>{n&&(a.value=await l.getProviderConfig(n))},{immediate:!0});const A=async function(n){p.value=!0,n.enabled=a.value.enabled,n.name=a.value.name||null,l.saveProviderConfig(a.value.domain,n,a.value.instance_id).then(()=>{M.push({name:"providersettings"})}).catch(e=>{alert(e)}).finally(()=>{p.value=!1,b.value=!1})},$=async function(n,e){p.value=!0;for(const t of Object.values(a.value.values))t.value!==void 0&&e[t.key]==null&&(e[t.key]=t.value);e.session_id=V,l.getProviderConfigEntries(a.value.domain,a.value.instance_id,n,e).then(t=>{a.value.values={};for(const i of t)a.value.values[i.key]=i}).catch(t=>{alert(t)}).finally(()=>{p.value=!1,b.value=!1})},B=function(n){const e=[],{t}=z();for(const i of n)i.includes("@")?e.push(`[${i.replace("@","")}](https://github.com/${i.replace("@","")})`):e.push(i);return`**${t("settings.codeowners")}**: `+e.join(" / ")};return(n,e)=>(u(),k("section",null,[s(_,null,{default:r(()=>[a.value&&o(l).providerManifests[a.value.domain]?(u(),k("div",R,[s(w,null,{default:r(()=>[f(c(n.$t("settings.setup_provider",[o(l).providerManifests[a.value.domain].name])),1)]),_:1}),s(y,{style:{"white-space":"normal"}},{default:r(()=>[f(c(o(l).providerManifests[a.value.domain].description),1)]),_:1}),e[5]||(e[5]=m("br",null,null,-1)),o(l).providerManifests[a.value.domain].codeowners.length?(u(),d(y,{key:0,innerHTML:o(H)(B(o(l).providerManifests[a.value.domain].codeowners))},null,8,["innerHTML"])):v("",!0),o(l).providerManifests[a.value.domain].documentation?(u(),d(y,{key:1},{default:r(()=>[m("b",null,c(n.$t("settings.need_help_setup_provider")),1),e[4]||(e[4]=f(" ",-1)),m("a",{onClick:e[0]||(e[0]=t=>o(L)(o(l).providerManifests[a.value.domain].documentation))},c(n.$t("settings.check_docs")),1)]),_:1})):v("",!0),e[6]||(e[6]=m("br",null,null,-1)),s(C),e[7]||(e[7]=m("br",null,null,-1)),e[8]||(e[8]=m("br",null,null,-1)),"name"in a.value?(u(),d(K,{key:2,modelValue:a.value.name,"onUpdate:modelValue":e[1]||(e[1]=t=>a.value.name=t),placeholder:o(l).getProvider(a.value.instance_id)?.name,label:n.$t("settings.provider_name"),variant:"outlined",clearable:""},null,8,["modelValue","placeholder","label"])):v("",!0),"enabled"in a.value?(u(),d(Q,{key:3,modelValue:a.value.enabled,"onUpdate:modelValue":e[2]||(e[2]=t=>a.value.enabled=t),label:n.$t("settings.enable_provider"),color:"primary",disabled:!o(l).providerManifests[a.value.domain]?.allow_disable},null,8,["modelValue","label","disabled"])):v("",!0)])):v("",!0),s(C),a.value?(u(),d(G,{key:1,"config-entries":Object.values(a.value.values),disabled:!a.value.enabled,onSubmit:A,onAction:$},null,8,["config-entries","disabled"])):v("",!0)]),_:1}),s(j,{modelValue:p.value,"onUpdate:modelValue":e[3]||(e[3]=t=>p.value=t),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:r(()=>[b.value?(u(),d(x,{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(O,null,{default:r(()=>[m("a",q,[s(U,null,{default:r(()=>[...e[11]||(e[11]=[f("Click here if the popup did not open",-1)])]),_:1})])]),_:1})]),_:1})):(u(),d(D,{key:1,indeterminate:"",size:"64",color:"primary"}))]),_:1},8,["modelValue"])]))}});export{me as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{av as k,H as m,a3 as S,cs as s,ct as V,aP as e,aw as I,x as o,aB as r,bS as C,bs as N,ax as c,bc as d,aI as f,az as g,d as p,aD as E,ay as T,bd as h,aQ as x,b3 as B,aA as w}from"./index-9wFVyQJF.js";import{E as q}from"./EditConfig-DXjpmNn9.js";import{D as v}from"./constants-CXMxJR4j.js";import{V as A}from"./VToolbar-BKGXqxdt.js";import"./VForm-RrHOXWl_.js";import"./VInput-Bym6CXFb.js";import"./VExpansionPanels-A0OVIs-m.js";import"./VAlert-D47QZ7qK.js";import"./VSwitch-DhfvNVio.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VSlider-DxpYJWk3.js";import"./VTextField-DJZc05eK.js";import"./VSelect-FK85NUXM.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VDialog-BPGCUfED.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const X=k({__name:"FrontendConfig",setup(D){const y=w(),i=m([]),n=m(!1);S(()=>{const a=localStorage.getItem("frontend.settings.menu_items"),t=a?a.split(","):v;i.value=[{key:"theme",type:s.STRING,label:"theme",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},{title:"dark",value:"dark"},{title:"light",value:"light"}],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.theme")},{key:"language",type:s.STRING,label:"language",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},...V.global.availableLocales.map(l=>({title:l,value:l}))],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.language")},{key:"menu_items",type:s.STRING,label:"menu_items",default_value:v,required:!1,options:[{title:e("home"),value:"home"},{title:e("search"),value:"search"},{title:e("artists"),value:"artists"},{title:e("albums"),value:"albums"},{title:e("tracks"),value:"tracks"},{title:e("playlists"),value:"playlists"},{title:e("audiobooks"),value:"audiobooks"},{title:e("podcasts"),value:"podcasts"},{title:e("radios"),value:"radios"},{title:e("browse"),value:"browse"},{title:e("settings.settings"),value:"settings"}],multi_value:!0,category:"generic",value:t},{key:"enable_builtin_player",type:s.BOOLEAN,label:"enable_builtin_player",default_value:!0,required:!0,multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.enable_builtin_player")!="false"},{key:"force_mobile_layout",type:s.BOOLEAN,label:"force_mobile_layout",default_value:!1,required:!1,multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.force_mobile_layout")!="false"}]});const b=async function(a){for(const t in a){const l=`frontend.settings.${t}`,u=a[t];u!=null?localStorage.setItem(l,u.toString()):localStorage.removeItem(l)}y.push({name:"home"}).then(()=>{window.location.reload()})},_=async function(a,t){};return(a,t)=>(c(),I("section",null,[o(A,{color:"transparent"},{title:r(()=>[d(f(g(e)("settings.frontend")),1)]),_:1}),o(C,null,{default:r(()=>[o(h,null,{default:r(()=>[d(f(g(e)("settings.frontend_desc")),1)]),_:1}),t[1]||(t[1]=p("br",null,null,-1)),t[2]||(t[2]=p("br",null,null,-1)),o(x),i.value?(c(),E(q,{key:0,"config-entries":i.value,disabled:!1,onSubmit:b,onAction:_},null,8,["config-entries"])):T("",!0)]),_:1}),o(N,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=l=>n.value=l),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:r(()=>[o(B,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{X as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as E}from"./Container-BJrCSObY.js";import{av as U,r as z,aL as k,bq as A,a_ as S,aU as $,aw as _,ax as o,e as D,x as a,aB as s,ay as b,K as P,d as R,aI as L,ag as h,aC as x,aD as u,au as d,H as C,a3 as N,b6 as T,a4 as W,aP as H,aA as O,a$ as J,aJ as j,aE as w,az as l,by as I,aj as M,aG as y,aQ as G,ad as Y,bz as q,b3 as F,bt as K}from"./index-9wFVyQJF.js";import{W as Q}from"./WidgetRow-DaVwmU5p.js";import{a as X}from"./PlayerCard-CNtRdfSH.js";import{V as Z}from"./VToolbar-BKGXqxdt.js";import{_ as B}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{T as ee}from"./Toolbar-DKtKPcsg.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./VAlert-D47QZ7qK.js";import"./Button-C-VEz_LI.js";import"./VSlider-DxpYJWk3.js";const te={class:"mr-3"},ae={key:0},se=U({__name:"PlayersWidgetRow",props:{settings:{},editMode:{type:Boolean}},emits:["update:settings"],setup(i,{emit:c}){const n=z(()=>Object.values(k.players).filter(e=>A(e)).sort((e,t)=>e.name.toUpperCase()>t.name?.toUpperCase()?1:-1).sort((e,t)=>r(e)-r(t))),v=c;function m(e){d.activePlayerId=e.player_id}function r(e){return e.playback_state==S.PLAYING?0:e.playback_state==S.PAUSED?1:e.current_media&&e.powered?3:e.current_media?4:99}return(e,t)=>{const p=$("swiper-slide"),g=$("swiper");return o(),_("div",{class:D(`widget-row ${i.settings&&!i.settings.enabled?"disabled":""}`)},[a(Z,{class:"header",color:"transparent"},{title:s(()=>[R("span",te,L(e.$t("players")),1)]),append:s(()=>[i.editMode?(o(),_("div",ae,[a(P,{icon:i.settings.enabled?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",onClick:t[0]||(t[0]=f=>v("update:settings",{...i.settings,enabled:!i.settings.enabled}))},null,8,["icon"])])):b("",!0)]),_:1}),a(g,{"slides-per-view":"auto","space-between":15,"free-mode":!1,navigation:!1,mousewheel:{forceToAxis:!0,releaseOnEdges:!0}},{default:s(()=>[(o(!0),_(h,null,x(n.value,f=>(o(),u(p,{key:f.player_id},{default:s(()=>[(o(),u(X,{id:f.player_id,key:f.player_id,player:f,"show-volume-control":!1,"show-menu-button":!1,"show-sub-players":!1,"show-sync-controls":!1,style:{width:"305px"},onClick:V=>m(f)},null,8,["id","player","onClick"]))]),_:2},1024))),128))]),_:1})],2)}}}),oe=B(se,[["__scopeId","data-v-771a3548"]]),re=U({__name:"HomeWidgetRows",props:{editMode:{type:Boolean,default:!1}},setup(i){const c=C([]),n=C({}),v=async function(){const r=localStorage.getItem("widgetRowSettings");n.value=r?JSON.parse(r):{players:{position:0,enabled:!0}};const e=await k.getRecommendations(),t=[];let p=0;for(const g of e){p++;const f=n.value[g.uri]||{position:p,enabled:!0},V=g.translation_key?H(`recommendations.${g.translation_key}`,g.name):g.name;t.push({...g,settings:f,title:V}),c.value=t}};N(()=>{v();const r=k.subscribe(T.MEDIA_ITEM_PLAYED,async e=>{e.data&&!e.data.is_playing&&v()});W(r)});const m=function(r,e){for(const t of c.value)if(t.uri===r){t.settings=e;break}n.value[r]=e,localStorage.setItem("widgetRowSettings",JSON.stringify(n.value))};return(r,e)=>(o(),_(h,null,[n.value.players?.enabled||i.editMode?(o(),u(oe,{key:0,settings:n.value.players,"edit-mode":i.editMode,"onUpdate:settings":e[0]||(e[0]=t=>m("players",t))},null,8,["settings","edit-mode"])):b("",!0),(o(!0),_(h,null,x(c.value.filter(t=>t.items.length&&(t.settings.enabled||i.editMode)).sort((t,p)=>t.settings.position-p.settings.position),t=>(o(),_("div",{key:t.uri},[c.value.length?(o(),u(Q,{key:0,"widget-row":t,"edit-mode":i.editMode,"onUpdate:settings":p=>m(t.uri,p)},null,8,["widget-row","edit-mode","onUpdate:settings"])):b("",!0)]))),128))],64))}}),ne=U({__name:"HomeView",setup(i){const c=O(),n=C(!1),v=()=>{K.logout()};return(m,r)=>(o(),_("div",null,[a(ee,{"show-loading":!0,home:!0,color:"background"},{append:s(()=>[a(J,{location:"bottom end",scrim:""},{activator:s(({props:e})=>[a(P,Y({variant:"plain",style:{width:"40px",height:"40px","margin-right":"8px"}},e),{default:s(()=>[a(I,{size:"40",color:l(d).currentUser?.avatar_url?void 0:"primary",class:"user-avatar"},{default:s(()=>[l(d).currentUser?.avatar_url?(o(),u(M,{key:0,src:l(d).currentUser.avatar_url},null,8,["src"])):(o(),u(y,{key:1,icon:"mdi-account",size:"20",color:"white"}))]),_:1},8,["color"])]),_:1},16)]),default:s(()=>[a(j,{density:"compact",slim:"",tile:""},{default:s(()=>[a(w,{title:l(d).currentUser?.display_name||l(d).currentUser?.username,subtitle:l(d).currentUser?.username,disabled:"",class:"user-header-item"},{prepend:s(()=>[a(I,{size:"40",color:l(d).currentUser?.avatar_url?void 0:"primary",class:"user-avatar"},{default:s(()=>[l(d).currentUser?.avatar_url?(o(),u(M,{key:0,src:l(d).currentUser.avatar_url},null,8,["src"])):(o(),u(y,{key:1,icon:"mdi-account",size:"20",color:"white"}))]),_:1},8,["color"])]),_:1},8,["title","subtitle"]),a(G,{class:"my-1"}),a(w,{title:m.$t("auth.profile"),onClick:r[0]||(r[0]=e=>l(c).push({name:"profile"}))},{prepend:s(()=>[a(y,{icon:"mdi-account-cog"})]),_:1},8,["title"]),a(w,{title:m.$t(n.value?"homescreen_edit_disable":"homescreen_edit_enable"),onClick:r[1]||(r[1]=e=>n.value=!n.value)},{prepend:s(()=>[a(y,{icon:"mdi-pencil"})]),_:1},8,["title"]),l(d).isIngressSession?b("",!0):(o(),u(w,{key:0,title:m.$t("auth.logout"),onClick:v},{prepend:s(()=>[a(y,{icon:"mdi-logout"})]),_:1},8,["title"]))]),_:1})]),_:1})]),_:1}),a(E,{variant:"comfortable"},{default:s(()=>[(o(),u(q,null,{fallback:s(()=>[a(F,{indeterminate:""})]),default:s(()=>[R("div",null,[a(re,{"edit-mode":n.value},null,8,["edit-mode"])])]),_:1}))]),_:1})]))}}),Ue=B(ne,[["__scopeId","data-v-22a0cc44"]]);export{Ue as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as _e}from"./Container-BJrCSObY.js";import{T as et}from"./Toolbar-DKtKPcsg.js";import{g as Ae,p as tt,a as at,v as lt,x as b,n as $e,e as D,m as it,A as st,z as ot,c as nt,Y as ut,S as rt,av as Q,aD as m,ax as n,ad as ue,az as v,b8 as M,aL as se,bG as Ce,H as $,r as U,bX as K,aB as c,ay as f,aw as p,b0 as X,aj as ct,bW as Te,bQ as oe,bc as I,aI as y,aR as mt,aM as C,aG as O,d as R,b2 as dt,bk as j,bY as ft,bl as vt,bZ as Fe,bR as xe,K as W,b_ as re,b$ as Ve,bT as Pe,L as yt,aO as ht,bs as bt,aE as pt,aH as kt,bI as Y,au as S,bM as gt,bN as wt,bJ as It,a0 as St,a4 as le,J as H,a3 as Bt,O as be,c0 as At,aK as pe,b6 as z,aQ as $t,aW as Ct,bD as Tt,ag as ke,aC as ge,bE as we,bF as ie,a_ as Ft,aA as xt}from"./index-9wFVyQJF.js";import{B as De}from"./Button-C-VEz_LI.js";import{L as Vt}from"./ListItem-UwdbG-Br.js";import{_ as ne,V as Oe}from"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import{M as Le}from"./MediaItemThumb-CIzEvLC1.js";import{_ as ce}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as Pt,P as Dt}from"./PanelviewItemCompact-Bh2HNG1g.js";import{V as Ot}from"./VTextField-DJZc05eK.js";import{a as Lt,V as Et}from"./VSnackbar-B7zT2MUe.js";import{V as Ie,a as Se}from"./VRow-plcqQvnb.js";import{V as Mt}from"./VVirtualScroll-H5Wikvf-.js";import{V as Be}from"./VAlert-D47QZ7qK.js";const Ee=Symbol.for("vuetify:v-item-group"),Rt=tt({...nt(),...ot({selectedClass:"v-item--selected"}),...st(),...it()},"VItemGroup"),Me=Ae()({name:"VItemGroup",props:Rt(),emits:{"update:modelValue":e=>!0},setup(e,l){let{slots:g}=l;const{themeClasses:w}=at(e),{isSelected:i,select:k,next:B,prev:T,selected:u}=lt(e,Ee);return()=>b(e.tag,{class:D(["v-item-group",w.value,e.class]),style:$e(e.style)},{default:()=>[g.default?.({isSelected:i,select:k,next:B,prev:T,selected:u.value})]})}}),L=Ae()({name:"VItem",props:ut(),emits:{"group:selected":e=>!0},setup(e,l){let{slots:g}=l;const{isSelected:w,select:i,toggle:k,selectedClass:B,value:T,disabled:u}=rt(e,Ee);return()=>g.default?.({isSelected:w.value,selectedClass:B.value,select:i,toggle:k,value:T.value,disabled:u.value})}}),Re=Q({__name:"FavoriteButton",props:{item:{}},setup(e){const l=e;return(g,w)=>(n(),m(De,ue(l,{variant:"icon",icon:e.item?.favorite?"mdi-heart":"mdi-heart-outline",title:g.$t("tooltip.favorite"),onClick:[w[0]||(w[0]=i=>v(se).toggleFavorite(e.item)),w[1]||(w[1]=M(()=>{},["prevent"])),w[2]||(w[2]=M(()=>{},["stop"]))]}),null,16,["icon","title"]))}}),Kt={key:0,class:"media-thumb listitem-media-thumb"},Nt={key:1,class:"media-thumb listitem-media-thumb"},Yt={key:0},zt={key:0},Gt={key:0,class:"line-clamp-1"},Ht={key:1},Xt={key:0},Ut={key:1},jt={key:2},Wt={key:3},Qt={key:4},Jt={key:5},qt={key:6},Zt={key:7},_t={key:5},ea={key:6},ta={class:"text-caption",style:{"padding-right":"10px","padding-left":"10px"}},aa=Q({__name:"ListviewItem",props:{item:{},showTrackNumber:{type:Boolean,default:!0},showDiscNumber:{type:Boolean,default:!0},showPosition:{type:Boolean,default:!0},showProvider:{type:Boolean,default:!0},showAlbum:{type:Boolean,default:!0},showMenu:{type:Boolean,default:!0},showFavorite:{type:Boolean,default:!1},showDuration:{type:Boolean,default:!0},isSelected:{type:Boolean},isDisabled:{type:Boolean,default:!1},isAvailable:{type:Boolean,default:!0},isPlaying:{type:Boolean},showCheckboxes:{type:Boolean,default:!1},showDetails:{type:Boolean},parentItem:{default:void 0}},emits:["select"],setup(e,{emit:l}){const{t:g}=Ce(),w=$(!1),i=e,k=U(()=>{if(!("provider_mappings"in i.item))return"";for(const d of i.item.provider_mappings)if(d.audio_format&&d.audio_format.content_type!=null&&[K.DSF,K.FLAC,K.AIFF,K.WAV].includes(d.audio_format.content_type)&&(d.audio_format.sample_rate>48e3||d.audio_format.bit_depth>16))return`${d.audio_format.sample_rate/1e3}kHz ${d.audio_format.bit_depth} bits`;return""}),B=l,T=function(d){const h=d;re(i.item,h.clientX,h.clientY,i.parentItem)},u=function(d){if(i.showCheckboxes)return;const h=d;Ve(i.item,h.clientX,h.clientY,i.parentItem)},F=function(d){i.showCheckboxes||Pe(i.item,d.clientX,d.clientY,i.parentItem)};return(d,h)=>(n(),m(Vt,{link:"","show-menu-btn":e.showMenu,class:D({unavailable:!e.isAvailable}),onClick:M(u,["stop"]),onMenu:M(T,["stop"])},{prepend:c(()=>[e.showCheckboxes?(n(),p("div",Kt,[b(Oe,{"model-value":e.isSelected,onClick:h[0]||(h[0]=M(()=>{},["stop"])),"onUpdate:modelValue":h[1]||(h[1]=A=>{A!=null&&B("select",e.item,A)})},null,8,["model-value"])])):(n(),p("div",Nt,[b(Le,{size:"50",item:e.isAvailable?e.item:void 0,class:D({dimmed:w.value})},null,8,["item","class"])])),!e.showCheckboxes&&e.item.is_playable?(n(),m(W,{key:2,class:D({hidden:!w.value}),icon:"mdi-play",variant:"text",size:"small",style:{position:"absolute",left:"14px",bottom:"12px",color:"white","font-size":"18px"},onClick:M(F,["stop"]),onMouseenter:h[2]||(h[2]=A=>w.value=!0),onMouseleave:h[3]||(h[3]=A=>w.value=!1)},null,8,["class"])):f("",!0)]),title:c(()=>[e.item.media_type==v(C).FOLDER?(n(),p("span",Yt,[R("span",null,y(v(Fe)(e.item,v(g))),1)])):(n(),p("span",{key:1,class:D({"is-playing":e.isPlaying})},[I(y(e.item.name)+" ",1),"version"in e.item&&e.item.version?(n(),p("span",zt,"("+y(e.item.version)+")",1)):f("",!0)],2)),e.item&&e.item.metadata?(n(),m(v(oe),{key:2,location:"bottom"},{activator:c(({props:A})=>[v(xe)(e.item.metadata.explicit||!1)?(n(),m(O,ue({key:0},A,{icon:"mdi-alpha-e-box",width:"35"}),null,16)):f("",!0)]),default:c(()=>[R("span",null,y(d.$t("tooltip.explicit")),1)]),_:1})):f("",!0)]),subtitle:c(()=>[e.item.media_type==v(C).TRACK&&"provider_mappings"in e.item?(n(),p("div",Gt,[b(Me,null,{default:c(()=>["artists"in e.item?(n(),m(L,{key:0},{default:c(()=>[I(y(v(j)(e.item.artists,2)),1)]),_:1})):f("",!0),e.showAlbum&&"album"in e.item&&e.item.album?(n(),m(L,{key:1},{default:c(()=>[I(" • "+y(e.item.album.name),1)]),_:1})):f("",!0),e.showDiscNumber&&"disc_number"in e.item&&e.item.disc_number?(n(),m(L,{key:2},{default:c(()=>[b(O,{style:{"margin-left":"5px"},icon:"md:album"}),I(" "+y(e.item.disc_number),1)]),_:1})):f("",!0),e.showTrackNumber&&"track_number"in e.item&&e.item.track_number?(n(),m(L,{key:3},{default:c(()=>[b(O,{style:{"margin-left":"5px"},icon:"mdi-music-circle-outline"}),I(" "+y(e.item.track_number),1)]),_:1})):e.showPosition&&"position"in e.item&&e.item.position?(n(),m(L,{key:4},{default:c(()=>[b(O,{style:{"margin-left":"5px"},icon:"mdi-music-circle-outline"}),I(" "+y(e.item.position),1)]),_:1})):f("",!0)]),_:1})])):e.item.media_type==v(C).ALBUM&&"year"in e.item?(n(),p("div",Ht,[e.item.album_type!=v(ft).UNKNOWN?(n(),p("span",Xt,y(d.$t("album_type."+e.item.album_type))+" • ",1)):f("",!0),R("span",null,y(v(j)(e.item.artists)),1),e.item.year?(n(),p("span",Ut," • "+y(e.item.year),1)):f("",!0)])):"artists"in e.item&&e.item.artists?(n(),p("div",jt,y(v(j)(e.item.artists)),1)):"owner"in e.item&&e.item.owner?(n(),p("div",Wt,y(e.item.owner),1)):"authors"in e.item&&e.item.authors?(n(),p("div",Qt,y(e.item.authors.join(" / ")),1)):"publisher"in e.item&&e.item.publisher?(n(),p("div",Jt,y(e.item.publisher),1)):"metadata"in e.item&&e.item.metadata?.description&&[v(C).RADIO,v(C).PLAYLIST,v(C).FOLDER].includes(e.item.media_type)?(n(),p("div",qt,y(v(vt)(e.item.metadata.description,150)),1)):"media_type"in e.item&&!e.item.provider_mappings?(n(),p("div",Zt,y(d.$t(e.item.media_type)),1)):f("",!0)]),append:c(()=>[e.isPlaying?(n(),m(ne,{key:0,"show-badge":v(X)("bp7")},null,8,["show-badge"])):f("",!0),k.value?(n(),m(ct,{key:1,src:v(Te),width:"30",class:D(d.$vuetify.theme.current.dark?"hiresicondark":"hiresicon")},{default:c(()=>[b(v(oe),{activator:"parent",location:"bottom"},{default:c(()=>[I(y(k.value),1)]),_:1})]),_:1},8,["src","class"])):f("",!0),v(X)("bp2")&&e.showProvider?(n(),m(mt,{key:2,domain:e.item.media_type==v(C).PLAYLIST?e.item.provider_mappings[0].provider_domain:e.item.provider,size:24},null,8,["domain"])):f("",!0),"fully_played"in e.item&&e.item.fully_played?(n(),m(O,{key:3,title:d.$t("item_fully_played")},{default:c(()=>[...h[4]||(h[4]=[I("mdi-check",-1)])]),_:1},8,["title"])):"resume_position_ms"in e.item&&e.item.resume_position_ms?(n(),m(O,{key:4,title:d.$t("item_in_progress")},{default:c(()=>[...h[5]||(h[5]=[I("mdi-clock-fast",-1)])]),_:1},8,["title"])):f("",!0),v(X)("bp3")&&"favorite"in e.item&&e.showFavorite&&!d.$vuetify.display.mobile?(n(),p("div",_t,[b(Re,{item:e.item},null,8,["item"])])):f("",!0),e.showDuration&&"duration"in e.item&&e.item.duration&&v(X)("bp0")?(n(),p("div",ea,[R("div",null,[R("span",ta,y(v(dt)(e.item.duration)),1)])])):f("",!0)]),_:1},8,["show-menu-btn","class"]))}}),la=ce(aa,[["__scopeId","data-v-cf65a966"]]),ia={key:0},sa=["src"],oa={key:0},na=Q({__name:"PanelviewItem",props:{item:{},size:{default:200},isSelected:{type:Boolean},showCheckboxes:{type:Boolean,default:!1},showMediaType:{type:Boolean,default:!1},showActions:{type:Boolean,default:!1},showTrackNumber:{type:Boolean,default:!1},isAvailable:{type:Boolean,default:!0},isPlaying:{type:Boolean},parentItem:{default:void 0}},emits:["select"],setup(e,{emit:l}){const g=e,w=U(()=>{for(const u of g.item.provider_mappings)if(u.audio_format&&u.audio_format.content_type!=null&&[K.DSF,K.FLAC,K.AIFF,K.WAV].includes(u.audio_format.content_type)&&(u.audio_format.sample_rate>48e3||u.audio_format.bit_depth>16))return`${u.audio_format.sample_rate/1e3}kHz ${u.audio_format.bit_depth} bits`;return""}),i=l,k=function(u){if(g.showCheckboxes)return;const F="clientX"in u?u.clientX:u.touches[0].clientX,d="clientY"in u?u.clientY:u.touches[0].clientY;re(g.item,F,d,g.parentItem)},B=function(u){if(g.showCheckboxes){i("select",g.item,!g.isSelected);return}Ve(g.item,u.clientX,u.clientY,g.parentItem)},T=function(u){g.showCheckboxes||Pe(g.item,u.clientX,u.clientY,g.parentItem)};return(u,F)=>{const d=It("hold");return n(),m(Pt,null,{default:c(({isHovering:h,props:A})=>[yt((n(),m(ht,ue(A,{tile:"",hover:"",class:["panel-item",{unavailable:!e.isAvailable}],onClick:B,onContextmenu:M(k,["right","prevent"])}),{default:c(()=>[e.showCheckboxes?(n(),m(bt,{key:0,"model-value":e.showCheckboxes,contained:"",scrim:e.isSelected?u.$vuetify.theme.current.dark?"rgba(0,0,0,.75)":"rgba(255,255,255,.75)":"#ffffff00"},{default:c(()=>[b(Oe,{class:"panel-item-checkbox",ripple:!1,"model-value":e.isSelected},null,8,["model-value"])]),_:1},8,["model-value","scrim"])):f("",!0),b(Le,{item:e.isAvailable?e.item:void 0,style:{height:"auto"}},null,8,["item"]),b(pt,{variant:"text",slim:"",tile:"",density:"compact",class:"panel-item-details"},{default:c(()=>[b(kt,null,{default:c(()=>[e.item.media_type==v(C).FOLDER?(n(),p("span",ia,[R("span",null,y(v(Fe)(e.item,u.$t)),1)])):(n(),p("span",{key:1,class:D({"is-playing":e.isPlaying})},y(e.item.name),3)),"version"in e.item&&e.item.version?(n(),p("span",{key:2,class:D({"is-playing":e.isPlaying})}," - "+y(e.item.version),3)):f("",!0)]),_:1}),"artists"in e.item&&e.item.artists?(n(),m(Y,{key:0,class:"line-clamp-1"},{default:c(()=>[I(y(v(j)(e.item.artists,1)),1)]),_:1})):f("",!0),"authors"in e.item&&e.item.authors?(n(),m(Y,{key:1,class:"line-clamp-1"},{default:c(()=>[I(y(e.item.authors.join(" / ")),1)]),_:1})):"publisher"in e.item&&e.item.publisher?(n(),m(Y,{key:2,class:"line-clamp-1"},{default:c(()=>[I(y(e.item.publisher),1)]),_:1})):"owner"in e.item&&e.item.owner?(n(),m(Y,{key:3,class:"line-clamp-1"},{default:c(()=>[I(y(e.item.owner),1)]),_:1})):e.showMediaType?(n(),m(Y,{key:4,class:"line-clamp-1"},{default:c(()=>[I(y(u.$t(e.item.media_type)),1)]),_:1})):(n(),m(Y,{key:5,class:"line-clamp-1"}))]),_:1}),e.isPlaying&&!e.showActions?(n(),m(ne,{key:1,"icon-style":"position: absolute; right: 5px; bottom: 5px","show-badge":!1})):f("",!0),(h||v(S).isTouchscreen)&&e.isAvailable&&e.item.is_playable?(n(),m(W,{key:2,icon:"mdi-play",color:"primary",fab:"",style:$e(`position: absolute; right: 15px; bottom: ${e.showActions?90:35}px; opacity: 0.8`),onClick:M(T,["stop"])},null,8,["style"])):f("",!0),e.showActions?(n(),m(gt,{key:3,class:"panel-item-actions"},{default:c(()=>[b(Me,{style:{padding:"0"}},{default:c(()=>[v(xe)(e.item.metadata.explicit||!1)?(n(),m(L,{key:0},{default:c(()=>[b(O,{size:"30",icon:"mdi-alpha-e-box"})]),_:1})):f("",!0),w.value?(n(),m(L,{key:1},{default:c(()=>[b(O,{class:D(u.$vuetify.theme.current.dark?"hiresicon":"hiresiconinverted")},{default:c(()=>[R("img",{src:v(Te),width:"30"},null,8,sa),b(oe,{activator:"parent",location:"bottom"},{default:c(()=>[I(y(w.value),1)]),_:1})]),_:1},8,["class"])]),_:1})):f("",!0),e.showTrackNumber&&"track_number"in e.item&&e.item.track_number?(n(),m(L,{key:2},{default:c(()=>[b(O,{size:"small",icon:"mdi-music-circle-outline"}),e.item.disc_number?(n(),p("span",oa,y(e.item.disc_number)+"/",1)):f("",!0),I(y(e.item.track_number),1)]),_:1})):"position"in e.item&&e.item.position?(n(),m(L,{key:3},{default:c(()=>[b(O,{size:"small",icon:"mdi-music-circle-outline"}),I(" "+y(e.item.position),1)]),_:1})):f("",!0),v(X)("bp3")?(n(),m(L,{key:4},{default:c(()=>[b(Re,{item:e.item},null,8,["item"])]),_:1})):f("",!0)]),_:1}),e.isPlaying?(n(),m(ne,{key:0,"show-badge":!1})):f("",!0),b(wt),h||u.$vuetify.display.mobile?(n(),m(De,{key:1,variant:"list",icon:"mdi-dots-vertical",style:{"padding-right":"0","margin-right":"-5px"},onClick:M(k,["stop"])})):f("",!0)]),_:2},1024)):f("",!0)]),_:2},1040,["class"])),[[d,k]])]),_:1})}}}),ua=ce(na,[["__scopeId","data-v-bb3ba95c"]]),ra={key:0},ca={key:2},ma=Q({__name:"ItemsListing",props:{itemtype:{},sortKeys:{default:()=>["name","sort_name"]},showTrackNumber:{type:Boolean,default:!0},showProvider:{type:Boolean,default:Object.keys(se.providers).length>1},showAlbum:{type:Boolean,default:!0},showFavoritesOnlyFilter:{type:Boolean,default:!0},showDuration:{type:Boolean,default:!0},parentItem:{default:void 0},showAlbumArtistsOnlyFilter:{type:Boolean},showSearchButton:{type:Boolean,default:void 0},showRefreshButton:{type:Boolean,default:void 0},showSelectButton:{type:Boolean,default:void 0},showAlbumTypeFilter:{type:Boolean,default:void 0},updateAvailable:{type:Boolean},title:{default:void 0},hideOnEmpty:{type:Boolean,default:!1},showLibraryOnlyFilter:{type:Boolean,default:!1},allowCollapse:{type:Boolean,default:!1},allowKeyHooks:{type:Boolean,default:!1},extraMenuItems:{default:void 0},loadPagedData:{type:Function,default:void 0},loadItems:{type:Function,default:void 0},limit:{default:50},total:{default:void 0},infiniteScroll:{type:Boolean,default:!0},path:{default:void 0},icon:{default:void 0},restoreState:{type:Boolean,default:!1},onTitleClick:{type:Function,default:void 0}},setup(e){const l=e,g=xt(),{t:w}=Ce(),i=$({offset:0,limit:50,sortBy:"name",search:"",libraryOnly:!1}),k=$("list"),B=$(!1),T=$(!1),u=$([]),F=$([]),d=$(!1),h=$([]),A=$(!1),V=$(!1),N=$(!0),E=$(!1),G=$(!1),J=$(!1),me=function(){i.value.search="",B.value=!1},q=function(){be(()=>{document.getElementById("searchInput")?.focus()})},Ke=function(){B.value?me():(B.value=!0,q())},Z=function(){if(l.onTitleClick){l.onTitleClick();return}N.value=!N.value;const t=`${l.path}.${l.itemtype}`;localStorage.setItem(`expand.${t}`,N.value.toString())},_=function(t){k.value=t;const s=`${l.path}.${l.itemtype}`;localStorage.setItem(`viewMode.${s}`,t)},Ne=function(){i.value.favoritesOnly=!i.value.favoritesOnly;const t=i.value.favoritesOnly?"true":"false",s=`${l.path}.${l.itemtype}`;localStorage.setItem(`favoriteFilter.${s}`,t),P(void 0,void 0,!0)},Ye=function(){i.value.libraryOnly=!i.value.libraryOnly;const t=i.value.libraryOnly?"true":"false",s=`${l.path}.${l.itemtype}`;localStorage.setItem(`libraryFilter.${s}`,t),P(!0,void 0,!0)},ze=function(){i.value.albumArtistsFilter=!i.value.albumArtistsFilter;const t=i.value.albumArtistsFilter?"true":"false",s=`${l.path}.${l.itemtype}`;localStorage.setItem(`albumArtistsFilter.${s}`,t),P(void 0,void 0,!0)},ee=function(t){return h.value.includes(t)},te=function(t,s){if(S.activePlayer?.playback_state!=Ft.PLAYING)return!1;const a=S.curQueueItem?.media_item;if(!a)return!1;switch(s){case"tracks":return t.item_id===a.item_id;case"albums":return"album"in a?t.item_id===a.album.item_id:!1;case"artists":return"artists"in a?Array.isArray(a.artists)&&a.artists.some(o=>o.item_id===t.item_id):!1;case"radios":return t.item_id===a.item_id;case"podcasts":return"podcast"in a?t.item_id===a.podcast.item_id:!1;case"podcastepisodes":return t.item_id===a.item_id;default:return!1}},ae=function(t,s){if(s)h.value.includes(t)||h.value.push(t);else for(let a=0;a<h.value.length;a++)h.value[a]===t&&h.value.splice(a,1)},Ge=function(){V.value&&(h.value=[]),V.value=!V.value},He=function(){P(!0,!0)},Xe=function(){i.value.search="",B.value=!1,P(void 0,void 0,!0)},Ue=function(t){t!==void 0&&(i.value.sortBy=t);const s=`${l.path}.${l.itemtype}`;localStorage.setItem(`sortBy.${s}`,i.value.sortBy),P(void 0,void 0,!0)},je=function(t){i.value.albumType?.includes(t)?i.value.albumType=i.value.albumType?.filter(a=>a!==t):(i.value.albumType=i.value.albumType||[],i.value.albumType.push(t));const s=`${l.path}.${l.itemtype}`;localStorage.setItem(`albumType.${s}`,i.value.albumType.join(",")),P(void 0,void 0,!0)},We=function(){S.globalSearchTerm=i.value.search,l.itemtype=="artists"?S.globalSearchType=C.ARTIST:l.itemtype=="albums"?S.globalSearchType=C.ALBUM:l.itemtype=="tracks"?S.globalSearchType=C.TRACK:l.itemtype=="playlists"?S.globalSearchType=C.PLAYLIST:l.itemtype=="audiobooks"?S.globalSearchType=C.AUDIOBOOK:l.itemtype=="podcasts"?S.globalSearchType=C.PODCAST:l.itemtype=="radios"&&(S.globalSearchType=C.RADIO),g.push({name:"search"})},de=async function({done:t}){if(E.value){t("empty");return}await P(void 0,void 0,void 0,i.value.offset+l.limit),t("ok")},Qe=async function(){for(;!E.value;)await de({done:function(){}})},fe=U(()=>{var t=!1;return i.value.search&&i.value.search.length!==0&&(t=!0),t}),ve=U(()=>B.value&&N.value);St(()=>{ve.value||(T.value=!1)});const Je=U(()=>{if(l.allowCollapse===!0&&!N.value)return[{label:"tooltip.collapse_expand",icon:"mdi-chevron-down",action:Z,overflowAllowed:!1}];const t=[];return l.showSelectButton!==!1&&(V.value&&t.push({label:"tooltip.select_all",icon:"mdi-select-all",action:he}),t.push({label:"tooltip.select_items",icon:V.value?"mdi-checkbox-multiple-outline":"mdi-checkbox-multiple-blank-outline",action:Ge,active:V.value})),l.showLibraryOnlyFilter===!0&&t.push({label:"tooltip.filter_library",icon:"mdi-bookshelf",action:Ye,active:i.value.libraryOnly}),l.showFavoritesOnlyFilter===!0&&t.push({label:"tooltip.filter_favorites",icon:i.value.favoritesOnly?"mdi-heart":"mdi-heart-outline",action:Ne,active:i.value.favoritesOnly}),l.showAlbumArtistsOnlyFilter===!0&&t.push({label:"tooltip.album_artist_filter",icon:i.value.albumArtistsFilter?"mdi-account-music":"mdi-account-music-outline",action:ze,active:i.value.albumArtistsFilter}),l.showAlbumTypeFilter&&t.push({label:"tooltip.album_type",icon:"mdi-album",disabled:d.value,subItems:["album","single","ep","compilation","live","soundtrack","unknown"].map(s=>({label:`album_type.${s}`,selected:i.value.albumType?.includes(s),action:()=>{je(s)}}))}),(l.showRefreshButton!==!1||A.value)&&t.push({label:A.value?"tooltip.refresh_new_content":"tooltip.refresh",icon:"mdi-refresh",action:He,active:A.value,disabled:d.value}),l.sortKeys?.length&&t.push({label:"tooltip.sort_options",icon:"mdi-sort",disabled:l.sortKeys.length<=1||d.value,subItems:l.sortKeys.map(s=>({label:`sort.${s}`,selected:i.value.sortBy==s,action:()=>{Ue(s)}}))}),l.showSearchButton!==!1&&t.push({label:fe.value?"tooltip.search_filter_active":"tooltip.search",icon:"mdi-magnify",action:Ke,active:fe.value,disabled:d.value}),t.push({label:"tooltip.toggle_view_mode",icon:k.value=="list"?"mdi-view-list":"mdi-grid",subItems:[{label:"view.list",icon:"mdi-view-list",selected:k.value=="list",action:()=>{_("list")}},{label:"view.panel",icon:"mdi-grid",selected:k.value=="panel",action:()=>{_("panel")}},{label:"view.panel_compact",icon:"mdi-grid",selected:k.value=="panel_compact",action:()=>{_("panel_compact")}}]}),l.extraMenuItems?.length&&t.push(...l.extraMenuItems),l.allowCollapse===!0&&t.push({label:"tooltip.collapse_expand",icon:"mdi-chevron-up",action:Z}),t}),P=async function(t=!1,s=!1,a=!1,o=0){if(!d.value){if(d.value=!0,a&&l.loadPagedData!=null&&(t=!0),(t||s)&&(o=0,E.value&&(J.value=!0),E.value=!1,G.value=!1,A.value=!1),i.value.offset=o,i.value.limit=l.limit,i.value.refresh=s,l.loadPagedData!=null){const r=await l.loadPagedData(i.value);i.value.offset?u.value.push(...r):u.value=r,Math.abs(r.length-l.limit)>10&&(E.value=!0)}else if(l.loadItems!=null){(!G.value||s)&&(F.value=await l.loadItems(i.value),G.value=!0);const r=Ze(F.value,i.value);i.value.offset?u.value.push(...r):u.value=r,E.value=r.length<l.limit}i.value.refresh=!1,d.value=!1,J.value=!1}},qe=async function(){const t=`${l.path}.${l.itemtype}`,s=localStorage.getItem(`viewMode.${t}`);s&&s!=="null"?k.value=s:l.itemtype=="artists"||l.itemtype=="albums"?k.value="panel":k.value="list";const a=localStorage.getItem(`sortBy.${t}`);if(a&&a!=="null"&&l.sortKeys.includes(a)?i.value.sortBy=a:i.value.sortBy=l.sortKeys[0],l.showFavoritesOnlyFilter!==!1){const o=localStorage.getItem(`favoriteFilter.${t}`);o&&o=="true"&&(i.value.favoritesOnly=!0)}if(l.showLibraryOnlyFilter!==!1){const o=localStorage.getItem(`libraryFilter.${t}`);o&&o=="true"&&(i.value.libraryOnly=!0)}if(l.showAlbumArtistsOnlyFilter!==!1){const o=localStorage.getItem(`albumArtistsFilter.${t}`);o&&(i.value.albumArtistsFilter=o=="true")}if(l.allowCollapse!==!1){const o=localStorage.getItem(`expand.${t}`);o&&(N.value=o=="true")}if(l.showAlbumTypeFilter===!0){const o=localStorage.getItem(`albumType.${t}`);o&&(i.value.albumType=o.split(","))}if(l.restoreState){let o=`search.${t}`;l.parentItem&&(o+=l.parentItem.item_id);const r=localStorage.getItem(o);r&&r!=="null"&&(i.value.search=r)}},ye=function(t){S.dialogActive||d.value||(t.key==="Escape"&&me(),!T.value&&(t.key==="a"&&(t.ctrlKey||t.metaKey)?(t.preventDefault(),he()):!T.value&&t.key=="Backspace"?q():!T.value&&t.key.length==1&&(B.value=!0,q())))};l.allowKeyHooks&&(document.addEventListener("keydown",ye),le(()=>{document.removeEventListener("keydown",ye)})),l.restoreState&&le(()=>{const t=l.path||l.itemtype,s=document.querySelector("#cont");S.prevState={path:t,scrollPos:s?.scrollTop||0,pagedItems:u.value,allItems:F.value,allItemsReceived:E.value,initialDataReceived:G.value,params:i.value}}),H(()=>i.value.search,t=>{t&&(B.value=!0),P(void 0,void 0,!0);let s=`search.${l.path}.${l.itemtype}`;l.parentItem&&(s+=l.parentItem.item_id),localStorage.setItem(s,i.value.search)}),H(()=>l.path,t=>{d.value!=!0&&(u.value=[],F.value=[],P(!0))}),H(()=>l.parentItem,()=>{d.value!=!0&&(F.value=[],A.value=!0)},{deep:!0}),H(()=>l.limit,t=>{i.value.limit=t}),H(()=>l.updateAvailable,t=>{d.value||(A.value=t)},{immediate:!0}),Bt(async()=>{qe();const t=l.path||l.itemtype;l.restoreState&&S.prevState?.path==t?(i.value=S.prevState.params,u.value=S.prevState.pagedItems,F.value=S.prevState.allItems,E.value=S.prevState.allItemsReceived,G.value=S.prevState.initialDataReceived,be(()=>{const a=document.getElementById("cont");a&&At(a,S.prevState.scrollPos,50)}),d.value=!1):P(!0),pe.on("clearSelection",()=>{h.value=[],V.value=!1});const s=se.subscribe_multi([z.MEDIA_ITEM_UPDATED,z.MEDIA_ITEM_DELETED,z.MEDIA_ITEM_PLAYED],a=>{if(a.event==z.MEDIA_ITEM_DELETED)u.value=u.value.filter(o=>o.uri!=a.object_id);else if(a.event==z.MEDIA_ITEM_UPDATED){const o=u.value.findIndex(r=>r.uri==a.object_id);o>=0&&(u.value[o]=a.data)}else if(a.event==z.MEDIA_ITEM_PLAYED){const o=u.value.findIndex(r=>r.uri==a.object_id);o>=0&&("fully_played"in u.value[o]&&(u.value[o].fully_played=a.data.fully_played),"resume_position_ms"in u.value[o]&&(u.value[o].resume_position_ms=a.data.seconds_played*1e3))}});le(()=>{pe.off("clearSelection"),s()})});const x=function(t,s=!1){return t?"translation_key"in t&&t.translation_key&&t.name?w(t.translation_key,[t.name]):"translation_key"in t&&t.translation_key?w(t.translation_key):s&&"sort_name"in t&&t.sort_name?t.sort_name:t.name:""},Ze=function(t,s){let a=[];if(s.search){const o=s.search.toLowerCase();for(const r of t)(r.name.toLowerCase().includes(o)||"album"in r&&r.album?.name.toLowerCase().includes(o)||"artists"in r&&r.artists&&r.artists.length&&r.artists[0].name.toLowerCase().includes(o))&&a.push(r)}else a=[...t];return s.sortBy=="name"&&a.sort((o,r)=>x(o).localeCompare(x(r),void 0,{numeric:!0})),s.sortBy=="sort_name"&&a.sort((o,r)=>x(o,!0).localeCompare(x(r,!0),void 0,{numeric:!0})),s.sortBy=="name_desc"&&a.sort((o,r)=>x(r).localeCompare(x(o),void 0,{numeric:!0})),s.sortBy=="sort_name_desc"&&a.sort((o,r)=>x(r,!0).localeCompare(x(o,!0),void 0,{numeric:!0})),s.sortBy=="album"&&a.sort((o,r)=>x(o.album).localeCompare(x(r.album),void 0,{numeric:!0})),s.sortBy=="artist"&&a.sort((o,r)=>x(o.artists[0]).localeCompare(x(r.artists[0]))),s.sortBy=="track_number"&&(a.sort((o,r)=>(o.track_number||0)-(r.track_number||0)),a.sort((o,r)=>(o.disc_number||0)-(r.disc_number||0))),s.sortBy=="position"&&a.sort((o,r)=>(o.position||0)-(r.position||0)),s.sortBy=="position_desc"&&a.sort((o,r)=>(r.position||0)-(o.position||0)),s.sortBy=="year"&&a.sort((o,r)=>(o.year||0)-(r.year||0)),s.sortBy=="year_desc"&&a.sort((o,r)=>(r.year||0)-(o.year||0)),s.sortBy=="recent"&&a.sort((o,r)=>(r.timestamp_added||0)-(o.timestamp_added||0)),s.sortBy=="duration"&&a.sort((o,r)=>(o.duration||0)-(r.duration||0)),s.sortBy=="duration_desc"&&a.sort((o,r)=>(r.duration||0)-(o.duration||0)),s.sortBy=="provider"&&a.sort((o,r)=>o.provider.localeCompare(r.provider)),s.favoritesOnly&&(a=a.filter(o=>o.favorite)),s.albumType&&s.albumType.length>0&&(a=a.filter(o=>s.albumType?.includes(o.album_type))),a.slice(s.offset,s.offset+s.limit)},he=async function(){let t=!0;(l.total||F.value.length)>250&&(t=await new Promise(a=>{confirm(w("select_all_confirmation"))?a(!0):a(!1)})),t&&(await Qe(),h.value=u.value,V.value=!0)};return(t,s)=>e.hideOnEmpty&&u.value.length==0?f("",!0):(n(),p("section",ra,[b(et,{icon:e.icon,title:e.title,count:i.value.search?u.value.length:e.total||F.value.length,color:"transparent","menu-items":Je.value,onTitleClicked:Z},{title:c(()=>[Ct(t.$slots,"title",{},()=>[I(y(e.title),1)],!0)]),_:3},8,["icon","title","count","menu-items"]),b($t),ve.value?(n(),m(Ot,{key:0,id:"searchInput",modelValue:i.value.search,"onUpdate:modelValue":s[0]||(s[0]=a=>i.value.search=a),clearable:"","prepend-inner-icon":"mdi-magnify",label:t.$t("search"),"hide-details":"",variant:"filled",style:{width:"auto","margin-top":"10px"},onFocus:s[1]||(s[1]=a=>T.value=!0),onBlur:s[2]||(s[2]=a=>T.value=!1),"onClick:clear":Xe},null,8,["modelValue","label"])):f("",!0),N.value?(n(),m(_e,{key:1,variant:k.value=="list"?"default":"panel",style:{overflow:"hidden"}},{default:c(()=>[d.value?(n(),m(Tt,{key:0,color:"accent",height:"4",indeterminate:"",rounded:""})):f("",!0),!J.value&&!(u.value.length==0&&E.value)?(n(),m(Lt,{key:1,onLoad:de,mode:e.infiniteScroll?"intersect":"manual","load-more-text":t.$t("load_more_items"),"empty-text":"",style:{overflow:"hidden"}},{default:c(()=>[k.value=="panel"?(n(),m(Ie,{key:0},{default:c(()=>[(n(!0),p(ke,null,ge(u.value,a=>(n(),m(Se,{key:a.uri,cols:"12",class:D(`col-${v(we)(t.$vuetify.display.width)}`)},{default:c(()=>[b(ua,{item:a,"is-selected":ee(a),"show-checkboxes":V.value,"show-actions":["tracks","albums","albumtracks"].includes(e.itemtype),"show-track-number":e.showTrackNumber,"is-available":v(ie)(a),"is-playing":te(a,e.itemtype),"parent-item":e.parentItem,onSelect:ae},null,8,["item","is-selected","show-checkboxes","show-actions","show-track-number","is-available","is-playing","parent-item"])]),_:2},1032,["class"]))),128))]),_:1})):f("",!0),k.value=="panel_compact"?(n(),m(Ie,{key:1},{default:c(()=>[(n(!0),p(ke,null,ge(u.value,a=>(n(),m(Se,{key:a.uri,cols:"12",class:D(`col-${v(we)(t.$vuetify.display.width)}`)},{default:c(()=>[b(Dt,{item:a,"is-selected":ee(a),"show-checkboxes":V.value,"is-available":v(ie)(a),"is-playing":te(a,e.itemtype),"parent-item":e.parentItem,onSelect:ae},null,8,["item","is-selected","show-checkboxes","is-available","is-playing","parent-item"])]),_:2},1032,["class"]))),128))]),_:1})):f("",!0),k.value=="list"?(n(),m(Mt,{key:2,"item-height":70,height:"100%",items:u.value,style:{height:"100%",overflow:"hidden"}},{default:c(({item:a})=>[b(la,{item:a,"show-track-number":e.showTrackNumber,"show-disc-number":e.showTrackNumber,"show-duration":e.showDuration,"show-favorite":e.showFavoritesOnlyFilter,"show-menu":a.is_playable,"show-provider":e.showProvider,"show-album":e.showAlbum,"show-checkboxes":V.value,"is-selected":ee(a),"is-available":v(ie)(a),"is-playing":te(a,e.itemtype),"show-details":e.itemtype.includes("versions"),"parent-item":e.parentItem,onSelect:ae},null,8,["item","show-track-number","show-disc-number","show-duration","show-favorite","show-menu","show-provider","show-album","show-checkboxes","is-selected","is-available","is-playing","show-details","parent-item"])]),_:1},8,["items"])):f("",!0)]),_:1},8,["mode","load-more-text"])):f("",!0),!d.value&&u.value.length==0?(n(),p("div",ca,[!d.value&&u.value.length==0&&(i.value.search||i.value.favoritesOnly)?(n(),m(Be,{key:0,title:t.$t("no_content_filter")},{default:c(()=>[i.value.search?(n(),m(W,{key:0,style:{"margin-top":"15px"},onClick:We},{default:c(()=>[I(y(t.$t("try_global_search")),1)]),_:1})):f("",!0)]),_:1},8,["title"])):!d.value&&u.value.length==0?(n(),m(Be,{key:1},{default:c(()=>[I(y(t.$t("no_content")),1)]),_:1})):f("",!0)])):f("",!0),b(Et,{"model-value":h.value.length>1,timeout:-1,style:{"margin-bottom":"120px"}},{actions:c(()=>[b(W,{color:"primary",variant:"text",onClick:s[3]||(s[3]=a=>v(re)(h.value,a.clientX,a.clientY,e.parentItem))},{default:c(()=>[I(y(t.$t("actions")),1)]),_:1})]),default:c(()=>[R("span",null,y(t.$t("items_selected",[h.value.length])),1)]),_:1},8,["model-value"])]),_:1},8,["variant"])):f("",!0)]))}}),$a=ce(ma,[["__scopeId","data-v-058c19ad"]]);export{$a as I};
|