music-assistant-frontend 2.17.15__py3-none-any.whl → 2.17.20__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of music-assistant-frontend might be problematic. Click here for more details.
- music_assistant_frontend/assets/About-Ba3VLBU-.css +1 -0
- music_assistant_frontend/assets/About-eW-4urJV.js +1 -0
- music_assistant_frontend/assets/{AddManualLink.vue_vue_type_script_setup_true_lang-DG4jP955.js → AddManualLink.vue_vue_type_script_setup_true_lang-DQP6MVZU.js} +1 -1
- music_assistant_frontend/assets/AddPlayerGroup-DrpKvGgv.js +1 -0
- music_assistant_frontend/assets/AddProviderDetails-CWS1vCiZ.js +1 -0
- music_assistant_frontend/assets/AlbumDetails-wRWGtQUA.js +1 -0
- music_assistant_frontend/assets/ArtistDetails-CR47rAMr.js +1 -0
- music_assistant_frontend/assets/{AudiobookDetails-BtzViAS0.js → AudiobookDetails-CE9gIq3Q.js} +1 -1
- music_assistant_frontend/assets/BrowseView-Cx_P4-_Y.js +1 -0
- music_assistant_frontend/assets/{Button-Da2w4xZe.js → Button-faGxxowY.js} +1 -1
- music_assistant_frontend/assets/{Container-vEyxubcK.js → Container-D5KFPVjs.js} +1 -1
- music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-Cad6HStr.js +1 -0
- music_assistant_frontend/assets/{Default-C8ExxF7E.css → Default-GVlZdAUf.css} +1 -1
- music_assistant_frontend/assets/Default-KyHEk5ZR.js +21 -0
- music_assistant_frontend/assets/EditConfig-B0XoDh_u.js +1 -0
- music_assistant_frontend/assets/{EditConfig-SyvCtrr0.css → EditConfig-TBO3lEGx.css} +1 -1
- music_assistant_frontend/assets/EditCoreConfig-DFyuSEd9.js +1 -0
- music_assistant_frontend/assets/EditPlayer-Cgs9ko95.js +1 -0
- music_assistant_frontend/assets/EditPlayerDsp-D98k0PKW.js +9 -0
- music_assistant_frontend/assets/EditProvider-CgzI4UVG.js +1 -0
- music_assistant_frontend/assets/FrontendConfig-B-B9Z2Vn.js +1 -0
- music_assistant_frontend/assets/HomeView-DFXlCmKt.js +1 -0
- music_assistant_frontend/assets/ItemsListing-BP5XXmLQ.js +1 -0
- music_assistant_frontend/assets/{ItemsListing-qc86ZllS.css → ItemsListing-DL5ZjBes.css} +1 -1
- music_assistant_frontend/assets/LibraryAlbums-BGHrSh_z.js +1 -0
- music_assistant_frontend/assets/LibraryArtists-rX5Sb_ET.js +1 -0
- music_assistant_frontend/assets/LibraryAudiobooks-BL7Qa-rV.js +1 -0
- music_assistant_frontend/assets/LibraryPlaylists-mtIVGJsc.js +1 -0
- music_assistant_frontend/assets/LibraryPodcasts-DFW7qn7z.js +1 -0
- music_assistant_frontend/assets/LibraryRadios-3VXOISsH.js +1 -0
- music_assistant_frontend/assets/LibraryTracks-D1kcnNYD.js +1 -0
- music_assistant_frontend/assets/{ListItem-CMI0ccXI.js → ListItem-DXTT8_G5.js} +1 -1
- music_assistant_frontend/assets/{MediaItemImages-CpqpuCtk.js → MediaItemImages-RwaXDWAp.js} +1 -1
- music_assistant_frontend/assets/MediaItemThumb-DYAHQAuC.js +1 -0
- music_assistant_frontend/assets/PanelviewItemCompact-BKBJxxoM.js +1 -0
- music_assistant_frontend/assets/PlayerCard-DdgZ3XZ5.js +1 -0
- music_assistant_frontend/assets/{Players-DbwqOQm4.js → Players-BelAvYKh.js} +1 -1
- music_assistant_frontend/assets/PlaylistDetails-Bf5e08Ep.js +1 -0
- music_assistant_frontend/assets/PodcastDetails-B8Mjw_8n.js +1 -0
- music_assistant_frontend/assets/{ProviderDetails.vue_vue_type_script_setup_true_lang-BvNkAPPj.js → ProviderDetails.vue_vue_type_script_setup_true_lang-CPN1bhCQ.js} +1 -1
- music_assistant_frontend/assets/Providers-BYVx_A_K.js +1 -0
- music_assistant_frontend/assets/RadioDetails-pOddxrkl.js +1 -0
- music_assistant_frontend/assets/Search-B6SlCk_7.js +1 -0
- music_assistant_frontend/assets/ServerLogs-BzVXmR6_.js +4 -0
- music_assistant_frontend/assets/ServerLogs-D16I7ozL.css +1 -0
- music_assistant_frontend/assets/{Settings-DgZgWYgS.css → Settings-CDWcSKlt.css} +1 -1
- music_assistant_frontend/assets/Settings-Cqw-X9OU.js +1 -0
- music_assistant_frontend/assets/SystemConfig-BKi5ffMS.css +1 -0
- music_assistant_frontend/assets/SystemConfig-BOdTwx9R.js +1 -0
- music_assistant_frontend/assets/Toolbar-B32L_M7G.js +1 -0
- music_assistant_frontend/assets/{Toolbar-DJx0b-Ea.css → Toolbar-CVFN8H4Z.css} +1 -1
- music_assistant_frontend/assets/TrackDetails-CkCm62Ec.js +1 -0
- music_assistant_frontend/assets/UserManagement-c_dhgxwj.js +1 -0
- music_assistant_frontend/assets/{UserProfile-2DGSt3Q4.js → UserProfile-CpcF98Ve.js} +1 -1
- music_assistant_frontend/assets/{VAlert-DfNKgxBR.js → VAlert-CFvRz3gu.js} +1 -1
- music_assistant_frontend/assets/VCheckboxBtn-B5wUW3kZ.js +1 -0
- music_assistant_frontend/assets/{VDialog-B7h8eW0m.js → VDialog-5KHkpnhE.js} +1 -1
- music_assistant_frontend/assets/{VExpansionPanels-cqvywsgH.js → VExpansionPanels-DboS79vY.js} +1 -1
- music_assistant_frontend/assets/{VForm-D2eK17M_.js → VForm-DDKxMAmn.js} +1 -1
- music_assistant_frontend/assets/{VInfiniteScroll-CBHSFC6_.js → VInfiniteScroll-DataCA15.js} +1 -1
- music_assistant_frontend/assets/{VSelect-cNIaLpz4.js → VSelect-VNw4nPSb.js} +1 -1
- music_assistant_frontend/assets/VSelectionControl-CCjz0Lnv.js +1 -0
- music_assistant_frontend/assets/{VSlider-Dt4jt2Zl.js → VSlider-Dcfg9Wg5.js} +1 -1
- music_assistant_frontend/assets/VSwitch-DQEiK9D_.js +1 -0
- music_assistant_frontend/assets/{VToolbar-DyyzvXAh.js → VToolbar-w3YLtQh8.js} +1 -1
- music_assistant_frontend/assets/VVirtualScroll-Cg5AQGzG.js +1 -0
- music_assistant_frontend/assets/{WidgetRow-CXYVjNw0.js → WidgetRow-CZHmyp7T.js} +1 -1
- music_assistant_frontend/assets/{index-BjdGY0D1.js → index-Dj6UKNsX.js} +35 -35
- music_assistant_frontend/assets/index-iTwi4kPx.css +1 -0
- music_assistant_frontend/assets/{marquee_text_sync-WzwJ--pH.js → marquee_text_sync-R3hHMfp7.js} +1 -1
- music_assistant_frontend/assets/open-home-foundation-logo-C7bc6Uqr.svg +22 -0
- music_assistant_frontend/assets/userPreferences-CpcwN_LW.js +1 -0
- music_assistant_frontend/index.html +2 -2
- music_assistant_frontend/sw.js +2 -2
- {music_assistant_frontend-2.17.15.dist-info → music_assistant_frontend-2.17.20.dist-info}/METADATA +1 -1
- music_assistant_frontend-2.17.20.dist-info/RECORD +145 -0
- music_assistant_frontend/assets/AddPlayerGroup-Bwk7pmNx.js +0 -1
- music_assistant_frontend/assets/AddProviderDetails-9el-oexz.js +0 -1
- music_assistant_frontend/assets/AlbumDetails-BxtRl2YX.js +0 -1
- music_assistant_frontend/assets/ArtistDetails-C15MPi-J.js +0 -1
- music_assistant_frontend/assets/BrowseView-DwddahrD.js +0 -1
- music_assistant_frontend/assets/CoreConfigs-BsI6FsWH.css +0 -1
- music_assistant_frontend/assets/CoreConfigs-D3Lk-7JE.js +0 -1
- music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-C6YdwidI.js +0 -1
- music_assistant_frontend/assets/Default-Br-juh2E.js +0 -21
- music_assistant_frontend/assets/EditConfig-BnGkC7Dx.js +0 -1
- music_assistant_frontend/assets/EditCoreConfig-CnIejyq9.js +0 -1
- music_assistant_frontend/assets/EditPlayer-DWbeXaJ5.js +0 -1
- music_assistant_frontend/assets/EditPlayerDsp-BFHS-0i1.js +0 -9
- music_assistant_frontend/assets/EditProvider-DaVXHsTj.js +0 -1
- music_assistant_frontend/assets/FrontendConfig-eR1Z1zGd.js +0 -1
- music_assistant_frontend/assets/HomeView-Dn-M1jTz.js +0 -1
- music_assistant_frontend/assets/ItemsListing-DsCHQduO.js +0 -1
- music_assistant_frontend/assets/LibraryAlbums-CHYwiQaW.js +0 -1
- music_assistant_frontend/assets/LibraryArtists-BdcWa4H2.js +0 -1
- music_assistant_frontend/assets/LibraryAudiobooks-DC0SIBx-.js +0 -1
- music_assistant_frontend/assets/LibraryPlaylists-AKjmGQHJ.js +0 -1
- music_assistant_frontend/assets/LibraryPodcasts-D8nYpNLG.js +0 -1
- music_assistant_frontend/assets/LibraryRadios-1GRC-OzJ.js +0 -1
- music_assistant_frontend/assets/LibraryTracks-p8Y13gW3.js +0 -1
- music_assistant_frontend/assets/MediaItemThumb-CMOvHHof.js +0 -1
- music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-B8G50Aza.js +0 -1
- music_assistant_frontend/assets/PanelviewItemCompact-C6DCjPZU.js +0 -1
- music_assistant_frontend/assets/PlayerCard-RpvQiENI.js +0 -1
- music_assistant_frontend/assets/PlaylistDetails-DhlSXFbi.js +0 -1
- music_assistant_frontend/assets/PodcastDetails-bqHu2VUs.js +0 -1
- music_assistant_frontend/assets/Providers-CgdTyZF0.js +0 -1
- music_assistant_frontend/assets/RadioDetails-BDJXF1Lf.js +0 -1
- music_assistant_frontend/assets/Search-BOjaQ4tl.js +0 -1
- music_assistant_frontend/assets/Settings-D8dH3JXV.js +0 -1
- music_assistant_frontend/assets/Toolbar-94EvSFT-.js +0 -1
- music_assistant_frontend/assets/TrackDetails-D-mFx3v3.js +0 -1
- music_assistant_frontend/assets/UserManagement-DqY36gSD.js +0 -1
- music_assistant_frontend/assets/VCheckboxBtn-B_ZAO1Qo.js +0 -1
- music_assistant_frontend/assets/VSwitch-CvtgmnVD.js +0 -1
- music_assistant_frontend/assets/VVirtualScroll-Ck3MSSZi.js +0 -1
- music_assistant_frontend/assets/index-DFqSLpsO.css +0 -1
- music_assistant_frontend-2.17.15.dist-info/RECORD +0 -139
- /music_assistant_frontend/assets/{VCheckboxBtn-CIeJsqfW.css → VSelectionControl-CIeJsqfW.css} +0 -0
- /music_assistant_frontend/assets/{NowPlayingBadge-Cm6AcKY5.css → userPreferences-Cm6AcKY5.css} +0 -0
- {music_assistant_frontend-2.17.15.dist-info → music_assistant_frontend-2.17.20.dist-info}/WHEEL +0 -0
- {music_assistant_frontend-2.17.15.dist-info → music_assistant_frontend-2.17.20.dist-info}/licenses/LICENSE +0 -0
- {music_assistant_frontend-2.17.15.dist-info → music_assistant_frontend-2.17.20.dist-info}/top_level.txt +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as P}from"./Button-
|
|
1
|
+
import{B as P}from"./Button-faGxxowY.js";import{C as U}from"./Container-D5KFPVjs.js";import{L as Y}from"./ListItem-DXTT8_G5.js";import{aw as T,J as I,aN as a,b9 as w,a4 as S,i as D,aP as d,L as F,ax as _,ay as r,o as i,aE as n,aG as o,az as g,aQ as z,ag as h,aF as E,M as x,ad as X,bf as k,aL as p,b2 as J,aC as W,aH as j,aT as R,aJ as M,aB as b,E as V,bp as A,cy as q,aM as H}from"./index-Dj6UKNsX.js";import{S as Q}from"./constants-CXMxJR4j.js";import{V as K}from"./VToolbar-w3YLtQh8.js";import"./index-kQIztB-E.js";const Z={style:{"margin-bottom":"10px"}},ee={class:"line-clamp-1"},te={class:"line-clamp-1"},pe=T({__name:"Players",setup(ae){const u=W(),l=I([]),L=a.subscribe_multi([w.PLAYER_CONFIG_UPDATED],()=>{y()});S(L);const v=D(()=>Object.values(a.providers).filter(e=>e.available&&(e.supported_features.includes(d.CREATE_GROUP_PLAYER)||e.supported_features.includes(d.SYNC_PLAYERS))).sort((e,t)=>(e.name||a.providerManifests[e.domain].name).toUpperCase()>(t.name||a.providerManifests[t.domain].name).toUpperCase()?1:-1)),y=async function(){l.value=(await a.getPlayerConfigs()).filter(e=>e.provider!="builtin_player").sort((e,t)=>c(e).localeCompare(c(t)))},B=function(e){a.removePlayer(e).then(()=>{l.value=l.value.filter(t=>t.player_id!=e)})},f=function(e,t){a.getProvider(t)&&u.push(`/settings/editplayer/${e}`)},N=function(e){u.push(`/settings/editplayer/${e}/dsp`)},$=function(e){u.push(`/settings/addgroup/${e.lookup_key}`)},C=function(e){const t=a.players[e];return t?t.type===A.GROUP?t.player_id.startsWith(Q)||a.getProvider(t.provider)?.supported_features.includes(d.REMOVE_GROUP_PLAYER):a.getProvider(t.provider)?.supported_features.includes(d.REMOVE_PLAYER):!0},G=function(e){e.enabled=!e.enabled,a.savePlayerConfig(e.player_id,{enabled:e.enabled})},c=function(e){return e.name||a.players[e.player_id]?.name||e.default_name||e.player_id},O=function(e,t){const s=[{label:"settings.configure",labelArgs:[],action:()=>{f(t.player_id,t.provider)},icon:"mdi-cog",disabled:!a.getProvider(t.provider)},{label:"open_dsp_settings",labelArgs:[],action:()=>{N(t.player_id)},icon:"mdi-equalizer",hide:a.players[t.player_id]?.type===A.GROUP},{label:t.enabled?"settings.disable":"settings.enable",labelArgs:[],action:()=>{G(t)},icon:"mdi-cancel",hide:!a.getProvider(t.provider)},{label:"settings.documentation",labelArgs:[],action:()=>{q(a.getProviderManifest(t.provider)?.documentation||"")},icon:"mdi-bookshelf",disabled:!a.getProviderManifest(t.provider)?.documentation},{label:"settings.delete",labelArgs:[],action:()=>{B(t.player_id)},icon:"mdi-delete",hide:!C(t.player_id)}];H.emit("contextmenu",{items:s,posX:e.clientX,posY:e.clientY})};return F(()=>a.players,e=>{e&&y()},{immediate:!0}),(e,t)=>(r(),_("div",Z,[i(K,{density:"compact",class:"titlebar",color:"transparent",style:{height:"55px"}},{title:n(()=>[k(p(e.$t("settings.players")),1)]),append:n(()=>[v.value.length>0?(r(),o(J,{key:0,scrim:""},{activator:n(({props:s})=>[i(x,X(s,{color:"accent",variant:"outlined"}),{default:n(()=>[k(p(e.$t("settings.add_group_player")),1)]),_:1},16)]),default:n(()=>[i(z,{density:"compact"},{default:n(()=>[(r(!0),_(h,null,E(v.value,s=>(r(),o(j,{key:s.domain,style:{"padding-top":"0","padding-bottom":"0","margin-bottom":"0"},title:s.name,onClick:m=>$(s)},{prepend:n(()=>[i(R,{domain:s.domain,size:26,class:"media-thumb",style:{"margin-left":"10px"}},null,8,["domain"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})):g("",!0)]),_:1}),i(U,null,{default:n(()=>[(r(!0),_(h,null,E(l.value,s=>(r(),o(Y,{key:s.player_id,"show-menu-btn":"",link:"",onMenu:m=>O(m,s),onClick:m=>f(s.player_id,s.provider)},{prepend:n(()=>[i(R,{domain:b(a).getProviderManifest(s.provider)?.domain||"",size:40,class:"listitem-media-thumb"},null,8,["domain"])]),title:n(()=>[V("div",ee,p(c(s)),1)]),subtitle:n(()=>[V("div",te,p(b(a).getProviderManifest(s.provider)?.name||s.provider),1)]),append:n(()=>[s.enabled?b(a).players[s.player_id]?.available?g("",!0):(r(),o(P,{key:1,icon:"",title:e.$t("settings.player_not_available")},{default:n(()=>[i(M,{icon:"mdi-timer-sand"})]),_:1},8,["title"])):(r(),o(P,{key:0,icon:"",title:e.$t("settings.player_disabled")},{default:n(()=>[i(M,{icon:"mdi-cancel"})]),_:1},8,["title"]))]),_:2},1032,["onMenu","onClick"]))),128))]),_:1})]))}});export{pe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as f}from"./ItemsListing-BP5XXmLQ.js";import{I as v,_ as y}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-CPN1bhCQ.js";import{aw as k,J as l,L as I,a3 as _,aN as r,b9 as h,a4 as b,ax as w,ay as i,o as g,aG as m,az as n,ag as D}from"./index-Dj6UKNsX.js";import"./Container-D5KFPVjs.js";import"./index-kQIztB-E.js";import"./Toolbar-B32L_M7G.js";import"./VToolbar-w3YLtQh8.js";import"./Button-faGxxowY.js";import"./ListItem-DXTT8_G5.js";import"./userPreferences-CpcwN_LW.js";import"./VCheckboxBtn-B5wUW3kZ.js";import"./VSelectionControl-CCjz0Lnv.js";import"./MediaItemThumb-DYAHQAuC.js";import"./PanelviewItemCompact-BKBJxxoM.js";import"./VInfiniteScroll-DataCA15.js";import"./VVirtualScroll-Cg5AQGzG.js";import"./VAlert-CFvRz3gu.js";import"./marquee_text_sync-R3hHMfp7.js";import"./VDialog-5KHkpnhE.js";const q=k({__name:"PlaylistDetails",props:{itemId:{},provider:{}},setup(p){const t=p,o=l(!1),e=l(),u=async function(){e.value=await r.getPlaylist(t.itemId,t.provider)};I(()=>t.itemId,a=>{a&&u()},{immediate:!0}),_(()=>{const a=r.subscribe(h.MEDIA_ITEM_UPDATED,s=>{const c=s.data;e.value?.uri==c.uri&&(o.value=!0)});b(a)});const d=async function(a){return await r.getPlaylistTracks(t.itemId,t.provider,a.refresh)};return(a,s)=>(i(),w(D,null,[g(v,{item:e.value},null,8,["item"]),e.value?(i(),m(f,{key:0,itemtype:"playlisttracks","parent-item":e.value,"show-provider":!1,"show-library":!1,"show-favorites-only-filter":!1,"show-track-number":!1,"show-refresh-button":!0,"load-items":d,"sort-keys":["position","position_desc","name","artist","album","duration","duration_desc"],"update-available":o.value,title:a.$t("playlist_tracks"),"allow-key-hooks":!0,path:`playlist.${t.itemId}.${t.provider}`,"restore-state":!0,"no-server-side-sorting":!0},null,8,["parent-item","update-available","title","path"])):n("",!0),e.value?(i(),m(y,{key:1,"item-details":e.value},null,8,["item-details"])):n("",!0)],64))}});export{q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as f,_ as v}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-CPN1bhCQ.js";import{I}from"./ItemsListing-BP5XXmLQ.js";import{aw as _,J as m,L as h,a3 as y,aN as o,b9 as b,a4 as w,ax as k,ay as s,o as E,aG as p,az as n,ag as g}from"./index-Dj6UKNsX.js";import"./Toolbar-B32L_M7G.js";import"./VToolbar-w3YLtQh8.js";import"./marquee_text_sync-R3hHMfp7.js";import"./MediaItemThumb-DYAHQAuC.js";import"./VDialog-5KHkpnhE.js";import"./Container-D5KFPVjs.js";import"./index-kQIztB-E.js";import"./ListItem-DXTT8_G5.js";import"./Button-faGxxowY.js";import"./userPreferences-CpcwN_LW.js";import"./VCheckboxBtn-B5wUW3kZ.js";import"./VSelectionControl-CCjz0Lnv.js";import"./PanelviewItemCompact-BKBJxxoM.js";import"./VInfiniteScroll-DataCA15.js";import"./VVirtualScroll-Cg5AQGzG.js";import"./VAlert-CFvRz3gu.js";const q=_({__name:"PodcastDetails",props:{itemId:{},provider:{}},setup(l){const e=l,i=m(!1),t=m(),d=async function(){t.value=await o.getPodcast(e.itemId,e.provider)};h(()=>e.itemId,a=>{a&&d()},{immediate:!0}),y(()=>{const a=o.subscribe(b.MEDIA_ITEM_UPDATED,r=>{const c=r.data;t.value?.uri==c.uri&&(i.value=!0)});w(a)});const u=async function(a){return await o.getPodcastEpisodes(e.itemId,e.provider)};return(a,r)=>(s(),k(g,null,[E(f,{item:t.value},null,8,["item"]),t.value?(s(),p(I,{key:0,itemtype:"podcastepisodes","parent-item":t.value,"show-provider":!1,"show-library":!1,"show-favorites-only-filter":!1,"show-track-number":!0,"show-refresh-button":!0,"load-items":u,"sort-keys":["position","position_desc","name","duration","duration_desc"],"update-available":i.value,title:a.$t("podcast_episodes"),"allow-key-hooks":!0,path:`podcast.${e.itemId}.${e.provider}`,"restore-state":!0,"no-server-side-sorting":!0},null,8,["parent-item","update-available","title","path"])):n("",!0),t.value?(s(),p(v,{key:1,"item-details":t.value},null,8,["item-details"])):n("",!0)],64))}});export{q as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as ee,p as te,bW as ie,bX as ae,n as ne,E as h,q as P,r as Z,bY as le,bZ as oe,C as se,aw as W,ax as r,ay as t,o as i,M as V,
|
|
1
|
+
import{g as ee,p as te,bW as ie,bX as ae,n as ne,E as h,q as P,r as Z,bY as le,bZ as oe,C as se,aw as W,ax as r,ay as t,o as i,M as V,aE as a,aJ as T,aI as re,aG as y,b6 as me,J as E,a8 as ue,L as de,i as R,b_ as ce,aO as F,br as U,bs as N,aQ as K,aB as f,az as d,bH as ye,aj as _,bC as fe,be as ge,bf as B,aL as m,bg as L,b$ as be,c0 as he,ad as ke,ag as z,aF as S,av as G,bo as ve,bb as j,aN as A,aT as O,c1 as xe,bT as pe,aC as $e,c2 as Ce,bI as we,c3 as Te,_ as Ve,c4 as Ie,aS as Le,aD as De,c5 as Be,b3 as Pe}from"./index-Dj6UKNsX.js";import{T as M}from"./Toolbar-B32L_M7G.js";import{M as D,a as Re}from"./marquee_text_sync-R3hHMfp7.js";import{M as X}from"./MediaItemThumb-DYAHQAuC.js";import{V as ze}from"./VDialog-5KHkpnhE.js";import{C as Se}from"./Container-D5KFPVjs.js";import{L as Q}from"./ListItem-DXTT8_G5.js";const Ae=te({...se(),...oe(),...le()},"VLayout"),He=ee()({name:"VLayout",props:Ae(),setup(e,c){let{slots:g}=c;const{layoutClasses:$,layoutStyles:b,getLayoutItem:C,items:I,layoutRef:k}=ie(e),{dimensionStyles:v}=ae(e);return ne(()=>h("div",{ref:k,class:Z([$.value,e.class]),style:P([v.value,b.value,e.style])},[g.default?.()])),{getLayoutItem:C,items:I}}}),Ue=W({__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 g=c;return($,b)=>(t(),r("div",{style:P(`width: ${e.width}px; height: 30px;`)},[i(V,{variant:"tonal",style:P(`
|
|
2
2
|
width: ${e.width}px;
|
|
3
3
|
position: absolute;
|
|
4
4
|
border: 1px solid #cccccc4d;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aw as ee,J as T,i as R,cl as f,aR as i,cC as A,L as F,ax as M,ay as m,o as s,E as g,bF as ie,aB as d,aG as C,az as X,M as k,aE as t,bf as p,aL as v,aJ as y,b2 as J,aD as O,ag as N,aF as q,aC as te,bB as de,aH as Y,aK as Q,bb as G,_ as se,aN as c,aQ as le,be as ne,c1 as H,av as W,bI as oe,aT as re,b9 as ue,a4 as ce,bN as pe,bO as ve,r as me,cy as fe,aP as ge,aM as _e}from"./index-Dj6UKNsX.js";import{C as he}from"./Container-D5KFPVjs.js";import{V as K}from"./VCheckboxBtn-B5wUW3kZ.js";import{M as Z}from"./index-kQIztB-E.js";import{V as be}from"./VDialog-5KHkpnhE.js";import{a as ye,V as Ce}from"./VAlert-CFvRz3gu.js";import"./VSelectionControl-CCjz0Lnv.js";const Pe={class:"filters-container"},ke={class:"d-flex ga-2 filter-buttons"},Ae=ee({__name:"ProviderFilters",props:{showStageFilter:{type:Boolean,default:!1}},emits:["update:search","update:types","update:stages"],setup(j,{emit:z}){const w=te(),_=de(),x=T(""),h=T([]),b=T([]);let P=null,$=null,L=null;const U=R(()=>[{title:i("settings.musicprovider"),value:f.MUSIC},{title:i("settings.playerprovider"),value:f.PLAYER},{title:i("settings.metadataprovider"),value:f.METADATA},{title:i("settings.pluginprovider"),value:f.PLUGIN}]),D=R(()=>[{title:i("settings.stage.options.stable"),value:A.STABLE},{title:i("settings.stage.options.beta"),value:A.BETA},{title:i("settings.stage.options.alpha"),value:A.ALPHA},{title:i("settings.stage.options.experimental"),value:A.EXPERIMENTAL},{title:i("settings.stage.options.unmaintained"),value:A.UNMAINTAINED},{title:i("settings.stage.options.deprecated"),value:A.DEPRECATED}]),I=z,S=function(u){const r=h.value.indexOf(u);r>-1?h.value.splice(r,1):h.value.push(u)},E=function(u){const r=b.value.indexOf(u);r>-1?b.value.splice(r,1):b.value.push(u)},B=function(){if(_.query.search&&(x.value=_.query.search),_.query.types){const u=_.query.types;h.value=u.split(",")}if(_.query.stages){const u=_.query.stages;b.value=u.split(",")}};return F(x,u=>{I("update:search",u),P&&clearTimeout(P),P=setTimeout(()=>{const r={..._.query};u?r.search=u:delete r.search,w.replace({query:r})},750)}),F(h,u=>{I("update:types",u),$&&clearTimeout($),$=setTimeout(()=>{const r={..._.query};u.length>0?r.types=u.join(","):delete r.types,w.replace({query:r})},750)},{deep:!0}),F(b,u=>{I("update:stages",u),L&&clearTimeout(L),L=setTimeout(()=>{const r={..._.query};u.length>0?r.stages=u.join(","):delete r.stages,w.replace({query:r})},750)},{deep:!0}),B(),(u,r)=>(m(),M("div",Pe,[s(ie,{modelValue:x.value,"onUpdate:modelValue":r[0]||(r[0]=l=>x.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"]),g("div",ke,[s(k,{height:"40",elevation:"0"},{default:t(()=>[p(v(d(i)("settings.provider_type"))+" ",1),s(y,{end:""},{default:t(()=>[...r[1]||(r[1]=[p("mdi-chevron-down",-1)])]),_:1}),s(J,{activator:"parent","close-on-content-click":!1},{default:t(()=>[s(O,null,{default:t(()=>[(m(!0),M(N,null,q(U.value,(l,n)=>(m(),C(Y,{key:n,value:n,onClick:e=>S(l.value)},{append:t(()=>[s(K,{"model-value":h.value.includes(l.value),onClick:G(e=>S(l.value),["stop"])},null,8,["model-value","onClick"])]),default:t(()=>[s(Q,null,{default:t(()=>[p(v(l.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),j.showStageFilter?(m(),C(k,{key:0,height:"40",elevation:"0"},{default:t(()=>[p(v(d(i)("settings.stage.label"))+" ",1),s(y,{end:""},{default:t(()=>[...r[2]||(r[2]=[p("mdi-chevron-down",-1)])]),_:1}),s(J,{activator:"parent","close-on-content-click":!1},{default:t(()=>[s(O,null,{default:t(()=>[(m(!0),M(N,null,q(D.value,(l,n)=>(m(),C(Y,{key:n,value:n,onClick:e=>E(l.value)},{append:t(()=>[s(K,{"model-value":b.value.includes(l.value),onClick:G(e=>E(l.value),["stop"])},null,8,["model-value","onClick"])]),default:t(()=>[s(Q,null,{default:t(()=>[p(v(l.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})):X("",!0)])]))}}),we=se(Ae,[["__scopeId","data-v-730d2954"]]),xe={class:"text-h6"},Te={class:"d-flex ga-2 filter-buttons"},Ee={class:"provider-list-container"},Ve={class:"provider-name"},Me={class:"provider-description"},$e={class:"d-flex align-center ga-2"},Le={key:1,class:"empty-state"},Ie={class:"empty-title"},Ne={class:"empty-message"},ze=ee({__name:"AddProviderDialog",props:{show:{type:Boolean,default:!1}},emits:["update:show"],setup(j,{emit:z}){const w=z,_=te(),x=T([]),h=T(""),b=T([]),P=T([]),$=R(()=>[{title:i("settings.musicprovider"),value:f.MUSIC},{title:i("settings.playerprovider"),value:f.PLAYER},{title:i("settings.metadataprovider"),value:f.METADATA},{title:i("settings.pluginprovider"),value:f.PLUGIN}]),L=R(()=>[{title:i("settings.stage.options.stable"),value:A.STABLE},{title:i("settings.stage.options.beta"),value:A.BETA},{title:i("settings.stage.options.alpha"),value:A.ALPHA},{title:i("settings.stage.options.experimental"),value:A.EXPERIMENTAL},{title:i("settings.stage.options.unmaintained"),value:A.UNMAINTAINED},{title:i("settings.stage.options.deprecated"),value:A.DEPRECATED}]),U=R(()=>{let l=Object.values(c.providerManifests);return l=l.filter(n=>!n.builtin&&n.type!=="core"),l.filter(n=>n.multi_instance||!x.value.find(e=>e.domain==n.domain)).sort((n,e)=>{const a=(n.name||c.providerManifests[n.domain].name).toUpperCase(),o=(e.name||c.providerManifests[e.domain].name).toUpperCase();return a>o?1:-1})}),D=R(()=>{let l=U.value;if(h.value){const n=h.value.toLowerCase();l=l.filter(e=>e.name.toLowerCase().includes(n)||e.description.toLowerCase().includes(n))}return b.value.length>0&&(l=l.filter(n=>b.value.includes(n.type))),P.value.length>0&&(l=l.filter(n=>P.value.includes(n.stage))),l}),I=async function(){x.value=await c.getProviderConfigs()},S=function(l){if(l.depends_on&&!c.getProvider(l.depends_on)){const n=c.getProviderName(l.depends_on);confirm(i("settings.provider_depends_on_confirm",[l.name,n]))&&_.push(`/settings/addprovider/${l.depends_on}`);return}_.push(`/settings/addprovider/${l.domain}`),r()},E=function(l){const n=b.value.indexOf(l);n>-1?b.value.splice(n,1):b.value.push(l)},B=function(l){const n=P.value.indexOf(l);n>-1?P.value.splice(n,1):P.value.push(l)},u=function(l){return Z(l).with("stable",()=>"green").with("beta",()=>"blue").with("alpha",()=>"purple").with("experimental",()=>"orange").with("unmaintained",()=>"grey").with("deprecated",()=>"red").otherwise(()=>"green")},r=function(){w("update:show",!1)};return F(()=>c.providers,l=>{l&&I()},{immediate:!0}),(l,n)=>(m(),C(be,{"model-value":j.show,"max-width":"800px",scrollable:"","onUpdate:modelValue":n[1]||(n[1]=e=>{d(W).dialogActive=e,w("update:show",e)})},{default:t(()=>[s(le,{class:"add-provider-dialog"},{default:t(()=>[s(ne,{class:"d-flex align-center justify-space-between pa-4"},{default:t(()=>[g("span",xe,v(d(i)("settings.add_provider")),1),s(k,{icon:"mdi-close",variant:"text",size:"small",onClick:r})]),_:1}),s(H,{class:"pa-4 pb-2"},{default:t(()=>[s(ie,{modelValue:h.value,"onUpdate:modelValue":n[0]||(n[0]=e=>h.value=e),"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(H,{class:"pa-4 pt-2 pb-2"},{default:t(()=>[g("div",Te,[s(k,{height:"40",elevation:"0",variant:"outlined",density:"compact"},{default:t(()=>[p(v(d(i)("settings.provider_type"))+" ",1),s(y,{end:""},{default:t(()=>[...n[2]||(n[2]=[p("mdi-chevron-down",-1)])]),_:1}),s(J,{activator:"parent","close-on-content-click":!1},{default:t(()=>[s(O,null,{default:t(()=>[(m(!0),M(N,null,q($.value,(e,a)=>(m(),C(Y,{key:a,value:a,onClick:o=>E(e.value)},{append:t(()=>[s(K,{"model-value":b.value.includes(e.value),onClick:G(o=>E(e.value),["stop"])},null,8,["model-value","onClick"])]),default:t(()=>[s(Q,null,{default:t(()=>[p(v(e.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),s(k,{height:"40",elevation:"0",variant:"outlined",density:"compact"},{default:t(()=>[p(v(d(i)("settings.stage.label"))+" ",1),s(y,{end:""},{default:t(()=>[...n[3]||(n[3]=[p("mdi-chevron-down",-1)])]),_:1}),s(J,{activator:"parent","close-on-content-click":!1},{default:t(()=>[s(O,null,{default:t(()=>[(m(!0),M(N,null,q(L.value,(e,a)=>(m(),C(Y,{key:a,value:a,onClick:o=>B(e.value)},{append:t(()=>[s(K,{"model-value":P.value.includes(e.value),onClick:G(o=>B(e.value),["stop"])},null,8,["model-value","onClick"])]),default:t(()=>[s(Q,null,{default:t(()=>[p(v(e.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})])]),_:1}),s(H,{class:"pa-4 pt-2"},{default:t(()=>[g("div",Ee,[D.value.length>0?(m(),C(O,{key:0,class:"provider-list"},{default:t(()=>[(m(!0),M(N,null,q(D.value,e=>(m(),C(Y,{key:e.domain,style:{padding:"0"},class:"provider-item",rounded:"lg",onClick:a=>S(e)},{prepend:t(()=>[s(re,{domain:e.domain,size:40,class:"provider-icon"},null,8,["domain"])]),title:t(()=>[g("div",Ve,v(e.name),1)]),subtitle:t(()=>[g("div",Me,v(e.description),1)]),append:t(()=>[g("div",$e,[s(oe,{size:"x-small",variant:"flat",class:"text-uppercase",color:u(e.stage)},{default:t(()=>[p(v(d(i)(String(e.stage||"").toLowerCase())),1)]),_:2},1032,["color"]),s(y,{icon:"mdi-chevron-right",size:"small"})])]),_:2},1032,["onClick"]))),128))]),_:1})):(m(),M("div",Le,[s(y,{icon:"mdi-magnify",size:"48",class:"empty-icon"}),g("div",Ie,v(d(i)("no_content")),1),g("div",Ne,v(d(i)("no_content_filter")),1)]))])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Ue=se(ze,[["__scopeId","data-v-520c5c4c"]]),De={class:"text-body-1"},Se={class:"mb-2"},Be={class:"onboarding-list ml-4"},Re={class:"providers-header w-100"},qe={class:"pl-5 font-weight-medium"},Fe=ee({__name:"Providers",setup(j){const z=te(),w=T([]),_=T(""),x=T([]),h=T(!1),b=c.subscribe(ue.PROVIDERS_UPDATED,()=>{P()});ce(b);const P=async function(){w.value=await c.getProviderConfigs()},$=function(){W.isOnboarding=!1},L=function(e){c.removeProviderConfig(e),w.value=w.value.filter(a=>a.instance_id!=e)},U=function(e){z.push(`/settings/editprovider/${e}`)},D=function(e){e.enabled=!e.enabled,c.saveProviderConfig(e.domain,{enabled:e.enabled},e.instance_id)},I=function(e){c.sendCommand("config/providers/reload",{instance_id:e}).catch(a=>alert(a))},S=function(e,a){const o=c.providerManifests[a.domain],V=c.getProvider(a.instance_id),ae=[{label:"settings.configure",labelArgs:[],action:()=>{U(a.instance_id)},icon:"mdi-cog"},{label:a.enabled?"settings.disable":"settings.enable",labelArgs:[],action:()=>{D(a)},icon:"mdi-cancel",disabled:!o.allow_disable},{label:"settings.documentation",labelArgs:[],action:()=>{fe(o.documentation)},icon:"mdi-bookshelf",disabled:!o.documentation},{label:"settings.sync",labelArgs:[],action:()=>{c.startSync(void 0,[a.instance_id])},icon:"mdi-sync",hide:!V?.available||a.type!=f.MUSIC},{label:"settings.delete",labelArgs:[],action:()=>{L(a.instance_id)},icon:"mdi-delete",hide:o.builtin},{label:"settings.reload",labelArgs:[],action:()=>{I(a.instance_id)},icon:"mdi-refresh"}];V?.available&&V.supported_features.includes(ge.CREATE_GROUP_PLAYER)&&ae.push({label:"settings.add_group_player",labelArgs:[],action:()=>{z.push(`/settings/addgroup/${V.lookup_key}`)},icon:"mdi-speaker-multiple"}),_e.emit("contextmenu",{items:ae,posX:e.clientX,posY:e.clientY})};F(()=>c.providers,e=>{e&&P()},{immediate:!0});const E=function(e){const a=c.providerManifests[e.domain].name;if(e.name)return`${a} [${e.name}]`;const o=c.getProvider(e.instance_id);return o&&o.instance_name_postfix?`${a} [${o.instance_name_postfix}]`:a},B=function(e){return e&&e.length>150},u=function(e){return Z(e).with("stable",()=>"green").with("beta",()=>"blue").with("alpha",()=>"purple").with("experimental",()=>"orange").with("unmaintained",()=>"grey").with("deprecated",()=>"red").otherwise(()=>"green")},r=function(e){return Z(e).with(f.MUSIC,()=>i("settings.music")).with(f.PLAYER,()=>i("settings.player")).with(f.METADATA,()=>i("settings.metadata")).with(f.PLUGIN,()=>i("settings.plugin")).otherwise(()=>i("settings.player"))},l=function(e){return{[f.MUSIC]:"mdi-music",[f.PLAYER]:"mdi-speaker",[f.METADATA]:"mdi-file-code",[f.PLUGIN]:"mdi-puzzle"}[e]||"mdi-help-circle"},n=function(){let e=[...w.value];if(_.value){const a=_.value.toLowerCase();e=e.filter(o=>E(o).toLowerCase().includes(a))}return x.value.length>0&&(e=e.filter(a=>x.value.includes(a.type))),e.sort((a,o)=>E(a).localeCompare(E(o)))};return(e,a)=>(m(),M(N,null,[d(W).isOnboarding?(m(),C(Ce,{key:0,type:"info",variant:"tonal",closable:"",class:"mx-5 mt-4","onClick:close":$},{default:t(()=>[s(ye,{class:"text-h6 mb-2"},{default:t(()=>[p(v(d(i)("settings.onboarding_title")),1)]),_:1}),g("div",De,[g("p",Se,v(d(i)("settings.onboarding_message")),1),g("ul",Be,[g("li",null,[s(y,{icon:"mdi-speaker",size:"small",class:"mr-2"}),p(" "+v(d(i)("settings.onboarding_players")),1)]),g("li",null,[s(y,{icon:"mdi-music",size:"small",class:"mr-2"}),p(" "+v(d(i)("settings.onboarding_music")),1)]),g("li",null,[s(y,{icon:"mdi-puzzle",size:"small",class:"mr-2"}),p(" "+v(d(i)("settings.onboarding_plugins")),1)])])])]),_:1})):X("",!0),g("div",Re,[s(we,{"onUpdate:search":a[0]||(a[0]=o=>_.value=o),"onUpdate:types":a[1]||(a[1]=o=>x.value=o)}),s(k,{color:"primary",variant:"outlined",height:"40",class:"add-provider-btn",onClick:a[2]||(a[2]=o=>h.value=!0)},{default:t(()=>[p(v(d(i)("settings.add_provider")),1)]),_:1})]),g("div",qe,v(d(i)("settings.providers_total",[n().length,n().length>1?"s":""])),1),s(he,{variant:"comfortable",class:"mt-4"},{default:t(()=>[s(pe,null,{default:t(()=>[(m(!0),M(N,null,q(n(),o=>(m(),C(ve,{key:o.instance_id,cols:"12",md:"6",lg:"4",class:"d-flex"},{default:t(()=>[s(le,{class:"flex-fill rounded-lg","min-height":"200px",onClick:V=>U(o.instance_id)},{prepend:t(()=>[s(re,{domain:o.domain,size:50,class:"listitem-media-thumb",style:{"margin-top":"5px","margin-bottom":"5px"}},null,8,["domain"])]),append:t(()=>[d(c).syncTasks.value.filter(V=>V.provider_instance==o.instance_id).length>0?(m(),C(k,{key:0,variant:"text",size:"small",icon:"",title:d(i)("settings.sync_running")},{default:t(()=>[s(y,{color:"grey"},{default:t(()=>[...a[4]||(a[4]=[p(" mdi-sync ",-1)])]),_:1})]),_:1},8,["title"])):X("",!0),o.enabled?o.last_error?(m(),C(k,{key:2,variant:"text",size:"small",icon:"",title:o.last_error},{default:t(()=>[s(y,{color:"red"},{default:t(()=>[...a[6]||(a[6]=[p(" mdi-alert-circle ",-1)])]),_:1})]),_:1},8,["title"])):d(c).providers[o.instance_id]?.available?X("",!0):(m(),C(k,{key:3,variant:"text",size:"small",icon:"",title:d(i)("settings.not_loaded")},{default:t(()=>[s(y,{icon:"mdi-timer-sand"})]),_:1},8,["title"])):(m(),C(k,{key:1,variant:"text",size:"small",icon:"",title:d(i)("settings.provider_disabled")},{default:t(()=>[s(y,{color:"grey"},{default:t(()=>[...a[5]||(a[5]=[p(" mdi-cancel ",-1)])]),_:1})]),_:1},8,["title"])),s(k,{variant:"text",size:"small",icon:"",title:r(o.type)},{default:t(()=>[s(y,{icon:l(o.type)},null,8,["icon"])]),_:2},1032,["title"]),s(oe,{size:"x-small",variant:"flat",class:"mx-1 text-uppercase",color:u(d(c).providerManifests[o.domain]?.stage)},{default:t(()=>[p(v(d(i)(String(d(c).providerManifests[o.domain]?.stage||"").toLowerCase())),1)]),_:2},1032,["color"]),s(k,{icon:"mdi-dots-vertical",size:"small",variant:"text",onClick:G(V=>S(V,o),["stop"])},null,8,["onClick"])]),default:t(()=>[s(ne,null,{default:t(()=>[p(v(E(o)),1)]),_:2},1024),s(H,{class:me(["provider-description",{"truncated-text":B(d(c).providerManifests[o.domain].description)}])},{default:t(()=>[p(v(d(c).providerManifests[o.domain].description),1)]),_:2},1032,["class"])]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1})]),_:1}),s(Ue,{show:h.value,"onUpdate:show":a[3]||(a[3]=o=>h.value=o)},null,8,["show"])],64))}}),Qe=se(Fe,[["__scopeId","data-v-eb6e0110"]]);export{Qe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as c}from"./ItemsListing-BP5XXmLQ.js";import{I as f,_ as v}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-CPN1bhCQ.js";import{aw as h,J as y,L as w,ax as I,ay as s,o as V,aG as m,az as l,E as g,aN as n,bV as k}from"./index-Dj6UKNsX.js";import"./Container-D5KFPVjs.js";import"./index-kQIztB-E.js";import"./Toolbar-B32L_M7G.js";import"./VToolbar-w3YLtQh8.js";import"./Button-faGxxowY.js";import"./ListItem-DXTT8_G5.js";import"./userPreferences-CpcwN_LW.js";import"./VCheckboxBtn-B5wUW3kZ.js";import"./VSelectionControl-CCjz0Lnv.js";import"./MediaItemThumb-DYAHQAuC.js";import"./PanelviewItemCompact-BKBJxxoM.js";import"./VInfiniteScroll-DataCA15.js";import"./VVirtualScroll-Cg5AQGzG.js";import"./VAlert-CFvRz3gu.js";import"./marquee_text_sync-R3hHMfp7.js";import"./VDialog-5KHkpnhE.js";const q=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)};w(()=>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(),I("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{q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as A}from"./Container-D5KFPVjs.js";import{I}from"./ItemsListing-BP5XXmLQ.js";import{T as L}from"./Toolbar-B32L_M7G.js";import{W as c}from"./WidgetRow-CZHmyp7T.js";import{aw as V,J as p,L as y,a3 as B,av as t,a4 as C,ax as g,ay as i,o as m,aE as b,aG as n,az as d,bF as O,aB as l,bG as R,ag as P,aF as U,aO as r,bH as K,bI as D,aN as F}from"./index-Dj6UKNsX.js";import{u as E}from"./userPreferences-CpcwN_LW.js";import"./index-kQIztB-E.js";import"./Button-faGxxowY.js";import"./ListItem-DXTT8_G5.js";import"./MediaItemThumb-DYAHQAuC.js";import"./PanelviewItemCompact-BKBJxxoM.js";import"./VInfiniteScroll-DataCA15.js";import"./VVirtualScroll-Cg5AQGzG.js";import"./VAlert-CFvRz3gu.js";import"./VToolbar-w3YLtQh8.js";import"./VCheckboxBtn-B5wUW3kZ.js";import"./VSelectionControl-CCjz0Lnv.js";const M={key:1},G={key:2},oe=V({__name:"Search",setup(N){const v=p(!1),a=p(),s=p(!1),f=p(),{getPreference:S,setPreference:k}=E();y(()=>t.globalSearchTerm,()=>{clearTimeout(f.value),f.value=setTimeout(()=>{h(t.globalSearchTerm,t.globalSearchType)},1e3)},{immediate:!0}),y(()=>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,$=u?[u]:void 0;e?a.value=await F.search(e,$,o):a.value=void 0,s.value=!1};B(()=>{if(!t.globalSearchTerm){const e=S("globalSearch");e&&e!=="null"&&(t.globalSearchTerm=e)}});const w=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",w),C(()=>{document.removeEventListener("keyup",w)});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(),g("section",null,[m(L,{icon:"mdi-magnify",title:e.$t("global_search")},null,8,["title"]),m(A,{variant:"default"},{default:b(()=>[m(O,{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),g(P,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(D,{key:o,text:e.$t(o?o+"s":"searchtype_all"),value:o},null,8,["text","value"]))),128))]),_:1},8,["modelValue"]),s.value?(i(),n(K,{key:0,color:"accent",height:"4",indeterminate:"",rounded:"",style:{"margin-top":"15px"}})):d("",!0),l(t).globalSearchType?s.value?d("",!0):(i(),g("div",G,[m(I,{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(),g("div",M,[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,4 @@
|
|
|
1
|
+
import{C as E}from"./Container-D5KFPVjs.js";import{aw as I,J as r,i as b,L as B,a3 as S,b4 as N,aG as R,ay as f,aE as n,o as a,be as z,E as v,bU as j,M as V,bf as y,aL as i,aS as D,c1 as F,ax as _,az as x,b6 as J,aJ as M,aQ as O,aN as C,R as A,_ as G}from"./index-Dj6UKNsX.js";import{V as H}from"./VSwitch-DQEiK9D_.js";import{V as P}from"./VAlert-CFvRz3gu.js";import"./index-kQIztB-E.js";import"./VSelectionControl-CCjz0Lnv.js";const Q={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"},W={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=I({__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&&A(()=>{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(`${C.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)},$=async()=>{try{const t=await(await fetch(`${C.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 B(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)=>(f(),R(E,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(()=>[v("div",Q,[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"}),v("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:$},{default:n(()=>[y(i(e.$t("settings.download_log")),1)]),_:1})])])]),_:1}),a(D),a(F,{class:"pa-0"},{default:n(()=>[m.value?(f(),_("div",K,[a(J,{indeterminate:"",color:"primary"}),v("div",W,i(e.$t("loading")),1)])):d.value?(f(),_("div",X,[a(M,{icon:"mdi-alert-circle",color:"error",size:"48",class:"mb-4"}),v("div",Y,i(d.value),1)])):L.value?(f(),_("div",Z,[a(P,{type:"info",variant:"tonal"},{default:n(()=>[y(i(e.$t("settings.log_truncated",[h])),1)]),_:1})])):x("",!0),!m.value&&!d.value?(f(),_("div",{key:3,ref_key:"logContainer",ref:u,class:"log-container"},[v("pre",ee,i(k.value),1)],512)):x("",!0)]),_:1})]),_:1})]),_:1}))}}),ce=G(te,[["__scopeId","data-v-30a4366c"]]);export{ce 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}}
|
|
@@ -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-
|
|
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-357c80c4]{padding:24px;max-width:800px;margin:0 auto}.settings-main-card[data-v-357c80c4]{overflow:hidden}.settings-list[data-v-357c80c4]{padding:0}.settings-list-item[data-v-357c80c4]{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-357c80c4]:last-child{border-bottom:none}.settings-list-item[data-v-357c80c4]:hover{background-color:rgba(var(--v-theme-on-surface),.05)}.settings-list-item[data-v-357c80c4] .v-list-item__prepend{margin-right:16px}.v-avatar[data-v-357c80c4]{box-shadow:0 2px 8px #00000026}@media (max-width: 600px){.settings-list-item[data-v-357c80c4]{padding:12px 16px;min-height:64px}.settings-list-item[data-v-357c80c4] .v-list-item__prepend{margin-right:12px}.settings-list-item[data-v-357c80c4] .v-avatar{width:40px!important;height:40px!important}.settings-list-item[data-v-357c80c4] .v-list-item-title{font-size:1rem!important;line-height:1.3}.settings-list-item[data-v-357c80c4] .v-list-item-subtitle{font-size:.813rem!important;line-height:1.3}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as A}from"./Container-D5KFPVjs.js";import{T as z}from"./Toolbar-B32L_M7G.js";import{g as B,p as S,n as w,E as k,q as I,r as D,C as P,cv as $,i as p,al as E,o as r,ad as O,x as T,cw as F,c as Q,d as q,f as G,m as H,t as _,z as J,B as K,cx as U,aJ as V,ak as W,ag as x,aw as X,bL as j,bw as Y,aC as Z,aN as m,ax as L,ay as v,aG as h,aI as ee,aE as o,M as te,aB as C,cy as se,aS as ae,aD as ie,aF as ne,aQ as re,aX as oe,aW as le,aH as de,aK as ue,bf as M,aL as R,bQ as ce,bC as me,_ as pe}from"./index-Dj6UKNsX.js";import{M as ve}from"./index-kQIztB-E.js";import"./VToolbar-w3YLtQh8.js";const ge=S({divider:[Number,String],...P()},"VBreadcrumbsDivider"),fe=B()({name:"VBreadcrumbsDivider",props:ge(),setup(e,l){let{slots:t}=l;return w(()=>k("li",{"aria-hidden":"true",class:D(["v-breadcrumbs-divider",e.class]),style:I(e.style)},[t?.default?.()??e.divider])),{}}}),be=S({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...P(),...F(),...T({tag:"li"})},"VBreadcrumbsItem"),ye=B()({name:"VBreadcrumbsItem",props:be(),setup(e,l){let{slots:t,attrs:g}=l;const c=$(e,g),u=p(()=>e.active||c.isActive?.value),{textColorClasses:f,textColorStyles:b}=E(()=>u.value?e.activeColor:e.color);return w(()=>r(e.tag,{class:D(["v-breadcrumbs-item",{"v-breadcrumbs-item--active":u.value,"v-breadcrumbs-item--disabled":e.disabled,[`${e.activeClass}`]:u.value&&e.activeClass},f.value,e.class]),style:I([b.value,e.style]),"aria-current":u.value?"page":void 0},{default:()=>[c.isLink.value?k("a",O({class:"v-breadcrumbs-item--link",onClick:c.navigate},c.linkProps),[t.default?.()??e.title]):t.default?.()??e.title]})),{}}}),_e=S({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:"/"},icon:U,items:{type:Array,default:()=>[]},...P(),...K(),...J(),...T({tag:"ul"})},"VBreadcrumbs"),Ce=B()({name:"VBreadcrumbs",props:_e(),setup(e,l){let{slots:t}=l;const{backgroundColorClasses:g,backgroundColorStyles:c}=Q(()=>e.bgColor),{densityClasses:u}=q(e),{roundedClasses:f}=G(e);H({VBreadcrumbsDivider:{divider:_(()=>e.divider)},VBreadcrumbsItem:{activeClass:_(()=>e.activeClass),activeColor:_(()=>e.activeColor),color:_(()=>e.color),disabled:_(()=>e.disabled)}});const b=p(()=>e.items.map(d=>typeof d=="string"?{item:{title:d},raw:d}:{item:d,raw:d}));return w(()=>{const d=!!(t.prepend||e.icon);return r(e.tag,{class:D(["v-breadcrumbs",g.value,u.value,f.value,e.class]),style:I([c.value,e.style])},{default:()=>[d&&k("li",{key:"prepend",class:"v-breadcrumbs__prepend"},[t.prepend?r(W,{key:"prepend-defaults",disabled:!e.icon,defaults:{VIcon:{icon:e.icon,start:!0}}},t.prepend):r(V,{key:"prepend-icon",start:!0,icon:e.icon},null)]),b.value.map((n,i,a)=>{let{item:s,raw:y}=n;return k(x,null,[t.item?.({item:s,index:i})??r(ye,O({key:i,disabled:i>=a.length-1},typeof s=="string"?{title:s}:s),{default:t.title?()=>t.title?.({item:s,index:i}):void 0}),i<a.length-1&&r(fe,null,{default:t.divider?()=>t.divider?.({item:y,index:i}):void 0})])}),t.default?.()]})}),{}}}),he=X({__name:"Settings",setup(e){const l=Z(),{t}=j(),g=[{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:"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}],c=p(()=>{const n=Y.isAdmin();return g.filter(i=>!i.adminOnly||n)}),u=p(()=>l.currentRoute.value.name==="settings"),f=p(()=>{const n=l.currentRoute.value.name?.toString()||"";return n==="profile"?"profile":n.includes("player")?"players":n.includes("system")||n.includes("core")||n.includes("serverlog")?"system":n.includes("frontend")?"frontend":n.includes("user")?"users":n.includes("about")?"about":"providers"}),b=p(()=>{const n=l.currentRoute.value,i=n.name?.toString()||"",a=[{title:t("settings.settings"),disabled:!1,href:"#",to:{name:"settings"}}];if(!u.value){const s=f.value;s==="profile"?a.push({title:t("auth.profile"),disabled:i==="profile",to:{name:"profile"}}):s==="players"?a.push({title:t("settings.players"),disabled:i==="playersettings",to:{name:"playersettings"}}):s==="system"?a.push({title:t("settings.system"),disabled:i==="systemsettings",to:{name:"systemsettings"}}):s==="frontend"?a.push({title:t("settings.frontend"),disabled:i==="frontendsettings",to:{name:"frontendsettings"}}):s==="users"?a.push({title:t("settings.users"),disabled:i==="usersettings",to:{name:"usersettings"}}):s==="providers"?a.push({title:t("settings.providers"),disabled:i==="providersettings",to:{name:"providersettings"}}):s==="about"&&a.push({title:t("settings.about"),disabled:i==="aboutsettings",to:{name:"aboutsettings"}})}return ve(i).with("addproviderdetails",()=>{a.push({title:t("settings.setup_provider",[n.params.domain||""]),disabled:!0})}).with("editprovider",()=>{a.push({title:t("settings.edit_provider",[n.params.instanceId||""]),disabled:!0})}).with("addgroup",()=>{a.push({title:t("settings.add_group_player"),disabled:!0})}).with("editplayer",()=>{a.push({title:t("settings.player_settings"),disabled:!0})}).with("editcore",()=>{const s=n.params.domain,y=t(`settings.core_module.${s}.name`),N=y!==`settings.core_module.${s}.name`?y:m.providerManifests[s]?.name||s;a.push({title:N,disabled:!0})}).with("serverlogs",()=>{a.push({title:t("settings.server_logging"),disabled:!0})}).otherwise(()=>{}),a}),d=p(()=>{const n=l.currentRoute.value,i=n.name?.toString()||"";if(i==="editcore"){const a=n.params.domain;if(a&&m.providerManifests[a])return m.providerManifests[a].documentation||null}else if(i==="editprovider"){const a=n.params.instanceId;if(a){const s=m.getProvider(a);if(s&&m.providerManifests[s.domain])return m.providerManifests[s.domain].documentation||null}}else if(i==="addproviderdetails"){const a=n.params.domain;if(a&&m.providerManifests[a])return m.providerManifests[a].documentation||null}return null});return(n,i)=>{const a=le("router-view");return v(),L("div",null,[r(z,{icon:"mdi-cog-outline","show-loading":!0},ee({title:o(()=>[r(Ce,{items:b.value,class:"pa-0"},null,8,["items"])]),_:2},[d.value?{name:"append",fn:o(()=>[r(te,{icon:"mdi-help-circle",variant:"text",title:C(t)("settings.view_documentation"),onClick:i[0]||(i[0]=s=>C(se)(d.value))},null,8,["title"])]),key:"0"}:void 0]),1024),r(ae),u.value?(v(),h(A,{key:0,variant:"comfortable",class:"settings-overview"},{default:o(()=>[r(re,{class:"settings-main-card"},{default:o(()=>[r(ie,{class:"settings-list"},{default:o(()=>[(v(!0),L(x,null,ne(c.value,s=>(v(),h(de,{key:s.name,ripple:!0,class:"settings-list-item",onClick:y=>C(l).push(s.route)},{prepend:o(()=>[r(me,{color:s.color,size:"48"},{default:o(()=>[r(V,{icon:s.icon,size:"24",color:"white"},null,8,["icon"])]),_:2},1032,["color"])]),append:o(()=>[r(V,{icon:"mdi-chevron-right"})]),default:o(()=>[r(ue,{class:"text-h6"},{default:o(()=>[M(R(C(t)(s.label)),1)]),_:2},1024),r(ce,null,{default:o(()=>[M(R(C(t)(s.description)),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]),_:1})):(v(),h(a,{key:1,app:""},{default:o(({Component:s})=>[(v(),h(oe(s)))]),_:1}))])}}}),Ie=pe(he,[["__scopeId","data-v-357c80c4"]]);export{Ie as default};
|
|
@@ -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 w}from"./Container-D5KFPVjs.js";import{aw as z,bL as M,J as S,i as B,aN as o,a3 as N,aG as u,ay as r,aE as e,o as a,aD as T,ax as f,aF as _,ag as C,aQ as D,aC as E,aH as v,aK as h,bf as l,aL as c,bQ as k,az as F,aJ as d,bC as x,aT as J,aB as y,_ as Q}from"./index-Dj6UKNsX.js";import"./index-kQIztB-E.js";const A=z({__name:"SystemConfig",setup(G){const m=E(),{t:i}=M(),p=S([]),V=[{domain:"logging",name:"settings.system_logging",description:"settings.system_logging_description",icon:"mdi-text-box-search",route:"/settings/serverlogs"}],I=B(()=>[...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 N(async()=>{p.value=await o.getCoreConfigs()}),(t,n)=>(r(),u(w,{variant:"comfortable",class:"settings-overview"},{default:e(()=>[a(D,{class:"settings-main-card"},{default:e(()=>[a(T,{class:"settings-list"},{default:e(()=>[(r(!0),f(C,null,_(I.value,s=>(r(),u(v,{key:s.domain,ripple:!0,class:"settings-list-item",onClick:L=>g(s)},{prepend:e(()=>[a(x,{color:"blue",size:"48"},{default:e(()=>[a(J,{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"])):F("",!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(),f(C,null,_(V,s=>a(v,{key:s.domain,ripple:!0,class:"settings-list-item",onClick:L=>g(s)},{prepend:e(()=>[a(x,{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(y(i)(s.name)),1)]),_:2},1024),a(k,null,{default:e(()=>[l(c(y(i)(s.description)),1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1})]),_:1}))}}),j=Q(A,[["__scopeId","data-v-fe538fe8"]]);export{j as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as R,p as X,c as E,f as Y,I as Z,al as G,u as H,cz as J,bX as W,n as j,cA as q,o as l,ad as y,bZ as K,cB as Q,v as U,x as p,z as I,cb as _,C as ee,cx as te,E as h,Y as ae,N as le,X as oe,aJ as f,aw as ne,aG as r,ay as n,aI as w,aE as a,aB as d,b3 as B,M as k,aZ as P,az as v,ax as u,aN as m,b6 as T,ag as V,aF as $,b2 as L,aD as x,aH as z,av as ie,aA as se,aL as re,_ as de}from"./index-Dj6UKNsX.js";import{V as ce}from"./VToolbar-w3YLtQh8.js";const ue=X({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"}),...K()},"VBadge"),A=R()({name:"VBadge",inheritAttrs:!1,props:ue(),setup(e,b){const{backgroundColorClasses:C,backgroundColorStyles:i}=E(()=>e.color),{roundedClasses:s}=Y(e),{t}=Z(),{textColorClasses:o,textColorStyles:g}=G(()=>e.textColor),{themeClasses:N}=H(),{locationStyles:M}=J(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 j(()=>{const c=Number(e.content),S=!e.max||isNaN(c)?e.content:c<=Number(e.max)?c:`${e.max}+`,[F,O]=q(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:[i.value,g.value,D.value,e.inline?{}:M.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=ne({__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(i,s)=>(n(),r(ce,{color:e.color,class:"header"},w({title:a(()=>[P(i.$slots,"title",{},()=>[d(ie).mobileLayout&&e.home?(n(),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?(n(),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(k,{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,i.$slots.append?{name:"append",fn:a(()=>[P(i.$slots,"append",{},void 0,!0)]),key:"1"}:e.menuItems?.length?{name:"append",fn:a(()=>[e.showLoading&&(d(m).fetchesInProgress.value.length>0||d(m).syncTasks.value.length>0)?(n(),r(T,{key:0,color:"primary",indeterminate:"",title:i.$t("tooltip.loading")},null,8,["title"])):v("",!0),(n(!0),u(V,null,$(e.menuItems.filter(t=>!t.hide),t=>(n(),u("div",{key:t.label},[t.subItems?.length?(n(),r(L,{key:0,location:"bottom end",scrim:"",density:"compact",slim:"",tile:"","close-on-content-click":t.closeOnContentClick!==!1},{activator:a(({props:o})=>[l(k,y({variant:"text",style:{width:"40px"}},{ref_for:!0},o,{title:i.$t(t.label,t.labelArgs||[]),disabled:t.disabled==!0}),{default:a(()=>[l(A,{"model-value":t.active==!0,color:"error",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:i.$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(()=>[(n(!0),u(V,null,$(t.subItems.filter(o=>o.hide!=!0),(o,g)=>(n(),r(z,{key:g,title:i.$t(o.label,o.labelArgs||[]),disabled:o.disabled==!0,onClick:N=>o.action?o.action():""},w({append:a(()=>[o.selected?(n(),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)?(n(),r(k,{key:1,variant:"text",style:{width:"40px"},title:i.$t(t.label,t.labelArgs||[]),disabled:t.disabled==!0,onClick:t.action},{default:a(()=>[l(A,{"model-value":t.active==!0,color:"error",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:i.$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?(n(),u("div",be,[l(L,{location:"bottom end",scrim:""},{activator:a(({props:t})=>[l(k,y({variant:"plain",style:{width:"15px","margin-left":"-10px"}},t),{default:a(()=>[l(f,{icon:"mdi-dots-vertical",color:i.$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(()=>[(n(!0),u(V,null,$(e.menuItems.filter(t=>t.hide!=!0&&!t.subItems?.length&&t.overflowAllowed!==!1),(t,o)=>(n(),r(z,{key:o,title:i.$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:"error",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:i.$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(m).fetchesInProgress.value.length>0||d(m).syncTasks.value.length>0?(n(),r(T,{key:0,color:"primary",indeterminate:""})):v("",!0)]),key:"3"}:void 0]),1032,["color"]))}}),me=de(ve,[["__scopeId","data-v-04d4f91f"]]);export{me as T,A as V};
|
|
@@ -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-
|
|
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-04d4f91f]{height:55px;font-family:JetBrains Mono Medium}.header.v-toolbar[data-v-04d4f91f] .v-toolbar__content>.v-toolbar__append{margin-right:0}.header.v-toolbar>.v-toolbar__content>.v-toolbar-title[data-v-04d4f91f]{margin-inline-start:10px}.header.v-toolbar>.v-toolbar__content>.v-toolbar__prepend[data-v-04d4f91f]{margin-inline-start:6px}.header.v-toolbar>.v-toolbar__content>.v-toolbar__append[data-v-04d4f91f]{margin-inline-end:21px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar-title[data-v-04d4f91f]{margin-inline-start:0px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar__prepend[data-v-04d4f91f]{margin-inline-start:10px}.header.v-toolbar-default>.v-toolbar__content>.v-toolbar__append[data-v-04d4f91f]{margin-inline-end:10px}.mobile-brand[data-v-04d4f91f]{display:flex;align-items:center;gap:1rem}.mobile-brand-logo[data-v-04d4f91f]{height:30px;width:30px}.mobile-brand-text[data-v-04d4f91f]{font-weight:600;letter-spacing:.5px;margin-top:4px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as u}from"./ItemsListing-BP5XXmLQ.js";import{I as c,_ as f}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-CPN1bhCQ.js";import{aw as y,J as k,L as w,ax as b,ay as o,o as h,aG as s,az as n,E as m,aB as I,aN as l}from"./index-Dj6UKNsX.js";import"./Container-D5KFPVjs.js";import"./index-kQIztB-E.js";import"./Toolbar-B32L_M7G.js";import"./VToolbar-w3YLtQh8.js";import"./Button-faGxxowY.js";import"./ListItem-DXTT8_G5.js";import"./userPreferences-CpcwN_LW.js";import"./VCheckboxBtn-B5wUW3kZ.js";import"./VSelectionControl-CCjz0Lnv.js";import"./MediaItemThumb-DYAHQAuC.js";import"./PanelviewItemCompact-BKBJxxoM.js";import"./VInfiniteScroll-DataCA15.js";import"./VVirtualScroll-Cg5AQGzG.js";import"./VAlert-CFvRz3gu.js";import"./marquee_text_sync-R3hHMfp7.js";import"./VDialog-5KHkpnhE.js";const j=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)};w(()=>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(),b("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{j as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as pe}from"./Container-D5KFPVjs.js";import{L as ae}from"./ListItem-DXTT8_G5.js";import{aw as I,bL as R,J as U,i as S,aN as L,cl as re,L as le,aG as T,ay as i,aE as t,o as l,aQ as E,be as j,bf as g,aL as s,c1 as J,bF as O,az as C,ax as $,bI as W,bT as Q,bU as X,M as z,aU as w,cF as ue,E as V,_ as Z,av as ee,aS as ve,bC as H,aJ as K,ag as te,aF as se,bb as oe,a3 as ce,aj as fe,aM as _e}from"./index-Dj6UKNsX.js";import{V as A}from"./VSelect-VNw4nPSb.js";import{V as Y}from"./VDialog-5KHkpnhE.js";import{_ as he}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-Cad6HStr.js";import"./index-kQIztB-E.js";import"./Button-faGxxowY.js";import"./VVirtualScroll-Cg5AQGzG.js";import"./VCheckboxBtn-B5wUW3kZ.js";import"./VSelectionControl-CCjz0Lnv.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}=R(),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(L.players).map(e=>({title:e.name,value:e.player_id})).sort((e,o)=>e.title.localeCompare(o.title))),d=S(()=>Object.values(L.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")},B=S(()=>a.value.username.length>=3&&a.value.password.length>=8&&a.value.password===a.value.confirmPassword&&a.value.role),M=()=>{a.value={username:"",displayName:"",password:"",confirmPassword:"",role:ue.USER,playerFilter:[],providerFilter:[]}},P=()=>{M(),p("update:modelValue",!1)},q=async()=>{b.value=!0;try{await L.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")),M(),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||M()}),(e,o)=>(i(),T(Y,{"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:N})=>[N<2?(i(),T(W,{key:0,size:"small",closable:"","onClick:close":G=>k(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),N===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:N})=>[N<2?(i(),T(W,{key:0,size:"small",closable:"","onClick:close":G=>y(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),N===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(Q,{class:"pa-6 pt-4"},{default:t(()=>[l(X),l(z,{variant:"text",onClick:P},{default:t(()=>[g(s(e.$t("cancel")),1)]),_:1}),l(z,{color:"primary",variant:"flat",loading:b.value,disabled:!B.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}=R(),n=c,p=F,b=U(!1),a=async()=>{if(n.user){b.value=!0;try{await L.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(),T(Y,{"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(Q,{class:"pa-6 pt-4"},{default:t(()=>[l(X),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}=R(),n=c,p=F,b=U(!1),a=async()=>{if(n.user){b.value=!0;try{await L.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(),T(Y,{"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(Q,{class:"pa-6 pt-4"},{default:t(()=>[l(X),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"]]),Te={key:1,class:"text-grey text-caption align-self-center"},Ne={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}=R(),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(L.players).map(e=>({title:e.name,value:e.player_id})).sort((e,o)=>e.title.localeCompare(o.title))),d=S(()=>Object.values(L.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")},B=S(()=>!n.user||!ee.currentUser?!1:n.user.user_id===ee.currentUser.user_id),M=()=>{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:[]}},P=()=>{M(),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&&!B.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 L.updateUser(n.user.user_id,e),w.success(u("auth.user_updated")),M(),p("updated"),p("update:modelValue",!1)}catch{w.error(u("auth.user_update_failed"))}finally{b.value=!1}}};return le(()=>n.user,M,{immediate:!0}),le(()=>n.modelValue,e=>{e&&M()}),(e,o)=>(i(),T(Y,{"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:B.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(),T(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:N})=>[N<2?(i(),T(W,{key:0,size:"small",closable:"","onClick:close":G=>k(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),N===2?(i(),$("span",Te," (+"+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:N})=>[N<2?(i(),T(W,{key:0,size:"small",closable:"","onClick:close":G=>y(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),N===2?(i(),$("span",Ne," (+"+s(a.value.providerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"])]),_:1}),l(Q,{class:"pa-6 pt-4"},{default:t(()=>[l(X),l(z,{variant:"text",onClick:P},{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"]))}}),Le={class:"pa-4"},Me={class:"mb-2"},Pe={class:"section-subtitle mb-6"},Oe={key:0,class:"empty-state"},Se={class:"text-medium-emphasis"},Ie={key:1,class:"tokens-list"},Re={class:"line-clamp-1"},Be={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"},Qe={class:"d-flex justify-space-between align-center gap-2"},Xe={class:"mb-2"},Ye={class:"section-subtitle"},Ge={key:0,class:"empty-state"},He={class:"text-medium-emphasis"},Ke={key:1,class:"tokens-list"},We={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}=R(),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(),T(Y,{"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",Le,[V("h3",Me,s(d.$t("auth.active_sessions")),1),V("p",Pe,s(d.$t("auth.active_sessions_description")),1),a.value.length===0?(i(),$("div",Oe,[l(H,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:t(()=>[l(K,{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(),T(ae,{key:y.token_id},{prepend:t(()=>[l(H,{color:"blue-grey-darken-2",size:"40"},{default:t(()=>[l(K,{icon:"mdi-devices",size:"20"})]),_:1})]),title:t(()=>[V("div",Re,s(y.name),1)]),subtitle:t(()=>[V("div",Be,[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",Qe,[V("h3",Xe,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",Ye,s(d.$t("auth.long_lived_tokens_description")),1)])]),m.value.length===0?(i(),$("div",Ge,[l(H,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:t(()=>[l(K,{icon:"mdi-key-variant",size:"32"})]),_:1}),V("p",He,s(d.$t("auth.no_long_lived_tokens")),1)])):(i(),$("div",Ke,[(i(!0),$(te,null,se(m.value,y=>(i(),T(ae,{key:y.token_id},{prepend:t(()=>[l(H,{color:"deep-purple-darken-2",size:"40"},{default:t(()=>[l(K,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:t(()=>[V("div",We,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(Q,{class:"pa-6"},{default:t(()=>[l(X),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}=R(),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 L.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(),T(Y,{"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(Q,{class:"pa-6 pt-4"},{default:t(()=>[l(X),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}=R(),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),B=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)})}),M=f=>!f||!ee.currentUser?!1:f.user_id===ee.currentUser.user_id,P=async()=>{try{u.value=await L.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 N(f.user_id),h.value=!0},N=async f=>{try{y.value=await L.getUserTokens(f)}catch{w.error(F("auth.tokens_load_failed"))}},G=async()=>{k.value&&await N(k.value.user_id)},ne=f=>{D.value=f,d.value=!0},ie=async()=>{k.value&&await N(k.value.user_id),D.value=null},de=async f=>{try{await L.enableUser(f.user_id)?(await P(),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:M(v)},{label:"auth.delete_user",labelArgs:[],action:()=>{o(v)},icon:"mdi-delete",color:"error",hide:M(v)}];_e.emit("contextmenu",{items:_,posX:f.clientX,posY:f.clientY})};return ce(()=>{P()}),(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(B.value,_=>(i(),T(ae,{key:_.user_id,"show-menu-btn":"",link:"",onMenu:x=>me(x,_),onClick:x=>q(_)},{prepend:t(()=>[V("div",na,[l(H,{size:"40",color:_.avatar_url?void 0:"grey-darken-2"},{default:t(()=>[_.avatar_url?(i(),T(fe,{key:0,src:_.avatar_url},null,8,["src"])):(i(),T(K,{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(),T(W,{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:P},null,8,["modelValue"]),l(ze,{modelValue:b.value,"onUpdate:modelValue":v[3]||(v[3]=_=>b.value=_),user:k.value,onUpdated:P},null,8,["modelValue","user"]),l(De,{modelValue:a.value,"onUpdate:modelValue":v[4]||(v[4]=_=>a.value=_),user:k.value,onDisabled:P},null,8,["modelValue","user"]),l(we,{modelValue:m.value,"onUpdate:modelValue":v[5]||(v[5]=_=>m.value=_),user:k.value,onDeleted:P},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:G},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-D5KFPVjs.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 $,aE as a,bf as y,bC as T,aJ as z,ag as M,aF as J,aG as C,bb as B,az as S,_ as F,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-Dj6UKNsX.js";import{L as O}from"./ListItem-DXTT8_G5.js";import{_ as te}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-Cad6HStr.js";import{V as le}from"./VAlert-CFvRz3gu.js";import{V as oe}from"./VForm-DDKxMAmn.js";import{V as W}from"./VDialog-5KHkpnhE.js";import"./index-kQIztB-E.js";import"./Button-faGxxowY.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=F(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=F(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"},Fe={class:"actions"},Ie={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||"")},I=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",Fe,[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:I},{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",Ie,[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=F(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=F(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]=I=>u.value=I),"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]=I=>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=F(xe,[["__scopeId","data-v-4961f1fb"]]);export{ua as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cY as $,p as S,i as M,g as w,j as E,t as d,G as F,c7 as N,d as R,bX as j,e as O,cz as q,c6 as G,f as J,al as X,I as Y,o as l,q as v,r as m,c9 as Z,v as p,x as H,z as K,ca as Q,cb as U,A as W,bZ as ee,B as ae,C as te,cx as le,cf as se,E as s,aJ as ne,ad as y,ak as f,M as oe}from"./index-Dj6UKNsX.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: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(),...W(),...ce(),...U(),...Q(),...K(),...H(),...p(),...Z({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:z,colorStyles:P,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}=Y(),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,z.value,V.value,x.value,B.value,I.value,C.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",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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{V as a,m as f}from"./VSelectionControl-CCjz0Lnv.js";import{g as V,p as v,j as c,t as l,n as x,an as I,o as k,ad as h,cx as b}from"./index-Dj6UKNsX.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 x(()=>{const o=I(a.filterProps(e),["modelValue"]);return k(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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as L,p as x,j as D,aa as k,J as A,a4 as B,O as F,L as m,n as R,bv as g,ad as f,o as E,am as S,cc as T,
|
|
1
|
+
import{g as L,p as x,j as D,aa as k,J as A,a4 as B,O as F,L as m,n as R,bv as g,ad as f,o as E,am as S,cc as T,cJ as I,R as h,cK as y,ak as K}from"./index-Dj6UKNsX.js";const O=x({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...T({origin:"center center",scrollStrategy:"block",transition:{component:I},zIndex:2400})},"VDialog"),C=L()({name:"VDialog",props:O(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,V){let{emit:d,slots:v}=V;const r=D(e,"modelValue"),{scopeId:b}=k(),n=A();async function u(t){const a=t.relatedTarget,o=t.target;await h(),r.value&&a!==o&&n.value?.contentEl&&n.value?.globalTop&&![document,n.value.contentEl].includes(o)&&!n.value.contentEl.contains(o)&&y(n.value.contentEl)[0]?.focus()}function i(t){if(t.key!=="Tab"||!n.value?.contentEl)return;const a=y(n.value.contentEl);if(!a.length)return;const o=a[0],l=a[a.length-1],c=document.activeElement;t.shiftKey&&c===o?(t.preventDefault(),l.focus()):!t.shiftKey&&c===l&&(t.preventDefault(),o.focus())}B(()=>{document.removeEventListener("focusin",u),document.removeEventListener("keydown",i)}),F&&m(()=>r.value&&e.retainFocus,t=>{t?(document.addEventListener("focusin",u,{once:!0}),document.addEventListener("keydown",i)):(document.removeEventListener("focusin",u),document.removeEventListener("keydown",i))},{immediate:!0});function P(){d("afterEnter"),(e.scrim||e.retainFocus)&&n.value?.contentEl&&!n.value.contentEl.contains(document.activeElement)&&n.value.contentEl.focus({preventScroll:!0})}function w(){d("afterLeave")}return m(r,async t=>{t||(await h(),n.value.activatorEl?.focus({preventScroll:!0}))}),R(()=>{const t=g.filterProps(e),a=f({"aria-haspopup":"dialog"},e.activatorProps),o=f({tabindex:-1},e.contentProps);return E(g,f({ref:n,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},t,{modelValue:r.value,"onUpdate:modelValue":l=>r.value=l,"aria-modal":"true",activatorProps:a,contentProps:o,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:P,onAfterLeave:w},b),{activator:v.activator,default:function(){for(var l=arguments.length,c=new Array(l),s=0;s<l;s++)c[s]=arguments[s];return E(K,{root:"VDialog"},{default:()=>[v.default?.(...c)]})}})}),S({},n)}});export{C as V};
|
music_assistant_frontend/assets/{VExpansionPanels-cqvywsgH.js → VExpansionPanels-DboS79vY.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as m,p as P,T as h,W as
|
|
1
|
+
import{g as m,p as P,T as h,W as N,n as b,o as i,cH as j,Z as X,C as E,N as w,X as Z,E as u,q as y,r as v,cI as S,c as A,bX as q,i as f,t as l,ak as B,bZ as F,cx as k,aJ as H,U as J,e as O,f as U,x as _,z as W,$ as K,A as M,S as Q,l as Y,G as ee,m as ae,v as ne,at as le,w as te}from"./index-Dj6UKNsX.js";const x=Symbol.for("vuetify:v-expansion-panel"),D=P({...E(),...X()},"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?.()])]),[[Z,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(),...F()},"VExpansionPanelTitle"),T=m()({name:"VExpansionPanelTitle",directives:{vRipple:S},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}=q(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(H,null,null)])]})]),[[S,e.ripple]])),{}}}),z=P({title:String,text:String,bgColor:String,...M(),...K(),...W(),..._(),...R(),...D()},"VExpansionPanel"),ce=m()({name:"VExpansionPanel",props:z(),emits:{"group:selected":e=>!0},setup(e,c){let{slots:n}=c;const a=J(e,x),{backgroundColorClasses:s,backgroundColorStyles:d}=A(()=>e.bgColor),{elevationClasses:r}=O(e),{roundedClasses:p}=U(e),V=l(()=>a?.disabled.value||e.disabled),I=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&&I.value.some(t=>t-o===1)}),L=f(()=>{const o=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&I.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,
|
|
1
|
+
import{g as d,p,cZ as v,J as b,n as y,E as F,q as V,r as h,am as R,c_ as C,C as P}from"./index-Dj6UKNsX.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 c(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(f=>{let{valid:u}=f;u&&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:c},[m.default?.(s)])),R(s,o)}});export{g as V};
|
|
@@ -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,
|
|
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,cn as O,co as U,L as X,E as g,bf as Z,b6 as x,M as j}from"./index-Dj6UKNsX.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 +1 @@
|
|
|
1
|
-
import{K as ee,L as N,I as te,
|
|
1
|
+
import{K as ee,L as N,I as te,cq as ge,i as S,t as $,dc as J,p as q,g as Ve,J as F,c$ as be,j as W,cW as ke,cM as we,cV as H,n as Ce,bF as X,o as v,ad as V,am as Pe,cB as xe,an as Se,cJ as Ie,d2 as De,d4 as Y,cX as G,dd as Ae,cx as Le,R as Te,O as Be,E as T,aJ as Q,ag as K,b2 as Re,aD as Ee,aH as Z,de as Fe,aS as _e,d6 as Me,bC as Oe,d7 as $e,bI as He,ak as Ke,bf as Ne}from"./index-Dj6UKNsX.js";import{V as qe}from"./VVirtualScroll-Cg5AQGzG.js";import{V as Ue}from"./VCheckboxBtn-B5wUW3kZ.js";function ze(e,I){const l=ee(!1);let b;function f(o){cancelAnimationFrame(b),l.value=!0,b=requestAnimationFrame(()=>{b=requestAnimationFrame(()=>{l.value=!1})})}async function D(){await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>{if(l.value){const p=N(l,()=>{p(),o()})}else o()})}async function k(o){if(o.key==="Tab"&&I.value?.focus(),!["PageDown","PageUp","Home","End"].includes(o.key))return;const p=e.value?.$el;if(!p)return;(o.key==="Home"||o.key==="End")&&p.scrollTo({top:o.key==="Home"?0:p.scrollHeight,behavior:"smooth"}),await D();const B=p.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(o.key==="PageDown"||o.key==="Home"){const n=p.getBoundingClientRect().top;for(const w of B)if(w.getBoundingClientRect().top>=n){w.focus();break}}else{const n=p.getBoundingClientRect().bottom;for(const w of[...B].reverse())if(w.getBoundingClientRect().bottom<=n){w.focus();break}}}return{onScrollPassive:f,onKeydown:k}}const je=q({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function Je(e,I){const{t:l}=te(),b=ge(),f=S(()=>`menu-${b}`),D=$(()=>J(I)),k=$(()=>f.value),o=$(()=>l(J(I)?e.closeText:e.openText));return{menuId:f,ariaExpanded:D,ariaControls:k,ariaLabel:o}}const We=q({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:Le,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...je(),...Ae({itemChildren:!1})},"Select"),Xe=q({...We(),...Se(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...xe({transition:{component:Ie}})},"VSelect"),Ze=Ve()({name:"VSelect",props:Xe(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,I){let{slots:l}=I;const{t:b}=te(),f=F(),D=F(),k=F(),{items:o,transformIn:p,transformOut:B}=be(e),n=W(e,"modelValue",[],t=>p(t===null?[null]:ke(t)),t=>{const s=B(t);return e.multiple?s:s[0]??null}),w=S(()=>typeof e.counterValue=="function"?e.counterValue(n.value):typeof e.counterValue=="number"?e.counterValue:n.value.length),_=we(e),ae=S(()=>n.value.map(t=>t.value)),C=ee(!1);let y="",R=-1,U;const A=S(()=>e.hideSelected?o.value.filter(t=>!n.value.some(s=>(e.valueComparator||H)(s,t))):o.value),M=S(()=>e.hideNoData&&!A.value.length||_.isReadonly.value||_.isDisabled.value),O=W(e,"menu"),r=S({get:()=>O.value,set:t=>{O.value&&!t&&D.value?.ΨopenChildren.size||t&&M.value||(O.value=t)}}),{menuId:le,ariaExpanded:ne,ariaControls:oe,ariaLabel:z}=Je(e,r),ue=S(()=>({...e.menuProps,activatorProps:{...e.menuProps?.activatorProps||{},"aria-haspopup":"listbox"}})),L=F(),ie=ze(L,f);function se(t){e.openOnClear&&(r.value=!0)}function re(){M.value||(r.value=!r.value)}function ce(t){Y(t)&&j(t)}function j(t){if(!t.key||_.isReadonly.value)return;["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(t.key)&&t.preventDefault(),["Enter","ArrowDown"," "].includes(t.key)&&(r.value=!0),["Escape","Tab"].includes(t.key)&&(r.value=!1),t.key==="Home"?L.value?.focus("first"):t.key==="End"&&L.value?.focus("last");const s=1e3;if(!Y(t))return;const c=performance.now();c-U>s&&(y="",R=-1),y+=t.key.toLowerCase(),U=c;const P=A.value;function g(){let i=a();return i||y.at(-1)===y.at(-2)&&(y=y.slice(0,-1),i=a(),i)||(R=-1,i=a(),i)?i:(y=t.key.toLowerCase(),a())}function a(){for(let i=R+1;i<P.length;i++){const h=P[i];if(h.title.toLowerCase().startsWith(y))return[h,i]}}const u=g();if(!u)return;const[d,x]=u;R=x,L.value?.focus(x),e.multiple||(n.value=[d])}function E(t){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!t.props.disabled)if(e.multiple){const c=n.value.findIndex(g=>(e.valueComparator||H)(g.value,t.value)),P=s??!~c;if(~c){const g=P?[...n.value,t]:[...n.value];g.splice(c,1),n.value=g}else P&&(n.value=[...n.value,t])}else{const c=s!==!1;n.value=c?[t]:[],Te(()=>{r.value=!1})}}function de(t){L.value?.$el.contains(t.relatedTarget)||(r.value=!1)}function fe(){e.eager&&k.value?.calculateVisibleItems()}function ve(){C.value&&f.value?.focus()}function me(t){C.value=!0}function pe(t){if(t==null)n.value=[];else if(G(f.value,":autofill")||G(f.value,":-webkit-autofill")){const s=o.value.find(c=>c.title===t);s&&E(s)}else f.value&&(f.value.value="")}return N(r,()=>{if(!e.hideSelected&&r.value&&n.value.length){const t=A.value.findIndex(s=>n.value.some(c=>(e.valueComparator||H)(c.value,s.value)));Be&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{t>=0&&k.value?.scrollToIndex(t)})}}),N(o,(t,s)=>{r.value||C.value&&e.hideNoData&&!s.length&&t.length&&(r.value=!0)}),Ce(()=>{const t=!!(e.chips||l.chip),s=!!(!e.hideNoData||A.value.length||l["prepend-item"]||l["append-item"]||l["no-data"]),c=n.value.length>0,P=X.filterProps(e),g=c||!C.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder;return v(X,V({ref:f},P,{modelValue:n.value.map(a=>a.props.value).join(", "),"onUpdate:modelValue":pe,focused:C.value,"onUpdate:focused":a=>C.value=a,validationValue:n.externalValue,counterValue:w.value,dirty:c,class:["v-select",{"v-select--active-menu":r.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":n.value.length,"v-select--selection-slot":!!l.selection},e.class],style:e.style,inputmode:"none",placeholder:g,"onClick:clear":se,"onMousedown:control":re,onBlur:de,onKeydown:j,"aria-expanded":ne.value,"aria-controls":oe.value,"aria-label":z.value,title:z.value}),{...l,default:()=>T(K,null,[v(Re,V({id:le.value,ref:D,modelValue:r.value,"onUpdate:modelValue":a=>r.value=a,activator:"parent",contentClass:"v-select__content",disabled:M.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:fe,onAfterLeave:ve},ue.value),{default:()=>[s&&v(Ee,V({ref:L,selected:ae.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:ce,onFocusin:me,tabindex:"-1",selectable:!0,"aria-live":"polite","aria-label":`${e.label}-list`,color:e.itemColor??e.color},ie,e.listProps),{default:()=>[l["prepend-item"]?.(),!A.value.length&&!e.hideNoData&&(l["no-data"]?.()??v(Z,{key:"no-data",title:b(e.noDataText)},null)),v(qe,{ref:k,renderless:!0,items:A.value,itemKey:"value"},{default:a=>{let{item:u,index:d,itemRef:x}=a;const i=Fe(u.props),h=V(u.props,{ref:x,key:u.value,onClick:()=>E(u,null)});return u.type==="divider"?l.divider?.({props:u.raw,index:d})??v(_e,V(u.props,{key:`divider-${d}`}),null):u.type==="subheader"?l.subheader?.({props:u.raw,index:d})??v(Me,V(u.props,{key:`subheader-${d}`}),null):l.item?.({item:u,index:d,props:h})??v(Z,V(h,{role:"option"}),{prepend:m=>{let{isSelected:he}=m;return T(K,null,[e.multiple&&!e.hideSelected?v(Ue,{key:u.value,modelValue:he,ripple:!1,tabindex:"-1",onClick:ye=>ye.preventDefault()},null):void 0,i.prependAvatar&&v(Oe,{image:i.prependAvatar},null),i.prependIcon&&v(Q,{icon:i.prependIcon},null)])}})}}),l["append-item"]?.()]})]}),n.value.map((a,u)=>{function d(m){m.stopPropagation(),m.preventDefault(),E(a,!1)}const x={"onClick:close":d,onKeydown(m){m.key!=="Enter"&&m.key!==" "||(m.preventDefault(),m.stopPropagation(),d(m))},onMousedown(m){m.preventDefault(),m.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},i=t?!!l.chip:!!l.selection,h=i?$e(t?l.chip({item:a,index:u,props:x}):l.selection({item:a,index:u})):void 0;if(!(i&&!h))return T("div",{key:a.value,class:"v-select__selection"},[t?l.chip?v(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[h]}):v(He,V({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},x),null):h??T("span",{class:"v-select__selection-text"},[a.title,e.multiple&&u<n.value.length-1&&T("span",{class:"v-select__selection-comma"},[Ne(",")])])])})]),"append-inner":function(){for(var a=arguments.length,u=new Array(a),d=0;d<a;d++)u[d]=arguments[d];return T(K,null,[l["append-inner"]?.(...u),e.menuIcon?v(Q,{class:"v-select__menu-icon",color:f.value?.fieldIconColor,icon:e.menuIcon},null):void 0])}})}),Pe({isFocused:C,menu:r,select:E},f)}});export{Ze as V,ze as a,We as m,Je as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as B,v as K,B as O,C as N,cV as W,cx as R,g as U,j as _,cq as j,t as a,m as X,n as q,E as m,q as E,r as h,S as Q,a7 as Y,cI as T,K as w,J as Z,cr as p,ad as G,o as D,N as ee,ag as le,aJ as ae,cR as te,T as oe,d as ne,i as C,cW as I,al as ue,c as re,R as ie,cX as se}from"./index-Dj6UKNsX.js";const z=Symbol.for("vuetify:selection-control-group"),J=B({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:R,trueIcon:R,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:W},...N(),...O(),...K()},"SelectionControlGroup"),ce=B({...J({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");U()({name:"VSelectionControlGroup",props:ce(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:y}=n;const t=_(e,"modelValue"),o=j(),f=a(()=>e.id||`v-selection-control-group-${o}`),i=a(()=>e.name||f.value),l=new Set;return Q(z,{modelValue:t,forceUpdate:()=>{l.forEach(u=>u())},onForceUpdate:u=>{l.add(u),Y(()=>{l.delete(u)})}}),X({[e.defaultsTarget]:{color:a(()=>e.color),disabled:a(()=>e.disabled),density:a(()=>e.density),error:a(()=>e.error),inline:a(()=>e.inline),modelValue:t,multiple:a(()=>!!e.multiple||e.multiple==null&&Array.isArray(t.value)),name:i,falseIcon:a(()=>e.falseIcon),trueIcon:a(()=>e.trueIcon),readonly:a(()=>e.readonly),ripple:a(()=>e.ripple),type:a(()=>e.type),valueComparator:a(()=>e.valueComparator)}}),q(()=>m("div",{class:h(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:E(e.style),role:e.type==="radio"?"radiogroup":void 0},[y.default?.()])),{}}});const de=B({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...N(),...J()},"VSelectionControl");function ve(e){const n=oe(z,void 0),{densityClasses:y}=ne(e),t=_(e,"modelValue"),o=C(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),f=C(()=>e.falseValue!==void 0?e.falseValue:!1),i=C(()=>!!e.multiple||e.multiple==null&&Array.isArray(t.value)),l=C({get(){const d=n?n.modelValue.value:t.value;return i.value?I(d).some(r=>e.valueComparator(r,o.value)):e.valueComparator(d,o.value)},set(d){if(e.readonly)return;const r=d?o.value:f.value;let v=r;i.value&&(v=d?[...I(t.value),r]:I(t.value).filter(s=>!e.valueComparator(s,o.value))),n?n.modelValue.value=v:t.value=v}}),{textColorClasses:u,textColorStyles:b}=ue(()=>{if(!(e.error||e.disabled))return l.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:g}=re(()=>l.value&&!e.error&&!e.disabled?e.color:e.baseColor),k=C(()=>l.value?e.trueIcon:e.falseIcon);return{group:n,densityClasses:y,trueValue:o,falseValue:f,model:l,textColorClasses:u,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:g,icon:k}}const me=U()({name:"VSelectionControl",directives:{vRipple:T},inheritAttrs:!1,props:de(),emits:{"update:modelValue":e=>!0},setup(e,n){let{attrs:y,slots:t}=n;const{group:o,densityClasses:f,icon:i,model:l,textColorClasses:u,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:g,trueValue:k}=ve(e),d=j(),r=w(!1),v=w(!1),s=Z(),S=a(()=>e.id||`input-${d}`),x=a(()=>!e.disabled&&!e.readonly);o?.onForceUpdate(()=>{s.value&&(s.value.checked=l.value)});function A(c){x.value&&(r.value=!0,se(c.target,":focus-visible")!==!1&&(v.value=!0))}function F(){r.value=!1,v.value=!1}function L(c){c.stopPropagation()}function M(c){if(!x.value){s.value&&(s.value.checked=l.value);return}e.readonly&&o&&ie(()=>o.forceUpdate()),l.value=c.target.checked}return q(()=>{const c=t.label?t.label({label:e.label,props:{for:S.value}}):e.label,[$,H]=p(y),P=m("input",G({ref:s,checked:l.value,disabled:!!e.disabled,id:S.value,onBlur:F,onFocus:A,onInput:M,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:k.value,name:e.name,"aria-checked":e.type==="checkbox"?l.value:void 0},H),null);return m("div",G({class:["v-selection-control",{"v-selection-control--dirty":l.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":r.value,"v-selection-control--focus-visible":v.value,"v-selection-control--inline":e.inline},f.value,e.class]},$,{style:e.style}),[m("div",{class:h(["v-selection-control__wrapper",u.value]),style:E(b.value)},[t.default?.({backgroundColorClasses:V,backgroundColorStyles:g}),ee(m("div",{class:h(["v-selection-control__input"])},[t.input?.({model:l,textColorClasses:u,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:g,inputNode:P,icon:i.value,props:{onFocus:A,onBlur:F,id:S.value}})??m(le,null,[i.value&&D(ae,{key:"icon",icon:i.value},null),P])]),[[T,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),c&&D(te,{for:S.value,onClick:L},{default:()=>[c]})])}),{isFocused:r,input:s}}});export{me as V,de as m};
|