music-assistant-frontend 2.17.15__py3-none-any.whl → 2.17.28__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 (147) hide show
  1. music_assistant_frontend/assets/About-BlM2bNNU.css +1 -0
  2. music_assistant_frontend/assets/About-DD-Ra6q9.js +1 -0
  3. music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-4S1vyk3y.js +1 -0
  4. music_assistant_frontend/assets/AddPlayerGroup-cntNx9PL.js +1 -0
  5. music_assistant_frontend/assets/AddProviderDetails-DoKLUG5n.js +1 -0
  6. music_assistant_frontend/assets/AlbumDetails-iZRC2HAx.js +1 -0
  7. music_assistant_frontend/assets/ArtistDetails-pWsx0uxv.js +1 -0
  8. music_assistant_frontend/assets/AudiobookDetails-Dk3PEU9D.js +1 -0
  9. music_assistant_frontend/assets/BrowseView-g_5UPiVj.js +1 -0
  10. music_assistant_frontend/assets/{Button-Da2w4xZe.js → Button-Cm9Kv1fL.js} +1 -1
  11. music_assistant_frontend/assets/{Container-vEyxubcK.js → Container-BunIU4BI.js} +1 -1
  12. music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-WD6jKrT1.js +1 -0
  13. music_assistant_frontend/assets/Default-BoZpM67W.css +1 -0
  14. music_assistant_frontend/assets/Default-D3QbBdka.js +21 -0
  15. music_assistant_frontend/assets/EditConfig-Bo92pQzx.js +2 -0
  16. music_assistant_frontend/assets/EditConfig-CcxrPgWJ.css +1 -0
  17. music_assistant_frontend/assets/EditCoreConfig-Dn-oiBmv.js +1 -0
  18. music_assistant_frontend/assets/EditPlayer-C4U8nmpt.js +1 -0
  19. music_assistant_frontend/assets/EditPlayerDsp-DIRF5Ifm.js +9 -0
  20. music_assistant_frontend/assets/EditProvider-DH6yzgKO.js +1 -0
  21. music_assistant_frontend/assets/FrontendConfig-DGr-C8uc.js +1 -0
  22. music_assistant_frontend/assets/HomeView-CF-2XJYc.js +1 -0
  23. music_assistant_frontend/assets/{ItemsListing-qc86ZllS.css → ItemsListing-DBRgGdb9.css} +1 -1
  24. music_assistant_frontend/assets/ItemsListing-DiFULYEk.js +1 -0
  25. music_assistant_frontend/assets/LibraryAlbums-DsXvfpDF.js +1 -0
  26. music_assistant_frontend/assets/LibraryArtists-CvhNCIa6.js +1 -0
  27. music_assistant_frontend/assets/LibraryAudiobooks-BXD39SCR.js +1 -0
  28. music_assistant_frontend/assets/LibraryPlaylists-CVSNqj6B.js +1 -0
  29. music_assistant_frontend/assets/LibraryPodcasts-D-KYAv5K.js +1 -0
  30. music_assistant_frontend/assets/LibraryRadios-DXJv2vPJ.js +1 -0
  31. music_assistant_frontend/assets/LibraryTracks-BW-Ne0K5.js +1 -0
  32. music_assistant_frontend/assets/{ListItem-CMI0ccXI.js → ListItem-DNqmHglz.js} +1 -1
  33. music_assistant_frontend/assets/MediaItemImages-B-oQ8T4k.js +1 -0
  34. music_assistant_frontend/assets/MediaItemThumb-Djieuu-m.js +1 -0
  35. music_assistant_frontend/assets/PanelviewItemCompact-zZvQaI6t.js +1 -0
  36. music_assistant_frontend/assets/{PlayerCard-BtmAlIKh.css → PlayerCard-B-1h1GH8.css} +1 -1
  37. music_assistant_frontend/assets/PlayerCard-CbOeDESo.js +1 -0
  38. music_assistant_frontend/assets/Players-CMiHL1Xr.js +1 -0
  39. music_assistant_frontend/assets/Players-DiFMAcvk.css +1 -0
  40. music_assistant_frontend/assets/PlaylistDetails-BYOLLggx.js +1 -0
  41. music_assistant_frontend/assets/PodcastDetails-BMWkoQkv.js +1 -0
  42. music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-DzvsLzds.js +8 -0
  43. music_assistant_frontend/assets/Providers-BVL70bSb.js +1 -0
  44. music_assistant_frontend/assets/Providers-Df6R6NDc.css +1 -0
  45. music_assistant_frontend/assets/RadioDetails-Dk19WXMn.js +1 -0
  46. music_assistant_frontend/assets/RemoteAccessSettings-Bf5s7Cwr.css +1 -0
  47. music_assistant_frontend/assets/RemoteAccessSettings-Cc9VhqAV.js +1 -0
  48. music_assistant_frontend/assets/Search-gIzJ4Lef.js +1 -0
  49. music_assistant_frontend/assets/ServerLogs-D16I7ozL.css +1 -0
  50. music_assistant_frontend/assets/ServerLogs-DEmjg0ji.js +4 -0
  51. music_assistant_frontend/assets/Settings-BPCFcSEv.js +1 -0
  52. music_assistant_frontend/assets/{Settings-DgZgWYgS.css → Settings-CbTYv9HY.css} +1 -1
  53. music_assistant_frontend/assets/SystemConfig-BKi5ffMS.css +1 -0
  54. music_assistant_frontend/assets/SystemConfig-DzuRfqZX.js +1 -0
  55. music_assistant_frontend/assets/{Toolbar-DJx0b-Ea.css → Toolbar-DOjWle_n.css} +1 -1
  56. music_assistant_frontend/assets/Toolbar-xH_GEfSi.js +1 -0
  57. music_assistant_frontend/assets/TrackDetails-Bpl4yjoA.js +1 -0
  58. music_assistant_frontend/assets/UserManagement-BmZul5Bv.js +1 -0
  59. music_assistant_frontend/assets/{UserProfile-2DGSt3Q4.js → UserProfile-C9aw6Mo0.js} +1 -1
  60. music_assistant_frontend/assets/{VAlert-DfNKgxBR.js → VAlert-CBrxai34.js} +1 -1
  61. music_assistant_frontend/assets/VCheckboxBtn-BMAdXnae.js +1 -0
  62. music_assistant_frontend/assets/VDialog-BndVdZhi.js +1 -0
  63. music_assistant_frontend/assets/VExpansionPanels-lmUrDJt6.js +1 -0
  64. music_assistant_frontend/assets/{VForm-D2eK17M_.js → VForm-Dpln05ME.js} +1 -1
  65. music_assistant_frontend/assets/VInfiniteScroll-B-XMauN8.css +1 -0
  66. music_assistant_frontend/assets/{VInfiniteScroll-CBHSFC6_.js → VInfiniteScroll-B5bUrC-Z.js} +1 -1
  67. music_assistant_frontend/assets/VSelect-uSApsKq0.js +1 -0
  68. music_assistant_frontend/assets/VSelectionControl-S-aELuKm.js +1 -0
  69. music_assistant_frontend/assets/{VSlider-Dt4jt2Zl.js → VSlider-DzdWVMUa.js} +1 -1
  70. music_assistant_frontend/assets/VSwitch-B-1g31ug.js +1 -0
  71. music_assistant_frontend/assets/VToolbar-D1tRNhN6.css +1 -0
  72. music_assistant_frontend/assets/VToolbar-hGVdN8lh.js +1 -0
  73. music_assistant_frontend/assets/VVirtualScroll-C1eeqQrQ.js +1 -0
  74. music_assistant_frontend/assets/WidgetRow-DKnAiOkf.js +1 -0
  75. music_assistant_frontend/assets/index-W5yBuLNV.css +1 -0
  76. music_assistant_frontend/assets/{index-BjdGY0D1.js → index-rZUS0c3q.js} +87 -81
  77. music_assistant_frontend/assets/{marquee_text_sync-WzwJ--pH.js → marquee_text_sync-AT1GwuhW.js} +1 -1
  78. music_assistant_frontend/assets/open-home-foundation-logo-C7bc6Uqr.svg +22 -0
  79. music_assistant_frontend/assets/userPreferences-a0gVUlkp.js +1 -0
  80. music_assistant_frontend/assets/workbox-window.prod.es5-BIl4cyR9.js +2 -0
  81. music_assistant_frontend/index.html +2 -2
  82. music_assistant_frontend/sw.js +2 -2
  83. {music_assistant_frontend-2.17.15.dist-info → music_assistant_frontend-2.17.28.dist-info}/METADATA +1 -1
  84. music_assistant_frontend-2.17.28.dist-info/RECORD +148 -0
  85. music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-DG4jP955.js +0 -1
  86. music_assistant_frontend/assets/AddPlayerGroup-Bwk7pmNx.js +0 -1
  87. music_assistant_frontend/assets/AddProviderDetails-9el-oexz.js +0 -1
  88. music_assistant_frontend/assets/AlbumDetails-BxtRl2YX.js +0 -1
  89. music_assistant_frontend/assets/ArtistDetails-C15MPi-J.js +0 -1
  90. music_assistant_frontend/assets/AudiobookDetails-BtzViAS0.js +0 -1
  91. music_assistant_frontend/assets/BrowseView-DwddahrD.js +0 -1
  92. music_assistant_frontend/assets/CoreConfigs-BsI6FsWH.css +0 -1
  93. music_assistant_frontend/assets/CoreConfigs-D3Lk-7JE.js +0 -1
  94. music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-C6YdwidI.js +0 -1
  95. music_assistant_frontend/assets/Default-Br-juh2E.js +0 -21
  96. music_assistant_frontend/assets/Default-C8ExxF7E.css +0 -1
  97. music_assistant_frontend/assets/EditConfig-BnGkC7Dx.js +0 -1
  98. music_assistant_frontend/assets/EditConfig-SyvCtrr0.css +0 -1
  99. music_assistant_frontend/assets/EditCoreConfig-CnIejyq9.js +0 -1
  100. music_assistant_frontend/assets/EditPlayer-DWbeXaJ5.js +0 -1
  101. music_assistant_frontend/assets/EditPlayerDsp-BFHS-0i1.js +0 -9
  102. music_assistant_frontend/assets/EditProvider-DaVXHsTj.js +0 -1
  103. music_assistant_frontend/assets/FrontendConfig-eR1Z1zGd.js +0 -1
  104. music_assistant_frontend/assets/HomeView-Dn-M1jTz.js +0 -1
  105. music_assistant_frontend/assets/ItemsListing-DsCHQduO.js +0 -1
  106. music_assistant_frontend/assets/LibraryAlbums-CHYwiQaW.js +0 -1
  107. music_assistant_frontend/assets/LibraryArtists-BdcWa4H2.js +0 -1
  108. music_assistant_frontend/assets/LibraryAudiobooks-DC0SIBx-.js +0 -1
  109. music_assistant_frontend/assets/LibraryPlaylists-AKjmGQHJ.js +0 -1
  110. music_assistant_frontend/assets/LibraryPodcasts-D8nYpNLG.js +0 -1
  111. music_assistant_frontend/assets/LibraryRadios-1GRC-OzJ.js +0 -1
  112. music_assistant_frontend/assets/LibraryTracks-p8Y13gW3.js +0 -1
  113. music_assistant_frontend/assets/MediaItemImages-CpqpuCtk.js +0 -1
  114. music_assistant_frontend/assets/MediaItemThumb-CMOvHHof.js +0 -1
  115. music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-B8G50Aza.js +0 -1
  116. music_assistant_frontend/assets/PanelviewItemCompact-C6DCjPZU.js +0 -1
  117. music_assistant_frontend/assets/PlayerCard-RpvQiENI.js +0 -1
  118. music_assistant_frontend/assets/Players-DbwqOQm4.js +0 -1
  119. music_assistant_frontend/assets/PlaylistDetails-DhlSXFbi.js +0 -1
  120. music_assistant_frontend/assets/PodcastDetails-bqHu2VUs.js +0 -1
  121. music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-BvNkAPPj.js +0 -8
  122. music_assistant_frontend/assets/Providers-CgdTyZF0.js +0 -1
  123. music_assistant_frontend/assets/Providers-Dpp2O4F9.css +0 -1
  124. music_assistant_frontend/assets/RadioDetails-BDJXF1Lf.js +0 -1
  125. music_assistant_frontend/assets/Search-BOjaQ4tl.js +0 -1
  126. music_assistant_frontend/assets/Settings-D8dH3JXV.js +0 -1
  127. music_assistant_frontend/assets/Toolbar-94EvSFT-.js +0 -1
  128. music_assistant_frontend/assets/TrackDetails-D-mFx3v3.js +0 -1
  129. music_assistant_frontend/assets/UserManagement-DqY36gSD.js +0 -1
  130. music_assistant_frontend/assets/VCheckboxBtn-B_ZAO1Qo.js +0 -1
  131. music_assistant_frontend/assets/VDialog-B7h8eW0m.js +0 -1
  132. music_assistant_frontend/assets/VExpansionPanels-cqvywsgH.js +0 -1
  133. music_assistant_frontend/assets/VInfiniteScroll-Bbntx9NP.css +0 -1
  134. music_assistant_frontend/assets/VSelect-cNIaLpz4.js +0 -1
  135. music_assistant_frontend/assets/VSwitch-CvtgmnVD.js +0 -1
  136. music_assistant_frontend/assets/VToolbar-COKHN9Hu.css +0 -1
  137. music_assistant_frontend/assets/VToolbar-DyyzvXAh.js +0 -1
  138. music_assistant_frontend/assets/VVirtualScroll-Ck3MSSZi.js +0 -1
  139. music_assistant_frontend/assets/WidgetRow-CXYVjNw0.js +0 -1
  140. music_assistant_frontend/assets/index-DFqSLpsO.css +0 -1
  141. music_assistant_frontend/assets/workbox-window.prod.es5-CwtvwXb3.js +0 -2
  142. music_assistant_frontend-2.17.15.dist-info/RECORD +0 -139
  143. /music_assistant_frontend/assets/{VCheckboxBtn-CIeJsqfW.css → VSelectionControl-CIeJsqfW.css} +0 -0
  144. /music_assistant_frontend/assets/{NowPlayingBadge-Cm6AcKY5.css → userPreferences-Cm6AcKY5.css} +0 -0
  145. {music_assistant_frontend-2.17.15.dist-info → music_assistant_frontend-2.17.28.dist-info}/WHEEL +0 -0
  146. {music_assistant_frontend-2.17.15.dist-info → music_assistant_frontend-2.17.28.dist-info}/licenses/LICENSE +0 -0
  147. {music_assistant_frontend-2.17.15.dist-info → music_assistant_frontend-2.17.28.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,8 @@
1
+ import{g as te,p as ie,bY as ae,bZ as ne,n as le,E as b,q as B,r as _,b_ as oe,b$ as se,C as re,ay as J,az as r,aA as t,o as i,M as T,aG as a,aL as V,aK as me,aI as y,b8 as ue,J as q,a8 as de,L as ce,i as R,c0 as ye,aQ as j,bt as E,bu as F,aS as O,aD as f,aB as d,bJ as fe,am as M,bE as ge,bg as he,bh as P,aN as m,bi as L,c1 as be,c2 as ve,ae as ke,ah as z,aH as A,ax as W,bq as xe,bd as K,aP as S,aV as Y,c3 as pe,bV as $e,aE as Ce,c4 as we,bK as Ve,c5 as Te,_ as Ie,bN as Le,c6 as De,aU as Pe,aF as Be,c7 as Re,aW as Q,c8 as ze,b5 as Ae}from"./index-rZUS0c3q.js";import{T as ee}from"./Toolbar-xH_GEfSi.js";import{M as D,a as Se}from"./marquee_text_sync-AT1GwuhW.js";import{M as X}from"./MediaItemThumb-Djieuu-m.js";import{V as He}from"./VDialog-BndVdZhi.js";import{C as Ne}from"./Container-BunIU4BI.js";import{L as Z}from"./ListItem-DNqmHglz.js";const Ue=ie({...re(),...se(),...oe()},"VLayout"),Ee=te()({name:"VLayout",props:Ue(),setup(e,c){let{slots:h}=c;const{layoutClasses:x,layoutStyles:p,getLayoutItem:v,items:I,layoutRef:$}=ae(e),{dimensionStyles:k}=ne(e);return le(()=>b("div",{ref:$,class:_([x.value,e.class]),style:B([k.value,p.value,e.style])},[h.default?.()])),{getLayoutItem:v,items:I}}}),Fe=J({__name:"MenuButton",props:{icon:{default:void 0},text:{default:void 0},disabled:{type:Boolean,default:!1},width:{default:200},loading:{type:Boolean,default:!0}},emits:["click","menu"],setup(e,{emit:c}){const h=c;return(x,p)=>(t(),r("div",{style:B(`width: ${e.width}px; height: 30px;`)},[i(T,{variant:"tonal",style:B(`
2
+ width: ${e.width}px;
3
+ position: absolute;
4
+ border: 1px solid #cccccc4d;
5
+ height: 38px;
6
+ margin-top: -1px;
7
+ margin-left: -1px;
8
+ `),disabled:e.loading,onClick:p[0]||(p[0]=v=>h("menu"))},{default:a(()=>[i(V,{icon:"mdi-menu-down",size:"xx-large",style:B(`width: 20px; margin-left: ${e.width-42}px`)},null,8,["style"])]),_:1},8,["style","disabled"]),i(T,{color:"primary",flat:"",disabled:e.disabled||e.loading,style:B(`width: ${e.width-40}px; justify-content: left;`),text:e.text,onClick:p[1]||(p[1]=v=>h("click"))},me({_:2},[e.icon&&e.text.length<12||e.loading?{name:"prepend",fn:a(()=>[e.loading?(t(),y(ue,{key:0,color:"grey-lighten-5",indeterminate:""})):(t(),y(V,{key:1,icon:e.icon,size:"x-large"},null,8,["icon"]))]),key:"0"}:void 0]),1032,["disabled","style","text"])],4))}}),qe={key:0,xs5:"","pa-5":"",style:{height:"80%","min-width":"230px","margin-top":"25px","margin-bottom":"15px","margin-right":"24px","align-content":"center","flex-shrink":"0"}},je={key:0},Ke={key:1},Ge={style:{"min-width":"0"}},We=["src"],Ye={style:{"padding-bottom":"10px"}},Je=["onClick"],Oe={style:{color:"accent"}},Qe={style:{color:"accent"}},Xe={style:{color:"primary"}},Ze={style:{display:"flex","margin-left":"14px","padding-bottom":"10px",cursor:"pointer !important"}},_e=["innerHTML"],Me={key:3,class:"justify-center",style:{"margin-left":"15px","padding-bottom":"20px"}},et=J({__name:"InfoHeader",props:{item:{}},setup(e){const c=e,h=q(!1),x=q(),{mobile:p}=de(),v=q([]),I=new URL(""+new URL("info_gradient-C5d1dalX.jpg",import.meta.url).href,import.meta.url).href,$=new Se,k=Ce();ce(()=>c.item,async o=>{o?(x.value=E(o,F.FANART)||E(o,F.LANDSCAPE)||E(o,F.THUMB)||I,v.value=await Te([o],o)):(x.value=I,v.value=[])},{immediate:!0});const H=function(o){k.push({name:"album",params:{itemId:o.item_id,provider:o.provider}})},G=function(o){k.push({name:"artist",params:{itemId:o.item_id,provider:o.provider}})},N=function(){if(W.prevRoute){k.back();return}const o=k.currentRoute.value.name?.toString()||"";for(const s of["artist","album","track","playlist","radio"])if(o.includes(s)){k.push({name:`${s}s`});return}k.push({name:"home"})},U=function(o=!1){const s=document.getElementById("playbutton");we(c.item,s.getBoundingClientRect().left,s.getBoundingClientRect().top+36,void 0,o)},l=R(()=>c.item?c.item.metadata&&c.item.metadata.description?c.item.metadata.description:c.item.metadata&&c.item.metadata.copyright?c.item.metadata.copyright:("artists"in c.item&&c.item.artists.forEach(function(o){if("metadata"in o&&o.metadata.description)return o.metadata.description}),""):""),g=R(()=>ye(l.value)),n=R(()=>{const o=p.value?160:300;return l.value.length>o?g.value.substring(0,o)+"...":g.value}),C=R(()=>{if(c.item&&c.item.media_type==j.ARTIST)return E(c.item,F.LOGO)});return(o,s)=>(t(),r("div",null,[i(O,{variant:"flat",img:f(I),style:{"z-index":"0","border-radius":"0px"},height:"25vh","max-height":"500px","min-height":"340px"},{default:a(()=>[e.item?d("",!0):(t(),y(fe,{key:0,indeterminate:""})),i(M,{width:"100%",height:"100%",cover:"",class:"background-image",src:x.value,gradient:o.$vuetify.theme.current.dark?"to bottom, rgba(0,0,0,.90), rgba(0,0,0,.75)":"to bottom, rgba(255,255,255,.90), rgba(255,255,255,.75)"},null,8,["src","gradient"]),i(ee,{icon:"mdi-arrow-left",style:{position:"absolute"},"menu-items":v.value,"enforce-overflow-menu":!0,"show-loading":!0,"icon-action":N},null,8,["menu-items"]),e.item?(t(),y(Ee,{key:1,style:{margin:"0",top:"55%","-ms-transform":"translateY(-50%)",transform:"translateY(-50%)","padding-left":"15px","align-items":"center","padding-right":"15px",display:"flex",width:"100%"}},{default:a(()=>[o.$vuetify.display.mobile?d("",!0):(t(),r("div",qe,[e.item.media_type&&e.item.media_type==f(j).ARTIST?(t(),r("div",je,[i(ge,{size:"210",style:{"margin-bottom":"10%"}},{default:a(()=>[i(X,{item:e.item,size:"calc(100%)"},null,8,["item"])]),_:1})])):(t(),r("div",Ke,[i(X,{item:e.item,size:"calc(100%)",style:{"max-height":"256px"}},null,8,["item"])]))])),b("div",Ge,[C.value?(t(),r("img",{key:0,src:C.value,width:"auto",height:"80",style:{"padding-left":"10px"}},null,8,We)):(t(),y(he,{key:1},{default:a(()=>[i(D,{sync:f($)},{default:a(()=>[P(m(e.item.name),1)]),_:1},8,["sync"])]),_:1})),b("div",Ye,["version"in e.item&&e.item.version?(t(),y(L,{key:0,class:"caption"},{default:a(()=>[P(m(e.item.version)+" ",1),i(be,{location:"bottom"},{activator:a(({props:u})=>[f(ve)(e.item.metadata.explicit||!1)?(t(),y(V,ke({key:0},u,{icon:"mdi-alpha-e-box",width:"35"}),null,16)):d("",!0)]),default:a(()=>[b("span",null,m(o.$t("tooltip.explicit")),1)]),_:1})]),_:1})):d("",!0),"artists"in e.item&&e.item.artists?(t(),y(L,{key:1,class:"title accent--text d-flex"},{default:a(()=>[i(V,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-music"}),i(D,{sync:f($)},{default:a(()=>[(t(!0),r(z,null,A(e.item.artists,(u,w)=>(t(),r("span",{key:u.item_id},[b("a",{style:{color:"accent"},onClick:ot=>G(u)},m(u.name),9,Je),w+1<e.item.artists.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"authors"in e.item&&e.item.authors.length>0?(t(),y(L,{key:2,class:"title accent--text d-flex"},{default:a(()=>[i(V,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-edit"}),i(D,{sync:f($)},{default:a(()=>[(t(!0),r(z,null,A(e.item.authors,(u,w)=>(t(),r("span",{key:u},[b("span",Oe,m(u),1),w+1<e.item.authors.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"narrators"in e.item&&e.item.narrators.length>0?(t(),y(L,{key:3,class:"title accent--text d-flex"},{default:a(()=>[i(V,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-voice"}),i(D,{sync:f($)},{default:a(()=>[(t(!0),r(z,null,A(e.item.narrators,(u,w)=>(t(),r("span",{key:u},[b("span",Qe,m(u),1),w+1<e.item.narrators.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"owner"in e.item&&e.item.owner?(t(),y(L,{key:4,class:"title d-flex"},{default:a(()=>[i(V,{color:"primary",style:{"margin-left":"-3px","margin-right":"3px"},small:"",icon:"mdi-account-music"}),i(D,{sync:f($)},{default:a(()=>[b("a",Xe,m(e.item.owner),1)]),_:1},8,["sync"])]),_:1})):d("",!0),"album"in e.item&&e.item.album?(t(),y(L,{key:5,class:"d-flex"},{default:a(()=>[i(V,{color:"primary",style:{"margin-left":"-3px","margin-right":"3px"},small:"",icon:"mdi-album"}),i(D,{sync:f($)},{default:a(()=>[b("a",{style:{color:"secondary"},onClick:s[0]||(s[0]=u=>H(e.item?.album))},m(e.item.album.name),1)]),_:1},8,["sync"])]),_:1})):d("",!0)]),b("div",Ze,[i(Fe,{id:"playbutton",width:220,icon:"mdi-play-circle-outline",text:f(xe)(o.$t("play"),14),disabled:!e.item,loading:f(W).playActionInProgress,"open-menu-on-click":!f(W).activePlayer,onClick:U,onMenu:s[1]||(s[1]=u=>U(!0))},null,8,["text","disabled","loading","open-menu-on-click"]),i(T,{variant:"plain",ripple:"",icon:e.item.favorite?"mdi-heart":"mdi-heart-outline",size:"x-large",style:{"margin-top":"-14px"},title:o.$t("tooltip.favorite"),onClick:[s[2]||(s[2]=u=>f(S).toggleFavorite(e.item)),s[3]||(s[3]=K(()=>{},["prevent"])),s[4]||(s[4]=K(()=>{},["stop"]))]},null,8,["icon","title"]),i(Y,{domain:e.item.provider,size:25,style:{"margin-top":"6px"}},null,8,["domain"])]),n.value?(t(),y(L,{key:2,class:"body-2 justify-left",style:{"padding-bottom":"10px","white-space":"pre-line",cursor:"pointer"},onClick:s[5]||(s[5]=u=>h.value=!h.value)},{default:a(()=>[b("div",{innerHTML:n.value},null,8,_e)]),_:1})):d("",!0),e.item&&e.item.metadata.genres?(t(),r("div",Me,[(t(!0),r(z,null,A(e.item.metadata.genres.slice(0,o.$vuetify.display.mobile?15:25),u=>(t(),y(Ve,{key:u,color:"blue-grey lighten-1",style:{"margin-right":"5px","margin-bottom":"5px"},small:"",outlined:""},{default:a(()=>[P(m(u),1)]),_:2},1024))),128))])):d("",!0)])]),_:1})):d("",!0)]),_:1},8,["img"]),i(He,{modelValue:h.value,"onUpdate:modelValue":s[7]||(s[7]=u=>h.value=u),"max-width":"975",width:"auto"},{default:a(()=>[i(O,null,{default:a(()=>[i(pe,{innerHTML:g.value},null,8,["innerHTML"]),i($e,null,{default:a(()=>[i(T,{color:"primary",block:"",onClick:s[6]||(s[6]=u=>h.value=!1)},{default:a(()=>[P(m(o.$t("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),ft=Ie(et,[["__scopeId","data-v-7debb90f"]]),tt={style:{"margin-bottom":"10px"}},it={key:0},at=["title","onClick"],nt=["title"],lt={class:"d-flex align-center ga-2"},gt=J({__name:"ProviderDetails",props:{itemDetails:{}},setup(e){const c=e,{t:h}=Le(),x=q(!1),p=function(l){window.open(l,"_blank")},v=De({}),I=function(l){const g=`${l.provider_instance}.${l.item_id}`,n=v[g];if(n)n.load(),delete v[g];else{const C=new Audio($(l.provider_instance,l.item_id));v[g]=C,C.play()}},$=function(l,g){return`${S.baseUrl}/preview?item_id=${encodeURIComponent(g)}&provider=${l}`},k=function(l){return`${l.provider_instance}://${c.itemDetails.media_type}/${l.item_id}`},H=async function(l){await Re(l)?Q.success(h("uri_copied")):Q.error(h("uri_copy_failed"))},G=function(l){const g=S.getProvider(l.provider_instance);if(g)return g.name;const n=S.getProviderManifest(l.provider_domain);return n?`${n.name} (${l.provider_instance})`:l.provider_instance},N=function(){x.value=!x.value},U=R(()=>[{label:"tooltip.collapse_expand",icon:x.value?"mdi-chevron-up":"mdi-chevron-down",action:N,overflowAllowed:!1}]);return(l,g)=>(t(),r("section",tt,[i(ee,{title:l.$t("mapped_providers"),"menu-items":U.value,onTitleClicked:N},null,8,["title","menu-items"]),i(Pe),x.value?(t(),y(Ne,{key:0},{default:a(()=>[i(Be,null,{default:a(()=>[(t(!0),r(z,null,A(e.itemDetails?.provider_mappings,n=>(t(),y(Z,{key:n.provider_instance,disabled:!n.available||!f(S).getProvider(n.provider_instance)},{prepend:a(()=>[i(Y,{domain:n.provider_domain,size:30},null,8,["domain"])]),title:a(()=>[P(m(G(n)),1)]),subtitle:a(()=>[e.itemDetails.media_type==f(j).TRACK&&n.audio_format?(t(),r("span",it,m(n.audio_format.content_type)+" | "+m(n.audio_format.sample_rate/1e3)+"kHz/"+m(n.audio_format.bit_depth)+" bits | ",1)):d("",!0),n.url&&!n.provider_domain.startsWith("file")?(t(),r("a",{key:1,style:{opacity:"0.4"},title:l.$t("tooltip.open_provider_link"),onClick:K(C=>p(n.url),["prevent"])},m(k(n)),9,at)):(t(),r("span",{key:2,style:{opacity:"0.4"},title:l.$t("copy_uri")},m(k(n)),9,nt))]),append:a(()=>[n.audio_format&&n.audio_format.bit_depth>16?(t(),y(M,{key:0,src:f(ze),width:"30",class:_(l.$vuetify.theme.current.dark?"hiresicondark":"hiresicon"),style:{"margin-right":"15px"}},null,8,["src","class"])):d("",!0),b("div",lt,[f(Ae)("bp1")&&e.itemDetails.media_type==f(j).TRACK?(t(),y(T,{key:0,icon:v[`${n.provider_instance}.${n.item_id}`]?"mdi-pause":"mdi-play-circle",title:l.$t("tooltip.play_sample"),onClick:C=>I(n)},null,8,["icon","title","onClick"])):d("",!0),n.url&&!n.provider_domain.startsWith("file")?(t(),y(T,{key:1,icon:"mdi-open-in-new",title:l.$t("tooltip.open_provider_link"),onClick:K(C=>p(n.url),["prevent"])},null,8,["title","onClick"])):d("",!0),i(T,{icon:"mdi-link",title:l.$t("tooltip.copy_uri"),onClick:C=>H(k(n))},null,8,["title","onClick"])])]),_:2},1032,["disabled"]))),128)),e.itemDetails.provider=="library"?(t(),y(Z,{key:0},{prepend:a(()=>[i(Y,{domain:"library",size:30})]),title:a(()=>[P(m(l.$t("music_assistant_library")),1)]),subtitle:a(()=>[b("span",null,"library://"+m(e.itemDetails.media_type)+"/"+m(e.itemDetails.item_id),1)]),append:a(()=>[i(T,{icon:"mdi-link",title:l.$t("tooltip.copy_uri"),onClick:g[0]||(g[0]=n=>H(`library://${e.itemDetails.media_type}/${e.itemDetails.item_id}`))},null,8,["title"])]),_:1})):d("",!0)]),_:1})]),_:1})):d("",!0)]))}});export{ft as I,gt as _};
@@ -0,0 +1 @@
1
+ import{ay as ie,J as E,i as $,co as m,aT as i,cF as T,L as B,az as w,aA as c,o as s,E as h,bH as de,aD as d,aI as y,aB as V,M as x,aG as e,bh as f,aN as g,aL as k,b4 as W,aF as X,ah as O,aH as Y,aE as le,bD as ve,aJ as J,aM as Z,bd as j,_ as oe,aP as u,aS as ue,bg as ce,c3 as Q,ax as se,bK as ae,aV as pe,bb as fe,a4 as ge,bP as me,bQ as _e,r as re,cB as ye,aR as he,aO as be}from"./index-rZUS0c3q.js";import{C as Pe}from"./Container-BunIU4BI.js";import{V as ee}from"./VCheckboxBtn-BMAdXnae.js";import{M as ne}from"./index-kQIztB-E.js";import{V as ke}from"./VDialog-BndVdZhi.js";import{a as Ce,V as Ae}from"./VAlert-CBrxai34.js";import"./VSelectionControl-S-aELuKm.js";const we={class:"filters-container"},xe={class:"d-flex ga-2 filter-buttons"},Te={key:0,class:"filter-dot"},Ee={key:0,class:"filter-dot"},Me=ie({__name:"ProviderFilters",props:{showStageFilter:{type:Boolean,default:!1}},emits:["update:search","update:types","update:stages"],setup(K,{emit:S}){const M=le(),b=ve(),L=E(""),P=E([]),_=E([]);let A=null,I=null,N=null;const G=$(()=>[{title:i("settings.musicprovider"),value:m.MUSIC},{title:i("settings.playerprovider"),value:m.PLAYER},{title:i("settings.metadataprovider"),value:m.METADATA},{title:i("settings.pluginprovider"),value:m.PLUGIN}]),U=$(()=>[{title:i("settings.stage.options.stable"),value:T.STABLE},{title:i("settings.stage.options.beta"),value:T.BETA},{title:i("settings.stage.options.alpha"),value:T.ALPHA},{title:i("settings.stage.options.experimental"),value:T.EXPERIMENTAL},{title:i("settings.stage.options.unmaintained"),value:T.UNMAINTAINED},{title:i("settings.stage.options.deprecated"),value:T.DEPRECATED}]),H=$(()=>P.value.length>0),D=$(()=>_.value.length>0),R=S,F=function(v){const p=P.value.indexOf(v);p>-1?P.value.splice(p,1):P.value.push(v)},q=function(v){const p=_.value.indexOf(v);p>-1?_.value.splice(p,1):_.value.push(v)},z=function(){if(b.query.search&&(L.value=b.query.search),b.query.types){const v=b.query.types;P.value=v.split(",")}if(b.query.stages){const v=b.query.stages;_.value=v.split(",")}};return B(L,v=>{R("update:search",v),A&&clearTimeout(A),A=setTimeout(()=>{const p={...b.query};v?p.search=v:delete p.search,M.replace({query:p})},750)}),B(P,v=>{R("update:types",v),I&&clearTimeout(I),I=setTimeout(()=>{const p={...b.query};v.length>0?p.types=v.join(","):delete p.types,M.replace({query:p})},750)},{deep:!0}),B(_,v=>{R("update:stages",v),N&&clearTimeout(N),N=setTimeout(()=>{const p={...b.query};v.length>0?p.stages=v.join(","):delete p.stages,M.replace({query:p})},750)},{deep:!0}),z(),(v,p)=>(c(),w("div",we,[s(de,{modelValue:L.value,"onUpdate:modelValue":p[0]||(p[0]=l=>L.value=l),"prepend-inner-icon":"mdi-magnify",label:d(i)("search"),variant:"outlined",density:"compact",clearable:"","hide-details":"",class:"search-field"},null,8,["modelValue","label"]),h("div",xe,[s(x,{height:"40",elevation:"0",variant:"outlined",density:"compact",class:"filter-btn"},{default:e(()=>[f(g(d(i)("settings.provider_type"))+" ",1),s(k,{end:""},{default:e(()=>[...p[1]||(p[1]=[f("mdi-chevron-down",-1)])]),_:1}),H.value?(c(),w("span",Te)):V("",!0),s(W,{activator:"parent","close-on-content-click":!1},{default:e(()=>[s(X,null,{default:e(()=>[(c(!0),w(O,null,Y(G.value,(l,o)=>(c(),y(J,{key:o,value:o,onClick:r=>F(l.value)},{append:e(()=>[s(ee,{"model-value":P.value.includes(l.value),onClick:j(r=>F(l.value),["stop"])},null,8,["model-value","onClick"])]),default:e(()=>[s(Z,null,{default:e(()=>[f(g(l.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),K.showStageFilter?(c(),y(x,{key:0,height:"40",elevation:"0",variant:"outlined",density:"compact",class:"filter-btn"},{default:e(()=>[f(g(d(i)("settings.stage.label"))+" ",1),s(k,{end:""},{default:e(()=>[...p[2]||(p[2]=[f("mdi-chevron-down",-1)])]),_:1}),D.value?(c(),w("span",Ee)):V("",!0),s(W,{activator:"parent","close-on-content-click":!1},{default:e(()=>[s(X,null,{default:e(()=>[(c(!0),w(O,null,Y(U.value,(l,o)=>(c(),y(J,{key:o,value:o,onClick:r=>q(l.value)},{append:e(()=>[s(ee,{"model-value":_.value.includes(l.value),onClick:j(r=>q(l.value),["stop"])},null,8,["model-value","onClick"])]),default:e(()=>[s(Z,null,{default:e(()=>[f(g(l.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})):V("",!0)])]))}}),Le=oe(Me,[["__scopeId","data-v-3d0fa42f"]]),Ve={class:"text-h6"},Ie={class:"d-flex ga-2 filter-buttons"},$e={key:0,class:"filter-dot"},ze={key:0,class:"filter-dot"},Se={class:"provider-list-container"},De={class:"provider-name"},Ne={class:"provider-description"},Ue={class:"d-flex align-center ga-2"},Re={key:1,class:"empty-state"},qe={class:"empty-title"},Be={class:"empty-message"},Oe=ie({__name:"AddProviderDialog",props:{show:{type:Boolean,default:!1}},emits:["update:show"],setup(K,{emit:S}){const M=S,b=le(),L=E([]),P=E(""),_=E([]),A=E([]),I=$(()=>[{title:i("settings.musicprovider"),value:m.MUSIC},{title:i("settings.playerprovider"),value:m.PLAYER},{title:i("settings.metadataprovider"),value:m.METADATA},{title:i("settings.pluginprovider"),value:m.PLUGIN}]),N=$(()=>[{title:i("settings.stage.options.stable"),value:T.STABLE},{title:i("settings.stage.options.beta"),value:T.BETA},{title:i("settings.stage.options.alpha"),value:T.ALPHA},{title:i("settings.stage.options.experimental"),value:T.EXPERIMENTAL},{title:i("settings.stage.options.unmaintained"),value:T.UNMAINTAINED},{title:i("settings.stage.options.deprecated"),value:T.DEPRECATED}]),G=$(()=>{let l=Object.values(u.providerManifests);return l=l.filter(o=>!o.builtin&&o.type!=="core"),l.filter(o=>o.multi_instance||!L.value.find(r=>r.domain==o.domain)).sort((o,r)=>{const a=(o.name||u.providerManifests[o.domain].name).toUpperCase(),t=(r.name||u.providerManifests[r.domain].name).toUpperCase();return a>t?1:-1})}),U=$(()=>{let l=G.value;if(P.value){const o=P.value.toLowerCase();l=l.filter(r=>r.name.toLowerCase().includes(o)||r.description.toLowerCase().includes(o))}return _.value.length>0&&(l=l.filter(o=>_.value.includes(o.type))),A.value.length>0&&(l=l.filter(o=>A.value.includes(o.stage))),l}),H=$(()=>_.value.length>0),D=$(()=>A.value.length>0),R=async function(){L.value=await u.getProviderConfigs()},F=function(l){if(l.depends_on&&!u.getProvider(l.depends_on)){const o=u.getProviderName(l.depends_on);confirm(i("settings.provider_depends_on_confirm",[l.name,o]))&&b.push(`/settings/addprovider/${l.depends_on}`);return}b.push(`/settings/addprovider/${l.domain}`),p()},q=function(l){const o=_.value.indexOf(l);o>-1?_.value.splice(o,1):_.value.push(l)},z=function(l){const o=A.value.indexOf(l);o>-1?A.value.splice(o,1):A.value.push(l)},v=function(l){return ne(l).with("stable",()=>"green").with("beta",()=>"blue").with("alpha",()=>"purple").with("experimental",()=>"orange").with("unmaintained",()=>"grey").with("deprecated",()=>"red").otherwise(()=>"green")},p=function(){M("update:show",!1)};return B(()=>u.providers,l=>{l&&R()},{immediate:!0}),(l,o)=>(c(),y(ke,{"model-value":K.show,"max-width":"800px",scrollable:"","onUpdate:modelValue":o[1]||(o[1]=r=>{d(se).dialogActive=r,M("update:show",r)})},{default:e(()=>[s(ue,{class:"add-provider-dialog"},{default:e(()=>[s(ce,{class:"d-flex align-center justify-space-between pa-4"},{default:e(()=>[h("span",Ve,g(d(i)("settings.add_provider")),1),s(x,{icon:"mdi-close",variant:"text",size:"small",onClick:p})]),_:1}),s(Q,{class:"pa-4 pb-2"},{default:e(()=>[s(de,{modelValue:P.value,"onUpdate:modelValue":o[0]||(o[0]=r=>P.value=r),"prepend-inner-icon":"mdi-magnify",placeholder:d(i)("search"),variant:"outlined",density:"compact",clearable:"","hide-details":"",class:"search-field"},null,8,["modelValue","placeholder"])]),_:1}),s(Q,{class:"pa-4 pt-2 pb-2"},{default:e(()=>[h("div",Ie,[s(x,{height:"40",elevation:"0",variant:"outlined",density:"compact",class:"filter-btn"},{default:e(()=>[f(g(d(i)("settings.provider_type"))+" ",1),s(k,{end:""},{default:e(()=>[...o[2]||(o[2]=[f("mdi-chevron-down",-1)])]),_:1}),H.value?(c(),w("span",$e)):V("",!0),s(W,{activator:"parent","close-on-content-click":!1},{default:e(()=>[s(X,null,{default:e(()=>[(c(!0),w(O,null,Y(I.value,(r,a)=>(c(),y(J,{key:a,value:a,onClick:t=>q(r.value)},{append:e(()=>[s(ee,{"model-value":_.value.includes(r.value),onClick:j(t=>q(r.value),["stop"])},null,8,["model-value","onClick"])]),default:e(()=>[s(Z,null,{default:e(()=>[f(g(r.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),s(x,{height:"40",elevation:"0",variant:"outlined",density:"compact",class:"filter-btn"},{default:e(()=>[f(g(d(i)("settings.stage.label"))+" ",1),s(k,{end:""},{default:e(()=>[...o[3]||(o[3]=[f("mdi-chevron-down",-1)])]),_:1}),D.value?(c(),w("span",ze)):V("",!0),s(W,{activator:"parent","close-on-content-click":!1},{default:e(()=>[s(X,null,{default:e(()=>[(c(!0),w(O,null,Y(N.value,(r,a)=>(c(),y(J,{key:a,value:a,onClick:t=>z(r.value)},{append:e(()=>[s(ee,{"model-value":A.value.includes(r.value),onClick:j(t=>z(r.value),["stop"])},null,8,["model-value","onClick"])]),default:e(()=>[s(Z,null,{default:e(()=>[f(g(r.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})])]),_:1}),s(Q,{class:"pa-4 pt-2"},{default:e(()=>[h("div",Se,[U.value.length>0?(c(),y(X,{key:0,class:"provider-list"},{default:e(()=>[(c(!0),w(O,null,Y(U.value,r=>(c(),y(J,{key:r.domain,style:{padding:"0"},class:"provider-item",rounded:"lg",onClick:a=>F(r)},{prepend:e(()=>[s(pe,{domain:r.domain,size:40,class:"provider-icon"},null,8,["domain"])]),title:e(()=>[h("div",De,g(r.name),1)]),subtitle:e(()=>[h("div",Ne,g(r.description),1)]),append:e(()=>[h("div",Ue,[s(ae,{size:"x-small",variant:"flat",class:"text-uppercase",color:v(r.stage)},{default:e(()=>[f(g(d(i)(String(r.stage||"").toLowerCase())),1)]),_:2},1032,["color"]),s(k,{icon:"mdi-chevron-right",size:"small"})])]),_:2},1032,["onClick"]))),128))]),_:1})):(c(),w("div",Re,[s(k,{icon:"mdi-magnify",size:"48",class:"empty-icon"}),h("div",qe,g(d(i)("no_content")),1),h("div",Be,g(d(i)("no_content_filter")),1)]))])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Fe=oe(Oe,[["__scopeId","data-v-04638e04"]]),Ye={class:"text-body-1"},je={class:"mb-2"},Ge={class:"onboarding-list ml-4"},He={class:"providers-header w-100"},Xe={class:"pl-5 font-weight-medium"},Je=ie({__name:"Providers",setup(K){const S=le(),M=E([]),b=E(""),L=E([]),P=E(!1),_=E([]),A=u.subscribe(fe.PROVIDERS_UPDATED,()=>{I()});ge(A);const I=async function(){if(Object.keys(u.providerManifests).length===0){console.debug("Waiting for provider manifests to load before loading provider configs");return}M.value=await u.getProviderConfigs(),_.value=await u.getPlayerConfigs()},N=function(){se.isOnboarding=!1},G=function(a){u.removeProviderConfig(a),M.value=M.value.filter(t=>t.instance_id!=a)},U=function(a){S.push(`/settings/editprovider/${a}`)},H=function(a){const t=u.getProvider(a);t&&S.push({name:"playersettings",query:{providers:t.instance_id}})},D=function(a){if(a.type!==m.PLAYER)return 0;const t=u.getProvider(a.instance_id);return t?_.value.filter(n=>n.provider==="builtin_player"?!1:u.getProvider(n.provider)?.instance_id===t.instance_id||n.provider===t.instance_id||n.provider===t.domain).length:0},R=function(a){a.enabled=!a.enabled,u.saveProviderConfig(a.domain,{enabled:a.enabled},a.instance_id)},F=function(a){u.sendCommand("config/providers/reload",{instance_id:a}).catch(t=>alert(t))},q=function(a,t){const n=u.providerManifests[t.domain];if(!n){console.warn("Provider manifest not yet loaded for:",t.domain);return}const C=u.getProvider(t.instance_id),te=[{label:"settings.configure",labelArgs:[],action:()=>{U(t.instance_id)},icon:"mdi-cog"},{label:t.enabled?"settings.disable":"settings.enable",labelArgs:[],action:()=>{R(t)},icon:"mdi-cancel",disabled:!n.allow_disable},{label:"settings.documentation",labelArgs:[],action:()=>{ye(n.documentation)},icon:"mdi-bookshelf",disabled:!n.documentation},{label:"settings.sync",labelArgs:[],action:()=>{u.startSync(void 0,[t.instance_id])},icon:"mdi-sync",hide:!C?.available||t.type!=m.MUSIC},{label:"settings.delete",labelArgs:[],action:()=>{G(t.instance_id)},icon:"mdi-delete",hide:n.builtin},{label:"settings.reload",labelArgs:[],action:()=>{F(t.instance_id)},icon:"mdi-refresh"}];t.type===m.PLAYER&&C&&te.push({label:"settings.view_players",labelArgs:[],action:()=>{S.push({name:"playersettings",query:{providers:C.instance_id}})},icon:"mdi-speaker"}),C?.available&&C.supported_features.includes(he.CREATE_GROUP_PLAYER)&&te.push({label:"settings.add_group_player",labelArgs:[],action:()=>{S.push(`/settings/addgroup/${C.instance_id}`)},icon:"mdi-speaker-multiple"}),be.emit("contextmenu",{items:te,posX:a.clientX,posY:a.clientY})};B(()=>u.providers,a=>{a&&I()},{immediate:!0}),B(()=>u.players,()=>{I()}),B(()=>Object.keys(u.providerManifests).length,a=>{a>0&&I()});const z=function(a){const t=u.getProvider(a.instance_id);if(t&&t.name)return t.name;const n=u.providerManifests[a.domain];return a.name||n?.name},v=function(a){return a&&a.length>150},p=function(a){return ne(a).with("stable",()=>"green").with("beta",()=>"blue").with("alpha",()=>"purple").with("experimental",()=>"orange").with("unmaintained",()=>"grey").with("deprecated",()=>"red").otherwise(()=>"green")},l=function(a){return ne(a).with(m.MUSIC,()=>i("settings.music")).with(m.PLAYER,()=>i("settings.player")).with(m.METADATA,()=>i("settings.metadata")).with(m.PLUGIN,()=>i("settings.plugin")).otherwise(()=>i("settings.player"))},o=function(a){return{[m.MUSIC]:"mdi-music",[m.PLAYER]:"mdi-speaker",[m.METADATA]:"mdi-file-code",[m.PLUGIN]:"mdi-puzzle"}[a]||"mdi-help-circle"},r=function(){let a=[...M.value];if(b.value){const t=b.value.toLowerCase();a=a.filter(n=>z(n).toLowerCase().includes(t))}return L.value.length>0&&(a=a.filter(t=>L.value.includes(t.type))),a.sort((t,n)=>z(t).localeCompare(z(n)))};return(a,t)=>(c(),w(O,null,[d(se).isOnboarding?(c(),y(Ae,{key:0,type:"info",variant:"tonal",closable:"",class:"mx-5 mt-4","onClick:close":N},{default:e(()=>[s(Ce,{class:"text-h6 mb-2"},{default:e(()=>[f(g(d(i)("settings.onboarding_title")),1)]),_:1}),h("div",Ye,[h("p",je,g(d(i)("settings.onboarding_message")),1),h("ul",Ge,[h("li",null,[s(k,{icon:"mdi-speaker",size:"small",class:"mr-2"}),f(" "+g(d(i)("settings.onboarding_players")),1)]),h("li",null,[s(k,{icon:"mdi-music",size:"small",class:"mr-2"}),f(" "+g(d(i)("settings.onboarding_music")),1)]),h("li",null,[s(k,{icon:"mdi-puzzle",size:"small",class:"mr-2"}),f(" "+g(d(i)("settings.onboarding_plugins")),1)])])])]),_:1})):V("",!0),h("div",He,[s(Le,{"onUpdate:search":t[0]||(t[0]=n=>b.value=n),"onUpdate:types":t[1]||(t[1]=n=>L.value=n)}),s(x,{color:"primary",variant:"outlined",height:"40",class:"add-provider-btn",onClick:t[2]||(t[2]=n=>P.value=!0)},{default:e(()=>[f(g(d(i)("settings.add_provider")),1)]),_:1})]),h("div",Xe,g(d(i)("settings.providers_total",[r().length,r().length>1?"s":""])),1),s(Pe,{variant:"comfortable",class:"mt-4"},{default:e(()=>[s(me,null,{default:e(()=>[(c(!0),w(O,null,Y(r(),n=>(c(),y(_e,{key:n.instance_id,cols:"12",md:"6",lg:"4",class:"d-flex"},{default:e(()=>[s(ue,{class:re(["flex-fill rounded-lg provider-card d-flex flex-column",{"player-provider-card":n.type===d(m).PLAYER}]),"min-height":"200px",onClick:C=>U(n.instance_id)},{prepend:e(()=>[s(pe,{domain:n.domain,size:50,class:"listitem-media-thumb",style:{"margin-top":"5px","margin-bottom":"5px"}},null,8,["domain"])]),append:e(()=>[d(u).syncTasks.value.filter(C=>C.provider_instance==n.instance_id).length>0?(c(),y(x,{key:0,variant:"text",size:"small",icon:"",title:d(i)("settings.sync_running")},{default:e(()=>[s(k,{color:"grey"},{default:e(()=>[...t[4]||(t[4]=[f(" mdi-sync ",-1)])]),_:1})]),_:1},8,["title"])):V("",!0),n.enabled?n.last_error?(c(),y(x,{key:2,variant:"text",size:"small",icon:"",title:n.last_error},{default:e(()=>[s(k,{color:"red"},{default:e(()=>[...t[6]||(t[6]=[f(" mdi-alert-circle ",-1)])]),_:1})]),_:1},8,["title"])):d(u).providers[n.instance_id]?.available?V("",!0):(c(),y(x,{key:3,variant:"text",size:"small",icon:"",title:d(i)("settings.not_loaded")},{default:e(()=>[s(k,{icon:"mdi-timer-sand"})]),_:1},8,["title"])):(c(),y(x,{key:1,variant:"text",size:"small",icon:"",title:d(i)("settings.provider_disabled")},{default:e(()=>[s(k,{color:"grey"},{default:e(()=>[...t[5]||(t[5]=[f(" mdi-cancel ",-1)])]),_:1})]),_:1},8,["title"])),s(x,{variant:"text",size:"small",icon:"",title:l(n.type)},{default:e(()=>[s(k,{icon:o(n.type)},null,8,["icon"])]),_:2},1032,["title"]),d(u).providerManifests[n.domain]?(c(),y(ae,{key:4,size:"x-small",variant:"flat",class:"mx-1 text-uppercase",color:p(d(u).providerManifests[n.domain]?.stage)},{default:e(()=>[f(g(d(i)(String(d(u).providerManifests[n.domain]?.stage||"").toLowerCase())),1)]),_:2},1032,["color"])):V("",!0),s(x,{icon:"mdi-dots-vertical",size:"small",variant:"text",onClick:j(C=>q(C,n),["stop"])},null,8,["onClick"])]),default:e(()=>[s(ce,null,{default:e(()=>[f(g(z(n)),1)]),_:2},1024),d(u).providerManifests[n.domain]?(c(),y(Q,{key:0,class:re(["provider-description flex-grow-1",{"truncated-text":v(d(u).providerManifests[n.domain].description)}])},{default:e(()=>[f(g(d(u).providerManifests[n.domain].description),1)]),_:2},1032,["class"])):V("",!0),n.type===d(m).PLAYER&&D(n)>0?(c(),y(Q,{key:1,class:"provider-players-count mt-auto"},{default:e(()=>[s(ae,{size:"small",variant:"flat",color:"primary",class:"player-count-chip",onClick:j(C=>H(n.instance_id),["stop"])},{default:e(()=>[s(k,{start:"",size:"small"},{default:e(()=>[...t[7]||(t[7]=[f("mdi-speaker",-1)])]),_:1}),f(" "+g(D(n)===1?d(i)("settings.one_player"):d(i)("settings.players_count",[D(n),D(n)!==1?"s":""])),1)]),_:2},1032,["onClick"])]),_:2},1024)):V("",!0)]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1})]),_:1}),s(Fe,{show:P.value,"onUpdate:show":t[3]||(t[3]=n=>P.value=n)},null,8,["show"])],64))}}),at=oe(Je,[["__scopeId","data-v-3e34041e"]]);export{at as default};
@@ -0,0 +1 @@
1
+ .filters-container[data-v-3d0fa42f]{display:flex;align-items:stretch;gap:12px;flex:1;flex-wrap:wrap}.search-field[data-v-3d0fa42f]{flex:1 1 auto;min-width:250px;max-width:400px}.filter-buttons[data-v-3d0fa42f]{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.filter-buttons .v-btn[data-v-3d0fa42f]{min-width:100px;border-color:rgba(var(--v-theme-on-surface),.2);color:rgba(var(--v-theme-on-surface),.6)}.filter-buttons .v-btn .v-icon[data-v-3d0fa42f]{color:rgba(var(--v-theme-on-surface),.6)}.filter-btn[data-v-3d0fa42f]{position:relative}.filter-dot[data-v-3d0fa42f]{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background-color:rgb(var(--v-theme-primary));z-index:1;box-shadow:0 0 0 2px rgb(var(--v-theme-surface))}@media (max-width: 960px){.filters-container[data-v-3d0fa42f]{flex-direction:column;align-items:stretch}.search-field[data-v-3d0fa42f]{width:100%;min-width:100%}.filter-buttons[data-v-3d0fa42f]{width:100%}.filter-buttons .v-btn[data-v-3d0fa42f]{flex:1 1 auto;min-width:120px}}[data-v-3d0fa42f] .v-list-item .v-checkbox-btn,[data-v-3d0fa42f] .v-list-item .v-checkbox-btn .v-input__control{display:flex;align-items:center}[data-v-3d0fa42f] .v-list-item .v-checkbox-btn .v-selection-control{min-height:auto}.add-provider-dialog[data-v-04638e04]{height:600px;display:flex;flex-direction:column}.search-field[data-v-04638e04]{width:100%}.filter-buttons[data-v-04638e04]{flex-wrap:wrap}.filter-buttons .v-btn[data-v-04638e04]{border-color:rgba(var(--v-theme-on-surface),.2);color:rgba(var(--v-theme-on-surface),.6)}.filter-buttons .v-btn .v-icon[data-v-04638e04]{color:rgba(var(--v-theme-on-surface),.6)}.filter-btn[data-v-04638e04]{position:relative}.filter-dot[data-v-04638e04]{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background-color:rgb(var(--v-theme-primary));z-index:1;box-shadow:0 0 0 2px rgb(var(--v-theme-surface))}.provider-list-container[data-v-04638e04]{height:400px;display:flex;flex-direction:column}.provider-list[data-v-04638e04]{flex:1;overflow-y:auto}.provider-item[data-v-04638e04]{height:80px;margin-bottom:4px;transition:all .2s ease;cursor:pointer}.provider-item[data-v-04638e04]:hover{background-color:rgba(var(--v-theme-primary),.04);transform:translateY(-1px)}.provider-icon[data-v-04638e04]{margin-right:12px}.provider-name[data-v-04638e04]{font-weight:500;font-size:16px;line-height:1.2;margin-bottom:4px}.provider-description[data-v-04638e04]{font-size:14px;color:rgba(var(--v-theme-on-surface),.6);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:2.6em}.empty-state[data-v-04638e04]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px 20px}.empty-icon[data-v-04638e04]{color:rgba(var(--v-theme-on-surface),.3);margin-bottom:16px}.empty-title[data-v-04638e04]{font-size:18px;font-weight:500;color:rgba(var(--v-theme-on-surface),.7);margin-bottom:8px}.empty-message[data-v-04638e04]{font-size:14px;color:rgba(var(--v-theme-on-surface),.5);line-height:1.4}@media (max-width: 600px){.add-provider-dialog[data-v-04638e04]{height:500px}.provider-list-container[data-v-04638e04]{height:300px}}.providers-header[data-v-3e34041e]{display:flex;align-items:stretch;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 20px 6px}.add-provider-btn[data-v-3e34041e]{flex-shrink:0;align-self:center}@media (max-width: 960px){.providers-header[data-v-3e34041e]{flex-direction:column;align-items:stretch}.add-provider-btn[data-v-3e34041e]{width:100%;align-self:stretch}}.provider-description[data-v-3e34041e]{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4em;max-height:4.2em}.provider-description.truncated-text[data-v-3e34041e]{margin-bottom:16px!important}.onboarding-list[data-v-3e34041e]{list-style:none;padding-left:0}.onboarding-list li[data-v-3e34041e]{display:flex;align-items:center;margin-bottom:8px}.provider-card[data-v-3e34041e]{transition:all .2s ease}.provider-card[data-v-3e34041e]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.player-provider-card[data-v-3e34041e]{cursor:pointer}.provider-players-count[data-v-3e34041e]{padding-top:12px!important;padding-bottom:12px!important;margin-top:auto;align-content:end}.player-count-chip[data-v-3e34041e]{cursor:pointer;transition:all .2s ease}.player-count-chip[data-v-3e34041e]:hover{transform:scale(1.05)}
@@ -0,0 +1 @@
1
+ import{I as c}from"./ItemsListing-DiFULYEk.js";import{I as f,_ as v}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-DzvsLzds.js";import{ay as h,J as y,L as I,az as w,aA as s,o as V,aI as m,aB as l,E as g,aP as n,bX as k}from"./index-rZUS0c3q.js";import"./Container-BunIU4BI.js";import"./index-kQIztB-E.js";import"./Toolbar-xH_GEfSi.js";import"./VToolbar-hGVdN8lh.js";import"./Button-Cm9Kv1fL.js";import"./ListItem-DNqmHglz.js";import"./userPreferences-a0gVUlkp.js";import"./VCheckboxBtn-BMAdXnae.js";import"./VSelectionControl-S-aELuKm.js";import"./MediaItemThumb-Djieuu-m.js";import"./PanelviewItemCompact-zZvQaI6t.js";import"./VInfiniteScroll-B5bUrC-Z.js";import"./VVirtualScroll-C1eeqQrQ.js";import"./VAlert-CBrxai34.js";import"./marquee_text_sync-AT1GwuhW.js";import"./VDialog-BndVdZhi.js";const j=h({__name:"RadioDetails",props:{itemId:{},provider:{}},setup(a){const t=a,e=y(),p=async function(){e.value=await n.getRadio(t.itemId,t.provider)};I(()=>t.itemId,o=>{o&&p()},{immediate:!0});const d=async function(o){const i=[];if(t.provider=="library"){const r=await n.getRadioVersions(t.itemId,t.provider);i.push(...r)}for(const r of k(e.value)){const u=await n.getRadioVersions(r.item_id,r.provider_instance);i.push(...u)}return i};return(o,i)=>(s(),w("section",null,[V(f,{item:e.value},null,8,["item"]),e.value?(s(),m(c,{key:0,itemtype:"radioversions","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-library":!1,"show-radio-number":!1,"show-duration":!1,"load-items":d,"sort-keys":["provider","sort_name"],title:o.$t("other_versions"),"hide-on-empty":!0,checksum:a.provider+a.itemId},null,8,["parent-item","title","checksum"])):l("",!0),i[0]||(i[0]=g("br",null,null,-1)),e.value?(s(),m(v,{key:1,"item-details":e.value},null,8,["item-details"])):l("",!0)]))}});export{j as default};
@@ -0,0 +1 @@
1
+ .loading-wrapper[data-v-9d9d32d2]{display:flex;justify-content:center;align-items:center;min-height:400px}.remote-access-wrapper[data-v-9d9d32d2]{padding:24px 0}.hero-card[data-v-9d9d32d2]{border:1px solid rgba(var(--v-theme-on-surface),.12)}.hero-content[data-v-9d9d32d2]{padding:32px;position:relative;z-index:1}.hero-icon-wrapper[data-v-9d9d32d2]{margin-bottom:16px}.hero-title[data-v-9d9d32d2]{font-size:1.75rem;font-weight:600;margin-bottom:12px;color:rgb(var(--v-theme-on-surface))}.hero-description[data-v-9d9d32d2]{font-size:1rem;line-height:1.6;color:rgba(var(--v-theme-on-surface),.7);margin-bottom:24px}.feature-grid[data-v-9d9d32d2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:16px}.feature-item[data-v-9d9d32d2]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:rgba(var(--v-theme-on-surface),.7)}.feature-item .v-icon[data-v-9d9d32d2]{color:rgb(var(--v-theme-primary))}.status-card[data-v-9d9d32d2]{border:1px solid rgba(var(--v-theme-on-surface),.12)}.status-header[data-v-9d9d32d2]{padding:24px;border-bottom:1px solid rgba(var(--v-theme-on-surface),.08)}.status-title[data-v-9d9d32d2]{font-size:1.25rem;font-weight:600;margin-bottom:8px}.status-text[data-v-9d9d32d2]{font-size:1rem;color:rgba(var(--v-theme-on-surface),.7)}.status-switch[data-v-9d9d32d2]{flex-shrink:0}.status-badges[data-v-9d9d32d2]{padding:20px 24px;display:flex;gap:12px;flex-wrap:wrap}.status-chip[data-v-9d9d32d2]{font-weight:500}.upgrade-card[data-v-9d9d32d2]{border:1px solid rgba(var(--v-theme-on-surface),.12)}.upgrade-content[data-v-9d9d32d2]{padding:32px;text-align:center;position:relative;z-index:1}.upgrade-icon[data-v-9d9d32d2]{margin-bottom:16px;color:rgb(var(--v-theme-primary))}.upgrade-title[data-v-9d9d32d2]{font-size:1.5rem;font-weight:600;margin-bottom:12px}.upgrade-description[data-v-9d9d32d2]{font-size:1rem;line-height:1.6;color:rgba(var(--v-theme-on-surface),.8);margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}.upgrade-button[data-v-9d9d32d2]{margin-top:8px}.remote-id-card[data-v-9d9d32d2]{border:1px solid rgba(var(--v-theme-on-surface),.12)}.remote-id-header[data-v-9d9d32d2]{padding:20px 20px 0;display:flex;align-items:center}.remote-id-title[data-v-9d9d32d2]{font-size:1.1rem;font-weight:600}.remote-id-content[data-v-9d9d32d2]{padding:20px}.remote-id-explanation[data-v-9d9d32d2]{font-size:.9rem;color:rgba(var(--v-theme-on-surface),.7);margin-bottom:16px;line-height:1.5}.remote-id-display-wrapper[data-v-9d9d32d2]{margin-bottom:24px}.remote-id-display[data-v-9d9d32d2]{background:rgba(var(--v-theme-surface),.8);border:1px solid rgba(var(--v-theme-on-surface),.12);border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:all .2s ease}.remote-id-display[data-v-9d9d32d2]:hover{border-color:rgba(var(--v-theme-primary),.3);background:rgba(var(--v-theme-surface),1)}.remote-id-text[data-v-9d9d32d2]{font-family:JetBrains Mono,Courier New,monospace;font-size:1.1rem;font-weight:500;letter-spacing:.05em;color:rgb(var(--v-theme-on-surface));word-break:break-all;flex:1}.copy-button[data-v-9d9d32d2]{flex-shrink:0}.usage-title[data-v-9d9d32d2]{font-size:1.1rem;font-weight:600;margin-bottom:20px;color:rgb(var(--v-theme-on-surface))}.steps-list[data-v-9d9d32d2]{display:flex;flex-direction:column;gap:20px}.step-item[data-v-9d9d32d2]{display:flex;gap:16px;align-items:flex-start}.step-number[data-v-9d9d32d2]{width:36px;height:36px;border-radius:50%;background:rgb(var(--v-theme-primary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.step-content[data-v-9d9d32d2]{flex:1;font-size:.95rem;line-height:1.6;color:rgba(var(--v-theme-on-surface),.8);padding-top:6px}.step-link[data-v-9d9d32d2]{margin-left:4px}.technical-panels[data-v-9d9d32d2]{margin-bottom:24px}.diagram-section[data-v-9d9d32d2]{margin:24px 0}.diagram-title[data-v-9d9d32d2]{font-size:1rem;font-weight:600;margin-bottom:16px;color:rgb(var(--v-theme-on-surface))}.diagram-card[data-v-9d9d32d2]{border-radius:8px;padding:24px}.diagram-image[data-v-9d9d32d2]{width:100%;height:auto;max-width:800px;display:block;margin:0 auto;border-radius:4px}.specs-section[data-v-9d9d32d2]{margin-top:24px;display:flex;flex-direction:column;gap:20px}.spec-item[data-v-9d9d32d2]{display:flex;gap:16px;align-items:flex-start;padding:16px;background:rgba(var(--v-theme-surface),.3);border-radius:8px;border:1px solid rgba(var(--v-theme-on-surface),.08);transition:all .2s ease}.spec-item[data-v-9d9d32d2]:hover{background:rgba(var(--v-theme-surface),.5);border-color:rgba(var(--v-theme-primary),.2)}.spec-icon[data-v-9d9d32d2]{flex-shrink:0}.spec-content[data-v-9d9d32d2]{flex:1}.spec-title[data-v-9d9d32d2]{font-size:1rem;font-weight:600;margin-bottom:4px;color:rgb(var(--v-theme-on-surface))}.spec-description[data-v-9d9d32d2]{font-size:.9rem;color:rgba(var(--v-theme-on-surface),.7);line-height:1.5}.error-alert[data-v-9d9d32d2]{margin:24px}@media (max-width: 960px){.hero-content[data-v-9d9d32d2]{padding:24px}.feature-grid[data-v-9d9d32d2]{grid-template-columns:1fr}.status-header[data-v-9d9d32d2]{flex-direction:column;align-items:flex-start;gap:16px}.status-switch[data-v-9d9d32d2]{width:100%;justify-content:flex-start}.remote-id-text[data-v-9d9d32d2]{font-size:1.1rem}.step-item[data-v-9d9d32d2]{gap:12px}.step-number[data-v-9d9d32d2]{width:32px;height:32px;font-size:.9rem}}
@@ -0,0 +1 @@
1
+ import{C as w}from"./Container-BunIU4BI.js";import{ay as B,bN as M,J as A,a3 as D,b6 as f,aP as W,aW as g,aI as r,aA as d,aG as i,az as p,o as a,b8 as H,aB as b,cG as v,E as e,aL as c,bh as I,bg as C,aN as l,aS as m,c3 as P,bK as G,M as y,aD as V,bE as j,c7 as X,_ as L}from"./index-rZUS0c3q.js";import{V as R}from"./VSwitch-B-1g31ug.js";import{V as k,b as z,c as T,a as E}from"./VExpansionPanels-lmUrDJt6.js";import{V as x}from"./VAlert-CBrxai34.js";import"./index-kQIztB-E.js";import"./VSelectionControl-S-aELuKm.js";const U="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNDUwIj4KICA8IS0tIEFycm93IG1hcmtlcnMgKG11c3QgYmUgZGVmaW5lZCBmaXJzdCkgLS0+CiAgPGRlZnM+CiAgICA8bWFya2VyIGlkPSJhcnJvd2hlYWQiIG1hcmtlcldpZHRoPSIxMCIgbWFya2VySGVpZ2h0PSIxMCIgcmVmWD0iOSIgcmVmWT0iMyIgb3JpZW50PSJhdXRvIj4KICAgICAgPHBvbHlnb24gcG9pbnRzPSIwIDAsIDEwIDMsIDAgNiIgZmlsbD0iY3VycmVudENvbG9yIi8+CiAgICA8L21hcmtlcj4KICAgIDxtYXJrZXIgaWQ9ImFycm93aGVhZC1ncmVlbiIgbWFya2VyV2lkdGg9IjEwIiBtYXJrZXJIZWlnaHQ9IjEwIiByZWZYPSI5IiByZWZZPSIzIiBvcmllbnQ9ImF1dG8iPgogICAgICA8cG9seWdvbiBwb2ludHM9IjAgMCwgMTAgMywgMCA2IiBmaWxsPSIjNENBRjUwIi8+CiAgICA8L21hcmtlcj4KICA8L2RlZnM+CgogIDxzdHlsZT4KICAgIHRleHQgewogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmOwogICAgfQogIDwvc3R5bGU+CgogIDwhLS0gUmVtb3RlIENsaWVudCAtLT4KICA8Zz4KICAgIDxyZWN0IHg9IjUwIiB5PSI3MCIgd2lkdGg9IjE2MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMiIgZmlsbD0iIzRDQUY1MCIgb3BhY2l0eT0iMC4xMiIgc3Ryb2tlPSIjNENBRjUwIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgPHRleHQgeD0iMTMwIiB5PSIxMDgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTUiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9ImN1cnJlbnRDb2xvciI+UmVtb3RlIENsaWVudDwvdGV4dD4KICAgIDx0ZXh0IHg9IjEzMCIgeT0iMTM1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuNzUiPmFwcC5tdXNpYy1hc3Npc3RhbnQuaW88L3RleHQ+CiAgPC9nPgoKICA8IS0tIFNpZ25hbGluZyBTZXJ2ZXIgLS0+CiAgPGc+CiAgICA8cmVjdCB4PSIzMjAiIHk9IjUwIiB3aWR0aD0iMTYwIiBoZWlnaHQ9IjE0MCIgcng9IjEyIiBmaWxsPSIjMjE5NkYzIiBvcGFjaXR5PSIwLjEyIiBzdHJva2U9IiMyMTk2RjMiIHN0cm9rZS13aWR0aD0iMi41Ii8+CiAgICA8dGV4dCB4PSI0MDAiIHk9Ijg4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjE1IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPlNpZ25hbGluZyBTZXJ2ZXI8L3RleHQ+CiAgICA8dGV4dCB4PSI0MDAiIHk9IjExOCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iY3VycmVudENvbG9yIiBvcGFjaXR5PSIwLjciPkhBIENsb3VkPC90ZXh0PgogICAgPHRleHQgeD0iNDAwIiB5PSIxNDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC43Ij5TVFVOL1RVUk48L3RleHQ+CiAgICA8dGV4dCB4PSI0MDAiIHk9IjE2MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iY3VycmVudENvbG9yIiBvcGFjaXR5PSIwLjciPldlYlJUQzwvdGV4dD4KICA8L2c+CgogIDwhLS0gTXVzaWMgQXNzaXN0YW50IFNlcnZlciAtLT4KICA8Zz4KICAgIDxyZWN0IHg9IjU5MCIgeT0iNzAiIHdpZHRoPSIxNjAiIGhlaWdodD0iMTAwIiByeD0iMTIiIGZpbGw9IiM5QzI3QjAiIG9wYWNpdHk9IjAuMTIiIHN0cm9rZT0iIzlDMjdCMCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgIDx0ZXh0IHg9IjY3MCIgeT0iMTA4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjE1IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPk11c2ljIEFzc2lzdGFudDwvdGV4dD4KICAgIDx0ZXh0IHg9IjY3MCIgeT0iMTI4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuNzUiPlNlcnZlcjwvdGV4dD4KICAgIDx0ZXh0IHg9IjY3MCIgeT0iMTUwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEwIiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuNiI+UmVtb3RlIElEOiB4eHh4Li4uPC90ZXh0PgogIDwvZz4KCiAgPCEtLSBTdGVwIDE6IFJlbW90ZSBDbGllbnQgdG8gU2lnbmFsaW5nIFNlcnZlciAtLT4KICA8Zz4KICAgIDxsaW5lIHgxPSIyMTAiIHkxPSIxMjAiIHgyPSIzMTUiIHkyPSIxMjAiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgb3BhY2l0eT0iMC43IiBtYXJrZXItZW5kPSJ1cmwoI2Fycm93aGVhZCkiLz4KICAgIDxyZWN0IHg9IjIzMiIgeT0iOTAiIHdpZHRoPSI5NiIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuOSIgcng9IjQiLz4KICAgIDx0ZXh0IHg9IjI4MCIgeT0iMTA0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPjEuIENvbm5lY3Qgd2l0aCBJRDwvdGV4dD4KICA8L2c+CgogIDwhLS0gU3RlcCAyOiBTaWduYWxpbmcgU2VydmVyIHRvIE11c2ljIEFzc2lzdGFudCAtLT4KICA8Zz4KICAgIDxsaW5lIHgxPSI0ODUiIHkxPSIxMjAiIHgyPSI1ODUiIHkyPSIxMjAiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgb3BhY2l0eT0iMC43IiBtYXJrZXItZW5kPSJ1cmwoI2Fycm93aGVhZCkiLz4KICAgIDxyZWN0IHg9IjUwMiIgeT0iOTAiIHdpZHRoPSI2NiIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuOSIgcng9IjQiLz4KICAgIDx0ZXh0IHg9IjUzNSIgeT0iMTA0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPjIuIE5lZ290aWF0ZTwvdGV4dD4KICA8L2c+CgogIDwhLS0gU3RlcCAzOiBEaXJlY3QgUDJQIENvbm5lY3Rpb24gKGN1cnZlZCBwYXRoKSAtLT4KICA8Zz4KICAgIDxwYXRoIGQ9Ik0gMTMwLDE3NSBRIDQwMCwzMTAgNjcwLDE3NSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNENBRjUwIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1kYXNoYXJyYXk9IjEyLDYiIG1hcmtlci1lbmQ9InVybCgjYXJyb3doZWFkLWdyZWVuKSIvPgogICAgPHJlY3QgeD0iMzEwIiB5PSIyNzAiIHdpZHRoPSIxODAiIGhlaWdodD0iNTAiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjk1IiByeD0iNiIvPgogICAgPHRleHQgeD0iNDAwIiB5PSIyODkiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTMiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiM0Q0FGNTAiPjMuIERpcmVjdCBQMlAgQ29ubmVjdGlvbjwvdGV4dD4KICAgIDx0ZXh0IHg9IjQwMCIgeT0iMzA3IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmaWxsPSIjNENBRjUwIj4oRW5kLXRvLUVuZCBFbmNyeXB0ZWQpPC90ZXh0PgogIDwvZz4KCiAgPCEtLSBMZWdlbmQgLS0+CiAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgwLCAzODUpIj4KICAgIDxsaW5lIHgxPSIwIiB5MT0iMCIgeDI9IjUwIiB5Mj0iMCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBvcGFjaXR5PSIwLjciLz4KICAgIDx0ZXh0IHg9IjU4IiB5PSI1IiBmb250LXNpemU9IjExIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPlNpZ25hbGluZyAoc2V0dXAgb25seSk8L3RleHQ+CgogICAgPGxpbmUgeDE9IjI1MCIgeTE9IjAiIHgyPSIzMDAiIHkyPSIwIiBzdHJva2U9IiM0Q0FGNTAiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWRhc2hhcnJheT0iMTIsNiIvPgogICAgPHRleHQgeD0iMzA4IiB5PSI1IiBmb250LXNpemU9IjExIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPkRpcmVjdCBlbmNyeXB0ZWQgY29ubmVjdGlvbjwvdGV4dD4KICA8L2c+Cjwvc3ZnPgo=",J={key:0,class:"loading-wrapper"},Q={key:1,class:"remote-access-wrapper"},Y={class:"hero-icon-wrapper"},F={class:"hero-description"},K={class:"feature-grid"},$={class:"feature-item"},O={class:"feature-item"},q={class:"feature-item"},ee={class:"feature-item"},se={class:"d-flex align-center justify-space-between w-100"},ie={class:"status-text"},te={class:"upgrade-description"},ae={class:"remote-id-explanation"},le={class:"remote-id-display-wrapper"},Ie={class:"remote-id-display"},oe={class:"remote-id-text"},ce={class:"usage-title"},de={class:"steps-list"},ne={class:"step-item"},re={class:"step-content"},ge={class:"step-item"},me={class:"step-content"},ue={class:"step-item"},_e={class:"step-content"},pe={class:"diagram-section"},be={class:"diagram-title"},ve=["src"],Ce={class:"specs-section"},Ze={class:"spec-item"},Ae={class:"spec-content"},ye={class:"spec-title"},je={class:"spec-description"},he={class:"spec-item"},We={class:"spec-content"},Pe={class:"spec-title"},Ge={class:"spec-description"},Se={key:0},Ne={key:1},we={class:"spec-item"},Be={class:"spec-content"},Me={class:"spec-title"},De={class:"spec-description"},fe=B({__name:"RemoteAccessSettings",setup(He){const{t:n}=M(),Z=A(!0),u=A(!1),o=A(null);let _=null;D(async()=>{await h(),_=setInterval(async()=>{await h(!0)},5e3)}),f(()=>{_&&(clearInterval(_),_=null)});const h=async(s=!1)=>{s||(Z.value=!0);try{o.value=await W.getRemoteAccessInfo()}catch(t){console.error("Error loading remote access info:",t),s||g.error(n("settings.remote_access_error_loading"))}finally{s||(Z.value=!1)}},S=async s=>{if(!(!o.value||s===null)){u.value=!0;try{o.value=await W.configureRemoteAccess(s),g.success(n(s?"settings.remote_access_enabled_success":"settings.remote_access_disabled_success"))}catch(t){console.error("Error toggling remote access:",t),g.error(n("settings.remote_access_error_toggle"))}finally{u.value=!1}}},N=async()=>{if(!o.value?.remote_id)return;await X(o.value.remote_id)?g.success(n("settings.remote_access_id_copied")):g.error(n("settings.remote_access_error_copy"))};return(s,t)=>(d(),r(w,null,{default:i(()=>[Z.value?(d(),p("div",J,[a(H,{indeterminate:"",size:"64",color:"primary"})])):o.value?(d(),p("div",Q,[a(m,{class:"hero-card mb-6",elevation:"0",rounded:"lg"},{default:i(()=>[a(v,{class:"hero-content"},{default:i(()=>[e("div",Y,[a(c,{size:"48",color:"primary"},{default:i(()=>[...t[0]||(t[0]=[I("mdi-cloud-lock",-1)])]),_:1})]),a(C,{class:"hero-title"},{default:i(()=>[I(l(s.$t("settings.remote_access_title")),1)]),_:1}),e("p",F,l(s.$t("settings.remote_access_explanation_intro")),1),e("div",K,[e("div",$,[a(c,{size:"20",color:"primary"},{default:i(()=>[...t[1]||(t[1]=[I("mdi-check-circle",-1)])]),_:1}),e("span",null,l(s.$t("settings.remote_access_feature_webrtc")),1)]),e("div",O,[a(c,{size:"20",color:"primary"},{default:i(()=>[...t[2]||(t[2]=[I("mdi-check-circle",-1)])]),_:1}),e("span",null,l(s.$t("settings.remote_access_feature_encrypted")),1)]),e("div",q,[a(c,{size:"20",color:"primary"},{default:i(()=>[...t[3]||(t[3]=[I("mdi-check-circle",-1)])]),_:1}),e("span",null,l(s.$t("settings.remote_access_feature_no_port_forwarding")),1)]),e("div",ee,[a(c,{size:"20",color:"primary"},{default:i(()=>[...t[4]||(t[4]=[I("mdi-check-circle",-1)])]),_:1}),e("span",null,l(s.$t("settings.remote_access_explanation_ha_cloud")),1)])])]),_:1})]),_:1}),a(m,{class:"status-card mb-6",elevation:"0",rounded:"lg"},{default:i(()=>[a(v,{class:"status-header"},{default:i(()=>[e("div",se,[e("div",null,[a(C,{class:"status-title"},{default:i(()=>[I(l(s.$t("settings.remote_access_status")),1)]),_:1}),e("div",ie,l(o.value.enabled?s.$t("settings.remote_access_enabled"):s.$t("settings.remote_access_disabled")),1)]),a(R,{"model-value":o.value.enabled,loading:u.value,disabled:u.value,color:"primary","hide-details":"",class:"status-switch","onUpdate:modelValue":S},null,8,["model-value","loading","disabled"])])]),_:1}),o.value.enabled?(d(),r(P,{key:0,class:"status-badges"},{default:i(()=>[a(G,{color:o.value.connected?"success":"warning",size:"default",variant:"flat",class:"status-chip"},{default:i(()=>[I(l(o.value.connected?s.$t("settings.remote_access_connected"):s.$t("settings.remote_access_connecting")),1)]),_:1},8,["color"]),a(G,{color:o.value.using_ha_cloud?"success":"default",size:"default",variant:"outlined",class:"status-chip"},{default:i(()=>[I(l(o.value.using_ha_cloud?s.$t("settings.remote_access_mode_optimized"):s.$t("settings.remote_access_mode_basic")),1)]),_:1},8,["color"])]),_:1})):b("",!0)]),_:1}),o.value.enabled&&!o.value.using_ha_cloud?(d(),r(m,{key:0,class:"upgrade-card mb-6",elevation:"0",rounded:"lg"},{default:i(()=>[a(v,{class:"upgrade-content"},{default:i(()=>[a(c,{size:"60",color:"primary",class:"upgrade-icon"},{default:i(()=>[...t[5]||(t[5]=[I(" mdi-cloud-alert ",-1)])]),_:1}),a(C,{class:"upgrade-title"},{default:i(()=>[I(l(s.$t("settings.remote_access_mode_basic")),1)]),_:1}),e("p",te,l(s.$t("settings.remote_access_mode_basic_description")),1),a(y,{color:"primary",variant:"elevated",size:"large",class:"upgrade-button",href:"https://www.nabucasa.com",target:"_blank"},{default:i(()=>[I(l(s.$t("settings.remote_access_upgrade_to_optimized"))+" ",1),a(c,{end:""},{default:i(()=>[...t[6]||(t[6]=[I("mdi-open-in-new",-1)])]),_:1})]),_:1})]),_:1})]),_:1})):b("",!0),o.value.enabled&&o.value.remote_id?(d(),r(m,{key:1,class:"remote-id-card mb-6",elevation:"0",rounded:"lg"},{default:i(()=>[a(v,{class:"remote-id-header"},{default:i(()=>[a(c,{size:"28",color:"primary",class:"mr-2"},{default:i(()=>[...t[7]||(t[7]=[I("mdi-identifier",-1)])]),_:1}),a(C,{class:"remote-id-title"},{default:i(()=>[I(l(s.$t("settings.remote_access_your_id")),1)]),_:1})]),_:1}),a(P,{class:"remote-id-content"},{default:i(()=>[e("p",ae,l(s.$t("settings.remote_access_id_explanation")),1),e("div",le,[e("div",Ie,[e("code",oe,l(o.value.remote_id),1),a(y,{icon:"mdi-content-copy",variant:"text",size:"small",color:"primary",class:"copy-button",title:s.$t("settings.remote_access_copy_id"),onClick:N},null,8,["title"])])]),e("div",null,[e("div",ce,l(s.$t("settings.remote_access_how_to_use")),1),e("div",de,[e("div",ne,[t[10]||(t[10]=e("div",{class:"step-number"},"1",-1)),e("div",re,[I(l(s.$t("settings.remote_access_step_1"))+" ",1),a(y,{color:"primary",variant:"text",size:"small",href:"https://app.music-assistant.io",target:"_blank",class:"step-link"},{default:i(()=>[t[9]||(t[9]=I(" app.music-assistant.io ",-1)),a(c,{end:"",size:"small"},{default:i(()=>[...t[8]||(t[8]=[I("mdi-open-in-new",-1)])]),_:1})]),_:1})])]),e("div",ge,[t[11]||(t[11]=e("div",{class:"step-number"},"2",-1)),e("div",me,l(s.$t("settings.remote_access_step_2")),1)]),e("div",ue,[t[12]||(t[12]=e("div",{class:"step-number"},"3",-1)),e("div",_e,l(s.$t("settings.remote_access_step_3")),1)])])])]),_:1})]),_:1})):b("",!0),o.value.enabled?(d(),r(k,{key:2,class:"technical-panels"},{default:i(()=>[a(E,null,{default:i(()=>[a(z,null,{default:i(()=>[a(c,{start:""},{default:i(()=>[...t[13]||(t[13]=[I("mdi-information-outline",-1)])]),_:1}),I(" "+l(s.$t("settings.remote_access_technical_details")),1)]),_:1}),a(T,null,{default:i(()=>[e("div",pe,[e("div",be,l(s.$t("settings.remote_access_connection_flow")),1),a(m,{variant:"outlined",class:"diagram-card"},{default:i(()=>[e("img",{src:V(U),alt:"Remote Access Connection Flow",class:"diagram-image"},null,8,ve)]),_:1})]),e("div",Ce,[e("div",Ze,[a(j,{size:"48",color:"primary",variant:"tonal",class:"spec-icon"},{default:i(()=>[a(c,null,{default:i(()=>[...t[14]||(t[14]=[I("mdi-access-point-network",-1)])]),_:1})]),_:1}),e("div",Ae,[e("div",ye,l(s.$t("settings.remote_access_signaling_server")),1),e("div",je,l(s.$t("settings.remote_access_signaling_server_description")),1)])]),e("div",he,[a(j,{size:"48",color:"primary",variant:"tonal",class:"spec-icon"},{default:i(()=>[a(c,null,{default:i(()=>[...t[15]||(t[15]=[I("mdi-lan-connect",-1)])]),_:1})]),_:1}),e("div",We,[e("div",Pe,l(s.$t("settings.remote_access_protocol")),1),e("div",Ge,[o.value.using_ha_cloud?(d(),p("span",Se,l(s.$t("settings.remote_access_protocol_optimized")),1)):(d(),p("span",Ne,l(s.$t("settings.remote_access_protocol_basic")),1))])])]),e("div",we,[a(j,{size:"48",color:"primary",variant:"tonal",class:"spec-icon"},{default:i(()=>[a(c,null,{default:i(()=>[...t[16]||(t[16]=[I("mdi-lock",-1)])]),_:1})]),_:1}),e("div",Be,[e("div",Me,l(s.$t("settings.remote_access_encryption")),1),e("div",De,l(s.$t("settings.remote_access_encryption_description")),1)])])])]),_:1})]),_:1})]),_:1})):b("",!0)])):(d(),r(x,{key:2,type:"error",variant:"tonal",class:"error-alert"},{default:i(()=>[I(l(s.$t("settings.remote_access_error_loading")),1)]),_:1}))]),_:1}))}}),Ee=L(fe,[["__scopeId","data-v-9d9d32d2"]]);export{Ee as default};
@@ -0,0 +1 @@
1
+ import{C as I}from"./Container-BunIU4BI.js";import{I as $}from"./ItemsListing-DiFULYEk.js";import{T as L}from"./Toolbar-xH_GEfSi.js";import{W as c}from"./WidgetRow-DKnAiOkf.js";import{u as V}from"./userPreferences-a0gVUlkp.js";import{ay as B,J as p,L as w,a3 as C,ax as t,a4 as O,az as f,aA as i,o as m,aG as b,aI as n,aB as d,bH as P,aD as l,bI as R,ah as K,aH as U,aQ as r,bJ as D,bK as F,aP as M}from"./index-rZUS0c3q.js";import"./index-kQIztB-E.js";import"./Button-Cm9Kv1fL.js";import"./ListItem-DNqmHglz.js";import"./MediaItemThumb-Djieuu-m.js";import"./PanelviewItemCompact-zZvQaI6t.js";import"./VInfiniteScroll-B5bUrC-Z.js";import"./VVirtualScroll-C1eeqQrQ.js";import"./VAlert-CBrxai34.js";import"./VToolbar-hGVdN8lh.js";import"./VCheckboxBtn-BMAdXnae.js";import"./VSelectionControl-S-aELuKm.js";const E={key:1},H={key:2},oe=B({__name:"Search",setup(G){const v=p(!1),a=p(),s=p(!1),g=p(),{getPreference:S,setPreference:k}=V();w(()=>t.globalSearchTerm,()=>{clearTimeout(g.value),g.value=setTimeout(()=>{h(t.globalSearchTerm,t.globalSearchType)},1e3)},{immediate:!0}),w(()=>t.globalSearchType,()=>{h(t.globalSearchTerm,t.globalSearchType)});const h=async function(e,u){s.value=!0,k("globalSearch",e||"");const o=t.globalSearchType?50:8,A=u?[u]:void 0;e?a.value=await M.search(e,A,o):a.value=void 0,s.value=!1};C(()=>{if(!t.globalSearchTerm){const e=S("globalSearch").value;e&&e!=="null"&&(t.globalSearchTerm=e)}});const y=function(e){e.ctrlKey||e.altKey||e.metaKey||(!v.value&&e.key=="Backspace"&&t.globalSearchTerm?t.globalSearchTerm=t.globalSearchTerm.slice(0,-1):!v.value&&e.key.length==1&&(t.globalSearchTerm+=e.key))};document.addEventListener("keyup",y),O(()=>{document.removeEventListener("keyup",y)});const T=function(e){return a.value?e==r.TRACK?a.value.tracks:e==r.ARTIST?a.value.artists:e==r.ALBUM?a.value.albums:e==r.PLAYLIST?a.value.playlists:e==r.PODCAST?a.value.podcasts:e==r.AUDIOBOOK?a.value.audiobooks:e==r.RADIO?a.value.radio:[]:[]};return(e,u)=>(i(),f("section",null,[m(L,{icon:"mdi-magnify",title:e.$t("global_search")},null,8,["title"]),m(I,{variant:"default"},{default:b(()=>[m(P,{id:"searchInput",modelValue:l(t).globalSearchTerm,"onUpdate:modelValue":u[0]||(u[0]=o=>l(t).globalSearchTerm=o),clearable:"","prepend-inner-icon":"mdi-magnify",label:e.$t("type_to_search"),"hide-details":"",variant:"outlined",onFocus:u[1]||(u[1]=o=>v.value=!0),onBlur:u[2]||(u[2]=o=>v.value=!1)},null,8,["modelValue","label"]),m(R,{modelValue:l(t).globalSearchType,"onUpdate:modelValue":u[3]||(u[3]=o=>l(t).globalSearchType=o),style:{"margin-top":"10px","margin-left":"10px"}},{default:b(()=>[(i(!0),f(K,null,U([void 0,l(r).TRACK,l(r).ARTIST,l(r).ALBUM,l(r).PLAYLIST,l(r).PODCAST,l(r).AUDIOBOOK,l(r).RADIO],o=>(i(),n(F,{key:o,text:e.$t(o?o+"s":"searchtype_all"),value:o},null,8,["text","value"]))),128))]),_:1},8,["modelValue"]),s.value?(i(),n(D,{key:0,color:"accent",height:"4",indeterminate:"",rounded:"",style:{"margin-top":"15px"}})):d("",!0),l(t).globalSearchType?s.value?d("",!0):(i(),f("div",H,[m($,{itemtype:`${l(t).globalSearchType}s`,"show-provider":!0,"show-favorites-only-filter":!1,"show-select-button":!1,"show-refresh-button":!1,"load-items":async o=>T(l(t).globalSearchType),title:e.$t(`${l(t).globalSearchType}s`),"allow-key-hooks":!1,"show-search-button":!1,"infinite-scroll":!0,"sort-keys":[],style:{padding:"0"}},null,8,["itemtype","load-items","title"])])):(i(),f("div",E,[a.value&&!s.value?(i(),n(c,{key:0,"widget-row":{title:e.$t("tracks"),icon:"mdi-file-music",items:a.value.tracks},"show-provider-on-cover":!0},null,8,["widget-row"])):d("",!0),a.value&&!s.value?(i(),n(c,{key:1,"widget-row":{title:e.$t("artists"),icon:"mdi-account-music",items:a.value.artists},"show-provider-on-cover":!0},null,8,["widget-row"])):d("",!0),a.value&&!s.value?(i(),n(c,{key:2,"widget-row":{title:e.$t("albums"),icon:"mdi-album",items:a.value.albums},"show-provider-on-cover":!0},null,8,["widget-row"])):d("",!0),a.value&&!s.value?(i(),n(c,{key:3,"widget-row":{title:e.$t("playlists"),icon:"mdi-playlist-music",items:a.value.playlists},"show-provider-on-cover":!0},null,8,["widget-row"])):d("",!0),a.value&&!s.value?(i(),n(c,{key:4,"widget-row":{title:e.$t("podcasts"),icon:"mdi-podcast",items:a.value.podcasts},"show-provider-on-cover":!0},null,8,["widget-row"])):d("",!0),a.value&&!s.value?(i(),n(c,{key:5,"widget-row":{title:e.$t("audiobooks"),icon:"mdi-book-play-outline",items:a.value.audiobooks},"show-provider-on-cover":!0},null,8,["widget-row"])):d("",!0),a.value&&!s.value?(i(),n(c,{key:6,"widget-row":{title:e.$t("radios"),icon:"mdi-radio",items:a.value.radio},"show-provider-on-cover":!0},null,8,["widget-row"])):d("",!0)]))]),_:1})]))}});export{oe as default};
@@ -0,0 +1 @@
1
+ .log-container[data-v-30a4366c]{max-height:600px;overflow:auto;background-color:rgba(var(--v-theme-surface-variant),.3)}.log-content[data-v-30a4366c]{margin:0;padding:16px;font-family:Courier New,Courier,monospace;font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-break:break-all;color:rgba(var(--v-theme-on-surface),.87)}@media (prefers-color-scheme: dark){.log-container[data-v-30a4366c]{background-color:#0000004d}}
@@ -0,0 +1,4 @@
1
+ import{C as $}from"./Container-BunIU4BI.js";import{ay as B,J as r,i as b,L as E,a3 as S,b6 as N,aI as R,aA as v,aG as n,o as a,bg as z,E as f,bW as j,M as V,bh as y,aN as i,aU as A,c3 as D,az as _,aB as C,b8 as F,aL as M,aS as O,aP as x,R as P,_ as G}from"./index-rZUS0c3q.js";import{V as H}from"./VSwitch-B-1g31ug.js";import{V as J}from"./VAlert-CBrxai34.js";import"./index-kQIztB-E.js";import"./VSelectionControl-S-aELuKm.js";const W={class:"d-flex flex-column flex-sm-row align-start align-sm-center ga-2 w-100"},q={class:"d-flex flex-wrap ga-2"},K={key:0,class:"pa-8 text-center"},Q={class:"mt-4"},X={key:1,class:"pa-8 text-center"},Y={class:"text-error"},Z={key:2,class:"pa-4 text-center"},ee={class:"log-content"},h=150,te=B({__name:"ServerLogs",setup(ae){const c=r(""),m=r(!0),w=r(!1),d=r(""),p=r(!0),u=r(null);let o=null;const k=b(()=>{const e=c.value.split(`
2
+ `);return e.length>h?e.slice(-h).join(`
3
+ `):c.value}),L=b(()=>c.value.split(`
4
+ `).length>h),T=()=>{u.value&&P(()=>{u.value&&(u.value.scrollTop=u.value.scrollHeight)})},g=async(e=!1)=>{try{e?w.value=!0:m.value=!0,d.value="";const t=await fetch(`${x.baseUrl}/music-assistant.log`);if(!t.ok)throw new Error(`Failed to fetch logs: ${t.statusText}`);const s=await t.text(),l=c.value;c.value=s,(!e||s!==l)&&setTimeout(()=>T(),100)}catch(t){d.value=t.message||"Failed to load server logs",console.error("Error loading logs:",t)}finally{m.value=!1,w.value=!1}},U=()=>{g(!0)},I=async()=>{try{const t=await(await fetch(`${x.baseUrl}/music-assistant.log`)).blob(),s=window.URL.createObjectURL(t),l=document.createElement("a");l.href=s,l.download="music-assistant.log",document.body.appendChild(l),l.click(),document.body.removeChild(l),window.URL.revokeObjectURL(s)}catch(e){console.error("Error downloading log:",e)}};return E(p,e=>{e?o=setInterval(()=>{g(!0)},5e3):o&&(clearInterval(o),o=null)}),S(async()=>{await g(!1),p.value&&(o=setInterval(()=>{g(!0)},5e3))}),N(()=>{o&&clearInterval(o)}),(e,t)=>(v(),R($,null,{default:n(()=>[a(O,{class:"mb-4",elevation:"0",variant:"flat"},{default:n(()=>[a(z,{class:"text-subtitle-1 font-weight-bold py-3"},{default:n(()=>[f("div",W,[a(H,{modelValue:p.value,"onUpdate:modelValue":t[0]||(t[0]=s=>p.value=s),color:"primary",density:"compact","hide-details":"",label:e.$t("settings.auto_refresh_log")},null,8,["modelValue","label"]),a(j,{class:"d-none d-sm-block"}),f("div",q,[a(V,{color:"primary",variant:"text",loading:w.value,"prepend-icon":"mdi-refresh",size:"small",onClick:U},{default:n(()=>[y(i(e.$t("settings.reload")),1)]),_:1},8,["loading"]),a(V,{color:"primary",variant:"elevated","prepend-icon":"mdi-download",size:"small",onClick:I},{default:n(()=>[y(i(e.$t("settings.download_log")),1)]),_:1})])])]),_:1}),a(A),a(D,{class:"pa-0"},{default:n(()=>[m.value?(v(),_("div",K,[a(F,{indeterminate:"",color:"primary"}),f("div",Q,i(e.$t("loading")),1)])):d.value?(v(),_("div",X,[a(M,{icon:"mdi-alert-circle",color:"error",size:"48",class:"mb-4"}),f("div",Y,i(d.value),1)])):L.value?(v(),_("div",Z,[a(J,{type:"info",variant:"tonal"},{default:n(()=>[y(i(e.$t("settings.log_truncated",[h])),1)]),_:1})])):C("",!0),!m.value&&!d.value?(v(),_("div",{key:3,ref_key:"logContainer",ref:u,class:"log-container"},[f("pre",ee,i(k.value),1)],512)):C("",!0)]),_:1})]),_:1})]),_:1}))}}),ce=G(te,[["__scopeId","data-v-30a4366c"]]);export{ce as default};
@@ -0,0 +1 @@
1
+ import{C as z}from"./Container-BunIU4BI.js";import{T as $}from"./Toolbar-xH_GEfSi.js";import{g as B,p as w,n as P,E as k,q as I,r as D,C as M,cy as E,i as p,bZ as F,ao as U,o as r,ae as N,x as T,cz as Z,av as j,b$ as q,c as G,d as H,f as J,m as K,t as y,z as W,B as Y,cA as Q,aL as S,an as X,aw as ee,ah as A,ay as te,bN as se,by as ie,aE as ae,aP as u,az as O,aA as g,aI as C,aK as ne,aG as o,M as re,aD as _,cB as oe,aU as le,aF as de,aH as ue,aS as ce,aZ as me,aY as pe,aJ as ge,aM as ve,bh as R,aN as L,bS as fe,bE as be,_ as ye}from"./index-rZUS0c3q.js";import{M as _e}from"./index-kQIztB-E.js";import"./VToolbar-hGVdN8lh.js";const he=w({divider:[Number,String],...M()},"VBreadcrumbsDivider"),Ce=B()({name:"VBreadcrumbsDivider",props:he(),setup(t,l){let{slots:i}=l;return P(()=>k("li",{"aria-hidden":"true",class:D(["v-breadcrumbs-divider",t.class]),style:I(t.style)},[i?.default?.()??t.divider])),{}}}),ke=w({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...M(),...j(q(),["width","maxWidth"]),...Z(),...T({tag:"li"})},"VBreadcrumbsItem"),Ve=B()({name:"VBreadcrumbsItem",props:ke(),setup(t,l){let{slots:i,attrs:v}=l;const m=E(t,v),c=p(()=>t.active||m.isActive?.value),{dimensionStyles:f}=F(t),{textColorClasses:b,textColorStyles:d}=U(()=>c.value?t.activeColor:t.color);return P(()=>r(t.tag,{class:D(["v-breadcrumbs-item",{"v-breadcrumbs-item--active":c.value,"v-breadcrumbs-item--disabled":t.disabled,[`${t.activeClass}`]:c.value&&t.activeClass},b.value,t.class]),style:I([d.value,f.value,t.style]),"aria-current":c.value?"page":void 0},{default:()=>[m.isLink.value?k("a",N({class:"v-breadcrumbs-item--link",onClick:m.navigate},m.linkProps),[i.default?.()??t.title]):i.default?.()??t.title]})),{}}}),Se=w({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:"/"},icon:Q,items:{type:Array,default:()=>[]},itemProps:Boolean,...M(),...Y(),...W(),...T({tag:"ul"})},"VBreadcrumbs"),Be=B()({name:"VBreadcrumbs",props:Se(),setup(t,l){let{slots:i}=l;const{backgroundColorClasses:v,backgroundColorStyles:m}=G(()=>t.bgColor),{densityClasses:c}=H(t),{roundedClasses:f}=J(t);K({VBreadcrumbsDivider:{divider:y(()=>t.divider)},VBreadcrumbsItem:{activeClass:y(()=>t.activeClass),activeColor:y(()=>t.activeColor),color:y(()=>t.color),disabled:y(()=>t.disabled)}});const b=p(()=>t.items.map(d=>typeof d=="string"?{item:{title:d},raw:d}:{item:d,raw:d}));return P(()=>{const d=!!(i.prepend||t.icon);return r(t.tag,{class:D(["v-breadcrumbs",v.value,c.value,f.value,t.class]),style:I([m.value,t.style])},{default:()=>[d&&k("li",{key:"prepend",class:"v-breadcrumbs__prepend"},[i.prepend?r(X,{key:"prepend-defaults",disabled:!t.icon,defaults:{VIcon:{icon:t.icon,start:!0}}},i.prepend):r(S,{key:"prepend-icon",start:!0,icon:t.icon},null)]),b.value.map((h,s,n)=>{let{item:e,raw:a}=h;return k(A,null,[i.item?.({item:e,index:s})??r(Ve,N({key:s,disabled:s>=n.length-1},typeof e=="string"?{title:e}:e,t.itemProps&&ee(a)?a:{}),{default:i.title?()=>i.title?.({item:e,index:s}):void 0}),s<n.length-1&&r(Ce,null,{default:i.divider?()=>i.divider?.({item:a,index:s}):void 0})])}),i.default?.()]})}),{}}}),we=te({__name:"Settings",setup(t){const l=ae(),{t:i}=se(),v=[{name:"profile",label:"auth.profile",description:"settings.profile_description",icon:"mdi-account-cog",color:"indigo",route:{name:"profile"},adminOnly:!1},{name:"providers",label:"settings.providers",description:"settings.providers_description",icon:"mdi-monitor-dashboard",color:"blue",route:{name:"providersettings"},adminOnly:!0},{name:"players",label:"settings.players",description:"settings.players_description",icon:"mdi-speaker-multiple",color:"green",route:{name:"playersettings"},adminOnly:!0},{name:"system",label:"settings.system",description:"settings.system_description",icon:"mdi-server",color:"purple",route:{name:"systemsettings"},adminOnly:!0},{name:"remote_access",label:"settings.remote_access",description:"settings.remote_access_description",icon:"mdi-cloud-lock",color:"deep-purple",route:{name:"remoteaccesssettings"},adminOnly:!0},{name:"frontend",label:"settings.frontend",description:"settings.frontend_description",icon:"mdi-palette",color:"orange",route:{name:"frontendsettings"},adminOnly:!1},{name:"users",label:"auth.user_management",description:"settings.users_description",icon:"mdi-account-multiple",color:"teal",route:{name:"usersettings"},adminOnly:!0},{name:"about",label:"settings.about",description:"settings.about_description",icon:"mdi-information-outline",color:"grey-darken-1",route:{name:"aboutsettings"},adminOnly:!1}],m=p(()=>{const s=ie.isAdmin();return v.filter(n=>!n.adminOnly||s)}),c=p(()=>l.currentRoute.value.name==="settings"),f=p(()=>{const s=l.currentRoute.value.name?.toString()||"";return s==="profile"?"profile":s.includes("player")||s==="addgroup"?"players":s.includes("system")||s.includes("core")||s.includes("serverlog")?"system":s.includes("frontend")?"frontend":s.includes("remoteaccess")?"remote_access":s.includes("user")?"users":s.includes("about")?"about":"providers"}),b=s=>{const n=u.getProvider(s);if(n)return n.name;const e=s.split("--")[0];return u.providerManifests[e]?.name||s},d=p(()=>{const s=l.currentRoute.value,n=s.name?.toString()||"",e=[{title:i("settings.settings"),disabled:!1,href:"#",to:{name:"settings"}}];if(!c.value){const a=f.value;a==="profile"?e.push({title:i("auth.profile"),disabled:n==="profile",to:{name:"profile"}}):a==="players"?e.push({title:i("settings.players"),disabled:n==="playersettings",to:{name:"playersettings"}}):a==="system"?e.push({title:i("settings.system"),disabled:n==="systemsettings",to:{name:"systemsettings"}}):a==="remote_access"?e.push({title:i("settings.remote_access"),disabled:n==="remoteaccesssettings",to:{name:"remoteaccesssettings"}}):a==="frontend"?e.push({title:i("settings.frontend"),disabled:n==="frontendsettings",to:{name:"frontendsettings"}}):a==="users"?e.push({title:i("settings.users"),disabled:n==="usersettings",to:{name:"usersettings"}}):a==="providers"?e.push({title:i("settings.providers"),disabled:n==="providersettings",to:{name:"providersettings"}}):a==="about"&&e.push({title:i("settings.about"),disabled:n==="aboutsettings",to:{name:"aboutsettings"}})}return _e(n).with("addproviderdetails",()=>{e.push({title:i("settings.setup_provider",[s.params.domain||""]),disabled:!0})}).with("editprovider",()=>{e.push({title:b(s.params.instanceId),disabled:!0})}).with("addgroup",()=>{e.push({title:i("settings.add_group_player"),disabled:!0})}).with("editplayer",()=>{e.push({title:i("settings.player_settings"),disabled:!0})}).with("editplayerdsp",()=>{e.push({title:"DSP",disabled:!0})}).with("editcore",()=>{const a=s.params.domain,V=i(`settings.core_module.${a}.name`),x=V!==`settings.core_module.${a}.name`?V:u.providerManifests[a]?.name||a;e.push({title:x,disabled:!0})}).with("serverlogs",()=>{e.push({title:i("settings.server_logging"),disabled:!0})}).otherwise(()=>{}),e}),h=p(()=>{const s=l.currentRoute.value,n=s.name?.toString()||"";if(n==="editcore"){const e=s.params.domain;if(e&&u.providerManifests[e])return u.providerManifests[e].documentation||null}else if(n==="editprovider"){const e=s.params.instanceId;if(e){const a=u.getProvider(e);if(a&&u.providerManifests[a.domain])return u.providerManifests[a.domain].documentation||null}}else if(n==="addproviderdetails"){const e=s.params.domain;if(e&&u.providerManifests[e])return u.providerManifests[e].documentation||null}return null});return(s,n)=>{const e=pe("router-view");return g(),O("div",null,[r($,{icon:"mdi-cog-outline","show-loading":!0},ne({title:o(()=>[r(Be,{items:d.value,class:"pa-0"},null,8,["items"])]),_:2},[h.value?{name:"append",fn:o(()=>[r(re,{icon:"mdi-help-circle",variant:"text",title:_(i)("settings.view_documentation"),onClick:n[0]||(n[0]=a=>_(oe)(h.value))},null,8,["title"])]),key:"0"}:void 0]),1024),r(le),c.value?(g(),C(z,{key:0,variant:"comfortable",class:"settings-overview"},{default:o(()=>[r(ce,{class:"settings-main-card"},{default:o(()=>[r(de,{class:"settings-list"},{default:o(()=>[(g(!0),O(A,null,ue(m.value,a=>(g(),C(ge,{key:a.name,ripple:!0,class:"settings-list-item",onClick:V=>_(l).push(a.route)},{prepend:o(()=>[r(be,{color:a.color,size:"48"},{default:o(()=>[r(S,{icon:a.icon,size:"24",color:"white"},null,8,["icon"])]),_:2},1032,["color"])]),append:o(()=>[r(S,{icon:"mdi-chevron-right"})]),default:o(()=>[r(ve,{class:"text-h6"},{default:o(()=>[R(L(_(i)(a.label)),1)]),_:2},1024),r(fe,null,{default:o(()=>[R(L(_(i)(a.description)),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]),_:1})):(g(),C(e,{key:1},{default:o(({Component:a})=>[(g(),C(me(a)))]),_:1}))])}}}),Re=ye(we,[["__scopeId","data-v-6879739a"]]);export{Re as default};
@@ -1 +1 @@
1
- .v-breadcrumbs{display:flex;align-items:center;line-height:1.6;padding:16px 12px}.v-breadcrumbs--rounded{border-radius:4px}.v-breadcrumbs--density-default{padding-top:16px;padding-bottom:16px}.v-breadcrumbs--density-comfortable{padding-top:12px;padding-bottom:12px}.v-breadcrumbs--density-compact{padding-top:8px;padding-bottom:8px}.v-breadcrumbs__prepend{align-items:center;display:inline-flex}.v-breadcrumbs-item{align-items:center;color:inherit;display:inline-flex;padding:0 4px;text-decoration:none;vertical-align:middle}.v-breadcrumbs-item--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-breadcrumbs-item--link{color:inherit;text-decoration:none}.v-breadcrumbs-item--link:hover{text-decoration:underline}.v-breadcrumbs-item .v-icon{font-size:1rem;margin-inline:-4px 2px}.v-breadcrumbs-divider{display:inline-block;padding:0 8px;vertical-align:middle}.settings-overview[data-v-026ec39a]{padding:24px;max-width:800px;margin:0 auto}.settings-main-card[data-v-026ec39a]{overflow:hidden}.settings-list[data-v-026ec39a]{padding:0}.settings-list-item[data-v-026ec39a]{cursor:pointer;padding:20px 24px;min-height:80px;border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.settings-list-item[data-v-026ec39a]:last-child{border-bottom:none}.settings-list-item[data-v-026ec39a]:hover{background-color:rgba(var(--v-theme-on-surface),.05)}.settings-list-item[data-v-026ec39a] .v-list-item__prepend{margin-right:16px}.v-avatar[data-v-026ec39a]{box-shadow:0 2px 8px #00000026}
1
+ .v-breadcrumbs{display:flex;align-items:center;line-height:1.6;padding:16px 12px}.v-breadcrumbs--rounded{border-radius:4px}.v-breadcrumbs--density-default{padding-top:16px;padding-bottom:16px}.v-breadcrumbs--density-comfortable{padding-top:12px;padding-bottom:12px}.v-breadcrumbs--density-compact{padding-top:8px;padding-bottom:8px}.v-breadcrumbs__prepend{align-items:center;display:inline-flex}.v-breadcrumbs-item{align-items:center;color:inherit;display:inline-flex;padding:0 4px;text-decoration:none;vertical-align:middle}.v-breadcrumbs-item--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-breadcrumbs-item--link{color:inherit;text-decoration:none}.v-breadcrumbs-item--link:hover{text-decoration:underline}.v-breadcrumbs-item .v-icon{font-size:1rem;margin-inline:-4px 2px}.v-breadcrumbs-divider{display:inline-block;padding:0 8px;vertical-align:middle}.settings-overview[data-v-6879739a]{padding:24px;max-width:800px;margin:0 auto}.settings-main-card[data-v-6879739a]{overflow:hidden}.settings-list[data-v-6879739a]{padding:0}.settings-list-item[data-v-6879739a]{cursor:pointer;padding:20px 24px;min-height:80px;border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.settings-list-item[data-v-6879739a]:last-child{border-bottom:none}.settings-list-item[data-v-6879739a]:hover{background-color:rgba(var(--v-theme-on-surface),.05)}.settings-list-item[data-v-6879739a] .v-list-item__prepend{margin-right:16px}.v-avatar[data-v-6879739a]{box-shadow:0 2px 8px #00000026}@media (max-width: 600px){.settings-list-item[data-v-6879739a]{padding:12px 16px;min-height:64px}.settings-list-item[data-v-6879739a] .v-list-item__prepend{margin-right:12px}.settings-list-item[data-v-6879739a] .v-avatar{width:40px!important;height:40px!important}.settings-list-item[data-v-6879739a] .v-list-item-title{font-size:1rem!important;line-height:1.3}.settings-list-item[data-v-6879739a] .v-list-item-subtitle{font-size:.813rem!important;line-height:1.3}}
@@ -0,0 +1 @@
1
+ .settings-overview[data-v-fe538fe8]{padding:24px;max-width:800px;margin:0 auto}.settings-main-card[data-v-fe538fe8]{overflow:hidden}.settings-list[data-v-fe538fe8]{padding:0}.settings-list-item[data-v-fe538fe8]{cursor:pointer;padding:20px 24px;min-height:80px;border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.settings-list-item[data-v-fe538fe8]:last-child{border-bottom:none}.settings-list-item[data-v-fe538fe8]:hover{background-color:rgba(var(--v-theme-on-surface),.05)}.settings-list-item[data-v-fe538fe8] .v-list-item__prepend{margin-right:16px}.v-avatar[data-v-fe538fe8]{box-shadow:0 2px 8px #00000026}@media (max-width: 600px){.settings-list-item[data-v-fe538fe8]{padding:12px 16px;min-height:64px}.settings-list-item[data-v-fe538fe8] .v-list-item__prepend{margin-right:12px}.settings-list-item[data-v-fe538fe8] .v-avatar{width:40px!important;height:40px!important}.settings-list-item[data-v-fe538fe8] .v-list-item-title{font-size:1rem!important;line-height:1.3}.settings-list-item[data-v-fe538fe8] .v-list-item-subtitle{font-size:.813rem!important;line-height:1.3}}
@@ -0,0 +1 @@
1
+ import{C as L}from"./Container-BunIU4BI.js";import{ay as M,bN as w,J as z,i as N,aP as o,a3 as B,aI as u,aA as r,aG as e,o as a,aF as E,az as _,aH as f,ah as C,aS as D,aE as T,aJ as v,aM as h,bh as l,aN as c,bS as k,aB as A,aL as d,bE as y,aV as F,aD as V,_ as J}from"./index-rZUS0c3q.js";import"./index-kQIztB-E.js";const G=M({__name:"SystemConfig",setup(H){const m=T(),{t:i}=w(),p=z([]),x=[{domain:"logging",name:"settings.system_logging",description:"settings.system_logging_description",icon:"mdi-text-box-search",route:"/settings/serverlogs"}],I=N(()=>[...p.value].sort((t,n)=>o.providerManifests[t.domain].name.localeCompare(o.providerManifests[n.domain].name))),b=t=>{const n=i(`settings.core_module.${t.domain}.name`);return n!==`settings.core_module.${t.domain}.name`?n:o.providerManifests[t.domain].name},$=t=>{const n=i(`settings.core_module.${t.domain}.description`);return n!==`settings.core_module.${t.domain}.description`?n:o.providerManifests[t.domain].description},g=function(t){t.route?m.push(t.route):m.push(`/settings/editcore/${t.domain}`)};return B(async()=>{p.value=await o.getCoreConfigs()}),(t,n)=>(r(),u(L,{variant:"comfortable",class:"settings-overview"},{default:e(()=>[a(D,{class:"settings-main-card"},{default:e(()=>[a(E,{class:"settings-list"},{default:e(()=>[(r(!0),_(C,null,f(I.value,s=>(r(),u(v,{key:s.domain,ripple:!0,class:"settings-list-item",onClick:S=>g(s)},{prepend:e(()=>[a(y,{color:"blue",size:"48"},{default:e(()=>[a(F,{domain:s.domain,size:24,color:"white"},null,8,["domain"])]),_:2},1024)]),append:e(()=>[s.last_error?(r(),u(d,{key:0,color:"red",icon:"mdi-alert-circle",class:"mr-2",title:s.last_error},null,8,["title"])):A("",!0),a(d,{icon:"mdi-chevron-right"})]),default:e(()=>[a(h,{class:"text-h6"},{default:e(()=>[l(c(b(s)),1)]),_:2},1024),a(k,null,{default:e(()=>[l(c($(s)),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),(r(),_(C,null,f(x,s=>a(v,{key:s.domain,ripple:!0,class:"settings-list-item",onClick:S=>g(s)},{prepend:e(()=>[a(y,{color:"purple",size:"48"},{default:e(()=>[a(d,{icon:s.icon,size:"24",color:"white"},null,8,["icon"])]),_:2},1024)]),append:e(()=>[a(d,{icon:"mdi-chevron-right"})]),default:e(()=>[a(h,{class:"text-h6"},{default:e(()=>[l(c(V(i)(s.name)),1)]),_:2},1024),a(k,null,{default:e(()=>[l(c(V(i)(s.description)),1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1})]),_:1}))}}),q=J(G,[["__scopeId","data-v-fe538fe8"]]);export{q as default};
@@ -1 +1 @@
1
- .v-badge{display:inline-block;line-height:1}.v-badge__badge{align-items:center;display:inline-flex;border-radius:10px;font-family:Roboto,sans-serif;font-size:.75rem;font-weight:500;height:1.25rem;justify-content:center;min-width:20px;padding:4px 6px;pointer-events:auto;position:absolute;text-align:center;text-indent:0;transition:.225s cubic-bezier(.4,0,.2,1);white-space:nowrap}.v-badge__badge{background:rgb(var(--v-theme-surface-variant));color:rgba(var(--v-theme-on-surface-variant),var(--v-high-emphasis-opacity))}.v-badge__badge:has(.v-icon){padding:4px 6px}.v-badge--bordered .v-badge__badge:after{border-radius:inherit;border-style:solid;border-width:2px;color:rgb(var(--v-theme-background));content:"";inset:0;position:absolute;transform:scale(1.05)}.v-badge--dot .v-badge__badge{border-radius:4.5px;height:9px;min-width:0;padding:0;width:9px}.v-badge--dot .v-badge__badge:after{border-width:1.5px}.v-badge--inline .v-badge__badge{position:relative;vertical-align:middle}.v-badge__badge .v-icon{color:inherit;font-size:.75rem;margin:0 -2px}.v-badge__badge img,.v-badge__badge .v-img{height:100%;width:100%}.v-badge__wrapper{display:flex;position:relative}.v-badge--inline .v-badge__wrapper{align-items:center;display:inline-flex;justify-content:center;margin:0 4px}@media (forced-colors: active){.v-badge__badge{forced-color-adjust:preserve-parent-color}.v-badge__badge.v-badge__badge{background:highlight!important;color:highlighttext!important}}.header.v-toolbar[data-v-090414e0]{height:55px;font-family:JetBrains Mono Medium}.header.v-toolbar[data-v-090414e0] .v-toolbar__content>.v-toolbar__append{margin-right:0}.header.v-toolbar>.v-toolbar__content>.v-toolbar-title[data-v-090414e0]{margin-inline-start:10px}.header.v-toolbar>.v-toolbar__content>.v-toolbar__prepend[data-v-090414e0]{margin-inline-start:6px}.header.v-toolbar>.v-toolbar__content>.v-toolbar__append[data-v-090414e0]{margin-inline-end:21px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar-title[data-v-090414e0]{margin-inline-start:0px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar__prepend[data-v-090414e0]{margin-inline-start:10px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar__append[data-v-090414e0]{margin-inline-end:10px}.mobile-brand[data-v-090414e0]{display:flex;align-items:center;gap:1rem}.mobile-brand-logo[data-v-090414e0]{height:30px;width:30px}.mobile-brand-text[data-v-090414e0]{font-weight:600;letter-spacing:.5px;margin-top:4px}
1
+ .v-badge{display:inline-block;line-height:1}.v-badge__badge{align-items:center;display:inline-flex;border-radius:10px;font-family:Roboto,sans-serif;font-size:.75rem;font-weight:500;height:1.25rem;justify-content:center;min-width:20px;padding:4px 6px;pointer-events:auto;position:absolute;text-align:center;text-indent:0;transition:.225s cubic-bezier(.4,0,.2,1);white-space:nowrap}.v-badge__badge{background:rgb(var(--v-theme-surface-variant));color:rgba(var(--v-theme-on-surface-variant),var(--v-high-emphasis-opacity))}.v-badge__badge:has(.v-icon){padding:4px 6px}.v-badge--bordered .v-badge__badge:after{border-radius:inherit;border-style:solid;border-width:2px;color:rgb(var(--v-theme-background));content:"";inset:0;position:absolute;transform:scale(1.05)}.v-badge--dot .v-badge__badge{border-radius:4.5px;height:9px;min-width:0;padding:0;width:9px}.v-badge--dot .v-badge__badge:after{border-width:1.5px}.v-badge--inline .v-badge__badge{position:relative;vertical-align:middle}.v-badge__badge .v-icon{color:inherit;font-size:.75rem;margin:0 -2px}.v-badge__badge img,.v-badge__badge .v-img{height:100%;width:100%}.v-badge__wrapper{display:flex;position:relative}.v-badge--inline .v-badge__wrapper{align-items:center;display:inline-flex;justify-content:center;margin:0 4px}@media (forced-colors: active){.v-badge__badge{forced-color-adjust:preserve-parent-color}.v-badge__badge.v-badge__badge{background:highlight!important;color:highlighttext!important}}.header.v-toolbar[data-v-3bfde582]{height:55px;font-family:JetBrains Mono Medium}.header.v-toolbar[data-v-3bfde582] .v-toolbar__content>.v-toolbar__append{margin-right:0}.header.v-toolbar>.v-toolbar__content>.v-toolbar-title[data-v-3bfde582]{margin-inline-start:10px}.header.v-toolbar>.v-toolbar__content>.v-toolbar__prepend[data-v-3bfde582]{margin-inline-start:6px}.header.v-toolbar>.v-toolbar__content>.v-toolbar__append[data-v-3bfde582]{margin-inline-end:21px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar-title[data-v-3bfde582]{margin-inline-start:0px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar__prepend[data-v-3bfde582]{margin-inline-start:10px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar__append[data-v-3bfde582]{margin-inline-end:10px}.mobile-brand[data-v-3bfde582]{display:flex;align-items:center;gap:1rem}.mobile-brand-logo[data-v-3bfde582]{height:30px;width:30px}.mobile-brand-text[data-v-3bfde582]{font-weight:600;letter-spacing:.5px;margin-top:4px}
@@ -0,0 +1 @@
1
+ import{g as R,p as E,c as X,f as Y,I as G,ao as H,u as J,cC as K,bZ as W,n as Z,cD as j,o as l,ae as y,b$ as q,cE as Q,v as U,x as p,z as I,ce as _,C as ee,cA as te,E as h,Y as ae,N as le,X as oe,aL as f,ay as ie,aI as r,aA as i,aK as w,aG as a,aD as d,b5 as B,M as m,a$ as P,aB as v,az as u,aP as k,b8 as T,ah as V,aH as $,b4 as L,aF as x,aJ as M,ax as ne,aC as se,aN as re,_ as de}from"./index-rZUS0c3q.js";import{V as ce}from"./VToolbar-hGVdN8lh.js";const ue=E({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:te,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...ee(),..._({location:"top end"}),...I(),...p(),...U(),...Q({transition:"scale-rotate-transition"}),...q()},"VBadge"),A=R()({name:"VBadge",inheritAttrs:!1,props:ue(),setup(e,b){const{backgroundColorClasses:C,backgroundColorStyles:n}=X(()=>e.color),{roundedClasses:s}=Y(e),{t}=G(),{textColorClasses:o,textColorStyles:g}=H(()=>e.textColor),{themeClasses:N}=J(),{locationStyles:z}=K(e,!0,c=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(c)?Number(e.offsetY??0):["left","right"].includes(c)?Number(e.offsetX??0):0)),{dimensionStyles:D}=W(e);return Z(()=>{const c=Number(e.content),S=!e.max||isNaN(c)?e.content:c<=Number(e.max)?c:`${e.max}+`,[F,O]=j(b.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return l(e.tag,y({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},O,{style:e.style}),{default:()=>[h("div",{class:"v-badge__wrapper"},[b.slots.default?.(),l(ae,{transition:e.transition},{default:()=>[le(h("span",y({class:["v-badge__badge",N.value,C.value,s.value,o.value],style:[n.value,g.value,D.value,e.inline?{}:z.value],"aria-atomic":"true","aria-label":t(e.label,c),"aria-live":"polite",role:"status"},F),[e.dot?void 0:b.slots.badge?b.slots.badge?.():e.icon?l(f,{icon:e.icon},null):S]),[[oe,e.modelValue]])]})])]})}),{}}}),fe={key:0,class:"mobile-brand"},be={key:1},ve=ie({__name:"Toolbar",props:{color:{default:"transparent"},icon:{default:void 0},title:{default:void 0},menuItems:{default:void 0},enforceOverflowMenu:{type:Boolean,default:!1},showLoading:{type:Boolean,default:void 0},home:{type:Boolean},iconAction:{type:Function,default:void 0}},emits:["iconClicked","titleClicked"],setup(e,{emit:b}){const C=b;return(n,s)=>(i(),r(ce,{color:e.color,class:"header"},w({title:a(()=>[P(n.$slots,"title",{},()=>[d(ne).mobileLayout&&e.home?(i(),u("div",fe,[...s[2]||(s[2]=[h("img",{src:se,alt:"Music Assistant",class:"mobile-brand-logo"},null,-1),h("span",{class:"mobile-brand-text"},"Music Assistant",-1)])])):e.title?(i(),u("button",{key:1,onClick:s[1]||(s[1]=t=>C("titleClicked"))},re(e.title),1)):v("",!0)],!0)]),_:2},[(!d(B)({breakpoint:"tablet"})||e.iconAction)&&e.icon?{name:"prepend",fn:a(()=>[l(m,{icon:e.icon,size:"large",disabled:e.iconAction==null,style:{opacity:"0.8"},onClick:s[0]||(s[0]=t=>e.iconAction())},null,8,["icon","disabled"])]),key:"0"}:void 0,n.$slots.append?{name:"append",fn:a(()=>[P(n.$slots,"append",{},void 0,!0)]),key:"1"}:e.menuItems?.length?{name:"append",fn:a(()=>[e.showLoading&&(d(k).fetchesInProgress.value.length>0||d(k).syncTasks.value.length>0)?(i(),r(T,{key:0,color:"primary",indeterminate:"",title:n.$t("tooltip.loading")},null,8,["title"])):v("",!0),(i(!0),u(V,null,$(e.menuItems.filter(t=>!t.hide),t=>(i(),u("div",{key:t.label},[t.subItems?.length?(i(),r(L,{key:0,location:"bottom end",scrim:"",density:"compact",slim:"",tile:"","close-on-content-click":t.closeOnContentClick!==!1},{activator:a(({props:o})=>[l(m,y({variant:"text",style:{width:"40px"}},{ref_for:!0},o,{title:n.$t(t.label,t.labelArgs||[]),disabled:t.disabled==!0}),{default:a(()=>[l(A,{"model-value":t.active==!0,color:"primary",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:n.$vuetify.theme.current.dark?"#fff":"#000",size:"22px"},null,8,["icon","color"])]),_:2},1032,["model-value"])]),_:2},1040,["title","disabled"])]),default:a(()=>[l(x,null,{default:a(()=>[(i(!0),u(V,null,$(t.subItems.filter(o=>o.hide!=!0),(o,g)=>(i(),r(M,{key:g,title:n.$t(o.label,o.labelArgs||[]),disabled:o.disabled==!0,onClick:N=>o.action?o.action():""},w({append:a(()=>[o.selected?(i(),r(f,{key:0,icon:"mdi-check"})):v("",!0)]),_:2},[o.icon?{name:"prepend",fn:a(()=>[l(f,{icon:o.icon},null,8,["icon"])]),key:"0"}:void 0]),1032,["title","disabled","onClick"]))),128))]),_:2},1024)]),_:2},1032,["close-on-content-click"])):!e.enforceOverflowMenu&&(d(B)("bp5")||t.overflowAllowed==!1)?(i(),r(m,{key:1,variant:"text",style:{width:"40px"},title:n.$t(t.label,t.labelArgs||[]),disabled:t.disabled==!0,onClick:t.action},{default:a(()=>[l(A,{"model-value":t.active==!0,color:"primary",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:n.$vuetify.theme.current.dark?"#fff":"#000",size:"22px"},null,8,["icon","color"])]),_:2},1032,["model-value"])]),_:2},1032,["title","disabled","onClick"])):v("",!0)]))),128)),(!d(B)("bp5")||e.enforceOverflowMenu)&&e.menuItems.filter(t=>t.hide!=!0&&!t.subItems?.length&&t.overflowAllowed!==!1).length?(i(),u("div",be,[l(L,{location:"bottom end",scrim:""},{activator:a(({props:t})=>[l(m,y({variant:"plain",style:{width:"15px","margin-left":"-10px"}},t),{default:a(()=>[l(f,{icon:"mdi-dots-vertical",color:n.$vuetify.theme.current.dark?"#fff":"#000",size:"22",style:{"margin-right":"-5px",width:"15px"}},null,8,["color"])]),_:1},16)]),default:a(()=>[l(x,{density:"compact",slim:"",tile:""},{default:a(()=>[(i(!0),u(V,null,$(e.menuItems.filter(t=>t.hide!=!0&&!t.subItems?.length&&t.overflowAllowed!==!1),(t,o)=>(i(),r(M,{key:o,title:n.$t(t.label,t.labelArgs||[]),disabled:t.disabled==!0,onClick:g=>t.action?t.action():""},w({_:2},[t.icon?{name:"prepend",fn:a(()=>[l(A,{"model-value":t.active==!0,color:"primary",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:n.$vuetify.theme.current.dark?"#fff":"#000",size:"22px"},null,8,["icon","color"])]),_:2},1032,["model-value"])]),key:"0"}:void 0]),1032,["title","disabled","onClick"]))),128))]),_:1})]),_:1})])):v("",!0)]),key:"2"}:e.showLoading?{name:"append",fn:a(()=>[d(k).fetchesInProgress.value.length>0||d(k).syncTasks.value.length>0?(i(),r(T,{key:0,color:"primary",indeterminate:""})):v("",!0)]),key:"3"}:void 0]),1032,["color"]))}}),ke=de(ve,[["__scopeId","data-v-3bfde582"]]);export{ke as T,A as V};
@@ -0,0 +1 @@
1
+ import{I as u}from"./ItemsListing-DiFULYEk.js";import{I as c,_ as f}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-DzvsLzds.js";import{ay as y,J as k,L as b,az as w,aA as o,o as h,aI as s,aB as n,E as m,aD as I,aP as l}from"./index-rZUS0c3q.js";import"./Container-BunIU4BI.js";import"./index-kQIztB-E.js";import"./Toolbar-xH_GEfSi.js";import"./VToolbar-hGVdN8lh.js";import"./Button-Cm9Kv1fL.js";import"./ListItem-DNqmHglz.js";import"./userPreferences-a0gVUlkp.js";import"./VCheckboxBtn-BMAdXnae.js";import"./VSelectionControl-S-aELuKm.js";import"./MediaItemThumb-Djieuu-m.js";import"./PanelviewItemCompact-zZvQaI6t.js";import"./VInfiniteScroll-B5bUrC-Z.js";import"./VVirtualScroll-C1eeqQrQ.js";import"./VAlert-CBrxai34.js";import"./marquee_text_sync-AT1GwuhW.js";import"./VDialog-BndVdZhi.js";const x=y({__name:"TrackDetails",props:{itemId:{},provider:{},album:{}},setup(r){const a=r,e=k(),p=async function(){e.value=await l.getTrack(a.itemId,a.provider,a.album)};b(()=>a.itemId,t=>{t&&p()},{immediate:!0});const d=async function(t){return await l.getTrackVersions(e.value.item_id,e.value.provider)},v=async function(t){return await l.getTrackAlbums(a.itemId,a.provider,t.libraryOnly)};return(t,i)=>(o(),w("section",null,[h(c,{item:e.value,"active-provider":r.provider},null,8,["item","active-provider"]),e.value?(o(),s(u,{key:0,itemtype:"trackalbums","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-library-only-filter":e.value.provider=="library"&&I(l).hasStreamingProviders.value,"show-track-number":!1,"show-refresh-button":!1,"load-items":v,"sort-keys":["name","sort_name","year","year_desc"],title:t.$t("appears_on"),path:r.provider+r.itemId,"allow-collapse":!0},null,8,["parent-item","show-library-only-filter","title","path"])):n("",!0),i[0]||(i[0]=m("br",null,null,-1)),e.value?(o(),s(u,{key:1,itemtype:"trackversions","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-track-number":!1,"load-items":d,"show-refresh-button":!1,"sort-keys":["name","sort_name","duration"],title:t.$t("other_versions"),"hide-on-empty":!0,path:r.provider+r.itemId,"allow-collapse":!0},null,8,["parent-item","title","path"])):n("",!0),i[1]||(i[1]=m("br",null,null,-1)),e.value?(o(),s(f,{key:2,"item-details":e.value},null,8,["item-details"])):n("",!0),i[2]||(i[2]=m("br",null,null,-1))]))}});export{x as default};
@@ -0,0 +1 @@
1
+ import{C as pe}from"./Container-BunIU4BI.js";import{L as ae}from"./ListItem-DNqmHglz.js";import{ay as I,bN as B,J as U,i as S,aP as P,co as re,L as le,aI as N,aA as i,aG as t,o as l,aS as E,bg as j,bh as g,aN as s,c3 as J,bH as O,aB as C,az as $,bK as Q,bV as H,bW as K,M as z,aW as w,cK as ue,E as V,_ as Z,ax as ee,aU as ve,bE as Y,aL as G,ah as te,aH as se,bd as oe,a3 as ce,am as fe,aO as _e}from"./index-rZUS0c3q.js";import{V as A}from"./VSelect-uSApsKq0.js";import{V as W}from"./VDialog-BndVdZhi.js";import{_ as he}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-WD6jKrT1.js";import"./index-kQIztB-E.js";import"./Button-Cm9Kv1fL.js";import"./VVirtualScroll-C1eeqQrQ.js";import"./VCheckboxBtn-BMAdXnae.js";import"./VSelectionControl-S-aELuKm.js";const ye={key:1,class:"text-grey text-caption align-self-center"},be={key:1,class:"text-grey text-caption align-self-center"},ke=I({__name:"CreateUserDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue","created"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=U({username:"",displayName:"",password:"",confirmPassword:"",role:"user",playerFilter:[],providerFilter:[]}),m=[{title:u("auth.admin_role"),value:"admin"},{title:u("auth.user_role"),value:"user"}],h=S(()=>Object.values(P.players).map(e=>({title:e.name,value:e.player_id})).sort((e,o)=>e.title.localeCompare(o.title))),d=S(()=>Object.values(P.providers).filter(e=>e.type===re.MUSIC).map(e=>({title:e.name,value:e.instance_id})).sort((e,o)=>e.title.localeCompare(o.title))),k=e=>{a.value.playerFilter=a.value.playerFilter.filter(o=>o!==e)},y=e=>{a.value.providerFilter=a.value.providerFilter.filter(o=>o!==e)},D={required:e=>!!e||u("auth.field_required"),usernameLength:e=>e.length>=3||u("auth.username_min_length"),passwordLength:e=>e.length>=8||u("auth.password_min_length"),passwordMatch:e=>e===a.value.password||u("auth.passwords_must_match")},R=S(()=>a.value.username.length>=3&&a.value.password.length>=8&&a.value.password===a.value.confirmPassword&&a.value.role),L=()=>{a.value={username:"",displayName:"",password:"",confirmPassword:"",role:ue.USER,playerFilter:[],providerFilter:[]}},M=()=>{L(),p("update:modelValue",!1)},q=async()=>{b.value=!0;try{await P.createUser(a.value.username,a.value.password,a.value.role,a.value.displayName||void 0,a.value.playerFilter.length>0?a.value.playerFilter:void 0,a.value.providerFilter.length>0?a.value.providerFilter:void 0)?(w.success(u("auth.user_created")),L(),p("created"),p("update:modelValue",!1)):w.error(u("auth.user_create_failed"))}catch{w.error(u("auth.user_create_failed"))}finally{b.value=!1}};return le(()=>n.modelValue,e=>{e||L()}),(e,o)=>(i(),N(W,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":o[7]||(o[7]=r=>p("update:modelValue",r))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(e.$t("auth.create_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[l(O,{modelValue:a.value.username,"onUpdate:modelValue":o[0]||(o[0]=r=>a.value.username=r),label:e.$t("auth.username"),variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.usernameLength],autofocus:""},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.displayName,"onUpdate:modelValue":o[1]||(o[1]=r=>a.value.displayName=r),label:e.$t("auth.display_name"),variant:"outlined",density:"comfortable",class:"mb-2",hint:e.$t("optional"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(O,{modelValue:a.value.password,"onUpdate:modelValue":o[2]||(o[2]=r=>a.value.password=r),label:e.$t("auth.password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.passwordLength]},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.confirmPassword,"onUpdate:modelValue":o[3]||(o[3]=r=>a.value.confirmPassword=r),label:e.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.passwordMatch]},null,8,["modelValue","label","rules"]),l(A,{modelValue:a.value.role,"onUpdate:modelValue":o[4]||(o[4]=r=>a.value.role=r),label:e.$t("auth.role"),items:m,variant:"outlined",density:"comfortable",class:"mb-2"},null,8,["modelValue","label"]),l(A,{modelValue:a.value.playerFilter,"onUpdate:modelValue":o[5]||(o[5]=r=>a.value.playerFilter=r),label:e.$t("auth.player_filter"),items:h.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.player_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":X=>k(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",ye," (+"+s(a.value.playerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"]),l(A,{modelValue:a.value.providerFilter,"onUpdate:modelValue":o[6]||(o[6]=r=>a.value.providerFilter=r),label:e.$t("auth.provider_filter"),items:d.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.provider_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":X=>y(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",be," (+"+s(a.value.providerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"])]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(K),l(z,{variant:"text",onClick:M},{default:t(()=>[g(s(e.$t("cancel")),1)]),_:1}),l(z,{color:"primary",variant:"flat",loading:b.value,disabled:!R.value,onClick:q},{default:t(()=>[g(s(e.$t("create")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Ve={class:"text-body-1 mb-4"},ge={key:0,class:"user-name-box"},$e=I({__name:"DeleteUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","deleted"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(n.user){b.value=!0;try{await P.deleteUser(n.user.user_id)?(w.success(u("auth.user_deleted")),p("deleted"),p("update:modelValue",!1)):w.error(u("auth.user_delete_failed"))}catch{w.error(u("auth.user_delete_failed"))}finally{b.value=!1}}};return(m,h)=>(i(),N(W,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pl-6 pb-0"},{default:t(()=>[g(s(m.$t("auth.delete_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",Ve,s(m.$t("auth.confirm_delete_user")),1),c.user?(i(),$("div",ge,s(c.user.display_name||c.user.username),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(K),l(z,{variant:"text",onClick:h[0]||(h[0]=d=>p("update:modelValue",!1))},{default:t(()=>[g(s(m.$t("cancel")),1)]),_:1}),l(z,{color:"error",variant:"flat",loading:b.value,onClick:a},{default:t(()=>[g(s(m.$t("auth.delete_user")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),we=Z($e,[["__scopeId","data-v-8cbf5f8f"]]),Ue={class:"text-body-1 mb-4"},Ce={key:0,class:"user-name-box"},Fe=I({__name:"DisableUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","disabled"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(n.user){b.value=!0;try{await P.disableUser(n.user.user_id)?(w.success(u("auth.user_disabled")),p("disabled"),p("update:modelValue",!1)):w.error(u("auth.user_disable_failed"))}catch{w.error(u("auth.user_disable_failed"))}finally{b.value=!1}}};return(m,h)=>(i(),N(W,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pl-6 pb-0"},{default:t(()=>[g(s(m.$t("auth.disable_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",Ue,s(m.$t("auth.confirm_disable_user")),1),c.user?(i(),$("div",Ce,s(c.user.display_name||c.user.username),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(K),l(z,{variant:"text",onClick:h[0]||(h[0]=d=>p("update:modelValue",!1))},{default:t(()=>[g(s(m.$t("cancel")),1)]),_:1}),l(z,{color:"error",variant:"flat",loading:b.value,onClick:a},{default:t(()=>[g(s(m.$t("auth.disable_user")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),De=Z(Fe,[["__scopeId","data-v-9638370d"]]),Ne={key:1,class:"text-grey text-caption align-self-center"},Te={key:1,class:"text-grey text-caption align-self-center"},ze=I({__name:"EditUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","updated"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=U({username:"",displayName:"",avatarUrl:"",role:"user",password:"",confirmPassword:"",playerFilter:[],providerFilter:[]}),m=[{title:u("auth.admin_role"),value:"admin"},{title:u("auth.user_role"),value:"user"}],h=S(()=>Object.values(P.players).map(e=>({title:e.name,value:e.player_id})).sort((e,o)=>e.title.localeCompare(o.title))),d=S(()=>Object.values(P.providers).filter(e=>e.type===re.MUSIC).map(e=>({title:e.name,value:e.instance_id})).sort((e,o)=>e.title.localeCompare(o.title))),k=e=>{a.value.playerFilter=a.value.playerFilter.filter(o=>o!==e)},y=e=>{a.value.providerFilter=a.value.providerFilter.filter(o=>o!==e)},D={required:e=>!!e||u("auth.field_required"),usernameLength:e=>e.length>=3||u("auth.username_min_length"),passwordLength:e=>e.length>=8||u("auth.password_min_length"),passwordMatch:e=>e===a.value.password||u("auth.passwords_must_match")},R=S(()=>!n.user||!ee.currentUser?!1:n.user.user_id===ee.currentUser.user_id),L=()=>{n.user?a.value={username:n.user.username,displayName:n.user.display_name||"",avatarUrl:n.user.avatar_url||"",role:n.user.role,password:"",confirmPassword:"",playerFilter:n.user.player_filter||[],providerFilter:n.user.provider_filter||[]}:a.value={username:"",displayName:"",avatarUrl:"",role:ue.USER,password:"",confirmPassword:"",playerFilter:[],providerFilter:[]}},M=()=>{L(),p("update:modelValue",!1)},q=async()=>{if(n.user){if(a.value.password&&a.value.password!==a.value.confirmPassword){w.error(u("auth.passwords_must_match"));return}b.value=!0;try{const e={};a.value.username!==n.user.username&&(e.username=a.value.username),a.value.displayName!==(n.user.display_name||"")&&(e.displayName=a.value.displayName),a.value.avatarUrl!==(n.user.avatar_url||"")&&(e.avatarUrl=a.value.avatarUrl),a.value.role!==n.user.role&&!R.value&&(e.role=a.value.role),a.value.password&&(e.password=a.value.password);const o=n.user.player_filter||[];JSON.stringify([...a.value.playerFilter].sort())!==JSON.stringify([...o].sort())&&(e.player_filter=a.value.playerFilter);const r=n.user.provider_filter||[];JSON.stringify([...a.value.providerFilter].sort())!==JSON.stringify([...r].sort())&&(e.provider_filter=a.value.providerFilter),await P.updateUser(n.user.user_id,e),w.success(u("auth.user_updated")),L(),p("updated"),p("update:modelValue",!1)}catch{w.error(u("auth.user_update_failed"))}finally{b.value=!1}}};return le(()=>n.user,L,{immediate:!0}),le(()=>n.modelValue,e=>{e&&L()}),(e,o)=>(i(),N(W,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":o[8]||(o[8]=r=>p("update:modelValue",r))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(e.$t("auth.edit_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[l(O,{modelValue:a.value.username,"onUpdate:modelValue":o[0]||(o[0]=r=>a.value.username=r),label:e.$t("auth.username"),variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.usernameLength]},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.displayName,"onUpdate:modelValue":o[1]||(o[1]=r=>a.value.displayName=r),label:e.$t("auth.display_name"),variant:"outlined",density:"comfortable",class:"mb-6",hint:e.$t("optional"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(O,{modelValue:a.value.avatarUrl,"onUpdate:modelValue":o[2]||(o[2]=r=>a.value.avatarUrl=r),label:e.$t("auth.avatar_url"),variant:"outlined",density:"comfortable",class:"mb-6",hint:e.$t("auth.avatar_url_hint"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(A,{modelValue:a.value.role,"onUpdate:modelValue":o[3]||(o[3]=r=>a.value.role=r),label:e.$t("auth.role"),items:m,variant:"outlined",density:"comfortable",disabled:R.value,class:"mb-2"},null,8,["modelValue","label","disabled"]),l(O,{modelValue:a.value.password,"onUpdate:modelValue":o[4]||(o[4]=r=>a.value.password=r),label:e.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",hint:e.$t("auth.password_optional_hint"),"persistent-hint":"",rules:a.value.password?[D.passwordLength]:[]},null,8,["modelValue","label","hint","rules"]),a.value.password?(i(),N(O,{key:0,modelValue:a.value.confirmPassword,"onUpdate:modelValue":o[5]||(o[5]=r=>a.value.confirmPassword=r),label:e.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",rules:[D.passwordMatch]},null,8,["modelValue","label","rules"])):C("",!0),l(A,{modelValue:a.value.playerFilter,"onUpdate:modelValue":o[6]||(o[6]=r=>a.value.playerFilter=r),label:e.$t("auth.player_filter"),items:h.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.player_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":X=>k(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",Ne," (+"+s(a.value.playerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"]),l(A,{modelValue:a.value.providerFilter,"onUpdate:modelValue":o[7]||(o[7]=r=>a.value.providerFilter=r),label:e.$t("auth.provider_filter"),items:d.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.provider_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":X=>y(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",Te," (+"+s(a.value.providerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"])]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(K),l(z,{variant:"text",onClick:M},{default:t(()=>[g(s(e.$t("cancel")),1)]),_:1}),l(z,{color:"primary",variant:"flat",loading:b.value,onClick:q},{default:t(()=>[g(s(e.$t("save")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Pe={class:"pa-4"},Le={class:"mb-2"},Me={class:"section-subtitle mb-6"},Oe={key:0,class:"empty-state"},Se={class:"text-medium-emphasis"},Ie={key:1,class:"tokens-list"},Be={class:"line-clamp-1"},Re={class:"token-meta"},qe={key:0,class:"token-divider"},Ae={key:1},Ee={class:"pa-4"},je={class:"section-header-with-action"},Je={class:"w-100"},He={class:"d-flex justify-space-between align-center gap-2"},Ke={class:"mb-2"},We={class:"section-subtitle"},Xe={key:0,class:"empty-state"},Ye={class:"text-medium-emphasis"},Ge={key:1,class:"tokens-list"},Qe={class:"line-clamp-1"},Ze={class:"token-meta"},xe={key:0,class:"token-divider"},ea={key:1},aa=I({__name:"ManageTokensDialog",props:{modelValue:{type:Boolean},user:{},tokens:{}},emits:["update:modelValue","revoke","token-created"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=S(()=>n.tokens.filter(d=>!d.is_long_lived)),m=S(()=>n.tokens.filter(d=>d.is_long_lived)),h=d=>new Date(d).toLocaleString();return(d,k)=>(i(),N(W,{"model-value":c.modelValue,"max-width":"900",scrollable:"","onUpdate:modelValue":k[4]||(k[4]=y=>p("update:modelValue",y))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(d.$t("auth.tokens"))+" - "+s(c.user?.display_name||c.user?.username),1)]),_:1}),l(ve),l(J,{class:"pa-0"},{default:t(()=>[V("div",Pe,[V("h3",Le,s(d.$t("auth.active_sessions")),1),V("p",Me,s(d.$t("auth.active_sessions_description")),1),a.value.length===0?(i(),$("div",Oe,[l(Y,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:t(()=>[l(G,{icon:"mdi-devices",size:"32"})]),_:1}),V("p",Se,s(d.$t("auth.no_active_sessions")),1)])):(i(),$("div",Ie,[(i(!0),$(te,null,se(a.value,y=>(i(),N(ae,{key:y.token_id},{prepend:t(()=>[l(Y,{color:"blue-grey-darken-2",size:"40"},{default:t(()=>[l(G,{icon:"mdi-devices",size:"20"})]),_:1})]),title:t(()=>[V("div",Be,s(y.name),1)]),subtitle:t(()=>[V("div",Re,[V("span",null,s(d.$t("created"))+": "+s(h(y.created_at)),1),y.last_used_at?(i(),$("span",qe,"•")):C("",!0),y.last_used_at?(i(),$("span",Ae,s(d.$t("last_used"))+": "+s(h(y.last_used_at)),1)):C("",!0)])]),append:t(()=>[l(z,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:oe(D=>p("revoke",y),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]),V("div",Ee,[V("div",je,[V("div",Je,[V("div",He,[V("h3",Ke,s(d.$t("auth.long_lived_tokens")),1),l(z,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",size:"small",onClick:k[0]||(k[0]=y=>b.value=!0)},{default:t(()=>[g(s(d.$t("auth.create_token")),1)]),_:1})]),V("p",We,s(d.$t("auth.long_lived_tokens_description")),1)])]),m.value.length===0?(i(),$("div",Xe,[l(Y,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:t(()=>[l(G,{icon:"mdi-key-variant",size:"32"})]),_:1}),V("p",Ye,s(d.$t("auth.no_long_lived_tokens")),1)])):(i(),$("div",Ge,[(i(!0),$(te,null,se(m.value,y=>(i(),N(ae,{key:y.token_id},{prepend:t(()=>[l(Y,{color:"deep-purple-darken-2",size:"40"},{default:t(()=>[l(G,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:t(()=>[V("div",Qe,s(y.name),1)]),subtitle:t(()=>[V("div",Ze,[V("span",null,s(d.$t("created"))+": "+s(h(y.created_at)),1),y.last_used_at?(i(),$("span",xe,"•")):C("",!0),y.last_used_at?(i(),$("span",ea,s(d.$t("last_used"))+": "+s(h(y.last_used_at)),1)):C("",!0)])]),append:t(()=>[l(z,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:oe(D=>p("revoke",y),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))])]),_:1}),l(H,{class:"pa-6"},{default:t(()=>[l(K),l(z,{variant:"tonal",onClick:k[1]||(k[1]=y=>p("update:modelValue",!1))},{default:t(()=>[g(s(d.$t("close")),1)]),_:1})]),_:1})]),_:1}),l(he,{modelValue:b.value,"onUpdate:modelValue":k[2]||(k[2]=y=>b.value=y),"user-id":c.user?.user_id,onCreated:k[3]||(k[3]=y=>p("token-created"))},null,8,["modelValue","user-id"])]),_:1},8,["model-value"]))}}),la=Z(aa,[["__scopeId","data-v-19f1861f"]]),ta={class:"text-body-1 mb-4"},sa={key:0,class:"token-name-box"},oa=I({__name:"RevokeTokenDialog",props:{modelValue:{type:Boolean},token:{}},emits:["update:modelValue","revoked"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(!n.token)return;b.value=!0;const m=!n.token.is_long_lived;try{await P.revokeToken(n.token.token_id)?(w.success(u(m?"auth.session_revoked":"auth.token_revoked")),p("revoked"),p("update:modelValue",!1)):w.error(u(m?"auth.session_revoke_failed":"auth.token_revoke_failed"))}catch{w.error(u(m?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{b.value=!1}};return(m,h)=>(i(),N(W,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(c.token?.is_long_lived?m.$t("auth.revoke_token"):m.$t("auth.revoke_session")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",ta,s(c.token?.is_long_lived?m.$t("auth.revoke_token_confirm"):m.$t("auth.revoke_session_confirm")),1),c.token?(i(),$("div",sa,s(c.token.name),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(K),l(z,{variant:"text",onClick:h[0]||(h[0]=d=>p("update:modelValue",!1))},{default:t(()=>[g(s(m.$t("cancel")),1)]),_:1}),l(z,{color:"error",variant:"flat",loading:b.value,onClick:a},{default:t(()=>[g(s(m.$t("auth.revoke")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),ra=Z(oa,[["__scopeId","data-v-026d0253"]]),ua={class:"users-header w-100"},na={class:"user-avatar-wrapper"},ia={class:"line-clamp-1"},da={class:"line-clamp-1"},ma={key:0,class:"text-center pa-8 text-medium-emphasis"},pa=I({__name:"UserManagement",setup(c){const{t:F}=B(),u=U([]),n=U(""),p=U(!1),b=U(!1),a=U(!1),m=U(!1),h=U(!1),d=U(!1),k=U(null),y=U([]),D=U(null),R=S(()=>{if(!n.value)return u.value;const f=n.value.toLowerCase();return u.value.filter(v=>{const _=(v.display_name||v.username).toLowerCase(),x=v.username.toLowerCase();return _.includes(f)||x.includes(f)})}),L=f=>!f||!ee.currentUser?!1:f.user_id===ee.currentUser.user_id,M=async()=>{try{u.value=await P.getAllUsers()}catch{w.error(F("auth.users_load_failed"))}},q=f=>{k.value=f,b.value=!0},e=f=>{k.value=f,a.value=!0},o=f=>{k.value=f,m.value=!0},r=async f=>{k.value=f,await T(f.user_id),h.value=!0},T=async f=>{try{y.value=await P.getUserTokens(f)}catch{w.error(F("auth.tokens_load_failed"))}},X=async()=>{k.value&&await T(k.value.user_id)},ne=f=>{D.value=f,d.value=!0},ie=async()=>{k.value&&await T(k.value.user_id),D.value=null},de=async f=>{try{await P.enableUser(f.user_id)?(await M(),w.success(F("auth.user_enabled"))):w.error(F("auth.user_enable_failed"))}catch{w.error(F("auth.user_enable_failed"))}},me=(f,v)=>{const _=[{label:"auth.edit_user",labelArgs:[],action:()=>{q(v)},icon:"mdi-pencil"},{label:"auth.manage_tokens",labelArgs:[],action:()=>{r(v)},icon:"mdi-key-variant"},{label:v.enabled?"auth.disable_user":"auth.enable_user",labelArgs:[],action:()=>{v.enabled?e(v):de(v)},icon:v.enabled?"mdi-account-off":"mdi-account-check",hide:L(v)},{label:"auth.delete_user",labelArgs:[],action:()=>{o(v)},icon:"mdi-delete",color:"error",hide:L(v)}];_e.emit("contextmenu",{items:_,posX:f.clientX,posY:f.clientY})};return ce(()=>{M()}),(f,v)=>(i(),$("div",null,[V("div",ua,[l(O,{modelValue:n.value,"onUpdate:modelValue":v[0]||(v[0]=_=>n.value=_),placeholder:f.$t("search"),"prepend-inner-icon":"mdi-magnify",variant:"outlined",density:"compact","hide-details":"",clearable:"",style:{"max-width":"400px"}},null,8,["modelValue","placeholder"]),l(z,{color:"primary",variant:"flat",height:"40",class:"add-user-btn","prepend-icon":"mdi-plus",onClick:v[1]||(v[1]=_=>p.value=!0)},{default:t(()=>[g(s(f.$t("auth.create_user")),1)]),_:1})]),l(pe,null,{default:t(()=>[(i(!0),$(te,null,se(R.value,_=>(i(),N(ae,{key:_.user_id,"show-menu-btn":"",link:"",onMenu:x=>me(x,_),onClick:x=>q(_)},{prepend:t(()=>[V("div",na,[l(Y,{size:"40",color:_.avatar_url?void 0:"grey-darken-2"},{default:t(()=>[_.avatar_url?(i(),N(fe,{key:0,src:_.avatar_url},null,8,["src"])):(i(),N(G,{key:1,icon:"mdi-account",size:"20",color:"grey-lighten-1"}))]),_:2},1032,["color"])])]),title:t(()=>[V("div",ia,s(_.display_name||_.username),1)]),subtitle:t(()=>[V("div",da,s(_.username)+" • "+s(f.$t(`auth.${_.role}_role`)),1)]),append:t(()=>[_.enabled?C("",!0):(i(),N(Q,{key:0,size:"small",color:"error"},{default:t(()=>[g(s(f.$t("auth.disabled")),1)]),_:1}))]),_:2},1032,["onMenu","onClick"]))),128)),u.value.length===0?(i(),$("div",ma,s(f.$t("no_content")),1)):C("",!0)]),_:1}),l(ke,{modelValue:p.value,"onUpdate:modelValue":v[2]||(v[2]=_=>p.value=_),onCreated:M},null,8,["modelValue"]),l(ze,{modelValue:b.value,"onUpdate:modelValue":v[3]||(v[3]=_=>b.value=_),user:k.value,onUpdated:M},null,8,["modelValue","user"]),l(De,{modelValue:a.value,"onUpdate:modelValue":v[4]||(v[4]=_=>a.value=_),user:k.value,onDisabled:M},null,8,["modelValue","user"]),l(we,{modelValue:m.value,"onUpdate:modelValue":v[5]||(v[5]=_=>m.value=_),user:k.value,onDeleted:M},null,8,["modelValue","user"]),l(la,{modelValue:h.value,"onUpdate:modelValue":v[6]||(v[6]=_=>h.value=_),user:k.value,tokens:y.value,onRevoke:ne,onTokenCreated:X},null,8,["modelValue","user","tokens"]),l(ra,{modelValue:d.value,"onUpdate:modelValue":v[7]||(v[7]=_=>d.value=_),token:D.value,onRevoked:ie},null,8,["modelValue","token"])]))}}),wa=Z(pa,[["__scopeId","data-v-4952d4ff"]]);export{wa as default};
@@ -1 +1 @@
1
- import{C as Z}from"./Container-vEyxubcK.js";import{aw as P,bL as N,J as h,ax as k,ay as d,E as o,o as e,aL as s,M as $,aD as a,bf as y,bC as T,aJ as z,ag as M,aE as J,aG as C,bb as B,az as S,_ as I,i as D,aB as x,av as R,bF as L,aN as A,aU as U,R as ee,L as ae,aj as E,aQ as j,be as G,c1 as Q,bT as H,bU as K,a3 as se,aS as q}from"./index-BjdGY0D1.js";import{L as O}from"./ListItem-CMI0ccXI.js";import{_ as te}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-C6YdwidI.js";import{V as le}from"./VAlert-DfNKgxBR.js";import{V as oe}from"./VForm-D2eK17M_.js";import{V as W}from"./VDialog-B7h8eW0m.js";import"./index-kQIztB-E.js";import"./Button-Da2w4xZe.js";const ne={class:"long-lived-tokens"},re={class:"section-header-with-action"},ie={class:"section-header"},ue={class:"section-subtitle"},de={key:0,class:"empty-state"},ce={class:"text-medium-emphasis"},ve={class:"text-caption text-medium-emphasis mt-1"},_e={key:1,class:"tokens-list"},me={class:"line-clamp-1"},pe={class:"token-meta"},fe={key:0,class:"token-divider"},he={key:1},ke=P({__name:"LongLivedTokensList",props:{tokens:{}},emits:["revoke","created"],setup(V,{emit:c}){const{t:n}=N(),u=c,l=h(!1),_=v=>new Date(v).toLocaleString(),m=()=>{u("created")};return(v,p)=>(d(),k("div",ne,[o("div",re,[o("div",ie,[o("h3",null,s(v.$t("auth.long_lived_tokens")),1),o("p",ue,s(v.$t("auth.api_tokens_description")),1)]),e($,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",onClick:p[0]||(p[0]=t=>l.value=!0)},{default:a(()=>[y(s(v.$t("auth.create_token")),1)]),_:1})]),V.tokens.length===0?(d(),k("div",de,[e(T,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"32"})]),_:1}),o("p",ce,s(v.$t("auth.no_tokens")),1),o("p",ve,s(v.$t("auth.create_token_hint")),1)])):(d(),k("div",_e,[(d(!0),k(M,null,J(V.tokens,t=>(d(),C(O,{key:t.token_id},{prepend:a(()=>[e(T,{color:"deep-purple-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:a(()=>[o("div",me,s(t.name),1)]),subtitle:a(()=>[o("div",pe,[o("span",null,s(v.$t("created"))+": "+s(_(t.created_at)),1),t.last_used_at?(d(),k("span",fe,"•")):S("",!0),t.last_used_at?(d(),k("span",he,s(v.$t("last_used"))+": "+s(_(t.last_used_at)),1)):S("",!0)])]),append:a(()=>[e($,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:B(w=>u("revoke",t),["stop"])},null,8,["onClick"])]),_:2},1024))),128))])),e(te,{modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=t=>l.value=t),onCreated:m},null,8,["modelValue"])]))}}),ge=I(ke,[["__scopeId","data-v-511373f4"]]),$e={class:"password-settings"},ye={class:"section-header"},be={class:"section-subtitle"},we=P({__name:"PasswordSettings",setup(V){const{t:c}=N(),n=h(""),u=h(""),l=h(!1),_=h(null),m={required:t=>!!t||c("auth.field_required"),passwordLength:t=>t.length>=8||c("auth.password_min_length"),passwordMatch:t=>t===n.value||c("auth.passwords_must_match")},v=D(()=>n.value.length>=8&&n.value===u.value),p=async()=>{l.value=!0;try{await A.changePassword(n.value)?(U.success(c("auth.password_changed")),n.value="",u.value="",await ee(),_.value?.resetValidation()):U.error(c("auth.password_change_failed"))}catch(t){U.error(t.message||c("auth.password_change_failed"))}finally{l.value=!1}};return(t,w)=>(d(),k("div",$e,[o("div",ye,[o("h3",null,s(t.$t("auth.change_password")),1),o("p",be,s(t.$t("auth.update_your_password")),1)]),x(R).isIngressSession?(d(),C(le,{key:0,type:"info",variant:"tonal",density:"compact",class:"mb-4"},{default:a(()=>[y(s(t.$t("auth.ingress_password_note")),1)]),_:1})):S("",!0),e(oe,{ref_key:"passwordForm",ref:_,onSubmit:B(p,["prevent"])},{default:a(()=>[e(L,{modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=i=>n.value=i),label:t.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[m.required,m.passwordLength]},null,8,["modelValue","label","rules"]),e(L,{modelValue:u.value,"onUpdate:modelValue":w[1]||(w[1]=i=>u.value=i),label:t.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-4",rules:[m.required,m.passwordMatch]},null,8,["modelValue","label","rules"]),e($,{type:"submit",color:"primary",variant:"flat",loading:l.value,disabled:!v.value},{default:a(()=>[y(s(t.$t("auth.change_password")),1)]),_:1},8,["loading","disabled"])]),_:1},512)]))}}),Ve=I(we,[["__scopeId","data-v-36fba185"]]),Ce={class:"profile-settings"},Ue={class:"section-header"},Le={class:"section-subtitle"},Te={class:"avatar-section"},ze={class:"avatar-container"},Se={class:"avatar-wrapper"},De={class:"avatar-text mt-2"},Pe={class:"profile-fields"},Ie={class:"actions"},Fe={class:"d-flex flex-column align-center mb-4"},Ae=P({__name:"ProfileSettings",setup(V){const{t:c}=N(),n=D(()=>R.currentUser),u=h(""),l=h(""),_=h(""),m=h(!1),v=h(!1),p=h(""),t=h(!1),w={required:r=>!!r||c("auth.field_required"),usernameLength:r=>r.length>=3||c("auth.username_min_length")},i=D(()=>n.value?u.value!==n.value.username||l.value!==(n.value.display_name||"")||_.value!==(n.value.avatar_url||""):!1),g=()=>{n.value&&(u.value=n.value.username,l.value=n.value.display_name||"",_.value=n.value.avatar_url||"",p.value=n.value.avatar_url||"")},F=async()=>{if(!(!n.value||!i.value)){m.value=!0;try{const r={};u.value!==n.value.username&&(r.username=u.value),l.value!==(n.value.display_name||"")&&(r.displayName=l.value),_.value!==(n.value.avatar_url||"")&&(r.avatarUrl=_.value);const f=await A.updateUser(n.value.user_id,r);f&&(R.currentUser=f,g(),U.success(c("auth.profile_updated")))}catch(r){U.error(r.message||c("error_generic"))}finally{m.value=!1}}},X=()=>{v.value=!1,p.value=_.value,t.value=!1},Y=()=>{_.value=p.value,v.value=!1,t.value=!1};return ae(n,g,{immediate:!0}),(r,f)=>(d(),k("div",Ce,[o("div",Ue,[o("h3",null,s(r.$t("auth.account_settings")),1),o("p",Le,s(r.$t("auth.manage_your_profile_info")),1)]),o("div",Te,[o("div",ze,[o("div",Se,[e(T,{size:"120",class:"profile-avatar",color:_.value?void 0:"grey-darken-2"},{default:a(()=>[_.value?(d(),C(E,{key:0,src:_.value,onError:f[0]||(f[0]=b=>t.value=!0)},null,8,["src"])):(d(),C(z,{key:1,icon:"mdi-account",size:"64",color:"grey-lighten-1"}))]),_:1},8,["color"]),e($,{icon:"mdi-camera",size:"small",variant:"elevated",class:"avatar-edit-btn",color:"surface",onClick:f[1]||(f[1]=b=>v.value=!0)})]),o("div",De,[e($,{variant:"text",size:"small",class:"text-capitalize",onClick:f[2]||(f[2]=b=>v.value=!0)},{default:a(()=>[y(s(r.$t("auth.change_avatar")),1)]),_:1})])]),o("div",Pe,[e(L,{modelValue:u.value,"onUpdate:modelValue":f[3]||(f[3]=b=>u.value=b),label:r.$t("auth.username"),variant:"outlined",density:"comfortable",rules:[w.required,w.usernameLength],class:"mb-2"},null,8,["modelValue","label","rules"]),e(L,{modelValue:l.value,"onUpdate:modelValue":f[4]||(f[4]=b=>l.value=b),label:r.$t("auth.display_name"),variant:"outlined",density:"comfortable",hint:r.$t("optional"),"persistent-hint":"",class:"mb-2"},null,8,["modelValue","label","hint"]),e(L,{"model-value":r.$t(`auth.${n.value?.role}_role`),label:r.$t("auth.role"),variant:"outlined",density:"comfortable",readonly:"",disabled:""},null,8,["model-value","label"])])]),o("div",Ie,[i.value?(d(),C($,{key:0,variant:"text",color:"grey",onClick:g},{default:a(()=>[y(s(r.$t("cancel")),1)]),_:1})):S("",!0),e($,{color:"primary",variant:"flat",loading:m.value,disabled:!i.value,onClick:F},{default:a(()=>[y(s(r.$t("save")),1)]),_:1},8,["loading","disabled"])]),e(W,{modelValue:v.value,"onUpdate:modelValue":f[7]||(f[7]=b=>v.value=b),"max-width":"500"},{default:a(()=>[e(j,null,{default:a(()=>[e(G,{class:"text-h5"},{default:a(()=>[y(s(r.$t("auth.change_avatar")),1)]),_:1}),e(Q,null,{default:a(()=>[o("div",Fe,[e(T,{size:"140",color:p.value?void 0:"grey-darken-2"},{default:a(()=>[p.value?(d(),C(E,{key:0,src:p.value,onError:f[5]||(f[5]=b=>t.value=!0)},null,8,["src"])):(d(),C(z,{key:1,icon:"mdi-account",size:"72",color:"grey-lighten-1"}))]),_:1},8,["color"])]),e(L,{modelValue:p.value,"onUpdate:modelValue":f[6]||(f[6]=b=>p.value=b),label:r.$t("auth.avatar_url"),variant:"outlined",hint:r.$t("auth.avatar_url_hint"),"persistent-hint":"",clearable:""},null,8,["modelValue","label","hint"])]),_:1}),e(H,null,{default:a(()=>[e(K),e($,{variant:"text",onClick:X},{default:a(()=>[y(s(r.$t("cancel")),1)]),_:1}),e($,{color:"primary",variant:"flat",onClick:Y},{default:a(()=>[y(s(r.$t("save")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),Ne=I(Ae,[["__scopeId","data-v-e98d7828"]]),qe={class:"session-tokens"},Re={class:"section-header"},Be={class:"section-subtitle"},Ee={key:0,class:"empty-state"},Me={class:"text-medium-emphasis"},Je={key:1,class:"tokens-list"},je={class:"line-clamp-1"},Ge={class:"token-meta"},Qe={key:0,class:"token-divider"},He={key:1},Ke=P({__name:"SessionTokensList",props:{tokens:{}},emits:["revoke"],setup(V,{emit:c}){const n=c,u=l=>new Date(l).toLocaleString();return(l,_)=>(d(),k("div",qe,[o("div",Re,[o("h3",null,s(l.$t("auth.active_sessions")),1),o("p",Be,s(l.$t("auth.manage_active_sessions")),1)]),V.tokens.length===0?(d(),k("div",Ee,[e(T,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-devices-off",size:"32"})]),_:1}),o("p",Me,s(l.$t("no_content")),1)])):(d(),k("div",Je,[(d(!0),k(M,null,J(V.tokens,m=>(d(),C(O,{key:m.token_id},{prepend:a(()=>[e(T,{color:"blue-grey-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-devices",size:"20"})]),_:1})]),title:a(()=>[o("div",je,s(m.name),1)]),subtitle:a(()=>[o("div",Ge,[o("span",null,s(l.$t("created"))+": "+s(u(m.created_at)),1),m.last_used_at?(d(),k("span",Qe,"•")):S("",!0),m.last_used_at?(d(),k("span",He,s(l.$t("last_used"))+": "+s(u(m.last_used_at)),1)):S("",!0)])]),append:a(()=>[e($,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:B(v=>n("revoke",m),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]))}}),Oe=I(Ke,[["__scopeId","data-v-984369e1"]]),We={class:"user-profile"},Xe={class:"profile-content"},Ye={class:"text-body-1 mb-4"},Ze={class:"token-name-box"},xe=P({__name:"UserProfile",setup(V){const{t:c}=N(),n=h([]),u=h(!1),l=h(null),_=h(!1),m=D(()=>n.value.filter(i=>!i.is_long_lived)),v=D(()=>n.value.filter(i=>i.is_long_lived)),p=async()=>{try{n.value=await A.getUserTokens()}catch(i){console.error("Failed to load tokens:",i)}},t=i=>{l.value=i,u.value=!0},w=async()=>{if(l.value){_.value=!0;try{if(await A.revokeToken(l.value.token_id)){await p();const g=!l.value.is_long_lived;U.success(c(g?"auth.session_revoked":"auth.token_revoked"))}else{const g=!l.value.is_long_lived;U.error(c(g?"auth.session_revoke_failed":"auth.token_revoke_failed"))}}catch(i){console.error("Failed to revoke token:",i);const g=!l.value?.is_long_lived;U.error(c(g?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{u.value=!1,l.value=null,_.value=!1}}};return se(()=>{p()}),(i,g)=>(d(),k("div",We,[e(Z,{variant:"comfortable",class:"profile-container"},{default:a(()=>[o("div",Xe,[e(Ne),e(q,{class:"my-6"}),e(Ve),e(q,{class:"my-6"}),e(Oe,{tokens:m.value,onRevoke:t},null,8,["tokens"]),e(q,{class:"my-6"}),e(ge,{tokens:v.value,onRevoke:t,onCreated:p},null,8,["tokens"])])]),_:1}),e(W,{modelValue:u.value,"onUpdate:modelValue":g[1]||(g[1]=F=>u.value=F),"max-width":"480"},{default:a(()=>[e(j,null,{default:a(()=>[e(G,{class:"text-h6 pl-6 pb-0 mt-3"},{default:a(()=>[y(s(l.value?.is_long_lived?i.$t("auth.revoke_token"):i.$t("auth.revoke_session")),1)]),_:1}),e(Q,{class:"px-6 pb-2"},{default:a(()=>[o("p",Ye,s(l.value?.is_long_lived?i.$t("auth.revoke_token_confirm"):i.$t("auth.revoke_session_confirm")),1),o("div",Ze,s(l.value?.name),1)]),_:1}),e(H,{class:"pa-6 pt-4"},{default:a(()=>[e(K),e($,{variant:"text",onClick:g[0]||(g[0]=F=>u.value=!1)},{default:a(()=>[y(s(i.$t("cancel")),1)]),_:1}),e($,{color:"error",variant:"flat",loading:_.value,onClick:w},{default:a(()=>[y(s(i.$t("auth.revoke")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),ua=I(xe,[["__scopeId","data-v-4961f1fb"]]);export{ua as default};
1
+ import{C as Z}from"./Container-BunIU4BI.js";import{ay as P,bN as F,J as h,az as k,aA as d,E as o,o as e,aN as s,M as $,aG as a,bh as y,bE as T,aL as z,ah as M,aH as H,aI as C,bd as B,aB as S,_ as I,i as D,aD as x,ax as R,bH as L,aP as N,aW as U,R as ee,L as ae,am as E,aS as W,bg as G,c3 as J,bV as j,bW as K,a3 as se,aU as q}from"./index-rZUS0c3q.js";import{L as O}from"./ListItem-DNqmHglz.js";import{_ as te}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-WD6jKrT1.js";import{V as le}from"./VAlert-CBrxai34.js";import{V as oe}from"./VForm-Dpln05ME.js";import{V as Q}from"./VDialog-BndVdZhi.js";import"./index-kQIztB-E.js";import"./Button-Cm9Kv1fL.js";const ne={class:"long-lived-tokens"},re={class:"section-header-with-action"},ie={class:"section-header"},ue={class:"section-subtitle"},de={key:0,class:"empty-state"},ce={class:"text-medium-emphasis"},ve={class:"text-caption text-medium-emphasis mt-1"},_e={key:1,class:"tokens-list"},me={class:"line-clamp-1"},pe={class:"token-meta"},fe={key:0,class:"token-divider"},he={key:1},ke=P({__name:"LongLivedTokensList",props:{tokens:{}},emits:["revoke","created"],setup(V,{emit:c}){const{t:n}=F(),u=c,l=h(!1),_=v=>new Date(v).toLocaleString(),m=()=>{u("created")};return(v,p)=>(d(),k("div",ne,[o("div",re,[o("div",ie,[o("h3",null,s(v.$t("auth.long_lived_tokens")),1),o("p",ue,s(v.$t("auth.api_tokens_description")),1)]),e($,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",onClick:p[0]||(p[0]=t=>l.value=!0)},{default:a(()=>[y(s(v.$t("auth.create_token")),1)]),_:1})]),V.tokens.length===0?(d(),k("div",de,[e(T,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"32"})]),_:1}),o("p",ce,s(v.$t("auth.no_tokens")),1),o("p",ve,s(v.$t("auth.create_token_hint")),1)])):(d(),k("div",_e,[(d(!0),k(M,null,H(V.tokens,t=>(d(),C(O,{key:t.token_id},{prepend:a(()=>[e(T,{color:"deep-purple-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:a(()=>[o("div",me,s(t.name),1)]),subtitle:a(()=>[o("div",pe,[o("span",null,s(v.$t("created"))+": "+s(_(t.created_at)),1),t.last_used_at?(d(),k("span",fe,"•")):S("",!0),t.last_used_at?(d(),k("span",he,s(v.$t("last_used"))+": "+s(_(t.last_used_at)),1)):S("",!0)])]),append:a(()=>[e($,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:B(w=>u("revoke",t),["stop"])},null,8,["onClick"])]),_:2},1024))),128))])),e(te,{modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=t=>l.value=t),onCreated:m},null,8,["modelValue"])]))}}),ge=I(ke,[["__scopeId","data-v-511373f4"]]),$e={class:"password-settings"},ye={class:"section-header"},be={class:"section-subtitle"},we=P({__name:"PasswordSettings",setup(V){const{t:c}=F(),n=h(""),u=h(""),l=h(!1),_=h(null),m={required:t=>!!t||c("auth.field_required"),passwordLength:t=>t.length>=8||c("auth.password_min_length"),passwordMatch:t=>t===n.value||c("auth.passwords_must_match")},v=D(()=>n.value.length>=8&&n.value===u.value),p=async()=>{l.value=!0;try{await N.changePassword(n.value)?(U.success(c("auth.password_changed")),n.value="",u.value="",await ee(),_.value?.resetValidation()):U.error(c("auth.password_change_failed"))}catch(t){U.error(t.message||c("auth.password_change_failed"))}finally{l.value=!1}};return(t,w)=>(d(),k("div",$e,[o("div",ye,[o("h3",null,s(t.$t("auth.change_password")),1),o("p",be,s(t.$t("auth.update_your_password")),1)]),x(R).isIngressSession?(d(),C(le,{key:0,type:"info",variant:"tonal",density:"compact",class:"mb-4"},{default:a(()=>[y(s(t.$t("auth.ingress_password_note")),1)]),_:1})):S("",!0),e(oe,{ref_key:"passwordForm",ref:_,onSubmit:B(p,["prevent"])},{default:a(()=>[e(L,{modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=i=>n.value=i),label:t.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[m.required,m.passwordLength]},null,8,["modelValue","label","rules"]),e(L,{modelValue:u.value,"onUpdate:modelValue":w[1]||(w[1]=i=>u.value=i),label:t.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-4",rules:[m.required,m.passwordMatch]},null,8,["modelValue","label","rules"]),e($,{type:"submit",color:"primary",variant:"flat",loading:l.value,disabled:!v.value},{default:a(()=>[y(s(t.$t("auth.change_password")),1)]),_:1},8,["loading","disabled"])]),_:1},512)]))}}),Ve=I(we,[["__scopeId","data-v-36fba185"]]),Ce={class:"profile-settings"},Ue={class:"section-header"},Le={class:"section-subtitle"},Te={class:"avatar-section"},ze={class:"avatar-container"},Se={class:"avatar-wrapper"},De={class:"avatar-text mt-2"},Pe={class:"profile-fields"},Ie={class:"actions"},Ae={class:"d-flex flex-column align-center mb-4"},Ne=P({__name:"ProfileSettings",setup(V){const{t:c}=F(),n=D(()=>R.currentUser),u=h(""),l=h(""),_=h(""),m=h(!1),v=h(!1),p=h(""),t=h(!1),w={required:r=>!!r||c("auth.field_required"),usernameLength:r=>r.length>=3||c("auth.username_min_length")},i=D(()=>n.value?u.value!==n.value.username||l.value!==(n.value.display_name||"")||_.value!==(n.value.avatar_url||""):!1),g=()=>{n.value&&(u.value=n.value.username,l.value=n.value.display_name||"",_.value=n.value.avatar_url||"",p.value=n.value.avatar_url||"")},A=async()=>{if(!(!n.value||!i.value)){m.value=!0;try{const r={};u.value!==n.value.username&&(r.username=u.value),l.value!==(n.value.display_name||"")&&(r.displayName=l.value),_.value!==(n.value.avatar_url||"")&&(r.avatarUrl=_.value);const f=await N.updateUser(n.value.user_id,r);f&&(R.currentUser=f,g(),U.success(c("auth.profile_updated")))}catch(r){U.error(r.message||c("error_generic"))}finally{m.value=!1}}},X=()=>{v.value=!1,p.value=_.value,t.value=!1},Y=()=>{_.value=p.value,v.value=!1,t.value=!1};return ae(n,g,{immediate:!0}),(r,f)=>(d(),k("div",Ce,[o("div",Ue,[o("h3",null,s(r.$t("auth.account_settings")),1),o("p",Le,s(r.$t("auth.manage_your_profile_info")),1)]),o("div",Te,[o("div",ze,[o("div",Se,[e(T,{size:"120",class:"profile-avatar",color:_.value?void 0:"grey-darken-2"},{default:a(()=>[_.value?(d(),C(E,{key:0,src:_.value,onError:f[0]||(f[0]=b=>t.value=!0)},null,8,["src"])):(d(),C(z,{key:1,icon:"mdi-account",size:"64",color:"grey-lighten-1"}))]),_:1},8,["color"]),e($,{icon:"mdi-camera",size:"small",variant:"elevated",class:"avatar-edit-btn",color:"surface",onClick:f[1]||(f[1]=b=>v.value=!0)})]),o("div",De,[e($,{variant:"text",size:"small",class:"text-capitalize",onClick:f[2]||(f[2]=b=>v.value=!0)},{default:a(()=>[y(s(r.$t("auth.change_avatar")),1)]),_:1})])]),o("div",Pe,[e(L,{modelValue:u.value,"onUpdate:modelValue":f[3]||(f[3]=b=>u.value=b),label:r.$t("auth.username"),variant:"outlined",density:"comfortable",rules:[w.required,w.usernameLength],class:"mb-2"},null,8,["modelValue","label","rules"]),e(L,{modelValue:l.value,"onUpdate:modelValue":f[4]||(f[4]=b=>l.value=b),label:r.$t("auth.display_name"),variant:"outlined",density:"comfortable",hint:r.$t("optional"),"persistent-hint":"",class:"mb-2"},null,8,["modelValue","label","hint"]),e(L,{"model-value":r.$t(`auth.${n.value?.role}_role`),label:r.$t("auth.role"),variant:"outlined",density:"comfortable",readonly:"",disabled:""},null,8,["model-value","label"])])]),o("div",Ie,[i.value?(d(),C($,{key:0,variant:"text",color:"grey",onClick:g},{default:a(()=>[y(s(r.$t("cancel")),1)]),_:1})):S("",!0),e($,{color:"primary",variant:"flat",loading:m.value,disabled:!i.value,onClick:A},{default:a(()=>[y(s(r.$t("save")),1)]),_:1},8,["loading","disabled"])]),e(Q,{modelValue:v.value,"onUpdate:modelValue":f[7]||(f[7]=b=>v.value=b),"max-width":"500"},{default:a(()=>[e(W,null,{default:a(()=>[e(G,{class:"text-h5"},{default:a(()=>[y(s(r.$t("auth.change_avatar")),1)]),_:1}),e(J,null,{default:a(()=>[o("div",Ae,[e(T,{size:"140",color:p.value?void 0:"grey-darken-2"},{default:a(()=>[p.value?(d(),C(E,{key:0,src:p.value,onError:f[5]||(f[5]=b=>t.value=!0)},null,8,["src"])):(d(),C(z,{key:1,icon:"mdi-account",size:"72",color:"grey-lighten-1"}))]),_:1},8,["color"])]),e(L,{modelValue:p.value,"onUpdate:modelValue":f[6]||(f[6]=b=>p.value=b),label:r.$t("auth.avatar_url"),variant:"outlined",hint:r.$t("auth.avatar_url_hint"),"persistent-hint":"",clearable:""},null,8,["modelValue","label","hint"])]),_:1}),e(j,null,{default:a(()=>[e(K),e($,{variant:"text",onClick:X},{default:a(()=>[y(s(r.$t("cancel")),1)]),_:1}),e($,{color:"primary",variant:"flat",onClick:Y},{default:a(()=>[y(s(r.$t("save")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),Fe=I(Ne,[["__scopeId","data-v-e98d7828"]]),qe={class:"session-tokens"},Re={class:"section-header"},Be={class:"section-subtitle"},Ee={key:0,class:"empty-state"},Me={class:"text-medium-emphasis"},He={key:1,class:"tokens-list"},We={class:"line-clamp-1"},Ge={class:"token-meta"},Je={key:0,class:"token-divider"},je={key:1},Ke=P({__name:"SessionTokensList",props:{tokens:{}},emits:["revoke"],setup(V,{emit:c}){const n=c,u=l=>new Date(l).toLocaleString();return(l,_)=>(d(),k("div",qe,[o("div",Re,[o("h3",null,s(l.$t("auth.active_sessions")),1),o("p",Be,s(l.$t("auth.manage_active_sessions")),1)]),V.tokens.length===0?(d(),k("div",Ee,[e(T,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-devices-off",size:"32"})]),_:1}),o("p",Me,s(l.$t("no_content")),1)])):(d(),k("div",He,[(d(!0),k(M,null,H(V.tokens,m=>(d(),C(O,{key:m.token_id},{prepend:a(()=>[e(T,{color:"blue-grey-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-devices",size:"20"})]),_:1})]),title:a(()=>[o("div",We,s(m.name),1)]),subtitle:a(()=>[o("div",Ge,[o("span",null,s(l.$t("created"))+": "+s(u(m.created_at)),1),m.last_used_at?(d(),k("span",Je,"•")):S("",!0),m.last_used_at?(d(),k("span",je,s(l.$t("last_used"))+": "+s(u(m.last_used_at)),1)):S("",!0)])]),append:a(()=>[e($,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:B(v=>n("revoke",m),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]))}}),Oe=I(Ke,[["__scopeId","data-v-984369e1"]]),Qe={class:"user-profile"},Xe={class:"profile-content"},Ye={class:"text-body-1 mb-4"},Ze={class:"token-name-box"},xe=P({__name:"UserProfile",setup(V){const{t:c}=F(),n=h([]),u=h(!1),l=h(null),_=h(!1),m=D(()=>n.value.filter(i=>!i.is_long_lived)),v=D(()=>n.value.filter(i=>i.is_long_lived)),p=async()=>{try{n.value=await N.getUserTokens()}catch(i){console.error("Failed to load tokens:",i)}},t=i=>{l.value=i,u.value=!0},w=async()=>{if(l.value){_.value=!0;try{if(await N.revokeToken(l.value.token_id)){await p();const g=!l.value.is_long_lived;U.success(c(g?"auth.session_revoked":"auth.token_revoked"))}else{const g=!l.value.is_long_lived;U.error(c(g?"auth.session_revoke_failed":"auth.token_revoke_failed"))}}catch(i){console.error("Failed to revoke token:",i);const g=!l.value?.is_long_lived;U.error(c(g?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{u.value=!1,l.value=null,_.value=!1}}};return se(()=>{p()}),(i,g)=>(d(),k("div",Qe,[e(Z,{variant:"comfortable",class:"profile-container"},{default:a(()=>[o("div",Xe,[e(Fe),e(q,{class:"my-6"}),e(Ve),e(q,{class:"my-6"}),e(Oe,{tokens:m.value,onRevoke:t},null,8,["tokens"]),e(q,{class:"my-6"}),e(ge,{tokens:v.value,onRevoke:t,onCreated:p},null,8,["tokens"])])]),_:1}),e(Q,{modelValue:u.value,"onUpdate:modelValue":g[1]||(g[1]=A=>u.value=A),"max-width":"480"},{default:a(()=>[e(W,null,{default:a(()=>[e(G,{class:"text-h6 pl-6 pb-0 mt-3"},{default:a(()=>[y(s(l.value?.is_long_lived?i.$t("auth.revoke_token"):i.$t("auth.revoke_session")),1)]),_:1}),e(J,{class:"px-6 pb-2"},{default:a(()=>[o("p",Ye,s(l.value?.is_long_lived?i.$t("auth.revoke_token_confirm"):i.$t("auth.revoke_session_confirm")),1),o("div",Ze,s(l.value?.name),1)]),_:1}),e(j,{class:"pa-6 pt-4"},{default:a(()=>[e(K),e($,{variant:"text",onClick:g[0]||(g[0]=A=>u.value=!1)},{default:a(()=>[y(s(i.$t("cancel")),1)]),_:1}),e($,{color:"error",variant:"flat",loading:_.value,onClick:w},{default:a(()=>[y(s(i.$t("auth.revoke")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),ua=I(xe,[["__scopeId","data-v-4961f1fb"]]);export{ua as default};
@@ -1 +1 @@
1
- import{d7 as $,p as S,i as w,g as M,j as E,t as d,G as F,c7 as N,d as R,bX as j,e as O,cx as q,c6 as G,f as J,al as X,I as Z,o as l,q as v,r as m,c9 as p,v as H,x as K,z as Q,ca as U,cb as W,A as Y,bZ as ee,B as ae,C as te,cw as le,cf as se,E as s,aJ as ne,ad as y,ak as f,M as oe}from"./index-BjdGY0D1.js";const ie=$("v-alert-title"),ce=S({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function re(e,n){return{iconSize:w(()=>{const a=new Map(e.iconSizes),t=e.iconSize??n()??"default";return a.has(t)?a.get(t):t})}}const ue=["success","info","warning","error"],de=S({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:le,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>ue.includes(e)},...te(),...ae(),...ee(),...Y(),...ce(),...W(),...U(),...Q(),...K(),...H(),...p({variant:"flat"})},"VAlert"),me=M()({name:"VAlert",props:de(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{emit:c,slots:a}=n;const t=E(e,"modelValue"),o=d(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:b}=re(e,()=>e.prominent?44:void 0),{themeClasses:k}=F(e),{colorClasses:P,colorStyles:z,variantClasses:C}=N(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:V}=R(e),{dimensionStyles:g}=j(e),{elevationClasses:x}=O(e),{locationStyles:_}=q(e),{positionClasses:B}=G(e),{roundedClasses:I}=J(e),{textColorClasses:A,textColorStyles:h}=X(()=>e.borderColor),{t:T}=Z(),r=d(()=>({"aria-label":T(e.closeLabel),onClick(i){t.value=!1,c("click:close",i)}}));return()=>{const i=!!(a.prepend||o.value),D=!!(a.title||e.title),L=!!(a.close||e.closable),u={density:e.density,icon:o.value,size:e.iconSize||e.prominent?b.value:void 0};return t.value&&l(e.tag,{class:m(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},k.value,P.value,V.value,x.value,B.value,I.value,C.value,e.class]),style:v([z.value,g.value,_.value,e.style]),role:"alert"},{default:()=>[se(!1,"v-alert"),e.border&&s("div",{key:"border",class:m(["v-alert__border",A.value]),style:v(h.value)},null),i&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(f,{key:"prepend-defaults",disabled:!o.value,defaults:{VIcon:{...u}}},a.prepend):l(ne,y({key:"prepend-icon"},u),null)]),s("div",{class:"v-alert__content"},[D&&l(ie,{key:"title"},{default:()=>[a.title?.()??e.title]}),a.text?.()??e.text,a.default?.()]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),L&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(f,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:r.value})]}):l(oe,y({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},r.value),null)])]})}}});export{me as V,ie as a};
1
+ import{d0 as D,p as S,i as M,g as w,j as E,t as d,G as F,ca as N,d as R,bZ as j,e as O,cC as q,c9 as G,f as Z,ao as p,I as H,o as l,q as v,r as m,cc as J,v as K,x as Q,z as U,cd as W,ce as X,A as Y,b$ as ee,B as ae,C as te,cA as le,ci as se,E as s,aL as ne,ae as y,an as f,M as oe}from"./index-rZUS0c3q.js";const ie=D("v-alert-title"),ce=S({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function re(e,n){return{iconSize:M(()=>{const a=new Map(e.iconSizes),t=e.iconSize??n()??"default";return a.has(t)?a.get(t):t})}}const ue=["success","info","warning","error"],de=S({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:le,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>ue.includes(e)},...te(),...ae(),...ee(),...Y(),...ce(),...X(),...W(),...U(),...Q(),...K(),...J({variant:"flat"})},"VAlert"),me=w()({name:"VAlert",props:de(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{emit:c,slots:a}=n;const t=E(e,"modelValue"),o=d(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:b}=re(e,()=>e.prominent?44:void 0),{themeClasses:k}=F(e),{colorClasses:C,colorStyles:P,variantClasses:z}=N(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:V}=R(e),{dimensionStyles:g}=j(e),{elevationClasses:x}=O(e),{locationStyles:_}=q(e),{positionClasses:A}=G(e),{roundedClasses:B}=Z(e),{textColorClasses:I,textColorStyles:h}=p(()=>e.borderColor),{t:T}=H(),r=d(()=>({"aria-label":T(e.closeLabel),onClick(i){t.value=!1,c("click:close",i)}}));return()=>{const i=!!(a.prepend||o.value),L=!!(a.title||e.title),$=!!(a.close||e.closable),u={density:e.density,icon:o.value,size:e.iconSize||e.prominent?b.value:void 0};return t.value&&l(e.tag,{class:m(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},k.value,C.value,V.value,x.value,A.value,B.value,z.value,e.class]),style:v([P.value,g.value,_.value,e.style]),role:"alert"},{default:()=>[se(!1,"v-alert"),e.border&&s("div",{key:"border",class:m(["v-alert__border",I.value]),style:v(h.value)},null),i&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(f,{key:"prepend-defaults",disabled:!o.value,defaults:{VIcon:{...u}}},a.prepend):l(ne,y({key:"prepend-icon"},u),null)]),s("div",{class:"v-alert__content"},[L&&l(ie,{key:"title"},{default:()=>[a.title?.()??e.title]}),a.text?.()??e.text,a.default?.()]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),$&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(f,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:r.value})]}):l(oe,y({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},r.value),null)])]})}}});export{me as V,ie as a};
@@ -0,0 +1 @@
1
+ import{V as a,m as f}from"./VSelectionControl-S-aELuKm.js";import{g as V,p as v,j as c,t as l,n as I,ai as k,o as x,ae as h,cA as b}from"./index-rZUS0c3q.js";const C=v({indeterminate:Boolean,indeterminateIcon:{type:b,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=V()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=k(a.filterProps(e),["modelValue"]);return x(a,h(o,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
@@ -0,0 +1 @@
1
+ import{g as P,p as x,j as E,aa as b,J as y,L as D,n as w,bx as u,ae as r,o as d,ap as A,ai as F,cf as L,cO as I,R as S,an as O}from"./index-rZUS0c3q.js";const R=x({fullscreen:Boolean,scrollable:Boolean,...F(L({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:I},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),H=P()({name:"VDialog",props:R(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,f){let{emit:c,slots:i}=f;const o=E(e,"modelValue"),{scopeId:v}=b(),a=y();function m(){c("afterEnter"),(e.scrim||e.retainFocus)&&a.value?.contentEl&&!a.value.contentEl.contains(document.activeElement)&&a.value.contentEl.focus({preventScroll:!0})}function g(){c("afterLeave")}return D(o,async l=>{l||(await S(),a.value.activatorEl?.focus({preventScroll:!0}))}),w(()=>{const l=u.filterProps(e),V=r({"aria-haspopup":"dialog"},e.activatorProps),h=r({tabindex:-1},e.contentProps);return d(u,r({ref:a,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},l,{modelValue:o.value,"onUpdate:modelValue":t=>o.value=t,"aria-modal":"true",activatorProps:V,contentProps:h,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:m,onAfterLeave:g},v),{activator:i.activator,default:function(){for(var t=arguments.length,s=new Array(t),n=0;n<t;n++)s[n]=arguments[n];return d(O,{root:"VDialog"},{default:()=>[i.default?.(...s)]})}})}),A({},a)}});export{H as V};
@@ -0,0 +1 @@
1
+ import{g as m,p as P,T as h,W as N,n as b,o as i,cM as j,Z,C as E,N as w,X as q,E as u,q as y,r as v,cN as I,c as A,bZ as F,i as f,t as l,an as B,b$ as M,cA as k,aL as O,U,e as W,f as X,x as _,z as H,$ as J,A as K,S as Q,l as Y,G as ee,m as ae,v as ne,av as le,w as te}from"./index-rZUS0c3q.js";const x=Symbol.for("vuetify:v-expansion-panel"),D=P({...E(),...Z()},"VExpansionPanelText"),C=m()({name:"VExpansionPanelText",props:D(),setup(e,c){let{slots:n}=c;const a=h(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:d}=N(e,a.isSelected);return b(()=>i(j,{onAfterLeave:d},{default:()=>[w(u("div",{class:v(["v-expansion-panel-text",e.class]),style:y(e.style)},[n.default&&s.value&&u("div",{class:"v-expansion-panel-text__wrapper"},[n.default?.()])]),[[q,a.isSelected.value]])]})),{}}}),R=P({color:String,expandIcon:{type:k,default:"$expand"},collapseIcon:{type:k,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...E(),...M()},"VExpansionPanelTitle"),T=m()({name:"VExpansionPanelTitle",directives:{vRipple:I},props:R(),setup(e,c){let{slots:n}=c;const a=h(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:d}=A(()=>e.color),{dimensionStyles:r}=F(e),p=f(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),V=l(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return b(()=>w(u("button",{class:v(["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},s.value,e.class]),style:y([d.value,r.value,e.style]),type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[u("span",{class:"v-expansion-panel-title__overlay"},null),n.default?.(p.value),!e.hideActions&&i(B,{defaults:{VIcon:{icon:V.value}}},{default:()=>[u("span",{class:"v-expansion-panel-title__icon"},[n.actions?.(p.value)??i(O,null,null)])]})]),[[I,e.ripple]])),{}}}),z=P({title:String,text:String,bgColor:String,...K(),...J(),...H(),..._(),...R(),...D()},"VExpansionPanel"),ce=m()({name:"VExpansionPanel",props:z(),emits:{"group:selected":e=>!0},setup(e,c){let{slots:n}=c;const a=U(e,x),{backgroundColorClasses:s,backgroundColorStyles:d}=A(()=>e.bgColor),{elevationClasses:r}=W(e),{roundedClasses:p}=X(e),V=l(()=>a?.disabled.value||e.disabled),S=f(()=>a.group.items.value.reduce((o,t,g)=>(a.group.selected.value.includes(t.id)&&o.push(g),o),[])),G=f(()=>{const o=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&S.value.some(t=>t-o===1)}),L=f(()=>{const o=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&S.value.some(t=>t-o===-1)});return Q(x,a),b(()=>{const o=!!(n.text||e.text),t=!!(n.title||e.title),g=T.filterProps(e),$=C.filterProps(e);return i(e.tag,{class:v(["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":G.value,"v-expansion-panel--after-active":L.value,"v-expansion-panel--disabled":V.value},p.value,s.value,e.class]),style:y([d.value,e.style])},{default:()=>[u("div",{class:v(["v-expansion-panel__shadow",...r.value])},null),i(B,{defaults:{VExpansionPanelTitle:{...g},VExpansionPanelText:{...$}}},{default:()=>[t&&i(T,{key:"title"},{default:()=>[n.title?n.title():e.title]}),o&&i(C,{key:"text"},{default:()=>[n.text?n.text():e.text]}),n.default?.()]})]})}),{groupItem:a}}}),se=["default","accordion","inset","popout"],oe=P({flat:Boolean,...te(),...le(z(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...ne(),...E(),..._(),variant:{type:String,default:"default",validator:e=>se.includes(e)}},"VExpansionPanels"),de=m()({name:"VExpansionPanels",props:oe(),emits:{"update:modelValue":e=>!0},setup(e,c){let{slots:n}=c;const{next:a,prev:s}=Y(e,x),{themeClasses:d}=ee(e),r=l(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ae({VExpansionPanel:{bgColor:l(()=>e.bgColor),collapseIcon:l(()=>e.collapseIcon),color:l(()=>e.color),eager:l(()=>e.eager),elevation:l(()=>e.elevation),expandIcon:l(()=>e.expandIcon),focusable:l(()=>e.focusable),hideActions:l(()=>e.hideActions),readonly:l(()=>e.readonly),ripple:l(()=>e.ripple),rounded:l(()=>e.rounded),static:l(()=>e.static)}}),b(()=>i(e.tag,{class:v(["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},d.value,r.value,e.class]),style:y(e.style)},{default:()=>[n.default?.({prev:s,next:a})]})),{next:a,prev:s}}});export{de as V,ce as a,T as b,C as c};
@@ -1 +1 @@
1
- import{g as d,p,dd as v,J as b,n as y,E as F,q as V,r as h,am as R,de as C,C as P}from"./index-BjdGY0D1.js";const k=p({...P(),...C()},"VForm"),g=d()({name:"VForm",props:k(),emits:{"update:modelValue":a=>!0,submit:a=>!0},setup(a,n){let{slots:m,emit:l}=n;const s=v(a),o=b();function i(r){r.preventDefault(),s.reset()}function f(r){const t=r,e=s.validate();t.then=e.then.bind(e),t.catch=e.catch.bind(e),t.finally=e.finally.bind(e),l("submit",t),t.defaultPrevented||e.then(u=>{let{valid:c}=u;c&&o.value?.submit()}),t.preventDefault()}return y(()=>F("form",{ref:o,class:h(["v-form",a.class]),style:V(a.style),novalidate:!0,onReset:i,onSubmit:f},[m.default?.(s)])),R(s,o)}});export{g as V};
1
+ import{g as d,p,d1 as v,J as b,n as y,E as F,q as V,r as h,ap as R,d2 as C,C as P}from"./index-rZUS0c3q.js";const k=p({...P(),...C()},"VForm"),g=d()({name:"VForm",props:k(),emits:{"update:modelValue":a=>!0,submit:a=>!0},setup(a,n){let{slots:m,emit:l}=n;const s=v(a),o=b();function i(r){r.preventDefault(),s.reset()}function f(r){const t=r,e=s.validate();t.then=e.then.bind(e),t.catch=e.catch.bind(e),t.finally=e.finally.bind(e),l("submit",t),t.defaultPrevented||e.then(u=>{let{valid:c}=u;c&&o.value?.submit()}),t.preventDefault()}return y(()=>F("form",{ref:o,class:h(["v-form",a.class]),style:V(a.style),novalidate:!0,onReset:i,onSubmit:f},[m.default?.(s)])),R(s,o)}});export{g as V};
@@ -0,0 +1 @@
1
+ .v-infinite-scroll--horizontal{display:flex;flex-direction:row;overflow-x:auto}.v-infinite-scroll--horizontal .v-infinite-scroll-intersect{height:100%;width:var(--v-infinite-margin-size, 1px)}.v-infinite-scroll--vertical{display:flex;flex-direction:column;overflow-y:auto}.v-infinite-scroll--vertical .v-infinite-scroll-intersect{height:1px;width:100%}.v-infinite-scroll-intersect{overflow:hidden;pointer-events:none;margin-top:var(--v-infinite-margin);margin-bottom:calc(var(--v-infinite-margin) * -1)}.v-infinite-scroll-intersect:nth-child(2){--v-infinite-margin: var(--v-infinite-margin-size, 1px)}.v-infinite-scroll-intersect:nth-last-child(2){--v-infinite-margin: calc(var(--v-infinite-margin-size, 1px) * -1)}.v-infinite-scroll__side{align-items:center;display:flex;justify-content:center;padding:8px;transition-property:padding;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-infinite-scroll__side:empty,.v-infinite-scroll__side:has(>div:only-child:empty){padding:0}
@@ -1 +1 @@
1
- import{g as L,p as N,J as R,K as w,i as _,s as E,a3 as $,I as B,bX as D,n as q,o as c,q as H,r as W,x as J,bZ as K,R as v,cm as O,cn as U,L as X,E as g,bf as Z,b6 as x,M as j}from"./index-BjdGY0D1.js";const G=N({color:String,direction:{type:String,default:"vertical",validator:e=>["vertical","horizontal"].includes(e)},side:{type:String,default:"end",validator:e=>["start","end","both"].includes(e)},mode:{type:String,default:"intersect",validator:e=>["intersect","manual"].includes(e)},margin:[Number,String],loadMoreText:{type:String,default:"$vuetify.infiniteScroll.loadMore"},emptyText:{type:String,default:"$vuetify.infiniteScroll.empty"},...K(),...J()},"VInfiniteScroll"),A=O({name:"VInfiniteScrollIntersect",props:{side:{type:String,required:!0},rootMargin:String},emits:{intersect:(e,d)=>!0},setup(e,d){let{emit:o}=d;const{intersectionRef:S,isIntersecting:i}=U();return X(i,async a=>{o("intersect",e.side,a)}),q(()=>g("div",{class:"v-infinite-scroll-intersect",style:{"--v-infinite-margin-size":e.rootMargin},ref:S},[Z(" ")])),{}}}),Y=L()({name:"VInfiniteScroll",props:G(),emits:{load:e=>!0},setup(e,d){let{slots:o,emit:S}=d;const i=R(),a=w("ok"),f=w("ok"),b=_(()=>E(e.margin)),y=w(!1);function m(t){if(!i.value)return;const n=e.direction==="vertical"?"scrollTop":"scrollLeft";i.value[n]=t}function k(){if(!i.value)return 0;const t=e.direction==="vertical"?"scrollTop":"scrollLeft";return i.value[t]}function u(){if(!i.value)return 0;const t=e.direction==="vertical"?"scrollHeight":"scrollWidth";return i.value[t]}function z(){if(!i.value)return 0;const t=e.direction==="vertical"?"clientHeight":"clientWidth";return i.value[t]}$(()=>{i.value&&(e.side==="start"?m(u()):e.side==="both"&&m(u()/2-z()/2))});function I(t,n){t==="start"?a.value=n:t==="end"?f.value=n:t==="both"&&(a.value=n,f.value=n)}function C(t){return t==="start"?a.value:f.value}let h=0;function V(t,n){y.value=n,y.value&&s(t)}function s(t){if(e.mode!=="manual"&&!y.value)return;const n=C(t);if(!i.value||["empty","loading"].includes(n))return;h=u(),I(t,"loading");function l(r){I(t,r),v(()=>{r==="empty"||r==="error"||(r==="ok"&&t==="start"&&m(u()-h+k()),e.mode!=="manual"&&v(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{s(t)})})})}))})}S("load",{side:t,done:l})}const{t:T}=B();function M(t,n){if(e.side!==t&&e.side!=="both")return;const l=()=>s(t),r={side:t,props:{onClick:l,color:e.color}};return n==="error"?o.error?.(r):n==="empty"?o.empty?.(r)??g("div",null,[T(e.emptyText)]):e.mode==="manual"?n==="loading"?o.loading?.(r)??c(x,{indeterminate:!0,color:e.color},null):o["load-more"]?.(r)??c(j,{variant:"outlined",color:e.color,onClick:l},{default:()=>[T(e.loadMoreText)]}):o.loading?.(r)??c(x,{indeterminate:!0,color:e.color},null)}const{dimensionStyles:F}=D(e);q(()=>{const t=e.tag,n=e.side==="start"||e.side==="both",l=e.side==="end"||e.side==="both",r=e.mode==="intersect";return c(t,{ref:i,class:W(["v-infinite-scroll",`v-infinite-scroll--${e.direction}`,{"v-infinite-scroll--start":n,"v-infinite-scroll--end":l}]),style:H(F.value)},{default:()=>[g("div",{class:"v-infinite-scroll__side"},[M("start",a.value)]),n&&r&&c(A,{key:"start",side:"start",onIntersect:V,rootMargin:b.value},null),o.default?.(),l&&r&&c(A,{key:"end",side:"end",onIntersect:V,rootMargin:b.value},null),g("div",{class:"v-infinite-scroll__side"},[M("end",f.value)])]})});function P(t){const n=t??e.side;I(n,"ok"),v(()=>{m(u()-h+k()),e.mode!=="manual"&&v(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{n==="both"?(s("start"),s("end")):s(n)})})})})})}return{reset:P}}});export{Y as V};
1
+ import{g as L,p as N,J as R,K as w,i as _,s as $,a3 as E,I as B,bZ as D,n as A,o as c,q as H,r as W,x as J,b$ as K,R as v,cq as O,cr as U,L as Z,E as g,bh as j,b8 as q,M as G}from"./index-rZUS0c3q.js";const Q=N({color:String,direction:{type:String,default:"vertical",validator:e=>["vertical","horizontal"].includes(e)},side:{type:String,default:"end",validator:e=>["start","end","both"].includes(e)},mode:{type:String,default:"intersect",validator:e=>["intersect","manual"].includes(e)},margin:[Number,String],loadMoreText:{type:String,default:"$vuetify.infiniteScroll.loadMore"},emptyText:{type:String,default:"$vuetify.infiniteScroll.empty"},...K(),...J()},"VInfiniteScroll"),x=O({name:"VInfiniteScrollIntersect",props:{side:{type:String,required:!0},rootMargin:String},emits:{intersect:(e,d)=>!0},setup(e,d){let{emit:o}=d;const{intersectionRef:S,isIntersecting:i}=U();return Z(i,async a=>{o("intersect",e.side,a)}),A(()=>g("div",{class:"v-infinite-scroll-intersect",style:{"--v-infinite-margin-size":e.rootMargin},ref:S},[j(" ")])),{}}}),Y=L()({name:"VInfiniteScroll",props:Q(),emits:{load:e=>!0},setup(e,d){let{slots:o,emit:S}=d;const i=R(),a=w("ok"),f=w("ok"),b=_(()=>$(e.margin)),y=w(!1);function m(t){if(!i.value)return;const n=e.direction==="vertical"?"scrollTop":"scrollLeft";i.value[n]=t}function k(){if(!i.value)return 0;const t=e.direction==="vertical"?"scrollTop":"scrollLeft";return i.value[t]}function u(){if(!i.value)return 0;const t=e.direction==="vertical"?"scrollHeight":"scrollWidth";return i.value[t]}function z(){if(!i.value)return 0;const t=e.direction==="vertical"?"clientHeight":"clientWidth";return i.value[t]}E(()=>{i.value&&(e.side==="start"?m(u()):e.side==="both"&&m(u()/2-z()/2))});function h(t,n){t==="start"?a.value=n:t==="end"?f.value=n:t==="both"&&(a.value=n,f.value=n)}function C(t){return t==="start"?a.value:f.value}let I=0;function V(t,n){y.value=n,y.value&&s(t)}function s(t){if(e.mode!=="manual"&&!y.value)return;const n=C(t);if(!i.value||["empty","loading"].includes(n))return;I=u(),h(t,"loading");function l(r){h(t,r),v(()=>{r==="empty"||r==="error"||(r==="ok"&&t==="start"&&m(u()-I+k()),e.mode!=="manual"&&v(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{s(t)})})})}))})}S("load",{side:t,done:l})}const{t:T}=B();function M(t,n){if(e.side!==t&&e.side!=="both")return;const l=()=>s(t),r={side:t,props:{onClick:l,color:e.color}};return n==="error"?o.error?.(r):n==="empty"?o.empty?.(r)??g("div",null,[T(e.emptyText)]):e.mode==="manual"?n==="loading"?o.loading?.(r)??c(q,{indeterminate:!0,color:e.color},null):o["load-more"]?.(r)??c(G,{variant:"outlined",color:e.color,onClick:l},{default:()=>[T(e.loadMoreText)]}):o.loading?.(r)??c(q,{indeterminate:!0,color:e.color},null)}const{dimensionStyles:F}=D(e);A(()=>{const t=e.tag,n=e.side==="start"||e.side==="both",l=e.side==="end"||e.side==="both",r=e.mode==="intersect";return c(t,{ref:i,class:W(["v-infinite-scroll",`v-infinite-scroll--${e.direction}`,{"v-infinite-scroll--start":n,"v-infinite-scroll--end":l}]),style:H(F.value)},{default:()=>[g("div",{class:"v-infinite-scroll__side"},[M("start",a.value)]),n&&r&&c(x,{key:"start",side:"start",onIntersect:V,rootMargin:b.value},null),o.default?.(),l&&r&&c(x,{key:"end",side:"end",onIntersect:V,rootMargin:b.value},null),g("div",{class:"v-infinite-scroll__side"},[M("end",f.value)])]})});function P(t){const n=t??e.side;h(n,"ok"),v(()=>{n!=="end"&&m(u()-I+k()),e.mode!=="manual"&&v(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{n==="both"?(s("start"),s("end")):s(n)})})})})})}return{reset:P}}});export{Y as V};