music-assistant-frontend 2.11.0__py3-none-any.whl → 2.11.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of music-assistant-frontend might be problematic. Click here for more details.

Files changed (81) hide show
  1. music_assistant_frontend/assets/{AddManualLink.vue_vue_type_script_setup_true_lang-BujK_7Tz.js → AddManualLink.vue_vue_type_script_setup_true_lang-C3VFJtns.js} +1 -1
  2. music_assistant_frontend/assets/{AddPlayerGroup-Dm1h8ZL6.js → AddPlayerGroup-uu-2Fa2_.js} +1 -1
  3. music_assistant_frontend/assets/{AddProvider-DF61R1ly.js → AddProvider-eEKvhw4m.js} +1 -1
  4. music_assistant_frontend/assets/{AlbumDetails-DxQC2J0a.js → AlbumDetails-BZ_vluCv.js} +1 -1
  5. music_assistant_frontend/assets/{ArtistDetails-C8_SPT6W.js → ArtistDetails-Cg78n7h1.js} +1 -1
  6. music_assistant_frontend/assets/AudiobookDetails-B6JWE25x.js +1 -0
  7. music_assistant_frontend/assets/BrowseView-XCldIDRp.js +1 -0
  8. music_assistant_frontend/assets/{Container-DWavih6c.js → Container-CzaMJHFj.js} +1 -1
  9. music_assistant_frontend/assets/{CoreConfigs-BmcdRCx1.js → CoreConfigs-CNuSeckJ.js} +1 -1
  10. music_assistant_frontend/assets/Default-5HNW2Jai.js +7 -0
  11. music_assistant_frontend/assets/{Default-3CQy4cTM.css → Default-BtkqFH3L.css} +1 -1
  12. music_assistant_frontend/assets/{EditConfig-GlgW_AZF.js → EditConfig-CbobmEm2.js} +1 -1
  13. music_assistant_frontend/assets/{EditCoreConfig-pSltejxl.js → EditCoreConfig-BdE9tmFn.js} +1 -1
  14. music_assistant_frontend/assets/{EditPlayer-BgDqCqe0.js → EditPlayer-DcSS1_5c.js} +1 -1
  15. music_assistant_frontend/assets/{EditPlayerDsp-DwIqFU4Q.js → EditPlayerDsp-BrA2yQ_R.js} +3 -3
  16. music_assistant_frontend/assets/{EditProvider-CiSF6_gQ.js → EditProvider-D8_JhIxp.js} +1 -1
  17. music_assistant_frontend/assets/{FrontendConfig-jGCCmr56.js → FrontendConfig-CERR2V_m.js} +1 -1
  18. music_assistant_frontend/assets/{HomeView-YdvbSV14.js → HomeView-D2go-S1m.js} +1 -1
  19. music_assistant_frontend/assets/{HomeWidgetRow-CCYIPnQ5.js → HomeWidgetRow-DyKua1FJ.js} +1 -1
  20. music_assistant_frontend/assets/{ItemContextMenu.vue_vue_type_style_index_0_scoped_3a9a25e3_lang-C3noc3qK.js → ItemContextMenu.vue_vue_type_style_index_0_scoped_3a9a25e3_lang-CIVcfVNt.js} +1 -1
  21. music_assistant_frontend/assets/{ItemsListing-BxIggw9V.js → ItemsListing-SrM633Zb.js} +1 -1
  22. music_assistant_frontend/assets/{LibraryAlbums-Cs4yHqGE.js → LibraryAlbums-DIeNkn3e.js} +1 -1
  23. music_assistant_frontend/assets/{LibraryArtists-DqFO2Ajw.js → LibraryArtists-Du4cHwWR.js} +1 -1
  24. music_assistant_frontend/assets/{LibraryAudiobooks-Bghc_Ltm.js → LibraryAudiobooks-eJusyyp8.js} +1 -1
  25. music_assistant_frontend/assets/{LibraryPlaylists-Bcq7y5B-.js → LibraryPlaylists-B7Z19WqT.js} +1 -1
  26. music_assistant_frontend/assets/{LibraryPodcasts-Bz3eyoK1.js → LibraryPodcasts-g42zIKkn.js} +1 -1
  27. music_assistant_frontend/assets/{LibraryRadios-DGggMfxG.js → LibraryRadios-B6kcD3tk.js} +1 -1
  28. music_assistant_frontend/assets/{LibraryTracks-BjmJ-AR3.js → LibraryTracks-DgXgCFxo.js} +1 -1
  29. music_assistant_frontend/assets/{ListItem-CqruFv9t.js → ListItem-DgDbw47e.js} +1 -1
  30. music_assistant_frontend/assets/MediaItemImages-CQR5Ctb8.js +1 -0
  31. music_assistant_frontend/assets/{PanelviewItemCompact-CceVDOrI.js → PanelviewItemCompact-CdGmHuPo.js} +1 -1
  32. music_assistant_frontend/assets/Players-DXOLIg9L.js +1 -0
  33. music_assistant_frontend/assets/PlaylistDetails-DkzBCsdu.js +1 -0
  34. music_assistant_frontend/assets/{PodcastDetails-BeD6yFuh.js → PodcastDetails-C_1M1LlI.js} +1 -1
  35. music_assistant_frontend/assets/{ProviderDetails.vue_vue_type_script_setup_true_lang-g1x4dXOC.js → ProviderDetails.vue_vue_type_script_setup_true_lang-OXy0lG-f.js} +2 -2
  36. music_assistant_frontend/assets/{ProviderIcon.vue_vue_type_style_index_0_lang-CxRRSRNY.js → ProviderIcon.vue_vue_type_style_index_0_lang-DCVBDHCR.js} +1 -1
  37. music_assistant_frontend/assets/{Providers-DvVDyS5-.js → Providers-DeX1eoyQ.js} +1 -1
  38. music_assistant_frontend/assets/RadioDetails-BJ0ErtC5.js +1 -0
  39. music_assistant_frontend/assets/{Search-D80Xwwf7.js → Search-6vn3KR5x.js} +1 -1
  40. music_assistant_frontend/assets/{Settings-CMOFV6IC.js → Settings-BhKhiFDt.js} +1 -1
  41. music_assistant_frontend/assets/{Toolbar-XsObLWPI.js → Toolbar-DE7xAoi9.js} +1 -1
  42. music_assistant_frontend/assets/{TrackDetails-axxliF6o.js → TrackDetails-CIpQ-u02.js} +1 -1
  43. music_assistant_frontend/assets/{VAlert-BKHMgC3s.js → VAlert-CcnHiMQr.js} +1 -1
  44. music_assistant_frontend/assets/{VCard-DDEjK8sh.js → VCard-DaTV885y.js} +1 -1
  45. music_assistant_frontend/assets/{VCardText-CXkKR7ML.js → VCardText-DV3N2e-3.js} +1 -1
  46. music_assistant_frontend/assets/{VCheckbox-DXoKCkvo.js → VCheckbox-DB8Mf-0e.js} +1 -1
  47. music_assistant_frontend/assets/{VCheckboxBtn-B2R62I44.js → VCheckboxBtn-GM1QeixE.js} +1 -1
  48. music_assistant_frontend/assets/{VChip-BKGA7XXZ.js → VChip-3PA_sq0L.js} +1 -1
  49. music_assistant_frontend/assets/{VContainer-C3X0IHcx.js → VContainer-CFZeQyHT.js} +1 -1
  50. music_assistant_frontend/assets/{VDialog-CHkPjb9d.js → VDialog-BQ5W8yPe.js} +1 -1
  51. music_assistant_frontend/assets/{VExpansionPanels-CRDFiEUd.js → VExpansionPanels-AMVAOgwF.js} +1 -1
  52. music_assistant_frontend/assets/{VForm-3D0lQdNE.js → VForm-q4g_dXT3.js} +1 -1
  53. music_assistant_frontend/assets/{VInfiniteScroll-DgELJAW0.js → VInfiniteScroll-4ozHzZOU.js} +1 -1
  54. music_assistant_frontend/assets/{VList-BFxH2oe3.js → VList-Dq2hFeo-.js} +1 -1
  55. music_assistant_frontend/assets/{VListItem-XlHdRn90.js → VListItem-BgwpeMXY.js} +1 -1
  56. music_assistant_frontend/assets/{VMenu-BxZEtUbH.js → VMenu-Bm7-wo-8.js} +1 -1
  57. music_assistant_frontend/assets/{VRow-PHUs5bQJ.js → VRow-DOb23SwQ.js} +1 -1
  58. music_assistant_frontend/assets/{VSlider-D6_NZN0T.js → VSlider-C-mU62Ej.js} +1 -1
  59. music_assistant_frontend/assets/VSpacer-Cw6OWjUU.js +1 -0
  60. music_assistant_frontend/assets/{VSwitch-BjWr2FW1.js → VSwitch-D9Kdeykp.js} +1 -1
  61. music_assistant_frontend/assets/{VTextField-CNfw_aKz.js → VTextField-CAVAhBK-.js} +1 -1
  62. music_assistant_frontend/assets/{VToolbar-Bi9Fkevh.js → VToolbar-CjHms_z-.js} +1 -1
  63. music_assistant_frontend/assets/{VVirtualScroll-DezxvIhI.js → VVirtualScroll-Di-Iytdq.js} +1 -1
  64. music_assistant_frontend/assets/{index-Dvn4b3kE.js → index-m8nKq5sO.js} +3 -3
  65. music_assistant_frontend/assets/{layout-BesXh2w9.js → layout-CKQl_2vD.js} +1 -1
  66. music_assistant_frontend/assets/{marquee_text_sync-BDoUCDrB.js → marquee_text_sync-DCQdTOa4.js} +1 -1
  67. music_assistant_frontend/index.html +1 -1
  68. music_assistant_frontend/sw.js +1 -1
  69. {music_assistant_frontend-2.11.0.dist-info → music_assistant_frontend-2.11.1.dist-info}/METADATA +1 -1
  70. {music_assistant_frontend-2.11.0.dist-info → music_assistant_frontend-2.11.1.dist-info}/RECORD +73 -73
  71. music_assistant_frontend/assets/AudiobookDetails-DLbZ77eo.js +0 -1
  72. music_assistant_frontend/assets/BrowseView-C2TucWz_.js +0 -1
  73. music_assistant_frontend/assets/Default-A70BKtXP.js +0 -7
  74. music_assistant_frontend/assets/MediaItemImages-Oh2zOTx0.js +0 -1
  75. music_assistant_frontend/assets/Players-CrOAHg5r.js +0 -1
  76. music_assistant_frontend/assets/PlaylistDetails-B95cK3zv.js +0 -1
  77. music_assistant_frontend/assets/RadioDetails-DrmOFPof.js +0 -1
  78. music_assistant_frontend/assets/VSpacer-BpjLI35r.js +0 -1
  79. {music_assistant_frontend-2.11.0.dist-info → music_assistant_frontend-2.11.1.dist-info}/LICENSE +0 -0
  80. {music_assistant_frontend-2.11.0.dist-info → music_assistant_frontend-2.11.1.dist-info}/WHEEL +0 -0
  81. {music_assistant_frontend-2.11.0.dist-info → music_assistant_frontend-2.11.1.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- import{p as ye,s as _,c as U,G as i,d as Be,b2 as pe,b3 as Ke,a6 as je,g as Ge,a8 as He,r as N,k as he,w as ie,v as Ce,b4 as ze,n,F as le,q as te,b5 as We,S as X,b6 as Je,b7 as xe,b8 as Qe,x as Xe,aA as Ye,aW as E,b9 as be,y as C,D as W,z as O,A as y,E as Ee,B as T,J as G,$ as k,K as de,aB as Ze}from"./index-Dvn4b3kE.js";import{V as _e,a as el,b as ll,c as al}from"./VExpansionPanels-CRDFiEUd.js";import{b as tl,t as ne,a as ul,V as il}from"./VList-BFxH2oe3.js";import{c as nl,b as sl,d as ol}from"./VCheckboxBtn-B2R62I44.js";import{V as we}from"./VAlert-BKHMgC3s.js";import{P as rl,y as dl,i as vl,k as Se,G as cl,w as Ie,j as ml,v as ue}from"./VListItem-XlHdRn90.js";import{m as fl,u as bl,V as pl,a as gl}from"./VSwitch-BjWr2FW1.js";import{V as kl}from"./VSlider-D6_NZN0T.js";import{m as Vl,V as ee}from"./VTextField-CNfw_aKz.js";import{V as hl,f as Cl}from"./VMenu-BxZEtUbH.js";import{V as xl}from"./VVirtualScroll-DezxvIhI.js";import{b as El}from"./VChip-BKGA7XXZ.js";import{V as wl}from"./VForm-3D0lQdNE.js";import{V as Sl,a as Il}from"./VCard-DDEjK8sh.js";import{b as Fe}from"./VCardText-CXkKR7ML.js";import{V as Fl}from"./VSpacer-BpjLI35r.js";import{V as yl}from"./VDialog-CHkPjb9d.js";import{_ as Tl}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Al=(l,V,o)=>l==null||V==null?-1:l.toString().toLocaleLowerCase().indexOf(V.toString().toLocaleLowerCase()),Rl=ye({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function $l(l,V,o){var A;const r=[],S=(o==null?void 0:o.default)??Al,I=o!=null&&o.filterKeys?pe(o.filterKeys):!1,F=Object.keys((o==null?void 0:o.customKeyFilter)??{}).length;if(!(l!=null&&l.length))return r;e:for(let w=0;w<l.length;w++){const[h,B=h]=pe(l[w]),L={},b={};let d=-1;if((V||F>0)&&!(o!=null&&o.noFilter)){if(typeof h=="object"){const J=I||Object.keys(B);for(const M of J){const K=Ke(B,M),R=(A=o==null?void 0:o.customKeyFilter)==null?void 0:A[M];if(d=R?R(K,V,h):S(K,V,h),d!==-1&&d!==!1)R?L[M]=d:b[M]=d;else if((o==null?void 0:o.filterMode)==="every")continue e}}else d=S(h,V,h),d!==-1&&d!==!1&&(b.title=d);const q=Object.keys(b).length,H=Object.keys(L).length;if(!q&&!H||(o==null?void 0:o.filterMode)==="union"&&H!==F&&!q||(o==null?void 0:o.filterMode)==="intersection"&&(H!==F||!q))continue}r.push({index:w,matches:{...b,...L}})}return r}function Ul(l,V,o,r){const S=_([]),I=_(new Map),F=U(()=>i(V));Be(()=>{const w=typeof o=="function"?o():i(o),h=typeof w!="string"&&typeof w!="number"?"":String(w),B=$l(F.value,h,{customKeyFilter:{...l.customKeyFilter,...i(r==null?void 0:r.customKeyFilter)},default:l.customFilter,filterKeys:l.filterKeys,filterMode:l.filterMode,noFilter:l.noFilter}),L=i(V),b=[],d=new Map;B.forEach(q=>{let{index:H,matches:J}=q;const M=L[H];b.push(M),d.set(M.value,J)}),S.value=b,I.value=d});function A(w){return I.value.get(w.value)}return{filteredItems:S,filteredMatches:I,getMatches:A}}function Ll(l,V,o){if(V==null)return l;if(Array.isArray(V))throw new Error("Multiple matches is not implemented");return typeof V=="number"&&~V?n(le,null,[n("span",{class:"v-combobox__unmask"},[l.substr(0,V)]),n("span",{class:"v-combobox__mask"},[l.substr(V,o)]),n("span",{class:"v-combobox__unmask"},[l.substr(V+o)])]):l}const Dl=ye({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Rl({filterKeys:["title"]}),...fl({hideNoData:!0,returnObject:!0}),...je(Vl({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...rl({transition:!1})},"VCombobox"),Ml=Ge()({name:"VCombobox",props:Dl(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,V){var ge;let{emit:o,slots:r}=V;const{t:S}=He(),I=N(),F=_(!1),A=_(!0),w=_(!1),h=N(),B=N(),L=he(l,"menu"),b=U({get:()=>L.value,set:t=>{var c;L.value&&!t&&((c=h.value)!=null&&c.ΨopenChildren.size)||(L.value=t)}}),d=_(-1);let q=!1;const H=U(()=>{var t;return(t=I.value)==null?void 0:t.color}),J=U(()=>b.value?l.closeText:l.openText),{items:M,transformIn:K,transformOut:R}=tl(l),{textColorClasses:se,textColorStyles:ve}=dl(H),f=he(l,"modelValue",[],t=>K(pe(t)),t=>{const c=R(t);return l.multiple?c:c[0]??null}),u=nl(l),a=U(()=>!!(l.chips||r.chip)),v=U(()=>a.value||!!r.selection),e=_(!l.multiple&&!v.value?((ge=f.value[0])==null?void 0:ge.title)??"":""),p=U({get:()=>e.value,set:t=>{var c;if(e.value=t??"",!l.multiple&&!v.value&&(f.value=[ne(l,t)]),t&&l.multiple&&((c=l.delimiters)!=null&&c.length)){const x=t.split(new RegExp(`(?:${l.delimiters.join("|")})+`));x.length>1&&(x.forEach(m=>{m=m.trim(),m&&j(ne(l,m))}),e.value="")}t||(d.value=-1),A.value=!t}}),z=U(()=>typeof l.counterValue=="function"?l.counterValue(f.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?f.value.length:p.value.length);ie(e,t=>{q?Ce(()=>q=!1):F.value&&!b.value&&(b.value=!0),o("update:search",t)}),ie(f,t=>{var c;!l.multiple&&!v.value&&(e.value=((c=t[0])==null?void 0:c.title)??"")});const{filteredItems:Y,getMatches:s}=Ul(l,M,()=>A.value?"":p.value),Q=U(()=>l.hideSelected?Y.value.filter(t=>!f.value.some(c=>c.value===t.value)):Y.value),Te=U(()=>f.value.map(t=>t.value)),ce=U(()=>{var c;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&p.value===((c=Q.value[0])==null?void 0:c.title))&&Q.value.length>0&&!A.value&&!w.value}),me=U(()=>l.hideNoData&&!Q.value.length||u.isReadonly.value||u.isDisabled.value),fe=N(),Ae=bl(fe,I);function Re(t){q=!0,l.openOnClear&&(b.value=!0)}function $e(){me.value||(b.value=!0)}function Ue(t){me.value||(F.value&&(t.preventDefault(),t.stopPropagation()),b.value=!b.value)}function Le(t){var c;t.key!==" "&&xe(t)&&((c=I.value)==null||c.focus())}function De(t){var m;if(Qe(t)||u.isReadonly.value)return;const c=I.value.selectionStart,x=f.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"].includes(t.key)&&(b.value=!0),["Escape"].includes(t.key)&&(b.value=!1),["Enter","Escape","Tab"].includes(t.key)&&(ce.value&&["Enter","Tab"].includes(t.key)&&!f.value.some(g=>{let{value:P}=g;return P===Q.value[0].value})&&j(Y.value[0]),A.value=!0),t.key==="ArrowDown"&&ce.value&&((m=fe.value)==null||m.focus("next")),t.key==="Enter"&&p.value&&(j(ne(l,p.value)),v.value&&(e.value="")),["Backspace","Delete"].includes(t.key)){if(!l.multiple&&v.value&&f.value.length>0&&!p.value)return j(f.value[0],!1);if(~d.value){t.preventDefault();const g=d.value;j(f.value[d.value],!1),d.value=g>=x-1?x-2:g}else t.key==="Backspace"&&!p.value&&(d.value=x-1);return}if(l.multiple)if(t.key==="ArrowLeft"){if(d.value<0&&c>0)return;const g=d.value>-1?d.value-1:x-1;f.value[g]?d.value=g:(d.value=-1,I.value.setSelectionRange(p.value.length,p.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&&xe(t)&&(d.value=-1)}function Me(){var t;l.eager&&((t=B.value)==null||t.calculateVisibleItems())}function Pe(){var t;F.value&&(A.value=!0,(t=I.value)==null||t.focus())}function j(t){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!t||t.props.disabled))if(l.multiple){const x=f.value.findIndex(g=>l.valueComparator(g.value,t.value)),m=c??!~x;if(~x){const g=m?[...f.value,t]:[...f.value];g.splice(x,1),f.value=g}else m&&(f.value=[...f.value,t]);l.clearOnSelect&&(p.value="")}else{const x=c!==!1;f.value=x?[t]:[],e.value=x&&!v.value?t.title:"",Ce(()=>{b.value=!1,A.value=!0})}}function Oe(t){F.value=!0,setTimeout(()=>{w.value=!0})}function qe(t){w.value=!1}function Ne(t){(t==null||t===""&&!l.multiple&&!v.value)&&(f.value=[])}return ie(F,(t,c)=>{if(!(t||t===c)&&(d.value=-1,b.value=!1,p.value)){if(l.multiple){j(ne(l,p.value));return}if(!v.value)return;f.value.some(x=>{let{title:m}=x;return m===p.value})?e.value="":j(ne(l,p.value))}}),ie(b,()=>{if(!l.hideSelected&&b.value&&f.value.length){const t=Q.value.findIndex(c=>f.value.some(x=>l.valueComparator(x.value,c.value)));ze&&window.requestAnimationFrame(()=>{var c;t>=0&&((c=B.value)==null||c.scrollToIndex(t))})}}),ie(()=>l.items,(t,c)=>{b.value||F.value&&!c.length&&t.length&&(b.value=!0)}),vl(()=>{const t=!!(!l.hideNoData||Q.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),c=f.value.length>0,x=ee.filterProps(l);return n(ee,te({ref:I},x,{modelValue:p.value,"onUpdate:modelValue":[m=>p.value=m,Ne],focused:F.value,"onUpdate:focused":m=>F.value=m,validationValue:f.externalValue,counterValue:z.value,dirty:c,class:["v-combobox",{"v-combobox--active-menu":b.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!v.value,"v-combobox--selecting-index":d.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:u.isReadonly.value,placeholder:c?void 0:l.placeholder,"onClick:clear":Re,"onMousedown:control":$e,onKeydown:De}),{...r,default:()=>n(le,null,[n(hl,te({ref:h,modelValue:b.value,"onUpdate:modelValue":m=>b.value=m,activator:"parent",contentClass:"v-combobox__content",disabled:me.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:l.transition,onAfterEnter:Me,onAfterLeave:Pe},l.menuProps),{default:()=>[t&&n(ul,te({ref:fe,selected:Te.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:m=>m.preventDefault(),onKeydown:Le,onFocusin:Oe,onFocusout:qe,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},Ae,l.listProps),{default:()=>{var m,g,P;return[(m=r["prepend-item"])==null?void 0:m.call(r),!Q.value.length&&!l.hideNoData&&(((g=r["no-data"])==null?void 0:g.call(r))??n(Se,{key:"no-data",title:S(l.noDataText)},null)),n(xl,{ref:B,renderless:!0,items:Q.value},{default:Z=>{var Ve;let{item:$,index:ae,itemRef:D}=Z;const ke=te($.props,{ref:D,key:$.value,active:ce.value&&ae===0?!0:void 0,onClick:()=>j($,null)});return((Ve=r.item)==null?void 0:Ve.call(r,{item:$,index:ae,props:ke}))??n(Se,te(ke,{role:"option"}),{prepend:oe=>{let{isSelected:re}=oe;return n(le,null,[l.multiple&&!l.hideSelected?n(sl,{key:$.value,modelValue:re,ripple:!1,tabindex:"-1"},null):void 0,$.props.prependAvatar&&n(cl,{image:$.props.prependAvatar},null),$.props.prependIcon&&n(Ie,{icon:$.props.prependIcon},null)])},title:()=>{var oe,re;return A.value?$.title:Ll($.title,(oe=s($))==null?void 0:oe.title,((re=p.value)==null?void 0:re.length)??0)}})}}),(P=r["append-item"])==null?void 0:P.call(r)]}})]}),f.value.map((m,g)=>{function P(D){D.stopPropagation(),D.preventDefault(),j(m,!1)}const Z={"onClick:close":P,onKeydown(D){D.key!=="Enter"&&D.key!==" "||(D.preventDefault(),D.stopPropagation(),P(D))},onMousedown(D){D.preventDefault(),D.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},$=a.value?!!r.chip:!!r.selection,ae=$?We(a.value?r.chip({item:m,index:g,props:Z}):r.selection({item:m,index:g})):void 0;if(!($&&!ae))return n("div",{key:m.value,class:["v-combobox__selection",g===d.value&&["v-combobox__selection--selected",se.value]],style:g===d.value?ve.value:{}},[a.value?r.chip?n(ml,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:m.title}}},{default:()=>[ae]}):n(El,te({key:"chip",closable:l.closableChips,size:"small",text:m.title,disabled:m.props.disabled},Z),null):ae??n("span",{class:"v-combobox__selection-text"},[m.title,l.multiple&&g<f.value.length-1&&n("span",{class:"v-combobox__selection-comma"},[X(",")])])])})]),"append-inner":function(){var Z;for(var m=arguments.length,g=new Array(m),P=0;P<m;P++)g[P]=arguments[P];return n(le,null,[(Z=r["append-inner"])==null?void 0:Z.call(r,...g),(!l.hideNoData||l.items.length)&&l.menuIcon?n(Ie,{class:"v-combobox__menu-icon",icon:l.menuIcon,onMousedown:Ue,onClick:Je,"aria-label":S(J.value),title:S(J.value),tabindex:"-1"},null):void 0])}})}),Cl({isFocused:F,isPristine:A,menu:b,search:p,selectionIndex:d,filteredItems:Y,select:j},I)}}),Pl={class:"configcolumnleft"},Ol={key:0},ql={key:1},Nl={key:2},Bl={key:3},Kl={key:0,class:"configcolumnright"},jl=Xe({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean}},emits:["submit","action"],setup(l,{emit:V}){const o=Ye(),r=V,S=N(),I=N(!1),F=N(),A=N("generic"),w=N(!1),h=N(),B=N({}),L=l,b=U(()=>{const u=S.value.map(a=>a.category);return u.filter(a=>a=="generic").length?new Set(["generic",...u]):new Set(u)}),d=U(()=>{if(S.value){for(const u of S.value)if(u.required&&!(!K(u.value)||!K(u.default_value)||u.type==E.DIVIDER||u.type==E.LABEL||u.type==E.ALERT||u.type==E.ACTION))return!1;return!0}return!1});U(()=>{const u={};for(const a of L.configEntries)a.value!=null&&(a.type==E.SECURE_STRING&&a.value==be||(u[a.key]=a.value));return u}),ie(()=>L.configEntries,u=>{S.value=[];for(const a of u||[])a.value!==void 0&&a.value!==null&&(B.value[a.key]=a.value),(a.value==null||a.value==null)&&(a.value=a.default_value),S.value.push(a)},{immediate:!0});const q=async function(){const{valid:u}=await F.value.validate();return u},H=async function(){await q()&&r("submit",se())},J=async function(u){r("action",u,se())},M=function(u){const a=document.createElement("a");a.setAttribute("href",u),a.setAttribute("target","_blank"),a.click()},K=function(u){return u==null},R=function(u){var a;if(!K(u.depends_on)){const v=(a=S.value)==null?void 0:a.find(e=>e.key==u.depends_on);if(!K(u.depends_on_value)&&v&&v.value!=u.depends_on_value||v&&v.required&&K(v)||v&&v.type==E.BOOLEAN&&!v.value)return!0}return!1},se=function(){const u={};for(const a of L.configEntries)a.value==null&&(a.value=null),!(a.type==E.SECURE_STRING&&a.value==be)&&(u[a.key]=a.value);return u},ve=function(u){if(!u.options)return[];const a=[];for(const v of u.options){const e={title:k(`settings.${u.key}.options.${v.value}`,v.title),value:v.value};e.value==u.default_value&&(e.title+=` [${k("settings.default")}]`),a.push(e)}return a},f=function(u){var a;return((a=k(`settings.${u==null?void 0:u.key}.description`,u.description||" ")||u.help_link||" ")==null?void 0:a.length)>1};return(u,a)=>(C(),W(le,null,[S.value?(C(),O(wl,{key:0,ref_key:"form",ref:F,modelValue:I.value,"onUpdate:modelValue":a[2]||(a[2]=v=>I.value=v),disabled:u.disabled},{default:y(()=>[n(al,{modelValue:A.value,"onUpdate:modelValue":a[1]||(a[1]=v=>A.value=v),variant:"accordion",multiple:"",flat:""},{default:y(()=>[(C(!0),W(le,null,Ee(b.value,v=>(C(),O(_e,{key:v,value:v,flat:"",accordion:"",class:"configrowpanel"},{default:y(()=>[n(el,null,{default:y(()=>[T("h3",null,G(i(k)("settings.category."+v,v)),1)]),_:2},1024),a[17]||(a[17]=T("br",null,null,-1)),n(ll,null,{default:y(()=>[(C(!0),W(le,null,Ee(S.value.filter(e=>e.category==v&&!e.hidden),e=>{var p,z,Y;return C(),W("div",{key:e.key,class:"configrow"},[T("div",Pl,[e.type==i(E).DIVIDER?(C(),W("div",Ol,[a[7]||(a[7]=T("br",null,null,-1)),n(il),e.label?(C(),O(ol,{key:0,style:{"margin-left":"8px","margin-top":"10px","margin-bottom":"10px"}},{default:y(()=>[T("b",null,G(e.label),1)]),_:2},1024)):de("",!0),a[8]||(a[8]=T("br",null,null,-1)),a[9]||(a[9]=T("br",null,null,-1))])):e.type==i(E).LABEL?(C(),W("div",ql,[a[10]||(a[10]=T("br",null,null,-1)),n(we,{variant:"outlined",type:"info"},{default:y(()=>[X(G(i(k)(`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(E).ALERT?(C(),W("div",Nl,[a[13]||(a[13]=T("br",null,null,-1)),n(we,{density:"compact",type:"warning"},{default:y(()=>[X(G(i(k)(`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(E).ACTION||e.action&&!e.value?(C(),W("div",Bl,[a[16]||(a[16]=T("br",null,null,-1)),n(ue,{class:"actionbutton",disabled:R(e),onClick:s=>{J(e.action||e.key),e.value=e.action?null:e.key}},{default:y(()=>[X(G(i(k)(`settings.${e.action||e.key}.label`,e.action_label||e.label)),1)]),_:2},1032,["disabled","onClick"])])):e.type==i(E).BOOLEAN?(C(),O(pl,{key:4,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,label:i(k)(`settings.${e.key}.label`,e.label),color:"primary",disabled:R(e)},null,8,["modelValue","onUpdate:modelValue","label","disabled"])):(e.type==i(E).INTEGER||e.type==i(E).FLOAT)&&e.range&&e.range.length==2?(C(),O(kl,{key:5,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,class:"align-center",min:e.range[0],max:e.range[1],step:e.type==i(E).FLOAT?.5:1,"hide-details":"",style:{"margin-top":"10px","margin-bottom":"25px"},color:"primary"},{append:y(()=>[n(ee,{modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,"hide-details":"","single-line":"",density:"compact",type:"number",style:{width:"70px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","label","required","min","max","step"])):e.type==i(E).SECURE_STRING?(C(),O(ee,{key:6,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,disabled:R(e),rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],type:w.value?"text":"password","append-inner-icon":w.value?"mdi-eye":typeof e.value=="string"&&e.value.includes(i(be))?"":"mdi-eye-off",variant:"outlined",clearable:"",readonly:!!e.action,"onClick:appendInner":a[0]||(a[0]=s=>w.value=!w.value),"onClick:clear":s=>e.value="#CLEAR#"},null,8,["modelValue","onUpdate:modelValue","label","required","disabled","rules","type","append-inner-icon","readonly","onClick:clear"])):e.options&&e.options.length>0?(C(),O(gl,{key:7,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,chips:e.multi_value,clearable:!0,multiple:e.multi_value,items:ve(e),disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],variant:"outlined","onClick:clear":s=>e.value=null},null,8,["modelValue","onUpdate:modelValue","chips","multiple","items","disabled","label","required","rules","onClick:clear"])):e.type==i(E).INTEGER||e.type==i(E).FLOAT?(C(),O(ee,{key:8,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,placeholder:(p=e.default_value)==null?void 0:p.toString(),disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],variant:"outlined",clearable:!e.required,type:"number","onClick:clear":s=>e.value=null},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","clearable","onClick:clear"])):e.type==i(E).ICON?(C(),O(ee,{key:9,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,placeholder:(z=e.default_value)==null?void 0:z.toString(),clearable:"",disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),"prepend-inner-icon":e.value,variant:"outlined","onClick:clear":s=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","prepend-inner-icon","onClick:clear"])):e.type==i(E).STRING&&e.multi_value?(C(),O(Ml,{key:10,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,multiple:"",chips:"",clearable:!0,disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],variant:"outlined","onClick:clear":s=>e.value=[]},null,8,["modelValue","onUpdate:modelValue","disabled","label","required","rules","onClick:clear"])):(C(),O(ee,{key:11,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,placeholder:(Y=e.default_value)==null?void 0:Y.toString(),clearable:"",disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],variant:"outlined",readonly:!!e.action,"onClick:clear":s=>e.value=null},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","readonly","onClick:clear"]))]),f(e)?(C(),W("div",Kl,[n(ue,{icon:"mdi-help-box",variant:"plain",class:"helpicon",size:"x-large",onClick:s=>i(k)(`settings.${e==null?void 0:e.key}.description`,e.description||"")?h.value=e:M(e.help_link)},null,8,["onClick"])])):de("",!0)])}),128))]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),a[18]||(a[18]=T("br",null,null,-1)),n(ue,{block:"",color:"primary",disabled:!d.value,onClick:H},{default:y(()=>[X(G(i(k)("settings.save")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue","disabled"])):de("",!0),a[19]||(a[19]=T("br",null,null,-1)),n(ue,{block:"",onClick:a[3]||(a[3]=v=>i(o).back())},{default:y(()=>[X(G(i(k)("close")),1)]),_:1}),n(yl,{"model-value":h.value!==void 0,width:"auto","onUpdate:modelValue":a[6]||(a[6]=v=>h.value=void 0)},{default:y(()=>[n(Sl,null,{default:y(()=>{var v,e;return[n(Fe,null,{default:y(()=>{var p,z;return[T("h2",null,G(i(k)(`settings.${(p=h.value)==null?void 0:p.key}.label`,((z=h.value)==null?void 0:z.label)||"")),1)]}),_:1}),n(Fe,{innerHTML:i(Ze)(i(k)(`settings.${(v=h.value)==null?void 0:v.key}.description`,((e=h.value)==null?void 0:e.description)||""))},null,8,["innerHTML"]),n(Il,null,{default:y(()=>{var p;return[(p=h.value)!=null&&p.help_link?(C(),O(ue,{key:0,onClick:a[4]||(a[4]=z=>M(h.value.help_link))},{default:y(()=>[X(G(i(k)("read_more")),1)]),_:1})):de("",!0),n(Fl),n(ue,{color:"primary",onClick:a[5]||(a[5]=z=>h.value=void 0)},{default:y(()=>[X(G(i(k)("close")),1)]),_:1})]}),_:1})]}),_:1})]),_:1},8,["model-value"])],64))}}),oa=Tl(jl,[["__scopeId","data-v-bc619c12"]]);export{oa as E};
1
+ import{p as ye,s as _,c as U,G as i,d as Be,b2 as pe,b3 as Ke,a6 as je,g as Ge,a8 as He,r as N,k as he,w as ie,v as Ce,b4 as ze,n,F as le,q as te,b5 as We,S as X,b6 as Je,b7 as xe,b8 as Qe,x as Xe,aB as Ye,aW as E,b9 as be,y as C,D as W,z as O,A as y,E as Ee,B as T,J as G,$ as k,K as de,aC as Ze}from"./index-m8nKq5sO.js";import{V as _e,a as el,b as ll,c as al}from"./VExpansionPanels-AMVAOgwF.js";import{b as tl,t as ne,a as ul,V as il}from"./VList-Dq2hFeo-.js";import{c as nl,b as sl,d as ol}from"./VCheckboxBtn-GM1QeixE.js";import{V as we}from"./VAlert-CcnHiMQr.js";import{P as rl,y as dl,i as vl,k as Se,G as cl,w as Ie,j as ml,v as ue}from"./VListItem-BgwpeMXY.js";import{m as fl,u as bl,V as pl,a as gl}from"./VSwitch-D9Kdeykp.js";import{V as kl}from"./VSlider-C-mU62Ej.js";import{m as Vl,V as ee}from"./VTextField-CAVAhBK-.js";import{V as hl,f as Cl}from"./VMenu-Bm7-wo-8.js";import{V as xl}from"./VVirtualScroll-Di-Iytdq.js";import{b as El}from"./VChip-3PA_sq0L.js";import{V as wl}from"./VForm-q4g_dXT3.js";import{V as Sl,a as Il}from"./VCard-DaTV885y.js";import{b as Fe}from"./VCardText-DV3N2e-3.js";import{V as Fl}from"./VSpacer-Cw6OWjUU.js";import{V as yl}from"./VDialog-BQ5W8yPe.js";import{_ as Tl}from"./_plugin-vue_export-helper-DlAUqK2U.js";const Al=(l,V,o)=>l==null||V==null?-1:l.toString().toLocaleLowerCase().indexOf(V.toString().toLocaleLowerCase()),Rl=ye({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function $l(l,V,o){var A;const r=[],S=(o==null?void 0:o.default)??Al,I=o!=null&&o.filterKeys?pe(o.filterKeys):!1,F=Object.keys((o==null?void 0:o.customKeyFilter)??{}).length;if(!(l!=null&&l.length))return r;e:for(let w=0;w<l.length;w++){const[h,B=h]=pe(l[w]),L={},b={};let d=-1;if((V||F>0)&&!(o!=null&&o.noFilter)){if(typeof h=="object"){const J=I||Object.keys(B);for(const M of J){const K=Ke(B,M),R=(A=o==null?void 0:o.customKeyFilter)==null?void 0:A[M];if(d=R?R(K,V,h):S(K,V,h),d!==-1&&d!==!1)R?L[M]=d:b[M]=d;else if((o==null?void 0:o.filterMode)==="every")continue e}}else d=S(h,V,h),d!==-1&&d!==!1&&(b.title=d);const q=Object.keys(b).length,H=Object.keys(L).length;if(!q&&!H||(o==null?void 0:o.filterMode)==="union"&&H!==F&&!q||(o==null?void 0:o.filterMode)==="intersection"&&(H!==F||!q))continue}r.push({index:w,matches:{...b,...L}})}return r}function Ul(l,V,o,r){const S=_([]),I=_(new Map),F=U(()=>i(V));Be(()=>{const w=typeof o=="function"?o():i(o),h=typeof w!="string"&&typeof w!="number"?"":String(w),B=$l(F.value,h,{customKeyFilter:{...l.customKeyFilter,...i(r==null?void 0:r.customKeyFilter)},default:l.customFilter,filterKeys:l.filterKeys,filterMode:l.filterMode,noFilter:l.noFilter}),L=i(V),b=[],d=new Map;B.forEach(q=>{let{index:H,matches:J}=q;const M=L[H];b.push(M),d.set(M.value,J)}),S.value=b,I.value=d});function A(w){return I.value.get(w.value)}return{filteredItems:S,filteredMatches:I,getMatches:A}}function Ll(l,V,o){if(V==null)return l;if(Array.isArray(V))throw new Error("Multiple matches is not implemented");return typeof V=="number"&&~V?n(le,null,[n("span",{class:"v-combobox__unmask"},[l.substr(0,V)]),n("span",{class:"v-combobox__mask"},[l.substr(V,o)]),n("span",{class:"v-combobox__unmask"},[l.substr(V+o)])]):l}const Dl=ye({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Rl({filterKeys:["title"]}),...fl({hideNoData:!0,returnObject:!0}),...je(Vl({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...rl({transition:!1})},"VCombobox"),Ml=Ge()({name:"VCombobox",props:Dl(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,V){var ge;let{emit:o,slots:r}=V;const{t:S}=He(),I=N(),F=_(!1),A=_(!0),w=_(!1),h=N(),B=N(),L=he(l,"menu"),b=U({get:()=>L.value,set:t=>{var c;L.value&&!t&&((c=h.value)!=null&&c.ΨopenChildren.size)||(L.value=t)}}),d=_(-1);let q=!1;const H=U(()=>{var t;return(t=I.value)==null?void 0:t.color}),J=U(()=>b.value?l.closeText:l.openText),{items:M,transformIn:K,transformOut:R}=tl(l),{textColorClasses:se,textColorStyles:ve}=dl(H),f=he(l,"modelValue",[],t=>K(pe(t)),t=>{const c=R(t);return l.multiple?c:c[0]??null}),u=nl(l),a=U(()=>!!(l.chips||r.chip)),v=U(()=>a.value||!!r.selection),e=_(!l.multiple&&!v.value?((ge=f.value[0])==null?void 0:ge.title)??"":""),p=U({get:()=>e.value,set:t=>{var c;if(e.value=t??"",!l.multiple&&!v.value&&(f.value=[ne(l,t)]),t&&l.multiple&&((c=l.delimiters)!=null&&c.length)){const x=t.split(new RegExp(`(?:${l.delimiters.join("|")})+`));x.length>1&&(x.forEach(m=>{m=m.trim(),m&&j(ne(l,m))}),e.value="")}t||(d.value=-1),A.value=!t}}),z=U(()=>typeof l.counterValue=="function"?l.counterValue(f.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?f.value.length:p.value.length);ie(e,t=>{q?Ce(()=>q=!1):F.value&&!b.value&&(b.value=!0),o("update:search",t)}),ie(f,t=>{var c;!l.multiple&&!v.value&&(e.value=((c=t[0])==null?void 0:c.title)??"")});const{filteredItems:Y,getMatches:s}=Ul(l,M,()=>A.value?"":p.value),Q=U(()=>l.hideSelected?Y.value.filter(t=>!f.value.some(c=>c.value===t.value)):Y.value),Te=U(()=>f.value.map(t=>t.value)),ce=U(()=>{var c;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&p.value===((c=Q.value[0])==null?void 0:c.title))&&Q.value.length>0&&!A.value&&!w.value}),me=U(()=>l.hideNoData&&!Q.value.length||u.isReadonly.value||u.isDisabled.value),fe=N(),Ae=bl(fe,I);function Re(t){q=!0,l.openOnClear&&(b.value=!0)}function $e(){me.value||(b.value=!0)}function Ue(t){me.value||(F.value&&(t.preventDefault(),t.stopPropagation()),b.value=!b.value)}function Le(t){var c;t.key!==" "&&xe(t)&&((c=I.value)==null||c.focus())}function De(t){var m;if(Qe(t)||u.isReadonly.value)return;const c=I.value.selectionStart,x=f.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"].includes(t.key)&&(b.value=!0),["Escape"].includes(t.key)&&(b.value=!1),["Enter","Escape","Tab"].includes(t.key)&&(ce.value&&["Enter","Tab"].includes(t.key)&&!f.value.some(g=>{let{value:P}=g;return P===Q.value[0].value})&&j(Y.value[0]),A.value=!0),t.key==="ArrowDown"&&ce.value&&((m=fe.value)==null||m.focus("next")),t.key==="Enter"&&p.value&&(j(ne(l,p.value)),v.value&&(e.value="")),["Backspace","Delete"].includes(t.key)){if(!l.multiple&&v.value&&f.value.length>0&&!p.value)return j(f.value[0],!1);if(~d.value){t.preventDefault();const g=d.value;j(f.value[d.value],!1),d.value=g>=x-1?x-2:g}else t.key==="Backspace"&&!p.value&&(d.value=x-1);return}if(l.multiple)if(t.key==="ArrowLeft"){if(d.value<0&&c>0)return;const g=d.value>-1?d.value-1:x-1;f.value[g]?d.value=g:(d.value=-1,I.value.setSelectionRange(p.value.length,p.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&&xe(t)&&(d.value=-1)}function Me(){var t;l.eager&&((t=B.value)==null||t.calculateVisibleItems())}function Pe(){var t;F.value&&(A.value=!0,(t=I.value)==null||t.focus())}function j(t){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!t||t.props.disabled))if(l.multiple){const x=f.value.findIndex(g=>l.valueComparator(g.value,t.value)),m=c??!~x;if(~x){const g=m?[...f.value,t]:[...f.value];g.splice(x,1),f.value=g}else m&&(f.value=[...f.value,t]);l.clearOnSelect&&(p.value="")}else{const x=c!==!1;f.value=x?[t]:[],e.value=x&&!v.value?t.title:"",Ce(()=>{b.value=!1,A.value=!0})}}function Oe(t){F.value=!0,setTimeout(()=>{w.value=!0})}function qe(t){w.value=!1}function Ne(t){(t==null||t===""&&!l.multiple&&!v.value)&&(f.value=[])}return ie(F,(t,c)=>{if(!(t||t===c)&&(d.value=-1,b.value=!1,p.value)){if(l.multiple){j(ne(l,p.value));return}if(!v.value)return;f.value.some(x=>{let{title:m}=x;return m===p.value})?e.value="":j(ne(l,p.value))}}),ie(b,()=>{if(!l.hideSelected&&b.value&&f.value.length){const t=Q.value.findIndex(c=>f.value.some(x=>l.valueComparator(x.value,c.value)));ze&&window.requestAnimationFrame(()=>{var c;t>=0&&((c=B.value)==null||c.scrollToIndex(t))})}}),ie(()=>l.items,(t,c)=>{b.value||F.value&&!c.length&&t.length&&(b.value=!0)}),vl(()=>{const t=!!(!l.hideNoData||Q.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),c=f.value.length>0,x=ee.filterProps(l);return n(ee,te({ref:I},x,{modelValue:p.value,"onUpdate:modelValue":[m=>p.value=m,Ne],focused:F.value,"onUpdate:focused":m=>F.value=m,validationValue:f.externalValue,counterValue:z.value,dirty:c,class:["v-combobox",{"v-combobox--active-menu":b.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!v.value,"v-combobox--selecting-index":d.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:u.isReadonly.value,placeholder:c?void 0:l.placeholder,"onClick:clear":Re,"onMousedown:control":$e,onKeydown:De}),{...r,default:()=>n(le,null,[n(hl,te({ref:h,modelValue:b.value,"onUpdate:modelValue":m=>b.value=m,activator:"parent",contentClass:"v-combobox__content",disabled:me.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:l.transition,onAfterEnter:Me,onAfterLeave:Pe},l.menuProps),{default:()=>[t&&n(ul,te({ref:fe,selected:Te.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:m=>m.preventDefault(),onKeydown:Le,onFocusin:Oe,onFocusout:qe,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},Ae,l.listProps),{default:()=>{var m,g,P;return[(m=r["prepend-item"])==null?void 0:m.call(r),!Q.value.length&&!l.hideNoData&&(((g=r["no-data"])==null?void 0:g.call(r))??n(Se,{key:"no-data",title:S(l.noDataText)},null)),n(xl,{ref:B,renderless:!0,items:Q.value},{default:Z=>{var Ve;let{item:$,index:ae,itemRef:D}=Z;const ke=te($.props,{ref:D,key:$.value,active:ce.value&&ae===0?!0:void 0,onClick:()=>j($,null)});return((Ve=r.item)==null?void 0:Ve.call(r,{item:$,index:ae,props:ke}))??n(Se,te(ke,{role:"option"}),{prepend:oe=>{let{isSelected:re}=oe;return n(le,null,[l.multiple&&!l.hideSelected?n(sl,{key:$.value,modelValue:re,ripple:!1,tabindex:"-1"},null):void 0,$.props.prependAvatar&&n(cl,{image:$.props.prependAvatar},null),$.props.prependIcon&&n(Ie,{icon:$.props.prependIcon},null)])},title:()=>{var oe,re;return A.value?$.title:Ll($.title,(oe=s($))==null?void 0:oe.title,((re=p.value)==null?void 0:re.length)??0)}})}}),(P=r["append-item"])==null?void 0:P.call(r)]}})]}),f.value.map((m,g)=>{function P(D){D.stopPropagation(),D.preventDefault(),j(m,!1)}const Z={"onClick:close":P,onKeydown(D){D.key!=="Enter"&&D.key!==" "||(D.preventDefault(),D.stopPropagation(),P(D))},onMousedown(D){D.preventDefault(),D.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},$=a.value?!!r.chip:!!r.selection,ae=$?We(a.value?r.chip({item:m,index:g,props:Z}):r.selection({item:m,index:g})):void 0;if(!($&&!ae))return n("div",{key:m.value,class:["v-combobox__selection",g===d.value&&["v-combobox__selection--selected",se.value]],style:g===d.value?ve.value:{}},[a.value?r.chip?n(ml,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:m.title}}},{default:()=>[ae]}):n(El,te({key:"chip",closable:l.closableChips,size:"small",text:m.title,disabled:m.props.disabled},Z),null):ae??n("span",{class:"v-combobox__selection-text"},[m.title,l.multiple&&g<f.value.length-1&&n("span",{class:"v-combobox__selection-comma"},[X(",")])])])})]),"append-inner":function(){var Z;for(var m=arguments.length,g=new Array(m),P=0;P<m;P++)g[P]=arguments[P];return n(le,null,[(Z=r["append-inner"])==null?void 0:Z.call(r,...g),(!l.hideNoData||l.items.length)&&l.menuIcon?n(Ie,{class:"v-combobox__menu-icon",icon:l.menuIcon,onMousedown:Ue,onClick:Je,"aria-label":S(J.value),title:S(J.value),tabindex:"-1"},null):void 0])}})}),Cl({isFocused:F,isPristine:A,menu:b,search:p,selectionIndex:d,filteredItems:Y,select:j},I)}}),Pl={class:"configcolumnleft"},Ol={key:0},ql={key:1},Nl={key:2},Bl={key:3},Kl={key:0,class:"configcolumnright"},jl=Xe({__name:"EditConfig",props:{configEntries:{},disabled:{type:Boolean}},emits:["submit","action"],setup(l,{emit:V}){const o=Ye(),r=V,S=N(),I=N(!1),F=N(),A=N("generic"),w=N(!1),h=N(),B=N({}),L=l,b=U(()=>{const u=S.value.map(a=>a.category);return u.filter(a=>a=="generic").length?new Set(["generic",...u]):new Set(u)}),d=U(()=>{if(S.value){for(const u of S.value)if(u.required&&!(!K(u.value)||!K(u.default_value)||u.type==E.DIVIDER||u.type==E.LABEL||u.type==E.ALERT||u.type==E.ACTION))return!1;return!0}return!1});U(()=>{const u={};for(const a of L.configEntries)a.value!=null&&(a.type==E.SECURE_STRING&&a.value==be||(u[a.key]=a.value));return u}),ie(()=>L.configEntries,u=>{S.value=[];for(const a of u||[])a.value!==void 0&&a.value!==null&&(B.value[a.key]=a.value),(a.value==null||a.value==null)&&(a.value=a.default_value),S.value.push(a)},{immediate:!0});const q=async function(){const{valid:u}=await F.value.validate();return u},H=async function(){await q()&&r("submit",se())},J=async function(u){r("action",u,se())},M=function(u){const a=document.createElement("a");a.setAttribute("href",u),a.setAttribute("target","_blank"),a.click()},K=function(u){return u==null},R=function(u){var a;if(!K(u.depends_on)){const v=(a=S.value)==null?void 0:a.find(e=>e.key==u.depends_on);if(!K(u.depends_on_value)&&v&&v.value!=u.depends_on_value||v&&v.required&&K(v)||v&&v.type==E.BOOLEAN&&!v.value)return!0}return!1},se=function(){const u={};for(const a of L.configEntries)a.value==null&&(a.value=null),!(a.type==E.SECURE_STRING&&a.value==be)&&(u[a.key]=a.value);return u},ve=function(u){if(!u.options)return[];const a=[];for(const v of u.options){const e={title:k(`settings.${u.key}.options.${v.value}`,v.title),value:v.value};e.value==u.default_value&&(e.title+=` [${k("settings.default")}]`),a.push(e)}return a},f=function(u){var a;return((a=k(`settings.${u==null?void 0:u.key}.description`,u.description||" ")||u.help_link||" ")==null?void 0:a.length)>1};return(u,a)=>(C(),W(le,null,[S.value?(C(),O(wl,{key:0,ref_key:"form",ref:F,modelValue:I.value,"onUpdate:modelValue":a[2]||(a[2]=v=>I.value=v),disabled:u.disabled},{default:y(()=>[n(al,{modelValue:A.value,"onUpdate:modelValue":a[1]||(a[1]=v=>A.value=v),variant:"accordion",multiple:"",flat:""},{default:y(()=>[(C(!0),W(le,null,Ee(b.value,v=>(C(),O(_e,{key:v,value:v,flat:"",accordion:"",class:"configrowpanel"},{default:y(()=>[n(el,null,{default:y(()=>[T("h3",null,G(i(k)("settings.category."+v,v)),1)]),_:2},1024),a[17]||(a[17]=T("br",null,null,-1)),n(ll,null,{default:y(()=>[(C(!0),W(le,null,Ee(S.value.filter(e=>e.category==v&&!e.hidden),e=>{var p,z,Y;return C(),W("div",{key:e.key,class:"configrow"},[T("div",Pl,[e.type==i(E).DIVIDER?(C(),W("div",Ol,[a[7]||(a[7]=T("br",null,null,-1)),n(il),e.label?(C(),O(ol,{key:0,style:{"margin-left":"8px","margin-top":"10px","margin-bottom":"10px"}},{default:y(()=>[T("b",null,G(e.label),1)]),_:2},1024)):de("",!0),a[8]||(a[8]=T("br",null,null,-1)),a[9]||(a[9]=T("br",null,null,-1))])):e.type==i(E).LABEL?(C(),W("div",ql,[a[10]||(a[10]=T("br",null,null,-1)),n(we,{variant:"outlined",type:"info"},{default:y(()=>[X(G(i(k)(`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(E).ALERT?(C(),W("div",Nl,[a[13]||(a[13]=T("br",null,null,-1)),n(we,{density:"compact",type:"warning"},{default:y(()=>[X(G(i(k)(`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(E).ACTION||e.action&&!e.value?(C(),W("div",Bl,[a[16]||(a[16]=T("br",null,null,-1)),n(ue,{class:"actionbutton",disabled:R(e),onClick:s=>{J(e.action||e.key),e.value=e.action?null:e.key}},{default:y(()=>[X(G(i(k)(`settings.${e.action||e.key}.label`,e.action_label||e.label)),1)]),_:2},1032,["disabled","onClick"])])):e.type==i(E).BOOLEAN?(C(),O(pl,{key:4,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,label:i(k)(`settings.${e.key}.label`,e.label),color:"primary",disabled:R(e)},null,8,["modelValue","onUpdate:modelValue","label","disabled"])):(e.type==i(E).INTEGER||e.type==i(E).FLOAT)&&e.range&&e.range.length==2?(C(),O(kl,{key:5,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,class:"align-center",min:e.range[0],max:e.range[1],step:e.type==i(E).FLOAT?.5:1,"hide-details":"",style:{"margin-top":"10px","margin-bottom":"25px"},color:"primary"},{append:y(()=>[n(ee,{modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,"hide-details":"","single-line":"",density:"compact",type:"number",style:{width:"70px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","label","required","min","max","step"])):e.type==i(E).SECURE_STRING?(C(),O(ee,{key:6,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,disabled:R(e),rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],type:w.value?"text":"password","append-inner-icon":w.value?"mdi-eye":typeof e.value=="string"&&e.value.includes(i(be))?"":"mdi-eye-off",variant:"outlined",clearable:"",readonly:!!e.action,"onClick:appendInner":a[0]||(a[0]=s=>w.value=!w.value),"onClick:clear":s=>e.value="#CLEAR#"},null,8,["modelValue","onUpdate:modelValue","label","required","disabled","rules","type","append-inner-icon","readonly","onClick:clear"])):e.options&&e.options.length>0?(C(),O(gl,{key:7,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,chips:e.multi_value,clearable:!0,multiple:e.multi_value,items:ve(e),disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],variant:"outlined","onClick:clear":s=>e.value=null},null,8,["modelValue","onUpdate:modelValue","chips","multiple","items","disabled","label","required","rules","onClick:clear"])):e.type==i(E).INTEGER||e.type==i(E).FLOAT?(C(),O(ee,{key:8,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,placeholder:(p=e.default_value)==null?void 0:p.toString(),disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],variant:"outlined",clearable:!e.required,type:"number","onClick:clear":s=>e.value=null},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","clearable","onClick:clear"])):e.type==i(E).ICON?(C(),O(ee,{key:9,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,placeholder:(z=e.default_value)==null?void 0:z.toString(),clearable:"",disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),"prepend-inner-icon":e.value,variant:"outlined","onClick:clear":s=>e.value=e.default_value},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","prepend-inner-icon","onClick:clear"])):e.type==i(E).STRING&&e.multi_value?(C(),O(Ml,{key:10,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,multiple:"",chips:"",clearable:!0,disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],variant:"outlined","onClick:clear":s=>e.value=[]},null,8,["modelValue","onUpdate:modelValue","disabled","label","required","rules","onClick:clear"])):(C(),O(ee,{key:11,modelValue:e.value,"onUpdate:modelValue":s=>e.value=s,placeholder:(Y=e.default_value)==null?void 0:Y.toString(),clearable:"",disabled:R(e),label:i(k)(`settings.${e.key}.label`,e.label),required:e.required,rules:[s=>!(!s&&e.required)||i(k)("settings.invalid_input")],variant:"outlined",readonly:!!e.action,"onClick:clear":s=>e.value=null},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","label","required","rules","readonly","onClick:clear"]))]),f(e)?(C(),W("div",Kl,[n(ue,{icon:"mdi-help-box",variant:"plain",class:"helpicon",size:"x-large",onClick:s=>i(k)(`settings.${e==null?void 0:e.key}.description`,e.description||"")?h.value=e:M(e.help_link)},null,8,["onClick"])])):de("",!0)])}),128))]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),a[18]||(a[18]=T("br",null,null,-1)),n(ue,{block:"",color:"primary",disabled:!d.value,onClick:H},{default:y(()=>[X(G(i(k)("settings.save")),1)]),_:1},8,["disabled"])]),_:1},8,["modelValue","disabled"])):de("",!0),a[19]||(a[19]=T("br",null,null,-1)),n(ue,{block:"",onClick:a[3]||(a[3]=v=>i(o).back())},{default:y(()=>[X(G(i(k)("close")),1)]),_:1}),n(yl,{"model-value":h.value!==void 0,width:"auto","onUpdate:modelValue":a[6]||(a[6]=v=>h.value=void 0)},{default:y(()=>[n(Sl,null,{default:y(()=>{var v,e;return[n(Fe,null,{default:y(()=>{var p,z;return[T("h2",null,G(i(k)(`settings.${(p=h.value)==null?void 0:p.key}.label`,((z=h.value)==null?void 0:z.label)||"")),1)]}),_:1}),n(Fe,{innerHTML:i(Ze)(i(k)(`settings.${(v=h.value)==null?void 0:v.key}.description`,((e=h.value)==null?void 0:e.description)||""))},null,8,["innerHTML"]),n(Il,null,{default:y(()=>{var p;return[(p=h.value)!=null&&p.help_link?(C(),O(ue,{key:0,onClick:a[4]||(a[4]=z=>M(h.value.help_link))},{default:y(()=>[X(G(i(k)("read_more")),1)]),_:1})):de("",!0),n(Fl),n(ue,{color:"primary",onClick:a[5]||(a[5]=z=>h.value=void 0)},{default:y(()=>[X(G(i(k)("close")),1)]),_:1})]}),_:1})]}),_:1})]),_:1},8,["model-value"])],64))}}),oa=Tl(jl,[["__scopeId","data-v-bc619c12"]]);export{oa as E};
@@ -1 +1 @@
1
- import{x as E,aA as N,r as y,w as $,y as m,D as C,n as r,A as u,I as a,S as p,J as d,G as s,B as l,z as v,K as f,aV as j}from"./index-Dvn4b3kE.js";import{E as S}from"./EditConfig-GlgW_AZF.js";import{n as T}from"./index.browser-OxPLOBIU.js";import{b as A,V as D,a as c}from"./VCardText-CXkKR7ML.js";import{e as I}from"./VMenu-BxZEtUbH.js";import{V}from"./VList-BFxH2oe3.js";import{C as O}from"./VListItem-XlHdRn90.js";import"./VExpansionPanels-CRDFiEUd.js";import"./VCheckboxBtn-B2R62I44.js";import"./VAlert-BKHMgC3s.js";import"./VSwitch-BjWr2FW1.js";import"./VTextField-CNfw_aKz.js";import"./VVirtualScroll-DezxvIhI.js";import"./VChip-BKGA7XXZ.js";import"./VSlider-D6_NZN0T.js";import"./VForm-3D0lQdNE.js";import"./VCard-DDEjK8sh.js";import"./VSpacer-BpjLI35r.js";/* empty css */import"./VDialog-CHkPjb9d.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const z={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},ae=E({__name:"EditCoreConfig",props:{domain:{}},setup(b){const k=N(),t=y(),w=T(11),i=y(!1),M=b;$(()=>M.domain,async o=>{o&&(t.value=await a.getCoreConfig(o))},{immediate:!0});const x=async function(o){i.value=!0,a.saveCoreConfig(t.value.domain,o).then(()=>{i.value=!1,k.push({name:"providersettings"})}).catch(e=>{alert(e),i.value=!1})},B=async function(o,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,a.getCoreConfigEntries(t.value.domain,o,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(o,e)=>(m(),C("section",null,[r(A,null,{default:u(()=>[t.value?(m(),C("div",z,[r(D,null,{default:u(()=>[p(d(o.$t("settings.setup_provider",[s(a).providerManifests[t.value.domain].name])),1)]),_:1}),r(c,null,{default:u(()=>[p(d(s(a).providerManifests[t.value.domain].description),1)]),_:1}),e[3]||(e[3]=l("br",null,null,-1)),s(a).providerManifests[t.value.domain].codeowners.length?(m(),v(c,{key:0},{default:u(()=>[l("b",null,d(o.$t("settings.codeowners"))+": ",1),p(d(s(a).providerManifests[t.value.domain].codeowners.join(" / ")),1)]),_:1})):f("",!0),s(a).providerManifests[t.value.domain].documentation?(m(),v(c,{key:1},{default:u(()=>[l("b",null,d(o.$t("settings.need_help_setup_provider")),1),e[2]||(e[2]=p("  ")),l("a",{onClick:e[0]||(e[0]=n=>s(j)(s(a).providerManifests[t.value.domain].documentation))},d(o.$t("settings.check_docs")),1)]),_:1})):f("",!0),e[4]||(e[4]=l("br",null,null,-1)),r(V),e[5]||(e[5]=l("br",null,null,-1)),e[6]||(e[6]=l("br",null,null,-1))])):f("",!0),r(V),t.value?(m(),v(S,{key:1,"config-entries":Object.values(t.value.values),disabled:!1,onSubmit:x,onAction:B},null,8,["config-entries"])):f("",!0)]),_:1}),r(I,{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(()=>[r(O,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{ae as default};
1
+ import{x as E,aB as N,r as y,w as $,y as m,D as C,n as r,A as u,I as a,S as p,J as d,G as s,B as l,z as v,K as f,aV as j}from"./index-m8nKq5sO.js";import{E as S}from"./EditConfig-CbobmEm2.js";import{n as T}from"./index.browser-OxPLOBIU.js";import{b as D,V as I,a as c}from"./VCardText-DV3N2e-3.js";import{e as O}from"./VMenu-Bm7-wo-8.js";import{V}from"./VList-Dq2hFeo-.js";import{C as z}from"./VListItem-BgwpeMXY.js";import"./VExpansionPanels-AMVAOgwF.js";import"./VCheckboxBtn-GM1QeixE.js";import"./VAlert-CcnHiMQr.js";import"./VSwitch-D9Kdeykp.js";import"./VTextField-CAVAhBK-.js";import"./VVirtualScroll-Di-Iytdq.js";import"./VChip-3PA_sq0L.js";import"./VSlider-C-mU62Ej.js";import"./VForm-q4g_dXT3.js";import"./VCard-DaTV885y.js";import"./VSpacer-Cw6OWjUU.js";/* empty css */import"./VDialog-BQ5W8yPe.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const A={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},ae=E({__name:"EditCoreConfig",props:{domain:{}},setup(b){const k=N(),t=y(),w=T(11),i=y(!1),B=b;$(()=>B.domain,async o=>{o&&(t.value=await a.getCoreConfig(o))},{immediate:!0});const M=async function(o){i.value=!0,a.saveCoreConfig(t.value.domain,o).then(()=>{i.value=!1,k.push({name:"providersettings"})}).catch(e=>{alert(e),i.value=!1})},x=async function(o,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,a.getCoreConfigEntries(t.value.domain,o,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(o,e)=>(m(),C("section",null,[r(D,null,{default:u(()=>[t.value?(m(),C("div",A,[r(I,null,{default:u(()=>[p(d(o.$t("settings.setup_provider",[s(a).providerManifests[t.value.domain].name])),1)]),_:1}),r(c,null,{default:u(()=>[p(d(s(a).providerManifests[t.value.domain].description),1)]),_:1}),e[3]||(e[3]=l("br",null,null,-1)),s(a).providerManifests[t.value.domain].codeowners.length?(m(),v(c,{key:0},{default:u(()=>[l("b",null,d(o.$t("settings.codeowners"))+": ",1),p(d(s(a).providerManifests[t.value.domain].codeowners.join(" / ")),1)]),_:1})):f("",!0),s(a).providerManifests[t.value.domain].documentation?(m(),v(c,{key:1},{default:u(()=>[l("b",null,d(o.$t("settings.need_help_setup_provider")),1),e[2]||(e[2]=p("  ")),l("a",{onClick:e[0]||(e[0]=n=>s(j)(s(a).providerManifests[t.value.domain].documentation))},d(o.$t("settings.check_docs")),1)]),_:1})):f("",!0),e[4]||(e[4]=l("br",null,null,-1)),r(V),e[5]||(e[5]=l("br",null,null,-1)),e[6]||(e[6]=l("br",null,null,-1))])):f("",!0),r(V),t.value?(m(),v(S,{key:1,"config-entries":Object.values(t.value.values),disabled:!1,onSubmit:M,onAction:x},null,8,["config-entries"])):f("",!0)]),_:1}),r(O,{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(()=>[r(z,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{ae as default};
@@ -1 +1 @@
1
- import{x as I,aA as M,r as T,w as N,y as n,D as g,n as y,A as d,I as a,G as r,S as p,J as i,B as s,aV as S,K as u,z as m,a4 as D}from"./index-Dvn4b3kE.js";import{E}from"./EditConfig-GlgW_AZF.js";import{b as U,V as A,a as v}from"./VCardText-CXkKR7ML.js";import{V as C}from"./VList-BFxH2oe3.js";import{V as G}from"./VTextField-CNfw_aKz.js";import{V as O}from"./VSwitch-BjWr2FW1.js";import{v as R}from"./VListItem-XlHdRn90.js";import"./VExpansionPanels-CRDFiEUd.js";import"./VMenu-BxZEtUbH.js";import"./VCheckboxBtn-B2R62I44.js";import"./VAlert-BKHMgC3s.js";import"./VSlider-D6_NZN0T.js";import"./VVirtualScroll-DezxvIhI.js";import"./VChip-BKGA7XXZ.js";import"./VForm-3D0lQdNE.js";import"./VCard-DDEjK8sh.js";import"./VSpacer-BpjLI35r.js";/* empty css */import"./VDialog-CHkPjb9d.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const j={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},oe=I({__name:"EditPlayer",props:{playerId:{}},setup(P){const b=M(),e=T(),f=P;N(()=>f.playerId,async l=>{l&&(e.value=await a.getPlayerConfig(l))},{immediate:!0});const w=async function(l){l.enabled=e.value.enabled,l.name=e.value.name||null,a.savePlayerConfig(f.playerId,l),b.push({name:"playersettings"})},B=function(){b.push(`/settings/editplayer/${f.playerId}/dsp`)};return(l,t)=>(n(),g("section",null,[y(U,null,{default:d(()=>{var V,_,k;return[e.value&&r(a).getProviderManifest(e.value.provider).domain in r(a).providerManifests?(n(),g("div",j,[y(A,null,{default:d(()=>{var o;return[p(i(l.$t("settings.config_player",[e.value.name||((o=r(a).players[e.value.player_id])==null?void 0:o.name)||e.value.default_name])),1)]}),_:1}),y(v,null,{default:d(()=>[s("b",null,i(l.$t("settings.player_id"))+": ",1),p(i(e.value.player_id),1)]),_:1}),y(v,null,{default:d(()=>{var o,$;return[s("b",null,i(l.$t("settings.player_provider"))+": ",1),p(i((o=r(a).getProviderManifest(e.value.provider))==null?void 0:o.name)+" ",1),($=r(a).getProviderManifest(e.value.provider))!=null&&$.documentation?(n(),g("a",{key:0,onClick:t[0]||(t[0]=z=>{var c;return r(S)((c=r(a).getProviderManifest(e.value.provider))==null?void 0:c.documentation)})}," ["+i(l.$t("settings.check_docs"))+"]",1)):u("",!0)]}),_:1}),r(a).players[e.value.player_id]?(n(),m(v,{key:0},{default:d(()=>[s("b",null,i(l.$t("settings.player_model"))+": ",1),p(i(r(a).players[e.value.player_id].device_info.manufacturer)+" / "+i(r(a).players[e.value.player_id].device_info.model),1)]),_:1})):u("",!0),(V=r(a).players[e.value.player_id])!=null&&V.device_info.ip_address?(n(),m(v,{key:1},{default:d(()=>[s("b",null,i(l.$t("settings.player_address"))+": ",1),p(i(r(a).players[e.value.player_id].device_info.ip_address),1)]),_:1})):u("",!0),r(a).players[e.value.player_id]?(n(),m(v,{key:2},{default:d(()=>[s("b",null,i(l.$t("settings.player_type_label"))+": ",1),p(i(l.$t(`player_type.${r(a).players[e.value.player_id].type}`)),1)]),_:1})):u("",!0),t[3]||(t[3]=s("br",null,null,-1)),y(C),t[4]||(t[4]=s("br",null,null,-1)),t[5]||(t[5]=s("br",null,null,-1)),"name"in e.value?(n(),m(G,{key:3,modelValue:e.value.name,"onUpdate:modelValue":t[1]||(t[1]=o=>e.value.name=o),placeholder:(_=e.value)==null?void 0:_.name,label:l.$t("settings.player_name"),variant:"outlined",clearable:"",class:"configcolumnleft",style:{"margin-right":"25px"}},null,8,["modelValue","placeholder","label"])):u("",!0),"enabled"in e.value?(n(),m(O,{key:4,modelValue:e.value.enabled,"onUpdate:modelValue":t[2]||(t[2]=o=>e.value.enabled=o),label:l.$t("settings.enable_player"),color:"primary",disabled:(k=r(a).getProviderManifest(e.value.provider))==null?void 0:k.builtin},null,8,["modelValue","label","disabled"])):u("",!0),r(a).players[e.value.player_id].type!==r(D).GROUP?(n(),m(R,{key:5,onClick:B},{default:d(()=>[p(i(l.$t("open_dsp_settings")),1)]),_:1})):u("",!0)])):u("",!0),t[6]||(t[6]=s("br",null,null,-1)),y(C),e.value?(n(),m(E,{key:1,disabled:!e.value.enabled,"config-entries":Object.values(e.value.values),onSubmit:w},null,8,["disabled","config-entries"])):u("",!0)]}),_:1})]))}});export{oe as default};
1
+ import{x as I,aB as M,r as T,w as N,y as n,D as g,n as y,A as d,I as a,G as r,S as p,J as i,B as s,aV as S,K as u,z as m,a4 as D}from"./index-m8nKq5sO.js";import{E}from"./EditConfig-CbobmEm2.js";import{b as U,V as G,a as v}from"./VCardText-DV3N2e-3.js";import{V as C}from"./VList-Dq2hFeo-.js";import{V as O}from"./VTextField-CAVAhBK-.js";import{V as R}from"./VSwitch-D9Kdeykp.js";import{v as j}from"./VListItem-BgwpeMXY.js";import"./VExpansionPanels-AMVAOgwF.js";import"./VMenu-Bm7-wo-8.js";import"./VCheckboxBtn-GM1QeixE.js";import"./VAlert-CcnHiMQr.js";import"./VSlider-C-mU62Ej.js";import"./VVirtualScroll-Di-Iytdq.js";import"./VChip-3PA_sq0L.js";import"./VForm-q4g_dXT3.js";import"./VCard-DaTV885y.js";import"./VSpacer-Cw6OWjUU.js";/* empty css */import"./VDialog-BQ5W8yPe.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const z={key:0,style:{"margin-left":"-5px","margin-right":"-5px"}},oe=I({__name:"EditPlayer",props:{playerId:{}},setup(P){const b=M(),e=T(),f=P;N(()=>f.playerId,async l=>{l&&(e.value=await a.getPlayerConfig(l))},{immediate:!0});const B=async function(l){l.enabled=e.value.enabled,l.name=e.value.name||null,a.savePlayerConfig(f.playerId,l),b.push({name:"playersettings"})},w=function(){b.push(`/settings/editplayer/${f.playerId}/dsp`)};return(l,t)=>(n(),g("section",null,[y(U,null,{default:d(()=>{var V,_,k;return[e.value&&r(a).getProviderManifest(e.value.provider).domain in r(a).providerManifests?(n(),g("div",z,[y(G,null,{default:d(()=>{var o;return[p(i(l.$t("settings.config_player",[e.value.name||((o=r(a).players[e.value.player_id])==null?void 0:o.name)||e.value.default_name])),1)]}),_:1}),y(v,null,{default:d(()=>[s("b",null,i(l.$t("settings.player_id"))+": ",1),p(i(e.value.player_id),1)]),_:1}),y(v,null,{default:d(()=>{var o,$;return[s("b",null,i(l.$t("settings.player_provider"))+": ",1),p(i((o=r(a).getProviderManifest(e.value.provider))==null?void 0:o.name)+" ",1),($=r(a).getProviderManifest(e.value.provider))!=null&&$.documentation?(n(),g("a",{key:0,onClick:t[0]||(t[0]=A=>{var c;return r(S)((c=r(a).getProviderManifest(e.value.provider))==null?void 0:c.documentation)})}," ["+i(l.$t("settings.check_docs"))+"]",1)):u("",!0)]}),_:1}),r(a).players[e.value.player_id]?(n(),m(v,{key:0},{default:d(()=>[s("b",null,i(l.$t("settings.player_model"))+": ",1),p(i(r(a).players[e.value.player_id].device_info.manufacturer)+" / "+i(r(a).players[e.value.player_id].device_info.model),1)]),_:1})):u("",!0),(V=r(a).players[e.value.player_id])!=null&&V.device_info.ip_address?(n(),m(v,{key:1},{default:d(()=>[s("b",null,i(l.$t("settings.player_address"))+": ",1),p(i(r(a).players[e.value.player_id].device_info.ip_address),1)]),_:1})):u("",!0),r(a).players[e.value.player_id]?(n(),m(v,{key:2},{default:d(()=>[s("b",null,i(l.$t("settings.player_type_label"))+": ",1),p(i(l.$t(`player_type.${r(a).players[e.value.player_id].type}`)),1)]),_:1})):u("",!0),t[3]||(t[3]=s("br",null,null,-1)),y(C),t[4]||(t[4]=s("br",null,null,-1)),t[5]||(t[5]=s("br",null,null,-1)),"name"in e.value?(n(),m(O,{key:3,modelValue:e.value.name,"onUpdate:modelValue":t[1]||(t[1]=o=>e.value.name=o),placeholder:(_=e.value)==null?void 0:_.name,label:l.$t("settings.player_name"),variant:"outlined",clearable:"",class:"configcolumnleft",style:{"margin-right":"25px"}},null,8,["modelValue","placeholder","label"])):u("",!0),"enabled"in e.value?(n(),m(R,{key:4,modelValue:e.value.enabled,"onUpdate:modelValue":t[2]||(t[2]=o=>e.value.enabled=o),label:l.$t("settings.enable_player"),color:"primary",disabled:(k=r(a).getProviderManifest(e.value.provider))==null?void 0:k.builtin},null,8,["modelValue","label","disabled"])):u("",!0),r(a).players[e.value.player_id].type!==r(D).GROUP?(n(),m(j,{key:5,onClick:w},{default:d(()=>[p(i(l.$t("open_dsp_settings")),1)]),_:1})):u("",!0)])):u("",!0),t[6]||(t[6]=s("br",null,null,-1)),y(C),e.value?(n(),m(E,{key:1,disabled:!e.value.enabled,"config-entries":Object.values(e.value.values),onSubmit:B},null,8,["disabled","config-entries"])):u("",!0)]}),_:1})]))}});export{oe as default};
@@ -1,4 +1,4 @@
1
- import{p as me,aS as Te,g as fe,t as H,n as l,s as Ue,r as R,w as W,a as ne,aY as Ne,f as We,i as Ge,h as Qe,l as je,c as j,x as te,Q as Pe,y as V,z as S,A as a,X as Z,S as k,J as F,D as le,E as $e,a2 as Ke,F as se,ax as Xe,ay as pe,$ as x,B as J,aZ as b,o as Ce,G as $,K as D,af as Ye,aA as Je,aQ as N,j as Ze,ai as el,I as ie}from"./index-Dvn4b3kE.js";import{e as ll}from"./eventbus-CGRXT3Tn.js";import{a as ce,c as Fe,R as qe,b as Ae,S as tl,e as ke,g as al,f as nl,i as ve,w as L,j as sl,l as il,d as De,n as ol,o as rl,q as ul,v as O}from"./VListItem-XlHdRn90.js";import{b as G,V as dl}from"./VCardText-CXkKR7ML.js";import{_ as Ie}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as ml}from"./VSlider-D6_NZN0T.js";import{V as fl}from"./VTextField-CNfw_aKz.js";import{V as Q,b as re,a as pl}from"./VCard-DDEjK8sh.js";import{a as cl,b as oe}from"./VChip-BKGA7XXZ.js";import{V as Oe,a as ue}from"./VRow-PHUs5bQJ.js";import{V as de,a as we}from"./VSwitch-BjWr2FW1.js";import{V as Ee}from"./VSpacer-BpjLI35r.js";import{V as xe}from"./VContainer-C3X0IHcx.js";import{V as he,a as Se}from"./VToolbar-Bi9Fkevh.js";import{V as vl}from"./VDialog-CHkPjb9d.js";import{V as gl}from"./VAlert-BKHMgC3s.js";import{V as yl}from"./VCheckbox-DXoKCkvo.js";import"./VCheckboxBtn-B2R62I44.js";import"./VMenu-BxZEtUbH.js";/* empty css */import"./VList-BFxH2oe3.js";import"./VVirtualScroll-DezxvIhI.js";const bl=me({dotColor:String,fillDot:Boolean,hideDot:Boolean,icon:Te,iconColor:String,lineColor:String,...ce(),...Fe(),...qe(),...Ae()},"VTimelineDivider"),_l=fe()({name:"VTimelineDivider",props:bl(),setup(t,_){let{slots:m}=_;const{sizeClasses:o,sizeStyles:i}=tl(t,"v-timeline-divider__dot"),{backgroundColorStyles:h,backgroundColorClasses:T}=ke(H(t,"dotColor")),{roundedClasses:f}=al(t,"v-timeline-divider__dot"),{elevationClasses:C}=nl(t),{backgroundColorClasses:p,backgroundColorStyles:q}=ke(H(t,"lineColor"));return ve(()=>l("div",{class:["v-timeline-divider",{"v-timeline-divider--fill-dot":t.fillDot},t.class],style:t.style},[l("div",{class:["v-timeline-divider__before",p.value],style:q.value},null),!t.hideDot&&l("div",{key:"dot",class:["v-timeline-divider__dot",C.value,f.value,o.value],style:i.value},[l("div",{class:["v-timeline-divider__inner-dot",T.value,f.value],style:h.value},[m.default?l(sl,{key:"icon-defaults",disabled:!t.icon,defaults:{VIcon:{color:t.iconColor,icon:t.icon,size:t.size}}},m.default):l(L,{key:"icon",color:t.iconColor,icon:t.icon,size:t.size},null)])]),l("div",{class:["v-timeline-divider__after",p.value],style:q.value},null)])),{}}}),Re=me({density:String,dotColor:String,fillDot:Boolean,hideDot:Boolean,hideOpposite:{type:Boolean,default:void 0},icon:Te,iconColor:String,lineInset:[Number,String],...ce(),...il(),...Ae(),...Fe(),...qe(),...De()},"VTimelineItem"),Y=fe()({name:"VTimelineItem",props:Re(),setup(t,_){let{slots:m}=_;const{dimensionStyles:o}=ol(t),i=Ue(0),h=R();return W(h,T=>{var f;T&&(i.value=((f=T.$el.querySelector(".v-timeline-divider__dot"))==null?void 0:f.getBoundingClientRect().width)??0)},{flush:"post"}),ve(()=>{var T,f;return l("div",{class:["v-timeline-item",{"v-timeline-item--fill-dot":t.fillDot},t.class],style:[{"--v-timeline-dot-size":ne(i.value),"--v-timeline-line-inset":t.lineInset?`calc(var(--v-timeline-dot-size) / 2 + ${ne(t.lineInset)})`:ne(0)},t.style]},[l("div",{class:"v-timeline-item__body",style:o.value},[(T=m.default)==null?void 0:T.call(m)]),l(_l,{ref:h,hideDot:t.hideDot,icon:t.icon,iconColor:t.iconColor,size:t.size,elevation:t.elevation,dotColor:t.dotColor,fillDot:t.fillDot,rounded:t.rounded},{default:m.icon}),t.density!=="compact"&&l("div",{class:"v-timeline-item__opposite"},[!t.hideOpposite&&((f=m.opposite)==null?void 0:f.call(m))])])}),{}}}),Vl=me({align:{type:String,default:"center",validator:t=>["center","start"].includes(t)},direction:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)},justify:{type:String,default:"auto",validator:t=>["auto","center"].includes(t)},side:{type:String,validator:t=>t==null||["start","end"].includes(t)},lineThickness:{type:[String,Number],default:2},lineColor:String,truncateLine:{type:String,validator:t=>["start","end","both"].includes(t)},...Ne(Re({lineInset:0}),["dotColor","fillDot","hideOpposite","iconColor","lineInset","size"]),...ce(),...rl(),...De(),...We()},"VTimeline"),Cl=fe()({name:"VTimeline",props:Vl(),setup(t,_){let{slots:m}=_;const{themeClasses:o}=Ge(t),{densityClasses:i}=ul(t),{rtlClasses:h}=Qe();je({VTimelineDivider:{lineColor:H(t,"lineColor")},VTimelineItem:{density:H(t,"density"),dotColor:H(t,"dotColor"),fillDot:H(t,"fillDot"),hideOpposite:H(t,"hideOpposite"),iconColor:H(t,"iconColor"),lineColor:H(t,"lineColor"),lineInset:H(t,"lineInset"),size:H(t,"size")}});const T=j(()=>{const C=t.side?t.side:t.density!=="default"?"end":null;return C&&`v-timeline--side-${C}`}),f=j(()=>{const C=["v-timeline--truncate-line-start","v-timeline--truncate-line-end"];switch(t.truncateLine){case"both":return C;case"start":return C[0];case"end":return C[1];default:return null}});return ve(()=>l(t.tag,{class:["v-timeline",`v-timeline--${t.direction}`,`v-timeline--align-${t.align}`,`v-timeline--justify-${t.justify}`,f.value,{"v-timeline--inset-line":!!t.lineInset},o.value,i.value,T.value,h.value,t.class],style:[{"--v-timeline-line-thickness":ne(t.lineThickness)},t.style]},m)),{}}}),kl=te({__name:"DSPPipeline",props:{dsp:{},selected:{}},emits:["onSelect","onAddFilter","onMoveFilter","onDeleteFilter"],setup(t,{emit:_}){const m=Pe(),o=t,i=_,h=v=>o.selected===v?"primary":"secondary",T=v=>v==="input"||v==="output"?!1:!o.dsp.filters[v].enabled,f=v=>o.selected===v?"primary":m.global.current.value.dark?"grey-darken-3":"grey-lighten-3",C=v=>({"filter-selected":o.selected===v}),p=v=>{i("onSelect",v)},q=(v,c)=>{i("onMoveFilter",{index:v,direction:c})},z=v=>{i("onDeleteFilter",v)},K=function(v,c){const P=[{label:"settings.dsp.move_up",labelArgs:[],action:()=>{q(c,"up")},disabled:c===0,icon:"mdi-arrow-up"},{label:"settings.dsp.move_down",labelArgs:[],action:()=>{q(c,"down")},disabled:c===o.dsp.filters.length-1,icon:"mdi-arrow-down"},{label:"settings.dsp.delete_filter",labelArgs:[],action:()=>{z(c)},icon:"mdi-delete"}];ll.emit("contextmenu",{items:P,posX:v.clientX,posY:v.clientY})};return(v,c)=>(V(),S(Cl,{density:"compact",side:"end"},{default:a(()=>[l(Y,{"dot-color":h("input"),size:"x-small",onClick:c[0]||(c[0]=P=>p("input"))},{default:a(()=>[l(O,{flat:"",rounded:"pill",color:f("input"),class:Z([C("input"),"dsp-pipeline-card"])},{default:a(()=>[l(G,{class:"px-3 py-1"},{default:a(()=>[k(F(v.$t("settings.dsp.input")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"]),l(Y,{"hide-dot":!0,size:"x-small"}),(V(!0),le(se,null,$e(v.dsp.filters,(P,w)=>(V(),S(Y,{key:w,"dot-color":h(w),size:"x-small","hide-dot":T(w),onClick:u=>p(w),onContextmenu:Ke(u=>K(u,w),["prevent"])},{default:a(()=>[l(O,{flat:"",rounded:"pill",color:f(w),class:Z([C(w),"dsp-pipeline-card"])},{default:a(()=>[l(G,{class:"px-3 py-1"},{default:a(()=>[k(F(v.$t(`settings.dsp.types.${P.type}`)),1)]),_:2},1024)]),_:2},1032,["color","class"])]),_:2},1032,["dot-color","hide-dot","onClick","onContextmenu"]))),128)),l(Y,{"dot-color":"secondary",size:"x-small","hide-dot":!0},{default:a(()=>[l(O,{outlined:"",rounded:"pill",class:"dsp-pipeline-card add-filter-btn",elevation:0,onClick:c[1]||(c[1]=P=>i("onAddFilter"))},{default:a(()=>[l(G,{class:"py-1 d-flex align-center"},{default:a(()=>[l(L,{size:"small",class:"mr-1"},{default:a(()=>c[3]||(c[3]=[k("mdi-plus")])),_:1}),k(" "+F(v.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1}),l(Y,{"hide-dot":!0,size:"x-small"}),l(Y,{"dot-color":h("output"),size:"x-small",onClick:c[2]||(c[2]=P=>p("output"))},{default:a(()=>[l(O,{flat:"",rounded:"pill",color:f("output"),class:Z([C("output"),"dsp-pipeline-card"])},{default:a(()=>[l(G,{class:"px-3 py-1"},{default:a(()=>[k(F(v.$t("settings.dsp.output")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"])]),_:1}))}}),hl=Ie(kl,[["__scopeId","data-v-f292f100"]]),Sl={style:{"min-width":"100px"},class:"v-label pl-2"},Tl={style:{"min-width":"40px"},class:"pl-2"},U=te({__name:"DSPSlider",props:Xe({type:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const _=t,m=pe(t,"modelValue"),o=R(!1),i=j(()=>_.type==="gain"?{min:-15,max:15,step:.1,label:x("settings.dsp.parameter.gain"),unit:"dB"}:_.type==="q"?{min:.1,max:20,step:.1,label:x("settings.dsp.parameter.q_factor"),unit:""}:_.type==="frequency"?{min:20,max:2e4,step:1,label:x("settings.dsp.parameter.frequency"),unit:"Hz"}:_.type),h=j({get:()=>o.value?m.value.toString():m.value>1e3?m.value.toFixed(0):m.value>100?m.value.toFixed(1):m.value.toFixed(2),set:T=>{m.value=Number(T)}});return(T,f)=>(V(),S(Q,{flat:"",color:"transparent"},{default:a(()=>[l(G,{class:"d-flex align-center gap-4"},{default:a(()=>[J("span",Sl,F(i.value.label),1),l(ml,{modelValue:m.value,"onUpdate:modelValue":f[0]||(f[0]=C=>m.value=C),min:i.value.min,max:i.value.max,step:i.value.step,"hide-details":"",class:"flex-grow-1 pr-4",density:"compact",color:"primary"},null,8,["modelValue","min","max","step"]),l(fl,{modelValue:h.value,"onUpdate:modelValue":f[1]||(f[1]=C=>h.value=C),type:"number","hide-details":"",density:"compact",style:{"max-width":"100px"},onFocus:f[2]||(f[2]=C=>o.value=!0),onBlur:f[3]||(f[3]=C=>o.value=!1)},null,8,["modelValue"]),J("span",Tl,F(i.value.unit),1)]),_:1})]),_:1}))}}),Pl={class:"d-flex align-center"},$l=te({__name:"DSPParametricEQ",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const _={PK:b.PEAK,PEQ:b.PEAK,HP:b.HIGH_PASS,HPQ:b.HIGH_PASS,LP:b.LOW_PASS,LPQ:b.LOW_PASS,LS:b.LOW_SHELF,HS:b.HIGH_SHELF,NO:b.NOTCH},m={[b.PEAK]:"PK",[b.HIGH_PASS]:"HP",[b.LOW_PASS]:"LP",[b.LOW_SHELF]:"LS",[b.HIGH_SHELF]:"HS",[b.NOTCH]:"NO"},o=s=>{const e=s.split(`
2
- `),r=[];p.value.preamp=0;for(const g of e)if(g.startsWith("Filter")){const y=g.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(y){const[I,M,X,A,B,ye,be]=y;X!=="None"&&r.push({frequency:parseFloat(A),gain:parseFloat(B),q:parseFloat(ye),type:_[X]||b.PEAK,enabled:M==="ON"})}}else if(g.startsWith("Preamp")){const y=g.match(/Preamp:\s*(-?\d+\.?\d*)\s+dB/);y&&(p.value.preamp=parseFloat(y[1]))}p.value.bands=r,n.value=-1},i=s=>{const e=s.target;if(e.files&&e.files[0]){const r=e.files[0],g=new FileReader;g.onload=y=>{var I;(I=y.target)!=null&&I.result&&o(y.target.result)},g.readAsText(r)}},h=R(null),T=()=>{var s;(s=h.value)==null||s.click()},f=()=>{let s=`Preamp: ${ee.value.toFixed(2)} dB
1
+ import{p as me,aS as Te,g as fe,t as H,n as l,s as Ue,r as x,w as W,a as ne,aY as Ne,f as We,i as Ge,h as Qe,l as je,c as j,x as te,Q as Pe,y as V,z as S,A as a,X as Z,S as k,J as F,D as le,E as $e,a2 as Ke,F as se,ay as Xe,az as pe,$ as R,B as J,aZ as b,o as Ce,G as $,K as D,af as Ye,aB as Je,aR as N,j as Ze,ai as el,I as ie}from"./index-m8nKq5sO.js";import{e as ll}from"./eventbus-CGRXT3Tn.js";import{a as ce,c as Fe,R as qe,b as Ae,S as tl,e as ke,g as al,f as nl,i as ve,w as L,j as sl,l as il,d as De,n as ol,o as rl,q as ul,v as O}from"./VListItem-BgwpeMXY.js";import{b as G,V as dl}from"./VCardText-DV3N2e-3.js";import{_ as Ie}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as ml}from"./VSlider-C-mU62Ej.js";import{V as fl}from"./VTextField-CAVAhBK-.js";import{V as Q,b as re,a as pl}from"./VCard-DaTV885y.js";import{a as cl,b as oe}from"./VChip-3PA_sq0L.js";import{V as Oe,a as ue}from"./VRow-DOb23SwQ.js";import{V as de,a as we}from"./VSwitch-D9Kdeykp.js";import{V as Ee}from"./VSpacer-Cw6OWjUU.js";import{V as Re}from"./VContainer-CFZeQyHT.js";import{V as he,a as Se}from"./VToolbar-CjHms_z-.js";import{V as vl}from"./VDialog-BQ5W8yPe.js";import{V as gl}from"./VAlert-CcnHiMQr.js";import{V as yl}from"./VCheckbox-DB8Mf-0e.js";import"./VCheckboxBtn-GM1QeixE.js";import"./VMenu-Bm7-wo-8.js";/* empty css */import"./VList-Dq2hFeo-.js";import"./VVirtualScroll-Di-Iytdq.js";const bl=me({dotColor:String,fillDot:Boolean,hideDot:Boolean,icon:Te,iconColor:String,lineColor:String,...ce(),...Fe(),...qe(),...Ae()},"VTimelineDivider"),_l=fe()({name:"VTimelineDivider",props:bl(),setup(t,_){let{slots:m}=_;const{sizeClasses:o,sizeStyles:i}=tl(t,"v-timeline-divider__dot"),{backgroundColorStyles:h,backgroundColorClasses:T}=ke(H(t,"dotColor")),{roundedClasses:f}=al(t,"v-timeline-divider__dot"),{elevationClasses:C}=nl(t),{backgroundColorClasses:p,backgroundColorStyles:q}=ke(H(t,"lineColor"));return ve(()=>l("div",{class:["v-timeline-divider",{"v-timeline-divider--fill-dot":t.fillDot},t.class],style:t.style},[l("div",{class:["v-timeline-divider__before",p.value],style:q.value},null),!t.hideDot&&l("div",{key:"dot",class:["v-timeline-divider__dot",C.value,f.value,o.value],style:i.value},[l("div",{class:["v-timeline-divider__inner-dot",T.value,f.value],style:h.value},[m.default?l(sl,{key:"icon-defaults",disabled:!t.icon,defaults:{VIcon:{color:t.iconColor,icon:t.icon,size:t.size}}},m.default):l(L,{key:"icon",color:t.iconColor,icon:t.icon,size:t.size},null)])]),l("div",{class:["v-timeline-divider__after",p.value],style:q.value},null)])),{}}}),xe=me({density:String,dotColor:String,fillDot:Boolean,hideDot:Boolean,hideOpposite:{type:Boolean,default:void 0},icon:Te,iconColor:String,lineInset:[Number,String],...ce(),...il(),...Ae(),...Fe(),...qe(),...De()},"VTimelineItem"),Y=fe()({name:"VTimelineItem",props:xe(),setup(t,_){let{slots:m}=_;const{dimensionStyles:o}=ol(t),i=Ue(0),h=x();return W(h,T=>{var f;T&&(i.value=((f=T.$el.querySelector(".v-timeline-divider__dot"))==null?void 0:f.getBoundingClientRect().width)??0)},{flush:"post"}),ve(()=>{var T,f;return l("div",{class:["v-timeline-item",{"v-timeline-item--fill-dot":t.fillDot},t.class],style:[{"--v-timeline-dot-size":ne(i.value),"--v-timeline-line-inset":t.lineInset?`calc(var(--v-timeline-dot-size) / 2 + ${ne(t.lineInset)})`:ne(0)},t.style]},[l("div",{class:"v-timeline-item__body",style:o.value},[(T=m.default)==null?void 0:T.call(m)]),l(_l,{ref:h,hideDot:t.hideDot,icon:t.icon,iconColor:t.iconColor,size:t.size,elevation:t.elevation,dotColor:t.dotColor,fillDot:t.fillDot,rounded:t.rounded},{default:m.icon}),t.density!=="compact"&&l("div",{class:"v-timeline-item__opposite"},[!t.hideOpposite&&((f=m.opposite)==null?void 0:f.call(m))])])}),{}}}),Vl=me({align:{type:String,default:"center",validator:t=>["center","start"].includes(t)},direction:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)},justify:{type:String,default:"auto",validator:t=>["auto","center"].includes(t)},side:{type:String,validator:t=>t==null||["start","end"].includes(t)},lineThickness:{type:[String,Number],default:2},lineColor:String,truncateLine:{type:String,validator:t=>["start","end","both"].includes(t)},...Ne(xe({lineInset:0}),["dotColor","fillDot","hideOpposite","iconColor","lineInset","size"]),...ce(),...rl(),...De(),...We()},"VTimeline"),Cl=fe()({name:"VTimeline",props:Vl(),setup(t,_){let{slots:m}=_;const{themeClasses:o}=Ge(t),{densityClasses:i}=ul(t),{rtlClasses:h}=Qe();je({VTimelineDivider:{lineColor:H(t,"lineColor")},VTimelineItem:{density:H(t,"density"),dotColor:H(t,"dotColor"),fillDot:H(t,"fillDot"),hideOpposite:H(t,"hideOpposite"),iconColor:H(t,"iconColor"),lineColor:H(t,"lineColor"),lineInset:H(t,"lineInset"),size:H(t,"size")}});const T=j(()=>{const C=t.side?t.side:t.density!=="default"?"end":null;return C&&`v-timeline--side-${C}`}),f=j(()=>{const C=["v-timeline--truncate-line-start","v-timeline--truncate-line-end"];switch(t.truncateLine){case"both":return C;case"start":return C[0];case"end":return C[1];default:return null}});return ve(()=>l(t.tag,{class:["v-timeline",`v-timeline--${t.direction}`,`v-timeline--align-${t.align}`,`v-timeline--justify-${t.justify}`,f.value,{"v-timeline--inset-line":!!t.lineInset},o.value,i.value,T.value,h.value,t.class],style:[{"--v-timeline-line-thickness":ne(t.lineThickness)},t.style]},m)),{}}}),kl=te({__name:"DSPPipeline",props:{dsp:{},selected:{}},emits:["onSelect","onAddFilter","onMoveFilter","onDeleteFilter"],setup(t,{emit:_}){const m=Pe(),o=t,i=_,h=v=>o.selected===v?"primary":"secondary",T=v=>v==="input"||v==="output"?!1:!o.dsp.filters[v].enabled,f=v=>o.selected===v?"primary":m.global.current.value.dark?"grey-darken-3":"grey-lighten-3",C=v=>({"filter-selected":o.selected===v}),p=v=>{i("onSelect",v)},q=(v,c)=>{i("onMoveFilter",{index:v,direction:c})},z=v=>{i("onDeleteFilter",v)},K=function(v,c){const P=[{label:"settings.dsp.move_up",labelArgs:[],action:()=>{q(c,"up")},disabled:c===0,icon:"mdi-arrow-up"},{label:"settings.dsp.move_down",labelArgs:[],action:()=>{q(c,"down")},disabled:c===o.dsp.filters.length-1,icon:"mdi-arrow-down"},{label:"settings.dsp.delete_filter",labelArgs:[],action:()=>{z(c)},icon:"mdi-delete"}];ll.emit("contextmenu",{items:P,posX:v.clientX,posY:v.clientY})};return(v,c)=>(V(),S(Cl,{density:"compact",side:"end"},{default:a(()=>[l(Y,{"dot-color":h("input"),size:"x-small",onClick:c[0]||(c[0]=P=>p("input"))},{default:a(()=>[l(O,{flat:"",rounded:"pill",color:f("input"),class:Z([C("input"),"dsp-pipeline-card"])},{default:a(()=>[l(G,{class:"px-3 py-1"},{default:a(()=>[k(F(v.$t("settings.dsp.input")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"]),l(Y,{"hide-dot":!0,size:"x-small"}),(V(!0),le(se,null,$e(v.dsp.filters,(P,w)=>(V(),S(Y,{key:w,"dot-color":h(w),size:"x-small","hide-dot":T(w),onClick:u=>p(w),onContextmenu:Ke(u=>K(u,w),["prevent"])},{default:a(()=>[l(O,{flat:"",rounded:"pill",color:f(w),class:Z([C(w),"dsp-pipeline-card"])},{default:a(()=>[l(G,{class:"px-3 py-1"},{default:a(()=>[k(F(v.$t(`settings.dsp.types.${P.type}`)),1)]),_:2},1024)]),_:2},1032,["color","class"])]),_:2},1032,["dot-color","hide-dot","onClick","onContextmenu"]))),128)),l(Y,{"dot-color":"secondary",size:"x-small","hide-dot":!0},{default:a(()=>[l(O,{outlined:"",rounded:"pill",class:"dsp-pipeline-card add-filter-btn",elevation:0,onClick:c[1]||(c[1]=P=>i("onAddFilter"))},{default:a(()=>[l(G,{class:"py-1 d-flex align-center"},{default:a(()=>[l(L,{size:"small",class:"mr-1"},{default:a(()=>c[3]||(c[3]=[k("mdi-plus")])),_:1}),k(" "+F(v.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1}),l(Y,{"hide-dot":!0,size:"x-small"}),l(Y,{"dot-color":h("output"),size:"x-small",onClick:c[2]||(c[2]=P=>p("output"))},{default:a(()=>[l(O,{flat:"",rounded:"pill",color:f("output"),class:Z([C("output"),"dsp-pipeline-card"])},{default:a(()=>[l(G,{class:"px-3 py-1"},{default:a(()=>[k(F(v.$t("settings.dsp.output")),1)]),_:1})]),_:1},8,["color","class"])]),_:1},8,["dot-color"])]),_:1}))}}),hl=Ie(kl,[["__scopeId","data-v-f292f100"]]),Sl={style:{"min-width":"100px"},class:"v-label pl-2"},Tl={style:{"min-width":"40px"},class:"pl-2"},U=te({__name:"DSPSlider",props:Xe({type:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const _=t,m=pe(t,"modelValue"),o=x(!1),i=j(()=>_.type==="gain"?{min:-15,max:15,step:.1,label:R("settings.dsp.parameter.gain"),unit:"dB"}:_.type==="q"?{min:.1,max:20,step:.1,label:R("settings.dsp.parameter.q_factor"),unit:""}:_.type==="frequency"?{min:20,max:2e4,step:1,label:R("settings.dsp.parameter.frequency"),unit:"Hz"}:_.type),h=j({get:()=>o.value?m.value.toString():m.value>1e3?m.value.toFixed(0):m.value>100?m.value.toFixed(1):m.value.toFixed(2),set:T=>{m.value=Number(T)}});return(T,f)=>(V(),S(Q,{flat:"",color:"transparent"},{default:a(()=>[l(G,{class:"d-flex align-center gap-4"},{default:a(()=>[J("span",Sl,F(i.value.label),1),l(ml,{modelValue:m.value,"onUpdate:modelValue":f[0]||(f[0]=C=>m.value=C),min:i.value.min,max:i.value.max,step:i.value.step,"hide-details":"",class:"flex-grow-1 pr-4",density:"compact",color:"primary"},null,8,["modelValue","min","max","step"]),l(fl,{modelValue:h.value,"onUpdate:modelValue":f[1]||(f[1]=C=>h.value=C),type:"number","hide-details":"",density:"compact",style:{"max-width":"100px"},onFocus:f[2]||(f[2]=C=>o.value=!0),onBlur:f[3]||(f[3]=C=>o.value=!1)},null,8,["modelValue"]),J("span",Tl,F(i.value.unit),1)]),_:1})]),_:1}))}}),Pl={class:"d-flex align-center"},$l=te({__name:"DSPParametricEQ",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const _={PK:b.PEAK,PEQ:b.PEAK,HP:b.HIGH_PASS,HPQ:b.HIGH_PASS,LP:b.LOW_PASS,LPQ:b.LOW_PASS,LS:b.LOW_SHELF,HS:b.HIGH_SHELF,NO:b.NOTCH},m={[b.PEAK]:"PK",[b.HIGH_PASS]:"HP",[b.LOW_PASS]:"LP",[b.LOW_SHELF]:"LS",[b.HIGH_SHELF]:"HS",[b.NOTCH]:"NO"},o=s=>{const e=s.split(`
2
+ `),r=[];p.value.preamp=0;for(const g of e)if(g.startsWith("Filter")){const y=g.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(y){const[I,M,X,A,B,ye,be]=y;X!=="None"&&r.push({frequency:parseFloat(A),gain:parseFloat(B),q:parseFloat(ye),type:_[X]||b.PEAK,enabled:M==="ON"})}}else if(g.startsWith("Preamp")){const y=g.match(/Preamp:\s*(-?\d+\.?\d*)\s+dB/);y&&(p.value.preamp=parseFloat(y[1]))}p.value.bands=r,n.value=-1},i=s=>{const e=s.target;if(e.files&&e.files[0]){const r=e.files[0],g=new FileReader;g.onload=y=>{var I;(I=y.target)!=null&&I.result&&o(y.target.result)},g.readAsText(r)}},h=x(null),T=()=>{var s;(s=h.value)==null||s.click()},f=()=>{let s=`Preamp: ${ee.value.toFixed(2)} dB
3
3
  `;p.value.bands.forEach((y,I)=>{const M=m[y.type];s+=`Filter ${I+1}: ${y.enabled?"ON":"OFF"} ${M} Fc ${y.frequency.toFixed(1)} Hz Gain ${y.gain.toFixed(2)} dB Q ${y.q.toFixed(3)}
4
- `});const e=new Blob([s],{type:"text/plain"}),r=URL.createObjectURL(e),g=document.createElement("a");g.href=r,g.download=`music_assistant_eq_settings_${new Date().toISOString().split("T")[0]}.txt`,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(r)},C=Pe(),p=pe(t,"modelValue"),q=R(null),z=R(null),K=Object.values(b).map(s=>({title:x(`settings.dsp.parametric_eq.filter_types.${s}`),value:s})),v=s=>![b.HIGH_PASS,b.LOW_PASS,b.NOTCH].includes(s),c=R({width:0,height:0,min_gain:-20,max_gain:20,min_freq:20,max_freq:2e4,padding_lr:40,padding_tb:20}),P=()=>{if(!q.value||!z.value)return;const s=C.global.current.value.dark,e=q.value.getContext("2d");if(!e)return;q.value.width=z.value.clientWidth*2,q.value.height=z.value.clientHeight*2,c.value.width=q.value.width/2,c.value.height=q.value.height/2,e.scale(2,2),e.clearRect(0,0,q.value.width,q.value.height),Le(e,c.value);const r=e.canvas.width/2;e.canvas.height/2;const g=new Float32Array(r).fill(p.value.preamp??0);p.value.bands.forEach((y,I)=>{if(y.enabled){let M=`hsla(${I*360/p.value.bands.length}, 60%, ${s?70:50}%, 0.5)`;e.beginPath(),I===n.value?(e.lineWidth=5,M=`hsla(${I*360/p.value.bands.length}, 70%, ${s?70:60}%, 1)`):e.lineWidth=2,e.strokeStyle=M;const X=new Float32Array(r);for(let E=0;E<r;E++)X[E]=ze(E,c.value);const A=new Float32Array(r),B=new Float32Array(r);w(u,y).getFrequencyResponse(X,A,B);for(let E=c.value.padding_lr;E<r-c.value.padding_lr;E++){const _e=20*Math.log10(A[E]);g[E]+=_e;const Ve=ae(_e,c.value);E===0?e.moveTo(E,Ve):e.lineTo(E,Ve)}e.stroke();const be=ge(y.frequency,c.value),Me=ae(y.gain,c.value);e.beginPath(),e.fillStyle=M,e.arc(be,Me,6,0,2*Math.PI),e.fill()}}),e.lineWidth=2,s?e.strokeStyle="#fff":e.strokeStyle="#000",e.beginPath();for(let y=c.value.padding_lr;y<r-c.value.padding_lr;y++){const I=ae(g[y],c.value);y===0?e.moveTo(y,I):e.lineTo(y,I)}e.stroke()},w=(s,e)=>{const r=s.createBiquadFilter();switch(e.type){case b.HIGH_PASS:r.type="highpass";break;case b.LOW_PASS:r.type="lowpass";break;case b.HIGH_SHELF:r.type="highshelf";break;case b.LOW_SHELF:r.type="lowshelf";break;case b.NOTCH:r.type="notch";break;case b.PEAK:r.type="peaking";break}return r.frequency.value=e.frequency,r.Q.value=e.q,r.gain.value=e.gain,r},u=new AudioContext;j(()=>p.value.bands.map(s=>w(u,s)));const n=R(-1),d=j(()=>p.value.bands[n.value]),ee=j({get:()=>p.value.preamp??0,set:s=>{p.value.preamp=s}}),Be=s=>{p.value.bands.splice(s,1),n.value>=p.value.bands.length&&(n.value=p.value.bands.length-1)},He=()=>{const s=p.value.bands.length;p.value.bands.push({frequency:1e3,q:1,gain:0,type:b.PEAK,enabled:!0}),n.value=s};W(()=>p.value.bands,P,{deep:!0}),W(()=>p.value.preamp,P),W(()=>n.value,P),W(()=>C.global.current.value.dark,P),Ce(()=>{P(),window.addEventListener("resize",P)});const ge=(s,e)=>{const r=Math.log2(s/e.min_freq),g=Math.log2(e.max_freq/e.min_freq);return r/g*(e.width-e.padding_lr*2)+e.padding_lr},ze=(s,e)=>{const r=Math.log2(e.max_freq/e.min_freq),g=e.min_freq*Math.pow(2,(s-e.padding_lr)/(e.width-e.padding_lr*2)*r);return Math.min(Math.max(g,e.min_freq),e.max_freq)},ae=(s,e)=>e.height/2-s*(e.height-2*e.padding_tb)/(2*Math.max(Math.abs(e.min_gain),Math.abs(e.max_gain))),Le=(s,e)=>{const r=s.canvas.width/2,g=s.canvas.height/2;C.global.current.value.dark?(s.fillStyle="#eee",s.strokeStyle="#eee"):(s.fillStyle="#222",s.strokeStyle="#666"),s.lineWidth=1,[20,50,100,200,500,1e3,2e3,5e3,1e4,2e4].forEach(A=>{const B=ge(A,e);s.beginPath(),s.moveTo(B,e.padding_tb),s.lineTo(B,g-e.padding_tb),s.stroke(),s.font="10px Arial",s.textAlign="center",s.fillText(A>=1e3?`${A/1e3}k`:A.toString(),B,g-5)});const M=e.max_gain-e.min_gain,X=Math.ceil(M/(e.height/30));for(let A=e.min_gain;A<=e.max_gain;A+=X){const B=ae(A,e);s.beginPath(),s.moveTo(e.padding_lr,B),s.lineTo(r-e.padding_lr,B),s.stroke(),s.font="10px Arial",s.textAlign="right",s.fillText(`${A}dB`,e.padding_lr-3,B+3)}};return Ce(()=>{const s=new ResizeObserver(()=>{P()});return z.value&&s.observe(z.value),()=>{s.disconnect()}}),(s,e)=>(V(),S(xe,{class:"pa-2"},{default:a(()=>[l(re,{class:"d-flex justify-end"},{default:a(()=>[l(O,{variant:"outlined",class:"mr-2",onClick:T},{default:a(()=>[l(L,{start:""},{default:a(()=>e[8]||(e[8]=[k("mdi-file-import")])),_:1}),k(" "+F($(x)("settings.dsp.parametric_eq.import_apo")),1)]),_:1}),l(O,{variant:"outlined",class:"mr-2",onClick:f},{default:a(()=>[l(L,{start:""},{default:a(()=>e[9]||(e[9]=[k("mdi-file-export")])),_:1}),k(" "+F($(x)("settings.dsp.parametric_eq.export_apo")),1)]),_:1}),J("input",{ref_key:"fileInputRef",ref:h,type:"file",accept:".txt",class:"d-none",onChange:i},null,544)]),_:1}),l(Q,{elevation:"0",color:"transparent"},{default:a(()=>[J("div",{ref_key:"graphContainer",ref:z,class:"graph-container"},[J("canvas",{ref_key:"canvas",ref:q,class:"frequency-graph"},null,512)],512)]),_:1}),l(Q,{elevation:"0",color:"transparent",class:"border-t border-b rounded-0"},{default:a(()=>[l(G,{class:"pa-0"},{default:a(()=>[l(cl,{modelValue:n.value,"onUpdate:modelValue":e[0]||(e[0]=r=>n.value=r),class:"mb-0 pa-2",mandatory:"","selected-class":"primary"},{default:a(()=>[(V(),S(oe,{key:-1,value:-1,filter:"",variant:"elevated"},{default:a(()=>[k(F($(x)("settings.dsp.parametric_eq.preamp",{index:100})),1)]),_:1})),(V(!0),le(se,null,$e(p.value.bands,(r,g)=>(V(),S(oe,{key:g,value:g,class:Z({"opacity-50":!r.enabled}),filter:"",variant:"elevated"},{default:a(()=>[k(F($(x)("settings.dsp.parametric_eq.band",{index:g+1})),1)]),_:2},1032,["value","class"]))),128)),l(oe,{variant:"outlined",onClick:He},{default:a(()=>[l(L,{icon:"mdi-plus",start:""}),k(" "+F($(x)("settings.dsp.parametric_eq.add_band")),1)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),n.value===-1?(V(),S(Q,{key:0,elevation:"0",color:"transparent"},{default:a(()=>[l(G,null,{default:a(()=>[l(Oe,{dense:""},{default:a(()=>[l(ue,{cols:"12"},{default:a(()=>[l(U,{modelValue:ee.value,"onUpdate:modelValue":e[1]||(e[1]=r=>ee.value=r),type:"gain"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1})):D("",!0),d.value?(V(),le(se,{key:1},[l(re,null,{default:a(()=>[J("div",Pl,[l(de,{modelValue:d.value.enabled,"onUpdate:modelValue":e[2]||(e[2]=r=>d.value.enabled=r),label:$(x)("settings.dsp.parametric_eq.enable_band"),density:"comfortable","hide-details":"",color:"primary"},null,8,["modelValue","label"]),l(Ee),l(O,{color:"error",variant:"tonal",onClick:e[3]||(e[3]=r=>Be(n.value))},{default:a(()=>[l(L,null,{default:a(()=>e[10]||(e[10]=[k("mdi-delete")])),_:1}),k(" "+F($(x)("settings.dsp.parametric_eq.delete_band")),1)]),_:1})])]),_:1}),l(we,{modelValue:d.value.type,"onUpdate:modelValue":e[4]||(e[4]=r=>d.value.type=r),items:$(K),label:$(x)("settings.dsp.parametric_eq.filter_type"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"]),l(U,{modelValue:d.value.frequency,"onUpdate:modelValue":e[5]||(e[5]=r=>d.value.frequency=r),type:"frequency"},null,8,["modelValue"]),v(d.value.type)?(V(),S(U,{key:0,modelValue:d.value.gain,"onUpdate:modelValue":e[6]||(e[6]=r=>d.value.gain=r),type:"gain"},null,8,["modelValue"])):D("",!0),l(U,{modelValue:d.value.q,"onUpdate:modelValue":e[7]||(e[7]=r=>d.value.q=r),type:"q"},null,8,["modelValue"])],64)):D("",!0)]),_:1}))}}),Fl=Ie($l,[["__scopeId","data-v-8a55098e"]]),ql=te({__name:"DSPToneControl",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const _=pe(t,"modelValue");return(m,o)=>(V(),le(se,null,[l(U,{modelValue:_.value.bass_level,"onUpdate:modelValue":o[0]||(o[0]=i=>_.value.bass_level=i),type:{min:-10,max:10,step:.1,label:m.$t("settings.dsp.tone_control.bass_level"),unit:"dB"}},null,8,["modelValue","type"]),l(U,{modelValue:_.value.mid_level,"onUpdate:modelValue":o[1]||(o[1]=i=>_.value.mid_level=i),type:{min:-10,max:10,step:.1,label:m.$t("settings.dsp.tone_control.mid_level"),unit:"dB"}},null,8,["modelValue","type"]),l(U,{modelValue:_.value.treble_level,"onUpdate:modelValue":o[2]||(o[2]=i=>_.value.treble_level=i),type:{min:-10,max:10,step:.1,label:m.$t("settings.dsp.tone_control.treble_level"),unit:"dB"}},null,8,["modelValue","type"])],64))}}),Al={key:0},Zl=te({__name:"EditPlayerDsp",props:{playerId:{}},setup(t){const{t:_}=Ye();Je();const m=t,o=R(),i=R(null),h=R(!1),T=R(N.PARAMETRIC_EQ);R(window.innerWidth);const{mobile:f}=Ze(),C=Object.values(N).map(u=>({value:u,title:_(`settings.dsp.types.${u}`)})),p=u=>{i.value=u},q=u=>{var n;return _(u==="input"?"settings.dsp.input":u==="output"?"settings.dsp.output":`settings.dsp.types.${(n=o.value)==null?void 0:n.filters[u].type}`)},z=()=>{if(!o.value)return;let u;switch(T.value){case N.PARAMETRIC_EQ:u={preamp:0,enabled:!0,type:N.PARAMETRIC_EQ,bands:[]};break;case N.TONE_CONTROL:u={enabled:!0,type:N.TONE_CONTROL,bass_level:0,mid_level:0,treble_level:0};break;default:return}o.value.filters.push(u),h.value=!1,p(o.value.filters.length-1)},K=(u,n)=>{if(!o.value)return;const d=n==="up"?u-1:u+1;if(d<0||d>=o.value.filters.length)return;const[ee]=o.value.filters.splice(u,1);o.value.filters.splice(d,0,ee),i.value===u?i.value=d:i.value===d&&(i.value=u)},v=u=>{var n;i.value===u&&(i.value="input"),(n=o.value)==null||n.filters.splice(u,1)};W(f,u=>{!u&&i.value===null&&p("input")},{immediate:!0});const c=j(()=>el(ie.players[m.playerId],27));W(()=>m.playerId,async u=>{u&&(o.value=await ie.getDSPConfig(u))},{immediate:!0});let P=null;const w=u=>{P&&clearTimeout(P),P=setTimeout(async()=>{m.playerId&&await ie.saveDSPConfig(m.playerId,u)},2e3)};return W(o,(u,n)=>{u!==null&&n&&w(n)},{deep:!0}),(u,n)=>o.value?(V(),le("section",Al,[l(he,{color:"transparent",class:"border-b"},{default:a(()=>[l(de,{modelValue:o.value.enabled,"onUpdate:modelValue":n[0]||(n[0]=d=>o.value.enabled=d),"hide-details":"",color:"primary",class:"pl-4"},null,8,["modelValue"]),l(Se,null,{default:a(()=>[k(F(u.$t("settings.dsp.configure_on",{name:c.value})),1)]),_:1})]),_:1}),l(xe,{class:"pa-4"},{default:a(()=>[o.value.enabled?D("",!0):(V(),S(gl,{key:0,type:"info",class:"mt-4",color:"transparent"},{default:a(()=>[k(F(u.$t("settings.dsp.disabled_message")),1)]),_:1})),l(Oe,{class:Z([{"justify-center":$(f)},"flex-nowrap"])},{default:a(()=>[!$(f)||i.value===null?(V(),S(ue,{key:0,class:Z(["flex-grow-0 flex-shrink-0",{"border-e pr-4":!$(f)}]),"align-self":"start"},{default:a(()=>[l(hl,{dsp:o.value,selected:i.value,onOnSelect:p,onOnAddFilter:n[1]||(n[1]=d=>h.value=!0),onOnMoveFilter:n[2]||(n[2]=d=>K(d.index,d.direction)),onOnDeleteFilter:v},null,8,["dsp","selected"])]),_:1},8,["class"])):D("",!0),i.value!=null?(V(),S(ue,{key:1,style:{"min-width":"0"}},{default:a(()=>[l(he,{density:"compact",color:u.$vuetify.theme.current.dark?"surface":"surface-light",class:"border-b"},{default:a(()=>[$(f)?(V(),S(O,{key:0,class:"hidden-xs-only",icon:"",onClick:n[3]||(n[3]=d=>i.value=null)},{default:a(()=>[l(L,null,{default:a(()=>n[16]||(n[16]=[k("mdi-arrow-left")])),_:1})]),_:1})):D("",!0),l(Se,null,{default:a(()=>[k(F(q(i.value)),1)]),_:1}),typeof i.value=="number"&&!$(f)&&i.value>0?(V(),S(O,{key:1,icon:"",onClick:n[4]||(n[4]=d=>K(i.value,"up"))},{default:a(()=>[l(L,null,{default:a(()=>n[17]||(n[17]=[k("mdi-arrow-up")])),_:1})]),_:1})):D("",!0),typeof i.value=="number"&&!$(f)&&i.value<o.value.filters.length-1?(V(),S(O,{key:2,icon:"",onClick:n[5]||(n[5]=d=>K(i.value,"down"))},{default:a(()=>[l(L,null,{default:a(()=>n[18]||(n[18]=[k("mdi-arrow-down")])),_:1})]),_:1})):D("",!0),typeof i.value=="number"?(V(),S(de,{key:3,modelValue:o.value.filters[i.value].enabled,"onUpdate:modelValue":n[6]||(n[6]=d=>o.value.filters[i.value].enabled=d),"hide-details":"",color:"primary",class:"mr-4"},null,8,["modelValue"])):D("",!0),typeof i.value=="number"?(V(),S(O,{key:4,icon:"",onClick:n[7]||(n[7]=d=>v(i.value))},{default:a(()=>[l(L,null,{default:a(()=>n[19]||(n[19]=[k("mdi-delete")])),_:1})]),_:1})):D("",!0)]),_:1},8,["color"]),i.value==="input"?(V(),S(Q,{key:0,flat:"",color:u.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(U,{modelValue:o.value.input_gain,"onUpdate:modelValue":n[8]||(n[8]=d=>o.value.input_gain=d),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):i.value==="output"?(V(),S(Q,{key:1,flat:"",color:u.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(U,{modelValue:o.value.output_gain,"onUpdate:modelValue":n[9]||(n[9]=d=>o.value.output_gain=d),type:"gain"},null,8,["modelValue"]),l(re,null,{default:a(()=>[l(yl,{modelValue:o.value.output_limiter,"onUpdate:modelValue":n[10]||(n[10]=d=>o.value.output_limiter=d),label:u.$t("settings.dsp.enable_output_limiter"),"hide-details":""},null,8,["modelValue","label"])]),_:1})]),_:1},8,["color"])):(V(),S(Q,{key:2,flat:"",color:u.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[o.value.filters[i.value].type===$(N).PARAMETRIC_EQ?(V(),S(Fl,{key:0,modelValue:o.value.filters[i.value],"onUpdate:modelValue":n[11]||(n[11]=d=>o.value.filters[i.value]=d)},null,8,["modelValue"])):D("",!0),o.value.filters[i.value].type===$(N).TONE_CONTROL?(V(),S(ql,{key:1,modelValue:o.value.filters[i.value],"onUpdate:modelValue":n[12]||(n[12]=d=>o.value.filters[i.value]=d)},null,8,["modelValue"])):D("",!0)]),_:1},8,["color"]))]),_:1})):D("",!0)]),_:1},8,["class"])]),_:1}),l(vl,{modelValue:h.value,"onUpdate:modelValue":n[15]||(n[15]=d=>h.value=d),"max-width":"300"},{default:a(()=>[l(Q,null,{default:a(()=>[l(dl,null,{default:a(()=>[k(F(u.$t("settings.dsp.filter.add")),1)]),_:1}),l(G,null,{default:a(()=>[l(we,{modelValue:T.value,"onUpdate:modelValue":n[13]||(n[13]=d=>T.value=d),items:$(C),label:u.$t("settings.dsp.filter.type")},null,8,["modelValue","items","label"])]),_:1}),l(pl,null,{default:a(()=>[l(Ee),l(O,{onClick:n[14]||(n[14]=d=>h.value=!1)},{default:a(()=>[k(F(u.$t("cancel")),1)]),_:1}),l(O,{color:"primary",onClick:z},{default:a(()=>[k(F(u.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])):D("",!0)}});export{Zl as default};
4
+ `});const e=new Blob([s],{type:"text/plain"}),r=URL.createObjectURL(e),g=document.createElement("a");g.href=r,g.download=`music_assistant_eq_settings_${new Date().toISOString().split("T")[0]}.txt`,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(r)},C=Pe(),p=pe(t,"modelValue"),q=x(null),z=x(null),K=Object.values(b).map(s=>({title:R(`settings.dsp.parametric_eq.filter_types.${s}`),value:s})),v=s=>![b.HIGH_PASS,b.LOW_PASS,b.NOTCH].includes(s),c=x({width:0,height:0,min_gain:-20,max_gain:20,min_freq:20,max_freq:2e4,padding_lr:40,padding_tb:20}),P=()=>{if(!q.value||!z.value)return;const s=C.global.current.value.dark,e=q.value.getContext("2d");if(!e)return;q.value.width=z.value.clientWidth*2,q.value.height=z.value.clientHeight*2,c.value.width=q.value.width/2,c.value.height=q.value.height/2,e.scale(2,2),e.clearRect(0,0,q.value.width,q.value.height),Le(e,c.value);const r=e.canvas.width/2;e.canvas.height/2;const g=new Float32Array(r).fill(p.value.preamp??0);p.value.bands.forEach((y,I)=>{if(y.enabled){let M=`hsla(${I*360/p.value.bands.length}, 60%, ${s?70:50}%, 0.5)`;e.beginPath(),I===n.value?(e.lineWidth=5,M=`hsla(${I*360/p.value.bands.length}, 70%, ${s?70:60}%, 1)`):e.lineWidth=2,e.strokeStyle=M;const X=new Float32Array(r);for(let E=0;E<r;E++)X[E]=ze(E,c.value);const A=new Float32Array(r),B=new Float32Array(r);w(u,y).getFrequencyResponse(X,A,B);for(let E=c.value.padding_lr;E<r-c.value.padding_lr;E++){const _e=20*Math.log10(A[E]);g[E]+=_e;const Ve=ae(_e,c.value);E===0?e.moveTo(E,Ve):e.lineTo(E,Ve)}e.stroke();const be=ge(y.frequency,c.value),Me=ae(y.gain,c.value);e.beginPath(),e.fillStyle=M,e.arc(be,Me,6,0,2*Math.PI),e.fill()}}),e.lineWidth=2,s?e.strokeStyle="#fff":e.strokeStyle="#000",e.beginPath();for(let y=c.value.padding_lr;y<r-c.value.padding_lr;y++){const I=ae(g[y],c.value);y===0?e.moveTo(y,I):e.lineTo(y,I)}e.stroke()},w=(s,e)=>{const r=s.createBiquadFilter();switch(e.type){case b.HIGH_PASS:r.type="highpass";break;case b.LOW_PASS:r.type="lowpass";break;case b.HIGH_SHELF:r.type="highshelf";break;case b.LOW_SHELF:r.type="lowshelf";break;case b.NOTCH:r.type="notch";break;case b.PEAK:r.type="peaking";break}return r.frequency.value=e.frequency,r.Q.value=e.q,r.gain.value=e.gain,r},u=new AudioContext;j(()=>p.value.bands.map(s=>w(u,s)));const n=x(-1),d=j(()=>p.value.bands[n.value]),ee=j({get:()=>p.value.preamp??0,set:s=>{p.value.preamp=s}}),Be=s=>{p.value.bands.splice(s,1),n.value>=p.value.bands.length&&(n.value=p.value.bands.length-1)},He=()=>{const s=p.value.bands.length;p.value.bands.push({frequency:1e3,q:1,gain:0,type:b.PEAK,enabled:!0}),n.value=s};W(()=>p.value.bands,P,{deep:!0}),W(()=>p.value.preamp,P),W(()=>n.value,P),W(()=>C.global.current.value.dark,P),Ce(()=>{P(),window.addEventListener("resize",P)});const ge=(s,e)=>{const r=Math.log2(s/e.min_freq),g=Math.log2(e.max_freq/e.min_freq);return r/g*(e.width-e.padding_lr*2)+e.padding_lr},ze=(s,e)=>{const r=Math.log2(e.max_freq/e.min_freq),g=e.min_freq*Math.pow(2,(s-e.padding_lr)/(e.width-e.padding_lr*2)*r);return Math.min(Math.max(g,e.min_freq),e.max_freq)},ae=(s,e)=>e.height/2-s*(e.height-2*e.padding_tb)/(2*Math.max(Math.abs(e.min_gain),Math.abs(e.max_gain))),Le=(s,e)=>{const r=s.canvas.width/2,g=s.canvas.height/2;C.global.current.value.dark?(s.fillStyle="#eee",s.strokeStyle="#eee"):(s.fillStyle="#222",s.strokeStyle="#666"),s.lineWidth=1,[20,50,100,200,500,1e3,2e3,5e3,1e4,2e4].forEach(A=>{const B=ge(A,e);s.beginPath(),s.moveTo(B,e.padding_tb),s.lineTo(B,g-e.padding_tb),s.stroke(),s.font="10px Arial",s.textAlign="center",s.fillText(A>=1e3?`${A/1e3}k`:A.toString(),B,g-5)});const M=e.max_gain-e.min_gain,X=Math.ceil(M/(e.height/30));for(let A=e.min_gain;A<=e.max_gain;A+=X){const B=ae(A,e);s.beginPath(),s.moveTo(e.padding_lr,B),s.lineTo(r-e.padding_lr,B),s.stroke(),s.font="10px Arial",s.textAlign="right",s.fillText(`${A}dB`,e.padding_lr-3,B+3)}};return Ce(()=>{const s=new ResizeObserver(()=>{P()});return z.value&&s.observe(z.value),()=>{s.disconnect()}}),(s,e)=>(V(),S(Re,{class:"pa-2"},{default:a(()=>[l(re,{class:"d-flex justify-end"},{default:a(()=>[l(O,{variant:"outlined",class:"mr-2",onClick:T},{default:a(()=>[l(L,{start:""},{default:a(()=>e[8]||(e[8]=[k("mdi-file-import")])),_:1}),k(" "+F($(R)("settings.dsp.parametric_eq.import_apo")),1)]),_:1}),l(O,{variant:"outlined",class:"mr-2",onClick:f},{default:a(()=>[l(L,{start:""},{default:a(()=>e[9]||(e[9]=[k("mdi-file-export")])),_:1}),k(" "+F($(R)("settings.dsp.parametric_eq.export_apo")),1)]),_:1}),J("input",{ref_key:"fileInputRef",ref:h,type:"file",accept:".txt",class:"d-none",onChange:i},null,544)]),_:1}),l(Q,{elevation:"0",color:"transparent"},{default:a(()=>[J("div",{ref_key:"graphContainer",ref:z,class:"graph-container"},[J("canvas",{ref_key:"canvas",ref:q,class:"frequency-graph"},null,512)],512)]),_:1}),l(Q,{elevation:"0",color:"transparent",class:"border-t border-b rounded-0"},{default:a(()=>[l(G,{class:"pa-0"},{default:a(()=>[l(cl,{modelValue:n.value,"onUpdate:modelValue":e[0]||(e[0]=r=>n.value=r),class:"mb-0 pa-2",mandatory:"","selected-class":"primary"},{default:a(()=>[(V(),S(oe,{key:-1,value:-1,filter:"",variant:"elevated"},{default:a(()=>[k(F($(R)("settings.dsp.parametric_eq.preamp",{index:100})),1)]),_:1})),(V(!0),le(se,null,$e(p.value.bands,(r,g)=>(V(),S(oe,{key:g,value:g,class:Z({"opacity-50":!r.enabled}),filter:"",variant:"elevated"},{default:a(()=>[k(F($(R)("settings.dsp.parametric_eq.band",{index:g+1})),1)]),_:2},1032,["value","class"]))),128)),l(oe,{variant:"outlined",onClick:He},{default:a(()=>[l(L,{icon:"mdi-plus",start:""}),k(" "+F($(R)("settings.dsp.parametric_eq.add_band")),1)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),n.value===-1?(V(),S(Q,{key:0,elevation:"0",color:"transparent"},{default:a(()=>[l(G,null,{default:a(()=>[l(Oe,{dense:""},{default:a(()=>[l(ue,{cols:"12"},{default:a(()=>[l(U,{modelValue:ee.value,"onUpdate:modelValue":e[1]||(e[1]=r=>ee.value=r),type:"gain"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1})):D("",!0),d.value?(V(),le(se,{key:1},[l(re,null,{default:a(()=>[J("div",Pl,[l(de,{modelValue:d.value.enabled,"onUpdate:modelValue":e[2]||(e[2]=r=>d.value.enabled=r),label:$(R)("settings.dsp.parametric_eq.enable_band"),density:"comfortable","hide-details":"",color:"primary"},null,8,["modelValue","label"]),l(Ee),l(O,{color:"error",variant:"tonal",onClick:e[3]||(e[3]=r=>Be(n.value))},{default:a(()=>[l(L,null,{default:a(()=>e[10]||(e[10]=[k("mdi-delete")])),_:1}),k(" "+F($(R)("settings.dsp.parametric_eq.delete_band")),1)]),_:1})])]),_:1}),l(we,{modelValue:d.value.type,"onUpdate:modelValue":e[4]||(e[4]=r=>d.value.type=r),items:$(K),label:$(R)("settings.dsp.parametric_eq.filter_type"),variant:"outlined",density:"comfortable",class:"pa-4","hide-details":""},null,8,["modelValue","items","label"]),l(U,{modelValue:d.value.frequency,"onUpdate:modelValue":e[5]||(e[5]=r=>d.value.frequency=r),type:"frequency"},null,8,["modelValue"]),v(d.value.type)?(V(),S(U,{key:0,modelValue:d.value.gain,"onUpdate:modelValue":e[6]||(e[6]=r=>d.value.gain=r),type:"gain"},null,8,["modelValue"])):D("",!0),l(U,{modelValue:d.value.q,"onUpdate:modelValue":e[7]||(e[7]=r=>d.value.q=r),type:"q"},null,8,["modelValue"])],64)):D("",!0)]),_:1}))}}),Fl=Ie($l,[["__scopeId","data-v-8a55098e"]]),ql=te({__name:"DSPToneControl",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const _=pe(t,"modelValue");return(m,o)=>(V(),le(se,null,[l(U,{modelValue:_.value.bass_level,"onUpdate:modelValue":o[0]||(o[0]=i=>_.value.bass_level=i),type:{min:-10,max:10,step:.1,label:m.$t("settings.dsp.tone_control.bass_level"),unit:"dB"}},null,8,["modelValue","type"]),l(U,{modelValue:_.value.mid_level,"onUpdate:modelValue":o[1]||(o[1]=i=>_.value.mid_level=i),type:{min:-10,max:10,step:.1,label:m.$t("settings.dsp.tone_control.mid_level"),unit:"dB"}},null,8,["modelValue","type"]),l(U,{modelValue:_.value.treble_level,"onUpdate:modelValue":o[2]||(o[2]=i=>_.value.treble_level=i),type:{min:-10,max:10,step:.1,label:m.$t("settings.dsp.tone_control.treble_level"),unit:"dB"}},null,8,["modelValue","type"])],64))}}),Al={key:0},Zl=te({__name:"EditPlayerDsp",props:{playerId:{}},setup(t){const{t:_}=Ye();Je();const m=t,o=x(),i=x(null),h=x(!1),T=x(N.PARAMETRIC_EQ);x(window.innerWidth);const{mobile:f}=Ze(),C=Object.values(N).map(u=>({value:u,title:_(`settings.dsp.types.${u}`)})),p=u=>{i.value=u},q=u=>{var n;return _(u==="input"?"settings.dsp.input":u==="output"?"settings.dsp.output":`settings.dsp.types.${(n=o.value)==null?void 0:n.filters[u].type}`)},z=()=>{if(!o.value)return;let u;switch(T.value){case N.PARAMETRIC_EQ:u={preamp:0,enabled:!0,type:N.PARAMETRIC_EQ,bands:[]};break;case N.TONE_CONTROL:u={enabled:!0,type:N.TONE_CONTROL,bass_level:0,mid_level:0,treble_level:0};break;default:return}o.value.filters.push(u),h.value=!1,p(o.value.filters.length-1)},K=(u,n)=>{if(!o.value)return;const d=n==="up"?u-1:u+1;if(d<0||d>=o.value.filters.length)return;const[ee]=o.value.filters.splice(u,1);o.value.filters.splice(d,0,ee),i.value===u?i.value=d:i.value===d&&(i.value=u)},v=u=>{var n;i.value===u&&(i.value="input"),(n=o.value)==null||n.filters.splice(u,1)};W(f,u=>{!u&&i.value===null&&p("input")},{immediate:!0});const c=j(()=>el(ie.players[m.playerId],27));W(()=>m.playerId,async u=>{u&&(o.value=await ie.getDSPConfig(u))},{immediate:!0});let P=null;const w=u=>{P&&clearTimeout(P),P=setTimeout(async()=>{m.playerId&&await ie.saveDSPConfig(m.playerId,u)},2e3)};return W(o,(u,n)=>{u!==null&&n&&w(n)},{deep:!0}),(u,n)=>o.value?(V(),le("section",Al,[l(he,{color:"transparent",class:"border-b"},{default:a(()=>[l(de,{modelValue:o.value.enabled,"onUpdate:modelValue":n[0]||(n[0]=d=>o.value.enabled=d),"hide-details":"",color:"primary",class:"pl-4"},null,8,["modelValue"]),l(Se,null,{default:a(()=>[k(F(u.$t("settings.dsp.configure_on",{name:c.value})),1)]),_:1})]),_:1}),l(Re,{class:"pa-4"},{default:a(()=>[o.value.enabled?D("",!0):(V(),S(gl,{key:0,type:"info",class:"mt-4",color:"transparent"},{default:a(()=>[k(F(u.$t("settings.dsp.disabled_message")),1)]),_:1})),l(Oe,{class:Z([{"justify-center":$(f)},"flex-nowrap"])},{default:a(()=>[!$(f)||i.value===null?(V(),S(ue,{key:0,class:Z(["flex-grow-0 flex-shrink-0",{"border-e pr-4":!$(f)}]),"align-self":"start"},{default:a(()=>[l(hl,{dsp:o.value,selected:i.value,onOnSelect:p,onOnAddFilter:n[1]||(n[1]=d=>h.value=!0),onOnMoveFilter:n[2]||(n[2]=d=>K(d.index,d.direction)),onOnDeleteFilter:v},null,8,["dsp","selected"])]),_:1},8,["class"])):D("",!0),i.value!=null?(V(),S(ue,{key:1,style:{"min-width":"0"}},{default:a(()=>[l(he,{density:"compact",color:u.$vuetify.theme.current.dark?"surface":"surface-light",class:"border-b"},{default:a(()=>[$(f)?(V(),S(O,{key:0,class:"hidden-xs-only",icon:"",onClick:n[3]||(n[3]=d=>i.value=null)},{default:a(()=>[l(L,null,{default:a(()=>n[16]||(n[16]=[k("mdi-arrow-left")])),_:1})]),_:1})):D("",!0),l(Se,null,{default:a(()=>[k(F(q(i.value)),1)]),_:1}),typeof i.value=="number"&&!$(f)&&i.value>0?(V(),S(O,{key:1,icon:"",onClick:n[4]||(n[4]=d=>K(i.value,"up"))},{default:a(()=>[l(L,null,{default:a(()=>n[17]||(n[17]=[k("mdi-arrow-up")])),_:1})]),_:1})):D("",!0),typeof i.value=="number"&&!$(f)&&i.value<o.value.filters.length-1?(V(),S(O,{key:2,icon:"",onClick:n[5]||(n[5]=d=>K(i.value,"down"))},{default:a(()=>[l(L,null,{default:a(()=>n[18]||(n[18]=[k("mdi-arrow-down")])),_:1})]),_:1})):D("",!0),typeof i.value=="number"?(V(),S(de,{key:3,modelValue:o.value.filters[i.value].enabled,"onUpdate:modelValue":n[6]||(n[6]=d=>o.value.filters[i.value].enabled=d),"hide-details":"",color:"primary",class:"mr-4"},null,8,["modelValue"])):D("",!0),typeof i.value=="number"?(V(),S(O,{key:4,icon:"",onClick:n[7]||(n[7]=d=>v(i.value))},{default:a(()=>[l(L,null,{default:a(()=>n[19]||(n[19]=[k("mdi-delete")])),_:1})]),_:1})):D("",!0)]),_:1},8,["color"]),i.value==="input"?(V(),S(Q,{key:0,flat:"",color:u.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(U,{modelValue:o.value.input_gain,"onUpdate:modelValue":n[8]||(n[8]=d=>o.value.input_gain=d),type:"gain"},null,8,["modelValue"])]),_:1},8,["color"])):i.value==="output"?(V(),S(Q,{key:1,flat:"",color:u.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[l(U,{modelValue:o.value.output_gain,"onUpdate:modelValue":n[9]||(n[9]=d=>o.value.output_gain=d),type:"gain"},null,8,["modelValue"]),l(re,null,{default:a(()=>[l(yl,{modelValue:o.value.output_limiter,"onUpdate:modelValue":n[10]||(n[10]=d=>o.value.output_limiter=d),label:u.$t("settings.dsp.enable_output_limiter"),"hide-details":""},null,8,["modelValue","label"])]),_:1})]),_:1},8,["color"])):(V(),S(Q,{key:2,flat:"",color:u.$vuetify.theme.current.dark?"surface":"surface-light"},{default:a(()=>[o.value.filters[i.value].type===$(N).PARAMETRIC_EQ?(V(),S(Fl,{key:0,modelValue:o.value.filters[i.value],"onUpdate:modelValue":n[11]||(n[11]=d=>o.value.filters[i.value]=d)},null,8,["modelValue"])):D("",!0),o.value.filters[i.value].type===$(N).TONE_CONTROL?(V(),S(ql,{key:1,modelValue:o.value.filters[i.value],"onUpdate:modelValue":n[12]||(n[12]=d=>o.value.filters[i.value]=d)},null,8,["modelValue"])):D("",!0)]),_:1},8,["color"]))]),_:1})):D("",!0)]),_:1},8,["class"])]),_:1}),l(vl,{modelValue:h.value,"onUpdate:modelValue":n[15]||(n[15]=d=>h.value=d),"max-width":"300"},{default:a(()=>[l(Q,null,{default:a(()=>[l(dl,null,{default:a(()=>[k(F(u.$t("settings.dsp.filter.add")),1)]),_:1}),l(G,null,{default:a(()=>[l(we,{modelValue:T.value,"onUpdate:modelValue":n[13]||(n[13]=d=>T.value=d),items:$(C),label:u.$t("settings.dsp.filter.type")},null,8,["modelValue","items","label"])]),_:1}),l(pl,null,{default:a(()=>[l(Ee),l(O,{onClick:n[14]||(n[14]=d=>h.value=!1)},{default:a(()=>[k(F(u.$t("cancel")),1)]),_:1}),l(O,{color:"primary",onClick:z},{default:a(()=>[k(F(u.$t("settings.dsp.filter.add")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])):D("",!0)}});export{Zl as default};
@@ -1 +1 @@
1
- import{x as I,aA as S,r as g,o as P,I as o,ah as _,b as N,w as j,y as u,D as w,n as r,A as s,G as i,S as f,J as y,B as m,z as p,aB as U,K as c,aV as H,af as L}from"./index-Dvn4b3kE.js";import{E as O}from"./EditConfig-GlgW_AZF.js";import{n as x}from"./index.browser-OxPLOBIU.js";import{b as D,V as C,a as V}from"./VCardText-CXkKR7ML.js";import{e as z}from"./VMenu-BxZEtUbH.js";import{V as h}from"./VList-BFxH2oe3.js";import{V as F}from"./VTextField-CNfw_aKz.js";import{V as G}from"./VSwitch-BjWr2FW1.js";import{a as J,V as K}from"./VCard-DDEjK8sh.js";import{v as R,C as q}from"./VListItem-XlHdRn90.js";import"./VExpansionPanels-CRDFiEUd.js";import"./VCheckboxBtn-B2R62I44.js";import"./VAlert-BKHMgC3s.js";import"./VSlider-D6_NZN0T.js";import"./VVirtualScroll-DezxvIhI.js";import"./VChip-BKGA7XXZ.js";import"./VForm-3D0lQdNE.js";import"./VSpacer-BpjLI35r.js";/* empty css */import"./VDialog-CHkPjb9d.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const Q={key:0},W={id:"auth",href:"",target:"_blank"},Ve=I({__name:"EditProvider",props:{instanceId:{}},setup(A){const M=S(),t=g(),k=x(11),v=g(!1),b=g(!1),T=A;P(()=>{const a=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(a)}),j(()=>T.instanceId,async a=>{a&&(t.value=await o.getProviderConfig(a))},{immediate:!0});const B=async function(a){v.value=!0,a.enabled=t.value.enabled,a.name=t.value.name||null,o.saveProviderConfig(t.value.domain,a,t.value.instance_id).then(()=>{M.push({name:"providersettings"})}).catch(e=>{alert(e)}).finally(()=>{v.value=!1,b.value=!1})},$=async function(a,e){v.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=k,o.getProviderConfigEntries(t.value.domain,t.value.instance_id,a,e).then(n=>{t.value.values={};for(const l of n)t.value.values[l.key]=l}).catch(n=>{alert(n)}).finally(()=>{v.value=!1,b.value=!1})},E=function(a){const e=[],{t:n}=L();for(const l of a)l.includes("@")?e.push(`[${l.replace("@","")}](https://github.com/${l.replace("@","")})`):e.push(l);return`**${n("settings.codeowners")}**: `+e.join(" / ")};return(a,e)=>(u(),w("section",null,[r(D,null,{default:s(()=>{var n,l;return[t.value&&i(o).providerManifests[t.value.domain]?(u(),w("div",Q,[r(C,null,{default:s(()=>{var d;return[f(y(a.$t("settings.setup_provider",[t.value.name||((d=i(o).getProvider(t.value.instance_id))==null?void 0:d.name)])),1)]}),_:1}),r(V,{style:{"white-space":"normal"}},{default:s(()=>[f(y(i(o).providerManifests[t.value.domain].description),1)]),_:1}),e[5]||(e[5]=m("br",null,null,-1)),i(o).providerManifests[t.value.domain].codeowners.length?(u(),p(V,{key:0,innerHTML:i(U)(E(i(o).providerManifests[t.value.domain].codeowners))},null,8,["innerHTML"])):c("",!0),i(o).providerManifests[t.value.domain].documentation?(u(),p(V,{key:1},{default:s(()=>[m("b",null,y(a.$t("settings.need_help_setup_provider")),1),e[4]||(e[4]=f("  ")),m("a",{onClick:e[0]||(e[0]=d=>i(H)(i(o).providerManifests[t.value.domain].documentation))},y(a.$t("settings.check_docs")),1)]),_:1})):c("",!0),e[6]||(e[6]=m("br",null,null,-1)),r(h),e[7]||(e[7]=m("br",null,null,-1)),e[8]||(e[8]=m("br",null,null,-1)),"name"in t.value?(u(),p(F,{key:2,modelValue:t.value.name,"onUpdate:modelValue":e[1]||(e[1]=d=>t.value.name=d),placeholder:(n=i(o).getProvider(t.value.instance_id))==null?void 0:n.name,label:a.$t("settings.provider_name"),variant:"outlined",clearable:""},null,8,["modelValue","placeholder","label"])):c("",!0),"enabled"in t.value?(u(),p(G,{key:3,modelValue:t.value.enabled,"onUpdate:modelValue":e[2]||(e[2]=d=>t.value.enabled=d),label:a.$t("settings.enable_provider"),color:"primary",disabled:!((l=i(o).providerManifests[t.value.domain])!=null&&l.allow_disable)},null,8,["modelValue","label","disabled"])):c("",!0)])):c("",!0),r(h),t.value?(u(),p(O,{key:1,"config-entries":Object.values(t.value.values),disabled:!t.value.enabled,onSubmit:B,onAction:$},null,8,["config-entries","disabled"])):c("",!0)]}),_:1}),r(z,{modelValue:v.value,"onUpdate:modelValue":e[3]||(e[3]=n=>v.value=n),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:s(()=>[b.value?(u(),p(K,{key:0,style:{"background-color":"white"}},{default:s(()=>[r(C,null,{default:s(()=>e[9]||(e[9]=[f("Authenticating...")])),_:1}),r(V,null,{default:s(()=>e[10]||(e[10]=[f("A new tab/popup should be opened where you can authenticate")])),_:1}),r(J,null,{default:s(()=>[m("a",W,[r(R,null,{default:s(()=>e[11]||(e[11]=[f("Click here if the popup did not open")])),_:1})])]),_:1})]),_:1})):(u(),p(q,{key:1,indeterminate:"",size:"64",color:"primary"}))]),_:1},8,["modelValue"])]))}});export{Ve as default};
1
+ import{x as I,aB as S,r as g,o as P,I as o,ah as _,b as N,w as j,y as u,D as w,n as r,A as s,G as i,S as f,J as y,B as m,z as p,aC as U,K as c,aV as H,af as L}from"./index-m8nKq5sO.js";import{E as O}from"./EditConfig-CbobmEm2.js";import{n as x}from"./index.browser-OxPLOBIU.js";import{b as D,V as C,a as V}from"./VCardText-DV3N2e-3.js";import{e as z}from"./VMenu-Bm7-wo-8.js";import{V as h}from"./VList-Dq2hFeo-.js";import{V as F}from"./VTextField-CAVAhBK-.js";import{V as G}from"./VSwitch-D9Kdeykp.js";import{a as J,V as K}from"./VCard-DaTV885y.js";import{v as R,C as q}from"./VListItem-BgwpeMXY.js";import"./VExpansionPanels-AMVAOgwF.js";import"./VCheckboxBtn-GM1QeixE.js";import"./VAlert-CcnHiMQr.js";import"./VSlider-C-mU62Ej.js";import"./VVirtualScroll-Di-Iytdq.js";import"./VChip-3PA_sq0L.js";import"./VForm-q4g_dXT3.js";import"./VSpacer-Cw6OWjUU.js";/* empty css */import"./VDialog-BQ5W8yPe.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const Q={key:0},W={id:"auth",href:"",target:"_blank"},Ve=I({__name:"EditProvider",props:{instanceId:{}},setup(M){const T=S(),t=g(),k=x(11),v=g(!1),b=g(!1),A=M;P(()=>{const a=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(a)}),j(()=>A.instanceId,async a=>{a&&(t.value=await o.getProviderConfig(a))},{immediate:!0});const B=async function(a){v.value=!0,a.enabled=t.value.enabled,a.name=t.value.name||null,o.saveProviderConfig(t.value.domain,a,t.value.instance_id).then(()=>{T.push({name:"providersettings"})}).catch(e=>{alert(e)}).finally(()=>{v.value=!1,b.value=!1})},$=async function(a,e){v.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=k,o.getProviderConfigEntries(t.value.domain,t.value.instance_id,a,e).then(n=>{t.value.values={};for(const l of n)t.value.values[l.key]=l}).catch(n=>{alert(n)}).finally(()=>{v.value=!1,b.value=!1})},E=function(a){const e=[],{t:n}=L();for(const l of a)l.includes("@")?e.push(`[${l.replace("@","")}](https://github.com/${l.replace("@","")})`):e.push(l);return`**${n("settings.codeowners")}**: `+e.join(" / ")};return(a,e)=>(u(),w("section",null,[r(D,null,{default:s(()=>{var n,l;return[t.value&&i(o).providerManifests[t.value.domain]?(u(),w("div",Q,[r(C,null,{default:s(()=>{var d;return[f(y(a.$t("settings.setup_provider",[t.value.name||((d=i(o).getProvider(t.value.instance_id))==null?void 0:d.name)])),1)]}),_:1}),r(V,{style:{"white-space":"normal"}},{default:s(()=>[f(y(i(o).providerManifests[t.value.domain].description),1)]),_:1}),e[5]||(e[5]=m("br",null,null,-1)),i(o).providerManifests[t.value.domain].codeowners.length?(u(),p(V,{key:0,innerHTML:i(U)(E(i(o).providerManifests[t.value.domain].codeowners))},null,8,["innerHTML"])):c("",!0),i(o).providerManifests[t.value.domain].documentation?(u(),p(V,{key:1},{default:s(()=>[m("b",null,y(a.$t("settings.need_help_setup_provider")),1),e[4]||(e[4]=f("  ")),m("a",{onClick:e[0]||(e[0]=d=>i(H)(i(o).providerManifests[t.value.domain].documentation))},y(a.$t("settings.check_docs")),1)]),_:1})):c("",!0),e[6]||(e[6]=m("br",null,null,-1)),r(h),e[7]||(e[7]=m("br",null,null,-1)),e[8]||(e[8]=m("br",null,null,-1)),"name"in t.value?(u(),p(F,{key:2,modelValue:t.value.name,"onUpdate:modelValue":e[1]||(e[1]=d=>t.value.name=d),placeholder:(n=i(o).getProvider(t.value.instance_id))==null?void 0:n.name,label:a.$t("settings.provider_name"),variant:"outlined",clearable:""},null,8,["modelValue","placeholder","label"])):c("",!0),"enabled"in t.value?(u(),p(G,{key:3,modelValue:t.value.enabled,"onUpdate:modelValue":e[2]||(e[2]=d=>t.value.enabled=d),label:a.$t("settings.enable_provider"),color:"primary",disabled:!((l=i(o).providerManifests[t.value.domain])!=null&&l.allow_disable)},null,8,["modelValue","label","disabled"])):c("",!0)])):c("",!0),r(h),t.value?(u(),p(O,{key:1,"config-entries":Object.values(t.value.values),disabled:!t.value.enabled,onSubmit:B,onAction:$},null,8,["config-entries","disabled"])):c("",!0)]}),_:1}),r(z,{modelValue:v.value,"onUpdate:modelValue":e[3]||(e[3]=n=>v.value=n),scrim:"true",persistent:"",style:{display:"flex","align-items":"center","justify-content":"center"}},{default:s(()=>[b.value?(u(),p(K,{key:0,style:{"background-color":"white"}},{default:s(()=>[r(C,null,{default:s(()=>e[9]||(e[9]=[f("Authenticating...")])),_:1}),r(V,null,{default:s(()=>e[10]||(e[10]=[f("A new tab/popup should be opened where you can authenticate")])),_:1}),r(J,null,{default:s(()=>[m("a",W,[r(R,null,{default:s(()=>e[11]||(e[11]=[f("Click here if the popup did not open")])),_:1})])]),_:1})]),_:1})):(u(),p(q,{key:1,indeterminate:"",size:"64",color:"primary"}))]),_:1},8,["modelValue"])]))}});export{Ve as default};
@@ -1 +1 @@
1
- import{x as S,aA as k,r as m,o as h,aW as s,aX as V,$ as e,y as d,D as I,n as o,A as i,S as g,J as c,G as f,B as p,z as C,K as N}from"./index-Dvn4b3kE.js";import{E as T}from"./EditConfig-GlgW_AZF.js";import{D as v}from"./constants-BXWEQHoz.js";import{V as x}from"./VToolbar-Bi9Fkevh.js";import{b as E,a as B}from"./VCardText-CXkKR7ML.js";import{e as q}from"./VMenu-BxZEtUbH.js";import{V as w}from"./VList-BFxH2oe3.js";import{C as z}from"./VListItem-XlHdRn90.js";import"./VExpansionPanels-CRDFiEUd.js";import"./VCheckboxBtn-B2R62I44.js";import"./VAlert-BKHMgC3s.js";import"./VSwitch-BjWr2FW1.js";import"./VTextField-CNfw_aKz.js";import"./VVirtualScroll-DezxvIhI.js";import"./VChip-BKGA7XXZ.js";import"./VSlider-D6_NZN0T.js";import"./VForm-3D0lQdNE.js";import"./VCard-DDEjK8sh.js";import"./VSpacer-BpjLI35r.js";/* empty css */import"./VDialog-CHkPjb9d.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const le=S({__name:"FrontendConfig",setup(A){const y=k(),r=m([]),n=m(!1);h(()=>{const a=localStorage.getItem("frontend.settings.menu_items"),t=a?a.split(","):v;r.value=[{key:"theme",type:s.STRING,label:"theme",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},{title:"dark",value:"dark"},{title:"light",value:"light"}],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.theme")},{key:"language",type:s.STRING,label:"language",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},...V.global.availableLocales.map(l=>({title:l,value:l}))],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.language")},{key:"menu_style",type:s.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:s.STRING,label:"menu_items",default_value:v,required:!1,options:[{title:e("home"),value:"home"},{title:e("search"),value:"search"},{title:e("artists"),value:"artists"},{title:e("albums"),value:"albums"},{title:e("tracks"),value:"tracks"},{title:e("playlists"),value:"playlists"},{title:e("audiobooks"),value:"audiobooks"},{title:e("podcasts"),value:"podcasts"},{title:e("radios"),value:"radios"},{title:e("browse"),value:"browse"},{title:e("settings.settings"),value:"settings"}],multi_value:!0,category:"generic",value:t},{key:"hide_settings",type:s.BOOLEAN,label:"hide_settings",default_value:!1,required:!1,multi_value:!1,category:"advanced",value:localStorage.getItem("frontend.settings.hide_settings")=="true"}]});const _=async function(a){for(const t in a){const l=`frontend.settings.${t}`,u=a[t];u?localStorage.setItem(l,u.toString()):localStorage.removeItem(l)}y.push({name:"home"}).then(()=>{window.location.reload()})},b=async function(a,t){};return(a,t)=>(d(),I("section",null,[o(x,{color:"transparent"},{title:i(()=>[g(c(f(e)("settings.frontend")),1)]),_:1}),o(E,{style:{"margin-left":"-5px","margin-right":"-5px"}},{default:i(()=>[o(B,null,{default:i(()=>[g(c(f(e)("settings.frontend_desc")),1)]),_:1}),t[1]||(t[1]=p("br",null,null,-1)),t[2]||(t[2]=p("br",null,null,-1)),o(w),r.value?(d(),C(T,{key:0,"config-entries":r.value,disabled:!1,onSubmit:_,onAction:b},null,8,["config-entries"])):N("",!0)]),_:1}),o(q,{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(()=>[o(z,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{le as default};
1
+ import{x as S,aB as k,r as m,o as h,aW as s,aX as V,$ as e,y as d,D as I,n as o,A as i,S as g,J as c,G as f,B as p,z as C,K as N}from"./index-m8nKq5sO.js";import{E as T}from"./EditConfig-CbobmEm2.js";import{D as v}from"./constants-BXWEQHoz.js";import{V as x}from"./VToolbar-CjHms_z-.js";import{b as E,a as B}from"./VCardText-DV3N2e-3.js";import{e as q}from"./VMenu-Bm7-wo-8.js";import{V as w}from"./VList-Dq2hFeo-.js";import{C as z}from"./VListItem-BgwpeMXY.js";import"./VExpansionPanels-AMVAOgwF.js";import"./VCheckboxBtn-GM1QeixE.js";import"./VAlert-CcnHiMQr.js";import"./VSwitch-D9Kdeykp.js";import"./VTextField-CAVAhBK-.js";import"./VVirtualScroll-Di-Iytdq.js";import"./VChip-3PA_sq0L.js";import"./VSlider-C-mU62Ej.js";import"./VForm-q4g_dXT3.js";import"./VCard-DaTV885y.js";import"./VSpacer-Cw6OWjUU.js";/* empty css */import"./VDialog-BQ5W8yPe.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const le=S({__name:"FrontendConfig",setup(D){const y=k(),r=m([]),n=m(!1);h(()=>{const a=localStorage.getItem("frontend.settings.menu_items"),t=a?a.split(","):v;r.value=[{key:"theme",type:s.STRING,label:"theme",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},{title:"dark",value:"dark"},{title:"light",value:"light"}],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.theme")},{key:"language",type:s.STRING,label:"language",default_value:"auto",required:!1,options:[{title:"auto",value:"auto"},...V.global.availableLocales.map(l=>({title:l,value:l}))],multi_value:!1,category:"generic",value:localStorage.getItem("frontend.settings.language")},{key:"menu_style",type:s.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:s.STRING,label:"menu_items",default_value:v,required:!1,options:[{title:e("home"),value:"home"},{title:e("search"),value:"search"},{title:e("artists"),value:"artists"},{title:e("albums"),value:"albums"},{title:e("tracks"),value:"tracks"},{title:e("playlists"),value:"playlists"},{title:e("audiobooks"),value:"audiobooks"},{title:e("podcasts"),value:"podcasts"},{title:e("radios"),value:"radios"},{title:e("browse"),value:"browse"},{title:e("settings.settings"),value:"settings"}],multi_value:!0,category:"generic",value:t},{key:"hide_settings",type:s.BOOLEAN,label:"hide_settings",default_value:!1,required:!1,multi_value:!1,category:"advanced",value:localStorage.getItem("frontend.settings.hide_settings")=="true"}]});const _=async function(a){for(const t in a){const l=`frontend.settings.${t}`,u=a[t];u?localStorage.setItem(l,u.toString()):localStorage.removeItem(l)}y.push({name:"home"}).then(()=>{window.location.reload()})},b=async function(a,t){};return(a,t)=>(d(),I("section",null,[o(x,{color:"transparent"},{title:i(()=>[g(c(f(e)("settings.frontend")),1)]),_:1}),o(E,{style:{"margin-left":"-5px","margin-right":"-5px"}},{default:i(()=>[o(B,null,{default:i(()=>[g(c(f(e)("settings.frontend_desc")),1)]),_:1}),t[1]||(t[1]=p("br",null,null,-1)),t[2]||(t[2]=p("br",null,null,-1)),o(w),r.value?(d(),C(T,{key:0,"config-entries":r.value,disabled:!1,onSubmit:_,onAction:b},null,8,["config-entries"])):N("",!0)]),_:1}),o(q,{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(()=>[o(z,{indeterminate:"",size:"64",color:"primary"})]),_:1},8,["modelValue"])]))}});export{le as default};
@@ -1 +1 @@
1
- import{C as _}from"./Container-DWavih6c.js";import{x as c,r as u,at as v,au as b,y as r,D as m,E as y,n as i,F as w,I as a,H as e,A as l,z as g,B as f,av as h}from"./index-Dvn4b3kE.js";import{H as k}from"./HomeWidgetRow-CCYIPnQ5.js";import{T as C}from"./Toolbar-XsObLWPI.js";import{C as A}from"./VListItem-XlHdRn90.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./VContainer-C3X0IHcx.js";/* empty css */import"./PanelviewItemCompact-CceVDOrI.js";import"./ItemContextMenu.vue_vue_type_style_index_0_scoped_3a9a25e3_lang-C3noc3qK.js";import"./ProviderIcon.vue_vue_type_style_index_0_lang-CxRRSRNY.js";import"./VChip-BKGA7XXZ.js";import"./VList-BFxH2oe3.js";import"./VMenu-BxZEtUbH.js";import"./VCard-DDEjK8sh.js";import"./VCardText-CXkKR7ML.js";import"./eventbus-CGRXT3Tn.js";import"./VCheckbox-DXoKCkvo.js";import"./VCheckboxBtn-B2R62I44.js";import"./VToolbar-Bi9Fkevh.js";import"./VAlert-BKHMgC3s.js";const H=c({__name:"HomeWidgetRows",async setup(p){let s,o;const t=u({recently_played:{label:"recently_played",icon:"mdi-motion-play",items:[]},artists:{label:"artists",icon:"mdi-account-music",path:"/artists",items:[]},albums:{label:"albums",icon:"mdi-album",path:"/albums",items:[]},playlists:{label:"playlists",icon:"mdi-playlist-music",path:"/playlists",items:[]},tracks:{label:"tracks",icon:"mdi-file-music",path:"/tracks",items:[]},radios:{label:"radios",icon:"mdi-radio",path:"/radios",items:[]},browse:{label:"browse",icon:"mdi-folder",path:"/browse",items:[]}}),n=async function(){t.value.recently_played.items=await a.getRecentlyPlayedItems(10),t.value.artists.items=await a.getLibraryArtists(void 0,void 0,20,void 0,"random"),t.value.artists.count=e.libraryArtistsCount,t.value.albums.items=await a.getLibraryAlbums(void 0,void 0,20,void 0,"timestamp_added_desc"),t.value.albums.count=e.libraryAlbumsCount,t.value.playlists.items=await a.getLibraryPlaylists(void 0,void 0,20,void 0,"timestamp_added_desc"),t.value.playlists.count=e.libraryPlaylistsCount,t.value.radios.items=await a.getLibraryRadios(void 0,void 0,20,void 0,"timestamp_added_desc"),t.value.radios.count=e.libraryRadiosCount,t.value.tracks.items=await a.getLibraryTracks(void 0,void 0,20,void 0,"timestamp_added_desc"),t.value.tracks.count=e.libraryTracksCount,t.value.browse.items=await a.browse()};return[s,o]=v(()=>n()),await s,o(),b(()=>{n()}),(B,R)=>(r(!0),m(w,null,y(t.value,d=>(r(),m("div",{key:d.label},[i(k,{"widget-row":d},null,8,["widget-row"])]))),128))}}),L=c({__name:"HomeView",setup(p){const s=u(localStorage.getItem("frontend.settings.hide_settings")=="true");return(o,t)=>(r(),m("div",null,[i(C,{title:"Music Assistant","show-loading":!0,"menu-items":s.value?[]:[{label:"settings.settings",icon:"mdi-cog-outline",action:()=>{o.$router.push({path:"settings"})}}]},null,8,["menu-items"]),i(_,{variant:"panel"},{default:l(()=>[(r(),g(h,null,{fallback:l(()=>[i(A,{indeterminate:""})]),default:l(()=>[f("div",null,[i(H)])]),_:1}))]),_:1})]))}}),X=x(L,[["__scopeId","data-v-823be14f"]]);export{X as default};
1
+ import{C as _}from"./Container-CzaMJHFj.js";import{x as c,r as u,au as v,av as b,y as r,D as m,E as y,n as i,F as w,I as a,H as e,A as l,z as g,B as f,aw as h}from"./index-m8nKq5sO.js";import{H as k}from"./HomeWidgetRow-DyKua1FJ.js";import{T as C}from"./Toolbar-DE7xAoi9.js";import{C as A}from"./VListItem-BgwpeMXY.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./VContainer-CFZeQyHT.js";/* empty css */import"./PanelviewItemCompact-CdGmHuPo.js";import"./ItemContextMenu.vue_vue_type_style_index_0_scoped_3a9a25e3_lang-CIVcfVNt.js";import"./ProviderIcon.vue_vue_type_style_index_0_lang-DCVBDHCR.js";import"./VChip-3PA_sq0L.js";import"./VList-Dq2hFeo-.js";import"./VMenu-Bm7-wo-8.js";import"./VCard-DaTV885y.js";import"./VCardText-DV3N2e-3.js";import"./eventbus-CGRXT3Tn.js";import"./VCheckbox-DB8Mf-0e.js";import"./VCheckboxBtn-GM1QeixE.js";import"./VToolbar-CjHms_z-.js";import"./VAlert-CcnHiMQr.js";const H=c({__name:"HomeWidgetRows",async setup(p){let s,o;const t=u({recently_played:{label:"recently_played",icon:"mdi-motion-play",items:[]},artists:{label:"artists",icon:"mdi-account-music",path:"/artists",items:[]},albums:{label:"albums",icon:"mdi-album",path:"/albums",items:[]},playlists:{label:"playlists",icon:"mdi-playlist-music",path:"/playlists",items:[]},tracks:{label:"tracks",icon:"mdi-file-music",path:"/tracks",items:[]},radios:{label:"radios",icon:"mdi-radio",path:"/radios",items:[]},browse:{label:"browse",icon:"mdi-folder",path:"/browse",items:[]}}),n=async function(){t.value.recently_played.items=await a.getRecentlyPlayedItems(10),t.value.artists.items=await a.getLibraryArtists(void 0,void 0,20,void 0,"random"),t.value.artists.count=e.libraryArtistsCount,t.value.albums.items=await a.getLibraryAlbums(void 0,void 0,20,void 0,"timestamp_added_desc"),t.value.albums.count=e.libraryAlbumsCount,t.value.playlists.items=await a.getLibraryPlaylists(void 0,void 0,20,void 0,"timestamp_added_desc"),t.value.playlists.count=e.libraryPlaylistsCount,t.value.radios.items=await a.getLibraryRadios(void 0,void 0,20,void 0,"timestamp_added_desc"),t.value.radios.count=e.libraryRadiosCount,t.value.tracks.items=await a.getLibraryTracks(void 0,void 0,20,void 0,"timestamp_added_desc"),t.value.tracks.count=e.libraryTracksCount,t.value.browse.items=await a.browse()};return[s,o]=v(()=>n()),await s,o(),b(()=>{n()}),(B,R)=>(r(!0),m(w,null,y(t.value,d=>(r(),m("div",{key:d.label},[i(k,{"widget-row":d},null,8,["widget-row"])]))),128))}}),L=c({__name:"HomeView",setup(p){const s=u(localStorage.getItem("frontend.settings.hide_settings")=="true");return(o,t)=>(r(),m("div",null,[i(C,{title:"Music Assistant","show-loading":!0,"menu-items":s.value?[]:[{label:"settings.settings",icon:"mdi-cog-outline",action:()=>{o.$router.push({path:"settings"})}}]},null,8,["menu-items"]),i(_,{variant:"panel"},{default:l(()=>[(r(),g(h,null,{fallback:l(()=>[i(A,{indeterminate:""})]),default:l(()=>[f("div",null,[i(H)])]),_:1}))]),_:1})]))}}),X=x(L,[["__scopeId","data-v-823be14f"]]);export{X as default};
@@ -1 +1 @@
1
- import{x as g,o as R,N as v,y as a,z as l,A as r,W as b,G as n,aw as k,R as I,D as u,n as c,B as V,J as w,Y as C,S as A,F as M,E as B,M as p,a5 as f,H as _,I as P}from"./index-Dvn4b3kE.js";import{P as $}from"./PanelviewItemCompact-CceVDOrI.js";import{c as m,d as E,s as T}from"./ItemContextMenu.vue_vue_type_style_index_0_scoped_3a9a25e3_lang-C3noc3qK.js";import{w as D}from"./VListItem-XlHdRn90.js";import{V as F}from"./Toolbar-XsObLWPI.js";import{V as H}from"./VToolbar-Bi9Fkevh.js";import{V as N}from"./VAlert-BKHMgC3s.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const L=g({__name:"Carousel",setup(h){return R(()=>{document.documentElement.style.setProperty("--swiper-navigation-color","primary")}),(i,y)=>{const d=v("swiper");return a(),l(d,{"slides-per-view":n(k)(i.$vuetify.display.width)+.5,"space-between":24,"free-mode":!0,navigation:!n(I)({breakpoint:"mobile"}),mousewheel:{forceToAxis:!0,releaseOnEdges:!0}},{default:r(()=>[b(i.$slots,"default")]),_:3},8,["slides-per-view","navigation"])}}}),O={class:"widget-row"},W={class:"mr-3"},z={key:1,class:"mr-3"},q=g({__name:"HomeWidgetRow",props:{widgetRow:{}},setup(h){const i=function(e,o,s){const t=Array.isArray(e)?e:[e];T(t,void 0,o,s)},y=function(e,o,s){if(!m(e)){i(e,o,s);return}e.media_type==p.FOLDER?f.push({name:"browse",query:{path:e.path}}):f.push({name:e.media_type,params:{itemId:e.item_id,provider:e.provider}})},d=function(e,o,s){if(!m(e)){i(e,o,s);return}if(!_.activePlayerId){_.showPlayersMenu=!0;return}P.playMedia(e.uri,void 0)};return(e,o)=>{const s=v("swiper-slide");return a(),u("div",O,[c(H,{class:"header",color:"transparent",style:C(e.widgetRow.path?"cursor: pointer; width: fit-content;":"width: fit-content;"),onClick:o[0]||(o[0]=t=>e.widgetRow.path?e.$router.push(e.widgetRow.path):"")},{prepend:r(()=>[c(D,{icon:e.widgetRow.icon},null,8,["icon"])]),title:r(()=>[e.widgetRow.count?(a(),l(F,{key:0,inline:"",color:"grey",content:e.widgetRow.count},{default:r(()=>[V("span",W,w(e.$t(e.widgetRow.label)),1)]),_:1},8,["content"])):(a(),u("span",z,w(e.$t(e.widgetRow.label)),1))]),_:1},8,["style"]),e.widgetRow.items.length==0?(a(),l(N,{key:0},{default:r(()=>[A(w(e.$t("no_content")),1)]),_:1})):(a(),l(L,{key:1},{default:r(()=>[(a(!0),u(M,null,B(e.widgetRow.items,t=>(a(),l(s,{key:t.uri},{default:r(()=>[c($,{item:t,"permanent-overlay":![n(p).ALBUM,n(p).TRACK,n(p).RADIO].includes(t.media_type),"is-available":n(m)(t),"is-playable":n(E)(t),onMenu:i,onClick:y,onPlay:d},null,8,["item","permanent-overlay","is-available","is-playable"])]),_:2},1024))),128))]),_:1}))])}}}),Z=S(q,[["__scopeId","data-v-c128b19e"]]);export{Z as H};
1
+ import{x as g,o as R,N as v,y as a,z as l,A as r,W as b,G as n,ax as k,R as I,D as u,n as c,B as V,J as m,Y as C,S as A,F as M,E as B,M as p,a5 as f,H as _,I as P}from"./index-m8nKq5sO.js";import{P as $}from"./PanelviewItemCompact-CdGmHuPo.js";import{c as w,d as E,s as T}from"./ItemContextMenu.vue_vue_type_style_index_0_scoped_3a9a25e3_lang-CIVcfVNt.js";import{w as D}from"./VListItem-BgwpeMXY.js";import{V as F}from"./Toolbar-DE7xAoi9.js";import{V as H}from"./VToolbar-CjHms_z-.js";import{V as N}from"./VAlert-CcnHiMQr.js";import{_ as S}from"./_plugin-vue_export-helper-DlAUqK2U.js";const L=g({__name:"Carousel",setup(h){return R(()=>{document.documentElement.style.setProperty("--swiper-navigation-color","primary")}),(i,y)=>{const d=v("swiper");return a(),l(d,{"slides-per-view":n(k)(i.$vuetify.display.width)+.5,"space-between":24,"free-mode":!0,navigation:!n(I)({breakpoint:"mobile"}),mousewheel:{forceToAxis:!0,releaseOnEdges:!0}},{default:r(()=>[b(i.$slots,"default")]),_:3},8,["slides-per-view","navigation"])}}}),O={class:"widget-row"},W={class:"mr-3"},z={key:1,class:"mr-3"},q=g({__name:"HomeWidgetRow",props:{widgetRow:{}},setup(h){const i=function(e,o,s){const t=Array.isArray(e)?e:[e];T(t,void 0,o,s)},y=function(e,o,s){if(!w(e)){i(e,o,s);return}e.media_type==p.FOLDER?f.push({name:"browse",query:{path:e.path}}):f.push({name:e.media_type,params:{itemId:e.item_id,provider:e.provider}})},d=function(e,o,s){if(!w(e)){i(e,o,s);return}if(!_.activePlayerId){_.showPlayersMenu=!0;return}P.playMedia(e.uri,void 0)};return(e,o)=>{const s=v("swiper-slide");return a(),u("div",O,[c(H,{class:"header",color:"transparent",style:C(e.widgetRow.path?"cursor: pointer; width: fit-content;":"width: fit-content;"),onClick:o[0]||(o[0]=t=>e.widgetRow.path?e.$router.push(e.widgetRow.path):"")},{prepend:r(()=>[c(D,{icon:e.widgetRow.icon},null,8,["icon"])]),title:r(()=>[e.widgetRow.count?(a(),l(F,{key:0,inline:"",color:"grey",content:e.widgetRow.count},{default:r(()=>[V("span",W,m(e.$t(e.widgetRow.label)),1)]),_:1},8,["content"])):(a(),u("span",z,m(e.$t(e.widgetRow.label)),1))]),_:1},8,["style"]),e.widgetRow.items.length==0?(a(),l(N,{key:0},{default:r(()=>[A(m(e.$t("no_content")),1)]),_:1})):(a(),l(L,{key:1},{default:r(()=>[(a(!0),u(M,null,B(e.widgetRow.items,t=>(a(),l(s,{key:t.uri},{default:r(()=>[c($,{item:t,"permanent-overlay":![n(p).ALBUM,n(p).TRACK,n(p).RADIO].includes(t.media_type),"is-available":n(w)(t),"is-playable":n(E)(t),onMenu:i,onClick:y,onPlay:d},null,8,["item","permanent-overlay","is-available","is-playable"])]),_:2},1024))),128))]),_:1}))])}}}),Z=S(q,[["__scopeId","data-v-c128b19e"]]);export{Z as H};