music-assistant-frontend 2.14.8__py3-none-any.whl → 2.15.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of music-assistant-frontend might be problematic. Click here for more details.
- music_assistant_frontend/assets/{AddManualLink.vue_vue_type_script_setup_true_lang-hsz3yl1O.js → AddManualLink.vue_vue_type_script_setup_true_lang-BlcH0xhL.js} +1 -1
- music_assistant_frontend/assets/{AddPlayerGroup-BOFxKdmk.js → AddPlayerGroup-Bzk3pBDe.js} +1 -1
- music_assistant_frontend/assets/{AddProvider-Bk_BXOY6.js → AddProvider-CET-mzXg.js} +1 -1
- music_assistant_frontend/assets/{AlbumDetails-DfcrlRJC.js → AlbumDetails-BYmyOVW_.js} +1 -1
- music_assistant_frontend/assets/{ArtistDetails-Cp5TEF00.js → ArtistDetails-BPbulgPp.js} +1 -1
- music_assistant_frontend/assets/{AudiobookDetails-BklI0n-g.js → AudiobookDetails-BmNjW8mS.js} +1 -1
- music_assistant_frontend/assets/BrowseView-B_FooMf5.js +1 -0
- music_assistant_frontend/assets/{Button-Dgn90_wu.js → Button-Bve60ot1.js} +1 -1
- music_assistant_frontend/assets/{Container-Df6fHx0a.js → Container-DgvGZFYh.js} +1 -1
- music_assistant_frontend/assets/{CoreConfigs-DM94xAIj.js → CoreConfigs-8Z91ZqAT.js} +1 -1
- music_assistant_frontend/assets/Default-CiHiVl0C.css +1 -0
- music_assistant_frontend/assets/Default-Dy5rgzdE.js +21 -0
- music_assistant_frontend/assets/{EditConfig-Bq4smwVK.js → EditConfig-BwBrKCsD.js} +1 -1
- music_assistant_frontend/assets/{EditCoreConfig-BrcupdDY.js → EditCoreConfig-DlOVODa-.js} +1 -1
- music_assistant_frontend/assets/{EditPlayer-D39Dt_JR.js → EditPlayer-Bzj6oc4o.js} +1 -1
- music_assistant_frontend/assets/{EditPlayerDsp-CbEf2YNk.js → EditPlayerDsp-McPBKMkc.js} +4 -4
- music_assistant_frontend/assets/{EditProvider-cGeRrZqj.js → EditProvider-Mp5rEN-B.js} +1 -1
- music_assistant_frontend/assets/{FrontendConfig-CHr1I1Il.js → FrontendConfig-DfY5LukP.js} +1 -1
- music_assistant_frontend/assets/{HomeView-CnzTr0FW.js → HomeView-EOJaJoha.js} +1 -1
- music_assistant_frontend/assets/{ItemsListing-w00UZyUV.js → ItemsListing-Df33tK_3.js} +1 -1
- music_assistant_frontend/assets/{LibraryAlbums-BBs_xIgi.js → LibraryAlbums-CS_STeny.js} +1 -1
- music_assistant_frontend/assets/{LibraryArtists-BeuP2Psy.js → LibraryArtists-izgMMDtZ.js} +1 -1
- music_assistant_frontend/assets/{LibraryAudiobooks-BgL5qpIP.js → LibraryAudiobooks-C5bf6XJC.js} +1 -1
- music_assistant_frontend/assets/{LibraryPlaylists-DIJFdjQ-.js → LibraryPlaylists-CJWqi5A-.js} +1 -1
- music_assistant_frontend/assets/{LibraryPodcasts-CesVf0Kz.js → LibraryPodcasts-B9c-U72A.js} +1 -1
- music_assistant_frontend/assets/{LibraryRadios-yn4GEj2i.js → LibraryRadios-Atfta4pa.js} +1 -1
- music_assistant_frontend/assets/{LibraryTracks-DOJ0Hzam.js → LibraryTracks--d4MW3Pa.js} +1 -1
- music_assistant_frontend/assets/{ListItem-D82xkCoP.js → ListItem-B8ofr90_.js} +1 -1
- music_assistant_frontend/assets/{MediaItemImages-C6D6ZZNw.js → MediaItemImages-BwEhZzWa.js} +1 -1
- music_assistant_frontend/assets/{MediaItemThumb-BgnQJnC4.js → MediaItemThumb-B7cGzB-g.js} +1 -1
- music_assistant_frontend/assets/PanelviewItemCompact-D50qqljw.js +1 -0
- music_assistant_frontend/assets/{PlayerCard-DnZtb2lD.js → PlayerCard-C4B2LsuS.js} +1 -1
- music_assistant_frontend/assets/Players-BMUZ6uZz.js +1 -0
- music_assistant_frontend/assets/{PlaylistDetails-C4DOse-D.js → PlaylistDetails-BSLZk0nU.js} +1 -1
- music_assistant_frontend/assets/{PodcastDetails-DaGCkWSt.js → PodcastDetails-CzDUQcBP.js} +1 -1
- music_assistant_frontend/assets/{ProviderDetails.vue_vue_type_script_setup_true_lang-CO2s0dkN.js → ProviderDetails.vue_vue_type_script_setup_true_lang-DcsYqdt_.js} +2 -2
- music_assistant_frontend/assets/{Providers-BByWPDY8.js → Providers-DSOQMBRc.js} +1 -1
- music_assistant_frontend/assets/RadioDetails-DbbdZzF5.js +1 -0
- music_assistant_frontend/assets/{Search-CVJP5jfP.js → Search-DX-Qo--S.js} +1 -1
- music_assistant_frontend/assets/{Settings-ChnUKqvF.js → Settings-CSlkAxYu.js} +1 -1
- music_assistant_frontend/assets/Toolbar-B517OjVQ.js +1 -0
- music_assistant_frontend/assets/{TrackDetails-C8K3i9HV.js → TrackDetails-sqvdbIXG.js} +1 -1
- music_assistant_frontend/assets/{VAlert-D2DA3ZFe.js → VAlert-_iyaxWIb.js} +1 -1
- music_assistant_frontend/assets/{VBtn-DqyIv1Wk.js → VBtn-Do0ASNFF.js} +1 -1
- music_assistant_frontend/assets/{VCheckbox-eVQCWG3M.js → VCheckbox-PODkcQkB.js} +1 -1
- music_assistant_frontend/assets/{VCheckboxBtn-DLxQu9yw.js → VCheckboxBtn-3gFb0eok.js} +1 -1
- music_assistant_frontend/assets/{VContainer-BPmvVR0-.js → VContainer-DOjz8n3s.js} +1 -1
- music_assistant_frontend/assets/{VDialog-DrY7Fpem.js → VDialog-BoVsCtTf.js} +1 -1
- music_assistant_frontend/assets/{VExpansionPanels-CfDPGNKc.js → VExpansionPanels-C5Hmlivf.js} +1 -1
- music_assistant_frontend/assets/{VForm-DHVz3Xn1.js → VForm-DHdy4n75.js} +1 -1
- music_assistant_frontend/assets/{VInfiniteScroll-B0eycroE.js → VInfiniteScroll-C1q1Q-yj.js} +1 -1
- music_assistant_frontend/assets/{VRow-CwPnZM2-.js → VRow-BHwbFp4d.js} +1 -1
- music_assistant_frontend/assets/{VSlider-BRnj1pQr.js → VSlider-S5KSn-8o.js} +1 -1
- music_assistant_frontend/assets/VSpacer-DnooLekf.js +1 -0
- music_assistant_frontend/assets/{VSwitch-CSNhHdCI.js → VSwitch-D7rcjkBZ.js} +1 -1
- music_assistant_frontend/assets/{VTextField-ClaYK-kH.js → VTextField-Dt6QeC_M.js} +1 -1
- music_assistant_frontend/assets/{VToolbar-DgW7y8TG.js → VToolbar-1wv8OiOl.js} +1 -1
- music_assistant_frontend/assets/{VVirtualScroll-HiNSn0b7.js → VVirtualScroll-Bsoo1OHJ.js} +1 -1
- music_assistant_frontend/assets/{WidgetRow-Cpz4kZyo.js → WidgetRow-wBmvyAQA.js} +1 -1
- music_assistant_frontend/assets/{index-DHdZ3kUo.js → index-CER3Y8WH.js} +104 -61
- music_assistant_frontend/assets/index-P4BZlcdF.css +5 -0
- music_assistant_frontend/assets/{layout-CyoFEFNl.js → layout-CNL_CYuO.js} +1 -1
- music_assistant_frontend/assets/{marquee_text_sync-CWCQ9aST.js → marquee_text_sync-ORAK4e82.js} +1 -1
- music_assistant_frontend/index.html +2 -2
- music_assistant_frontend/sw.js +1 -1
- {music_assistant_frontend-2.14.8.dist-info → music_assistant_frontend-2.15.0.dist-info}/METADATA +8 -3
- {music_assistant_frontend-2.14.8.dist-info → music_assistant_frontend-2.15.0.dist-info}/RECORD +70 -71
- {music_assistant_frontend-2.14.8.dist-info → music_assistant_frontend-2.15.0.dist-info}/WHEEL +1 -1
- music_assistant_frontend/assets/BrowseView-CQFO5Hsm.js +0 -1
- music_assistant_frontend/assets/Default-2hwSjVba.css +0 -1
- music_assistant_frontend/assets/Default-BGgohgt4.js +0 -7
- music_assistant_frontend/assets/MediaItemThumb-CeZD-3jZ.css +0 -1
- music_assistant_frontend/assets/PanelviewItemCompact-776c11Dw.js +0 -1
- music_assistant_frontend/assets/Players-DjkYBHB2.js +0 -1
- music_assistant_frontend/assets/RadioDetails-Bs6chlh0.js +0 -1
- music_assistant_frontend/assets/Toolbar-D2EfoAlR.js +0 -1
- music_assistant_frontend/assets/VSpacer-BkXa9hHi.js +0 -1
- music_assistant_frontend/assets/index-dJPxpJXD.css +0 -5
- {music_assistant_frontend-2.14.8.dist-info → music_assistant_frontend-2.15.0.dist-info/licenses}/LICENSE +0 -0
- {music_assistant_frontend-2.14.8.dist-info → music_assistant_frontend-2.15.0.dist-info}/top_level.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as $e,s as ee,c as U,a0 as i,d as Ke,cn as ge,co as Ge,g as je,aF as He,x as G,q as Ce,cp as ze,az as Qe,cq as re,w as se,cr as xe,P as Se,A as We,B as s,D as ne,aA as Xe,c6 as Ye,aB as Ze,cs as Je,ct as Ee,cu as _e,G as ae,an as we,cv as el,ap as ll,a1 as al,X as Ie,bA as tl,cw as ul,bo as il,F as nl,ao as Q,Q as sl,ca as C,cx as pe,Z as z,S as h,R as q,a9 as me,W as T,U as E,$ as Fe,ab as N,a8 as b,Y as ol,bE as rl,a7 as dl,bD as Te,bz as vl,bx as cl}from"./index-DHdZ3kUo.js";import{V as ml}from"./VForm-DHVz3Xn1.js";import{V as fl,a as bl,b as pl,c as gl}from"./VExpansionPanels-CfDPGNKc.js";import{c as kl,a as Vl,d as hl}from"./VCheckboxBtn-DLxQu9yw.js";import{V as Ae}from"./VAlert-D2DA3ZFe.js";import{a as _}from"./VBtn-DqyIv1Wk.js";import{u as Cl,m as xl,V as Sl,a as El}from"./VSwitch-CSNhHdCI.js";import{V as wl}from"./VSlider-BRnj1pQr.js";import{V as le,m as Il}from"./VTextField-ClaYK-kH.js";import{V as Fl}from"./VVirtualScroll-HiNSn0b7.js";import{V as Tl}from"./VDialog-DrY7Fpem.js";import{V as Al}from"./VSpacer-BkXa9hHi.js";import{_ as $l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Rl=(l,k,o)=>l==null||k==null?-1:l.toString().toLocaleLowerCase().indexOf(k.toString().toLocaleLowerCase()),Ul=$e({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Dl(l,k,o){var $;const r=[],w=(o==null?void 0:o.default)??Rl,I=o!=null&&o.filterKeys?ge(o.filterKeys):!1,F=Object.keys((o==null?void 0:o.customKeyFilter)??{}).length;if(!(l!=null&&l.length))return r;e:for(let S=0;S<l.length;S++){const[V,j=V]=ge(l[S]),y={},p={};let d=-1;if((k||F>0)&&!(o!=null&&o.noFilter)){if(typeof V=="object"){const Y=I||Object.keys(j);for(const M of Y){const te=Ge(j,M),P=($=o==null?void 0:o.customKeyFilter)==null?void 0:$[M];if(d=P?P(te,k,V):w(te,k,V),d!==-1&&d!==!1)P?y[M]=d:p[M]=d;else if((o==null?void 0:o.filterMode)==="every")continue e}}else d=w(V,k,V),d!==-1&&d!==!1&&(p.title=d);const B=Object.keys(p).length,W=Object.keys(y).length;if(!B&&!W||(o==null?void 0:o.filterMode)==="union"&&W!==F&&!B||(o==null?void 0:o.filterMode)==="intersection"&&(W!==F||!B))continue}r.push({index:S,matches:{...p,...y}})}return r}function yl(l,k,o,r){const w=ee([]),I=ee(new Map),F=U(()=>i(k));Ke(()=>{const S=typeof o=="function"?o():i(o),V=typeof S!="string"&&typeof S!="number"?"":String(S),j=Dl(F.value,V,{customKeyFilter:{...l.customKeyFilter,...i(r==null?void 0:r.customKeyFilter)},default:l.customFilter,filterKeys:l.filterKeys,filterMode:l.filterMode,noFilter:l.noFilter}),y=i(k),p=[],d=new Map;j.forEach(B=>{let{index:W,matches:Y}=B;const M=y[W];p.push(M),d.set(M.value,Y)}),w.value=p,I.value=d});function $(S){return I.value.get(S.value)}return{filteredItems:w,filteredMatches:I,getMatches:$}}function Ll(l,k,o){if(k==null)return l;if(Array.isArray(k))throw new Error("Multiple matches is not implemented");return typeof k=="number"&&~k?s(ae,null,[s("span",{class:"v-combobox__unmask"},[l.substr(0,k)]),s("span",{class:"v-combobox__mask"},[l.substr(k,o)]),s("span",{class:"v-combobox__unmask"},[l.substr(k+o)])]):l}const Ml=$e({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Ul({filterKeys:["title"]}),...xl({hideNoData:!0,returnObject:!0}),...Ze(Il({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ye({transition:!1})},"VCombobox"),Pl=je()({name:"VCombobox",props:Ml(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,k){var ke;let{emit:o,slots:r}=k;const{t:w}=He(),I=G(),F=ee(!1),$=ee(!0),S=ee(!1),V=G(),j=G(),y=Ce(l,"menu"),p=U({get:()=>y.value,set:t=>{var v;y.value&&!t&&((v=V.value)!=null&&v.ΨopenChildren.size)||(y.value=t)}}),d=ee(-1);let B=!1;const W=U(()=>{var t;return(t=I.value)==null?void 0:t.color}),Y=U(()=>p.value?l.closeText:l.openText),{items:M,transformIn:te,transformOut:P}=ze(l),{textColorClasses:K,textColorStyles:de}=Qe(W),f=Ce(l,"modelValue",[],t=>te(ge(t)),t=>{const v=P(t);return l.multiple?v:v[0]??null}),ue=kl(l),u=U(()=>!!(l.chips||r.chip)),a=U(()=>u.value||!!r.selection),m=ee(!l.multiple&&!a.value?((ke=f.value[0])==null?void 0:ke.title)??"":""),e=U({get:()=>m.value,set:t=>{var v;if(m.value=t??"",!l.multiple&&!a.value&&(f.value=[re(l,t)]),t&&l.multiple&&((v=l.delimiters)!=null&&v.length)){const x=t.split(new RegExp(`(?:${l.delimiters.join("|")})+`));x.length>1&&(x.forEach(c=>{c=c.trim(),c&&H(re(l,c))}),m.value="")}t||(d.value=-1),$.value=!t}}),D=U(()=>typeof l.counterValue=="function"?l.counterValue(f.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?f.value.length:e.value.length);se(m,t=>{B?Se(()=>B=!1):F.value&&!p.value&&(p.value=!0),o("update:search",t)}),se(f,t=>{var v;!l.multiple&&!a.value&&(m.value=((v=t[0])==null?void 0:v.title)??"")});const{filteredItems:A,getMatches:X}=yl(l,M,()=>$.value?"":e.value),n=U(()=>l.hideSelected?A.value.filter(t=>!f.value.some(v=>v.value===t.value)):A.value),oe=U(()=>f.value.map(t=>t.value)),Z=U(()=>{var v;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&e.value===((v=n.value[0])==null?void 0:v.title))&&n.value.length>0&&!$.value&&!S.value}),fe=U(()=>l.hideNoData&&!n.value.length||ue.isReadonly.value||ue.isDisabled.value),be=G(),Re=Cl(be,I);function Ue(t){B=!0,l.openOnClear&&(p.value=!0)}function De(){fe.value||(p.value=!0)}function ye(t){fe.value||(F.value&&(t.preventDefault(),t.stopPropagation()),p.value=!p.value)}function Le(t){var v;t.key!==" "&&Ee(t)&&((v=I.value)==null||v.focus())}function Me(t){var c;if(Je(t)||ue.isReadonly.value)return;const v=I.value.selectionStart,x=f.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"].includes(t.key)&&(p.value=!0),["Escape"].includes(t.key)&&(p.value=!1),["Enter","Escape","Tab"].includes(t.key)&&(Z.value&&["Enter","Tab"].includes(t.key)&&!f.value.some(g=>{let{value:O}=g;return O===n.value[0].value})&&H(A.value[0]),$.value=!0),t.key==="ArrowDown"&&Z.value&&((c=be.value)==null||c.focus("next")),t.key==="Enter"&&e.value&&(H(re(l,e.value)),a.value&&(m.value="")),["Backspace","Delete"].includes(t.key)){if(!l.multiple&&a.value&&f.value.length>0&&!e.value)return H(f.value[0],!1);if(~d.value){t.preventDefault();const g=d.value;H(f.value[d.value],!1),d.value=g>=x-1?x-2:g}else t.key==="Backspace"&&!e.value&&(d.value=x-1);return}if(l.multiple)if(t.key==="ArrowLeft"){if(d.value<0&&v>0)return;const g=d.value>-1?d.value-1:x-1;f.value[g]?d.value=g:(d.value=-1,I.value.setSelectionRange(e.value.length,e.value.length))}else if(t.key==="ArrowRight"){if(d.value<0)return;const g=d.value+1;f.value[g]?d.value=g:(d.value=-1,I.value.setSelectionRange(0,0))}else~d.value&&Ee(t)&&(d.value=-1)}function Pe(){var t;l.eager&&((t=j.value)==null||t.calculateVisibleItems())}function Oe(){var t;F.value&&($.value=!0,(t=I.value)==null||t.focus())}function H(t){let v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!t||t.props.disabled))if(l.multiple){const x=f.value.findIndex(g=>(l.valueComparator||xe)(g.value,t.value)),c=v??!~x;if(~x){const g=c?[...f.value,t]:[...f.value];g.splice(x,1),f.value=g}else c&&(f.value=[...f.value,t]);l.clearOnSelect&&(e.value="")}else{const x=v!==!1;f.value=x?[t]:[],m.value=x&&!a.value?t.title:"",Se(()=>{p.value=!1,$.value=!0})}}function qe(t){F.value=!0,setTimeout(()=>{S.value=!0})}function Ne(t){S.value=!1}function Be(t){(t==null||t===""&&!l.multiple&&!a.value)&&(f.value=[])}return se(F,(t,v)=>{if(!(t||t===v)&&(d.value=-1,p.value=!1,e.value)){if(l.multiple){H(re(l,e.value));return}if(!a.value)return;f.value.some(x=>{let{title:c}=x;return c===e.value})?m.value="":H(re(l,e.value))}}),se(p,()=>{if(!l.hideSelected&&p.value&&f.value.length){const t=n.value.findIndex(v=>f.value.some(x=>(l.valueComparator||xe)(x.value,v.value)));_e&&window.requestAnimationFrame(()=>{var v;t>=0&&((v=j.value)==null||v.scrollToIndex(t))})}}),se(()=>l.items,(t,v)=>{p.value||F.value&&!v.length&&t.length&&(p.value=!0)}),We(()=>{const t=!!(!l.hideNoData||n.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),v=f.value.length>0,x=le.filterProps(l);return s(le,ne({ref:I},x,{modelValue:e.value,"onUpdate:modelValue":[c=>e.value=c,Be],focused:F.value,"onUpdate:focused":c=>F.value=c,validationValue:f.externalValue,counterValue:D.value,dirty:v,class:["v-combobox",{"v-combobox--active-menu":p.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!a.value,"v-combobox--selecting-index":d.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:ue.isReadonly.value,placeholder:v?void 0:l.placeholder,"onClick:clear":Ue,"onMousedown:control":De,onKeydown:Me}),{...r,default:()=>s(ae,null,[s(ll,ne({ref:V,modelValue:p.value,"onUpdate:modelValue":c=>p.value=c,activator:"parent",contentClass:"v-combobox__content",disabled:fe.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:l.transition,onAfterEnter:Pe,onAfterLeave:Oe},l.menuProps),{default:()=>[t&&s(al,ne({ref:be,selected:oe.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:c=>c.preventDefault(),onKeydown:Le,onFocusin:qe,onFocusout:Ne,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},Re,l.listProps),{default:()=>{var c,g,O;return[(c=r["prepend-item"])==null?void 0:c.call(r),!n.value.length&&!l.hideNoData&&(((g=r["no-data"])==null?void 0:g.call(r))??s(Ie,{key:"no-data",title:w(l.noDataText)},null)),s(Fl,{ref:j,renderless:!0,items:n.value},{default:J=>{var he;let{item:R,index:ie,itemRef:L}=J;const Ve=ne(R.props,{ref:L,key:R.value,active:Z.value&&ie===0?!0:void 0,onClick:()=>H(R,null)});return((he=r.item)==null?void 0:he.call(r,{item:R,index:ie,props:Ve}))??s(Ie,ne(Ve,{role:"option"}),{prepend:ve=>{let{isSelected:ce}=ve;return s(ae,null,[l.multiple&&!l.hideSelected?s(Vl,{key:R.value,modelValue:ce,ripple:!1,tabindex:"-1"},null):void 0,R.props.prependAvatar&&s(tl,{image:R.props.prependAvatar},null),R.props.prependIcon&&s(we,{icon:R.props.prependIcon},null)])},title:()=>{var ve,ce;return $.value?R.title:Ll(R.title,(ve=X(R))==null?void 0:ve.title,((ce=e.value)==null?void 0:ce.length)??0)}})}}),(O=r["append-item"])==null?void 0:O.call(r)]}})]}),f.value.map((c,g)=>{function O(L){L.stopPropagation(),L.preventDefault(),H(c,!1)}const J={"onClick:close":O,onKeydown(L){L.key!=="Enter"&&L.key!==" "||(L.preventDefault(),L.stopPropagation(),O(L))},onMousedown(L){L.preventDefault(),L.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},R=u.value?!!r.chip:!!r.selection,ie=R?ul(u.value?r.chip({item:c,index:g,props:J}):r.selection({item:c,index:g})):void 0;if(!(R&&!ie))return s("div",{key:c.value,class:["v-combobox__selection",g===d.value&&["v-combobox__selection--selected",K.value]],style:g===d.value?de.value:{}},[u.value?r.chip?s(nl,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:c.title}}},{default:()=>[ie]}):s(il,ne({key:"chip",closable:l.closableChips,size:"small",text:c.title,disabled:c.props.disabled},J),null):ie??s("span",{class:"v-combobox__selection-text"},[c.title,l.multiple&&g<f.value.length-1&&s("span",{class:"v-combobox__selection-comma"},[Q(",")])])])})]),"append-inner":function(){var J;for(var c=arguments.length,g=new Array(c),O=0;O<c;O++)g[O]=arguments[O];return s(ae,null,[(J=r["append-inner"])==null?void 0:J.call(r,...g),(!l.hideNoData||l.items.length)&&l.menuIcon?s(we,{class:"v-combobox__menu-icon",icon:l.menuIcon,onMousedown:ye,onClick:el,"aria-label":w(Y.value),title:w(Y.value),tabindex:"-1"},null):void 0])}})}),Xe({isFocused:F,isPristine:$,menu:p,search:e,selectionIndex:d,filteredItems:A,select:H},I)}}),Ol={class:"configcolumnleft"},ql={key:0},Nl={key:1},Bl={key:2},Kl={key:3},Gl={key:4},jl={key:0,class:"configcolumnright"},Hl=sl({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean}},emits:["submit","action"],setup(l,{emit:k}){const o=rl(),r=k,w=G(),I=G(!1),F=G(),$=G("generic"),S=G(!1),V=G(),j=G({}),y=l,p=U(()=>{const u=w.value.map(a=>a.category);return u.filter(a=>a=="generic").length?new Set(["generic",...u]):new Set(u)}),d=U(()=>{if(w.value){for(const u of w.value)if(u.required&&!(!P(u.value)||!P(u.default_value)||u.type==C.DIVIDER||u.type==C.LABEL||u.type==C.ALERT||u.type==C.ACTION))return!1;return!0}return!1});U(()=>{const u={};for(const a of y.configEntries)a.value!=null&&(a.type==C.SECURE_STRING&&a.value==pe||(u[a.key]=a.value));return u}),se(()=>y.configEntries,u=>{w.value=[];for(const a of u||[])a.value!==void 0&&a.value!==null&&(j.value[a.key]=a.value),(a.value==null||a.value==null)&&(a.value=a.default_value),w.value.push(a)},{immediate:!0});const B=async function(){const{valid:u}=await F.value.validate();return u},W=async function(){await B()&&r("submit",de())},Y=async function(u){r("action",u,de())},M=function(u){const a=document.createElement("a");a.setAttribute("href",u),a.setAttribute("target","_blank"),a.click()},te=function(){o.push(`${o.currentRoute.value.path}/dsp`)},P=function(u){return u==null},K=function(u){var a;if(!P(u.depends_on)){const m=(a=w.value)==null?void 0:a.find(e=>e.key==u.depends_on);if(m){const e=m.value;if(!P(u.depends_on_value))return e!=u.depends_on_value;if(!P(u.depends_on_value_not))return e==u.depends_on_value_not;if(m.required&&P(m)||m.type==C.BOOLEAN&&!e)return!0}}return!1},de=function(){const u={};for(const a of y.configEntries)a.value==null&&(a.value=null),!(a.type==C.SECURE_STRING&&a.value==pe)&&(u[a.key]=a.value);return u},f=function(u){var m,e;if(!u.options)return[];const a=[];for(const D of u.options){let A=((m=D.value)==null?void 0:m.toString())||"",X=((e=D.title)==null?void 0:e.toString())||"";for(const Z of["@","$","|"])A.includes(Z)&&(A=A.replaceAll(Z,"")),X.includes(Z)&&(X=X.toString().replaceAll(Z,""));const oe={title:b(`settings.${u.key}.options.${A}`,X),value:D.value};oe.value==u.default_value&&(oe.title+=` [${b("settings.default")}]`),a.push(oe)}return a},ue=function(u){var a;return((a=b(`settings.${u==null?void 0:u.key}.description`,u.description||" ")||u.help_link||" ")==null?void 0:a.length)>1};return(u,a)=>(h(),z(ae,null,[w.value?(h(),q(ml,{key:0,ref_key:"form",ref:F,modelValue:I.value,"onUpdate:modelValue":a[2]||(a[2]=m=>I.value=m),disabled:u.disabled},{default:E(()=>[s(fl,{modelValue:$.value,"onUpdate:modelValue":a[1]||(a[1]=m=>$.value=m),variant:"accordion",multiple:"",flat:""},{default:E(()=>[(h(!0),z(ae,null,Fe(p.value,m=>(h(),q(bl,{key:m,value:m,flat:"",accordion:"",class:"configrowpanel"},{default:E(()=>[s(pl,null,{default:E(()=>[T("h3",null,N(i(b)("settings.category."+m,m)),1)]),_:2},1024),a[18]||(a[18]=T("br",null,null,-1)),s(gl,null,{default:E(()=>[(h(!0),z(ae,null,Fe(w.value.filter(e=>e.category==m&&!e.hidden),e=>{var D,A,X;return h(),z("div",{key:e.key,class:"configrow"},[T("div",Ol,[e.type==i(C).DIVIDER?(h(),z("div",ql,[a[7]||(a[7]=T("br",null,null,-1)),s(ol),e.label?(h(),q(hl,{key:0,style:{"margin-left":"8px","margin-top":"10px","margin-bottom":"10px"}},{default:E(()=>[T("b",null,N(e.label),1)]),_:2},1024)):me("",!0),a[8]||(a[8]=T("br",null,null,-1)),a[9]||(a[9]=T("br",null,null,-1))])):e.type==i(C).LABEL?(h(),z("div",Nl,[a[10]||(a[10]=T("br",null,null,-1)),s(Ae,{variant:"outlined",type:"info"},{default:E(()=>[Q(N(i(b)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[11]||(a[11]=T("br",null,null,-1)),a[12]||(a[12]=T("br",null,null,-1))])):e.type==i(C).ALERT?(h(),z("div",Bl,[a[13]||(a[13]=T("br",null,null,-1)),s(Ae,{density:"compact",type:"warning"},{default:E(()=>[Q(N(i(b)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[14]||(a[14]=T("br",null,null,-1)),a[15]||(a[15]=T("br",null,null,-1))])):e.type==i(C).ACTION||e.action&&!e.value?(h(),z("div",Kl,[a[16]||(a[16]=T("br",null,null,-1)),s(_,{class:"actionbutton",disabled:K(e),onClick:n=>{Y(e.action||e.key),e.value=e.action?null:e.key}},{default:E(()=>[Q(N(i(b)(`settings.${e.action||e.key}.label`,e.action_label||e.label)),1)]),_:2},1032,["disabled","onClick"])])):e.type==i(C).DSP_SETTINGS?(h(),z("div",Gl,[a[17]||(a[17]=T("br",null,null,-1)),Q(" "+N(e.value?i(b)("settings.dsp_enabled"):i(b)("settings.dsp_disabled"))+" ",1),s(_,{class:"actionbutton",onClick:te},{default:E(()=>[Q(N(i(b)("open_dsp_settings")),1)]),_:1})])):e.type==i(C).BOOLEAN?(h(),q(Sl,{key:5,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:i(b)(`settings.${e.key}.label`,e.label),color:"primary",disabled:K(e)},null,8,["modelValue","onUpdate:modelValue","label","disabled"])):(e.type==i(C).INTEGER||e.type==i(C).FLOAT)&&e.range&&e.range.length==2?(h(),q(wl,{key:6,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,class:"align-center",min:e.range[0],max:e.range[1],step:e.type==i(C).FLOAT?.5:1,"hide-details":"",style:{"margin-top":"10px","margin-bottom":"25px"},color:"primary"},{append:E(()=>[s(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(C).SECURE_STRING?(h(),q(le,{key:7,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,disabled:K(e),rules:[n=>!(!n&&e.required)||i(b)("settings.invalid_input")],type:S.value?"text":"password","append-inner-icon":S.value?"mdi-eye":typeof e.value=="string"&&e.value.includes(i(pe))?"":"mdi-eye-off",variant:"outlined",clearable:"",readonly:!!e.action,"onClick:appendInner":a[0]||(a[0]=n=>S.value=!S.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?(h(),q(El,{key:8,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,chips:e.multi_value,clearable:!0,multiple:e.multi_value,items:f(e),disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(b)("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(C).INTEGER||e.type==i(C).FLOAT?(h(),q(le,{key:9,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:(D=e.default_value)==null?void 0:D.toString(),disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(b)("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(C).ICON?(h(),q(le,{key:10,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:(A=e.default_value)==null?void 0:A.toString(),clearable:"",disabled:K(e),label:i(b)(`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(C).STRING&&e.multi_value?(h(),q(Pl,{key:11,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,multiple:"",chips:"",clearable:!0,disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(b)("settings.invalid_input")],variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","disabled","label","required","rules","onClick:clear"])):(h(),q(le,{key:12,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:(X=e.default_value)==null?void 0:X.toString(),clearable:"",disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(b)("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"]))]),ue(e)?(h(),z("div",jl,[s(_,{icon:"mdi-help-box",variant:"plain",class:"helpicon",size:"x-large",onClick:n=>i(b)(`settings.${e==null?void 0:e.key}.description`,e.description||"")?V.value=e:M(e.help_link)},null,8,["onClick"])])):me("",!0)])}),128))]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),a[19]||(a[19]=T("br",null,null,-1)),s(_,{block:"",color:"primary",disabled:!d.value,onClick:W},{default:E(()=>[Q(N(i(b)("settings.save")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue","disabled"])):me("",!0),a[20]||(a[20]=T("br",null,null,-1)),s(_,{block:"",onClick:a[3]||(a[3]=m=>i(o).back())},{default:E(()=>[Q(N(i(b)("close")),1)]),_:1}),s(Tl,{"model-value":V.value!==void 0,width:"auto","onUpdate:modelValue":a[6]||(a[6]=m=>V.value=void 0)},{default:E(()=>[s(dl,null,{default:E(()=>{var m,e;return[s(Te,null,{default:E(()=>{var D,A;return[T("h2",null,N(i(b)(`settings.${(D=V.value)==null?void 0:D.key}.label`,((A=V.value)==null?void 0:A.label)||"")),1)]}),_:1}),s(Te,{innerHTML:i(vl)(i(b)(`settings.${(m=V.value)==null?void 0:m.key}.description`,((e=V.value)==null?void 0:e.description)||""))},null,8,["innerHTML"]),s(cl,null,{default:E(()=>{var D;return[(D=V.value)!=null&&D.help_link?(h(),q(_,{key:0,onClick:a[4]||(a[4]=A=>M(V.value.help_link))},{default:E(()=>[Q(N(i(b)("read_more")),1)]),_:1})):me("",!0),s(Al),s(_,{color:"primary",onClick:a[5]||(a[5]=A=>V.value=void 0)},{default:E(()=>[Q(N(i(b)("close")),1)]),_:1})]}),_:1})]}),_:1})]),_:1},8,["model-value"])],64))}}),ia=$l(Hl,[["__scopeId","data-v-4db42c7a"]]);export{ia as E};
|
|
1
|
+
import{p as $e,s as ee,c as U,a0 as i,d as Ke,cn as ge,co as Ge,g as je,aG as He,x as G,q as Ce,cp as ze,aA as Qe,cq as re,w as se,cr as xe,P as Se,A as We,B as s,D as ne,aB as Xe,c6 as Ye,aC as Ze,cs as Je,ct as Ee,cu as _e,G as ae,an as we,cv as el,ap as ll,a1 as al,X as Ie,bA as tl,cw as ul,bo as il,F as nl,ao as Q,Q as sl,ca as C,cx as pe,Z as z,S as h,R as q,a9 as me,W as T,U as E,$ as Fe,ab as N,a8 as b,Y as ol,bE as rl,a7 as dl,bD as Te,bz as vl,bx as cl}from"./index-CER3Y8WH.js";import{V as ml}from"./VForm-DHdy4n75.js";import{V as fl,a as bl,b as pl,c as gl}from"./VExpansionPanels-C5Hmlivf.js";import{c as kl,a as Vl,d as hl}from"./VCheckboxBtn-3gFb0eok.js";import{V as Ae}from"./VAlert-_iyaxWIb.js";import{a as _}from"./VBtn-Do0ASNFF.js";import{u as Cl,m as xl,V as Sl,a as El}from"./VSwitch-D7rcjkBZ.js";import{V as wl}from"./VSlider-S5KSn-8o.js";import{V as le,m as Il}from"./VTextField-Dt6QeC_M.js";import{V as Fl}from"./VVirtualScroll-Bsoo1OHJ.js";import{V as Tl}from"./VDialog-BoVsCtTf.js";import{V as Al}from"./VSpacer-DnooLekf.js";import{_ as $l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Rl=(l,k,o)=>l==null||k==null?-1:l.toString().toLocaleLowerCase().indexOf(k.toString().toLocaleLowerCase()),Ul=$e({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Dl(l,k,o){var $;const r=[],w=(o==null?void 0:o.default)??Rl,I=o!=null&&o.filterKeys?ge(o.filterKeys):!1,F=Object.keys((o==null?void 0:o.customKeyFilter)??{}).length;if(!(l!=null&&l.length))return r;e:for(let S=0;S<l.length;S++){const[V,j=V]=ge(l[S]),y={},p={};let d=-1;if((k||F>0)&&!(o!=null&&o.noFilter)){if(typeof V=="object"){const Y=I||Object.keys(j);for(const M of Y){const te=Ge(j,M),P=($=o==null?void 0:o.customKeyFilter)==null?void 0:$[M];if(d=P?P(te,k,V):w(te,k,V),d!==-1&&d!==!1)P?y[M]=d:p[M]=d;else if((o==null?void 0:o.filterMode)==="every")continue e}}else d=w(V,k,V),d!==-1&&d!==!1&&(p.title=d);const B=Object.keys(p).length,W=Object.keys(y).length;if(!B&&!W||(o==null?void 0:o.filterMode)==="union"&&W!==F&&!B||(o==null?void 0:o.filterMode)==="intersection"&&(W!==F||!B))continue}r.push({index:S,matches:{...p,...y}})}return r}function yl(l,k,o,r){const w=ee([]),I=ee(new Map),F=U(()=>i(k));Ke(()=>{const S=typeof o=="function"?o():i(o),V=typeof S!="string"&&typeof S!="number"?"":String(S),j=Dl(F.value,V,{customKeyFilter:{...l.customKeyFilter,...i(r==null?void 0:r.customKeyFilter)},default:l.customFilter,filterKeys:l.filterKeys,filterMode:l.filterMode,noFilter:l.noFilter}),y=i(k),p=[],d=new Map;j.forEach(B=>{let{index:W,matches:Y}=B;const M=y[W];p.push(M),d.set(M.value,Y)}),w.value=p,I.value=d});function $(S){return I.value.get(S.value)}return{filteredItems:w,filteredMatches:I,getMatches:$}}function Ll(l,k,o){if(k==null)return l;if(Array.isArray(k))throw new Error("Multiple matches is not implemented");return typeof k=="number"&&~k?s(ae,null,[s("span",{class:"v-combobox__unmask"},[l.substr(0,k)]),s("span",{class:"v-combobox__mask"},[l.substr(k,o)]),s("span",{class:"v-combobox__unmask"},[l.substr(k+o)])]):l}const Ml=$e({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Ul({filterKeys:["title"]}),...xl({hideNoData:!0,returnObject:!0}),...Ze(Il({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ye({transition:!1})},"VCombobox"),Pl=je()({name:"VCombobox",props:Ml(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,k){var ke;let{emit:o,slots:r}=k;const{t:w}=He(),I=G(),F=ee(!1),$=ee(!0),S=ee(!1),V=G(),j=G(),y=Ce(l,"menu"),p=U({get:()=>y.value,set:t=>{var v;y.value&&!t&&((v=V.value)!=null&&v.ΨopenChildren.size)||(y.value=t)}}),d=ee(-1);let B=!1;const W=U(()=>{var t;return(t=I.value)==null?void 0:t.color}),Y=U(()=>p.value?l.closeText:l.openText),{items:M,transformIn:te,transformOut:P}=ze(l),{textColorClasses:K,textColorStyles:de}=Qe(W),f=Ce(l,"modelValue",[],t=>te(ge(t)),t=>{const v=P(t);return l.multiple?v:v[0]??null}),ue=kl(l),u=U(()=>!!(l.chips||r.chip)),a=U(()=>u.value||!!r.selection),m=ee(!l.multiple&&!a.value?((ke=f.value[0])==null?void 0:ke.title)??"":""),e=U({get:()=>m.value,set:t=>{var v;if(m.value=t??"",!l.multiple&&!a.value&&(f.value=[re(l,t)]),t&&l.multiple&&((v=l.delimiters)!=null&&v.length)){const x=t.split(new RegExp(`(?:${l.delimiters.join("|")})+`));x.length>1&&(x.forEach(c=>{c=c.trim(),c&&H(re(l,c))}),m.value="")}t||(d.value=-1),$.value=!t}}),D=U(()=>typeof l.counterValue=="function"?l.counterValue(f.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?f.value.length:e.value.length);se(m,t=>{B?Se(()=>B=!1):F.value&&!p.value&&(p.value=!0),o("update:search",t)}),se(f,t=>{var v;!l.multiple&&!a.value&&(m.value=((v=t[0])==null?void 0:v.title)??"")});const{filteredItems:A,getMatches:X}=yl(l,M,()=>$.value?"":e.value),n=U(()=>l.hideSelected?A.value.filter(t=>!f.value.some(v=>v.value===t.value)):A.value),oe=U(()=>f.value.map(t=>t.value)),Z=U(()=>{var v;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&e.value===((v=n.value[0])==null?void 0:v.title))&&n.value.length>0&&!$.value&&!S.value}),fe=U(()=>l.hideNoData&&!n.value.length||ue.isReadonly.value||ue.isDisabled.value),be=G(),Re=Cl(be,I);function Ue(t){B=!0,l.openOnClear&&(p.value=!0)}function De(){fe.value||(p.value=!0)}function ye(t){fe.value||(F.value&&(t.preventDefault(),t.stopPropagation()),p.value=!p.value)}function Le(t){var v;t.key!==" "&&Ee(t)&&((v=I.value)==null||v.focus())}function Me(t){var c;if(Je(t)||ue.isReadonly.value)return;const v=I.value.selectionStart,x=f.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"].includes(t.key)&&(p.value=!0),["Escape"].includes(t.key)&&(p.value=!1),["Enter","Escape","Tab"].includes(t.key)&&(Z.value&&["Enter","Tab"].includes(t.key)&&!f.value.some(g=>{let{value:O}=g;return O===n.value[0].value})&&H(A.value[0]),$.value=!0),t.key==="ArrowDown"&&Z.value&&((c=be.value)==null||c.focus("next")),t.key==="Enter"&&e.value&&(H(re(l,e.value)),a.value&&(m.value="")),["Backspace","Delete"].includes(t.key)){if(!l.multiple&&a.value&&f.value.length>0&&!e.value)return H(f.value[0],!1);if(~d.value){t.preventDefault();const g=d.value;H(f.value[d.value],!1),d.value=g>=x-1?x-2:g}else t.key==="Backspace"&&!e.value&&(d.value=x-1);return}if(l.multiple)if(t.key==="ArrowLeft"){if(d.value<0&&v>0)return;const g=d.value>-1?d.value-1:x-1;f.value[g]?d.value=g:(d.value=-1,I.value.setSelectionRange(e.value.length,e.value.length))}else if(t.key==="ArrowRight"){if(d.value<0)return;const g=d.value+1;f.value[g]?d.value=g:(d.value=-1,I.value.setSelectionRange(0,0))}else~d.value&&Ee(t)&&(d.value=-1)}function Pe(){var t;l.eager&&((t=j.value)==null||t.calculateVisibleItems())}function Oe(){var t;F.value&&($.value=!0,(t=I.value)==null||t.focus())}function H(t){let v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!t||t.props.disabled))if(l.multiple){const x=f.value.findIndex(g=>(l.valueComparator||xe)(g.value,t.value)),c=v??!~x;if(~x){const g=c?[...f.value,t]:[...f.value];g.splice(x,1),f.value=g}else c&&(f.value=[...f.value,t]);l.clearOnSelect&&(e.value="")}else{const x=v!==!1;f.value=x?[t]:[],m.value=x&&!a.value?t.title:"",Se(()=>{p.value=!1,$.value=!0})}}function qe(t){F.value=!0,setTimeout(()=>{S.value=!0})}function Ne(t){S.value=!1}function Be(t){(t==null||t===""&&!l.multiple&&!a.value)&&(f.value=[])}return se(F,(t,v)=>{if(!(t||t===v)&&(d.value=-1,p.value=!1,e.value)){if(l.multiple){H(re(l,e.value));return}if(!a.value)return;f.value.some(x=>{let{title:c}=x;return c===e.value})?m.value="":H(re(l,e.value))}}),se(p,()=>{if(!l.hideSelected&&p.value&&f.value.length){const t=n.value.findIndex(v=>f.value.some(x=>(l.valueComparator||xe)(x.value,v.value)));_e&&window.requestAnimationFrame(()=>{var v;t>=0&&((v=j.value)==null||v.scrollToIndex(t))})}}),se(()=>l.items,(t,v)=>{p.value||F.value&&!v.length&&t.length&&(p.value=!0)}),We(()=>{const t=!!(!l.hideNoData||n.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),v=f.value.length>0,x=le.filterProps(l);return s(le,ne({ref:I},x,{modelValue:e.value,"onUpdate:modelValue":[c=>e.value=c,Be],focused:F.value,"onUpdate:focused":c=>F.value=c,validationValue:f.externalValue,counterValue:D.value,dirty:v,class:["v-combobox",{"v-combobox--active-menu":p.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!a.value,"v-combobox--selecting-index":d.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:ue.isReadonly.value,placeholder:v?void 0:l.placeholder,"onClick:clear":Ue,"onMousedown:control":De,onKeydown:Me}),{...r,default:()=>s(ae,null,[s(ll,ne({ref:V,modelValue:p.value,"onUpdate:modelValue":c=>p.value=c,activator:"parent",contentClass:"v-combobox__content",disabled:fe.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:l.transition,onAfterEnter:Pe,onAfterLeave:Oe},l.menuProps),{default:()=>[t&&s(al,ne({ref:be,selected:oe.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:c=>c.preventDefault(),onKeydown:Le,onFocusin:qe,onFocusout:Ne,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},Re,l.listProps),{default:()=>{var c,g,O;return[(c=r["prepend-item"])==null?void 0:c.call(r),!n.value.length&&!l.hideNoData&&(((g=r["no-data"])==null?void 0:g.call(r))??s(Ie,{key:"no-data",title:w(l.noDataText)},null)),s(Fl,{ref:j,renderless:!0,items:n.value},{default:J=>{var he;let{item:R,index:ie,itemRef:L}=J;const Ve=ne(R.props,{ref:L,key:R.value,active:Z.value&&ie===0?!0:void 0,onClick:()=>H(R,null)});return((he=r.item)==null?void 0:he.call(r,{item:R,index:ie,props:Ve}))??s(Ie,ne(Ve,{role:"option"}),{prepend:ve=>{let{isSelected:ce}=ve;return s(ae,null,[l.multiple&&!l.hideSelected?s(Vl,{key:R.value,modelValue:ce,ripple:!1,tabindex:"-1"},null):void 0,R.props.prependAvatar&&s(tl,{image:R.props.prependAvatar},null),R.props.prependIcon&&s(we,{icon:R.props.prependIcon},null)])},title:()=>{var ve,ce;return $.value?R.title:Ll(R.title,(ve=X(R))==null?void 0:ve.title,((ce=e.value)==null?void 0:ce.length)??0)}})}}),(O=r["append-item"])==null?void 0:O.call(r)]}})]}),f.value.map((c,g)=>{function O(L){L.stopPropagation(),L.preventDefault(),H(c,!1)}const J={"onClick:close":O,onKeydown(L){L.key!=="Enter"&&L.key!==" "||(L.preventDefault(),L.stopPropagation(),O(L))},onMousedown(L){L.preventDefault(),L.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},R=u.value?!!r.chip:!!r.selection,ie=R?ul(u.value?r.chip({item:c,index:g,props:J}):r.selection({item:c,index:g})):void 0;if(!(R&&!ie))return s("div",{key:c.value,class:["v-combobox__selection",g===d.value&&["v-combobox__selection--selected",K.value]],style:g===d.value?de.value:{}},[u.value?r.chip?s(nl,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:c.title}}},{default:()=>[ie]}):s(il,ne({key:"chip",closable:l.closableChips,size:"small",text:c.title,disabled:c.props.disabled},J),null):ie??s("span",{class:"v-combobox__selection-text"},[c.title,l.multiple&&g<f.value.length-1&&s("span",{class:"v-combobox__selection-comma"},[Q(",")])])])})]),"append-inner":function(){var J;for(var c=arguments.length,g=new Array(c),O=0;O<c;O++)g[O]=arguments[O];return s(ae,null,[(J=r["append-inner"])==null?void 0:J.call(r,...g),(!l.hideNoData||l.items.length)&&l.menuIcon?s(we,{class:"v-combobox__menu-icon",icon:l.menuIcon,onMousedown:ye,onClick:el,"aria-label":w(Y.value),title:w(Y.value),tabindex:"-1"},null):void 0])}})}),Xe({isFocused:F,isPristine:$,menu:p,search:e,selectionIndex:d,filteredItems:A,select:H},I)}}),Ol={class:"configcolumnleft"},ql={key:0},Nl={key:1},Bl={key:2},Kl={key:3},Gl={key:4},jl={key:0,class:"configcolumnright"},Hl=sl({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean}},emits:["submit","action"],setup(l,{emit:k}){const o=rl(),r=k,w=G(),I=G(!1),F=G(),$=G("generic"),S=G(!1),V=G(),j=G({}),y=l,p=U(()=>{const u=w.value.map(a=>a.category);return u.filter(a=>a=="generic").length?new Set(["generic",...u]):new Set(u)}),d=U(()=>{if(w.value){for(const u of w.value)if(u.required&&!(!P(u.value)||!P(u.default_value)||u.type==C.DIVIDER||u.type==C.LABEL||u.type==C.ALERT||u.type==C.ACTION))return!1;return!0}return!1});U(()=>{const u={};for(const a of y.configEntries)a.value!=null&&(a.type==C.SECURE_STRING&&a.value==pe||(u[a.key]=a.value));return u}),se(()=>y.configEntries,u=>{w.value=[];for(const a of u||[])a.value!==void 0&&a.value!==null&&(j.value[a.key]=a.value),(a.value==null||a.value==null)&&(a.value=a.default_value),w.value.push(a)},{immediate:!0});const B=async function(){const{valid:u}=await F.value.validate();return u},W=async function(){await B()&&r("submit",de())},Y=async function(u){r("action",u,de())},M=function(u){const a=document.createElement("a");a.setAttribute("href",u),a.setAttribute("target","_blank"),a.click()},te=function(){o.push(`${o.currentRoute.value.path}/dsp`)},P=function(u){return u==null},K=function(u){var a;if(!P(u.depends_on)){const m=(a=w.value)==null?void 0:a.find(e=>e.key==u.depends_on);if(m){const e=m.value;if(!P(u.depends_on_value))return e!=u.depends_on_value;if(!P(u.depends_on_value_not))return e==u.depends_on_value_not;if(m.required&&P(m)||m.type==C.BOOLEAN&&!e)return!0}}return!1},de=function(){const u={};for(const a of y.configEntries)a.value==null&&(a.value=null),!(a.type==C.SECURE_STRING&&a.value==pe)&&(u[a.key]=a.value);return u},f=function(u){var m,e;if(!u.options)return[];const a=[];for(const D of u.options){let A=((m=D.value)==null?void 0:m.toString())||"",X=((e=D.title)==null?void 0:e.toString())||"";for(const Z of["@","$","|"])A.includes(Z)&&(A=A.replaceAll(Z,"")),X.includes(Z)&&(X=X.toString().replaceAll(Z,""));const oe={title:b(`settings.${u.key}.options.${A}`,X),value:D.value};oe.value==u.default_value&&(oe.title+=` [${b("settings.default")}]`),a.push(oe)}return a},ue=function(u){var a;return((a=b(`settings.${u==null?void 0:u.key}.description`,u.description||" ")||u.help_link||" ")==null?void 0:a.length)>1};return(u,a)=>(h(),z(ae,null,[w.value?(h(),q(ml,{key:0,ref_key:"form",ref:F,modelValue:I.value,"onUpdate:modelValue":a[2]||(a[2]=m=>I.value=m),disabled:u.disabled},{default:E(()=>[s(fl,{modelValue:$.value,"onUpdate:modelValue":a[1]||(a[1]=m=>$.value=m),variant:"accordion",multiple:"",flat:""},{default:E(()=>[(h(!0),z(ae,null,Fe(p.value,m=>(h(),q(bl,{key:m,value:m,flat:"",accordion:"",class:"configrowpanel"},{default:E(()=>[s(pl,null,{default:E(()=>[T("h3",null,N(i(b)("settings.category."+m,m)),1)]),_:2},1024),a[18]||(a[18]=T("br",null,null,-1)),s(gl,null,{default:E(()=>[(h(!0),z(ae,null,Fe(w.value.filter(e=>e.category==m&&!e.hidden),e=>{var D,A,X;return h(),z("div",{key:e.key,class:"configrow"},[T("div",Ol,[e.type==i(C).DIVIDER?(h(),z("div",ql,[a[7]||(a[7]=T("br",null,null,-1)),s(ol),e.label?(h(),q(hl,{key:0,style:{"margin-left":"8px","margin-top":"10px","margin-bottom":"10px"}},{default:E(()=>[T("b",null,N(e.label),1)]),_:2},1024)):me("",!0),a[8]||(a[8]=T("br",null,null,-1)),a[9]||(a[9]=T("br",null,null,-1))])):e.type==i(C).LABEL?(h(),z("div",Nl,[a[10]||(a[10]=T("br",null,null,-1)),s(Ae,{variant:"outlined",type:"info"},{default:E(()=>[Q(N(i(b)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[11]||(a[11]=T("br",null,null,-1)),a[12]||(a[12]=T("br",null,null,-1))])):e.type==i(C).ALERT?(h(),z("div",Bl,[a[13]||(a[13]=T("br",null,null,-1)),s(Ae,{density:"compact",type:"warning"},{default:E(()=>[Q(N(i(b)(`settings.${e.key}.label`,e.label)),1)]),_:2},1024),a[14]||(a[14]=T("br",null,null,-1)),a[15]||(a[15]=T("br",null,null,-1))])):e.type==i(C).ACTION||e.action&&!e.value?(h(),z("div",Kl,[a[16]||(a[16]=T("br",null,null,-1)),s(_,{class:"actionbutton",disabled:K(e),onClick:n=>{Y(e.action||e.key),e.value=e.action?null:e.key}},{default:E(()=>[Q(N(i(b)(`settings.${e.action||e.key}.label`,e.action_label||e.label)),1)]),_:2},1032,["disabled","onClick"])])):e.type==i(C).DSP_SETTINGS?(h(),z("div",Gl,[a[17]||(a[17]=T("br",null,null,-1)),Q(" "+N(e.value?i(b)("settings.dsp_enabled"):i(b)("settings.dsp_disabled"))+" ",1),s(_,{class:"actionbutton",onClick:te},{default:E(()=>[Q(N(i(b)("open_dsp_settings")),1)]),_:1})])):e.type==i(C).BOOLEAN?(h(),q(Sl,{key:5,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:i(b)(`settings.${e.key}.label`,e.label),color:"primary",disabled:K(e)},null,8,["modelValue","onUpdate:modelValue","label","disabled"])):(e.type==i(C).INTEGER||e.type==i(C).FLOAT)&&e.range&&e.range.length==2?(h(),q(wl,{key:6,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,class:"align-center",min:e.range[0],max:e.range[1],step:e.type==i(C).FLOAT?.5:1,"hide-details":"",style:{"margin-top":"10px","margin-bottom":"25px"},color:"primary"},{append:E(()=>[s(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(C).SECURE_STRING?(h(),q(le,{key:7,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,disabled:K(e),rules:[n=>!(!n&&e.required)||i(b)("settings.invalid_input")],type:S.value?"text":"password","append-inner-icon":S.value?"mdi-eye":typeof e.value=="string"&&e.value.includes(i(pe))?"":"mdi-eye-off",variant:"outlined",clearable:"",readonly:!!e.action,"onClick:appendInner":a[0]||(a[0]=n=>S.value=!S.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?(h(),q(El,{key:8,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,chips:e.multi_value,clearable:!0,multiple:e.multi_value,items:f(e),disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(b)("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(C).INTEGER||e.type==i(C).FLOAT?(h(),q(le,{key:9,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:(D=e.default_value)==null?void 0:D.toString(),disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(b)("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(C).ICON?(h(),q(le,{key:10,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:(A=e.default_value)==null?void 0:A.toString(),clearable:"",disabled:K(e),label:i(b)(`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(C).STRING&&e.multi_value?(h(),q(Pl,{key:11,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,multiple:"",chips:"",clearable:!0,disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(b)("settings.invalid_input")],variant:"outlined","onClick:clear":n=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","disabled","label","required","rules","onClick:clear"])):(h(),q(le,{key:12,modelValue:e.value,"onUpdate:modelValue":n=>e.value=n,placeholder:(X=e.default_value)==null?void 0:X.toString(),clearable:"",disabled:K(e),label:i(b)(`settings.${e.key}.label`,e.label),required:e.required,rules:[n=>!(!n&&e.required)||i(b)("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"]))]),ue(e)?(h(),z("div",jl,[s(_,{icon:"mdi-help-box",variant:"plain",class:"helpicon",size:"x-large",onClick:n=>i(b)(`settings.${e==null?void 0:e.key}.description`,e.description||"")?V.value=e:M(e.help_link)},null,8,["onClick"])])):me("",!0)])}),128))]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),a[19]||(a[19]=T("br",null,null,-1)),s(_,{block:"",color:"primary",disabled:!d.value,onClick:W},{default:E(()=>[Q(N(i(b)("settings.save")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue","disabled"])):me("",!0),a[20]||(a[20]=T("br",null,null,-1)),s(_,{block:"",onClick:a[3]||(a[3]=m=>i(o).back())},{default:E(()=>[Q(N(i(b)("close")),1)]),_:1}),s(Tl,{"model-value":V.value!==void 0,width:"auto","onUpdate:modelValue":a[6]||(a[6]=m=>V.value=void 0)},{default:E(()=>[s(dl,null,{default:E(()=>{var m,e;return[s(Te,null,{default:E(()=>{var D,A;return[T("h2",null,N(i(b)(`settings.${(D=V.value)==null?void 0:D.key}.label`,((A=V.value)==null?void 0:A.label)||"")),1)]}),_:1}),s(Te,{innerHTML:i(vl)(i(b)(`settings.${(m=V.value)==null?void 0:m.key}.description`,((e=V.value)==null?void 0:e.description)||""))},null,8,["innerHTML"]),s(cl,null,{default:E(()=>{var D;return[(D=V.value)!=null&&D.help_link?(h(),q(_,{key:0,onClick:a[4]||(a[4]=A=>M(V.value.help_link))},{default:E(()=>[Q(N(i(b)("read_more")),1)]),_:1})):me("",!0),s(Al),s(_,{color:"primary",onClick:a[5]||(a[5]=A=>V.value=void 0)},{default:E(()=>[Q(N(i(b)("close")),1)]),_:1})]}),_:1})]}),_:1})]),_:1},8,["model-value"])],64))}}),ia=$l(Hl,[["__scopeId","data-v-4db42c7a"]]);export{ia as E};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as
|
|
1
|
+
import{Q as x,x as y,w as B,Z as b,B as s,U as u,bD as N,bg as j,S as m,a9 as p,R as v,W as r,a_ as S,ao as f,ab as d,a0 as l,a4 as o,a$ as c,c9 as T,Y as C,bE as D}from"./index-CER3Y8WH.js";import{E as O}from"./EditConfig-BwBrKCsD.js";import{n as _}from"./index.browser-OxPLOBIU.js";import{b as I}from"./VBtn-Do0ASNFF.js";import"./VForm-DHdy4n75.js";import"./VCheckboxBtn-3gFb0eok.js";import"./VExpansionPanels-C5Hmlivf.js";import"./VAlert-_iyaxWIb.js";import"./VSwitch-D7rcjkBZ.js";import"./VTextField-Dt6QeC_M.js";import"./VVirtualScroll-Bsoo1OHJ.js";import"./VSlider-S5KSn-8o.js";import"./VDialog-BoVsCtTf.js";import"./VSpacer-DnooLekf.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const R={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},h=x({__name:"EditCoreConfig",props:{domain:{}},setup(k){const V=D(),t=y(),w=_(11),i=y(!1),E=k;B(()=>E.domain,async a=>{a&&(t.value=await o.getCoreConfig(a))},{immediate:!0});const M=async function(a){i.value=!0,o.saveCoreConfig(t.value.domain,a).then(()=>{i.value=!1,V.push({name:"providersettings"})}).catch(e=>{alert(e),i.value=!1})},$=async function(a,e){i.value=!0;for(const n of Object.values(t.value.values))n.value!==void 0&&e[n.key]==null&&(e[n.key]=n.value);e.session_id=w,o.getCoreConfigEntries(t.value.domain,a,e).then(n=>{t.value.values={};for(const g of n)t.value.values[g.key]=g;i.value=!1}).catch(n=>{alert(n),i.value=!1})};return(a,e)=>(m(),b("section",null,[s(N,null,{default:u(()=>[t.value?(m(),b("div",R,[s(S,null,{default:u(()=>[f(d(a.$t("settings.setup_provider",[l(o).providerManifests[t.value.domain].name])),1)]),_:1}),s(c,null,{default:u(()=>[f(d(l(o).providerManifests[t.value.domain].description),1)]),_:1}),e[3]||(e[3]=r("br",null,null,-1)),l(o).providerManifests[t.value.domain].codeowners.length?(m(),v(c,{key:0},{default:u(()=>[r("b",null,d(a.$t("settings.codeowners"))+": ",1),f(d(l(o).providerManifests[t.value.domain].codeowners.join(" / ")),1)]),_:1})):p("",!0),l(o).providerManifests[t.value.domain].documentation?(m(),v(c,{key:1},{default:u(()=>[r("b",null,d(a.$t("settings.need_help_setup_provider")),1),e[2]||(e[2]=f(" ")),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)),s(C),e[5]||(e[5]=r("br",null,null,-1)),e[6]||(e[6]=r("br",null,null,-1))])):p("",!0),s(C),t.value?(m(),v(O,{key:1,"config-entries":Object.values(t.value.values),disabled:!1,onSubmit:M,onAction:$},null,8,["config-entries"])):p("",!0)]),_:1}),s(j,{modelValue:i.value,"onUpdate:modelValue":e[1]||(e[1]=n=>i.value=n),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:u(()=>[s(I,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as L,x as S,a4 as t,
|
|
1
|
+
import{Q as L,x as S,a4 as t,aV as M,b as N,c as h,b8 as g,ca as _,ay as C,w as R,Z as c,B as p,U as d,bD as G,S as s,a9 as o,W as u,R as y,a0 as r,a_ as O,ao as v,ab as n,a$ as f,c9 as A,Y as T,bE as q}from"./index-CER3Y8WH.js";import{E as F}from"./EditConfig-BwBrKCsD.js";import{V as Y}from"./VTextField-Dt6QeC_M.js";import{V as j}from"./VSwitch-D7rcjkBZ.js";import"./VForm-DHdy4n75.js";import"./VCheckboxBtn-3gFb0eok.js";import"./VExpansionPanels-C5Hmlivf.js";import"./VAlert-_iyaxWIb.js";import"./VBtn-Do0ASNFF.js";import"./VSlider-S5KSn-8o.js";import"./VVirtualScroll-Bsoo1OHJ.js";import"./VDialog-BoVsCtTf.js";import"./VSpacer-DnooLekf.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const Q={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},oe=L({__name:"EditPlayer",props:{playerId:{}},setup($){const I=q(),e=S(),m=$,b=S(!1);(async()=>{if(m.playerId)try{b.value=(await t.getDSPConfig(m.playerId)).enabled}catch(a){console.error("Error fetching DSP config:",a)}})();const U=t.subscribe(M.PLAYER_DSP_CONFIG_UPDATED,a=>{b.value=a.data.enabled});N(U);const w=h(()=>{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(C.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(C.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});R(()=>m.playerId,async a=>{a&&(e.value=await t.getPlayerConfig(a))},{immediate:!0});const B=async function(a){delete a.dsp_settings,a.enabled=e.value.enabled,a.name=e.value.name||null,t.savePlayerConfig(m.playerId,a),I.push({name:"playersettings"})};return(a,l)=>(s(),c("section",null,[p(G,null,{default:d(()=>{var P,V,E;return[e.value&&r(t).getProviderManifest(e.value.provider).domain in r(t).providerManifests?(s(),c("div",Q,[p(O,null,{default:d(()=>{var i;return[v(n(a.$t("settings.config_player",[e.value.name||((i=r(t).players[e.value.player_id])==null?void 0:i.name)||e.value.default_name])),1)]}),_:1}),p(f,null,{default:d(()=>[u("b",null,n(a.$t("settings.player_id"))+": ",1),v(n(e.value.player_id),1)]),_:1}),p(f,null,{default:d(()=>{var i,k;return[u("b",null,n(a.$t("settings.player_provider"))+": ",1),v(n((i=r(t).getProviderManifest(e.value.provider))==null?void 0:i.name)+" ",1),(k=r(t).getProviderManifest(e.value.provider))!=null&&k.documentation?(s(),c("a",{key:0,onClick:l[0]||(l[0]=Z=>{var D;return r(A)((D=r(t).getProviderManifest(e.value.provider))==null?void 0:D.documentation)})}," ["+n(a.$t("settings.check_docs"))+"]",1)):o("",!0)]}),_:1}),r(t).players[e.value.player_id]?(s(),y(f,{key:0},{default:d(()=>[u("b",null,n(a.$t("settings.player_model"))+": ",1),v(n(r(t).players[e.value.player_id].device_info.manufacturer)+" / "+n(r(t).players[e.value.player_id].device_info.model),1)]),_:1})):o("",!0),(P=r(t).players[e.value.player_id])!=null&&P.device_info.ip_address?(s(),y(f,{key:1},{default:d(()=>[u("b",null,n(a.$t("settings.player_address"))+": ",1),v(n(r(t).players[e.value.player_id].device_info.ip_address),1)]),_:1})):o("",!0),r(t).players[e.value.player_id]?(s(),y(f,{key:2},{default:d(()=>[u("b",null,n(a.$t("settings.player_type_label"))+": ",1),v(n(a.$t(`player_type.${r(t).players[e.value.player_id].type}`)),1)]),_:1})):o("",!0),l[3]||(l[3]=u("br",null,null,-1)),p(T),l[4]||(l[4]=u("br",null,null,-1)),l[5]||(l[5]=u("br",null,null,-1)),"name"in e.value?(s(),y(Y,{key:3,modelValue:e.value.name,"onUpdate:modelValue":l[1]||(l[1]=i=>e.value.name=i),placeholder:(V=e.value)==null?void 0:V.name,label:a.$t("settings.player_name"),variant:"outlined",clearable:"",class:"configcolumnleft",style:{"margin-right":"25px"}},null,8,["modelValue","placeholder","label"])):o("",!0),"enabled"in e.value?(s(),y(j,{key:4,modelValue:e.value.enabled,"onUpdate:modelValue":l[2]||(l[2]=i=>e.value.enabled=i),label:a.$t("settings.enable_player"),color:"primary",disabled:(E=r(t).getProviderManifest(e.value.provider))==null?void 0:E.builtin},null,8,["modelValue","label","disabled"])):o("",!0)])):o("",!0),l[6]||(l[6]=u("br",null,null,-1)),p(T),e.value?(s(),y(F,{key:1,disabled:!e.value.enabled,"config-entries":w.value,onSubmit:B},null,8,["disabled","config-entries"])):o("",!0)]}),_:1})]))}});export{oe as default};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{g as Ve,p as Ce,cc as Xe,j as Pe,t as K,m as Ze,k as Je,A as ke,B as t,an as Y,F as el,K as we,cd as Ee,J as Ie,N as Se,c7 as Re,ad as ll,s as tl,x as N,w as J,a as me,I as Me,ae as al,h as nl,ai as sl,f as il,z as ol,c as W,H as rl,al as ul,ce as dl,Q as oe,ah as Be,R as F,S as b,U as s,Z as ie,as as se,bD as le,ao as L,ab as R,G as ce,$ as He,aW as ml,a3 as pl,bv as cl,bw as Le,a8 as P,a7 as te,W as ae,cf as C,cg as A,d as fl,o as qe,a9 as H,a0 as _,bm as vl,bo as ye,ch as gl,P as _e,br as yl,ci as ee,l as _l,b1 as hl,a4 as de,aU as bl,b as Vl,aZ as Cl,bx as kl,bE as Sl}from"./index-DHdZ3kUo.js";import{a as j}from"./VBtn-DqyIv1Wk.js";import{_ as xe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as Ll}from"./VSlider-BRnj1pQr.js";import{V as Al}from"./VTextField-ClaYK-kH.js";import{V as Ue}from"./VContainer-BPmvVR0-.js";import{a as pe,V as he}from"./VSwitch-CSNhHdCI.js";import{V as ze,a as be}from"./VRow-CwPnZM2-.js";import{V as Ne}from"./VSpacer-BkXa9hHi.js";import{V as Oe,a as De}from"./VToolbar-DgW7y8TG.js";import{V as Fl}from"./VDialog-DrY7Fpem.js";import{V as Tl}from"./VAlert-D2DA3ZFe.js";import"./VCheckboxBtn-DLxQu9yw.js";/* empty css */import"./VVirtualScroll-HiNSn0b7.js";const $l=Ce({dotColor:String,fillDot:Boolean,hideDot:Boolean,icon:Re,iconColor:String,lineColor:String,...Se(),...Ie(),...Ee(),...we()},"VTimelineDivider"),Pl=Ve()({name:"VTimelineDivider",props:$l(),setup(l,k){let{slots:f}=k;const{sizeClasses:o,sizeStyles:n}=Xe(l,"v-timeline-divider__dot"),{backgroundColorStyles:q,backgroundColorClasses:O}=Pe(K(l,"dotColor")),{roundedClasses:S}=Ze(l,"v-timeline-divider__dot"),{elevationClasses:E}=Je(l),{backgroundColorClasses:x,backgroundColorStyles:r}=Pe(K(l,"lineColor"));return ke(()=>t("div",{class:["v-timeline-divider",{"v-timeline-divider--fill-dot":l.fillDot},l.class],style:l.style},[t("div",{class:["v-timeline-divider__before",x.value],style:r.value},null),!l.hideDot&&t("div",{key:"dot",class:["v-timeline-divider__dot",E.value,S.value,o.value],style:n.value},[t("div",{class:["v-timeline-divider__inner-dot",O.value,S.value],style:q.value},[f.default?t(el,{key:"icon-defaults",disabled:!l.icon,defaults:{VIcon:{color:l.iconColor,icon:l.icon,size:l.size}}},f.default):t(Y,{key:"icon",color:l.iconColor,icon:l.icon,size:l.size},null)])]),t("div",{class:["v-timeline-divider__after",x.value],style:r.value},null)])),{}}}),We=Ce({density:String,dotColor:String,fillDot:Boolean,hideDot:Boolean,hideOpposite:{type:Boolean,default:void 0},icon:Re,iconColor:String,lineInset:[Number,String],...Se(),...al(),...we(),...Ie(),...Ee(),...Me()},"VTimelineItem"),ne=Ve()({name:"VTimelineItem",props:We(),setup(l,k){let{slots:f}=k;const{dimensionStyles:o}=ll(l),n=tl(0),q=N();return J(q,O=>{var S;O&&(n.value=((S=O.$el.querySelector(".v-timeline-divider__dot"))==null?void 0:S.getBoundingClientRect().width)??0)},{flush:"post"}),ke(()=>{var O,S;return t("div",{class:["v-timeline-item",{"v-timeline-item--fill-dot":l.fillDot},l.class],style:[{"--v-timeline-dot-size":me(n.value),"--v-timeline-line-inset":l.lineInset?`calc(var(--v-timeline-dot-size) / 2 + ${me(l.lineInset)})`:me(0)},l.style]},[t("div",{class:"v-timeline-item__body",style:o.value},[(O=f.default)==null?void 0:O.call(f)]),t(Pl,{ref:q,hideDot:l.hideDot,icon:l.icon,iconColor:l.iconColor,size:l.size,elevation:l.elevation,dotColor:l.dotColor,fillDot:l.fillDot,rounded:l.rounded},{default:f.icon}),l.density!=="compact"&&t("div",{class:"v-timeline-item__opposite"},[!l.hideOpposite&&((S=f.opposite)==null?void 0:S.call(f))])])}),{}}}),ql=Ce({align:{type:String,default:"center",validator:l=>["center","start"].includes(l)},direction:{type:String,default:"vertical",validator:l=>["vertical","horizontal"].includes(l)},justify:{type:String,default:"auto",validator:l=>["auto","center"].includes(l)},side:{type:String,validator:l=>l==null||["start","end"].includes(l)},lineThickness:{type:[String,Number],default:2},lineColor:String,truncateLine:{type:String,validator:l=>["start","end","both"].includes(l)},...dl(We({lineInset:0}),["dotColor","fillDot","hideOpposite","iconColor","lineInset","size"]),...Se(),...ul(),...Me(),...rl()},"VTimeline"),Ol=Ve()({name:"VTimeline",props:ql(),setup(l,k){let{slots:f}=k;const{themeClasses:o}=nl(l),{densityClasses:n}=sl(l),{rtlClasses:q}=il();ol({VTimelineDivider:{lineColor:K(l,"lineColor")},VTimelineItem:{density:K(l,"density"),dotColor:K(l,"dotColor"),fillDot:K(l,"fillDot"),hideOpposite:K(l,"hideOpposite"),iconColor:K(l,"iconColor"),lineColor:K(l,"lineColor"),lineInset:K(l,"lineInset"),size:K(l,"size")}});const O=W(()=>{const E=l.side?l.side:l.density!=="default"?"end":null;return E&&`v-timeline--side-${E}`}),S=W(()=>{const E=["v-timeline--truncate-line-start","v-timeline--truncate-line-end"];switch(l.truncateLine){case"both":return E;case"start":return E[0];case"end":return E[1];default:return null}});return ke(()=>t(l.tag,{class:["v-timeline",`v-timeline--${l.direction}`,`v-timeline--align-${l.align}`,`v-timeline--justify-${l.justify}`,S.value,{"v-timeline--inset-line":!!l.lineInset},o.value,n.value,O.value,q.value,l.class],style:[{"--v-timeline-line-thickness":me(l.lineThickness)},l.style]},f)),{}}}),Dl=oe({__name:"DSPPipeline",props:{dsp:{},selected:{}},emits:["onSelect","onAddFilter","onMoveFilter","onDeleteFilter"],setup(l,{emit:k}){const f=Be(),o=l,n=k,q=h=>o.selected===h?"primary":"secondary",O=h=>h==="input"||h==="output"?!1:!o.dsp.filters[h].enabled,S=h=>o.selected===h?"primary":f.global.current.value.dark?"grey-darken-3":"grey-lighten-3",E=h=>({"filter-selected":o.selected===h}),x=h=>{n("onSelect",h)},r=(h,D)=>{n("onMoveFilter",{index:h,direction:D})},$=h=>{n("onDeleteFilter",h)},B=function(h,D){const T=[{label:"settings.dsp.move_up",labelArgs:[],action:()=>{r(D,"up")},disabled:D===0,icon:"mdi-arrow-up"},{label:"settings.dsp.move_down",labelArgs:[],action:()=>{r(D,"down")},disabled:D===o.dsp.filters.length-1,icon:"mdi-arrow-down"},{label:"settings.dsp.delete_filter",labelArgs:[],action:()=>{$(D)},icon:"mdi-delete"}];pl.emit("contextmenu",{items:T,posX:h.clientX,posY:h.clientY})};return(h,D)=>(b(),F(Ol,{density:"compact",side:"end"},{default:s(()=>[t(ne,{"dot-color":q("input"),size:"x-small",onClick:D[0]||(D[0]=T=>x("input"))},{default:s(()=>[t(j,{flat:"",rounded:"pill",color:S("input"),class:se([E("input"),"dsp-pipeline-card"])},{default:s(()=>[t(le,{class:"px-3 py-1"},{default:s(()=>[L(R(h.$t("settings.dsp.input")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"]),t(ne,{"hide-dot":!0,size:"x-small"}),(b(!0),ie(ce,null,He(h.dsp.filters,(T,M)=>(b(),F(ne,{key:M,"dot-color":q(M),size:"x-small","hide-dot":O(M),onClick:Q=>x(M),onContextmenu:ml(Q=>B(Q,M),["prevent"])},{default:s(()=>[t(j,{flat:"",rounded:"pill",color:S(M),class:se([E(M),"dsp-pipeline-card"])},{default:s(()=>[t(le,{class:"px-3 py-1"},{default:s(()=>[L(R(h.$t(`settings.dsp.types.${T.type}`)),1)]),_:2},1024)]),_:2},1032,["color","class"])]),_:2},1032,["dot-color","hide-dot","onClick","onContextmenu"]))),128)),t(ne,{"dot-color":"secondary",size:"x-small","hide-dot":!0},{default:s(()=>[t(j,{outlined:"",rounded:"pill",class:"dsp-pipeline-card add-filter-btn",elevation:0,onClick:D[1]||(D[1]=T=>n("onAddFilter"))},{default:s(()=>[t(le,{class:"py-1 d-flex align-center"},{default:s(()=>[t(Y,{size:"small",class:"mr-1"},{default:s(()=>D[3]||(D[3]=[L("mdi-plus")])),_:1}),L(" "+R(h.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1}),t(ne,{"hide-dot":!0,size:"x-small"}),t(ne,{"dot-color":q("output"),size:"x-small",onClick:D[2]||(D[2]=T=>x("output"))},{default:s(()=>[t(j,{flat:"",rounded:"pill",color:S("output"),class:se([E("output"),"dsp-pipeline-card"])},{default:s(()=>[t(le,{class:"px-3 py-1"},{default:s(()=>[L(R(h.$t("settings.dsp.output")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"])]),_:1}))}}),wl=xe(Dl,[["__scopeId","data-v-f292f100"]]),El={style:{"min-width":"100px"},class:"v-label pl-2"},Il={style:{"min-width":"40px"},class:"pl-2"},X=oe({__name:"DSPSlider",props:cl({type:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const k=l,f=Le(l,"modelValue"),o=N(!1),n=W(()=>k.type==="gain"?{min:-15,max:15,step:.1,label:P("settings.dsp.parameter.gain"),unit:"dB",is_log:!1}:k.type==="q"?{min:.1,max:20,step:.1,label:P("settings.dsp.parameter.q_factor"),unit:"",is_log:!1}:k.type==="frequency"?{min:20,max:2e4,step:1,label:P("settings.dsp.parameter.frequency"),unit:"Hz",is_log:!0}:k.type),q=W({get:()=>o.value?f.value.toString():f.value>1e3?f.value.toFixed(0):f.value>100?f.value.toFixed(1):f.value.toFixed(2),set:r=>{f.value=Number(r)}}),O=W({get:()=>n.value.is_log?Math.log10(f.value):f.value,set:r=>{n.value.is_log?f.value=Math.pow(10,r):f.value=r}}),S=W(()=>n.value.is_log?Math.log10(n.value.max):n.value.max),E=W(()=>n.value.is_log?Math.log10(n.value.min):n.value.min),x=W(()=>n.value.is_log?Math.log10(n.value.step):n.value.step);return(r,$)=>(b(),F(te,{flat:"",color:"transparent"},{default:s(()=>[t(le,{class:"d-flex align-center gap-4"},{default:s(()=>[ae("span",El,R(n.value.label),1),t(Ll,{modelValue:O.value,"onUpdate:modelValue":$[0]||($[0]=B=>O.value=B),min:E.value,max:S.value,step:x.value,"hide-details":"",class:"flex-grow-1 pr-4",density:"compact",color:"primary"},null,8,["modelValue","min","max","step"]),t(Al,{modelValue:q.value,"onUpdate:modelValue":$[1]||($[1]=B=>q.value=B),type:"number","hide-details":"",density:"compact",style:{"max-width":"100px"},onFocus:$[2]||($[2]=B=>o.value=!0),onBlur:$[3]||($[3]=B=>o.value=!1)},null,8,["modelValue"]),ae("span",Il,R(n.value.unit),1)]),_:1})]),_:1}))}}),Rl={class:"d-flex flex-wrap justify-end align-center ga-2 pr-2"},Ml={class:"d-flex align-center pl-1"},Bl=oe({__name:"DSPParametricEQ",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(l){const k={PK:C.PEAK,PEQ:C.PEAK,HP:C.HIGH_PASS,HPQ:C.HIGH_PASS,LP:C.LOW_PASS,LPQ:C.LOW_PASS,LS:C.LOW_SHELF,HS:C.HIGH_SHELF,NO:C.NOTCH},f={[C.PEAK]:"PK",[C.HIGH_PASS]:"HP",[C.LOW_PASS]:"LP",[C.LOW_SHELF]:"LS",[C.HIGH_SHELF]:"HS",[C.NOTCH]:"NO"},o=Object.entries(A).map(([a,e])=>({title:P(`settings.dsp.channels.${a}`),value:e})),n=a=>{const e=a.split(`
|
|
2
|
-
`),i=[];let V=!1,w={},y=A.ALL;for(const u of e)if(u.startsWith("Channel:")){const g=u.match(/Channel:\s*(.+)/);if(g&&g[1]){const c=g[1].trim().toUpperCase();c==="ALL"||c==="1 2"||c==="L R"?y=A.ALL:c==="L"||c==="1"||c==="FL"?(y=A.FL,V=!0):(c==="R"||c==="2"||c==="FR")&&(y=A.FR,V=!0)}w[y]||(w[y]=0)}else if(u.startsWith("Filter")){const g=u.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(g){const[c,
|
|
1
|
+
import{g as Ve,p as Ce,cc as Ye,j as Pe,t as K,m as Je,k as Ze,A as ke,B as t,an as X,F as el,K as we,cd as Ee,J as Ie,N as Se,c7 as Re,ad as ll,s as tl,x as N,w as Z,a as me,I as Me,ae as al,h as nl,ai as sl,f as il,z as ol,c as W,H as rl,al as ul,ce as dl,Q as oe,ah as Be,R as F,S as b,U as s,Z as ie,as as se,bD as le,ao as L,ab as R,G as ce,$ as He,aX as ml,a3 as pl,bv as cl,bw as Le,a8 as P,a7 as te,W as ae,cf as C,cg as A,d as fl,o as qe,a9 as H,a0 as _,bm as vl,bo as ye,ch as gl,P as _e,br as yl,ci as ee,l as _l,b2 as hl,a4 as de,aV as bl,b as Vl,a_ as Cl,bx as kl,bE as Sl}from"./index-CER3Y8WH.js";import{a as j}from"./VBtn-Do0ASNFF.js";import{_ as xe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as Ll}from"./VSlider-S5KSn-8o.js";import{V as Al}from"./VTextField-Dt6QeC_M.js";import{V as ze}from"./VContainer-DOjz8n3s.js";import{a as pe,V as he}from"./VSwitch-D7rcjkBZ.js";import{V as Ue,a as be}from"./VRow-BHwbFp4d.js";import{V as Ne}from"./VSpacer-DnooLekf.js";import{V as Oe,a as De}from"./VToolbar-1wv8OiOl.js";import{V as Fl}from"./VDialog-BoVsCtTf.js";import{V as Tl}from"./VAlert-_iyaxWIb.js";import"./VCheckboxBtn-3gFb0eok.js";/* empty css */import"./VVirtualScroll-Bsoo1OHJ.js";const $l=Ce({dotColor:String,fillDot:Boolean,hideDot:Boolean,icon:Re,iconColor:String,lineColor:String,...Se(),...Ie(),...Ee(),...we()},"VTimelineDivider"),Pl=Ve()({name:"VTimelineDivider",props:$l(),setup(l,k){let{slots:f}=k;const{sizeClasses:o,sizeStyles:n}=Ye(l,"v-timeline-divider__dot"),{backgroundColorStyles:q,backgroundColorClasses:O}=Pe(K(l,"dotColor")),{roundedClasses:S}=Je(l,"v-timeline-divider__dot"),{elevationClasses:E}=Ze(l),{backgroundColorClasses:x,backgroundColorStyles:r}=Pe(K(l,"lineColor"));return ke(()=>t("div",{class:["v-timeline-divider",{"v-timeline-divider--fill-dot":l.fillDot},l.class],style:l.style},[t("div",{class:["v-timeline-divider__before",x.value],style:r.value},null),!l.hideDot&&t("div",{key:"dot",class:["v-timeline-divider__dot",E.value,S.value,o.value],style:n.value},[t("div",{class:["v-timeline-divider__inner-dot",O.value,S.value],style:q.value},[f.default?t(el,{key:"icon-defaults",disabled:!l.icon,defaults:{VIcon:{color:l.iconColor,icon:l.icon,size:l.size}}},f.default):t(X,{key:"icon",color:l.iconColor,icon:l.icon,size:l.size},null)])]),t("div",{class:["v-timeline-divider__after",x.value],style:r.value},null)])),{}}}),We=Ce({density:String,dotColor:String,fillDot:Boolean,hideDot:Boolean,hideOpposite:{type:Boolean,default:void 0},icon:Re,iconColor:String,lineInset:[Number,String],...Se(),...al(),...we(),...Ie(),...Ee(),...Me()},"VTimelineItem"),ne=Ve()({name:"VTimelineItem",props:We(),setup(l,k){let{slots:f}=k;const{dimensionStyles:o}=ll(l),n=tl(0),q=N();return Z(q,O=>{var S;O&&(n.value=((S=O.$el.querySelector(".v-timeline-divider__dot"))==null?void 0:S.getBoundingClientRect().width)??0)},{flush:"post"}),ke(()=>{var O,S;return t("div",{class:["v-timeline-item",{"v-timeline-item--fill-dot":l.fillDot},l.class],style:[{"--v-timeline-dot-size":me(n.value),"--v-timeline-line-inset":l.lineInset?`calc(var(--v-timeline-dot-size) / 2 + ${me(l.lineInset)})`:me(0)},l.style]},[t("div",{class:"v-timeline-item__body",style:o.value},[(O=f.default)==null?void 0:O.call(f)]),t(Pl,{ref:q,hideDot:l.hideDot,icon:l.icon,iconColor:l.iconColor,size:l.size,elevation:l.elevation,dotColor:l.dotColor,fillDot:l.fillDot,rounded:l.rounded},{default:f.icon}),l.density!=="compact"&&t("div",{class:"v-timeline-item__opposite"},[!l.hideOpposite&&((S=f.opposite)==null?void 0:S.call(f))])])}),{}}}),ql=Ce({align:{type:String,default:"center",validator:l=>["center","start"].includes(l)},direction:{type:String,default:"vertical",validator:l=>["vertical","horizontal"].includes(l)},justify:{type:String,default:"auto",validator:l=>["auto","center"].includes(l)},side:{type:String,validator:l=>l==null||["start","end"].includes(l)},lineThickness:{type:[String,Number],default:2},lineColor:String,truncateLine:{type:String,validator:l=>["start","end","both"].includes(l)},...dl(We({lineInset:0}),["dotColor","fillDot","hideOpposite","iconColor","lineInset","size"]),...Se(),...ul(),...Me(),...rl()},"VTimeline"),Ol=Ve()({name:"VTimeline",props:ql(),setup(l,k){let{slots:f}=k;const{themeClasses:o}=nl(l),{densityClasses:n}=sl(l),{rtlClasses:q}=il();ol({VTimelineDivider:{lineColor:K(l,"lineColor")},VTimelineItem:{density:K(l,"density"),dotColor:K(l,"dotColor"),fillDot:K(l,"fillDot"),hideOpposite:K(l,"hideOpposite"),iconColor:K(l,"iconColor"),lineColor:K(l,"lineColor"),lineInset:K(l,"lineInset"),size:K(l,"size")}});const O=W(()=>{const E=l.side?l.side:l.density!=="default"?"end":null;return E&&`v-timeline--side-${E}`}),S=W(()=>{const E=["v-timeline--truncate-line-start","v-timeline--truncate-line-end"];switch(l.truncateLine){case"both":return E;case"start":return E[0];case"end":return E[1];default:return null}});return ke(()=>t(l.tag,{class:["v-timeline",`v-timeline--${l.direction}`,`v-timeline--align-${l.align}`,`v-timeline--justify-${l.justify}`,S.value,{"v-timeline--inset-line":!!l.lineInset},o.value,n.value,O.value,q.value,l.class],style:[{"--v-timeline-line-thickness":me(l.lineThickness)},l.style]},f)),{}}}),Dl=oe({__name:"DSPPipeline",props:{dsp:{},selected:{}},emits:["onSelect","onAddFilter","onMoveFilter","onDeleteFilter"],setup(l,{emit:k}){const f=Be(),o=l,n=k,q=h=>o.selected===h?"primary":"secondary",O=h=>h==="input"||h==="output"?!1:!o.dsp.filters[h].enabled,S=h=>o.selected===h?"primary":f.global.current.value.dark?"grey-darken-3":"grey-lighten-3",E=h=>({"filter-selected":o.selected===h}),x=h=>{n("onSelect",h)},r=(h,D)=>{n("onMoveFilter",{index:h,direction:D})},$=h=>{n("onDeleteFilter",h)},B=function(h,D){const T=[{label:"settings.dsp.move_up",labelArgs:[],action:()=>{r(D,"up")},disabled:D===0,icon:"mdi-arrow-up"},{label:"settings.dsp.move_down",labelArgs:[],action:()=>{r(D,"down")},disabled:D===o.dsp.filters.length-1,icon:"mdi-arrow-down"},{label:"settings.dsp.delete_filter",labelArgs:[],action:()=>{$(D)},icon:"mdi-delete"}];pl.emit("contextmenu",{items:T,posX:h.clientX,posY:h.clientY})};return(h,D)=>(b(),F(Ol,{density:"compact",side:"end"},{default:s(()=>[t(ne,{"dot-color":q("input"),size:"x-small",onClick:D[0]||(D[0]=T=>x("input"))},{default:s(()=>[t(j,{flat:"",rounded:"pill",color:S("input"),class:se([E("input"),"dsp-pipeline-card"])},{default:s(()=>[t(le,{class:"px-3 py-1"},{default:s(()=>[L(R(h.$t("settings.dsp.input")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"]),t(ne,{"hide-dot":!0,size:"x-small"}),(b(!0),ie(ce,null,He(h.dsp.filters,(T,M)=>(b(),F(ne,{key:M,"dot-color":q(M),size:"x-small","hide-dot":O(M),onClick:Q=>x(M),onContextmenu:ml(Q=>B(Q,M),["prevent"])},{default:s(()=>[t(j,{flat:"",rounded:"pill",color:S(M),class:se([E(M),"dsp-pipeline-card"])},{default:s(()=>[t(le,{class:"px-3 py-1"},{default:s(()=>[L(R(h.$t(`settings.dsp.types.${T.type}`)),1)]),_:2},1024)]),_:2},1032,["color","class"])]),_:2},1032,["dot-color","hide-dot","onClick","onContextmenu"]))),128)),t(ne,{"dot-color":"secondary",size:"x-small","hide-dot":!0},{default:s(()=>[t(j,{outlined:"",rounded:"pill",class:"dsp-pipeline-card add-filter-btn",elevation:0,onClick:D[1]||(D[1]=T=>n("onAddFilter"))},{default:s(()=>[t(le,{class:"py-1 d-flex align-center"},{default:s(()=>[t(X,{size:"small",class:"mr-1"},{default:s(()=>D[3]||(D[3]=[L("mdi-plus")])),_:1}),L(" "+R(h.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1}),t(ne,{"hide-dot":!0,size:"x-small"}),t(ne,{"dot-color":q("output"),size:"x-small",onClick:D[2]||(D[2]=T=>x("output"))},{default:s(()=>[t(j,{flat:"",rounded:"pill",color:S("output"),class:se([E("output"),"dsp-pipeline-card"])},{default:s(()=>[t(le,{class:"px-3 py-1"},{default:s(()=>[L(R(h.$t("settings.dsp.output")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"])]),_:1}))}}),wl=xe(Dl,[["__scopeId","data-v-f292f100"]]),El={style:{"min-width":"100px"},class:"v-label pl-2"},Il={style:{"min-width":"40px"},class:"pl-2"},Y=oe({__name:"DSPSlider",props:cl({type:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const k=l,f=Le(l,"modelValue"),o=N(!1),n=W(()=>k.type==="gain"?{min:-15,max:15,step:.1,label:P("settings.dsp.parameter.gain"),unit:"dB",is_log:!1}:k.type==="q"?{min:.1,max:20,step:.1,label:P("settings.dsp.parameter.q_factor"),unit:"",is_log:!1}:k.type==="frequency"?{min:20,max:2e4,step:1,label:P("settings.dsp.parameter.frequency"),unit:"Hz",is_log:!0}:k.type),q=W({get:()=>o.value?f.value.toString():f.value>1e3?f.value.toFixed(0):f.value>100?f.value.toFixed(1):f.value.toFixed(2),set:r=>{f.value=Number(r)}}),O=W({get:()=>n.value.is_log?Math.log10(f.value):f.value,set:r=>{n.value.is_log?f.value=Math.pow(10,r):f.value=r}}),S=W(()=>n.value.is_log?Math.log10(n.value.max):n.value.max),E=W(()=>n.value.is_log?Math.log10(n.value.min):n.value.min),x=W(()=>n.value.is_log?Math.log10(n.value.step):n.value.step);return(r,$)=>(b(),F(te,{flat:"",color:"transparent"},{default:s(()=>[t(le,{class:"d-flex align-center gap-4"},{default:s(()=>[ae("span",El,R(n.value.label),1),t(Ll,{modelValue:O.value,"onUpdate:modelValue":$[0]||($[0]=B=>O.value=B),min:E.value,max:S.value,step:x.value,"hide-details":"",class:"flex-grow-1 pr-4",density:"compact",color:"primary"},null,8,["modelValue","min","max","step"]),t(Al,{modelValue:q.value,"onUpdate:modelValue":$[1]||($[1]=B=>q.value=B),type:"number","hide-details":"",density:"compact",style:{"max-width":"100px"},onFocus:$[2]||($[2]=B=>o.value=!0),onBlur:$[3]||($[3]=B=>o.value=!1)},null,8,["modelValue"]),ae("span",Il,R(n.value.unit),1)]),_:1})]),_:1}))}}),Rl={class:"d-flex flex-wrap justify-end align-center ga-2 pr-2"},Ml={class:"d-flex align-center pl-1"},Bl=oe({__name:"DSPParametricEQ",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(l){const k={PK:C.PEAK,PEQ:C.PEAK,HP:C.HIGH_PASS,HPQ:C.HIGH_PASS,LP:C.LOW_PASS,LPQ:C.LOW_PASS,LS:C.LOW_SHELF,HS:C.HIGH_SHELF,NO:C.NOTCH},f={[C.PEAK]:"PK",[C.HIGH_PASS]:"HP",[C.LOW_PASS]:"LP",[C.LOW_SHELF]:"LS",[C.HIGH_SHELF]:"HS",[C.NOTCH]:"NO"},o=Object.entries(A).map(([a,e])=>({title:P(`settings.dsp.channels.${a}`),value:e})),n=a=>{const e=a.split(`
|
|
2
|
+
`),i=[];let V=!1,w={},y=A.ALL;for(const u of e)if(u.startsWith("Channel:")){const g=u.match(/Channel:\s*(.+)/);if(g&&g[1]){const c=g[1].trim().toUpperCase();c==="ALL"||c==="1 2"||c==="L R"?y=A.ALL:c==="L"||c==="1"||c==="FL"?(y=A.FL,V=!0):(c==="R"||c==="2"||c==="FR")&&(y=A.FR,V=!0)}w[y]||(w[y]=0)}else if(u.startsWith("Filter")){const g=u.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(g){const[c,U,J,Te,ve,ge,G]=g;J!=="None"&&i.push({frequency:parseFloat(Te),gain:parseFloat(ve),q:parseFloat(ge),type:k[J]||C.PEAK,enabled:U==="ON",channel:y})}}else if(u.startsWith("Preamp")){const g=u.match(/Preamp:\s*(-?\d+\.?\d*)\s+dB/);g&&(w[y]=parseFloat(g[1]))}let v;V?v=r.value.bands.filter(u=>!i.some(g=>g.channel===u.channel||g.channel===A.ALL||u.channel===A.ALL)):I.value!==A.ALL?(v=r.value.bands.filter(u=>u.channel!==A.ALL&&u.channel!==I.value),w.ALL&&(w[I.value]=w.ALL,w.ALL=0),i.forEach(u=>{u.channel=I.value})):(v=[],r.value.per_channel_preamp={}),r.value.bands=[...v,...i],Object.keys(w).length>0?(w.ALL&&(r.value.preamp=w.ALL),Object.entries(w).forEach(([u,g])=>{u!==A.ALL&&(r.value.per_channel_preamp[u]=g)})):(r.value.preamp=0,r.value.per_channel_preamp={}),_e(()=>{p.value=-1})},q=a=>{const e=a.target;if(e.files&&e.files[0]){const i=e.files[0],V=new FileReader;V.onload=w=>{var y;(y=w.target)!=null&&y.result&&n(w.target.result)},V.readAsText(i)}},O=N(null),S=()=>{var a;(a=O.value)==null||a.click()},E=()=>{var w;let a="";if(a+=`Preamp: ${fe.value.toFixed(2)} dB
|
|
3
3
|
`,m.value){const y=Object.values(A);for(const v of y){if(v===A.ALL)continue;const u=((w=o.find(c=>c.value===v))==null?void 0:w.title)||v;a+=`
|
|
4
4
|
# ${u}
|
|
5
5
|
`,a+=`Channel: ${v===A.FL?"L":"R"}
|
|
6
6
|
`,r.value.per_channel_preamp[v]!==void 0&&(a+=`Preamp: ${r.value.per_channel_preamp[v].toFixed(2)} dB
|
|
7
|
-
`);let g=1;r.value.bands.forEach(c=>{if(c.channel===v||c.channel===A.ALL){const
|
|
7
|
+
`);let g=1;r.value.bands.forEach(c=>{if(c.channel===v||c.channel===A.ALL){const U=f[c.type];a+=`Filter ${g++}: ${c.enabled?"ON":"OFF"} ${U} Fc ${c.frequency.toFixed(1)} Hz Gain ${c.gain.toFixed(2)} dB Q ${c.q.toFixed(3)}
|
|
8
8
|
`}})}}else r.value.bands.forEach((y,v)=>{const u=f[y.type];a+=`Filter ${v+1}: ${y.enabled?"ON":"OFF"} ${u} Fc ${y.frequency.toFixed(1)} Hz Gain ${y.gain.toFixed(2)} dB Q ${y.q.toFixed(3)}
|
|
9
|
-
`});const e=new Blob([a],{type:"text/plain"}),i=URL.createObjectURL(e),V=document.createElement("a");V.href=i,V.download=`music_assistant_eq_settings_${new Date().toISOString().split("T")[0]}.txt`,document.body.appendChild(V),V.click(),document.body.removeChild(V),URL.revokeObjectURL(i)},x=Be(),r=Le(l,"modelValue"),$=N(null),B=N(null),h=Object.values(C).map(a=>({title:P(`settings.dsp.parametric_eq.filter_types.${a}`),value:a})),D=a=>![C.HIGH_PASS,C.LOW_PASS,C.NOTCH].includes(a),T=N({width:0,height:0,min_gain:-20,max_gain:20,min_freq:20,max_freq:2e4,padding_lr:40,padding_tb:20}),M=()=>{if(!$.value||!B.value)return;const a=x.global.current.value.dark,e=$.value.getContext("2d");if(!e)return;$.value.width=B.value.clientWidth*2,$.value.height=B.value.clientHeight*2,T.value.width=$.value.width/2,T.value.height=$.value.height/2,e.scale(2,2),e.clearRect(0,0,$.value.width,$.value.height),Ke(e,T.value);const i=e.canvas.width/2;e.canvas.height/2;const V=(y,v,u)=>{let g=`hsla(${v*360/r.value.bands.length}, 60%, ${a?70:50}%, 0.5)`;u.beginPath(),v===p.value?(u.lineWidth=5,g=`hsla(${v*360/r.value.bands.length}, 70%, ${a?70:60}%, 1)`):u.lineWidth=2,u.strokeStyle=g;const c=new Float32Array(i);for(let G=0;G<i;G++)c[G]=Qe(G,T.value);const z=new Float32Array(i),Z=new Float32Array(i);Q(re,y).getFrequencyResponse(c,z,Z);for(let G=T.value.padding_lr;G<i-T.value.padding_lr;G++){const Ye=20*Math.log10(z[G]),$e=ue(Ye,T.value);G===T.value.padding_lr?u.moveTo(G,$e):u.lineTo(G,$e)}u.stroke();const ve=Fe(y.frequency,T.value),ge=ue(y.gain,T.value);return u.beginPath(),u.fillStyle=g,u.arc(ve,ge,6,0,2*Math.PI),u.fill(),{frequencies:c,magResponse:z}},w=(y,v)=>{v.lineWidth=3,a?v.strokeStyle="#fff":v.strokeStyle="#000",v.beginPath();for(let u=T.value.padding_lr;u<i-T.value.padding_lr;u++){const g=ue(y[u],T.value);u===T.value.padding_lr?v.moveTo(u,g):v.lineTo(u,g)}v.stroke()};if(I.value===A.ALL&&m.value){const y=Object.values(A).filter(u=>u!==A.ALL),v={};y.forEach(u=>{v[u]=new Float32Array(i).fill((r.value.preamp??0)+(r.value.per_channel_preamp[u]??0))}),r.value.bands.forEach((u,g)=>{if(u.enabled){const{magResponse:c}=V(u,g,e);if(u.channel===A.ALL)y.forEach(z=>{for(let Z=0;Z<i;Z++)v[z][Z]+=20*Math.log10(c[Z])});else for(let z=0;z<i;z++)v[u.channel][z]+=20*Math.log10(c[z])}}),y.forEach(u=>{w(v[u],e)})}else{const y=new Float32Array(i).fill((r.value.preamp??0)+(r.value.per_channel_preamp[I.value]??0));r.value.bands.forEach((v,u)=>{if(v.enabled&&v.channel===I.value||v.channel===A.ALL){const{magResponse:g}=V(v,u,e);for(let c=0;c<i;c++)y[c]+=20*Math.log10(g[c])}}),w(y,e)}},Q=(a,e)=>{const i=a.createBiquadFilter();switch(e.type){case C.HIGH_PASS:i.type="highpass";break;case C.LOW_PASS:i.type="lowpass";break;case C.HIGH_SHELF:i.type="highshelf";break;case C.LOW_SHELF:i.type="lowshelf";break;case C.NOTCH:i.type="notch";break;case C.PEAK:i.type="peaking";break}return i.frequency.value=e.frequency,i.Q.value=e.q,i.gain.value=e.gain,i},re=new AudioContext;W(()=>r.value.bands.map(a=>Q(re,a)));const m=W(()=>r.value.bands.some(a=>a.channel!==A.ALL)||Object.keys(r.value.per_channel_preamp).length>0&&Object.values(r.value.per_channel_preamp).some(a=>a!==0)),d=N(!1),p=N(-1),I=N(A.ALL),U=W(()=>r.value.bands[p.value]),fe=W({get:()=>r.value.preamp??0,set:a=>{r.value.preamp=a}}),Ae=W({get:()=>r.value.per_channel_preamp[I.value]??0,set:a=>{I.value!==A.ALL&&(r.value.per_channel_preamp[I.value]=a)}}),je=a=>{r.value.bands.splice(a,1),p.value>=r.value.bands.length&&_e(()=>{p.value=r.value.bands.length-1})},Ge=()=>{const a=r.value.bands.length;r.value.bands.push({frequency:1e3,q:1,gain:0,type:C.PEAK,enabled:!0,channel:I.value}),_e(()=>{p.value=a})};J(()=>r.value.preamp,M),J(()=>r.value.per_channel_preamp,M,{deep:!0}),J(()=>(p.value,r.value.bands),()=>{p.value>=r.value.bands.length&&(p.value=r.value.bands.length-1),M()},{deep:!0}),J(()=>I.value,M),J(()=>x.global.current.value.dark,M),fl(()=>{m.value&&(d.value=!0)}),qe(()=>{M(),window.addEventListener("resize",M)});const Fe=(a,e)=>{const i=Math.log2(a/e.min_freq),V=Math.log2(e.max_freq/e.min_freq);return i/V*(e.width-e.padding_lr*2)+e.padding_lr},Qe=(a,e)=>{const i=Math.log2(e.max_freq/e.min_freq),V=e.min_freq*Math.pow(2,(a-e.padding_lr)/(e.width-e.padding_lr*2)*i);return Math.min(Math.max(V,e.min_freq),e.max_freq)},ue=(a,e)=>e.height/2-a*(e.height-2*e.padding_tb)/(2*Math.max(Math.abs(e.min_gain),Math.abs(e.max_gain))),Ke=(a,e)=>{const i=a.canvas.width/2,V=a.canvas.height/2;x.global.current.value.dark?(a.fillStyle="#eee",a.strokeStyle="#eee"):(a.fillStyle="#222",a.strokeStyle="#666"),a.lineWidth=1,[20,50,100,200,500,1e3,2e3,5e3,1e4,2e4].forEach(g=>{const c=Fe(g,e);a.beginPath(),a.moveTo(c,e.padding_tb),a.lineTo(c,V-e.padding_tb),a.stroke(),a.font="10px Arial",a.textAlign="center",a.fillText(g>=1e3?`${g/1e3}k`:g.toString(),c,V-5)});const v=e.max_gain-e.min_gain,u=Math.ceil(v/(e.height/30));for(let g=e.min_gain;g<=e.max_gain;g+=u){const c=ue(g,e);a.beginPath(),a.moveTo(e.padding_lr,c),a.lineTo(i-e.padding_lr,c),a.stroke(),a.font="10px Arial",a.textAlign="right",a.fillText(`${g}dB`,e.padding_lr-3,c+3)}};return qe(()=>{const a=new ResizeObserver(()=>{M()});return B.value&&a.observe(B.value),()=>{a.disconnect()}}),(a,e)=>(b(),F(Ue,{class:"pa-2"},{default:s(()=>[ae("div",Rl,[d.value?(b(),F(pe,{key:1,modelValue:I.value,"onUpdate:modelValue":e[1]||(e[1]=i=>I.value=i),class:"pa-2",items:_(o),label:_(P)("settings.dsp.parametric_eq.edited_channel"),variant:"outlined",density:"comfortable",style:{"min-width":"250px"},"hide-details":""},null,8,["modelValue","items","label"])):(b(),F(j,{key:0,variant:"outlined",onClick:e[0]||(e[0]=()=>{d.value=!0})},{default:s(()=>[t(Y,{start:""},{default:s(()=>e[12]||(e[12]=[L("mdi-speaker-multiple")])),_:1}),L(" "+R(_(P)("settings.dsp.parametric_eq.show_multichannel_controls")),1)]),_:1})),t(j,{variant:"outlined",onClick:S},{default:s(()=>[t(Y,{start:""},{default:s(()=>e[13]||(e[13]=[L("mdi-file-import")])),_:1}),L(" "+R(_(P)("settings.dsp.parametric_eq.import_apo")),1)]),_:1}),t(j,{variant:"outlined",onClick:E},{default:s(()=>[t(Y,{start:""},{default:s(()=>e[14]||(e[14]=[L("mdi-file-export")])),_:1}),L(" "+R(_(P)("settings.dsp.parametric_eq.export_apo")),1)]),_:1}),ae("input",{ref_key:"fileInputRef",ref:O,type:"file",accept:".txt",class:"d-none",onChange:q},null,544)]),t(te,{elevation:"0",color:"transparent"},{default:s(()=>[ae("div",{ref_key:"graphContainer",ref:B,class:"graph-container"},[ae("canvas",{ref_key:"canvas",ref:$,class:"frequency-graph"},null,512)],512)]),_:1}),t(te,{elevation:"0",color:"transparent",class:"border-t border-b rounded-0"},{default:s(()=>[t(le,{class:"pa-0"},{default:s(()=>[t(vl,{modelValue:p.value,"onUpdate:modelValue":e[2]||(e[2]=i=>p.value=i),class:"mb-0 pa-2",mandatory:"","selected-class":"primary"},{default:s(()=>[(b(),F(ye,{key:-1,value:-1,filter:"",variant:"elevated"},{default:s(()=>[L(R(_(P)("settings.dsp.parametric_eq.preamp",{index:100})),1)]),_:1})),(b(!0),ie(ce,null,He(r.value.bands,(i,V)=>(b(),F(ye,{key:V,value:V,class:se({"opacity-50":!i.enabled}),filter:"",variant:"elevated"},{default:s(()=>[L(R(i.channel===_(A).ALL?_(P)("settings.dsp.parametric_eq.band",{index:V+1}):_(P)("settings.dsp.parametric_eq.band_channel",{index:V+1,channel:_(P)(`settings.dsp.channels_compact.${i.channel}`)})),1)]),_:2},1032,["value","class"]))),128)),t(ye,{variant:"outlined",onClick:Ge},{default:s(()=>[t(Y,{icon:"mdi-plus",start:""}),L(" "+R(I.value===_(A).ALL?_(P)("settings.dsp.parametric_eq.add_band"):_(P)("settings.dsp.parametric_eq.add_band_channel",{channel:_(P)(`settings.dsp.channels.${I.value}`)})),1)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),p.value===-1?(b(),F(te,{key:0,elevation:"0",color:"transparent"},{default:s(()=>[t(le,null,{default:s(()=>[t(ze,{dense:""},{default:s(()=>[t(be,{cols:"12"},{default:s(()=>[t(X,{modelValue:fe.value,"onUpdate:modelValue":e[3]||(e[3]=i=>fe.value=i),type:"gain"},null,8,["modelValue"]),I.value!==_(A).ALL?(b(),F(X,{key:0,modelValue:Ae.value,"onUpdate:modelValue":e[4]||(e[4]=i=>Ae.value=i),type:{min:-15,max:15,step:.1,label:_(P)("settings.dsp.parametric_eq.per_channel_preamp",{channel:_(P)(`settings.dsp.channels.${I.value}`)}),unit:"dB",is_log:!1}},null,8,["modelValue","type"])):H("",!0)]),_:1})]),_:1})]),_:1})]),_:1})):H("",!0),U.value?(b(),ie(ce,{key:1},[t(gl,null,{default:s(()=>[ae("div",Ml,[t(he,{modelValue:U.value.enabled,"onUpdate:modelValue":e[5]||(e[5]=i=>U.value.enabled=i),label:_(P)("settings.dsp.parametric_eq.enable_band"),density:"comfortable","hide-details":"",color:"primary"},null,8,["modelValue","label"]),t(Ne),t(j,{color:"error",variant:"tonal",onClick:e[6]||(e[6]=i=>je(p.value))},{default:s(()=>[t(Y,null,{default:s(()=>e[15]||(e[15]=[L("mdi-delete")])),_:1}),L(" "+R(_(P)("settings.dsp.parametric_eq.delete_band")),1)]),_:1})])]),_:1}),t(pe,{modelValue:U.value.type,"onUpdate:modelValue":e[7]||(e[7]=i=>U.value.type=i),items:_(h),label:_(P)("settings.dsp.parametric_eq.filter_type"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"]),t(X,{modelValue:U.value.frequency,"onUpdate:modelValue":e[8]||(e[8]=i=>U.value.frequency=i),type:"frequency"},null,8,["modelValue"]),D(U.value.type)?(b(),F(X,{key:0,modelValue:U.value.gain,"onUpdate:modelValue":e[9]||(e[9]=i=>U.value.gain=i),type:"gain"},null,8,["modelValue"])):H("",!0),t(X,{modelValue:U.value.q,"onUpdate:modelValue":e[10]||(e[10]=i=>U.value.q=i),type:"q"},null,8,["modelValue"]),d.value?(b(),F(pe,{key:1,modelValue:U.value.channel,"onUpdate:modelValue":e[11]||(e[11]=i=>U.value.channel=i),items:_(o),label:_(P)("settings.dsp.parametric_eq.channel"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"])):H("",!0)],64)):H("",!0)]),_:1}))}}),Hl=xe(Bl,[["__scopeId","data-v-ac29d681"]]),xl=oe({__name:"DSPToneControl",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(l){const k=Le(l,"modelValue");return(f,o)=>(b(),ie(ce,null,[t(X,{modelValue:k.value.bass_level,"onUpdate:modelValue":o[0]||(o[0]=n=>k.value.bass_level=n),type:{min:-10,max:10,step:.1,label:f.$t("settings.dsp.tone_control.bass_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"]),t(X,{modelValue:k.value.mid_level,"onUpdate:modelValue":o[1]||(o[1]=n=>k.value.mid_level=n),type:{min:-10,max:10,step:.1,label:f.$t("settings.dsp.tone_control.mid_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"]),t(X,{modelValue:k.value.treble_level,"onUpdate:modelValue":o[2]||(o[2]=n=>k.value.treble_level=n),type:{min:-10,max:10,step:.1,label:f.$t("settings.dsp.tone_control.treble_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"])],64))}}),Ul={key:0},nt=oe({__name:"EditPlayerDsp",props:{playerId:{}},setup(l){const{t:k}=yl();Sl();const f=l,o=N(),n=N(null),q=N(!1),O=N(ee.PARAMETRIC_EQ);N(window.innerWidth);const{mobile:S}=_l();let E=!1;const x=Object.values(ee).map(m=>({value:m,title:k(`settings.dsp.types.${m}`)})),r=m=>{n.value=m},$=m=>{var d;return k(m==="input"?"settings.dsp.input":m==="output"?"settings.dsp.output":`settings.dsp.types.${(d=o.value)==null?void 0:d.filters[m].type}`)},B=()=>{if(!o.value)return;let m;switch(O.value){case ee.PARAMETRIC_EQ:m={preamp:0,per_channel_preamp:{},enabled:!0,type:ee.PARAMETRIC_EQ,bands:[]};break;case ee.TONE_CONTROL:m={enabled:!0,type:ee.TONE_CONTROL,bass_level:0,mid_level:0,treble_level:0};break;default:return}o.value.filters.push(m),q.value=!1,r(o.value.filters.length-1)},h=(m,d)=>{if(!o.value)return;const p=d==="up"?m-1:m+1;if(p<0||p>=o.value.filters.length)return;const[I]=o.value.filters.splice(m,1);o.value.filters.splice(p,0,I),n.value===m?n.value=p:n.value===p&&(n.value=m)},D=m=>{var d;n.value===m&&(n.value="input"),(d=o.value)==null||d.filters.splice(m,1)};J(S,m=>{!m&&n.value===null&&r("input")},{immediate:!0});const T=W(()=>hl(de.players[f.playerId],27));J(()=>f.playerId,async m=>{m&&(o.value=await de.getDSPConfig(m))},{immediate:!0});const M=de.subscribe(bl.PLAYER_DSP_CONFIG_UPDATED,m=>{E=!0,o.value=m.data});Vl(M);let Q=null;const re=m=>{Q&&clearTimeout(Q),Q=setTimeout(async()=>{f.playerId&&await de.saveDSPConfig(f.playerId,m)},2e3)};return J(o,(m,d)=>{if(E){Q&&clearTimeout(Q),E=!1;return}m!==null&&d&&re(d)},{deep:!0}),(m,d)=>o.value?(b(),ie("section",Ul,[t(Oe,{color:"transparent",class:"border-b"},{default:s(()=>[t(he,{modelValue:o.value.enabled,"onUpdate:modelValue":d[0]||(d[0]=p=>o.value.enabled=p),"hide-details":"",color:"primary",class:"pl-4"},null,8,["modelValue"]),t(De,null,{default:s(()=>[L(R(m.$t("settings.dsp.configure_on",{name:T.value})),1)]),_:1})]),_:1}),t(Ue,{class:"pa-4"},{default:s(()=>[o.value.enabled?H("",!0):(b(),F(Tl,{key:0,type:"info",class:"mt-4",color:"transparent"},{default:s(()=>[L(R(m.$t("settings.dsp.disabled_message")),1)]),_:1})),t(ze,{class:se([{"justify-center":_(S)},"flex-nowrap"])},{default:s(()=>[!_(S)||n.value===null?(b(),F(be,{key:0,class:se(["flex-grow-0 flex-shrink-0",{"border-e pr-4":!_(S)}]),"align-self":"start"},{default:s(()=>[t(wl,{dsp:o.value,selected:n.value,onOnSelect:r,onOnAddFilter:d[1]||(d[1]=p=>q.value=!0),onOnMoveFilter:d[2]||(d[2]=p=>h(p.index,p.direction)),onOnDeleteFilter:D},null,8,["dsp","selected"])]),_:1},8,["class"])):H("",!0),n.value!=null?(b(),F(be,{key:1,style:{"min-width":"0"}},{default:s(()=>[t(Oe,{density:"compact",color:m.$vuetify.theme.current.dark?"surface":"surface-light",class:"border-b"},{default:s(()=>[_(S)?(b(),F(j,{key:0,class:"hidden-xs-only",icon:"",onClick:d[3]||(d[3]=p=>n.value=null)},{default:s(()=>[t(Y,null,{default:s(()=>d[15]||(d[15]=[L("mdi-arrow-left")])),_:1})]),_:1})):H("",!0),t(De,null,{default:s(()=>[L(R($(n.value)),1)]),_:1}),typeof n.value=="number"&&!_(S)&&n.value>0?(b(),F(j,{key:1,icon:"",onClick:d[4]||(d[4]=p=>h(n.value,"up"))},{default:s(()=>[t(Y,null,{default:s(()=>d[16]||(d[16]=[L("mdi-arrow-up")])),_:1})]),_:1})):H("",!0),typeof n.value=="number"&&!_(S)&&n.value<o.value.filters.length-1?(b(),F(j,{key:2,icon:"",onClick:d[5]||(d[5]=p=>h(n.value,"down"))},{default:s(()=>[t(Y,null,{default:s(()=>d[17]||(d[17]=[L("mdi-arrow-down")])),_:1})]),_:1})):H("",!0),typeof n.value=="number"?(b(),F(he,{key:3,modelValue:o.value.filters[n.value].enabled,"onUpdate:modelValue":d[6]||(d[6]=p=>o.value.filters[n.value].enabled=p),"hide-details":"",color:"primary",class:"mr-4"},null,8,["modelValue"])):H("",!0),typeof n.value=="number"?(b(),F(j,{key:4,icon:"",onClick:d[7]||(d[7]=p=>D(n.value))},{default:s(()=>[t(Y,null,{default:s(()=>d[18]||(d[18]=[L("mdi-delete")])),_:1})]),_:1})):H("",!0)]),_:1},8,["color"]),n.value==="input"?(b(),F(te,{key:0,flat:"",color:m.$vuetify.theme.current.dark?"surface":"surface-light"},{default:s(()=>[t(X,{modelValue:o.value.input_gain,"onUpdate:modelValue":d[8]||(d[8]=p=>o.value.input_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):n.value==="output"?(b(),F(te,{key:1,flat:"",color:m.$vuetify.theme.current.dark?"surface":"surface-light"},{default:s(()=>[t(X,{modelValue:o.value.output_gain,"onUpdate:modelValue":d[9]||(d[9]=p=>o.value.output_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):(b(),F(te,{key:2,flat:"",color:m.$vuetify.theme.current.dark?"surface":"surface-light"},{default:s(()=>[o.value.filters[n.value].type===_(ee).PARAMETRIC_EQ?(b(),F(Hl,{key:0,modelValue:o.value.filters[n.value],"onUpdate:modelValue":d[10]||(d[10]=p=>o.value.filters[n.value]=p)},null,8,["modelValue"])):H("",!0),o.value.filters[n.value].type===_(ee).TONE_CONTROL?(b(),F(xl,{key:1,modelValue:o.value.filters[n.value],"onUpdate:modelValue":d[11]||(d[11]=p=>o.value.filters[n.value]=p)},null,8,["modelValue"])):H("",!0)]),_:1},8,["color"]))]),_:1})):H("",!0)]),_:1},8,["class"])]),_:1}),t(Fl,{modelValue:q.value,"onUpdate:modelValue":d[14]||(d[14]=p=>q.value=p),"max-width":"300"},{default:s(()=>[t(te,null,{default:s(()=>[t(Cl,null,{default:s(()=>[L(R(m.$t("settings.dsp.filter.add")),1)]),_:1}),t(le,null,{default:s(()=>[t(pe,{modelValue:O.value,"onUpdate:modelValue":d[12]||(d[12]=p=>O.value=p),items:_(x),label:m.$t("settings.dsp.filter.type")},null,8,["modelValue","items","label"])]),_:1}),t(kl,null,{default:s(()=>[t(Ne),t(j,{onClick:d[13]||(d[13]=p=>q.value=!1)},{default:s(()=>[L(R(m.$t("cancel")),1)]),_:1}),t(j,{color:"primary",onClick:B},{default:s(()=>[L(R(m.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])):H("",!0)}});export{nt as default};
|
|
9
|
+
`});const e=new Blob([a],{type:"text/plain"}),i=URL.createObjectURL(e),V=document.createElement("a");V.href=i,V.download=`music_assistant_eq_settings_${new Date().toISOString().split("T")[0]}.txt`,document.body.appendChild(V),V.click(),document.body.removeChild(V),URL.revokeObjectURL(i)},x=Be(),r=Le(l,"modelValue"),$=N(null),B=N(null),h=Object.values(C).map(a=>({title:P(`settings.dsp.parametric_eq.filter_types.${a}`),value:a})),D=a=>![C.HIGH_PASS,C.LOW_PASS,C.NOTCH].includes(a),T=N({width:0,height:0,min_gain:-20,max_gain:20,min_freq:20,max_freq:2e4,padding_lr:40,padding_tb:20}),M=()=>{if(!$.value||!B.value)return;const a=x.global.current.value.dark,e=$.value.getContext("2d");if(!e)return;$.value.width=B.value.clientWidth*2,$.value.height=B.value.clientHeight*2,T.value.width=$.value.width/2,T.value.height=$.value.height/2,e.scale(2,2),e.clearRect(0,0,$.value.width,$.value.height),Ke(e,T.value);const i=e.canvas.width/2;e.canvas.height/2;const V=(y,v,u)=>{let g=`hsla(${v*360/r.value.bands.length}, 60%, ${a?70:50}%, 0.5)`;u.beginPath(),v===p.value?(u.lineWidth=5,g=`hsla(${v*360/r.value.bands.length}, 70%, ${a?70:60}%, 1)`):u.lineWidth=2,u.strokeStyle=g;const c=new Float32Array(i);for(let G=0;G<i;G++)c[G]=Qe(G,T.value);const U=new Float32Array(i),J=new Float32Array(i);Q(re,y).getFrequencyResponse(c,U,J);for(let G=T.value.padding_lr;G<i-T.value.padding_lr;G++){const Xe=20*Math.log10(U[G]),$e=ue(Xe,T.value);G===T.value.padding_lr?u.moveTo(G,$e):u.lineTo(G,$e)}u.stroke();const ve=Fe(y.frequency,T.value),ge=ue(y.gain,T.value);return u.beginPath(),u.fillStyle=g,u.arc(ve,ge,6,0,2*Math.PI),u.fill(),{frequencies:c,magResponse:U}},w=(y,v)=>{v.lineWidth=3,a?v.strokeStyle="#fff":v.strokeStyle="#000",v.beginPath();for(let u=T.value.padding_lr;u<i-T.value.padding_lr;u++){const g=ue(y[u],T.value);u===T.value.padding_lr?v.moveTo(u,g):v.lineTo(u,g)}v.stroke()};if(I.value===A.ALL&&m.value){const y=Object.values(A).filter(u=>u!==A.ALL),v={};y.forEach(u=>{v[u]=new Float32Array(i).fill((r.value.preamp??0)+(r.value.per_channel_preamp[u]??0))}),r.value.bands.forEach((u,g)=>{if(u.enabled){const{magResponse:c}=V(u,g,e);if(u.channel===A.ALL)y.forEach(U=>{for(let J=0;J<i;J++)v[U][J]+=20*Math.log10(c[J])});else for(let U=0;U<i;U++)v[u.channel][U]+=20*Math.log10(c[U])}}),y.forEach(u=>{w(v[u],e)})}else{const y=new Float32Array(i).fill((r.value.preamp??0)+(r.value.per_channel_preamp[I.value]??0));r.value.bands.forEach((v,u)=>{if(v.enabled&&v.channel===I.value||v.channel===A.ALL){const{magResponse:g}=V(v,u,e);for(let c=0;c<i;c++)y[c]+=20*Math.log10(g[c])}}),w(y,e)}},Q=(a,e)=>{const i=a.createBiquadFilter();switch(e.type){case C.HIGH_PASS:i.type="highpass";break;case C.LOW_PASS:i.type="lowpass";break;case C.HIGH_SHELF:i.type="highshelf";break;case C.LOW_SHELF:i.type="lowshelf";break;case C.NOTCH:i.type="notch";break;case C.PEAK:i.type="peaking";break}return i.frequency.value=e.frequency,i.Q.value=e.q,i.gain.value=e.gain,i},re=new AudioContext;W(()=>r.value.bands.map(a=>Q(re,a)));const m=W(()=>r.value.bands.some(a=>a.channel!==A.ALL)||Object.keys(r.value.per_channel_preamp).length>0&&Object.values(r.value.per_channel_preamp).some(a=>a!==0)),d=N(!1),p=N(-1),I=N(A.ALL),z=W(()=>r.value.bands[p.value]),fe=W({get:()=>r.value.preamp??0,set:a=>{r.value.preamp=a}}),Ae=W({get:()=>r.value.per_channel_preamp[I.value]??0,set:a=>{I.value!==A.ALL&&(r.value.per_channel_preamp[I.value]=a)}}),je=a=>{r.value.bands.splice(a,1),p.value>=r.value.bands.length&&_e(()=>{p.value=r.value.bands.length-1})},Ge=()=>{const a=r.value.bands.length;r.value.bands.push({frequency:1e3,q:1,gain:0,type:C.PEAK,enabled:!0,channel:I.value}),_e(()=>{p.value=a})};Z(()=>r.value.preamp,M),Z(()=>r.value.per_channel_preamp,M,{deep:!0}),Z(()=>(p.value,r.value.bands),()=>{p.value>=r.value.bands.length&&(p.value=r.value.bands.length-1),M()},{deep:!0}),Z(()=>I.value,M),Z(()=>x.global.current.value.dark,M),fl(()=>{m.value&&(d.value=!0)}),qe(()=>{M(),window.addEventListener("resize",M)});const Fe=(a,e)=>{const i=Math.log2(a/e.min_freq),V=Math.log2(e.max_freq/e.min_freq);return i/V*(e.width-e.padding_lr*2)+e.padding_lr},Qe=(a,e)=>{const i=Math.log2(e.max_freq/e.min_freq),V=e.min_freq*Math.pow(2,(a-e.padding_lr)/(e.width-e.padding_lr*2)*i);return Math.min(Math.max(V,e.min_freq),e.max_freq)},ue=(a,e)=>e.height/2-a*(e.height-2*e.padding_tb)/(2*Math.max(Math.abs(e.min_gain),Math.abs(e.max_gain))),Ke=(a,e)=>{const i=a.canvas.width/2,V=a.canvas.height/2;x.global.current.value.dark?(a.fillStyle="#eee",a.strokeStyle="#eee"):(a.fillStyle="#222",a.strokeStyle="#666"),a.lineWidth=1,[20,50,100,200,500,1e3,2e3,5e3,1e4,2e4].forEach(g=>{const c=Fe(g,e);a.beginPath(),a.moveTo(c,e.padding_tb),a.lineTo(c,V-e.padding_tb),a.stroke(),a.font="10px Arial",a.textAlign="center",a.fillText(g>=1e3?`${g/1e3}k`:g.toString(),c,V-5)});const v=e.max_gain-e.min_gain,u=Math.ceil(v/(e.height/30));for(let g=e.min_gain;g<=e.max_gain;g+=u){const c=ue(g,e);a.beginPath(),a.moveTo(e.padding_lr,c),a.lineTo(i-e.padding_lr,c),a.stroke(),a.font="10px Arial",a.textAlign="right",a.fillText(`${g}dB`,e.padding_lr-3,c+3)}};return qe(()=>{const a=new ResizeObserver(()=>{M()});return B.value&&a.observe(B.value),()=>{a.disconnect()}}),(a,e)=>(b(),F(ze,{class:"pa-2"},{default:s(()=>[ae("div",Rl,[d.value?(b(),F(pe,{key:1,modelValue:I.value,"onUpdate:modelValue":e[1]||(e[1]=i=>I.value=i),class:"pa-2",items:_(o),label:_(P)("settings.dsp.parametric_eq.edited_channel"),variant:"outlined",density:"comfortable",style:{"min-width":"250px"},"hide-details":""},null,8,["modelValue","items","label"])):(b(),F(j,{key:0,variant:"outlined",onClick:e[0]||(e[0]=()=>{d.value=!0})},{default:s(()=>[t(X,{start:""},{default:s(()=>e[12]||(e[12]=[L("mdi-speaker-multiple")])),_:1}),L(" "+R(_(P)("settings.dsp.parametric_eq.show_multichannel_controls")),1)]),_:1})),t(j,{variant:"outlined",onClick:S},{default:s(()=>[t(X,{start:""},{default:s(()=>e[13]||(e[13]=[L("mdi-file-import")])),_:1}),L(" "+R(_(P)("settings.dsp.parametric_eq.import_apo")),1)]),_:1}),t(j,{variant:"outlined",onClick:E},{default:s(()=>[t(X,{start:""},{default:s(()=>e[14]||(e[14]=[L("mdi-file-export")])),_:1}),L(" "+R(_(P)("settings.dsp.parametric_eq.export_apo")),1)]),_:1}),ae("input",{ref_key:"fileInputRef",ref:O,type:"file",accept:".txt",class:"d-none",onChange:q},null,544)]),t(te,{elevation:"0",color:"transparent"},{default:s(()=>[ae("div",{ref_key:"graphContainer",ref:B,class:"graph-container"},[ae("canvas",{ref_key:"canvas",ref:$,class:"frequency-graph"},null,512)],512)]),_:1}),t(te,{elevation:"0",color:"transparent",class:"border-t border-b rounded-0"},{default:s(()=>[t(le,{class:"pa-0"},{default:s(()=>[t(vl,{modelValue:p.value,"onUpdate:modelValue":e[2]||(e[2]=i=>p.value=i),class:"mb-0 pa-2",mandatory:"","selected-class":"primary"},{default:s(()=>[(b(),F(ye,{key:-1,value:-1,filter:"",variant:"elevated"},{default:s(()=>[L(R(_(P)("settings.dsp.parametric_eq.preamp",{index:100})),1)]),_:1})),(b(!0),ie(ce,null,He(r.value.bands,(i,V)=>(b(),F(ye,{key:V,value:V,class:se({"opacity-50":!i.enabled}),filter:"",variant:"elevated"},{default:s(()=>[L(R(i.channel===_(A).ALL?_(P)("settings.dsp.parametric_eq.band",{index:V+1}):_(P)("settings.dsp.parametric_eq.band_channel",{index:V+1,channel:_(P)(`settings.dsp.channels_compact.${i.channel}`)})),1)]),_:2},1032,["value","class"]))),128)),t(ye,{variant:"outlined",onClick:Ge},{default:s(()=>[t(X,{icon:"mdi-plus",start:""}),L(" "+R(I.value===_(A).ALL?_(P)("settings.dsp.parametric_eq.add_band"):_(P)("settings.dsp.parametric_eq.add_band_channel",{channel:_(P)(`settings.dsp.channels.${I.value}`)})),1)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),p.value===-1?(b(),F(te,{key:0,elevation:"0",color:"transparent"},{default:s(()=>[t(le,null,{default:s(()=>[t(Ue,{dense:""},{default:s(()=>[t(be,{cols:"12"},{default:s(()=>[t(Y,{modelValue:fe.value,"onUpdate:modelValue":e[3]||(e[3]=i=>fe.value=i),type:"gain"},null,8,["modelValue"]),I.value!==_(A).ALL?(b(),F(Y,{key:0,modelValue:Ae.value,"onUpdate:modelValue":e[4]||(e[4]=i=>Ae.value=i),type:{min:-15,max:15,step:.1,label:_(P)("settings.dsp.parametric_eq.per_channel_preamp",{channel:_(P)(`settings.dsp.channels.${I.value}`)}),unit:"dB",is_log:!1}},null,8,["modelValue","type"])):H("",!0)]),_:1})]),_:1})]),_:1})]),_:1})):H("",!0),z.value?(b(),ie(ce,{key:1},[t(gl,null,{default:s(()=>[ae("div",Ml,[t(he,{modelValue:z.value.enabled,"onUpdate:modelValue":e[5]||(e[5]=i=>z.value.enabled=i),label:_(P)("settings.dsp.parametric_eq.enable_band"),density:"comfortable","hide-details":"",color:"primary"},null,8,["modelValue","label"]),t(Ne),t(j,{color:"error",variant:"tonal",onClick:e[6]||(e[6]=i=>je(p.value))},{default:s(()=>[t(X,null,{default:s(()=>e[15]||(e[15]=[L("mdi-delete")])),_:1}),L(" "+R(_(P)("settings.dsp.parametric_eq.delete_band")),1)]),_:1})])]),_:1}),t(pe,{modelValue:z.value.type,"onUpdate:modelValue":e[7]||(e[7]=i=>z.value.type=i),items:_(h),label:_(P)("settings.dsp.parametric_eq.filter_type"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"]),t(Y,{modelValue:z.value.frequency,"onUpdate:modelValue":e[8]||(e[8]=i=>z.value.frequency=i),type:"frequency"},null,8,["modelValue"]),D(z.value.type)?(b(),F(Y,{key:0,modelValue:z.value.gain,"onUpdate:modelValue":e[9]||(e[9]=i=>z.value.gain=i),type:"gain"},null,8,["modelValue"])):H("",!0),t(Y,{modelValue:z.value.q,"onUpdate:modelValue":e[10]||(e[10]=i=>z.value.q=i),type:"q"},null,8,["modelValue"]),d.value?(b(),F(pe,{key:1,modelValue:z.value.channel,"onUpdate:modelValue":e[11]||(e[11]=i=>z.value.channel=i),items:_(o),label:_(P)("settings.dsp.parametric_eq.channel"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"])):H("",!0)],64)):H("",!0)]),_:1}))}}),Hl=xe(Bl,[["__scopeId","data-v-ac29d681"]]),xl=oe({__name:"DSPToneControl",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(l){const k=Le(l,"modelValue");return(f,o)=>(b(),ie(ce,null,[t(Y,{modelValue:k.value.bass_level,"onUpdate:modelValue":o[0]||(o[0]=n=>k.value.bass_level=n),type:{min:-10,max:10,step:.1,label:f.$t("settings.dsp.tone_control.bass_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"]),t(Y,{modelValue:k.value.mid_level,"onUpdate:modelValue":o[1]||(o[1]=n=>k.value.mid_level=n),type:{min:-10,max:10,step:.1,label:f.$t("settings.dsp.tone_control.mid_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"]),t(Y,{modelValue:k.value.treble_level,"onUpdate:modelValue":o[2]||(o[2]=n=>k.value.treble_level=n),type:{min:-10,max:10,step:.1,label:f.$t("settings.dsp.tone_control.treble_level"),unit:"dB",is_log:!1}},null,8,["modelValue","type"])],64))}}),zl={key:0},nt=oe({__name:"EditPlayerDsp",props:{playerId:{}},setup(l){const{t:k}=yl();Sl();const f=l,o=N(),n=N(null),q=N(!1),O=N(ee.PARAMETRIC_EQ);N(window.innerWidth);const{mobile:S}=_l();let E=!1;const x=Object.values(ee).map(m=>({value:m,title:k(`settings.dsp.types.${m}`)})),r=m=>{n.value=m},$=m=>{var d;return k(m==="input"?"settings.dsp.input":m==="output"?"settings.dsp.output":`settings.dsp.types.${(d=o.value)==null?void 0:d.filters[m].type}`)},B=()=>{if(!o.value)return;let m;switch(O.value){case ee.PARAMETRIC_EQ:m={preamp:0,per_channel_preamp:{},enabled:!0,type:ee.PARAMETRIC_EQ,bands:[]};break;case ee.TONE_CONTROL:m={enabled:!0,type:ee.TONE_CONTROL,bass_level:0,mid_level:0,treble_level:0};break;default:return}o.value.filters.push(m),q.value=!1,r(o.value.filters.length-1)},h=(m,d)=>{if(!o.value)return;const p=d==="up"?m-1:m+1;if(p<0||p>=o.value.filters.length)return;const[I]=o.value.filters.splice(m,1);o.value.filters.splice(p,0,I),n.value===m?n.value=p:n.value===p&&(n.value=m)},D=m=>{var d;n.value===m&&(n.value="input"),(d=o.value)==null||d.filters.splice(m,1)};Z(S,m=>{!m&&n.value===null&&r("input")},{immediate:!0});const T=W(()=>hl(de.players[f.playerId],27));Z(()=>f.playerId,async m=>{m&&(o.value=await de.getDSPConfig(m))},{immediate:!0});const M=de.subscribe(bl.PLAYER_DSP_CONFIG_UPDATED,m=>{E=!0,o.value=m.data});Vl(M);let Q=null;const re=m=>{Q&&clearTimeout(Q),Q=setTimeout(async()=>{f.playerId&&await de.saveDSPConfig(f.playerId,m)},2e3)};return Z(o,(m,d)=>{if(E){Q&&clearTimeout(Q),E=!1;return}m!==null&&d&&re(d)},{deep:!0}),(m,d)=>o.value?(b(),ie("section",zl,[t(Oe,{color:"transparent",class:"border-b"},{default:s(()=>[t(he,{modelValue:o.value.enabled,"onUpdate:modelValue":d[0]||(d[0]=p=>o.value.enabled=p),"hide-details":"",color:"primary",class:"pl-4"},null,8,["modelValue"]),t(De,null,{default:s(()=>[L(R(m.$t("settings.dsp.configure_on",{name:T.value})),1)]),_:1})]),_:1}),t(ze,{class:"pa-4"},{default:s(()=>[o.value.enabled?H("",!0):(b(),F(Tl,{key:0,type:"info",class:"mt-4",color:"transparent"},{default:s(()=>[L(R(m.$t("settings.dsp.disabled_message")),1)]),_:1})),t(Ue,{class:se([{"justify-center":_(S)},"flex-nowrap"])},{default:s(()=>[!_(S)||n.value===null?(b(),F(be,{key:0,class:se(["flex-grow-0 flex-shrink-0",{"border-e pr-4":!_(S)}]),"align-self":"start"},{default:s(()=>[t(wl,{dsp:o.value,selected:n.value,onOnSelect:r,onOnAddFilter:d[1]||(d[1]=p=>q.value=!0),onOnMoveFilter:d[2]||(d[2]=p=>h(p.index,p.direction)),onOnDeleteFilter:D},null,8,["dsp","selected"])]),_:1},8,["class"])):H("",!0),n.value!=null?(b(),F(be,{key:1,style:{"min-width":"0"}},{default:s(()=>[t(Oe,{density:"compact",color:m.$vuetify.theme.current.dark?"surface":"surface-light",class:"border-b"},{default:s(()=>[_(S)?(b(),F(j,{key:0,class:"hidden-xs-only",icon:"",onClick:d[3]||(d[3]=p=>n.value=null)},{default:s(()=>[t(X,null,{default:s(()=>d[15]||(d[15]=[L("mdi-arrow-left")])),_:1})]),_:1})):H("",!0),t(De,null,{default:s(()=>[L(R($(n.value)),1)]),_:1}),typeof n.value=="number"&&!_(S)&&n.value>0?(b(),F(j,{key:1,icon:"",onClick:d[4]||(d[4]=p=>h(n.value,"up"))},{default:s(()=>[t(X,null,{default:s(()=>d[16]||(d[16]=[L("mdi-arrow-up")])),_:1})]),_:1})):H("",!0),typeof n.value=="number"&&!_(S)&&n.value<o.value.filters.length-1?(b(),F(j,{key:2,icon:"",onClick:d[5]||(d[5]=p=>h(n.value,"down"))},{default:s(()=>[t(X,null,{default:s(()=>d[17]||(d[17]=[L("mdi-arrow-down")])),_:1})]),_:1})):H("",!0),typeof n.value=="number"?(b(),F(he,{key:3,modelValue:o.value.filters[n.value].enabled,"onUpdate:modelValue":d[6]||(d[6]=p=>o.value.filters[n.value].enabled=p),"hide-details":"",color:"primary",class:"mr-4"},null,8,["modelValue"])):H("",!0),typeof n.value=="number"?(b(),F(j,{key:4,icon:"",onClick:d[7]||(d[7]=p=>D(n.value))},{default:s(()=>[t(X,null,{default:s(()=>d[18]||(d[18]=[L("mdi-delete")])),_:1})]),_:1})):H("",!0)]),_:1},8,["color"]),n.value==="input"?(b(),F(te,{key:0,flat:"",color:m.$vuetify.theme.current.dark?"surface":"surface-light"},{default:s(()=>[t(Y,{modelValue:o.value.input_gain,"onUpdate:modelValue":d[8]||(d[8]=p=>o.value.input_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):n.value==="output"?(b(),F(te,{key:1,flat:"",color:m.$vuetify.theme.current.dark?"surface":"surface-light"},{default:s(()=>[t(Y,{modelValue:o.value.output_gain,"onUpdate:modelValue":d[9]||(d[9]=p=>o.value.output_gain=p),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):(b(),F(te,{key:2,flat:"",color:m.$vuetify.theme.current.dark?"surface":"surface-light"},{default:s(()=>[o.value.filters[n.value].type===_(ee).PARAMETRIC_EQ?(b(),F(Hl,{key:0,modelValue:o.value.filters[n.value],"onUpdate:modelValue":d[10]||(d[10]=p=>o.value.filters[n.value]=p)},null,8,["modelValue"])):H("",!0),o.value.filters[n.value].type===_(ee).TONE_CONTROL?(b(),F(xl,{key:1,modelValue:o.value.filters[n.value],"onUpdate:modelValue":d[11]||(d[11]=p=>o.value.filters[n.value]=p)},null,8,["modelValue"])):H("",!0)]),_:1},8,["color"]))]),_:1})):H("",!0)]),_:1},8,["class"])]),_:1}),t(Fl,{modelValue:q.value,"onUpdate:modelValue":d[14]||(d[14]=p=>q.value=p),"max-width":"300"},{default:s(()=>[t(te,null,{default:s(()=>[t(Cl,null,{default:s(()=>[L(R(m.$t("settings.dsp.filter.add")),1)]),_:1}),t(le,null,{default:s(()=>[t(pe,{modelValue:O.value,"onUpdate:modelValue":d[12]||(d[12]=p=>O.value=p),items:_(x),label:m.$t("settings.dsp.filter.type")},null,8,["modelValue","items","label"])]),_:1}),t(kl,null,{default:s(()=>[t(Ne),t(j,{onClick:d[13]||(d[13]=p=>q.value=!1)},{default:s(()=>[L(R(m.$t("cancel")),1)]),_:1}),t(j,{color:"primary",onClick:B},{default:s(()=>[L(R(m.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])):H("",!0)}});export{nt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as S,x as V,o as I,a4 as o,
|
|
1
|
+
import{Q as S,x as V,o as I,a4 as o,aV as _,b as N,w as P,Z as w,B as s,U as r,bD as U,bg as j,S as u,a9 as v,R as d,a0 as i,W as m,a_ as C,ao as f,ab as y,a$ as g,bz as x,c9 as H,Y as h,bx as L,a7 as O,br as D,bE as z}from"./index-CER3Y8WH.js";import{E as R}from"./EditConfig-BwBrKCsD.js";import{n as F}from"./index.browser-OxPLOBIU.js";import{V as Q}from"./VTextField-Dt6QeC_M.js";import{V as W}from"./VSwitch-D7rcjkBZ.js";import{a as Y,b as Z}from"./VBtn-Do0ASNFF.js";import"./VForm-DHdy4n75.js";import"./VCheckboxBtn-3gFb0eok.js";import"./VExpansionPanels-C5Hmlivf.js";import"./VAlert-_iyaxWIb.js";import"./VSlider-S5KSn-8o.js";import"./VVirtualScroll-Bsoo1OHJ.js";import"./VDialog-BoVsCtTf.js";import"./VSpacer-DnooLekf.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const q={key:0},G={id:"auth",href:"",target:"_blank"},ve=S({__name:"EditProvider",props:{instanceId:{}},setup(M){const T=z(),a=V(),k=F(11),p=V(!1),b=V(!1),$=M;I(()=>{const t=o.subscribe(_.AUTH_SESSION,e=>{if(e.object_id!==k)return;const n=e.data;b.value=!0,window.setTimeout(()=>{const l=document.getElementById("auth");l.setAttribute("href",n),l.click()},100)});N(t)}),P(()=>$.instanceId,async t=>{t&&(a.value=await o.getProviderConfig(t))},{immediate:!0});const A=async function(t){p.value=!0,t.enabled=a.value.enabled,t.name=a.value.name||null,o.saveProviderConfig(a.value.domain,t,a.value.instance_id).then(()=>{T.push({name:"providersettings"})}).catch(e=>{alert(e)}).finally(()=>{p.value=!1,b.value=!1})},E=async function(t,e){p.value=!0;for(const n of Object.values(a.value.values))n.value!==void 0&&e[n.key]==null&&(e[n.key]=n.value);e.session_id=k,o.getProviderConfigEntries(a.value.domain,a.value.instance_id,t,e).then(n=>{a.value.values={};for(const l of n)a.value.values[l.key]=l}).catch(n=>{alert(n)}).finally(()=>{p.value=!1,b.value=!1})},B=function(t){const e=[],{t:n}=D();for(const l of t)l.includes("@")?e.push(`[${l.replace("@","")}](https://github.com/${l.replace("@","")})`):e.push(l);return`**${n("settings.codeowners")}**: `+e.join(" / ")};return(t,e)=>(u(),w("section",null,[s(U,null,{default:r(()=>{var n,l;return[a.value&&i(o).providerManifests[a.value.domain]?(u(),w("div",q,[s(C,null,{default:r(()=>[f(y(t.$t("settings.setup_provider",[i(o).providerManifests[a.value.domain].name])),1)]),_:1}),s(g,{style:{"white-space":"normal"}},{default:r(()=>[f(y(i(o).providerManifests[a.value.domain].description),1)]),_:1}),e[5]||(e[5]=m("br",null,null,-1)),i(o).providerManifests[a.value.domain].codeowners.length?(u(),d(g,{key:0,innerHTML:i(x)(B(i(o).providerManifests[a.value.domain].codeowners))},null,8,["innerHTML"])):v("",!0),i(o).providerManifests[a.value.domain].documentation?(u(),d(g,{key:1},{default:r(()=>[m("b",null,y(t.$t("settings.need_help_setup_provider")),1),e[4]||(e[4]=f(" ")),m("a",{onClick:e[0]||(e[0]=c=>i(H)(i(o).providerManifests[a.value.domain].documentation))},y(t.$t("settings.check_docs")),1)]),_:1})):v("",!0),e[6]||(e[6]=m("br",null,null,-1)),s(h),e[7]||(e[7]=m("br",null,null,-1)),e[8]||(e[8]=m("br",null,null,-1)),"name"in a.value?(u(),d(Q,{key:2,modelValue:a.value.name,"onUpdate:modelValue":e[1]||(e[1]=c=>a.value.name=c),placeholder:(n=i(o).getProvider(a.value.instance_id))==null?void 0:n.name,label:t.$t("settings.provider_name"),variant:"outlined",clearable:""},null,8,["modelValue","placeholder","label"])):v("",!0),"enabled"in a.value?(u(),d(W,{key:3,modelValue:a.value.enabled,"onUpdate:modelValue":e[2]||(e[2]=c=>a.value.enabled=c),label:t.$t("settings.enable_provider"),color:"primary",disabled:!((l=i(o).providerManifests[a.value.domain])!=null&&l.allow_disable)},null,8,["modelValue","label","disabled"])):v("",!0)])):v("",!0),s(h),a.value?(u(),d(R,{key:1,"config-entries":Object.values(a.value.values),disabled:!a.value.enabled,onSubmit:A,onAction:E},null,8,["config-entries","disabled"])):v("",!0)]}),_:1}),s(j,{modelValue:p.value,"onUpdate:modelValue":e[3]||(e[3]=n=>p.value=n),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:r(()=>[b.value?(u(),d(O,{key:0,style:{"background-color":"white"}},{default:r(()=>[s(C,null,{default:r(()=>e[9]||(e[9]=[f("Authenticating...")])),_:1}),s(g,null,{default:r(()=>e[10]||(e[10]=[f("A new tab/popup should be opened where you can authenticate")])),_:1}),s(L,null,{default:r(()=>[m("a",G,[s(Y,null,{default:r(()=>e[11]||(e[11]=[f("Click here if the popup did not open")])),_:1})])]),_:1})]),_:1})):(u(),d(Z,{key:1,indeterminate:"",size:"64",color:"primary"}))]),_:1},8,["modelValue"])]))}});export{ve as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as S,x as m,o as k,ca as o,cb as h,a8 as e,Z as I,B as s,U as i,bD as V,bg as N,S as g,ao as d,ab as c,a0 as f,W as p,R as C,a9 as E,
|
|
1
|
+
import{Q as S,x as m,o as k,ca as o,cb as h,a8 as e,Z as I,B as s,U as i,bD as V,bg as N,S as g,ao as d,ab as c,a0 as f,W as p,R as C,a9 as E,a$ as T,Y as x,bE as B}from"./index-CER3Y8WH.js";import{E as q}from"./EditConfig-BwBrKCsD.js";import{D as v}from"./constants-BXWEQHoz.js";import{V as R}from"./VToolbar-1wv8OiOl.js";import{b as w}from"./VBtn-Do0ASNFF.js";import"./VForm-DHdy4n75.js";import"./VCheckboxBtn-3gFb0eok.js";import"./VExpansionPanels-C5Hmlivf.js";import"./VAlert-_iyaxWIb.js";import"./VSwitch-D7rcjkBZ.js";import"./VTextField-Dt6QeC_M.js";import"./VVirtualScroll-Bsoo1OHJ.js";import"./VSlider-S5KSn-8o.js";import"./VDialog-BoVsCtTf.js";import"./VSpacer-DnooLekf.js";/* empty css */import"./_plugin-vue_export-helper-DlAUqK2U.js";const J=S({__name:"FrontendConfig",setup(D){const y=B(),r=m([]),n=m(!1);k(()=>{const a=localStorage.getItem("frontend.settings.menu_items"),t=a?a.split(","):v;r.value=[{key:"theme",type:o.STRING,label:"theme",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},{title:"dark",value:"dark"},{title:"light",value:"light"}],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.theme")},{key:"language",type:o.STRING,label:"language",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},...h.global.availableLocales.map(l=>({title:l,value:l}))],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.language")},{key:"menu_style",type:o.STRING,label:"menu_style",default_value:"horizontal",required:!1,options:[{title:"horizontal",value:"horizontal"},{title:"vertical",value:"vertical"}],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.menu_style")},{key:"menu_items",type:o.STRING,label:"menu_items",default_value:v,required:!1,options:[{title:e("home"),value:"home"},{title:e("search"),value:"search"},{title:e("artists"),value:"artists"},{title:e("albums"),value:"albums"},{title:e("tracks"),value:"tracks"},{title:e("playlists"),value:"playlists"},{title:e("audiobooks"),value:"audiobooks"},{title:e("podcasts"),value:"podcasts"},{title:e("radios"),value:"radios"},{title:e("browse"),value:"browse"},{title:e("settings.settings"),value:"settings"}],multi_value:!0,category:"generic",value:t},{key:"hide_settings",type:o.BOOLEAN,label:"hide_settings",default_value:!1,required:!1,multi_value:!1,category:"advanced",value:localStorage.getItem("frontend.settings.hide_settings")=="true"},{key:"enable_builtin_player",type:o.BOOLEAN,label:"enable_builtin_player",default_value:!0,required:!0,multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.enable_builtin_player")!="false"}]});const _=async function(a){for(const t in a){const l=`frontend.settings.${t}`,u=a[t];u!=null?localStorage.setItem(l,u.toString()):localStorage.removeItem(l)}y.push({name:"home"}).then(()=>{window.location.reload()})},b=async function(a,t){};return(a,t)=>(g(),I("section",null,[s(R,{color:"transparent"},{title:i(()=>[d(c(f(e)("settings.frontend")),1)]),_:1}),s(V,{style:{"margin-left":"-5px","margin-right":"-5px"}},{default:i(()=>[s(T,null,{default:i(()=>[d(c(f(e)("settings.frontend_desc")),1)]),_:1}),t[1]||(t[1]=p("br",null,null,-1)),t[2]||(t[2]=p("br",null,null,-1)),s(x),r.value?(g(),C(q,{key:0,"config-entries":r.value,disabled:!1,onSubmit:_,onAction:b},null,8,["config-entries"])):E("",!0)]),_:1}),s(N,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=l=>n.value=l),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:i(()=>[s(w,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{J as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as I}from"./Container-
|
|
1
|
+
import{C as I}from"./Container-DgvGZFYh.js";import{Q as v,c as C,a4 as _,be as B,ax as k,ag as S,Z as p,S as i,as as P,B as u,U as d,a9 as w,W as V,ab as $,an as U,a0 as E,am as A,G as b,$ as M,R as g,a2 as N,x as f,o as T,aV as W,b as D,a8 as O,b3 as H,bl as L}from"./index-CER3Y8WH.js";import{W as G}from"./WidgetRow-wBmvyAQA.js";import{a as J}from"./PlayerCard-C4B2LsuS.js";import{V as Y}from"./VToolbar-1wv8OiOl.js";import{a as j,b as x}from"./VBtn-Do0ASNFF.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{T as z}from"./Toolbar-B517OjVQ.js";import"./VContainer-DOjz8n3s.js";/* empty css */import"./PanelviewItemCompact-D50qqljw.js";import"./MediaItemThumb-B7cGzB-g.js";import"./VCheckbox-PODkcQkB.js";import"./VCheckboxBtn-3gFb0eok.js";import"./VAlert-_iyaxWIb.js";import"./Button-Bve60ot1.js";import"./VSlider-S5KSn-8o.js";const F={class:"mr-3"},Q={key:0},Z=v({__name:"PlayersWidgetRow",props:{settings:{},editMode:{type:Boolean}},emits:["update:settings"],setup(y,{emit:r}){const n=C(()=>Object.values(_.players).filter(e=>B(e)).sort((e,o)=>{var t;return e.display_name.toUpperCase()>((t=o.display_name)==null?void 0:t.toUpperCase())?1:-1}).sort((e,o)=>s(e)-s(o))),m=r;function c(e){N.activePlayerId=e.player_id}function s(e){return e.state==k.PLAYING?0:e.state==k.PAUSED?1:e.current_media&&e.powered?3:e.current_media?4:99}return(e,o)=>{const t=S("swiper-slide"),a=S("swiper");return i(),p("div",{class:P(`widget-row ${e.settings&&!e.settings.enabled?"disabled":""}`)},[u(Y,{class:"header",color:"transparent"},{prepend:d(()=>[u(U,{icon:"mdi-speaker"})]),title:d(()=>[V("span",F,$(e.$t("players")),1)]),append:d(()=>[e.editMode?(i(),p("div",Q,[u(j,{icon:e.settings.enabled?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",onClick:o[0]||(o[0]=l=>m("update:settings",{...e.settings,enabled:!e.settings.enabled}))},null,8,["icon"])])):w("",!0)]),_:1}),u(a,{"slides-per-view":e.$vuetify.display.width/340,"space-between":15,"free-mode":!1,navigation:!E(A)({breakpoint:"mobile"}),mousewheel:{forceToAxis:!0,releaseOnEdges:!0}},{default:d(()=>[(i(!0),p(b,null,M(n.value,l=>(i(),g(t,{key:l.player_id},{default:d(()=>[(i(),g(J,{id:l.player_id,key:l.player_id,player:l,"show-volume-control":!1,"show-menu-button":!1,"show-sub-players":!1,"show-sync-controls":!1,style:{width:"305px",height:"70px"},onClick:h=>c(l)},null,8,["id","player","onClick"]))]),_:2},1024))),128))]),_:1},8,["slides-per-view","navigation"])],2)}}}),q=R(Z,[["__scopeId","data-v-167556df"]]),K=v({__name:"HomeWidgetRows",props:{editMode:{type:Boolean,default:!1}},setup(y){const r=f([]),n=f({}),m=async function(){const s=localStorage.getItem("widgetRowSettings");n.value=s?JSON.parse(s):{players:{position:0,enabled:!0}};const e=await _.getRecommendations(),o=[];let t=0;for(const a of e){t++;const l=n.value[a.uri]||{position:t,enabled:!0},h=a.translation_key?O(`recommendations.${a.translation_key}`,a.name):a.name;o.push({...a,settings:l,title:h}),r.value=o}};T(()=>{m();const s=_.subscribe(W.MEDIA_ITEM_PLAYED,async e=>{e.data&&!e.data.is_playing&&m()});D(s)});const c=function(s,e){for(const o of r.value)if(o.uri===s){o.settings=e;break}n.value[s]=e,localStorage.setItem("widgetRowSettings",JSON.stringify(n.value))};return(s,e)=>{var o;return i(),p(b,null,[(o=n.value.players)!=null&&o.enabled||s.editMode?(i(),g(q,{key:0,settings:n.value.players,"edit-mode":s.editMode,"onUpdate:settings":e[0]||(e[0]=t=>c("players",t))},null,8,["settings","edit-mode"])):w("",!0),(i(!0),p(b,null,M(r.value.filter(t=>t.items.length&&(t.settings.enabled||s.editMode)).sort((t,a)=>t.settings.position-a.settings.position),t=>(i(),p("div",{key:t.uri},[r.value.length?(i(),g(G,{key:0,"widget-row":t,"edit-mode":s.editMode,"onUpdate:settings":a=>c(t.uri,a)},null,8,["widget-row","edit-mode","onUpdate:settings"])):w("",!0)]))),128))],64)}}}),X=v({__name:"HomeView",setup(y){const r=f(localStorage.getItem("frontend.settings.hide_settings")=="true"),n=f(!1),m=C(()=>[{label:"settings.settings",icon:"mdi-cog-outline",action:()=>{H.push({path:"settings"})},hide:r.value},{label:n.value?"homescreen_edit_disable":"homescreen_edit_enable",icon:"mdi-pencil",action:()=>{n.value=!n.value}}]);return(c,s)=>(i(),p("div",null,[u(z,{title:"Music Assistant","show-loading":!0,"enforce-overflow-menu":!0,"menu-items":m.value},null,8,["menu-items"]),u(I,{variant:"panel"},{default:d(()=>[(i(),g(L,null,{fallback:d(()=>[u(x,{indeterminate:""})]),default:d(()=>[V("div",null,[u(K,{"edit-mode":n.value},null,8,["edit-mode"])])]),_:1}))]),_:1})]))}}),we=R(X,[["__scopeId","data-v-56b2bcc6"]]);export{we as default};
|