music-assistant-frontend 2.17.23__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.
- music_assistant_frontend/CNAME +1 -0
- music_assistant_frontend/__init__.py +7 -0
- music_assistant_frontend/apple-touch-icon.png +0 -0
- music_assistant_frontend/assets/About-Ba3VLBU-.css +1 -0
- music_assistant_frontend/assets/About-RUoOAv4X.js +1 -0
- music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-BPxtYoQW.js +1 -0
- music_assistant_frontend/assets/AddPlayerGroup-D1w33Hxp.js +1 -0
- music_assistant_frontend/assets/AddProviderDetails-CelupE7u.js +1 -0
- music_assistant_frontend/assets/AlbumDetails-DAiKOl2b.js +1 -0
- music_assistant_frontend/assets/ArtistDetails-CB1LbwJB.js +1 -0
- music_assistant_frontend/assets/AudiobookDetails-Bu9SszK7.js +1 -0
- music_assistant_frontend/assets/BrowseView-DsuxryYQ.css +1 -0
- music_assistant_frontend/assets/BrowseView-mL-Ro3la.js +1 -0
- music_assistant_frontend/assets/Button-CsTMTfds.js +1 -0
- music_assistant_frontend/assets/Button-D25yJYMO.css +1 -0
- music_assistant_frontend/assets/Container-DVyrkl2H.js +1 -0
- music_assistant_frontend/assets/Container-Df7sl-nn.css +1 -0
- music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-CDOcvzeY.js +1 -0
- music_assistant_frontend/assets/Default-BGKNhhwh.css +1 -0
- music_assistant_frontend/assets/Default-CbXEYQ2G.js +21 -0
- music_assistant_frontend/assets/EditConfig-CcxrPgWJ.css +1 -0
- music_assistant_frontend/assets/EditConfig-DgPHHjUH.js +2 -0
- music_assistant_frontend/assets/EditCoreConfig-CbqG7Gbn.js +1 -0
- music_assistant_frontend/assets/EditPlayer-K5ooPIlK.js +1 -0
- music_assistant_frontend/assets/EditPlayerDsp-B-LTM5mJ.js +9 -0
- music_assistant_frontend/assets/EditPlayerDsp-aJcSg6U0.css +1 -0
- music_assistant_frontend/assets/EditProvider-LhZSA23p.js +1 -0
- music_assistant_frontend/assets/FrontendConfig-DK_MHxLP.js +1 -0
- music_assistant_frontend/assets/HomeView-BprizvGE.css +1 -0
- music_assistant_frontend/assets/HomeView-CgBzF01O.js +1 -0
- music_assistant_frontend/assets/ItemsListing-BZL9sVtN.css +1 -0
- music_assistant_frontend/assets/ItemsListing-Bao8c9rP.js +1 -0
- music_assistant_frontend/assets/JetBrainsMono-Medium-3S3k2nMz.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe-iaUSDqqS.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe-DnPa8eh0.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe-3VVPul60.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe-Dqr_DJ6L.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe-24ctNiOc.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe-B1tIhOr4.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA-CHnqiQTt.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe-CBNGtO38.woff2 +0 -0
- music_assistant_frontend/assets/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe-Bm5C9Z0M.woff2 +0 -0
- music_assistant_frontend/assets/LibraryAlbums-DFEsqYSE.js +1 -0
- music_assistant_frontend/assets/LibraryArtists-zSFwRyIw.js +1 -0
- music_assistant_frontend/assets/LibraryAudiobooks-CWiohRcm.js +1 -0
- music_assistant_frontend/assets/LibraryPlaylists-BwcUK8IR.js +1 -0
- music_assistant_frontend/assets/LibraryPodcasts-CuYH_JUt.js +1 -0
- music_assistant_frontend/assets/LibraryRadios-C41h1ZhN.js +1 -0
- music_assistant_frontend/assets/LibraryTracks-wXT86JHG.js +1 -0
- music_assistant_frontend/assets/ListItem-CZjh-Z2L.css +1 -0
- music_assistant_frontend/assets/ListItem-Emhe-KUj.js +1 -0
- music_assistant_frontend/assets/MaterialIcons-Regular-BjXOXp5c.eot +0 -0
- music_assistant_frontend/assets/MaterialIcons-Regular-DEUTIz1o.ttf +0 -0
- music_assistant_frontend/assets/MaterialIcons-Regular-DOtZ65Va.woff2 +0 -0
- music_assistant_frontend/assets/MaterialIcons-Regular-FsbMSDLx.woff +0 -0
- music_assistant_frontend/assets/MediaItemImages-Df7nKM8C.js +1 -0
- music_assistant_frontend/assets/MediaItemImages-EU1ndGHN.css +1 -0
- music_assistant_frontend/assets/MediaItemThumb-DT_RR5hr.js +1 -0
- music_assistant_frontend/assets/PanelviewItemCompact-BzbA-hBb.css +1 -0
- music_assistant_frontend/assets/PanelviewItemCompact-pmyYhZHE.js +1 -0
- music_assistant_frontend/assets/PlayerCard-BtmAlIKh.css +1 -0
- music_assistant_frontend/assets/PlayerCard-CEVvwv95.js +1 -0
- music_assistant_frontend/assets/Players-EhQqcnhl.css +1 -0
- music_assistant_frontend/assets/Players-tRk-aPmf.js +1 -0
- music_assistant_frontend/assets/PlaylistDetails-CLa5Z3w1.js +1 -0
- music_assistant_frontend/assets/PodcastDetails-CLsR7Tn5.js +1 -0
- music_assistant_frontend/assets/ProviderDetails-sWAPBlBe.css +1 -0
- music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-DHz8rGQ5.js +8 -0
- music_assistant_frontend/assets/Providers-B-Yv3fiH.js +1 -0
- music_assistant_frontend/assets/Providers-Dn02HurB.css +1 -0
- music_assistant_frontend/assets/RadioDetails-CLCgG3cC.js +1 -0
- music_assistant_frontend/assets/RemoteAccessSettings-BAwrICX9.js +1 -0
- music_assistant_frontend/assets/RemoteAccessSettings-C5-vEsHF.css +1 -0
- music_assistant_frontend/assets/Search-BTfWUjPY.js +1 -0
- music_assistant_frontend/assets/ServerLogs-D16I7ozL.css +1 -0
- music_assistant_frontend/assets/ServerLogs-D72XN62w.js +4 -0
- music_assistant_frontend/assets/Settings-BRF4vH9U.js +1 -0
- music_assistant_frontend/assets/Settings-C1mth5_q.css +1 -0
- music_assistant_frontend/assets/SystemConfig-BKi5ffMS.css +1 -0
- music_assistant_frontend/assets/SystemConfig-B_pajhS9.js +1 -0
- music_assistant_frontend/assets/Toolbar-CVFN8H4Z.css +1 -0
- music_assistant_frontend/assets/Toolbar-DNqs9OXR.js +1 -0
- music_assistant_frontend/assets/TrackDetails-Dae-KK6X.js +1 -0
- music_assistant_frontend/assets/UserManagement-BXsqKl-G.css +1 -0
- music_assistant_frontend/assets/UserManagement-DbFQsYHK.js +1 -0
- music_assistant_frontend/assets/UserProfile--j1jhm_i.js +1 -0
- music_assistant_frontend/assets/UserProfile-2WJSaYoR.css +1 -0
- music_assistant_frontend/assets/VAlert-BDbtqfCV.css +1 -0
- music_assistant_frontend/assets/VAlert-Kj2m6TCt.js +1 -0
- music_assistant_frontend/assets/VCheckboxBtn-lg4Bkg3S.js +1 -0
- music_assistant_frontend/assets/VDialog-DofGN8Yd.js +1 -0
- music_assistant_frontend/assets/VDialog-DwTSAOeg.css +1 -0
- music_assistant_frontend/assets/VExpansionPanels-B8KjM0Qi.css +1 -0
- music_assistant_frontend/assets/VExpansionPanels-Hd3nRlf_.js +1 -0
- music_assistant_frontend/assets/VForm-DkfI6S-G.js +1 -0
- music_assistant_frontend/assets/VInfiniteScroll-B-XMauN8.css +1 -0
- music_assistant_frontend/assets/VInfiniteScroll-C4zaTPzz.js +1 -0
- music_assistant_frontend/assets/VSelect-CMxVGu2h.js +1 -0
- music_assistant_frontend/assets/VSelect-DMb2DNZp.css +1 -0
- music_assistant_frontend/assets/VSelectionControl-CIeJsqfW.css +1 -0
- music_assistant_frontend/assets/VSelectionControl-CuEKzbGp.js +1 -0
- music_assistant_frontend/assets/VSlider-D1oP09L0.js +1 -0
- music_assistant_frontend/assets/VSlider-DlBvQp-0.css +1 -0
- music_assistant_frontend/assets/VSnackbar-B4pe7Cfy.css +1 -0
- music_assistant_frontend/assets/VSnackbar-DsamuEmf.js +1 -0
- music_assistant_frontend/assets/VSwitch-Mm7Rd7At.css +1 -0
- music_assistant_frontend/assets/VSwitch-jlMLuij2.js +1 -0
- music_assistant_frontend/assets/VToolbar-CTLIwz5x.js +1 -0
- music_assistant_frontend/assets/VToolbar-D1tRNhN6.css +1 -0
- music_assistant_frontend/assets/VVirtualScroll-BNcY_ygg.css +1 -0
- music_assistant_frontend/assets/VVirtualScroll-RawLIXgS.js +1 -0
- music_assistant_frontend/assets/WidgetRow-CkOdk0Z6.js +1 -0
- music_assistant_frontend/assets/WidgetRow-CzKBwQIP.css +1 -0
- music_assistant_frontend/assets/almost_silent-BMvfGi7_.mp3 +0 -0
- music_assistant_frontend/assets/constants-CXMxJR4j.js +1 -0
- music_assistant_frontend/assets/cover_dark-DW8aYTk2.png +0 -0
- music_assistant_frontend/assets/cover_light-Dxw-EaOr.png +0 -0
- music_assistant_frontend/assets/fallback-DFk8zSGg.png +0 -0
- music_assistant_frontend/assets/hires-DgAYKrO8.png +0 -0
- music_assistant_frontend/assets/icon-U5wS6iOz.svg +144 -0
- music_assistant_frontend/assets/index-BMi8F_Xw.css +1 -0
- music_assistant_frontend/assets/index-Ci6ypq6O.js +1046 -0
- music_assistant_frontend/assets/index-kQIztB-E.js +1 -0
- music_assistant_frontend/assets/index.browser-OxPLOBIU.js +1 -0
- music_assistant_frontend/assets/info_gradient-C5d1dalX.jpg +0 -0
- music_assistant_frontend/assets/m4a-BFCodQZL.png +0 -0
- music_assistant_frontend/assets/marquee_text_sync-CWCHA3k2.css +1 -0
- music_assistant_frontend/assets/marquee_text_sync-D_iJsxcD.js +1 -0
- music_assistant_frontend/assets/material-icons-outlined-DZhiGvEA.woff2 +0 -0
- music_assistant_frontend/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
- music_assistant_frontend/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
- music_assistant_frontend/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
- music_assistant_frontend/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
- music_assistant_frontend/assets/open-home-foundation-logo-C7bc6Uqr.svg +22 -0
- music_assistant_frontend/assets/userPreferences-Cm6AcKY5.css +1 -0
- music_assistant_frontend/assets/userPreferences-D-oqBjc0.js +1 -0
- music_assistant_frontend/assets/workbox-window.prod.es5-BIl4cyR9.js +2 -0
- music_assistant_frontend/favicon.ico +0 -0
- music_assistant_frontend/index.html +28 -0
- music_assistant_frontend/manifest.webmanifest +1 -0
- music_assistant_frontend/pwa-192x192.png +0 -0
- music_assistant_frontend/pwa-512x512.png +0 -0
- music_assistant_frontend/py.typed +0 -0
- music_assistant_frontend/robots.txt +2 -0
- music_assistant_frontend/sw.js +2 -0
- music_assistant_frontend-2.17.23.dist-info/METADATA +78 -0
- music_assistant_frontend-2.17.23.dist-info/RECORD +150 -0
- music_assistant_frontend-2.17.23.dist-info/WHEEL +5 -0
- music_assistant_frontend-2.17.23.dist-info/licenses/LICENSE +201 -0
- music_assistant_frontend-2.17.23.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as h,L as F,i as I,ax as T,_ as j,aI as C,aA as n,aK as re,aH as ae,aG as v,a$ as de,ae as me,bd as V,ay as le,aF as ce,aB as k,az as y,aJ as x,q as N,aD as r,bG as G,o as g,aL as M,E as D,aN as b,bl as H,bh as Y,aP as d,b2 as q,aU as ve,ah as pe,br as W,b3 as $,bq as ye,b1 as L,by as fe,bm as J,be as K,bf as be,ba as he,bs as ge,aS as _e,r as we,b5 as X,aQ as ke,bp as Ce,bj as Se,bw as Ve,am as Me,aO as Te,bt as Z,bu as Q}from"./index-Ci6ypq6O.js";import{M as O}from"./Button-CsTMTfds.js";import{M as Ue}from"./MediaItemThumb-DT_RR5hr.js";import{V as Ee}from"./VSlider-D1oP09L0.js";import{V as Ae}from"./userPreferences-D-oqBjc0.js";const Be={inheritAttrs:!1,props:{width:String,height:String,style:String,allowWheel:Boolean},emits:["update:model-value","update:local-value"],setup(e,t){const u=h(null),l=h(0),_=h(0),o=h(0),m=h(typeof t.attrs["model-value"]=="number"?t.attrs["model-value"]:0),f=h(0),w=h(0),S=h(!1),U=h(null),s=h(0),i=h(null),a=h(0);F(m,c=>{t.emit("update:local-value",c)});const p=I(()=>({class:"player-volume",hideDetails:!0,trackSize:2,thumbSize:20,step:2,elevation:0,style:`width: ${e.width}; height:${e.height}; display: inline-grid; ${e.style}`})),P=I(()=>{const c=t.attrs,{"model-value":E,modelValue:A,...B}=c||{};return B}),R=I(()=>({...p.value,...P.value})),te=({deltaY:c})=>{if(!e.allowWheel)return;const E=R.value.step,A=c<0?E:-E,B=Math.max(0,Math.min(100,m.value+A));s.value=Date.now()+2e3,m.value=B,t.emit("update:model-value",B),U.value=B},oe=c=>{S.value||(s.value=Date.now()+1e4,l.value=c,_.value=0,m.value=c,U.value=null,T.isTouchscreen&&"vibrate"in navigator&&navigator.vibrate&&navigator.vibrate(10))},ie=c=>{S.value||(_.value++,m.value=c,_.value>2&&(i.value&&clearTimeout(i.value),i.value=setTimeout(()=>{t.emit("update:model-value",c),i.value=null},50)))},se=c=>{if(i.value&&(clearTimeout(i.value),i.value=null),S.value){S.value=!1,_.value=0,s.value=0;return}const E=Date.now();if(E-o.value<250){s.value=0;return}o.value=E;const A=R.value.step;if(_.value>3)m.value=c,t.emit("update:model-value",c),U.value=c;else if(!T.mobileLayout)m.value=c,t.emit("update:model-value",c),U.value=c;else{const B=c>l.value?A:-A,z=Math.max(0,Math.min(100,l.value+B));m.value=z,t.emit("update:model-value",z),U.value=z}_.value=0,s.value=Date.now()+1e3},ne=c=>{f.value=c.touches[0].clientX,w.value=c.touches[0].clientY,S.value=!1,a.value=m.value},ue=c=>{const E=c.touches[0].clientX,A=c.touches[0].clientY,B=Math.abs(E-f.value),z=Math.abs(A-w.value);z>5&&z>B*2&&(S.value||(S.value=!0,m.value=a.value))};return F(()=>t.attrs["model-value"],c=>{const A=Date.now()<s.value;typeof c=="number"&&(U.value!==null&&c===U.value?(m.value=c,U.value=null,s.value=0):A||(m.value=c))}),{playerVolumeProps:R,onWheel:te,sliderRef:u,onDragStart:oe,onUpdateModelValue:ie,onDragEnd:se,localValue:m,onTouchStart:ne,onTouchMove:ue}}};function qe(e,t,u,l,_,o){return n(),C(Ee,me({ref:"sliderRef"},l.playerVolumeProps,{"model-value":l.localValue,onWheel:V(l.onWheel,["prevent"]),onClick:t[0]||(t[0]=V(()=>{},["stop"])),onTouchstart:l.onTouchStart,onTouchmove:l.onTouchMove,onStart:l.onDragStart,"onUpdate:modelValue":l.onUpdateModelValue,onEnd:l.onDragEnd}),re({_:2},[ae(e.$slots,(m,f)=>({name:f,fn:v(()=>[de(e.$slots,f,{localValue:l.localValue},void 0,!0)])}))]),1040,["model-value","onWheel","onTouchstart","onTouchmove","onStart","onUpdate:modelValue","onEnd"])}const ee=j(Be,[["render",qe],["__scopeId","data-v-e4b3dbf4"]]),ze={key:1,class:"text-caption volumecaption"},Le={class:"text-caption volumecaption"},De=le({__name:"VolumeControl",props:{player:{},showSyncControls:{type:Boolean},showSubPlayers:{type:Boolean},showHeadingRow:{type:Boolean},showVolumeControl:{type:Boolean},allowWheel:{type:Boolean}},setup(e){const t=e,u=h([]),l=h([]),_=h(void 0),o=h(0),m=h({});F(()=>t.player,s=>{o.value=Math.round(s.group_members.length?s.group_volume:s.volume_level||0);for(const i of s.group_members)d?.players[i]&&!(i in m.value)&&(m.value[i]=Math.round(d.players[i].volume_level||0))},{immediate:!0,deep:!0});const f=I(()=>t.player.group_members.length>0),w=function(s,i){if(s.volume_muted)return"mdi-volume-mute";const a=i!==void 0?i:s.group_members.length?s.group_volume:s.volume_level||0;return a===0?"mdi-volume-low":a<50?"mdi-volume-medium":"mdi-volume-high"},S=function(s){const i=[];for(const a of s.group_members){const p=d?.players[a];p&&p.volume_control!=G&&p&&p.available&&!i.includes(p)&&i.push(p)}if(t.showSyncControls&&s.supported_features.includes(q.SET_MEMBERS))for(const a of Object.values(d?.players))a.player_id!=s.player_id&&(!s.can_group_with.includes(a.player_id)&&!s.can_group_with.includes(a.provider)||a.available&&a.type!=W.GROUP&&(a.active_group&&a.active_group!=s.player_id||a.active_source&&a.playback_state==$.PLAYING&&![s.player_id,a.player_id].includes(a.active_source)||i.includes(a)||i.push(a)));return i.sort((a,p)=>{const P=s.group_members.includes(a.player_id),R=s.group_members.includes(p.player_id);return P!==R?P?-1:1:a.name.toUpperCase()>p.name.toUpperCase()?1:-1}),i},U=async function(s,i){const a=t.player.player_id;i?(l.value.includes(s)&&(l.value=l.value.filter(p=>p!=s)),u.value.includes(s)||u.value.push(s),d.players[a].group_members.push(s)):(u.value.includes(s)&&(u.value=u.value.filter(p=>p!=s)),l.value.includes(s)||l.value.push(s),d.players[a].group_members=d.players[a].group_members.filter(p=>p!=s)),_.value!=null&&clearTimeout(_.value),!(u.value.length==0&&l.value.length==0)&&(_.value=setTimeout(async()=>{d.playerCommandSetMembers(a,u.value.length?u.value:void 0,l.value.length?l.value:void 0).catch(async()=>{d.players[a]=await d.getPlayer(a)}).finally(()=>{u.value=[],l.value=[]})},500))};return(s,i)=>(n(),C(ce,{style:{overflow:"hidden",padding:"0"},lines:"two"},{default:v(()=>[e.showHeadingRow?(n(),C(x,{key:0,class:"volumesliderrow heading",link:!1,style:N(e.player.powered==!1?"opacity: 0.6":"opacity: 1")},{prepend:v(()=>[g(M,{size:25,icon:e.player.icon,style:{"margin-left":"6px",opacity:"0.6"}},null,8,["icon"])]),default:v(()=>[D("h5",null,b(r(H)(e.player,27)),1)]),append:v(()=>[e.player.power_control!=r(G)?(n(),C(O,{key:0,class:"powerbtn",variant:"icon",onClick:i[0]||(i[0]=V(a=>r(d).playerCommandPowerToggle(e.player.player_id),["stop"]))},{default:v(()=>[g(M,{size:25,icon:"mdi-power"})]),_:1})):k("",!0)]),_:1},8,["style"])):k("",!0),e.showVolumeControl?(n(),C(x,{key:1,class:"volumesliderrow",link:!1,style:N(e.player.powered==!1?"opacity: 0.35":"opacity: 0.75")},{prepend:v(()=>[g(O,{icon:"",style:{height:"25px",width:"25px","min-width":"25px"},disabled:!e.player.available||e.player.powered==!1||!e.player.supported_features.includes(r(q).VOLUME_MUTE),onClick:i[1]||(i[1]=V(a=>r(d).playerCommandMuteToggle(e.player.player_id),["stop"]))},{default:v(()=>[g(M,{size:25,icon:w(e.player,o.value)},null,8,["icon"])]),_:1},8,["disabled"])]),default:v(()=>[g(ee,{color:"secondary",width:"100%","is-powered":e.player.powered!=!1,disabled:!e.player.available||e.player.powered==!1||e.player.volume_muted||!e.player.supported_features.includes(r(q).VOLUME_SET),"model-value":Math.round(e.player.group_members.length?e.player.group_volume:e.player.volume_level||0),onClick:i[2]||(i[2]=V(()=>{},["stop"])),"onUpdate:modelValue":i[3]||(i[3]=a=>e.player.group_members.length>0?r(d).playerCommandGroupVolume(e.player.player_id,a):r(d).playerCommandVolumeSet(e.player.player_id,a)),"onUpdate:localValue":i[4]||(i[4]=a=>o.value=a)},null,8,["is-powered","disabled","model-value"])]),append:v(()=>[f.value&&!e.showSubPlayers?(n(),C(M,{key:0,class:"expandbtn"},{default:v(()=>[...i[8]||(i[8]=[Y(" mdi-chevron-down ",-1)])]),_:1})):(n(),y("div",ze,b(Math.round(o.value)),1))]),_:1},8,["style"])):k("",!0),e.showSubPlayers&&(e.player.group_members.length>0||e.showSyncControls)&&S(e.player).length>0?(n(),y("div",{key:2,onClick:i[7]||(i[7]=V(()=>{},["stop"]))},[g(ve,{style:{"margin-top":"10px","margin-bottom":"15px"}}),(n(!0),y(pe,null,ae(S(e.player),a=>(n(),y("div",{key:a.player_id},[g(x,{class:"volumesliderrow",link:!1,style:N(a.powered!=!1||e.showSyncControls?"opacity: 0.75":"opacity: 0.4"),onClick:i[5]||(i[5]=V(()=>{},["stop"]))},{prepend:v(()=>[g(M,{size:30,icon:a.icon,style:{"margin-left":"6px",opacity:"0.6"}},null,8,["icon"])]),default:v(()=>[D("h6",null,b(r(ye)(a.name,27)),1)]),append:v(()=>[e.showSyncControls?(n(),C(Ae,{key:0,ripple:!1,disabled:a.player_id==e.player.player_id||e.player.static_group_members.includes(a.player_id)&&e.player.group_members.includes(a.player_id),"model-value":e.player.group_members.includes(a.player_id)||a.player_id==e.player.player_id,size:"22",class:"checkbox","onUpdate:modelValue":p=>U(a.player_id,p)},null,8,["disabled","model-value","onUpdate:modelValue"])):k("",!0)]),_:2},1032,["style"]),e.player.group_members.includes(a.player_id)?(n(),C(x,{key:0,class:"volumesliderrow",link:!1,style:N(a.powered==!1?"opacity: 0.4":"opacity: 0.75"),onClick:i[6]||(i[6]=V(()=>{},["stop"]))},{prepend:v(()=>[g(O,{icon:"",style:{height:"25px","margin-left":"5px",width:"25px","min-width":"25px"},disabled:!a.available||a.powered==!1||!a.supported_features.includes(r(q).VOLUME_MUTE),onClick:p=>r(d).playerCommandMuteToggle(a.player_id)},{default:v(()=>[g(M,{size:25,icon:w(a,m.value[a.player_id])},null,8,["icon"])]),_:2},1032,["disabled","onClick"])]),default:v(()=>[g(ee,{color:"secondary",width:"100%","is-powered":a.powered!=!1,disabled:!a.available||a.powered==!1||a.volume_muted||!a.supported_features.includes(r(q).VOLUME_SET),"allow-wheel":e.allowWheel,"model-value":Math.round(a.volume_level||0),"onUpdate:modelValue":p=>r(d).playerCommandVolumeSet(a.player_id,p),"onUpdate:localValue":p=>m.value[a.player_id]=p},null,8,["is-powered","disabled","allow-wheel","model-value","onUpdate:modelValue","onUpdate:localValue"])]),append:v(()=>[D("div",Le,b(Math.round(m.value[a.player_id]??a.volume_level??0)),1)]),_:2},1032,["style"])):k("",!0),i[9]||(i[9]=D("div",{style:{height:"14px"}},null,-1))]))),128))])):k("",!0)]),_:1}))}}),Ie=j(De,[["__scopeId","data-v-73b9316d"]]),Oe=(e,t)=>{const u=[];e?.power_control!=G&&u.push({label:e.powered?"power_off_player":"power_on_player",labelArgs:[],action:()=>{d.playerCommandPowerToggle(e.player_id)},icon:"mdi-power"}),(e?.playback_state=="playing"||e?.playback_state=="paused")&&u.push({label:"stop_playback",labelArgs:[],action:()=>{d.playerCommandStop(e.player_id)},icon:"mdi-stop"});const l=Object.values(d.players).filter(o=>o.player_id!=e.player_id&&o.available&&o.enabled&&(o.can_group_with.includes(e.provider)||o.can_group_with.includes(e.player_id))&&o.supported_features.includes(q.SET_MEMBERS)&&!o.synced_to);e.supported_features.includes(q.SET_MEMBERS)&&!e.synced_to&&e.type==W.PLAYER&&e.group_members.length==0&&l.length>0&&u.push({label:"sync_player_with",labelArgs:[],icon:"mdi-link-variant",subItems:l.map(o=>({label:o.name,labelArgs:[],action:()=>{d.playerCommandGroup(e.player_id,o.player_id)}})).sort((o,m)=>o.label.toUpperCase()>m.label?.toUpperCase()?1:-1)}),t&&u.push({label:t.shuffle_enabled?"shuffle_disable":"shuffle_enable",labelArgs:[],action:()=>{d.queueCommandShuffleToggle(t.queue_id)},icon:t.shuffle_enabled?"mdi-shuffle-disabled":"mdi-shuffle"}),t&&u.push({label:"select_repeat_mode",labelArgs:[],subItems:[{label:"repeat_mode.off",labelArgs:[],action:()=>{d.queueCommandRepeat(t.queue_id,L.OFF)},selected:t.repeat_mode==L.OFF},{label:"repeat_mode.all",labelArgs:[],action:()=>{d.queueCommandRepeat(t.queue_id,L.ALL)},selected:t.repeat_mode==L.ALL},{label:"repeat_mode.one",labelArgs:[],action:()=>{d.queueCommandRepeat(t.queue_id,L.ONE)},selected:t.repeat_mode==L.ONE}],icon:"mdi-repeat"}),t?.items&&u.push({label:"transfer_queue",icon:"mdi-swap-horizontal",subItems:Object.values(d.players).filter(o=>o.player_id!=t.queue_id&&o.player_id!=e.player_id&&o.available&&o.enabled&&!o.synced_to).map(o=>({label:o.name,labelArgs:[],action:()=>{d.queueCommandTransfer(t.queue_id,o.player_id),T.activePlayerId=o.player_id}})).sort((o,m)=>o.label.toUpperCase()>m.label?.toUpperCase()?1:-1)}),t?.items&&u.push({label:"queue_clear",labelArgs:[],action:()=>{d.queueCommandClear(t.queue_id)},icon:"mdi-cancel"});const _=e.source_list.filter(o=>!o.passive||o.id==e.active_source);return!e.synced_to&&_.length>0&&u.push({label:"select_source",labelArgs:[],icon:"mdi-import",subItems:_.map(o=>({label:o.name,labelArgs:[],disabled:o.id==e.active_source,selected:o.id==e.active_source,action:()=>{d.playerCommandGroupSelectSource(e.player_id,o.id)}})).sort((o,m)=>o.label.toUpperCase()>m.label?.toUpperCase()?1:-1)}),t&&"dont_stop_the_music_enabled"in t&&u.push({label:t.dont_stop_the_music_enabled?"dont_stop_the_music_disable":"dont_stop_the_music_enable",labelArgs:[],action:()=>{d.queueCommandDontStopTheMusicToggle(t.queue_id)},icon:"mdi-all-inclusive"}),fe.isAdmin()&&(u.push({label:"open_player_settings",labelArgs:[],action:()=>{T.showFullscreenPlayer=!1,T.showPlayersMenu=!1,J.push(`/settings/editplayer/${e.player_id}`)},icon:"mdi-cog-outline"}),e.type!==W.GROUP&&u.push({label:"open_dsp_settings",labelArgs:[],action:()=>{T.showFullscreenPlayer=!1,T.showPlayersMenu=!1,J.push(`/settings/editplayer/${e.player_id}/dsp`)},icon:"mdi-equalizer"})),u},Re={class:"player-media-thumb"},xe={key:1},$e={key:2,class:"icon-thumb"},Pe={key:0,style:{"margin-bottom":"3px"}},Ne={key:0},Ye={key:1},Fe={key:1},Ge={key:0,style:{"font-size":"0.85rem","font-weight":"500","white-space":"nowrap"}},We={key:0},Xe={key:0},He={key:1},je={key:2},Je={class:"v-list-item-subtitle",style:{"font-size":"0.85rem","white-space":"nowrap"}},Ke={key:0},Ze={key:1},Qe={key:2},ea={key:3},aa={key:4},la={key:5},ta={key:6},oa={key:7},ia=le({__name:"PlayerCard",props:{player:{},showVolumeControl:{type:Boolean},showMenuButton:{type:Boolean},showSubPlayers:{type:Boolean},showSyncControls:{type:Boolean},allowPowerControl:{type:Boolean}},emits:["click"],setup(e){const t=e,u=I(()=>{if(t.player&&t.player.active_source&&t.player.active_source in d.queues)return d.queues[t.player.active_source];if(t.player&&!t.player.active_source&&t.player.player_id in d.queues)return d.queues[t.player.player_id]}),l=I(()=>{if(u.value&&u.value.active)return u.value.current_item}),_=function(f){Te.emit("contextmenu",{items:Oe(t.player,u.value),posX:f.clientX,posY:f.clientY})},o=h({0:"",1:"",2:"",3:"",4:"",5:"",lightColor:"",darkColor:""}),m=new Image;return m.src=he.theme.current.value.dark?K:be,m.crossOrigin="Anonymous",m.addEventListener("load",function(){o.value=ge(m)}),F(l,f=>{f?.media_item?m.src=Z(f.media_item,Q.THUMB)||"":f?m.src=Z(f,Q.THUMB)||"":m.src=""},{immediate:!0}),(f,w)=>(n(),C(_e,{flat:"",class:we(["panel-item",{"panel-item-selected":e.player.player_id==r(T).activePlayerId,"panel-item-idle":e.player.playback_state==r($).IDLE,"panel-item-off":e.player.powered==!1}]),ripple:!1,disabled:!e.player.available,onClick:w[2]||(w[2]=S=>f.$emit("click",e.player))},{default:v(()=>[g(x,{class:"panel-item-details",flat:"",ripple:!1},{prepend:v(()=>[D("div",Re,[e.player.powered!=!1&&l.value?(n(),C(Ue,{key:0,class:"media-thumb",size:"60",item:l.value,fallback:r(K)},null,8,["item","fallback"])):e.player.powered!=!1&&!u.value&&e.player.current_media?.image_url?(n(),y("div",xe,[g(Me,{class:"media-thumb",size:"60",src:e.player.current_media.image_url},null,8,["src"])])):(n(),y("div",$e,[g(M,{size:"24",icon:e.player.type==r(W).PLAYER&&e.player.group_members.length?"mdi-speaker-multiple":e.player.icon,style:{display:"table-cell",opacity:"0.8"}},null,8,["icon"])]))])]),title:v(()=>[r(Ve).player_id===e.player.player_id?(n(),y("div",Pe,[e.player.name=="This Device"?(n(),y("span",Ne,b(f.$t("this_device")),1)):(n(),y("span",Ye,b(r(H)(e.player,27)),1)),g(M,{size:"20",class:"ml-2",icon:r(T).deviceType=="phone"?"mdi-cellphone":"mdi-monitor"},null,8,["icon"])])):(n(),y("div",Fe,b(r(H)(e.player,27)),1))]),subtitle:v(()=>[e.player.powered!=!1?(n(),y("div",Ge,[l.value?.media_item?(n(),y("div",We,[Y(b(l.value?.media_item.name)+" ",1),"version"in l.value?.media_item&&l.value?.media_item.version?(n(),y("span",Xe,"("+b(l.value?.media_item.version)+")",1)):k("",!0)])):l.value?(n(),y("div",He,b(l.value?.name),1)):!u.value&&e.player.current_media?.title?(n(),y("div",je,b(e.player.current_media.title),1)):k("",!0)])):k("",!0)]),default:v(()=>[D("div",Je,[e.player.powered==!1?(n(),y("div",Ke,b(f.$t("off")),1)):l.value?.media_item&&l.value?.media_item?.media_type==r(ke).TRACK&&"album"in l.value?.media_item&&l.value?.media_item.album?(n(),y("div",Ze,b(r(Ce)(l.value?.media_item.artists))+" • "+b(l.value?.media_item.album.name),1)):l.value?.media_item&&"artists"in l.value?.media_item&&l.value?.media_item.artists.length>0?(n(),y("div",Qe,b(l.value?.media_item.artists[0].name),1)):l.value?.streamdetails?.stream_metadata&&l.value?.streamdetails?.stream_metadata.title&&l.value?.streamdetails?.stream_metadata.artist?(n(),y("div",ea,b(l.value?.streamdetails?.stream_metadata.artist)+" - "+b(l.value?.streamdetails?.stream_metadata.title),1)):l.value?.streamdetails?.stream_metadata&&l.value?.streamdetails?.stream_metadata.title?(n(),y("div",aa,b(l.value?.streamdetails?.stream_metadata.title),1)):l.value?.media_item?.metadata.description?(n(),y("div",la,b(l.value?.media_item.metadata.description),1)):!u.value&&e.player.active_source?(n(),y("div",ta,b(f.$t("external_source_active",[r(Se)(e.player)])),1)):u.value?.items==0?(n(),y("div",oa,b(f.$t("queue_empty")),1)):k("",!0)])]),append:v(()=>[e.player.playback_state==r($).PAUSED||e.player.playback_state==r($).PLAYING||u.value?.items?(n(),C(O,{key:0,variant:"icon",class:"player-command-btn",onClick:w[0]||(w[0]=V(S=>{r(d).playerCommandPlayPause(e.player.player_id),r(T).activePlayerId=e.player.player_id},["stop"]))},{default:v(()=>[g(M,{size:r(X)({breakpoint:"phone"})?"30":"32",icon:e.player.playback_state==r($).PLAYING?"mdi-pause":"mdi-play"},null,8,["size","icon"])]),_:1})):k("",!0),e.player.power_control!=r(G)&&e.allowPowerControl?(n(),C(O,{key:1,variant:"icon",class:"player-command-btn",onClick:w[1]||(w[1]=V(S=>{r(d).playerCommandPowerToggle(e.player.player_id),r(T).activePlayerId=e.player.player_id},["stop"]))},{default:v(()=>[g(M,{size:r(X)({breakpoint:"phone"})?"30":"32"},{default:v(()=>[...w[3]||(w[3]=[Y("mdi-power",-1)])]),_:1},8,["size"])]),_:1})):k("",!0),e.showMenuButton?(n(),C(O,{key:2,variant:"icon",class:"player-command-btn",style:{"margin-right":"-5px"},onClick:V(_,["stop"])},{default:v(()=>[g(M,{size:r(X)({breakpoint:"phone"})?"30":"32"},{default:v(()=>[...w[4]||(w[4]=[Y("mdi-dots-vertical",-1)])]),_:1},8,["size"])]),_:1})):k("",!0)]),_:1}),e.showVolumeControl?(n(),C(Ie,{key:0,player:e.player,"show-sync-controls":e.showSyncControls,"show-heading-row":!1,"show-sub-players":e.showSubPlayers,"show-volume-control":e.player.powered!=!1,"allow-wheel":!1},null,8,["player","show-sync-controls","show-sub-players","show-volume-control"])):k("",!0)]),_:1},8,["class","disabled"]))}}),ma=j(ia,[["__scopeId","data-v-f0fdac10"]]);export{ee as P,Ie as V,ma as a,Oe as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.filters-container[data-v-633d1c4d]{display:flex;align-items:stretch;gap:12px;flex:1;flex-wrap:wrap}.search-field[data-v-633d1c4d]{flex:1 1 auto;min-width:250px;max-width:400px}.filter-buttons[data-v-633d1c4d]{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.filter-buttons .v-btn[data-v-633d1c4d]{min-width:100px;border-color:rgba(var(--v-theme-on-surface),.2);color:rgba(var(--v-theme-on-surface),.6)}.filter-buttons .v-btn .v-icon[data-v-633d1c4d]{color:rgba(var(--v-theme-on-surface),.6)}@media (max-width: 960px){.filters-container[data-v-633d1c4d]{flex-direction:column;align-items:stretch}.search-field[data-v-633d1c4d]{width:100%;min-width:100%}.filter-buttons[data-v-633d1c4d]{width:100%}.filter-buttons .v-btn[data-v-633d1c4d]{flex:1 1 auto;min-width:120px}}[data-v-633d1c4d] .v-list-item .v-checkbox-btn,[data-v-633d1c4d] .v-list-item .v-checkbox-btn .v-input__control{display:flex;align-items:center}[data-v-633d1c4d] .v-list-item .v-checkbox-btn .v-selection-control{min-height:auto}.provider-filter-list[data-v-633d1c4d]{max-height:300px;overflow-y:auto}.player-card[data-v-65c70472]{transition:all .2s ease;cursor:pointer}.player-card[data-v-65c70472]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.player-description[data-v-65c70472]{display:flex;flex-direction:column;gap:4px}.provider-name[data-v-65c70472]{font-size:14px;color:rgba(var(--v-theme-on-surface),.7);font-weight:500}.player-type-label[data-v-65c70472]{font-size:12px;color:rgba(var(--v-theme-on-surface),.5);text-transform:uppercase;letter-spacing:.5px}.add-player-group-dialog[data-v-9b9fa156]{height:600px;display:flex;flex-direction:column}.search-field[data-v-9b9fa156]{width:100%}.provider-list-container[data-v-9b9fa156]{height:400px;display:flex;flex-direction:column}.provider-list[data-v-9b9fa156]{flex:1;overflow-y:auto}.provider-item[data-v-9b9fa156]{height:80px;margin-bottom:4px;transition:all .2s ease;cursor:pointer}.provider-item[data-v-9b9fa156]:hover{background-color:rgba(var(--v-theme-primary),.04);transform:translateY(-1px)}.provider-icon[data-v-9b9fa156]{margin-right:12px}.provider-name[data-v-9b9fa156]{font-weight:500;font-size:16px;line-height:1.2;margin-bottom:4px}.provider-description[data-v-9b9fa156]{font-size:14px;color:rgba(var(--v-theme-on-surface),.6);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:2.6em}.empty-state[data-v-9b9fa156]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px 20px}.empty-icon[data-v-9b9fa156]{color:rgba(var(--v-theme-on-surface),.3);margin-bottom:16px}.empty-title[data-v-9b9fa156]{font-size:18px;font-weight:500;color:rgba(var(--v-theme-on-surface),.7);margin-bottom:8px}.empty-message[data-v-9b9fa156]{font-size:14px;color:rgba(var(--v-theme-on-surface),.5);line-height:1.4}@media (max-width: 600px){.add-player-group-dialog[data-v-9b9fa156]{height:500px}.provider-list-container[data-v-9b9fa156]{height:300px}}.players-header[data-v-66017369]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 20px 6px}.add-player-group-btn[data-v-66017369]{flex-shrink:0;align-self:flex-start;margin-top:0}@media (max-width: 960px){.players-header[data-v-66017369]{flex-direction:column;align-items:stretch}.add-player-group-btn[data-v-66017369]{width:100%;align-self:stretch;margin-top:0}}@media (min-width: 961px) and (max-width: 1400px){.players-header[data-v-66017369]{flex-wrap:wrap}.add-player-group-btn[data-v-66017369]{margin-top:12px}}.empty-state[data-v-66017369]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;width:100%}.empty-icon[data-v-66017369]{color:rgba(var(--v-theme-on-surface),.3);margin-bottom:16px}.empty-title[data-v-66017369]{font-size:18px;font-weight:500;color:rgba(var(--v-theme-on-surface),.7);margin-bottom:8px}.empty-message[data-v-66017369]{font-size:14px;color:rgba(var(--v-theme-on-surface),.5);line-height:1.4}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as se}from"./Container-DVyrkl2H.js";import{ay as B,J as $,i as b,aP as n,ce as oe,br as h,aT as f,L as N,az as L,aA as p,o as s,E as k,bH as te,aD as R,M as U,aG as l,bh as T,aN as v,aL as O,b4 as K,aF as X,ah as z,aH as S,aE as Q,bD as ie,aI as E,aJ as H,aM as Z,bd as D,aV as W,_ as F,bg as ae,c3 as J,aB as x,aS as le,aR as G,ax as ne,bb as re,a4 as de,bP as ue,bQ as pe,cr as ce,aO as me}from"./index-Ci6ypq6O.js";import{V as ee}from"./VCheckboxBtn-lg4Bkg3S.js";import{S as ve}from"./constants-CXMxJR4j.js";import{V as ye}from"./VDialog-DofGN8Yd.js";import"./index-kQIztB-E.js";import"./VSelectionControl-CuEKzbGp.js";const _e={class:"filters-container"},fe={class:"d-flex ga-2 filter-buttons"},ge=B({__name:"PlayerFilters",emits:["update:search","update:providers","update:types"],setup(Y,{emit:w}){const d=Q(),c=ie(),m=$(""),g=$([]),y=$([]);let A=null,C=null,i=null;const _=b(()=>Object.values(n.providers).filter(a=>a.available&&a.type===oe.PLAYER&&a.lookup_key!=="builtin_player"&&a.domain!=="builtin_player").map(a=>({lookup_key:a.lookup_key,domain:a.domain,name:a.name||n.providerManifests[a.domain]?.name||a.domain})).sort((a,e)=>a.name.localeCompare(e.name))),u=b(()=>[{title:f("player_type.player"),value:h.PLAYER},{title:f("player_type.group"),value:h.GROUP},{title:f("player_type.stereo_pair"),value:h.STEREO_PAIR}]),V=w,I=function(o){const a=g.value.indexOf(o);a>-1?g.value.splice(a,1):g.value.push(o)},q=function(o){const a=y.value.indexOf(o);a>-1?y.value.splice(a,1):y.value.push(o)},P=function(){if(c.query.search&&(m.value=c.query.search),c.query.providers){const o=c.query.providers;g.value=o.split(",")}if(c.query.types){const o=c.query.types;y.value=o.split(",")}};return N(m,o=>{V("update:search",o),A&&clearTimeout(A),A=setTimeout(()=>{const a={...c.query};o?a.search=o:delete a.search,d.replace({query:a})},750)}),N(g,o=>{V("update:providers",o),C&&clearTimeout(C),C=setTimeout(()=>{const a={...c.query};o.length>0?a.providers=o.join(","):delete a.providers,d.replace({query:a})},750)},{deep:!0}),N(y,o=>{V("update:types",o),i&&clearTimeout(i),i=setTimeout(()=>{const a={...c.query};o.length>0?a.types=o.join(","):delete a.types,d.replace({query:a})},750)},{deep:!0}),P(),(o,a)=>(p(),L("div",_e,[s(te,{modelValue:m.value,"onUpdate:modelValue":a[0]||(a[0]=e=>m.value=e),"prepend-inner-icon":"mdi-magnify",label:R(f)("search"),variant:"outlined",density:"compact",clearable:"","hide-details":"",class:"search-field"},null,8,["modelValue","label"]),k("div",fe,[s(U,{height:"40",elevation:"0",variant:"outlined",density:"compact"},{default:l(()=>[T(v(R(f)("settings.player_provider"))+" ",1),s(O,{end:""},{default:l(()=>[...a[1]||(a[1]=[T("mdi-chevron-down",-1)])]),_:1}),s(K,{activator:"parent","close-on-content-click":!1},{default:l(()=>[s(X,{class:"provider-filter-list"},{default:l(()=>[(p(!0),L(z,null,S(_.value,e=>(p(),E(H,{key:e.lookup_key,value:e.lookup_key,onClick:t=>I(e.lookup_key)},{prepend:l(()=>[s(W,{domain:e.domain,size:26,class:"media-thumb",style:{"margin-right":"12px"}},null,8,["domain"])]),append:l(()=>[s(ee,{"model-value":g.value.includes(e.lookup_key),onClick:D(t=>I(e.lookup_key),["stop"])},null,8,["model-value","onClick"])]),default:l(()=>[s(Z,null,{default:l(()=>[T(v(e.name),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),s(U,{height:"40",elevation:"0",variant:"outlined",density:"compact"},{default:l(()=>[T(v(R(f)("settings.player_type_label"))+" ",1),s(O,{end:""},{default:l(()=>[...a[2]||(a[2]=[T("mdi-chevron-down",-1)])]),_:1}),s(K,{activator:"parent","close-on-content-click":!1},{default:l(()=>[s(X,null,{default:l(()=>[(p(!0),L(z,null,S(u.value,(e,t)=>(p(),E(H,{key:t,value:t,onClick:r=>q(e.value)},{append:l(()=>[s(ee,{"model-value":y.value.includes(e.value),onClick:D(r=>q(e.value),["stop"])},null,8,["model-value","onClick"])]),default:l(()=>[s(Z,null,{default:l(()=>[T(v(e.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})])]))}}),be=F(ge,[["__scopeId","data-v-633d1c4d"]]),ke={class:"provider-name"},Pe={key:0,class:"player-type-label"},he=B({__name:"SettingsPlayerCard",props:{playerConfig:{}},emits:["click","menu"],setup(Y,{emit:w}){const d=Y,c=w,m=b(()=>n.players[d.playerConfig.player_id]),g=b(()=>m.value?.available??!1),y=b(()=>n.getProviderManifest(d.playerConfig.provider)?.domain||d.playerConfig.provider),A=b(()=>n.getProviderManifest(d.playerConfig.provider)?.name||d.playerConfig.provider),C=b(()=>d.playerConfig.name||m.value?.name||d.playerConfig.default_name||d.playerConfig.player_id),i=b(()=>m.value?.type??h.PLAYER),_=b(()=>f(`player_type.${i.value}`)),u=b(()=>({[h.PLAYER]:"mdi-speaker",[h.GROUP]:"mdi-speaker-multiple",[h.STEREO_PAIR]:"mdi-speaker-wireless"})[i.value]||"mdi-speaker"),V=b(()=>i.value===h.PLAYER?null:f(`player_type.${i.value}`)),I=()=>{c("click",d.playerConfig)},q=P=>{c("menu",P,d.playerConfig)};return(P,o)=>(p(),E(le,{class:"flex-fill rounded-lg player-card","min-height":"200px",onClick:I},{prepend:l(()=>[s(W,{domain:y.value,size:50,class:"listitem-media-thumb",style:{"margin-top":"5px","margin-bottom":"5px"}},null,8,["domain"])]),append:l(()=>[Y.playerConfig.enabled?g.value?x("",!0):(p(),E(U,{key:1,variant:"text",size:"small",icon:"",title:R(f)("settings.player_not_available"),onClick:o[1]||(o[1]=D(()=>{},["stop"]))},{default:l(()=>[s(O,{icon:"mdi-timer-sand"})]),_:1},8,["title"])):(p(),E(U,{key:0,variant:"text",size:"small",icon:"",title:R(f)("settings.player_disabled"),onClick:o[0]||(o[0]=D(()=>{},["stop"]))},{default:l(()=>[s(O,{color:"grey"},{default:l(()=>[...o[3]||(o[3]=[T("mdi-cancel",-1)])]),_:1})]),_:1},8,["title"])),s(U,{variant:"text",size:"small",icon:"",title:_.value,onClick:o[2]||(o[2]=D(()=>{},["stop"]))},{default:l(()=>[s(O,{icon:u.value},null,8,["icon"])]),_:1},8,["title"]),s(U,{icon:"mdi-dots-vertical",size:"small",variant:"text",onClick:D(q,["stop"])})]),default:l(()=>[s(ae,null,{default:l(()=>[T(v(C.value),1)]),_:1}),s(J,{class:"player-description"},{default:l(()=>[k("div",ke,v(A.value),1),V.value?(p(),L("div",Pe,v(V.value),1)):x("",!0)]),_:1})]),_:1}))}}),Ce=F(he,[["__scopeId","data-v-65c70472"]]),Re={class:"text-h6"},Ee={class:"provider-list-container"},Ae={class:"provider-name"},Ve={class:"provider-description"},Te={key:1,class:"empty-state"},$e={class:"empty-title"},Le={class:"empty-message"},we=B({__name:"AddPlayerGroupDialog",props:{show:{type:Boolean,default:!1}},emits:["update:show"],setup(Y,{emit:w}){const d=w,c=Q(),m=$(""),g=b(()=>Object.values(n.providers).filter(i=>i.available&&(i.supported_features.includes(G.CREATE_GROUP_PLAYER)||i.supported_features.includes(G.SYNC_PLAYERS))).map(i=>({lookup_key:i.lookup_key,domain:i.domain,name:i.name||n.providerManifests[i.domain]?.name||i.domain,description:n.providerManifests[i.domain]?.description||f("settings.playerprovider")})).sort((i,_)=>i.name.localeCompare(_.name))),y=b(()=>{let i=g.value;if(m.value){const _=m.value.toLowerCase();i=i.filter(u=>u.name.toLowerCase().includes(_)||u.description.toLowerCase().includes(_))}return i}),A=function(i){c.push(`/settings/addgroup/${i}`),C()},C=function(){d("update:show",!1)};return N(()=>n.providers,()=>{},{immediate:!0}),(i,_)=>(p(),E(ye,{"model-value":Y.show,"max-width":"800px",scrollable:"","onUpdate:modelValue":_[1]||(_[1]=u=>{R(ne).dialogActive=u,d("update:show",u)})},{default:l(()=>[s(le,{class:"add-player-group-dialog"},{default:l(()=>[s(ae,{class:"d-flex align-center justify-space-between pa-4"},{default:l(()=>[k("span",Re,v(R(f)("settings.add_group_player")),1),s(U,{icon:"mdi-close",variant:"text",size:"small",onClick:C})]),_:1}),s(J,{class:"pa-4 pb-2"},{default:l(()=>[s(te,{modelValue:m.value,"onUpdate:modelValue":_[0]||(_[0]=u=>m.value=u),"prepend-inner-icon":"mdi-magnify",placeholder:R(f)("search"),variant:"outlined",density:"compact",clearable:"","hide-details":"",class:"search-field"},null,8,["modelValue","placeholder"])]),_:1}),s(J,{class:"pa-4 pt-2"},{default:l(()=>[k("div",Ee,[y.value.length>0?(p(),E(X,{key:0,class:"provider-list"},{default:l(()=>[(p(!0),L(z,null,S(y.value,u=>(p(),E(H,{key:u.lookup_key,style:{padding:"0"},class:"provider-item",rounded:"lg",onClick:V=>A(u.lookup_key)},{prepend:l(()=>[s(W,{domain:u.domain,size:40,class:"provider-icon"},null,8,["domain"])]),title:l(()=>[k("div",Ae,v(u.name),1)]),subtitle:l(()=>[k("div",Ve,v(u.description),1)]),append:l(()=>[s(O,{icon:"mdi-chevron-right",size:"small"})]),_:2},1032,["onClick"]))),128))]),_:1})):(p(),L("div",Te,[s(O,{icon:"mdi-magnify",size:"48",class:"empty-icon"}),k("div",$e,v(R(f)("no_content")),1),k("div",Le,v(R(f)("no_content_filter")),1)]))])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Me=F(we,[["__scopeId","data-v-9b9fa156"]]),Ue={class:"players-header w-100"},Oe={class:"pl-5 font-weight-medium"},Ye={key:0,class:"empty-state"},Ie={class:"empty-title"},qe={class:"empty-message"},De=B({__name:"Players",setup(Y){const w=Q(),d=$([]),c=$(""),m=$([]),g=$([]),y=$(!1),A=n.subscribe_multi([re.PLAYER_CONFIG_UPDATED],()=>{i()});de(A);const C=b(()=>Object.values(n.providers).filter(e=>e.available&&(e.supported_features.includes(G.CREATE_GROUP_PLAYER)||e.supported_features.includes(G.SYNC_PLAYERS))).sort((e,t)=>(e.name||n.providerManifests[e.domain].name).toUpperCase()>(t.name||n.providerManifests[t.domain].name).toUpperCase()?1:-1)),i=async function(){d.value=(await n.getPlayerConfigs()).filter(e=>e.provider!="builtin_player").sort((e,t)=>P(e).localeCompare(P(t)))},_=function(e){n.removePlayer(e).then(()=>{d.value=d.value.filter(t=>t.player_id!=e)})},u=function(e,t){n.getProvider(t)&&w.push(`/settings/editplayer/${e}`)},V=function(e){w.push(`/settings/editplayer/${e}/dsp`)},I=function(e){const t=n.players[e];return t?t.type===h.GROUP?t.player_id.startsWith(ve)||n.getProvider(t.provider)?.supported_features.includes(G.REMOVE_GROUP_PLAYER):n.getProvider(t.provider)?.supported_features.includes(G.REMOVE_PLAYER):!0},q=function(e){e.enabled=!e.enabled,n.savePlayerConfig(e.player_id,{enabled:e.enabled})},P=function(e){return e.name||n.players[e.player_id]?.name||e.default_name||e.player_id},o=function(e,t){const r=[{label:"settings.configure",labelArgs:[],action:()=>{u(t.player_id,t.provider)},icon:"mdi-cog",disabled:!n.getProvider(t.provider)},{label:"open_dsp_settings",labelArgs:[],action:()=>{V(t.player_id)},icon:"mdi-equalizer",hide:n.players[t.player_id]?.type===h.GROUP},{label:t.enabled?"settings.disable":"settings.enable",labelArgs:[],action:()=>{q(t)},icon:"mdi-cancel",hide:!n.getProvider(t.provider)},{label:"settings.documentation",labelArgs:[],action:()=>{ce(n.getProviderManifest(t.provider)?.documentation||"")},icon:"mdi-bookshelf",disabled:!n.getProviderManifest(t.provider)?.documentation},{label:"settings.delete",labelArgs:[],action:()=>{_(t.player_id)},icon:"mdi-delete",hide:!I(t.player_id)}];me.emit("contextmenu",{items:r,posX:e.clientX,posY:e.clientY})},a=function(){let e=[...d.value];if(c.value){const t=c.value.toLowerCase();e=e.filter(r=>{const M=P(r).toLowerCase(),j=(n.getProviderManifest(r.provider)?.name||r.provider).toLowerCase();return M.includes(t)||j.includes(t)})}return m.value.length>0&&(e=e.filter(t=>{const r=n.getProvider(t.provider);return r?m.value.includes(r.lookup_key):!1})),g.value.length>0&&(e=e.filter(t=>{const M=n.players[t.player_id]?.type??h.PLAYER;return g.value.includes(M)})),e.sort((t,r)=>P(t).localeCompare(P(r)))};return N(()=>n.players,e=>{e&&i()},{immediate:!0}),(e,t)=>(p(),L("div",null,[k("div",Ue,[s(be,{"onUpdate:search":t[0]||(t[0]=r=>c.value=r),"onUpdate:providers":t[1]||(t[1]=r=>m.value=r),"onUpdate:types":t[2]||(t[2]=r=>g.value=r)}),C.value.length>0?(p(),E(U,{key:0,color:"primary",variant:"outlined",height:"40",class:"add-player-group-btn",onClick:t[3]||(t[3]=r=>y.value=!0)},{default:l(()=>[T(v(e.$t("settings.add_group_player")),1)]),_:1})):x("",!0)]),k("div",Oe,v(e.$t("settings.players_total",[a().length,a().length!==1?"s":""])),1),s(se,{variant:"comfortable",class:"mt-4"},{default:l(()=>[s(ue,null,{default:l(()=>[(p(!0),L(z,null,S(a(),r=>(p(),E(pe,{key:r.player_id,cols:"12",md:"6",lg:"4",class:"d-flex"},{default:l(()=>[s(Ce,{"player-config":r,onClick:t[4]||(t[4]=M=>u(M.player_id,M.provider)),onMenu:t[5]||(t[5]=(M,j)=>o(M,j))},null,8,["player-config"])]),_:2},1024))),128))]),_:1}),a().length===0?(p(),L("div",Ye,[s(O,{icon:"mdi-speaker-off",size:"64",class:"empty-icon"}),k("div",Ie,v(e.$t("no_content")),1),k("div",qe,v(e.$t("no_content_filter")),1)])):x("",!0)]),_:1}),s(Me,{show:y.value,"onUpdate:show":t[6]||(t[6]=r=>y.value=r)},null,8,["show"])]))}}),je=F(De,[["__scopeId","data-v-66017369"]]);export{je as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as f}from"./ItemsListing-Bao8c9rP.js";import{I as v,_ as y}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-DHz8rGQ5.js";import{ay as I,J as l,L as h,a3 as k,aP as r,bb as _,a4 as b,az as w,aA as i,o as D,aI as m,aB as n,ah as P}from"./index-Ci6ypq6O.js";import"./Container-DVyrkl2H.js";import"./index-kQIztB-E.js";import"./Toolbar-DNqs9OXR.js";import"./VToolbar-CTLIwz5x.js";import"./Button-CsTMTfds.js";import"./ListItem-Emhe-KUj.js";import"./userPreferences-D-oqBjc0.js";import"./VCheckboxBtn-lg4Bkg3S.js";import"./VSelectionControl-CuEKzbGp.js";import"./MediaItemThumb-DT_RR5hr.js";import"./PanelviewItemCompact-pmyYhZHE.js";import"./VInfiniteScroll-C4zaTPzz.js";import"./VVirtualScroll-RawLIXgS.js";import"./VAlert-Kj2m6TCt.js";import"./VSnackbar-DsamuEmf.js";import"./marquee_text_sync-D_iJsxcD.js";import"./VDialog-DofGN8Yd.js";const K=I({__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)};h(()=>t.itemId,a=>{a&&u()},{immediate:!0}),k(()=>{const a=r.subscribe(_.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(P,null,[D(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{K as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as f,_ as v}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-DHz8rGQ5.js";import{I}from"./ItemsListing-Bao8c9rP.js";import{ay as _,J as m,L as h,a3 as b,aP as o,bb as y,a4 as k,az as w,aA as s,o as E,aI as p,aB as n,ah as D}from"./index-Ci6ypq6O.js";import"./Toolbar-DNqs9OXR.js";import"./VToolbar-CTLIwz5x.js";import"./marquee_text_sync-D_iJsxcD.js";import"./MediaItemThumb-DT_RR5hr.js";import"./VDialog-DofGN8Yd.js";import"./Container-DVyrkl2H.js";import"./index-kQIztB-E.js";import"./ListItem-Emhe-KUj.js";import"./Button-CsTMTfds.js";import"./userPreferences-D-oqBjc0.js";import"./VCheckboxBtn-lg4Bkg3S.js";import"./VSelectionControl-CuEKzbGp.js";import"./PanelviewItemCompact-pmyYhZHE.js";import"./VInfiniteScroll-C4zaTPzz.js";import"./VVirtualScroll-RawLIXgS.js";import"./VAlert-Kj2m6TCt.js";import"./VSnackbar-DsamuEmf.js";const K=_({__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}),b(()=>{const a=o.subscribe(y.MEDIA_ITEM_UPDATED,r=>{const c=r.data;t.value?.uri==c.uri&&(i.value=!0)});k(a)});const u=async function(a){return await o.getPodcastEpisodes(e.itemId,e.provider)};return(a,r)=>(s(),w(D,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{K as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.v-layout{--v-scrollbar-offset: 0px;display:flex;flex:1 1 auto}.v-layout--full-height{--v-scrollbar-offset: inherit;height:100%}.background-image[data-v-7debb90f]{position:absolute}.background-image .v-img__img--cover[data-v-7debb90f]{object-position:50% 20%}.v-card--variant-elevated[data-v-7debb90f]{box-shadow:none;border-width:1px;border-style:solid;font-size:smaller}
|
music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-DHz8rGQ5.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{g as te,p as ie,bY as ae,bZ as ne,n as le,E as h,q as P,r as _,b_ as oe,b$ as se,C as re,ay as Y,az as r,aA as t,o as i,M as T,aG as a,aL as V,aK as me,aI as y,b8 as ue,J as F,a8 as de,L as ce,i as R,c0 as ye,aQ as q,bt as N,bu as E,aS as O,aD as f,aB as d,bJ as fe,am as M,bE as ge,bg as he,bh as B,aN as m,bi as L,c1 as be,c2 as ke,ae as ve,ah as z,aH as A,ax as G,bq as xe,bd as j,aP as S,aV as W,c3 as pe,bV as $e,aE as Ce,c4 as we,bK as Ve,c5 as Te,_ as Ie,bN as Le,c6 as De,aU as Be,aF as Pe,c7 as Re,aW as Q,c8 as ze,b5 as Ae}from"./index-Ci6ypq6O.js";import{T as ee}from"./Toolbar-DNqs9OXR.js";import{M as D,a as Se}from"./marquee_text_sync-D_iJsxcD.js";import{M as X}from"./MediaItemThumb-DT_RR5hr.js";import{V as He}from"./VDialog-DofGN8Yd.js";import{C as Ue}from"./Container-DVyrkl2H.js";import{L as Z}from"./ListItem-Emhe-KUj.js";const Ne=ie({...re(),...se(),...oe()},"VLayout"),Ee=te()({name:"VLayout",props:Ne(),setup(e,c){let{slots:g}=c;const{layoutClasses:x,layoutStyles:p,getLayoutItem:b,items:I,layoutRef:$}=ae(e),{dimensionStyles:k}=ne(e);return le(()=>h("div",{ref:$,class:_([x.value,e.class]),style:P([k.value,p.value,e.style])},[g.default?.()])),{getLayoutItem:b,items:I}}}),Fe=Y({__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(x,p)=>(t(),r("div",{style:P(`width: ${e.width}px; height: 30px;`)},[i(T,{variant:"tonal",style:P(`
|
|
2
|
+
width: ${e.width}px;
|
|
3
|
+
position: absolute;
|
|
4
|
+
border: 1px solid #cccccc4d;
|
|
5
|
+
height: 38px;
|
|
6
|
+
margin-top: -1px;
|
|
7
|
+
margin-left: -1px;
|
|
8
|
+
`),disabled:e.loading,onClick:p[0]||(p[0]=b=>g("menu"))},{default:a(()=>[i(V,{icon:"mdi-menu-down",size:"xx-large",style:P(`width: 20px; margin-left: ${e.width-42}px`)},null,8,["style"])]),_:1},8,["style","disabled"]),i(T,{color:"primary",flat:"",disabled:e.disabled||e.loading,style:P(`width: ${e.width-40}px; justify-content: left;`),text:e.text,onClick:p[1]||(p[1]=b=>g("click"))},me({_:2},[e.icon&&e.text.length<12||e.loading?{name:"prepend",fn:a(()=>[e.loading?(t(),y(ue,{key:0,color:"grey-lighten-5",indeterminate:""})):(t(),y(V,{key:1,icon:e.icon,size:"x-large"},null,8,["icon"]))]),key:"0"}:void 0]),1032,["disabled","style","text"])],4))}}),qe={key:0,xs5:"","pa-5":"",style:{height:"80%","min-width":"230px","margin-top":"25px","margin-bottom":"15px","margin-right":"24px","align-content":"center","flex-shrink":"0"}},je={key:0},Ke={key:1},Ge={style:{"min-width":"0"}},We=["src"],Ye={style:{"padding-bottom":"10px"}},Je=["onClick"],Oe={style:{color:"accent"}},Qe={style:{color:"accent"}},Xe={style:{color:"primary"}},Ze={style:{display:"flex","margin-left":"14px","padding-bottom":"10px",cursor:"pointer !important"}},_e=["innerHTML"],Me={key:3,class:"justify-center",style:{"margin-left":"15px","padding-bottom":"20px"}},et=Y({__name:"InfoHeader",props:{item:{}},setup(e){const c=e,g=F(!1),x=F(),{mobile:p}=de(),b=F([]),I=new URL(""+new URL("info_gradient-C5d1dalX.jpg",import.meta.url).href,import.meta.url).href,$=new Se,k=Ce();ce(()=>c.item,async l=>{l?(x.value=N(l,E.FANART)||N(l,E.LANDSCAPE)||N(l,E.THUMB)||I,b.value=await Te([l],l)):(x.value=I,b.value=[])},{immediate:!0});const H=function(l){k.push({name:"album",params:{itemId:l.item_id,provider:l.provider}})},U=function(l){k.push({name:"artist",params:{itemId:l.item_id,provider:l.provider}})},K=function(){if(G.prevRoute){k.back();return}const l=k.currentRoute.value.name?.toString()||"";for(const s of["artist","album","track","playlist","radio"])if(l.includes(s)){k.push({name:`${s}s`});return}k.push({name:"home"})},o=function(l=!1){const s=document.getElementById("playbutton");we(c.item,s.getBoundingClientRect().left,s.getBoundingClientRect().top+36,void 0,l)},v=R(()=>c.item?c.item.metadata&&c.item.metadata.description?c.item.metadata.description:c.item.metadata&&c.item.metadata.copyright?c.item.metadata.copyright:("artists"in c.item&&c.item.artists.forEach(function(l){if("metadata"in l&&l.metadata.description)return l.metadata.description}),""):""),n=R(()=>ye(v.value)),C=R(()=>{const l=p.value?160:300;return v.value.length>l?n.value.substring(0,l)+"...":n.value}),J=R(()=>{if(c.item&&c.item.media_type==q.ARTIST)return N(c.item,E.LOGO)});return(l,s)=>(t(),r("div",null,[i(O,{variant:"flat",img:f(I),style:{"z-index":"0","border-radius":"0px"},height:"25vh","max-height":"500px","min-height":"340px"},{default:a(()=>[e.item?d("",!0):(t(),y(fe,{key:0,indeterminate:""})),i(M,{width:"100%",height:"100%",cover:"",class:"background-image",src:x.value,gradient:l.$vuetify.theme.current.dark?"to bottom, rgba(0,0,0,.90), rgba(0,0,0,.75)":"to bottom, rgba(255,255,255,.90), rgba(255,255,255,.75)"},null,8,["src","gradient"]),i(ee,{icon:"mdi-arrow-left",style:{position:"absolute"},"menu-items":b.value,"enforce-overflow-menu":!0,"show-loading":!0,"icon-action":K},null,8,["menu-items"]),e.item?(t(),y(Ee,{key:1,style:{margin:"0",top:"55%","-ms-transform":"translateY(-50%)",transform:"translateY(-50%)","padding-left":"15px","align-items":"center","padding-right":"15px",display:"flex",width:"100%"}},{default:a(()=>[l.$vuetify.display.mobile?d("",!0):(t(),r("div",qe,[e.item.media_type&&e.item.media_type==f(q).ARTIST?(t(),r("div",je,[i(ge,{size:"210",style:{"margin-bottom":"10%"}},{default:a(()=>[i(X,{item:e.item,size:"calc(100%)"},null,8,["item"])]),_:1})])):(t(),r("div",Ke,[i(X,{item:e.item,size:"calc(100%)",style:{"max-height":"256px"}},null,8,["item"])]))])),h("div",Ge,[J.value?(t(),r("img",{key:0,src:J.value,width:"auto",height:"80",style:{"padding-left":"10px"}},null,8,We)):(t(),y(he,{key:1},{default:a(()=>[i(D,{sync:f($)},{default:a(()=>[B(m(e.item.name),1)]),_:1},8,["sync"])]),_:1})),h("div",Ye,["version"in e.item&&e.item.version?(t(),y(L,{key:0,class:"caption"},{default:a(()=>[B(m(e.item.version)+" ",1),i(be,{location:"bottom"},{activator:a(({props:u})=>[f(ke)(e.item.metadata.explicit||!1)?(t(),y(V,ve({key:0},u,{icon:"mdi-alpha-e-box",width:"35"}),null,16)):d("",!0)]),default:a(()=>[h("span",null,m(l.$t("tooltip.explicit")),1)]),_:1})]),_:1})):d("",!0),"artists"in e.item&&e.item.artists?(t(),y(L,{key:1,class:"title accent--text d-flex"},{default:a(()=>[i(V,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-music"}),i(D,{sync:f($)},{default:a(()=>[(t(!0),r(z,null,A(e.item.artists,(u,w)=>(t(),r("span",{key:u.item_id},[h("a",{style:{color:"accent"},onClick:ot=>U(u)},m(u.name),9,Je),w+1<e.item.artists.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"authors"in e.item&&e.item.authors.length>0?(t(),y(L,{key:2,class:"title accent--text d-flex"},{default:a(()=>[i(V,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-edit"}),i(D,{sync:f($)},{default:a(()=>[(t(!0),r(z,null,A(e.item.authors,(u,w)=>(t(),r("span",{key:u},[h("span",Oe,m(u),1),w+1<e.item.authors.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"narrators"in e.item&&e.item.narrators.length>0?(t(),y(L,{key:3,class:"title accent--text d-flex"},{default:a(()=>[i(V,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-voice"}),i(D,{sync:f($)},{default:a(()=>[(t(!0),r(z,null,A(e.item.narrators,(u,w)=>(t(),r("span",{key:u},[h("span",Qe,m(u),1),w+1<e.item.narrators.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"owner"in e.item&&e.item.owner?(t(),y(L,{key:4,class:"title d-flex"},{default:a(()=>[i(V,{color:"primary",style:{"margin-left":"-3px","margin-right":"3px"},small:"",icon:"mdi-account-music"}),i(D,{sync:f($)},{default:a(()=>[h("a",Xe,m(e.item.owner),1)]),_:1},8,["sync"])]),_:1})):d("",!0),"album"in e.item&&e.item.album?(t(),y(L,{key:5,class:"d-flex"},{default:a(()=>[i(V,{color:"primary",style:{"margin-left":"-3px","margin-right":"3px"},small:"",icon:"mdi-album"}),i(D,{sync:f($)},{default:a(()=>[h("a",{style:{color:"secondary"},onClick:s[0]||(s[0]=u=>H(e.item?.album))},m(e.item.album.name),1)]),_:1},8,["sync"])]),_:1})):d("",!0)]),h("div",Ze,[i(Fe,{id:"playbutton",width:220,icon:"mdi-play-circle-outline",text:f(xe)(l.$t("play"),14),disabled:!e.item,loading:f(G).playActionInProgress,"open-menu-on-click":!f(G).activePlayer,onClick:o,onMenu:s[1]||(s[1]=u=>o(!0))},null,8,["text","disabled","loading","open-menu-on-click"]),i(T,{variant:"plain",ripple:"",icon:e.item.favorite?"mdi-heart":"mdi-heart-outline",size:"x-large",style:{"margin-top":"-14px"},title:l.$t("tooltip.favorite"),onClick:[s[2]||(s[2]=u=>f(S).toggleFavorite(e.item)),s[3]||(s[3]=j(()=>{},["prevent"])),s[4]||(s[4]=j(()=>{},["stop"]))]},null,8,["icon","title"]),i(W,{domain:e.item.provider,size:25,style:{"margin-top":"6px"}},null,8,["domain"])]),C.value?(t(),y(L,{key:2,class:"body-2 justify-left",style:{"padding-bottom":"10px","white-space":"pre-line",cursor:"pointer"},onClick:s[5]||(s[5]=u=>g.value=!g.value)},{default:a(()=>[h("div",{innerHTML:C.value},null,8,_e)]),_:1})):d("",!0),e.item&&e.item.metadata.genres?(t(),r("div",Me,[(t(!0),r(z,null,A(e.item.metadata.genres.slice(0,l.$vuetify.display.mobile?15:25),u=>(t(),y(Ve,{key:u,color:"blue-grey lighten-1",style:{"margin-right":"5px","margin-bottom":"5px"},small:"",outlined:""},{default:a(()=>[B(m(u),1)]),_:2},1024))),128))])):d("",!0)])]),_:1})):d("",!0)]),_:1},8,["img"]),i(He,{modelValue:g.value,"onUpdate:modelValue":s[7]||(s[7]=u=>g.value=u),"max-width":"975",width:"auto"},{default:a(()=>[i(O,null,{default:a(()=>[i(pe,{innerHTML:n.value},null,8,["innerHTML"]),i($e,null,{default:a(()=>[i(T,{color:"primary",block:"",onClick:s[6]||(s[6]=u=>g.value=!1)},{default:a(()=>[B(m(l.$t("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),ft=Ie(et,[["__scopeId","data-v-7debb90f"]]),tt={style:{"margin-bottom":"10px"}},it={key:0},at=["title","onClick"],nt=["title"],lt={class:"d-flex align-center ga-2"},gt=Y({__name:"ProviderDetails",props:{itemDetails:{}},setup(e){const c=e,{t:g}=Le(),x=F(!1),p=function(o){window.open(o,"_blank")},b=De({}),I=function(o){const v=`${o.provider_instance}.${o.item_id}`,n=b[v];if(n)n.load(),delete b[v];else{const C=new Audio($(o.provider_instance,o.item_id));b[v]=C,C.play()}},$=function(o,v){return`${S.baseUrl}/preview?item_id=${encodeURIComponent(v)}&provider=${o}`},k=function(o){return`${S.getProvider(o.provider_instance)?.lookup_key}://${c.itemDetails.media_type}/${o.item_id}`},H=async function(o){await Re(o)?Q.success(g("uri_copied")):Q.error(g("uri_copy_failed"))},U=function(){x.value=!x.value},K=R(()=>[{label:"tooltip.collapse_expand",icon:x.value?"mdi-chevron-up":"mdi-chevron-down",action:U,overflowAllowed:!1}]);return(o,v)=>(t(),r("section",tt,[i(ee,{title:o.$t("mapped_providers"),"menu-items":K.value,onTitleClicked:U},null,8,["title","menu-items"]),i(Be),x.value?(t(),y(Ue,{key:0},{default:a(()=>[i(Pe,null,{default:a(()=>[(t(!0),r(z,null,A(e.itemDetails?.provider_mappings,n=>(t(),y(Z,{key:n.provider_instance,disabled:!n.available||!f(S).getProvider(n.provider_instance)},{prepend:a(()=>[i(W,{domain:n.provider_domain,size:30},null,8,["domain"])]),title:a(()=>[B(m(f(S).getProvider(n.provider_instance)?.name),1)]),subtitle:a(()=>[e.itemDetails.media_type==f(q).TRACK&&n.audio_format?(t(),r("span",it,m(n.audio_format.content_type)+" | "+m(n.audio_format.sample_rate/1e3)+"kHz/"+m(n.audio_format.bit_depth)+" bits | ",1)):d("",!0),n.url&&!n.provider_domain.startsWith("file")?(t(),r("a",{key:1,style:{opacity:"0.4"},title:o.$t("tooltip.open_provider_link"),onClick:j(C=>p(n.url),["prevent"])},m(k(n)),9,at)):(t(),r("span",{key:2,style:{opacity:"0.4"},title:o.$t("copy_uri")},m(k(n)),9,nt))]),append:a(()=>[n.audio_format&&n.audio_format.bit_depth>16?(t(),y(M,{key:0,src:f(ze),width:"30",class:_(o.$vuetify.theme.current.dark?"hiresicondark":"hiresicon"),style:{"margin-right":"15px"}},null,8,["src","class"])):d("",!0),h("div",lt,[f(Ae)("bp1")&&e.itemDetails.media_type==f(q).TRACK?(t(),y(T,{key:0,icon:b[`${n.provider_instance}.${n.item_id}`]?"mdi-pause":"mdi-play-circle",title:o.$t("tooltip.play_sample"),onClick:C=>I(n)},null,8,["icon","title","onClick"])):d("",!0),n.url&&!n.provider_domain.startsWith("file")?(t(),y(T,{key:1,icon:"mdi-open-in-new",title:o.$t("tooltip.open_provider_link"),onClick:j(C=>p(n.url),["prevent"])},null,8,["title","onClick"])):d("",!0),i(T,{icon:"mdi-link",title:o.$t("tooltip.copy_uri"),onClick:C=>H(k(n))},null,8,["title","onClick"])])]),_:2},1032,["disabled"]))),128)),e.itemDetails.provider=="library"?(t(),y(Z,{key:0},{prepend:a(()=>[i(W,{domain:"library",size:30})]),title:a(()=>[B(m(o.$t("music_assistant_library")),1)]),subtitle:a(()=>[h("span",null,"library://"+m(e.itemDetails.media_type)+"/"+m(e.itemDetails.item_id),1)]),append:a(()=>[i(T,{icon:"mdi-link",title:o.$t("tooltip.copy_uri"),onClick:v[0]||(v[0]=n=>H(`library://${e.itemDetails.media_type}/${e.itemDetails.item_id}`))},null,8,["title"])]),_:1})):d("",!0)]),_:1})]),_:1})):d("",!0)]))}});export{ft as I,gt as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ay as ie,J as T,i as F,ce as g,aT as n,cw as x,L as B,az as z,aA as f,o as t,E as h,bH as de,aD as d,aI as y,aB as q,M as w,aG as e,bh as v,aN as m,aL as C,b4 as W,aF as X,ah as O,aH as j,aE as le,bD as ve,aJ as J,aM as Z,bd as G,_ as oe,aP as u,aS as ue,bg as ce,c3 as Q,ax as se,bK as ae,aV as pe,bb as fe,a4 as me,bP as ge,bQ as _e,r as re,cr as ye,aR as he,aO as be}from"./index-Ci6ypq6O.js";import{C as ke}from"./Container-DVyrkl2H.js";import{V as ee}from"./VCheckboxBtn-lg4Bkg3S.js";import{M as ne}from"./index-kQIztB-E.js";import{V as Pe}from"./VDialog-DofGN8Yd.js";import{a as Ce,V as Ae}from"./VAlert-Kj2m6TCt.js";import"./VSelectionControl-CuEKzbGp.js";const we={class:"filters-container"},xe={class:"d-flex ga-2 filter-buttons"},Te=ie({__name:"ProviderFilters",props:{showStageFilter:{type:Boolean,default:!1}},emits:["update:search","update:types","update:stages"],setup(K,{emit:N}){const E=le(),b=ve(),M=T(""),P=T([]),k=T([]);let A=null,L=null,U=null;const H=F(()=>[{title:n("settings.musicprovider"),value:g.MUSIC},{title:n("settings.playerprovider"),value:g.PLAYER},{title:n("settings.metadataprovider"),value:g.METADATA},{title:n("settings.pluginprovider"),value:g.PLUGIN}]),R=F(()=>[{title:n("settings.stage.options.stable"),value:x.STABLE},{title:n("settings.stage.options.beta"),value:x.BETA},{title:n("settings.stage.options.alpha"),value:x.ALPHA},{title:n("settings.stage.options.experimental"),value:x.EXPERIMENTAL},{title:n("settings.stage.options.unmaintained"),value:x.UNMAINTAINED},{title:n("settings.stage.options.deprecated"),value:x.DEPRECATED}]),D=N,V=function(p){const c=P.value.indexOf(p);c>-1?P.value.splice(c,1):P.value.push(p)},S=function(p){const c=k.value.indexOf(p);c>-1?k.value.splice(c,1):k.value.push(p)},Y=function(){if(b.query.search&&(M.value=b.query.search),b.query.types){const p=b.query.types;P.value=p.split(",")}if(b.query.stages){const p=b.query.stages;k.value=p.split(",")}};return B(M,p=>{D("update:search",p),A&&clearTimeout(A),A=setTimeout(()=>{const c={...b.query};p?c.search=p:delete c.search,E.replace({query:c})},750)}),B(P,p=>{D("update:types",p),L&&clearTimeout(L),L=setTimeout(()=>{const c={...b.query};p.length>0?c.types=p.join(","):delete c.types,E.replace({query:c})},750)},{deep:!0}),B(k,p=>{D("update:stages",p),U&&clearTimeout(U),U=setTimeout(()=>{const c={...b.query};p.length>0?c.stages=p.join(","):delete c.stages,E.replace({query:c})},750)},{deep:!0}),Y(),(p,c)=>(f(),z("div",we,[t(de,{modelValue:M.value,"onUpdate:modelValue":c[0]||(c[0]=l=>M.value=l),"prepend-inner-icon":"mdi-magnify",label:d(n)("search"),variant:"outlined",density:"compact",clearable:"","hide-details":"",class:"search-field"},null,8,["modelValue","label"]),h("div",xe,[t(w,{height:"40",elevation:"0"},{default:e(()=>[v(m(d(n)("settings.provider_type"))+" ",1),t(C,{end:""},{default:e(()=>[...c[1]||(c[1]=[v("mdi-chevron-down",-1)])]),_:1}),t(W,{activator:"parent","close-on-content-click":!1},{default:e(()=>[t(X,null,{default:e(()=>[(f(!0),z(O,null,j(H.value,(l,o)=>(f(),y(J,{key:o,value:o,onClick:r=>V(l.value)},{append:e(()=>[t(ee,{"model-value":P.value.includes(l.value),onClick:G(r=>V(l.value),["stop"])},null,8,["model-value","onClick"])]),default:e(()=>[t(Z,null,{default:e(()=>[v(m(l.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),K.showStageFilter?(f(),y(w,{key:0,height:"40",elevation:"0"},{default:e(()=>[v(m(d(n)("settings.stage.label"))+" ",1),t(C,{end:""},{default:e(()=>[...c[2]||(c[2]=[v("mdi-chevron-down",-1)])]),_:1}),t(W,{activator:"parent","close-on-content-click":!1},{default:e(()=>[t(X,null,{default:e(()=>[(f(!0),z(O,null,j(R.value,(l,o)=>(f(),y(J,{key:o,value:o,onClick:r=>S(l.value)},{append:e(()=>[t(ee,{"model-value":k.value.includes(l.value),onClick:G(r=>S(l.value),["stop"])},null,8,["model-value","onClick"])]),default:e(()=>[t(Z,null,{default:e(()=>[v(m(l.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})):q("",!0)])]))}}),Ee=oe(Te,[["__scopeId","data-v-730d2954"]]),Me={class:"text-h6"},Le={class:"d-flex ga-2 filter-buttons"},Ve={class:"provider-list-container"},Ie={class:"provider-name"},$e={class:"provider-description"},ze={class:"d-flex align-center ga-2"},Ne={key:1,class:"empty-state"},De={class:"empty-title"},Ue={class:"empty-message"},Re=ie({__name:"AddProviderDialog",props:{show:{type:Boolean,default:!1}},emits:["update:show"],setup(K,{emit:N}){const E=N,b=le(),M=T([]),P=T(""),k=T([]),A=T([]),L=F(()=>[{title:n("settings.musicprovider"),value:g.MUSIC},{title:n("settings.playerprovider"),value:g.PLAYER},{title:n("settings.metadataprovider"),value:g.METADATA},{title:n("settings.pluginprovider"),value:g.PLUGIN}]),U=F(()=>[{title:n("settings.stage.options.stable"),value:x.STABLE},{title:n("settings.stage.options.beta"),value:x.BETA},{title:n("settings.stage.options.alpha"),value:x.ALPHA},{title:n("settings.stage.options.experimental"),value:x.EXPERIMENTAL},{title:n("settings.stage.options.unmaintained"),value:x.UNMAINTAINED},{title:n("settings.stage.options.deprecated"),value:x.DEPRECATED}]),H=F(()=>{let l=Object.values(u.providerManifests);return l=l.filter(o=>!o.builtin&&o.type!=="core"),l.filter(o=>o.multi_instance||!M.value.find(r=>r.domain==o.domain)).sort((o,r)=>{const I=(o.name||u.providerManifests[o.domain].name).toUpperCase(),$=(r.name||u.providerManifests[r.domain].name).toUpperCase();return I>$?1:-1})}),R=F(()=>{let l=H.value;if(P.value){const o=P.value.toLowerCase();l=l.filter(r=>r.name.toLowerCase().includes(o)||r.description.toLowerCase().includes(o))}return k.value.length>0&&(l=l.filter(o=>k.value.includes(o.type))),A.value.length>0&&(l=l.filter(o=>A.value.includes(o.stage))),l}),D=async function(){M.value=await u.getProviderConfigs()},V=function(l){if(l.depends_on&&!u.getProvider(l.depends_on)){const o=u.getProviderName(l.depends_on);confirm(n("settings.provider_depends_on_confirm",[l.name,o]))&&b.push(`/settings/addprovider/${l.depends_on}`);return}b.push(`/settings/addprovider/${l.domain}`),c()},S=function(l){const o=k.value.indexOf(l);o>-1?k.value.splice(o,1):k.value.push(l)},Y=function(l){const o=A.value.indexOf(l);o>-1?A.value.splice(o,1):A.value.push(l)},p=function(l){return ne(l).with("stable",()=>"green").with("beta",()=>"blue").with("alpha",()=>"purple").with("experimental",()=>"orange").with("unmaintained",()=>"grey").with("deprecated",()=>"red").otherwise(()=>"green")},c=function(){E("update:show",!1)};return B(()=>u.providers,l=>{l&&D()},{immediate:!0}),(l,o)=>(f(),y(Pe,{"model-value":K.show,"max-width":"800px",scrollable:"","onUpdate:modelValue":o[1]||(o[1]=r=>{d(se).dialogActive=r,E("update:show",r)})},{default:e(()=>[t(ue,{class:"add-provider-dialog"},{default:e(()=>[t(ce,{class:"d-flex align-center justify-space-between pa-4"},{default:e(()=>[h("span",Me,m(d(n)("settings.add_provider")),1),t(w,{icon:"mdi-close",variant:"text",size:"small",onClick:c})]),_:1}),t(Q,{class:"pa-4 pb-2"},{default:e(()=>[t(de,{modelValue:P.value,"onUpdate:modelValue":o[0]||(o[0]=r=>P.value=r),"prepend-inner-icon":"mdi-magnify",placeholder:d(n)("search"),variant:"outlined",density:"compact",clearable:"","hide-details":"",class:"search-field"},null,8,["modelValue","placeholder"])]),_:1}),t(Q,{class:"pa-4 pt-2 pb-2"},{default:e(()=>[h("div",Le,[t(w,{height:"40",elevation:"0",variant:"outlined",density:"compact"},{default:e(()=>[v(m(d(n)("settings.provider_type"))+" ",1),t(C,{end:""},{default:e(()=>[...o[2]||(o[2]=[v("mdi-chevron-down",-1)])]),_:1}),t(W,{activator:"parent","close-on-content-click":!1},{default:e(()=>[t(X,null,{default:e(()=>[(f(!0),z(O,null,j(L.value,(r,I)=>(f(),y(J,{key:I,value:I,onClick:$=>S(r.value)},{append:e(()=>[t(ee,{"model-value":k.value.includes(r.value),onClick:G($=>S(r.value),["stop"])},null,8,["model-value","onClick"])]),default:e(()=>[t(Z,null,{default:e(()=>[v(m(r.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),t(w,{height:"40",elevation:"0",variant:"outlined",density:"compact"},{default:e(()=>[v(m(d(n)("settings.stage.label"))+" ",1),t(C,{end:""},{default:e(()=>[...o[3]||(o[3]=[v("mdi-chevron-down",-1)])]),_:1}),t(W,{activator:"parent","close-on-content-click":!1},{default:e(()=>[t(X,null,{default:e(()=>[(f(!0),z(O,null,j(U.value,(r,I)=>(f(),y(J,{key:I,value:I,onClick:$=>Y(r.value)},{append:e(()=>[t(ee,{"model-value":A.value.includes(r.value),onClick:G($=>Y(r.value),["stop"])},null,8,["model-value","onClick"])]),default:e(()=>[t(Z,null,{default:e(()=>[v(m(r.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})])]),_:1}),t(Q,{class:"pa-4 pt-2"},{default:e(()=>[h("div",Ve,[R.value.length>0?(f(),y(X,{key:0,class:"provider-list"},{default:e(()=>[(f(!0),z(O,null,j(R.value,r=>(f(),y(J,{key:r.domain,style:{padding:"0"},class:"provider-item",rounded:"lg",onClick:I=>V(r)},{prepend:e(()=>[t(pe,{domain:r.domain,size:40,class:"provider-icon"},null,8,["domain"])]),title:e(()=>[h("div",Ie,m(r.name),1)]),subtitle:e(()=>[h("div",$e,m(r.description),1)]),append:e(()=>[h("div",ze,[t(ae,{size:"x-small",variant:"flat",class:"text-uppercase",color:p(r.stage)},{default:e(()=>[v(m(d(n)(String(r.stage||"").toLowerCase())),1)]),_:2},1032,["color"]),t(C,{icon:"mdi-chevron-right",size:"small"})])]),_:2},1032,["onClick"]))),128))]),_:1})):(f(),z("div",Ne,[t(C,{icon:"mdi-magnify",size:"48",class:"empty-icon"}),h("div",De,m(d(n)("no_content")),1),h("div",Ue,m(d(n)("no_content_filter")),1)]))])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Se=oe(Re,[["__scopeId","data-v-520c5c4c"]]),qe={class:"text-body-1"},Be={class:"mb-2"},Oe={class:"onboarding-list ml-4"},Ye={class:"providers-header w-100"},Fe={class:"pl-5 font-weight-medium"},je=ie({__name:"Providers",setup(K){const N=le(),E=T([]),b=T(""),M=T([]),P=T(!1),k=T([]),A=u.subscribe(fe.PROVIDERS_UPDATED,()=>{L()});me(A);const L=async function(){if(Object.keys(u.providerManifests).length===0){console.debug("Waiting for provider manifests to load before loading provider configs");return}E.value=await u.getProviderConfigs(),k.value=await u.getPlayerConfigs()},U=function(){se.isOnboarding=!1},H=function(i){u.removeProviderConfig(i),E.value=E.value.filter(a=>a.instance_id!=i)},R=function(i){N.push(`/settings/editprovider/${i}`)},D=function(i){const a=u.getProvider(i);a&&N.push({name:"playersettings",query:{providers:a.lookup_key}})},V=function(i){if(i.type!==g.PLAYER)return 0;const a=u.getProvider(i.instance_id);return a?k.value.filter(s=>s.provider==="builtin_player"?!1:u.getProvider(s.provider)?.lookup_key===a.lookup_key||s.provider===a.lookup_key||s.provider===a.domain).length:0},S=function(i){i.enabled=!i.enabled,u.saveProviderConfig(i.domain,{enabled:i.enabled},i.instance_id)},Y=function(i){u.sendCommand("config/providers/reload",{instance_id:i}).catch(a=>alert(a))},p=function(i,a){const s=u.providerManifests[a.domain];if(!s){console.warn("Provider manifest not yet loaded for:",a.domain);return}const _=u.getProvider(a.instance_id),te=[{label:"settings.configure",labelArgs:[],action:()=>{R(a.instance_id)},icon:"mdi-cog"},{label:a.enabled?"settings.disable":"settings.enable",labelArgs:[],action:()=>{S(a)},icon:"mdi-cancel",disabled:!s.allow_disable},{label:"settings.documentation",labelArgs:[],action:()=>{ye(s.documentation)},icon:"mdi-bookshelf",disabled:!s.documentation},{label:"settings.sync",labelArgs:[],action:()=>{u.startSync(void 0,[a.instance_id])},icon:"mdi-sync",hide:!_?.available||a.type!=g.MUSIC},{label:"settings.delete",labelArgs:[],action:()=>{H(a.instance_id)},icon:"mdi-delete",hide:s.builtin},{label:"settings.reload",labelArgs:[],action:()=>{Y(a.instance_id)},icon:"mdi-refresh"}];a.type===g.PLAYER&&_&&te.push({label:"settings.view_players",labelArgs:[],action:()=>{N.push({name:"playersettings",query:{providers:_.lookup_key}})},icon:"mdi-speaker"}),_?.available&&_.supported_features.includes(he.CREATE_GROUP_PLAYER)&&te.push({label:"settings.add_group_player",labelArgs:[],action:()=>{N.push(`/settings/addgroup/${_.lookup_key}`)},icon:"mdi-speaker-multiple"}),be.emit("contextmenu",{items:te,posX:i.clientX,posY:i.clientY})};B(()=>u.providers,i=>{i&&L()},{immediate:!0}),B(()=>u.players,()=>{L()}),B(()=>Object.keys(u.providerManifests).length,i=>{i>0&&L()});const c=function(i){const a=u.providerManifests[i.domain];if(!a)return i.name||i.domain;const s=a.name;if(i.name)return`${s} [${i.name}]`;const _=u.getProvider(i.instance_id);return _&&_.instance_name_postfix?`${s} [${_.instance_name_postfix}]`:s},l=function(i){return i&&i.length>150},o=function(i){return ne(i).with("stable",()=>"green").with("beta",()=>"blue").with("alpha",()=>"purple").with("experimental",()=>"orange").with("unmaintained",()=>"grey").with("deprecated",()=>"red").otherwise(()=>"green")},r=function(i){return ne(i).with(g.MUSIC,()=>n("settings.music")).with(g.PLAYER,()=>n("settings.player")).with(g.METADATA,()=>n("settings.metadata")).with(g.PLUGIN,()=>n("settings.plugin")).otherwise(()=>n("settings.player"))},I=function(i){return{[g.MUSIC]:"mdi-music",[g.PLAYER]:"mdi-speaker",[g.METADATA]:"mdi-file-code",[g.PLUGIN]:"mdi-puzzle"}[i]||"mdi-help-circle"},$=function(){let i=[...E.value];if(b.value){const a=b.value.toLowerCase();i=i.filter(s=>c(s).toLowerCase().includes(a))}return M.value.length>0&&(i=i.filter(a=>M.value.includes(a.type))),i.sort((a,s)=>c(a).localeCompare(c(s)))};return(i,a)=>(f(),z(O,null,[d(se).isOnboarding?(f(),y(Ae,{key:0,type:"info",variant:"tonal",closable:"",class:"mx-5 mt-4","onClick:close":U},{default:e(()=>[t(Ce,{class:"text-h6 mb-2"},{default:e(()=>[v(m(d(n)("settings.onboarding_title")),1)]),_:1}),h("div",qe,[h("p",Be,m(d(n)("settings.onboarding_message")),1),h("ul",Oe,[h("li",null,[t(C,{icon:"mdi-speaker",size:"small",class:"mr-2"}),v(" "+m(d(n)("settings.onboarding_players")),1)]),h("li",null,[t(C,{icon:"mdi-music",size:"small",class:"mr-2"}),v(" "+m(d(n)("settings.onboarding_music")),1)]),h("li",null,[t(C,{icon:"mdi-puzzle",size:"small",class:"mr-2"}),v(" "+m(d(n)("settings.onboarding_plugins")),1)])])])]),_:1})):q("",!0),h("div",Ye,[t(Ee,{"onUpdate:search":a[0]||(a[0]=s=>b.value=s),"onUpdate:types":a[1]||(a[1]=s=>M.value=s)}),t(w,{color:"primary",variant:"outlined",height:"40",class:"add-provider-btn",onClick:a[2]||(a[2]=s=>P.value=!0)},{default:e(()=>[v(m(d(n)("settings.add_provider")),1)]),_:1})]),h("div",Fe,m(d(n)("settings.providers_total",[$().length,$().length>1?"s":""])),1),t(ke,{variant:"comfortable",class:"mt-4"},{default:e(()=>[t(ge,null,{default:e(()=>[(f(!0),z(O,null,j($(),s=>(f(),y(_e,{key:s.instance_id,cols:"12",md:"6",lg:"4",class:"d-flex"},{default:e(()=>[t(ue,{class:re(["flex-fill rounded-lg provider-card d-flex flex-column",{"player-provider-card":s.type===d(g).PLAYER}]),"min-height":"200px",onClick:_=>s.type===d(g).PLAYER&&V(s)>0?D(s.instance_id):R(s.instance_id)},{prepend:e(()=>[t(pe,{domain:s.domain,size:50,class:"listitem-media-thumb",style:{"margin-top":"5px","margin-bottom":"5px"}},null,8,["domain"])]),append:e(()=>[d(u).syncTasks.value.filter(_=>_.provider_instance==s.instance_id).length>0?(f(),y(w,{key:0,variant:"text",size:"small",icon:"",title:d(n)("settings.sync_running")},{default:e(()=>[t(C,{color:"grey"},{default:e(()=>[...a[4]||(a[4]=[v(" mdi-sync ",-1)])]),_:1})]),_:1},8,["title"])):q("",!0),s.enabled?s.last_error?(f(),y(w,{key:2,variant:"text",size:"small",icon:"",title:s.last_error},{default:e(()=>[t(C,{color:"red"},{default:e(()=>[...a[6]||(a[6]=[v(" mdi-alert-circle ",-1)])]),_:1})]),_:1},8,["title"])):d(u).providers[s.instance_id]?.available?q("",!0):(f(),y(w,{key:3,variant:"text",size:"small",icon:"",title:d(n)("settings.not_loaded")},{default:e(()=>[t(C,{icon:"mdi-timer-sand"})]),_:1},8,["title"])):(f(),y(w,{key:1,variant:"text",size:"small",icon:"",title:d(n)("settings.provider_disabled")},{default:e(()=>[t(C,{color:"grey"},{default:e(()=>[...a[5]||(a[5]=[v(" mdi-cancel ",-1)])]),_:1})]),_:1},8,["title"])),t(w,{variant:"text",size:"small",icon:"",title:r(s.type)},{default:e(()=>[t(C,{icon:I(s.type)},null,8,["icon"])]),_:2},1032,["title"]),d(u).providerManifests[s.domain]?(f(),y(ae,{key:4,size:"x-small",variant:"flat",class:"mx-1 text-uppercase",color:o(d(u).providerManifests[s.domain]?.stage)},{default:e(()=>[v(m(d(n)(String(d(u).providerManifests[s.domain]?.stage||"").toLowerCase())),1)]),_:2},1032,["color"])):q("",!0),t(w,{icon:"mdi-dots-vertical",size:"small",variant:"text",onClick:G(_=>p(_,s),["stop"])},null,8,["onClick"])]),default:e(()=>[t(ce,null,{default:e(()=>[v(m(c(s)),1)]),_:2},1024),d(u).providerManifests[s.domain]?(f(),y(Q,{key:0,class:re(["provider-description flex-grow-1",{"truncated-text":l(d(u).providerManifests[s.domain].description)}])},{default:e(()=>[v(m(d(u).providerManifests[s.domain].description),1)]),_:2},1032,["class"])):q("",!0),s.type===d(g).PLAYER&&V(s)>0?(f(),y(Q,{key:1,class:"provider-players-count mt-auto"},{default:e(()=>[t(ae,{size:"small",variant:"flat",color:"primary",class:"player-count-chip",onClick:G(_=>D(s.instance_id),["stop"])},{default:e(()=>[t(C,{start:"",size:"small"},{default:e(()=>[...a[7]||(a[7]=[v("mdi-speaker",-1)])]),_:1}),v(" "+m(V(s)===1?d(n)("settings.one_player"):d(n)("settings.players_count",[V(s),V(s)!==1?"s":""])),1)]),_:2},1032,["onClick"])]),_:2},1024)):q("",!0)]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1})]),_:1}),t(Se,{show:P.value,"onUpdate:show":a[3]||(a[3]=s=>P.value=s)},null,8,["show"])],64))}}),Ze=oe(je,[["__scopeId","data-v-eaece8a9"]]);export{Ze as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.filters-container[data-v-730d2954]{display:flex;align-items:stretch;gap:12px;flex:1;flex-wrap:wrap}.search-field[data-v-730d2954]{flex:1 1 auto;min-width:250px;max-width:400px}.filter-buttons[data-v-730d2954]{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.filter-buttons .v-btn[data-v-730d2954]{min-width:100px}@media (max-width: 960px){.filters-container[data-v-730d2954]{flex-direction:column;align-items:stretch}.search-field[data-v-730d2954]{width:100%;min-width:100%}.filter-buttons[data-v-730d2954]{width:100%}.filter-buttons .v-btn[data-v-730d2954]{flex:1 1 auto;min-width:120px}}[data-v-730d2954] .v-list-item .v-checkbox-btn,[data-v-730d2954] .v-list-item .v-checkbox-btn .v-input__control{display:flex;align-items:center}[data-v-730d2954] .v-list-item .v-checkbox-btn .v-selection-control{min-height:auto}.add-provider-dialog[data-v-520c5c4c]{height:600px;display:flex;flex-direction:column}.search-field[data-v-520c5c4c]{width:100%}.filter-buttons[data-v-520c5c4c]{flex-wrap:wrap}.filter-buttons .v-btn[data-v-520c5c4c]{border-color:rgba(var(--v-theme-on-surface),.2);color:rgba(var(--v-theme-on-surface),.6)}.filter-buttons .v-btn .v-icon[data-v-520c5c4c]{color:rgba(var(--v-theme-on-surface),.6)}.provider-list-container[data-v-520c5c4c]{height:400px;display:flex;flex-direction:column}.provider-list[data-v-520c5c4c]{flex:1;overflow-y:auto}.provider-item[data-v-520c5c4c]{height:80px;margin-bottom:4px;transition:all .2s ease;cursor:pointer}.provider-item[data-v-520c5c4c]:hover{background-color:rgba(var(--v-theme-primary),.04);transform:translateY(-1px)}.provider-icon[data-v-520c5c4c]{margin-right:12px}.provider-name[data-v-520c5c4c]{font-weight:500;font-size:16px;line-height:1.2;margin-bottom:4px}.provider-description[data-v-520c5c4c]{font-size:14px;color:rgba(var(--v-theme-on-surface),.6);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:2.6em}.empty-state[data-v-520c5c4c]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px 20px}.empty-icon[data-v-520c5c4c]{color:rgba(var(--v-theme-on-surface),.3);margin-bottom:16px}.empty-title[data-v-520c5c4c]{font-size:18px;font-weight:500;color:rgba(var(--v-theme-on-surface),.7);margin-bottom:8px}.empty-message[data-v-520c5c4c]{font-size:14px;color:rgba(var(--v-theme-on-surface),.5);line-height:1.4}@media (max-width: 600px){.add-provider-dialog[data-v-520c5c4c]{height:500px}.provider-list-container[data-v-520c5c4c]{height:300px}}.providers-header[data-v-eaece8a9]{display:flex;align-items:stretch;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 20px 6px}.add-provider-btn[data-v-eaece8a9]{flex-shrink:0;align-self:center}@media (max-width: 960px){.providers-header[data-v-eaece8a9]{flex-direction:column;align-items:stretch}.add-provider-btn[data-v-eaece8a9]{width:100%;align-self:stretch}}.provider-description[data-v-eaece8a9]{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4em;max-height:4.2em}.provider-description.truncated-text[data-v-eaece8a9]{margin-bottom:16px!important}.onboarding-list[data-v-eaece8a9]{list-style:none;padding-left:0}.onboarding-list li[data-v-eaece8a9]{display:flex;align-items:center;margin-bottom:8px}.provider-card[data-v-eaece8a9]{transition:all .2s ease}.provider-card[data-v-eaece8a9]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.player-provider-card[data-v-eaece8a9]{cursor:pointer}.provider-players-count[data-v-eaece8a9]{padding-top:12px!important;padding-bottom:12px!important;margin-top:auto;align-content:end}.player-count-chip[data-v-eaece8a9]{cursor:pointer;transition:all .2s ease}.player-count-chip[data-v-eaece8a9]:hover{transform:scale(1.05)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as c}from"./ItemsListing-Bao8c9rP.js";import{I as f,_ as v}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-DHz8rGQ5.js";import{ay as h,J as y,L as I,az as w,aA as s,o as V,aI as n,aB as p,E as g,aP as m,bX as k}from"./index-Ci6ypq6O.js";import"./Container-DVyrkl2H.js";import"./index-kQIztB-E.js";import"./Toolbar-DNqs9OXR.js";import"./VToolbar-CTLIwz5x.js";import"./Button-CsTMTfds.js";import"./ListItem-Emhe-KUj.js";import"./userPreferences-D-oqBjc0.js";import"./VCheckboxBtn-lg4Bkg3S.js";import"./VSelectionControl-CuEKzbGp.js";import"./MediaItemThumb-DT_RR5hr.js";import"./PanelviewItemCompact-pmyYhZHE.js";import"./VInfiniteScroll-C4zaTPzz.js";import"./VVirtualScroll-RawLIXgS.js";import"./VAlert-Kj2m6TCt.js";import"./VSnackbar-DsamuEmf.js";import"./marquee_text_sync-D_iJsxcD.js";import"./VDialog-DofGN8Yd.js";const q=h({__name:"RadioDetails",props:{itemId:{},provider:{}},setup(a){const t=a,e=y(),l=async function(){e.value=await m.getRadio(t.itemId,t.provider)};I(()=>t.itemId,o=>{o&&l()},{immediate:!0});const d=async function(o){const i=[];if(t.provider=="library"){const r=await m.getRadioVersions(t.itemId,t.provider);i.push(...r)}for(const r of k(e.value)){const u=await m.getRadioVersions(r.item_id,r.provider_instance);i.push(...u)}return i};return(o,i)=>(s(),w("section",null,[V(f,{item:e.value},null,8,["item"]),e.value?(s(),n(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"])):p("",!0),i[0]||(i[0]=g("br",null,null,-1)),e.value?(s(),n(v,{key:1,"item-details":e.value},null,8,["item-details"])):p("",!0)]))}});export{q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ay as H,bN as X,J as u,a3 as f,b6 as L,aP as N,aW as b,az as _,aA as d,o as s,aG as e,aI as c,b8 as R,aB as C,E as o,aN as i,aS as j,bg as w,bh as I,c3 as v,bP as T,bQ as B,bK as h,M as S,aL as n,bH as x,aD as k,aF as z,aJ as P,aM as W,bS as Z,c7 as E,_ as U}from"./index-Ci6ypq6O.js";import{V as p}from"./VAlert-Kj2m6TCt.js";import{V as J}from"./VSwitch-jlMLuij2.js";import{a as Q,b as Y,c as F,V as K}from"./VExpansionPanels-Hd3nRlf_.js";import{V as $}from"./VSnackbar-DsamuEmf.js";import"./VSelectionControl-CuEKzbGp.js";const O="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MDAgNDUwIj4KICA8IS0tIEFycm93IG1hcmtlcnMgKG11c3QgYmUgZGVmaW5lZCBmaXJzdCkgLS0+CiAgPGRlZnM+CiAgICA8bWFya2VyIGlkPSJhcnJvd2hlYWQiIG1hcmtlcldpZHRoPSIxMCIgbWFya2VySGVpZ2h0PSIxMCIgcmVmWD0iOSIgcmVmWT0iMyIgb3JpZW50PSJhdXRvIj4KICAgICAgPHBvbHlnb24gcG9pbnRzPSIwIDAsIDEwIDMsIDAgNiIgZmlsbD0iY3VycmVudENvbG9yIi8+CiAgICA8L21hcmtlcj4KICAgIDxtYXJrZXIgaWQ9ImFycm93aGVhZC1ncmVlbiIgbWFya2VyV2lkdGg9IjEwIiBtYXJrZXJIZWlnaHQ9IjEwIiByZWZYPSI5IiByZWZZPSIzIiBvcmllbnQ9ImF1dG8iPgogICAgICA8cG9seWdvbiBwb2ludHM9IjAgMCwgMTAgMywgMCA2IiBmaWxsPSIjNENBRjUwIi8+CiAgICA8L21hcmtlcj4KICA8L2RlZnM+CgogIDxzdHlsZT4KICAgIHRleHQgewogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmOwogICAgfQogIDwvc3R5bGU+CgogIDwhLS0gUmVtb3RlIENsaWVudCAtLT4KICA8Zz4KICAgIDxyZWN0IHg9IjUwIiB5PSI3MCIgd2lkdGg9IjE2MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMiIgZmlsbD0iIzRDQUY1MCIgb3BhY2l0eT0iMC4xMiIgc3Ryb2tlPSIjNENBRjUwIiBzdHJva2Utd2lkdGg9IjIuNSIvPgogICAgPHRleHQgeD0iMTMwIiB5PSIxMDgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTUiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9ImN1cnJlbnRDb2xvciI+UmVtb3RlIENsaWVudDwvdGV4dD4KICAgIDx0ZXh0IHg9IjEzMCIgeT0iMTM1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuNzUiPmFwcC5tdXNpYy1hc3Npc3RhbnQuaW88L3RleHQ+CiAgPC9nPgoKICA8IS0tIFNpZ25hbGluZyBTZXJ2ZXIgLS0+CiAgPGc+CiAgICA8cmVjdCB4PSIzMjAiIHk9IjUwIiB3aWR0aD0iMTYwIiBoZWlnaHQ9IjE0MCIgcng9IjEyIiBmaWxsPSIjMjE5NkYzIiBvcGFjaXR5PSIwLjEyIiBzdHJva2U9IiMyMTk2RjMiIHN0cm9rZS13aWR0aD0iMi41Ii8+CiAgICA8dGV4dCB4PSI0MDAiIHk9Ijg4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjE1IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPlNpZ25hbGluZyBTZXJ2ZXI8L3RleHQ+CiAgICA8dGV4dCB4PSI0MDAiIHk9IjExOCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iY3VycmVudENvbG9yIiBvcGFjaXR5PSIwLjciPkhBIENsb3VkPC90ZXh0PgogICAgPHRleHQgeD0iNDAwIiB5PSIxNDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTEiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC43Ij5TVFVOL1RVUk48L3RleHQ+CiAgICA8dGV4dCB4PSI0MDAiIHk9IjE2MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMSIgZmlsbD0iY3VycmVudENvbG9yIiBvcGFjaXR5PSIwLjciPldlYlJUQzwvdGV4dD4KICA8L2c+CgogIDwhLS0gTXVzaWMgQXNzaXN0YW50IFNlcnZlciAtLT4KICA8Zz4KICAgIDxyZWN0IHg9IjU5MCIgeT0iNzAiIHdpZHRoPSIxNjAiIGhlaWdodD0iMTAwIiByeD0iMTIiIGZpbGw9IiM5QzI3QjAiIG9wYWNpdHk9IjAuMTIiIHN0cm9rZT0iIzlDMjdCMCIgc3Ryb2tlLXdpZHRoPSIyLjUiLz4KICAgIDx0ZXh0IHg9IjY3MCIgeT0iMTA4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjE1IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPk11c2ljIEFzc2lzdGFudDwvdGV4dD4KICAgIDx0ZXh0IHg9IjY3MCIgeT0iMTI4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuNzUiPlNlcnZlcjwvdGV4dD4KICAgIDx0ZXh0IHg9IjY3MCIgeT0iMTUwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEwIiBmaWxsPSJjdXJyZW50Q29sb3IiIG9wYWNpdHk9IjAuNiI+UmVtb3RlIElEOiB4eHh4Li4uPC90ZXh0PgogIDwvZz4KCiAgPCEtLSBTdGVwIDE6IFJlbW90ZSBDbGllbnQgdG8gU2lnbmFsaW5nIFNlcnZlciAtLT4KICA8Zz4KICAgIDxsaW5lIHgxPSIyMTAiIHkxPSIxMjAiIHgyPSIzMTUiIHkyPSIxMjAiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgb3BhY2l0eT0iMC43IiBtYXJrZXItZW5kPSJ1cmwoI2Fycm93aGVhZCkiLz4KICAgIDxyZWN0IHg9IjIzMiIgeT0iOTAiIHdpZHRoPSI5NiIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuOSIgcng9IjQiLz4KICAgIDx0ZXh0IHg9IjI4MCIgeT0iMTA0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPjEuIENvbm5lY3Qgd2l0aCBJRDwvdGV4dD4KICA8L2c+CgogIDwhLS0gU3RlcCAyOiBTaWduYWxpbmcgU2VydmVyIHRvIE11c2ljIEFzc2lzdGFudCAtLT4KICA8Zz4KICAgIDxsaW5lIHgxPSI0ODUiIHkxPSIxMjAiIHgyPSI1ODUiIHkyPSIxMjAiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgb3BhY2l0eT0iMC43IiBtYXJrZXItZW5kPSJ1cmwoI2Fycm93aGVhZCkiLz4KICAgIDxyZWN0IHg9IjUwMiIgeT0iOTAiIHdpZHRoPSI2NiIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuOSIgcng9IjQiLz4KICAgIDx0ZXh0IHg9IjUzNSIgeT0iMTA0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPjIuIE5lZ290aWF0ZTwvdGV4dD4KICA8L2c+CgogIDwhLS0gU3RlcCAzOiBEaXJlY3QgUDJQIENvbm5lY3Rpb24gKGN1cnZlZCBwYXRoKSAtLT4KICA8Zz4KICAgIDxwYXRoIGQ9Ik0gMTMwLDE3NSBRIDQwMCwzMTAgNjcwLDE3NSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNENBRjUwIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1kYXNoYXJyYXk9IjEyLDYiIG1hcmtlci1lbmQ9InVybCgjYXJyb3doZWFkLWdyZWVuKSIvPgogICAgPHJlY3QgeD0iMzEwIiB5PSIyNzAiIHdpZHRoPSIxODAiIGhlaWdodD0iNTAiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjk1IiByeD0iNiIvPgogICAgPHRleHQgeD0iNDAwIiB5PSIyODkiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTMiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiM0Q0FGNTAiPjMuIERpcmVjdCBQMlAgQ29ubmVjdGlvbjwvdGV4dD4KICAgIDx0ZXh0IHg9IjQwMCIgeT0iMzA3IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjExIiBmaWxsPSIjNENBRjUwIj4oRW5kLXRvLUVuZCBFbmNyeXB0ZWQpPC90ZXh0PgogIDwvZz4KCiAgPCEtLSBMZWdlbmQgLS0+CiAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgwLCAzODUpIj4KICAgIDxsaW5lIHgxPSIwIiB5MT0iMCIgeDI9IjUwIiB5Mj0iMCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBvcGFjaXR5PSIwLjciLz4KICAgIDx0ZXh0IHg9IjU4IiB5PSI1IiBmb250LXNpemU9IjExIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPlNpZ25hbGluZyAoc2V0dXAgb25seSk8L3RleHQ+CgogICAgPGxpbmUgeDE9IjI1MCIgeTE9IjAiIHgyPSIzMDAiIHkyPSIwIiBzdHJva2U9IiM0Q0FGNTAiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWRhc2hhcnJheT0iMTIsNiIvPgogICAgPHRleHQgeD0iMzA4IiB5PSI1IiBmb250LXNpemU9IjExIiBmb250LXdlaWdodD0iNTAwIiBmaWxsPSJjdXJyZW50Q29sb3IiPkRpcmVjdCBlbmNyeXB0ZWQgY29ubmVjdGlvbjwvdGV4dD4KICA8L2c+Cjwvc3ZnPgo=",q={key:0,class:"text-center pa-8"},ee={key:1},te={class:"text-h6 mb-3"},se={class:"text-body-2 mb-2"},ie={class:"text-body-2 ml-4"},Ie={class:"text-body-1 mb-2"},le={key:0,class:"text-body-2 text-medium-emphasis"},ae={class:"text-subtitle-1 font-weight-medium mb-2"},oe={class:"text-body-2"},de={class:"text-body-2 mb-3"},ce={class:"text-body-2"},ne={class:"text-h6 mb-2"},ge={class:"ml-4"},me={class:"mt-2"},re={class:"mt-2"},ue={class:"my-4"},be={class:"text-subtitle-2 mb-3"},_e=["src"],Ce=H({__name:"RemoteAccessSettings",setup(Ze){const{t:g}=X(),A=u(!0),m=u(!1),l=u(null),y=u(!1);let r=null;f(async()=>{await G(),r=setInterval(async()=>{await G(!0)},5e3)}),L(()=>{r&&(clearInterval(r),r=null)});const G=async(t=!1)=>{t||(A.value=!0);try{l.value=await N.getRemoteAccessInfo()}catch(a){console.error("Error loading remote access info:",a),t||b.error(g("settings.remote_access_error_loading"))}finally{t||(A.value=!1)}},M=async t=>{if(!(!l.value||t===null)){m.value=!0;try{l.value=await N.configureRemoteAccess(t),b.success(g(t?"settings.remote_access_enabled_success":"settings.remote_access_disabled_success"))}catch(a){console.error("Error toggling remote access:",a),b.error(g("settings.remote_access_error_toggle"))}finally{m.value=!1}}},D=async()=>{if(!l.value?.remote_id)return;await E(l.value.remote_id)?y.value=!0:b.error(g("settings.remote_access_error_copy"))};return(t,a)=>(d(),_("section",null,[s(v,null,{default:e(()=>[A.value?(d(),_("div",q,[s(R,{indeterminate:"",size:"64",color:"primary"})])):l.value?(d(),_("div",ee,[s(p,{type:"info",variant:"tonal",class:"mb-6"},{default:e(()=>[o("div",te,i(t.$t("settings.remote_access_title")),1),o("p",se,i(t.$t("settings.remote_access_explanation_intro")),1),o("ul",ie,[o("li",null,i(t.$t("settings.remote_access_feature_webrtc")),1),o("li",null,i(t.$t("settings.remote_access_feature_encrypted")),1),o("li",null,i(t.$t("settings.remote_access_feature_no_port_forwarding")),1),o("li",null,i(t.$t("settings.remote_access_explanation_ha_cloud")),1)])]),_:1}),s(j,{class:"mb-6"},{default:e(()=>[s(w,null,{default:e(()=>[I(i(t.$t("settings.remote_access_status")),1)]),_:1}),s(v,null,{default:e(()=>[s(T,{align:"center"},{default:e(()=>[s(B,{cols:"12",sm:"8"},{default:e(()=>[o("div",Ie,i(l.value.enabled?t.$t("settings.remote_access_enabled"):t.$t("settings.remote_access_disabled")),1),l.value.enabled?(d(),_("div",le,[s(h,{color:l.value.connected?"success":"warning",size:"small",class:"mr-2"},{default:e(()=>[I(i(l.value.connected?t.$t("settings.remote_access_connected"):t.$t("settings.remote_access_connecting")),1)]),_:1},8,["color"]),s(h,{color:l.value.using_ha_cloud?"success":"default",size:"small",variant:"outlined"},{default:e(()=>[I(i(l.value.using_ha_cloud?t.$t("settings.remote_access_mode_optimized"):t.$t("settings.remote_access_mode_basic")),1)]),_:1},8,["color"])])):C("",!0)]),_:1}),s(B,{cols:"12",sm:"4",class:"text-right"},{default:e(()=>[s(J,{"model-value":l.value.enabled,loading:m.value,disabled:m.value,color:"primary","hide-details":"","onUpdate:modelValue":M},null,8,["model-value","loading","disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),l.value.enabled&&!l.value.using_ha_cloud?(d(),c(p,{key:0,type:"warning",variant:"tonal",class:"mb-6"},{default:e(()=>[o("div",ae,i(t.$t("settings.remote_access_mode_basic")),1),o("p",oe,i(t.$t("settings.remote_access_mode_basic_description")),1),s(S,{color:"primary",variant:"outlined",class:"mt-3",href:"https://www.nabucasa.com",target:"_blank"},{default:e(()=>[I(i(t.$t("settings.remote_access_upgrade_to_optimized"))+" ",1),s(n,{end:""},{default:e(()=>[...a[1]||(a[1]=[I("mdi-open-in-new",-1)])]),_:1})]),_:1})]),_:1})):C("",!0),l.value.enabled&&l.value.remote_id?(d(),c(j,{key:1,class:"mb-6"},{default:e(()=>[s(w,null,{default:e(()=>[I(i(t.$t("settings.remote_access_your_id")),1)]),_:1}),s(v,null,{default:e(()=>[s(p,{type:"success",variant:"outlined",class:"mb-4"},{default:e(()=>[o("div",de,i(t.$t("settings.remote_access_id_explanation")),1),s(x,{"model-value":l.value.remote_id,readonly:"",variant:"outlined",density:"comfortable",class:"font-weight-bold text-h6 mb-3","hide-details":""},{"append-inner":e(()=>[s(S,{icon:"mdi-content-copy",variant:"text",size:"small",title:t.$t("settings.remote_access_copy_id"),onClick:D},null,8,["title"])]),_:1},8,["model-value"])]),_:1}),o("div",ce,[o("div",ne,i(t.$t("settings.remote_access_how_to_use")),1),o("ol",ge,[o("li",null,[I(i(t.$t("settings.remote_access_step_1"))+" ",1),s(S,{color:"primary",variant:"text",size:"small",href:"https://app.music-assistant.io",target:"_blank",class:"ml-1"},{default:e(()=>[a[3]||(a[3]=I(" app.music-assistant.io ",-1)),s(n,{end:"",size:"small"},{default:e(()=>[...a[2]||(a[2]=[I("mdi-open-in-new",-1)])]),_:1})]),_:1})]),o("li",me,i(t.$t("settings.remote_access_step_2")),1),o("li",re,i(t.$t("settings.remote_access_step_3")),1)])])]),_:1})]),_:1})):C("",!0),l.value.enabled?(d(),c(K,{key:2},{default:e(()=>[s(Q,null,{default:e(()=>[s(Y,null,{default:e(()=>[s(n,{start:""},{default:e(()=>[...a[4]||(a[4]=[I("mdi-information-outline",-1)])]),_:1}),I(" "+i(t.$t("settings.remote_access_technical_details")),1)]),_:1}),s(F,null,{default:e(()=>[o("div",ue,[o("div",be,i(t.$t("settings.remote_access_connection_flow")),1),s(j,{variant:"outlined",class:"pa-4"},{default:e(()=>[o("img",{src:k(O),alt:"Remote Access Connection Flow",style:{width:"100%",height:"auto","max-width":"800px"}},null,8,_e)]),_:1})]),s(z,{density:"compact",class:"mt-4"},{default:e(()=>[s(P,null,{prepend:e(()=>[s(n,null,{default:e(()=>[...a[5]||(a[5]=[I("mdi-access-point-network",-1)])]),_:1})]),default:e(()=>[s(W,null,{default:e(()=>[I(i(t.$t("settings.remote_access_signaling_server")),1)]),_:1}),s(Z,null,{default:e(()=>[I(i(t.$t("settings.remote_access_signaling_server_description")),1)]),_:1})]),_:1}),s(P,null,{prepend:e(()=>[s(n,null,{default:e(()=>[...a[6]||(a[6]=[I("mdi-lan-connect",-1)])]),_:1})]),default:e(()=>[s(W,null,{default:e(()=>[I(i(t.$t("settings.remote_access_protocol")),1)]),_:1}),l.value.using_ha_cloud?(d(),c(Z,{key:0},{default:e(()=>[I(i(t.$t("settings.remote_access_protocol_optimized")),1)]),_:1})):(d(),c(Z,{key:1},{default:e(()=>[I(i(t.$t("settings.remote_access_protocol_basic")),1)]),_:1}))]),_:1}),s(P,null,{prepend:e(()=>[s(n,null,{default:e(()=>[...a[7]||(a[7]=[I("mdi-lock",-1)])]),_:1})]),default:e(()=>[s(W,null,{default:e(()=>[I(i(t.$t("settings.remote_access_encryption")),1)]),_:1}),s(Z,null,{default:e(()=>[I(i(t.$t("settings.remote_access_encryption_description")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):C("",!0)])):(d(),c(p,{key:2,type:"error",variant:"tonal"},{default:e(()=>[I(i(t.$t("settings.remote_access_error_loading")),1)]),_:1}))]),_:1}),s($,{modelValue:y.value,"onUpdate:modelValue":a[0]||(a[0]=V=>y.value=V),timeout:2e3,color:"success"},{default:e(()=>[I(i(t.$t("settings.remote_access_id_copied")),1)]),_:1},8,["modelValue"])]))}}),Pe=U(Ce,[["__scopeId","data-v-fcad6924"]]);export{Pe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.font-weight-bold[data-v-fcad6924]{font-weight:600}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as I}from"./Container-DVyrkl2H.js";import{I as $}from"./ItemsListing-Bao8c9rP.js";import{T as L}from"./Toolbar-DNqs9OXR.js";import{W as m}from"./WidgetRow-CkOdk0Z6.js";import{ay as V,J as p,L as w,a3 as B,ax as t,a4 as C,az as f,aA as i,o as c,aG as b,aI as n,aB as d,bH as O,aD as l,bI as P,ah as R,aH as K,aQ as r,bJ as U,bK as D,aP as F}from"./index-Ci6ypq6O.js";import{u as M}from"./userPreferences-D-oqBjc0.js";import"./index-kQIztB-E.js";import"./Button-CsTMTfds.js";import"./ListItem-Emhe-KUj.js";import"./MediaItemThumb-DT_RR5hr.js";import"./PanelviewItemCompact-pmyYhZHE.js";import"./VInfiniteScroll-C4zaTPzz.js";import"./VVirtualScroll-RawLIXgS.js";import"./VAlert-Kj2m6TCt.js";import"./VSnackbar-DsamuEmf.js";import"./VToolbar-CTLIwz5x.js";import"./VCheckboxBtn-lg4Bkg3S.js";import"./VSelectionControl-CuEKzbGp.js";const E={key:1},H={key:2},ie=V({__name:"Search",setup(G){const v=p(!1),a=p(),s=p(!1),g=p(),{getPreference:S,setPreference:k}=M();w(()=>t.globalSearchTerm,()=>{clearTimeout(g.value),g.value=setTimeout(()=>{h(t.globalSearchTerm,t.globalSearchType)},1e3)},{immediate:!0}),w(()=>t.globalSearchType,()=>{h(t.globalSearchTerm,t.globalSearchType)});const h=async function(e,u){s.value=!0,k("globalSearch",e||"");const o=t.globalSearchType?50:8,A=u?[u]:void 0;e?a.value=await F.search(e,A,o):a.value=void 0,s.value=!1};B(()=>{if(!t.globalSearchTerm){const e=S("globalSearch");e&&e!=="null"&&(t.globalSearchTerm=e)}});const y=function(e){e.ctrlKey||e.altKey||e.metaKey||(!v.value&&e.key=="Backspace"&&t.globalSearchTerm?t.globalSearchTerm=t.globalSearchTerm.slice(0,-1):!v.value&&e.key.length==1&&(t.globalSearchTerm+=e.key))};document.addEventListener("keyup",y),C(()=>{document.removeEventListener("keyup",y)});const T=function(e){return a.value?e==r.TRACK?a.value.tracks:e==r.ARTIST?a.value.artists:e==r.ALBUM?a.value.albums:e==r.PLAYLIST?a.value.playlists:e==r.PODCAST?a.value.podcasts:e==r.AUDIOBOOK?a.value.audiobooks:e==r.RADIO?a.value.radio:[]:[]};return(e,u)=>(i(),f("section",null,[c(L,{icon:"mdi-magnify",title:e.$t("global_search")},null,8,["title"]),c(I,{variant:"default"},{default:b(()=>[c(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"]),c(P,{modelValue:l(t).globalSearchType,"onUpdate:modelValue":u[3]||(u[3]=o=>l(t).globalSearchType=o),style:{"margin-top":"10px","margin-left":"10px"}},{default:b(()=>[(i(!0),f(R,null,K([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(U,{key:0,color:"accent",height:"4",indeterminate:"",rounded:"",style:{"margin-top":"15px"}})):d("",!0),l(t).globalSearchType?s.value?d("",!0):(i(),f("div",H,[c($,{itemtype:`${l(t).globalSearchType}s`,"show-provider":!0,"show-favorites-only-filter":!1,"show-select-button":!1,"show-refresh-button":!1,"load-items":async o=>T(l(t).globalSearchType),title:e.$t(`${l(t).globalSearchType}s`),"allow-key-hooks":!1,"show-search-button":!1,"infinite-scroll":!0,"sort-keys":[],style:{padding:"0"}},null,8,["itemtype","load-items","title"])])):(i(),f("div",E,[a.value&&!s.value?(i(),n(m,{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(m,{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(m,{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(m,{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(m,{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(m,{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(m,{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{ie as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.log-container[data-v-30a4366c]{max-height:600px;overflow:auto;background-color:rgba(var(--v-theme-surface-variant),.3)}.log-content[data-v-30a4366c]{margin:0;padding:16px;font-family:Courier New,Courier,monospace;font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-break:break-all;color:rgba(var(--v-theme-on-surface),.87)}@media (prefers-color-scheme: dark){.log-container[data-v-30a4366c]{background-color:#0000004d}}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{C as $}from"./Container-DVyrkl2H.js";import{ay as B,J as r,i as b,L as E,a3 as S,b6 as N,aI as R,aA as v,aG as n,o as a,bg as z,E as f,bW as j,M as V,bh as y,aN as i,aU as A,c3 as D,az as _,aB as C,b8 as F,aL as M,aS as O,aP as x,R as P,_ as G}from"./index-Ci6ypq6O.js";import{V as H}from"./VSwitch-jlMLuij2.js";import{V as J}from"./VAlert-Kj2m6TCt.js";import"./index-kQIztB-E.js";import"./VSelectionControl-CuEKzbGp.js";const W={class:"d-flex flex-column flex-sm-row align-start align-sm-center ga-2 w-100"},q={class:"d-flex flex-wrap ga-2"},K={key:0,class:"pa-8 text-center"},Q={class:"mt-4"},X={key:1,class:"pa-8 text-center"},Y={class:"text-error"},Z={key:2,class:"pa-4 text-center"},ee={class:"log-content"},h=150,te=B({__name:"ServerLogs",setup(ae){const c=r(""),m=r(!0),w=r(!1),d=r(""),p=r(!0),u=r(null);let o=null;const k=b(()=>{const e=c.value.split(`
|
|
2
|
+
`);return e.length>h?e.slice(-h).join(`
|
|
3
|
+
`):c.value}),L=b(()=>c.value.split(`
|
|
4
|
+
`).length>h),T=()=>{u.value&&P(()=>{u.value&&(u.value.scrollTop=u.value.scrollHeight)})},g=async(e=!1)=>{try{e?w.value=!0:m.value=!0,d.value="";const t=await fetch(`${x.baseUrl}/music-assistant.log`);if(!t.ok)throw new Error(`Failed to fetch logs: ${t.statusText}`);const s=await t.text(),l=c.value;c.value=s,(!e||s!==l)&&setTimeout(()=>T(),100)}catch(t){d.value=t.message||"Failed to load server logs",console.error("Error loading logs:",t)}finally{m.value=!1,w.value=!1}},U=()=>{g(!0)},I=async()=>{try{const t=await(await fetch(`${x.baseUrl}/music-assistant.log`)).blob(),s=window.URL.createObjectURL(t),l=document.createElement("a");l.href=s,l.download="music-assistant.log",document.body.appendChild(l),l.click(),document.body.removeChild(l),window.URL.revokeObjectURL(s)}catch(e){console.error("Error downloading log:",e)}};return E(p,e=>{e?o=setInterval(()=>{g(!0)},5e3):o&&(clearInterval(o),o=null)}),S(async()=>{await g(!1),p.value&&(o=setInterval(()=>{g(!0)},5e3))}),N(()=>{o&&clearInterval(o)}),(e,t)=>(v(),R($,null,{default:n(()=>[a(O,{class:"mb-4",elevation:"0",variant:"flat"},{default:n(()=>[a(z,{class:"text-subtitle-1 font-weight-bold py-3"},{default:n(()=>[f("div",W,[a(H,{modelValue:p.value,"onUpdate:modelValue":t[0]||(t[0]=s=>p.value=s),color:"primary",density:"compact","hide-details":"",label:e.$t("settings.auto_refresh_log")},null,8,["modelValue","label"]),a(j,{class:"d-none d-sm-block"}),f("div",q,[a(V,{color:"primary",variant:"text",loading:w.value,"prepend-icon":"mdi-refresh",size:"small",onClick:U},{default:n(()=>[y(i(e.$t("settings.reload")),1)]),_:1},8,["loading"]),a(V,{color:"primary",variant:"elevated","prepend-icon":"mdi-download",size:"small",onClick:I},{default:n(()=>[y(i(e.$t("settings.download_log")),1)]),_:1})])])]),_:1}),a(A),a(D,{class:"pa-0"},{default:n(()=>[m.value?(v(),_("div",K,[a(F,{indeterminate:"",color:"primary"}),f("div",Q,i(e.$t("loading")),1)])):d.value?(v(),_("div",X,[a(M,{icon:"mdi-alert-circle",color:"error",size:"48",class:"mb-4"}),f("div",Y,i(d.value),1)])):L.value?(v(),_("div",Z,[a(J,{type:"info",variant:"tonal"},{default:n(()=>[y(i(e.$t("settings.log_truncated",[h])),1)]),_:1})])):C("",!0),!m.value&&!d.value?(v(),_("div",{key:3,ref_key:"logContainer",ref:u,class:"log-container"},[f("pre",ee,i(k.value),1)],512)):C("",!0)]),_:1})]),_:1})]),_:1}))}}),ce=G(te,[["__scopeId","data-v-30a4366c"]]);export{ce as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as A}from"./Container-DVyrkl2H.js";import{T as z}from"./Toolbar-DNqs9OXR.js";import{g as S,p as B,n as w,E as k,q as I,r as P,C as D,co as $,i as g,bZ as E,ao as F,o as r,ae as L,x as T,cp as q,av as U,b$ as Z,c as j,d as G,f as H,m as J,t as _,z as K,B as W,cq as Y,aL as V,an as Q,aw as X,ah as N,ay as ee,bN as te,by as se,aE as ie,aP as m,az as M,aA as v,aI as C,aK as ae,aG as l,M as ne,aD as h,cr as re,aU as oe,aF as le,aH as de,aS as ue,aZ as ce,aY as me,aJ as pe,aM as ge,bh as O,aN as R,bS as ve,bE as fe,_ as be}from"./index-Ci6ypq6O.js";import{M as ye}from"./index-kQIztB-E.js";import"./VToolbar-CTLIwz5x.js";const _e=B({divider:[Number,String],...D()},"VBreadcrumbsDivider"),he=S()({name:"VBreadcrumbsDivider",props:_e(),setup(e,d){let{slots:t}=d;return w(()=>k("li",{"aria-hidden":"true",class:P(["v-breadcrumbs-divider",e.class]),style:I(e.style)},[t?.default?.()??e.divider])),{}}}),Ce=B({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...D(),...U(Z(),["width","maxWidth"]),...q(),...T({tag:"li"})},"VBreadcrumbsItem"),ke=S()({name:"VBreadcrumbsItem",props:Ce(),setup(e,d){let{slots:t,attrs:f}=d;const c=$(e,f),u=g(()=>e.active||c.isActive?.value),{dimensionStyles:b}=E(e),{textColorClasses:y,textColorStyles:o}=F(()=>u.value?e.activeColor:e.color);return w(()=>r(e.tag,{class:P(["v-breadcrumbs-item",{"v-breadcrumbs-item--active":u.value,"v-breadcrumbs-item--disabled":e.disabled,[`${e.activeClass}`]:u.value&&e.activeClass},y.value,e.class]),style:I([o.value,b.value,e.style]),"aria-current":u.value?"page":void 0},{default:()=>[c.isLink.value?k("a",L({class:"v-breadcrumbs-item--link",onClick:c.navigate},c.linkProps),[t.default?.()??e.title]):t.default?.()??e.title]})),{}}}),Ve=B({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:"/"},icon:Y,items:{type:Array,default:()=>[]},itemProps:Boolean,...D(),...W(),...K(),...T({tag:"ul"})},"VBreadcrumbs"),Se=S()({name:"VBreadcrumbs",props:Ve(),setup(e,d){let{slots:t}=d;const{backgroundColorClasses:f,backgroundColorStyles:c}=j(()=>e.bgColor),{densityClasses:u}=G(e),{roundedClasses:b}=H(e);J({VBreadcrumbsDivider:{divider:_(()=>e.divider)},VBreadcrumbsItem:{activeClass:_(()=>e.activeClass),activeColor:_(()=>e.activeColor),color:_(()=>e.color),disabled:_(()=>e.disabled)}});const y=g(()=>e.items.map(o=>typeof o=="string"?{item:{title:o},raw:o}:{item:o,raw:o}));return w(()=>{const o=!!(t.prepend||e.icon);return r(e.tag,{class:P(["v-breadcrumbs",f.value,u.value,b.value,e.class]),style:I([c.value,e.style])},{default:()=>[o&&k("li",{key:"prepend",class:"v-breadcrumbs__prepend"},[t.prepend?r(Q,{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)]),y.value.map((a,n,i)=>{let{item:s,raw:p}=a;return k(N,null,[t.item?.({item:s,index:n})??r(ke,L({key:n,disabled:n>=i.length-1},typeof s=="string"?{title:s}:s,e.itemProps&&X(p)?p:{}),{default:t.title?()=>t.title?.({item:s,index:n}):void 0}),n<i.length-1&&r(he,null,{default:t.divider?()=>t.divider?.({item:p,index:n}):void 0})])}),t.default?.()]})}),{}}}),Be=ee({__name:"Settings",setup(e){const d=ie(),{t}=te(),f=[{name:"profile",label:"auth.profile",description:"settings.profile_description",icon:"mdi-account-cog",color:"indigo",route:{name:"profile"},adminOnly:!1},{name:"providers",label:"settings.providers",description:"settings.providers_description",icon:"mdi-monitor-dashboard",color:"blue",route:{name:"providersettings"},adminOnly:!0},{name:"players",label:"settings.players",description:"settings.players_description",icon:"mdi-speaker-multiple",color:"green",route:{name:"playersettings"},adminOnly:!0},{name:"system",label:"settings.system",description:"settings.system_description",icon:"mdi-server",color:"purple",route:{name:"systemsettings"},adminOnly:!0},{name:"remote_access",label:"settings.remote_access",description:"settings.remote_access_description",icon:"mdi-cloud-lock",color:"deep-purple",route:{name:"remoteaccesssettings"},adminOnly:!0},{name:"frontend",label:"settings.frontend",description:"settings.frontend_description",icon:"mdi-palette",color:"orange",route:{name:"frontendsettings"},adminOnly:!1},{name:"users",label:"auth.user_management",description:"settings.users_description",icon:"mdi-account-multiple",color:"teal",route:{name:"usersettings"},adminOnly:!0},{name:"about",label:"settings.about",description:"settings.about_description",icon:"mdi-information-outline",color:"grey-darken-1",route:{name:"aboutsettings"},adminOnly:!1}],c=g(()=>{const a=se.isAdmin();return f.filter(n=>!n.adminOnly||a)}),u=g(()=>d.currentRoute.value.name==="settings"),b=g(()=>{const a=d.currentRoute.value.name?.toString()||"";return a==="profile"?"profile":a.includes("player")||a==="addgroup"?"players":a.includes("system")||a.includes("core")||a.includes("serverlog")?"system":a.includes("frontend")?"frontend":a.includes("remoteaccess")?"remote_access":a.includes("user")?"users":a.includes("about")?"about":"providers"}),y=g(()=>{const a=d.currentRoute.value,n=a.name?.toString()||"",i=[{title:t("settings.settings"),disabled:!1,href:"#",to:{name:"settings"}}];if(!u.value){const s=b.value;s==="profile"?i.push({title:t("auth.profile"),disabled:n==="profile",to:{name:"profile"}}):s==="players"?i.push({title:t("settings.players"),disabled:n==="playersettings",to:{name:"playersettings"}}):s==="system"?i.push({title:t("settings.system"),disabled:n==="systemsettings",to:{name:"systemsettings"}}):s==="remote_access"?i.push({title:t("settings.remote_access"),disabled:n==="remoteaccesssettings",to:{name:"remoteaccesssettings"}}):s==="frontend"?i.push({title:t("settings.frontend"),disabled:n==="frontendsettings",to:{name:"frontendsettings"}}):s==="users"?i.push({title:t("settings.users"),disabled:n==="usersettings",to:{name:"usersettings"}}):s==="providers"?i.push({title:t("settings.providers"),disabled:n==="providersettings",to:{name:"providersettings"}}):s==="about"&&i.push({title:t("settings.about"),disabled:n==="aboutsettings",to:{name:"aboutsettings"}})}return ye(n).with("addproviderdetails",()=>{i.push({title:t("settings.setup_provider",[a.params.domain||""]),disabled:!0})}).with("editprovider",()=>{i.push({title:t("settings.edit_provider",[a.params.instanceId||""]),disabled:!0})}).with("addgroup",()=>{i.push({title:t("settings.add_group_player"),disabled:!0})}).with("editplayer",()=>{i.push({title:t("settings.player_settings"),disabled:!0})}).with("editplayerdsp",()=>{i.push({title:"DSP",disabled:!0})}).with("editcore",()=>{const s=a.params.domain,p=t(`settings.core_module.${s}.name`),x=p!==`settings.core_module.${s}.name`?p:m.providerManifests[s]?.name||s;i.push({title:x,disabled:!0})}).with("serverlogs",()=>{i.push({title:t("settings.server_logging"),disabled:!0})}).otherwise(()=>{}),i}),o=g(()=>{const a=d.currentRoute.value,n=a.name?.toString()||"";if(n==="editcore"){const i=a.params.domain;if(i&&m.providerManifests[i])return m.providerManifests[i].documentation||null}else if(n==="editprovider"){const i=a.params.instanceId;if(i){const s=m.getProvider(i);if(s&&m.providerManifests[s.domain])return m.providerManifests[s.domain].documentation||null}}else if(n==="addproviderdetails"){const i=a.params.domain;if(i&&m.providerManifests[i])return m.providerManifests[i].documentation||null}return null});return(a,n)=>{const i=me("router-view");return v(),M("div",null,[r(z,{icon:"mdi-cog-outline","show-loading":!0},ae({title:l(()=>[r(Se,{items:y.value,class:"pa-0"},null,8,["items"])]),_:2},[o.value?{name:"append",fn:l(()=>[r(ne,{icon:"mdi-help-circle",variant:"text",title:h(t)("settings.view_documentation"),onClick:n[0]||(n[0]=s=>h(re)(o.value))},null,8,["title"])]),key:"0"}:void 0]),1024),r(oe),u.value?(v(),C(A,{key:0,variant:"comfortable",class:"settings-overview"},{default:l(()=>[r(ue,{class:"settings-main-card"},{default:l(()=>[r(le,{class:"settings-list"},{default:l(()=>[(v(!0),M(N,null,de(c.value,s=>(v(),C(pe,{key:s.name,ripple:!0,class:"settings-list-item",onClick:p=>h(d).push(s.route)},{prepend:l(()=>[r(fe,{color:s.color,size:"48"},{default:l(()=>[r(V,{icon:s.icon,size:"24",color:"white"},null,8,["icon"])]),_:2},1032,["color"])]),append:l(()=>[r(V,{icon:"mdi-chevron-right"})]),default:l(()=>[r(ge,{class:"text-h6"},{default:l(()=>[O(R(h(t)(s.label)),1)]),_:2},1024),r(ve,null,{default:l(()=>[O(R(h(t)(s.description)),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]),_:1})):(v(),C(i,{key:1},{default:l(({Component:s})=>[(v(),C(ce(s)))]),_:1}))])}}}),Oe=be(Be,[["__scopeId","data-v-6547f92c"]]);export{Oe as default};
|
|
@@ -0,0 +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-6547f92c]{padding:24px;max-width:800px;margin:0 auto}.settings-main-card[data-v-6547f92c]{overflow:hidden}.settings-list[data-v-6547f92c]{padding:0}.settings-list-item[data-v-6547f92c]{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-6547f92c]:last-child{border-bottom:none}.settings-list-item[data-v-6547f92c]:hover{background-color:rgba(var(--v-theme-on-surface),.05)}.settings-list-item[data-v-6547f92c] .v-list-item__prepend{margin-right:16px}.v-avatar[data-v-6547f92c]{box-shadow:0 2px 8px #00000026}@media (max-width: 600px){.settings-list-item[data-v-6547f92c]{padding:12px 16px;min-height:64px}.settings-list-item[data-v-6547f92c] .v-list-item__prepend{margin-right:12px}.settings-list-item[data-v-6547f92c] .v-avatar{width:40px!important;height:40px!important}.settings-list-item[data-v-6547f92c] .v-list-item-title{font-size:1rem!important;line-height:1.3}.settings-list-item[data-v-6547f92c] .v-list-item-subtitle{font-size:.813rem!important;line-height:1.3}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.settings-overview[data-v-fe538fe8]{padding:24px;max-width:800px;margin:0 auto}.settings-main-card[data-v-fe538fe8]{overflow:hidden}.settings-list[data-v-fe538fe8]{padding:0}.settings-list-item[data-v-fe538fe8]{cursor:pointer;padding:20px 24px;min-height:80px;border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.settings-list-item[data-v-fe538fe8]:last-child{border-bottom:none}.settings-list-item[data-v-fe538fe8]:hover{background-color:rgba(var(--v-theme-on-surface),.05)}.settings-list-item[data-v-fe538fe8] .v-list-item__prepend{margin-right:16px}.v-avatar[data-v-fe538fe8]{box-shadow:0 2px 8px #00000026}@media (max-width: 600px){.settings-list-item[data-v-fe538fe8]{padding:12px 16px;min-height:64px}.settings-list-item[data-v-fe538fe8] .v-list-item__prepend{margin-right:12px}.settings-list-item[data-v-fe538fe8] .v-avatar{width:40px!important;height:40px!important}.settings-list-item[data-v-fe538fe8] .v-list-item-title{font-size:1rem!important;line-height:1.3}.settings-list-item[data-v-fe538fe8] .v-list-item-subtitle{font-size:.813rem!important;line-height:1.3}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as L}from"./Container-DVyrkl2H.js";import{ay as M,bN as w,J as z,i as N,aP as o,a3 as B,aI as u,aA as r,aG as e,o as a,aF as E,az as _,aH as f,ah as C,aS as D,aE as T,aJ as v,aM as h,bh as l,aN as c,bS as k,aB as A,aL as d,bE as y,aV as F,aD as V,_ as J}from"./index-Ci6ypq6O.js";import"./index-kQIztB-E.js";const G=M({__name:"SystemConfig",setup(H){const m=T(),{t:i}=w(),p=z([]),x=[{domain:"logging",name:"settings.system_logging",description:"settings.system_logging_description",icon:"mdi-text-box-search",route:"/settings/serverlogs"}],I=N(()=>[...p.value].sort((t,n)=>o.providerManifests[t.domain].name.localeCompare(o.providerManifests[n.domain].name))),b=t=>{const n=i(`settings.core_module.${t.domain}.name`);return n!==`settings.core_module.${t.domain}.name`?n:o.providerManifests[t.domain].name},$=t=>{const n=i(`settings.core_module.${t.domain}.description`);return n!==`settings.core_module.${t.domain}.description`?n:o.providerManifests[t.domain].description},g=function(t){t.route?m.push(t.route):m.push(`/settings/editcore/${t.domain}`)};return B(async()=>{p.value=await o.getCoreConfigs()}),(t,n)=>(r(),u(L,{variant:"comfortable",class:"settings-overview"},{default:e(()=>[a(D,{class:"settings-main-card"},{default:e(()=>[a(E,{class:"settings-list"},{default:e(()=>[(r(!0),_(C,null,f(I.value,s=>(r(),u(v,{key:s.domain,ripple:!0,class:"settings-list-item",onClick:S=>g(s)},{prepend:e(()=>[a(y,{color:"blue",size:"48"},{default:e(()=>[a(F,{domain:s.domain,size:24,color:"white"},null,8,["domain"])]),_:2},1024)]),append:e(()=>[s.last_error?(r(),u(d,{key:0,color:"red",icon:"mdi-alert-circle",class:"mr-2",title:s.last_error},null,8,["title"])):A("",!0),a(d,{icon:"mdi-chevron-right"})]),default:e(()=>[a(h,{class:"text-h6"},{default:e(()=>[l(c(b(s)),1)]),_:2},1024),a(k,null,{default:e(()=>[l(c($(s)),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),(r(),_(C,null,f(x,s=>a(v,{key:s.domain,ripple:!0,class:"settings-list-item",onClick:S=>g(s)},{prepend:e(()=>[a(y,{color:"purple",size:"48"},{default:e(()=>[a(d,{icon:s.icon,size:"24",color:"white"},null,8,["icon"])]),_:2},1024)]),append:e(()=>[a(d,{icon:"mdi-chevron-right"})]),default:e(()=>[a(h,{class:"text-h6"},{default:e(()=>[l(c(V(i)(s.name)),1)]),_:2},1024),a(k,null,{default:e(()=>[l(c(V(i)(s.description)),1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1})]),_:1}))}}),q=J(G,[["__scopeId","data-v-fe538fe8"]]);export{q as default};
|
|
@@ -0,0 +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-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{g as R,p as X,c as Y,f as E,I as q,ao as G,u as H,cs as J,bZ as K,n as W,ct as Z,o as l,ae as y,b$ as j,cu as Q,v as U,x as p,z as I,cv as _,C as ee,cq as te,E as h,Y as ae,N as le,X as oe,aL as f,ay as ne,aI as r,aA as n,aK as w,aG as a,aD as d,b5 as B,M as k,a$ as P,aB as v,az as u,aP as m,b8 as T,ah as V,aH as $,b4 as L,aF as x,aJ as M,ax as ie,aC as se,aN as re,_ as de}from"./index-Ci6ypq6O.js";import{V as ce}from"./VToolbar-CTLIwz5x.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"}),...j()},"VBadge"),A=R()({name:"VBadge",inheritAttrs:!1,props:ue(),setup(e,b){const{backgroundColorClasses:C,backgroundColorStyles:i}=Y(()=>e.color),{roundedClasses:s}=E(e),{t}=q(),{textColorClasses:o,textColorStyles:g}=G(()=>e.textColor),{themeClasses:N}=H(),{locationStyles:z}=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}=K(e);return W(()=>{const c=Number(e.content),S=!e.max||isNaN(c)?e.content:c<=Number(e.max)?c:`${e.max}+`,[F,O]=Z(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?{}:z.value],"aria-atomic":"true","aria-label":t(e.label,c),"aria-live":"polite",role:"status"},F),[e.dot?void 0:b.slots.badge?b.slots.badge?.():e.icon?l(f,{icon:e.icon},null):S]),[[oe,e.modelValue]])]})])]})}),{}}}),fe={key:0,class:"mobile-brand"},be={key:1},ve=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(M,{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(M,{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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as u}from"./ItemsListing-Bao8c9rP.js";import{I as c,_ as f}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-DHz8rGQ5.js";import{ay as y,J as k,L as b,az as w,aA as o,o as h,aI as s,aB as m,E as n,aD as I,aP as l}from"./index-Ci6ypq6O.js";import"./Container-DVyrkl2H.js";import"./index-kQIztB-E.js";import"./Toolbar-DNqs9OXR.js";import"./VToolbar-CTLIwz5x.js";import"./Button-CsTMTfds.js";import"./ListItem-Emhe-KUj.js";import"./userPreferences-D-oqBjc0.js";import"./VCheckboxBtn-lg4Bkg3S.js";import"./VSelectionControl-CuEKzbGp.js";import"./MediaItemThumb-DT_RR5hr.js";import"./PanelviewItemCompact-pmyYhZHE.js";import"./VInfiniteScroll-C4zaTPzz.js";import"./VVirtualScroll-RawLIXgS.js";import"./VAlert-Kj2m6TCt.js";import"./VSnackbar-DsamuEmf.js";import"./marquee_text_sync-D_iJsxcD.js";import"./VDialog-DofGN8Yd.js";const F=y({__name:"TrackDetails",props:{itemId:{},provider:{},album:{}},setup(r){const a=r,e=k(),p=async function(){e.value=await l.getTrack(a.itemId,a.provider,a.album)};b(()=>a.itemId,t=>{t&&p()},{immediate:!0});const d=async function(t){return await l.getTrackVersions(e.value.item_id,e.value.provider)},v=async function(t){return await l.getTrackAlbums(a.itemId,a.provider,t.libraryOnly)};return(t,i)=>(o(),w("section",null,[h(c,{item:e.value,"active-provider":r.provider},null,8,["item","active-provider"]),e.value?(o(),s(u,{key:0,itemtype:"trackalbums","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-library-only-filter":e.value.provider=="library"&&I(l).hasStreamingProviders.value,"show-track-number":!1,"show-refresh-button":!1,"load-items":v,"sort-keys":["name","sort_name","year","year_desc"],title:t.$t("appears_on"),path:r.provider+r.itemId,"allow-collapse":!0},null,8,["parent-item","show-library-only-filter","title","path"])):m("",!0),i[0]||(i[0]=n("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"])):m("",!0),i[1]||(i[1]=n("br",null,null,-1)),e.value?(o(),s(f,{key:2,"item-details":e.value},null,8,["item-details"])):m("",!0),i[2]||(i[2]=n("br",null,null,-1))]))}});export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.user-name-box[data-v-8cbf5f8f],.user-name-box[data-v-9638370d]{background:rgba(var(--v-theme-error),.08);border-left:3px solid rgb(var(--v-theme-error));padding:12px 16px;border-radius:4px;font-weight:500;font-size:.938rem}.section-subtitle[data-v-19f1861f]{color:var(--v-theme-secondary);font-size:.813rem;margin:16px 0 12px;line-height:1.4}.section-header-with-action[data-v-19f1861f]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;flex-wrap:wrap}.empty-state[data-v-19f1861f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;border:2px dashed rgba(var(--v-border-color),var(--v-border-opacity));border-radius:8px;text-align:center}.empty-state .v-avatar[data-v-19f1861f]{display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.empty-state .v-avatar .v-icon[data-v-19f1861f]{margin:0!important}.tokens-list[data-v-19f1861f]{border:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-radius:8px;overflow:hidden;padding:10px}.token-meta[data-v-19f1861f]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.875rem}.token-divider[data-v-19f1861f]{color:rgb(var(--v-theme-on-surface-variant))}.tokens-list[data-v-19f1861f] .v-avatar{display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.tokens-list[data-v-19f1861f] .v-avatar .v-icon{margin:0!important}@media (max-width: 600px){.section-header-with-action[data-v-19f1861f]{flex-direction:column;align-items:stretch}}.token-name-box[data-v-026d0253]{background:rgba(var(--v-theme-error),.08);border-left:3px solid rgb(var(--v-theme-error));padding:12px 16px;border-radius:4px;font-weight:500;font-size:.938rem}.users-header[data-v-4952d4ff]{display:flex;align-items:stretch;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 20px 6px}.add-user-btn[data-v-4952d4ff]{flex-shrink:0;align-self:center}@media (max-width: 960px){.users-header[data-v-4952d4ff]{flex-direction:column;align-items:stretch}.add-user-btn[data-v-4952d4ff]{width:100%;align-self:stretch}}.user-avatar-wrapper[data-v-4952d4ff]{display:flex;align-items:center;justify-content:center}.user-avatar-wrapper[data-v-4952d4ff] .v-icon{margin-inline-end:0!important}.user-avatar-wrapper[data-v-4952d4ff] .v-avatar{display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.user-avatar-wrapper[data-v-4952d4ff] .v-avatar .v-icon{margin:0!important}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as pe}from"./Container-DVyrkl2H.js";import{L as ae}from"./ListItem-Emhe-KUj.js";import{ay as S,bN as B,J as U,i as I,aP as P,ce as re,L as le,aI as N,aA as i,aG as t,o as l,aS as E,bg as j,bh as g,aN as s,c3 as J,bH as O,aB as C,az as $,bK as Q,bV as H,bW as W,M as z,aW as w,cI as ue,E as V,_ as Z,ax as ee,aU as ve,bE as G,aL as K,ah as te,aH as se,bd as oe,a3 as ce,am as fe,aO as _e}from"./index-Ci6ypq6O.js";import{V as A}from"./VSelect-CMxVGu2h.js";import{V as X}from"./VDialog-DofGN8Yd.js";import{_ as he}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-CDOcvzeY.js";import"./index-kQIztB-E.js";import"./Button-CsTMTfds.js";import"./VVirtualScroll-RawLIXgS.js";import"./VCheckboxBtn-lg4Bkg3S.js";import"./VSelectionControl-CuEKzbGp.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=S({__name:"CreateUserDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue","created"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=U({username:"",displayName:"",password:"",confirmPassword:"",role:"user",playerFilter:[],providerFilter:[]}),m=[{title:u("auth.admin_role"),value:"admin"},{title:u("auth.user_role"),value:"user"}],h=I(()=>Object.values(P.players).map(e=>({title:e.name,value:e.player_id})).sort((e,o)=>e.title.localeCompare(o.title))),d=I(()=>Object.values(P.providers).filter(e=>e.type===re.MUSIC).map(e=>({title:e.name,value:e.instance_id})).sort((e,o)=>e.title.localeCompare(o.title))),k=e=>{a.value.playerFilter=a.value.playerFilter.filter(o=>o!==e)},y=e=>{a.value.providerFilter=a.value.providerFilter.filter(o=>o!==e)},D={required:e=>!!e||u("auth.field_required"),usernameLength:e=>e.length>=3||u("auth.username_min_length"),passwordLength:e=>e.length>=8||u("auth.password_min_length"),passwordMatch:e=>e===a.value.password||u("auth.passwords_must_match")},R=I(()=>a.value.username.length>=3&&a.value.password.length>=8&&a.value.password===a.value.confirmPassword&&a.value.role),L=()=>{a.value={username:"",displayName:"",password:"",confirmPassword:"",role:ue.USER,playerFilter:[],providerFilter:[]}},M=()=>{L(),p("update:modelValue",!1)},q=async()=>{b.value=!0;try{await P.createUser(a.value.username,a.value.password,a.value.role,a.value.displayName||void 0,a.value.playerFilter.length>0?a.value.playerFilter:void 0,a.value.providerFilter.length>0?a.value.providerFilter:void 0)?(w.success(u("auth.user_created")),L(),p("created"),p("update:modelValue",!1)):w.error(u("auth.user_create_failed"))}catch{w.error(u("auth.user_create_failed"))}finally{b.value=!1}};return le(()=>n.modelValue,e=>{e||L()}),(e,o)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":o[7]||(o[7]=r=>p("update:modelValue",r))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(e.$t("auth.create_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[l(O,{modelValue:a.value.username,"onUpdate:modelValue":o[0]||(o[0]=r=>a.value.username=r),label:e.$t("auth.username"),variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.usernameLength],autofocus:""},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.displayName,"onUpdate:modelValue":o[1]||(o[1]=r=>a.value.displayName=r),label:e.$t("auth.display_name"),variant:"outlined",density:"comfortable",class:"mb-2",hint:e.$t("optional"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(O,{modelValue:a.value.password,"onUpdate:modelValue":o[2]||(o[2]=r=>a.value.password=r),label:e.$t("auth.password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.passwordLength]},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.confirmPassword,"onUpdate:modelValue":o[3]||(o[3]=r=>a.value.confirmPassword=r),label:e.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.passwordMatch]},null,8,["modelValue","label","rules"]),l(A,{modelValue:a.value.role,"onUpdate:modelValue":o[4]||(o[4]=r=>a.value.role=r),label:e.$t("auth.role"),items:m,variant:"outlined",density:"comfortable",class:"mb-2"},null,8,["modelValue","label"]),l(A,{modelValue:a.value.playerFilter,"onUpdate:modelValue":o[5]||(o[5]=r=>a.value.playerFilter=r),label:e.$t("auth.player_filter"),items:h.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.player_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":Y=>k(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",ye," (+"+s(a.value.playerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"]),l(A,{modelValue:a.value.providerFilter,"onUpdate:modelValue":o[6]||(o[6]=r=>a.value.providerFilter=r),label:e.$t("auth.provider_filter"),items:d.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.provider_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":Y=>y(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",be," (+"+s(a.value.providerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"])]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),l(z,{variant:"text",onClick:M},{default:t(()=>[g(s(e.$t("cancel")),1)]),_:1}),l(z,{color:"primary",variant:"flat",loading:b.value,disabled:!R.value,onClick:q},{default:t(()=>[g(s(e.$t("create")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Ve={class:"text-body-1 mb-4"},ge={key:0,class:"user-name-box"},$e=S({__name:"DeleteUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","deleted"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(n.user){b.value=!0;try{await P.deleteUser(n.user.user_id)?(w.success(u("auth.user_deleted")),p("deleted"),p("update:modelValue",!1)):w.error(u("auth.user_delete_failed"))}catch{w.error(u("auth.user_delete_failed"))}finally{b.value=!1}}};return(m,h)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pl-6 pb-0"},{default:t(()=>[g(s(m.$t("auth.delete_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",Ve,s(m.$t("auth.confirm_delete_user")),1),c.user?(i(),$("div",ge,s(c.user.display_name||c.user.username),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),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=S({__name:"DisableUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","disabled"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(n.user){b.value=!0;try{await P.disableUser(n.user.user_id)?(w.success(u("auth.user_disabled")),p("disabled"),p("update:modelValue",!1)):w.error(u("auth.user_disable_failed"))}catch{w.error(u("auth.user_disable_failed"))}finally{b.value=!1}}};return(m,h)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pl-6 pb-0"},{default:t(()=>[g(s(m.$t("auth.disable_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",Ue,s(m.$t("auth.confirm_disable_user")),1),c.user?(i(),$("div",Ce,s(c.user.display_name||c.user.username),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),l(z,{variant:"text",onClick:h[0]||(h[0]=d=>p("update:modelValue",!1))},{default:t(()=>[g(s(m.$t("cancel")),1)]),_:1}),l(z,{color:"error",variant:"flat",loading:b.value,onClick:a},{default:t(()=>[g(s(m.$t("auth.disable_user")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),De=Z(Fe,[["__scopeId","data-v-9638370d"]]),Ne={key:1,class:"text-grey text-caption align-self-center"},Te={key:1,class:"text-grey text-caption align-self-center"},ze=S({__name:"EditUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","updated"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=U({username:"",displayName:"",avatarUrl:"",role:"user",password:"",confirmPassword:"",playerFilter:[],providerFilter:[]}),m=[{title:u("auth.admin_role"),value:"admin"},{title:u("auth.user_role"),value:"user"}],h=I(()=>Object.values(P.players).map(e=>({title:e.name,value:e.player_id})).sort((e,o)=>e.title.localeCompare(o.title))),d=I(()=>Object.values(P.providers).filter(e=>e.type===re.MUSIC).map(e=>({title:e.name,value:e.instance_id})).sort((e,o)=>e.title.localeCompare(o.title))),k=e=>{a.value.playerFilter=a.value.playerFilter.filter(o=>o!==e)},y=e=>{a.value.providerFilter=a.value.providerFilter.filter(o=>o!==e)},D={required:e=>!!e||u("auth.field_required"),usernameLength:e=>e.length>=3||u("auth.username_min_length"),passwordLength:e=>e.length>=8||u("auth.password_min_length"),passwordMatch:e=>e===a.value.password||u("auth.passwords_must_match")},R=I(()=>!n.user||!ee.currentUser?!1:n.user.user_id===ee.currentUser.user_id),L=()=>{n.user?a.value={username:n.user.username,displayName:n.user.display_name||"",avatarUrl:n.user.avatar_url||"",role:n.user.role,password:"",confirmPassword:"",playerFilter:n.user.player_filter||[],providerFilter:n.user.provider_filter||[]}:a.value={username:"",displayName:"",avatarUrl:"",role:ue.USER,password:"",confirmPassword:"",playerFilter:[],providerFilter:[]}},M=()=>{L(),p("update:modelValue",!1)},q=async()=>{if(n.user){if(a.value.password&&a.value.password!==a.value.confirmPassword){w.error(u("auth.passwords_must_match"));return}b.value=!0;try{const e={};a.value.username!==n.user.username&&(e.username=a.value.username),a.value.displayName!==(n.user.display_name||"")&&(e.displayName=a.value.displayName),a.value.avatarUrl!==(n.user.avatar_url||"")&&(e.avatarUrl=a.value.avatarUrl),a.value.role!==n.user.role&&!R.value&&(e.role=a.value.role),a.value.password&&(e.password=a.value.password);const o=n.user.player_filter||[];JSON.stringify([...a.value.playerFilter].sort())!==JSON.stringify([...o].sort())&&(e.player_filter=a.value.playerFilter);const r=n.user.provider_filter||[];JSON.stringify([...a.value.providerFilter].sort())!==JSON.stringify([...r].sort())&&(e.provider_filter=a.value.providerFilter),await P.updateUser(n.user.user_id,e),w.success(u("auth.user_updated")),L(),p("updated"),p("update:modelValue",!1)}catch{w.error(u("auth.user_update_failed"))}finally{b.value=!1}}};return le(()=>n.user,L,{immediate:!0}),le(()=>n.modelValue,e=>{e&&L()}),(e,o)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":o[8]||(o[8]=r=>p("update:modelValue",r))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(e.$t("auth.edit_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[l(O,{modelValue:a.value.username,"onUpdate:modelValue":o[0]||(o[0]=r=>a.value.username=r),label:e.$t("auth.username"),variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.usernameLength]},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.displayName,"onUpdate:modelValue":o[1]||(o[1]=r=>a.value.displayName=r),label:e.$t("auth.display_name"),variant:"outlined",density:"comfortable",class:"mb-6",hint:e.$t("optional"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(O,{modelValue:a.value.avatarUrl,"onUpdate:modelValue":o[2]||(o[2]=r=>a.value.avatarUrl=r),label:e.$t("auth.avatar_url"),variant:"outlined",density:"comfortable",class:"mb-6",hint:e.$t("auth.avatar_url_hint"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(A,{modelValue:a.value.role,"onUpdate:modelValue":o[3]||(o[3]=r=>a.value.role=r),label:e.$t("auth.role"),items:m,variant:"outlined",density:"comfortable",disabled:R.value,class:"mb-2"},null,8,["modelValue","label","disabled"]),l(O,{modelValue:a.value.password,"onUpdate:modelValue":o[4]||(o[4]=r=>a.value.password=r),label:e.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",hint:e.$t("auth.password_optional_hint"),"persistent-hint":"",rules:a.value.password?[D.passwordLength]:[]},null,8,["modelValue","label","hint","rules"]),a.value.password?(i(),N(O,{key:0,modelValue:a.value.confirmPassword,"onUpdate:modelValue":o[5]||(o[5]=r=>a.value.confirmPassword=r),label:e.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",rules:[D.passwordMatch]},null,8,["modelValue","label","rules"])):C("",!0),l(A,{modelValue:a.value.playerFilter,"onUpdate:modelValue":o[6]||(o[6]=r=>a.value.playerFilter=r),label:e.$t("auth.player_filter"),items:h.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.player_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":Y=>k(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",Ne," (+"+s(a.value.playerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"]),l(A,{modelValue:a.value.providerFilter,"onUpdate:modelValue":o[7]||(o[7]=r=>a.value.providerFilter=r),label:e.$t("auth.provider_filter"),items:d.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.provider_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":Y=>y(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",Te," (+"+s(a.value.providerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"])]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),l(z,{variant:"text",onClick:M},{default:t(()=>[g(s(e.$t("cancel")),1)]),_:1}),l(z,{color:"primary",variant:"flat",loading:b.value,onClick:q},{default:t(()=>[g(s(e.$t("save")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Pe={class:"pa-4"},Le={class:"mb-2"},Me={class:"section-subtitle mb-6"},Oe={key:0,class:"empty-state"},Ie={class:"text-medium-emphasis"},Se={key:1,class:"tokens-list"},Be={class:"line-clamp-1"},Re={class:"token-meta"},qe={key:0,class:"token-divider"},Ae={key:1},Ee={class:"pa-4"},je={class:"section-header-with-action"},Je={class:"w-100"},He={class:"d-flex justify-space-between align-center gap-2"},We={class:"mb-2"},Xe={class:"section-subtitle"},Ye={key:0,class:"empty-state"},Ge={class:"text-medium-emphasis"},Ke={key:1,class:"tokens-list"},Qe={class:"line-clamp-1"},Ze={class:"token-meta"},xe={key:0,class:"token-divider"},ea={key:1},aa=S({__name:"ManageTokensDialog",props:{modelValue:{type:Boolean},user:{},tokens:{}},emits:["update:modelValue","revoke","token-created"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=I(()=>n.tokens.filter(d=>!d.is_long_lived)),m=I(()=>n.tokens.filter(d=>d.is_long_lived)),h=d=>new Date(d).toLocaleString();return(d,k)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"900",scrollable:"","onUpdate:modelValue":k[4]||(k[4]=y=>p("update:modelValue",y))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(d.$t("auth.tokens"))+" - "+s(c.user?.display_name||c.user?.username),1)]),_:1}),l(ve),l(J,{class:"pa-0"},{default:t(()=>[V("div",Pe,[V("h3",Le,s(d.$t("auth.active_sessions")),1),V("p",Me,s(d.$t("auth.active_sessions_description")),1),a.value.length===0?(i(),$("div",Oe,[l(G,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:t(()=>[l(K,{icon:"mdi-devices",size:"32"})]),_:1}),V("p",Ie,s(d.$t("auth.no_active_sessions")),1)])):(i(),$("div",Se,[(i(!0),$(te,null,se(a.value,y=>(i(),N(ae,{key:y.token_id},{prepend:t(()=>[l(G,{color:"blue-grey-darken-2",size:"40"},{default:t(()=>[l(K,{icon:"mdi-devices",size:"20"})]),_:1})]),title:t(()=>[V("div",Be,s(y.name),1)]),subtitle:t(()=>[V("div",Re,[V("span",null,s(d.$t("created"))+": "+s(h(y.created_at)),1),y.last_used_at?(i(),$("span",qe,"•")):C("",!0),y.last_used_at?(i(),$("span",Ae,s(d.$t("last_used"))+": "+s(h(y.last_used_at)),1)):C("",!0)])]),append:t(()=>[l(z,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:oe(D=>p("revoke",y),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]),V("div",Ee,[V("div",je,[V("div",Je,[V("div",He,[V("h3",We,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",Xe,s(d.$t("auth.long_lived_tokens_description")),1)])]),m.value.length===0?(i(),$("div",Ye,[l(G,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:t(()=>[l(K,{icon:"mdi-key-variant",size:"32"})]),_:1}),V("p",Ge,s(d.$t("auth.no_long_lived_tokens")),1)])):(i(),$("div",Ke,[(i(!0),$(te,null,se(m.value,y=>(i(),N(ae,{key:y.token_id},{prepend:t(()=>[l(G,{color:"deep-purple-darken-2",size:"40"},{default:t(()=>[l(K,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:t(()=>[V("div",Qe,s(y.name),1)]),subtitle:t(()=>[V("div",Ze,[V("span",null,s(d.$t("created"))+": "+s(h(y.created_at)),1),y.last_used_at?(i(),$("span",xe,"•")):C("",!0),y.last_used_at?(i(),$("span",ea,s(d.$t("last_used"))+": "+s(h(y.last_used_at)),1)):C("",!0)])]),append:t(()=>[l(z,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:oe(D=>p("revoke",y),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))])]),_:1}),l(H,{class:"pa-6"},{default:t(()=>[l(W),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=S({__name:"RevokeTokenDialog",props:{modelValue:{type:Boolean},token:{}},emits:["update:modelValue","revoked"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(!n.token)return;b.value=!0;const m=!n.token.is_long_lived;try{await P.revokeToken(n.token.token_id)?(w.success(u(m?"auth.session_revoked":"auth.token_revoked")),p("revoked"),p("update:modelValue",!1)):w.error(u(m?"auth.session_revoke_failed":"auth.token_revoke_failed"))}catch{w.error(u(m?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{b.value=!1}};return(m,h)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(c.token?.is_long_lived?m.$t("auth.revoke_token"):m.$t("auth.revoke_session")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",ta,s(c.token?.is_long_lived?m.$t("auth.revoke_token_confirm"):m.$t("auth.revoke_session_confirm")),1),c.token?(i(),$("div",sa,s(c.token.name),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),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=S({__name:"UserManagement",setup(c){const{t:F}=B(),u=U([]),n=U(""),p=U(!1),b=U(!1),a=U(!1),m=U(!1),h=U(!1),d=U(!1),k=U(null),y=U([]),D=U(null),R=I(()=>{if(!n.value)return u.value;const f=n.value.toLowerCase();return u.value.filter(v=>{const _=(v.display_name||v.username).toLowerCase(),x=v.username.toLowerCase();return _.includes(f)||x.includes(f)})}),L=f=>!f||!ee.currentUser?!1:f.user_id===ee.currentUser.user_id,M=async()=>{try{u.value=await P.getAllUsers()}catch{w.error(F("auth.users_load_failed"))}},q=f=>{k.value=f,b.value=!0},e=f=>{k.value=f,a.value=!0},o=f=>{k.value=f,m.value=!0},r=async f=>{k.value=f,await T(f.user_id),h.value=!0},T=async f=>{try{y.value=await P.getUserTokens(f)}catch{w.error(F("auth.tokens_load_failed"))}},Y=async()=>{k.value&&await T(k.value.user_id)},ne=f=>{D.value=f,d.value=!0},ie=async()=>{k.value&&await T(k.value.user_id),D.value=null},de=async f=>{try{await P.enableUser(f.user_id)?(await M(),w.success(F("auth.user_enabled"))):w.error(F("auth.user_enable_failed"))}catch{w.error(F("auth.user_enable_failed"))}},me=(f,v)=>{const _=[{label:"auth.edit_user",labelArgs:[],action:()=>{q(v)},icon:"mdi-pencil"},{label:"auth.manage_tokens",labelArgs:[],action:()=>{r(v)},icon:"mdi-key-variant"},{label:v.enabled?"auth.disable_user":"auth.enable_user",labelArgs:[],action:()=>{v.enabled?e(v):de(v)},icon:v.enabled?"mdi-account-off":"mdi-account-check",hide:L(v)},{label:"auth.delete_user",labelArgs:[],action:()=>{o(v)},icon:"mdi-delete",color:"error",hide:L(v)}];_e.emit("contextmenu",{items:_,posX:f.clientX,posY:f.clientY})};return ce(()=>{M()}),(f,v)=>(i(),$("div",null,[V("div",ua,[l(O,{modelValue:n.value,"onUpdate:modelValue":v[0]||(v[0]=_=>n.value=_),placeholder:f.$t("search"),"prepend-inner-icon":"mdi-magnify",variant:"outlined",density:"compact","hide-details":"",clearable:"",style:{"max-width":"400px"}},null,8,["modelValue","placeholder"]),l(z,{color:"primary",variant:"flat",height:"40",class:"add-user-btn","prepend-icon":"mdi-plus",onClick:v[1]||(v[1]=_=>p.value=!0)},{default:t(()=>[g(s(f.$t("auth.create_user")),1)]),_:1})]),l(pe,null,{default:t(()=>[(i(!0),$(te,null,se(R.value,_=>(i(),N(ae,{key:_.user_id,"show-menu-btn":"",link:"",onMenu:x=>me(x,_),onClick:x=>q(_)},{prepend:t(()=>[V("div",na,[l(G,{size:"40",color:_.avatar_url?void 0:"grey-darken-2"},{default:t(()=>[_.avatar_url?(i(),N(fe,{key:0,src:_.avatar_url},null,8,["src"])):(i(),N(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(),N(Q,{key:0,size:"small",color:"error"},{default:t(()=>[g(s(f.$t("auth.disabled")),1)]),_:1}))]),_:2},1032,["onMenu","onClick"]))),128)),u.value.length===0?(i(),$("div",ma,s(f.$t("no_content")),1)):C("",!0)]),_:1}),l(ke,{modelValue:p.value,"onUpdate:modelValue":v[2]||(v[2]=_=>p.value=_),onCreated:M},null,8,["modelValue"]),l(ze,{modelValue:b.value,"onUpdate:modelValue":v[3]||(v[3]=_=>b.value=_),user:k.value,onUpdated:M},null,8,["modelValue","user"]),l(De,{modelValue:a.value,"onUpdate:modelValue":v[4]||(v[4]=_=>a.value=_),user:k.value,onDisabled:M},null,8,["modelValue","user"]),l(we,{modelValue:m.value,"onUpdate:modelValue":v[5]||(v[5]=_=>m.value=_),user:k.value,onDeleted:M},null,8,["modelValue","user"]),l(la,{modelValue:h.value,"onUpdate:modelValue":v[6]||(v[6]=_=>h.value=_),user:k.value,tokens:y.value,onRevoke:ne,onTokenCreated:Y},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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as Z}from"./Container-DVyrkl2H.js";import{ay as P,bN as F,J as h,az as k,aA as d,E as o,o as e,aN as s,M as $,aG as a,bh as y,bE as T,aL as z,ah as M,aH as H,aI as C,bd as B,aB as S,_ as I,i as D,aD as x,ax as R,bH as L,aP as N,aW as U,R as ee,L as ae,am as E,aS as W,bg as G,c3 as J,bV as j,bW as K,a3 as se,aU as q}from"./index-Ci6ypq6O.js";import{L as O}from"./ListItem-Emhe-KUj.js";import{_ as te}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-CDOcvzeY.js";import{V as le}from"./VAlert-Kj2m6TCt.js";import{V as oe}from"./VForm-DkfI6S-G.js";import{V as Q}from"./VDialog-DofGN8Yd.js";import"./index-kQIztB-E.js";import"./Button-CsTMTfds.js";const ne={class:"long-lived-tokens"},re={class:"section-header-with-action"},ie={class:"section-header"},ue={class:"section-subtitle"},de={key:0,class:"empty-state"},ce={class:"text-medium-emphasis"},ve={class:"text-caption text-medium-emphasis mt-1"},_e={key:1,class:"tokens-list"},me={class:"line-clamp-1"},pe={class:"token-meta"},fe={key:0,class:"token-divider"},he={key:1},ke=P({__name:"LongLivedTokensList",props:{tokens:{}},emits:["revoke","created"],setup(V,{emit:c}){const{t:n}=F(),u=c,l=h(!1),_=v=>new Date(v).toLocaleString(),m=()=>{u("created")};return(v,p)=>(d(),k("div",ne,[o("div",re,[o("div",ie,[o("h3",null,s(v.$t("auth.long_lived_tokens")),1),o("p",ue,s(v.$t("auth.api_tokens_description")),1)]),e($,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",onClick:p[0]||(p[0]=t=>l.value=!0)},{default:a(()=>[y(s(v.$t("auth.create_token")),1)]),_:1})]),V.tokens.length===0?(d(),k("div",de,[e(T,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"32"})]),_:1}),o("p",ce,s(v.$t("auth.no_tokens")),1),o("p",ve,s(v.$t("auth.create_token_hint")),1)])):(d(),k("div",_e,[(d(!0),k(M,null,H(V.tokens,t=>(d(),C(O,{key:t.token_id},{prepend:a(()=>[e(T,{color:"deep-purple-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:a(()=>[o("div",me,s(t.name),1)]),subtitle:a(()=>[o("div",pe,[o("span",null,s(v.$t("created"))+": "+s(_(t.created_at)),1),t.last_used_at?(d(),k("span",fe,"•")):S("",!0),t.last_used_at?(d(),k("span",he,s(v.$t("last_used"))+": "+s(_(t.last_used_at)),1)):S("",!0)])]),append:a(()=>[e($,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:B(w=>u("revoke",t),["stop"])},null,8,["onClick"])]),_:2},1024))),128))])),e(te,{modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=t=>l.value=t),onCreated:m},null,8,["modelValue"])]))}}),ge=I(ke,[["__scopeId","data-v-511373f4"]]),$e={class:"password-settings"},ye={class:"section-header"},be={class:"section-subtitle"},we=P({__name:"PasswordSettings",setup(V){const{t:c}=F(),n=h(""),u=h(""),l=h(!1),_=h(null),m={required:t=>!!t||c("auth.field_required"),passwordLength:t=>t.length>=8||c("auth.password_min_length"),passwordMatch:t=>t===n.value||c("auth.passwords_must_match")},v=D(()=>n.value.length>=8&&n.value===u.value),p=async()=>{l.value=!0;try{await N.changePassword(n.value)?(U.success(c("auth.password_changed")),n.value="",u.value="",await ee(),_.value?.resetValidation()):U.error(c("auth.password_change_failed"))}catch(t){U.error(t.message||c("auth.password_change_failed"))}finally{l.value=!1}};return(t,w)=>(d(),k("div",$e,[o("div",ye,[o("h3",null,s(t.$t("auth.change_password")),1),o("p",be,s(t.$t("auth.update_your_password")),1)]),x(R).isIngressSession?(d(),C(le,{key:0,type:"info",variant:"tonal",density:"compact",class:"mb-4"},{default:a(()=>[y(s(t.$t("auth.ingress_password_note")),1)]),_:1})):S("",!0),e(oe,{ref_key:"passwordForm",ref:_,onSubmit:B(p,["prevent"])},{default:a(()=>[e(L,{modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=i=>n.value=i),label:t.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[m.required,m.passwordLength]},null,8,["modelValue","label","rules"]),e(L,{modelValue:u.value,"onUpdate:modelValue":w[1]||(w[1]=i=>u.value=i),label:t.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-4",rules:[m.required,m.passwordMatch]},null,8,["modelValue","label","rules"]),e($,{type:"submit",color:"primary",variant:"flat",loading:l.value,disabled:!v.value},{default:a(()=>[y(s(t.$t("auth.change_password")),1)]),_:1},8,["loading","disabled"])]),_:1},512)]))}}),Ve=I(we,[["__scopeId","data-v-36fba185"]]),Ce={class:"profile-settings"},Ue={class:"section-header"},Le={class:"section-subtitle"},Te={class:"avatar-section"},ze={class:"avatar-container"},Se={class:"avatar-wrapper"},De={class:"avatar-text mt-2"},Pe={class:"profile-fields"},Ie={class:"actions"},Ae={class:"d-flex flex-column align-center mb-4"},Ne=P({__name:"ProfileSettings",setup(V){const{t:c}=F(),n=D(()=>R.currentUser),u=h(""),l=h(""),_=h(""),m=h(!1),v=h(!1),p=h(""),t=h(!1),w={required:r=>!!r||c("auth.field_required"),usernameLength:r=>r.length>=3||c("auth.username_min_length")},i=D(()=>n.value?u.value!==n.value.username||l.value!==(n.value.display_name||"")||_.value!==(n.value.avatar_url||""):!1),g=()=>{n.value&&(u.value=n.value.username,l.value=n.value.display_name||"",_.value=n.value.avatar_url||"",p.value=n.value.avatar_url||"")},A=async()=>{if(!(!n.value||!i.value)){m.value=!0;try{const r={};u.value!==n.value.username&&(r.username=u.value),l.value!==(n.value.display_name||"")&&(r.displayName=l.value),_.value!==(n.value.avatar_url||"")&&(r.avatarUrl=_.value);const f=await N.updateUser(n.value.user_id,r);f&&(R.currentUser=f,g(),U.success(c("auth.profile_updated")))}catch(r){U.error(r.message||c("error_generic"))}finally{m.value=!1}}},X=()=>{v.value=!1,p.value=_.value,t.value=!1},Y=()=>{_.value=p.value,v.value=!1,t.value=!1};return ae(n,g,{immediate:!0}),(r,f)=>(d(),k("div",Ce,[o("div",Ue,[o("h3",null,s(r.$t("auth.account_settings")),1),o("p",Le,s(r.$t("auth.manage_your_profile_info")),1)]),o("div",Te,[o("div",ze,[o("div",Se,[e(T,{size:"120",class:"profile-avatar",color:_.value?void 0:"grey-darken-2"},{default:a(()=>[_.value?(d(),C(E,{key:0,src:_.value,onError:f[0]||(f[0]=b=>t.value=!0)},null,8,["src"])):(d(),C(z,{key:1,icon:"mdi-account",size:"64",color:"grey-lighten-1"}))]),_:1},8,["color"]),e($,{icon:"mdi-camera",size:"small",variant:"elevated",class:"avatar-edit-btn",color:"surface",onClick:f[1]||(f[1]=b=>v.value=!0)})]),o("div",De,[e($,{variant:"text",size:"small",class:"text-capitalize",onClick:f[2]||(f[2]=b=>v.value=!0)},{default:a(()=>[y(s(r.$t("auth.change_avatar")),1)]),_:1})])]),o("div",Pe,[e(L,{modelValue:u.value,"onUpdate:modelValue":f[3]||(f[3]=b=>u.value=b),label:r.$t("auth.username"),variant:"outlined",density:"comfortable",rules:[w.required,w.usernameLength],class:"mb-2"},null,8,["modelValue","label","rules"]),e(L,{modelValue:l.value,"onUpdate:modelValue":f[4]||(f[4]=b=>l.value=b),label:r.$t("auth.display_name"),variant:"outlined",density:"comfortable",hint:r.$t("optional"),"persistent-hint":"",class:"mb-2"},null,8,["modelValue","label","hint"]),e(L,{"model-value":r.$t(`auth.${n.value?.role}_role`),label:r.$t("auth.role"),variant:"outlined",density:"comfortable",readonly:"",disabled:""},null,8,["model-value","label"])])]),o("div",Ie,[i.value?(d(),C($,{key:0,variant:"text",color:"grey",onClick:g},{default:a(()=>[y(s(r.$t("cancel")),1)]),_:1})):S("",!0),e($,{color:"primary",variant:"flat",loading:m.value,disabled:!i.value,onClick:A},{default:a(()=>[y(s(r.$t("save")),1)]),_:1},8,["loading","disabled"])]),e(Q,{modelValue:v.value,"onUpdate:modelValue":f[7]||(f[7]=b=>v.value=b),"max-width":"500"},{default:a(()=>[e(W,null,{default:a(()=>[e(G,{class:"text-h5"},{default:a(()=>[y(s(r.$t("auth.change_avatar")),1)]),_:1}),e(J,null,{default:a(()=>[o("div",Ae,[e(T,{size:"140",color:p.value?void 0:"grey-darken-2"},{default:a(()=>[p.value?(d(),C(E,{key:0,src:p.value,onError:f[5]||(f[5]=b=>t.value=!0)},null,8,["src"])):(d(),C(z,{key:1,icon:"mdi-account",size:"72",color:"grey-lighten-1"}))]),_:1},8,["color"])]),e(L,{modelValue:p.value,"onUpdate:modelValue":f[6]||(f[6]=b=>p.value=b),label:r.$t("auth.avatar_url"),variant:"outlined",hint:r.$t("auth.avatar_url_hint"),"persistent-hint":"",clearable:""},null,8,["modelValue","label","hint"])]),_:1}),e(j,null,{default:a(()=>[e(K),e($,{variant:"text",onClick:X},{default:a(()=>[y(s(r.$t("cancel")),1)]),_:1}),e($,{color:"primary",variant:"flat",onClick:Y},{default:a(()=>[y(s(r.$t("save")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),Fe=I(Ne,[["__scopeId","data-v-e98d7828"]]),qe={class:"session-tokens"},Re={class:"section-header"},Be={class:"section-subtitle"},Ee={key:0,class:"empty-state"},Me={class:"text-medium-emphasis"},He={key:1,class:"tokens-list"},We={class:"line-clamp-1"},Ge={class:"token-meta"},Je={key:0,class:"token-divider"},je={key:1},Ke=P({__name:"SessionTokensList",props:{tokens:{}},emits:["revoke"],setup(V,{emit:c}){const n=c,u=l=>new Date(l).toLocaleString();return(l,_)=>(d(),k("div",qe,[o("div",Re,[o("h3",null,s(l.$t("auth.active_sessions")),1),o("p",Be,s(l.$t("auth.manage_active_sessions")),1)]),V.tokens.length===0?(d(),k("div",Ee,[e(T,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-devices-off",size:"32"})]),_:1}),o("p",Me,s(l.$t("no_content")),1)])):(d(),k("div",He,[(d(!0),k(M,null,H(V.tokens,m=>(d(),C(O,{key:m.token_id},{prepend:a(()=>[e(T,{color:"blue-grey-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-devices",size:"20"})]),_:1})]),title:a(()=>[o("div",We,s(m.name),1)]),subtitle:a(()=>[o("div",Ge,[o("span",null,s(l.$t("created"))+": "+s(u(m.created_at)),1),m.last_used_at?(d(),k("span",Je,"•")):S("",!0),m.last_used_at?(d(),k("span",je,s(l.$t("last_used"))+": "+s(u(m.last_used_at)),1)):S("",!0)])]),append:a(()=>[e($,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:B(v=>n("revoke",m),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]))}}),Oe=I(Ke,[["__scopeId","data-v-984369e1"]]),Qe={class:"user-profile"},Xe={class:"profile-content"},Ye={class:"text-body-1 mb-4"},Ze={class:"token-name-box"},xe=P({__name:"UserProfile",setup(V){const{t:c}=F(),n=h([]),u=h(!1),l=h(null),_=h(!1),m=D(()=>n.value.filter(i=>!i.is_long_lived)),v=D(()=>n.value.filter(i=>i.is_long_lived)),p=async()=>{try{n.value=await N.getUserTokens()}catch(i){console.error("Failed to load tokens:",i)}},t=i=>{l.value=i,u.value=!0},w=async()=>{if(l.value){_.value=!0;try{if(await N.revokeToken(l.value.token_id)){await p();const g=!l.value.is_long_lived;U.success(c(g?"auth.session_revoked":"auth.token_revoked"))}else{const g=!l.value.is_long_lived;U.error(c(g?"auth.session_revoke_failed":"auth.token_revoke_failed"))}}catch(i){console.error("Failed to revoke token:",i);const g=!l.value?.is_long_lived;U.error(c(g?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{u.value=!1,l.value=null,_.value=!1}}};return se(()=>{p()}),(i,g)=>(d(),k("div",Qe,[e(Z,{variant:"comfortable",class:"profile-container"},{default:a(()=>[o("div",Xe,[e(Fe),e(q,{class:"my-6"}),e(Ve),e(q,{class:"my-6"}),e(Oe,{tokens:m.value,onRevoke:t},null,8,["tokens"]),e(q,{class:"my-6"}),e(ge,{tokens:v.value,onRevoke:t,onCreated:p},null,8,["tokens"])])]),_:1}),e(Q,{modelValue:u.value,"onUpdate:modelValue":g[1]||(g[1]=A=>u.value=A),"max-width":"480"},{default:a(()=>[e(W,null,{default:a(()=>[e(G,{class:"text-h6 pl-6 pb-0 mt-3"},{default:a(()=>[y(s(l.value?.is_long_lived?i.$t("auth.revoke_token"):i.$t("auth.revoke_session")),1)]),_:1}),e(J,{class:"px-6 pb-2"},{default:a(()=>[o("p",Ye,s(l.value?.is_long_lived?i.$t("auth.revoke_token_confirm"):i.$t("auth.revoke_session_confirm")),1),o("div",Ze,s(l.value?.name),1)]),_:1}),e(j,{class:"pa-6 pt-4"},{default:a(()=>[e(K),e($,{variant:"text",onClick:g[0]||(g[0]=A=>u.value=!1)},{default:a(()=>[y(s(i.$t("cancel")),1)]),_:1}),e($,{color:"error",variant:"flat",loading:_.value,onClick:w},{default:a(()=>[y(s(i.$t("auth.revoke")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),ua=I(xe,[["__scopeId","data-v-4961f1fb"]]);export{ua as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.long-lived-tokens[data-v-511373f4]{margin-bottom:24px}.section-header-with-action[data-v-511373f4]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;flex-wrap:wrap}.section-header[data-v-511373f4]{flex:1}.section-header h3[data-v-511373f4]{margin-bottom:4px;font-weight:500}.section-subtitle[data-v-511373f4]{color:#ffffff80;font-size:.813rem;margin:0;line-height:1.4}.empty-state[data-v-511373f4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;border:2px dashed rgba(var(--v-border-color),var(--v-border-opacity));border-radius:8px;text-align:center}.tokens-list[data-v-511373f4]{border:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-radius:8px;overflow:hidden;padding:10px}.token-meta[data-v-511373f4]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.875rem}.token-divider[data-v-511373f4]{color:rgb(var(--v-theme-on-surface-variant))}.tokens-list[data-v-511373f4] .v-avatar{display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.tokens-list[data-v-511373f4] .v-avatar .v-icon{margin:0!important}.token-display[data-v-511373f4]{background:#0003;padding:12px;border-radius:4px;word-break:break-all;font-family:JetBrains Mono Medium,monospace;font-size:.875rem}.token-display code[data-v-511373f4]{color:inherit}@media (max-width: 600px){.section-header-with-action[data-v-511373f4]{flex-direction:column;align-items:stretch}.section-header-with-action .v-btn[data-v-511373f4]{width:100%}}.password-settings[data-v-36fba185]{margin-bottom:24px}.section-header[data-v-36fba185]{margin-bottom:16px}.section-header h3[data-v-36fba185]{margin-bottom:4px;font-weight:500}.section-subtitle[data-v-36fba185]{color:#ffffff80;font-size:.813rem;margin:0;line-height:1.4}.profile-settings[data-v-e98d7828]{margin-bottom:24px}.section-header[data-v-e98d7828]{margin-bottom:16px}.section-header h3[data-v-e98d7828]{margin-bottom:4px;font-weight:500}.section-subtitle[data-v-e98d7828]{color:#ffffff80;font-size:.813rem;margin:0;line-height:1.4}.avatar-section[data-v-e98d7828]{display:flex;gap:24px;margin-bottom:20px;flex-wrap:wrap}.avatar-container[data-v-e98d7828]{display:flex;flex-direction:column;align-items:center;min-width:160px}.avatar-wrapper[data-v-e98d7828]{position:relative;display:inline-block}.profile-avatar[data-v-e98d7828]{border:3px solid rgba(var(--v-border-color),.2);transition:all .3s ease}.avatar-wrapper:hover .profile-avatar[data-v-e98d7828]{border-color:rgba(var(--v-theme-primary),.5)}.avatar-edit-btn[data-v-e98d7828]{position:absolute;bottom:0;right:0;box-shadow:0 2px 8px #0000004d}.avatar-text[data-v-e98d7828]{text-align:center}.profile-avatar[data-v-e98d7828]{display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.profile-avatar .v-icon[data-v-e98d7828]{margin:0!important}.profile-fields[data-v-e98d7828]{flex:1;min-width:280px}.actions[data-v-e98d7828]{display:flex;gap:12px;align-items:center}@media (max-width: 600px){.avatar-section[data-v-e98d7828]{flex-direction:column;align-items:center}.profile-fields[data-v-e98d7828]{width:100%}}.session-tokens[data-v-984369e1]{margin-bottom:24px}.section-header[data-v-984369e1]{margin-bottom:12px}.section-header h3[data-v-984369e1]{margin-bottom:4px;font-weight:500}.section-subtitle[data-v-984369e1]{color:#ffffff80;font-size:.813rem;margin:0;line-height:1.4}.empty-state[data-v-984369e1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;border:2px dashed rgba(var(--v-border-color),var(--v-border-opacity));border-radius:8px}.tokens-list[data-v-984369e1]{border:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-radius:8px;overflow:hidden;padding:10px}.token-meta[data-v-984369e1]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.875rem}.token-divider[data-v-984369e1]{color:rgb(var(--v-theme-on-surface-variant))}.tokens-list[data-v-984369e1] .v-avatar{display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.tokens-list[data-v-984369e1] .v-avatar .v-icon{margin:0!important}.user-profile[data-v-4961f1fb]{height:100%;display:flex;flex-direction:column}.profile-container[data-v-4961f1fb]{padding:24px 20px;max-width:900px;margin:0 auto;width:100%}.profile-content[data-v-4961f1fb]{background:rgba(var(--v-theme-surface),.4);border-radius:8px;padding:24px;border:1px solid rgba(var(--v-border-color),.12)}@media (max-width: 600px){.profile-container[data-v-4961f1fb]{padding:12px}.profile-content[data-v-4961f1fb]{padding:16px;border-radius:8px}}.token-name-box[data-v-4961f1fb]{background:rgba(var(--v-theme-error),.08);border-left:3px solid rgb(var(--v-theme-error));padding:12px 16px;border-radius:4px;font-weight:500;font-size:.938rem}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.v-alert{display:grid;flex:1 1;grid-template-areas:"prepend content append close" ". content . .";grid-template-columns:max-content auto max-content max-content;position:relative;padding:16px;overflow:hidden;--v-border-color: currentColor}.v-alert--absolute{position:absolute}.v-alert--fixed{position:fixed}.v-alert--sticky{position:sticky}.v-alert{border-radius:4px}.v-alert--variant-plain,.v-alert--variant-outlined,.v-alert--variant-text,.v-alert--variant-tonal{background:transparent;color:inherit}.v-alert--variant-plain{opacity:.62}.v-alert--variant-plain:focus,.v-alert--variant-plain:hover{opacity:1}.v-alert--variant-plain .v-alert__overlay{display:none}.v-alert--variant-elevated,.v-alert--variant-flat{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-alert--variant-elevated{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-alert--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-alert--variant-outlined{border:thin solid currentColor}.v-alert--variant-text .v-alert__overlay{background:currentColor}.v-alert--variant-tonal .v-alert__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-alert .v-alert__underlay{position:absolute}.v-alert--prominent{grid-template-areas:"prepend content append close" "prepend content . ."}.v-alert.v-alert--border{--v-border-opacity: .38}.v-alert.v-alert--border.v-alert--border-start{padding-inline-start:24px}.v-alert.v-alert--border.v-alert--border-end{padding-inline-end:24px}.v-alert--variant-plain{transition:.2s opacity cubic-bezier(.4,0,.2,1)}.v-alert--density-default{padding-bottom:16px;padding-top:16px}.v-alert--density-default.v-alert--border-top{padding-top:24px}.v-alert--density-default.v-alert--border-bottom{padding-bottom:24px}.v-alert--density-comfortable{padding-bottom:12px;padding-top:12px}.v-alert--density-comfortable.v-alert--border-top{padding-top:20px}.v-alert--density-comfortable.v-alert--border-bottom{padding-bottom:20px}.v-alert--density-compact{padding-bottom:8px;padding-top:8px}.v-alert--density-compact.v-alert--border-top{padding-top:16px}.v-alert--density-compact.v-alert--border-bottom{padding-bottom:16px}.v-alert:not(:has(.v-alert-title)) .v-alert__content{padding-block:.125rem}.v-alert__border{border-radius:inherit;inset:0;opacity:var(--v-border-opacity);position:absolute;pointer-events:none;width:100%}.v-alert__border{border-color:currentColor;border-style:solid;border-width:0}.v-alert__border--border{border-width:8px;box-shadow:none}.v-alert--border-start .v-alert__border{border-inline-start-width:8px}.v-alert--border-end .v-alert__border{border-inline-end-width:8px}.v-alert--border-top .v-alert__border{border-top-width:8px}.v-alert--border-bottom .v-alert__border{border-bottom-width:8px}.v-alert__close{flex:0 1 auto;grid-area:close}.v-alert__close>.v-btn{margin-block:calc(-1 * (var(--v-btn-height) + 12px - 1.75rem) / 2)}.v-alert__content{align-self:center;grid-area:content;overflow:hidden}.v-alert__append,.v-alert__close{margin-inline-start:16px}.v-alert__append{align-self:flex-start;grid-area:append}.v-alert__append+.v-alert__close{margin-inline-start:16px}.v-alert__prepend{align-self:flex-start;display:flex;align-items:center;grid-area:prepend;margin-inline-end:16px;min-height:1.75rem}.v-alert__prepend>.v-icon{font-size:1.75rem;height:1.75rem;width:1.75rem}.v-alert--prominent .v-alert__prepend{align-self:center}.v-alert__underlay{grid-area:none;position:absolute}.v-alert--border-start .v-alert__underlay{border-top-left-radius:0;border-bottom-left-radius:0}.v-alert--border-end .v-alert__underlay{border-top-right-radius:0;border-bottom-right-radius:0}.v-alert--border-top .v-alert__underlay{border-top-left-radius:0;border-top-right-radius:0}.v-alert--border-bottom .v-alert__underlay{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-alert-title{align-items:center;align-self:center;display:flex;font-size:1.25rem;font-weight:500;-webkit-hyphens:auto;hyphens:auto;letter-spacing:.0125em;line-height:1.75rem;overflow-wrap:normal;text-transform:none;word-break:normal;word-wrap:break-word}@media (forced-colors: active){.v-alert:not(.v-alert--variant-text,.v-alert--variant-plain){border-style:solid}.v-alert--variant-outlined,.v-alert--variant-tonal{border-width:medium}.v-alert--variant-elevated,.v-alert--variant-flat{border-width:thick}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c_ as D,p as S,i as F,g as M,j as w,t as d,G as E,cy as N,d as R,bZ as j,e as q,cs as O,cx as G,f as Z,ao as p,I as H,o as l,q as v,r as m,cA as J,v as K,x as Q,z as U,cB as W,cv as X,A as Y,b$ as ee,B as ae,C as te,cq as le,cF as se,E as s,aL as ne,ae as y,an as f,M as oe}from"./index-Ci6ypq6O.js";const ie=D("v-alert-title"),ce=S({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function re(e,n){return{iconSize:F(()=>{const a=new Map(e.iconSizes),t=e.iconSize??n()??"default";return a.has(t)?a.get(t):t})}}const ue=["success","info","warning","error"],de=S({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:le,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>ue.includes(e)},...te(),...ae(),...ee(),...Y(),...ce(),...X(),...W(),...U(),...Q(),...K(),...J({variant:"flat"})},"VAlert"),me=M()({name:"VAlert",props:de(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{emit:c,slots:a}=n;const t=w(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}=E(e),{colorClasses:P,colorStyles:z,variantClasses:C}=N(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:V}=R(e),{dimensionStyles:g}=j(e),{elevationClasses:x}=q(e),{locationStyles:_}=O(e),{positionClasses:B}=G(e),{roundedClasses:A}=Z(e),{textColorClasses:I,textColorStyles:h}=p(()=>e.borderColor),{t:T}=H(),r=d(()=>({"aria-label":T(e.closeLabel),onClick(i){t.value=!1,c("click:close",i)}}));return()=>{const i=!!(a.prepend||o.value),L=!!(a.title||e.title),$=!!(a.close||e.closable),u={density:e.density,icon:o.value,size:e.iconSize||e.prominent?b.value:void 0};return t.value&&l(e.tag,{class:m(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},k.value,P.value,V.value,x.value,B.value,A.value,C.value,e.class]),style:v([z.value,g.value,_.value,e.style]),role:"alert"},{default:()=>[se(!1,"v-alert"),e.border&&s("div",{key:"border",class:m(["v-alert__border",I.value]),style:v(h.value)},null),i&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(f,{key:"prepend-defaults",disabled:!o.value,defaults:{VIcon:{...u}}},a.prepend):l(ne,y({key:"prepend-icon"},u),null)]),s("div",{class:"v-alert__content"},[L&&l(ie,{key:"title"},{default:()=>[a.title?.()??e.title]}),a.text?.()??e.text,a.default?.()]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),$&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(f,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:r.value})]}):l(oe,y({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},r.value),null)])]})}}});export{me as V,ie as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{V as a,m as f}from"./VSelectionControl-CuEKzbGp.js";import{g as V,p as v,j as c,t as l,n as I,ai as k,o as x,ae as h,cq as b}from"./index-Ci6ypq6O.js";const C=v({indeterminate:Boolean,indeterminateIcon:{type:b,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=V()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=k(a.filterProps(e),["modelValue"]);return x(a,h(o,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
|