mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-10-02 23:36:17 +00:00
2 lines
6.1 KiB
JavaScript
2 lines
6.1 KiB
JavaScript
import{B as C,q as L,o as B,c as g,a as e,t as y,b as r,F as D,i as N,j as v,w as V,h as I,K as E,f as u,D as O,r as b,L as j,m as x,v as z,e as G,g as w,H as R,k as M,y as T,u as f,G as U,n as $,d as S,_ as q}from"./index-CqpVtsXc.js";import{D as F}from"./DashboardClientAssignmentStore-3mOqJKOK.js";import{L as m}from"./localeText-DKJsmANp.js";const H={class:"card rounded-0 border-0"},K={class:"card-header d-flex align-items-center rounded-0"},P={class:"my-2"},W={class:"badge text-bg-primary ms-auto"},J={class:"card-body p-0"},Q={class:"list-group list-group-flush clientList"},X={class:"text-body"},Y={class:"text-muted"},k=C({__name:"clientGroup",props:["groupName","clients","searchString"],setup(h){const l=h,d=L(()=>{const n=l.searchString.toLowerCase();return l.searchString?l.clients.filter(s=>s.ClientID&&s.ClientID.toLowerCase().includes(n)||s.Email&&s.Email.toLowerCase().includes(n)||s.Name&&s.Name.toLowerCase().includes(n)):l.clients});return E(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(n,s)=>{const a=I("RouterLink");return u(),g("div",H,[e("div",K,[e("h6",P,y(h.groupName),1),e("span",W,[r(m,{t:d.value.length+" Clients"},null,8,["t"])])]),e("div",J,[e("div",Q,[(u(!0),g(D,null,N(d.value,o=>(u(),v(a,{key:o.ClientID,id:"client_"+o.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:o.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:V(()=>[e("small",X,y(o.Email),1),e("small",Y,y(o.Name?o.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Z={class:"d-flex flex-column gap-2"},ee={class:"d-flex align-items-center"},te={class:"mb-0"},se={class:"form-check form-switch ms-auto"},oe={class:"form-check-label",for:"oidc_switch"},ne=["disabled"],ae={class:"alert alert-dark rounded-3 mb-0"},le=C({__name:"oidcSettings",props:["mode"],async setup(h){let l,d;const n=h,s=O(),a=b(!1),o=b(!1),p=async()=>{await w("/api/oidc/status",{mode:n.mode},t=>{a.value=t.data,o.value=!1})};[l,d]=j(()=>p()),await l,d();const c=async()=>{o.value=!0,await w("/api/oidc/toggle",{mode:n.mode},t=>{t.status||(a.value=!a.value,s.newMessage("Server",t.message,"danger")),o.value=!1})};return(t,i)=>(u(),g("div",Z,[e("div",ee,[e("h6",te,[r(m,{t:"OpenID Connect (OIDC)"})]),e("div",se,[e("label",oe,[r(m,{t:a.value?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:o.value,"onUpdate:modelValue":i[0]||(i[0]=_=>a.value=_),onChange:i[1]||(i[1]=_=>c()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,ne),[[z,a.value]])])]),e("div",null,[e("div",ae,[r(m,{t:"Due to security reason, in order to edit OIDC configuration, you will need to edit "}),i[2]||(i[2]=e("code",null,"wg-dashboard-oidc-providers.json",-1)),i[3]||(i[3]=G()),r(m,{t:"directly, then restart WGDashboard to apply the latest settings."})])])]))}}),ie={class:"position-absolute w-100 h-100 top-0 start-0 z-1 rounded-3 d-flex p-2",style:{"background-color":"#00000070","z-index":"9999"}},re={class:"card m-auto rounded-3",style:{width:"700px"}},ce={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},de={class:"mb-0"},ue={class:"card-body px-4 d-flex gap-3 flex-column"},me={class:"d-flex align-items-center"},_e={class:"mb-0"},pe={class:"form-check form-switch ms-auto"},he={class:"form-check-label",for:"oidc_switch"},ge=["disabled"],be=C({__name:"clientSettings",emits:["close"],setup(h,{emit:l}){const d=l,n=O();b(!1);const s=R({enableClients:n.Configuration.Clients.enable}),a=b(!1),o=async()=>{a.value=!0,await w("/api/clients/toggleStatus",{},p=>{s.enableClients=p.data}),a.value=!1};return(p,c)=>(u(),g("div",ie,[e("div",re,[e("div",ce,[e("h4",de,[r(m,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=t=>d("close"))})]),e("div",ue,[e("div",me,[e("h6",_e,[r(m,{t:"Client Side App"})]),e("div",pe,[e("label",he,[r(m,{t:s.enableClients?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:p.oidcStatusLoading,"onUpdate:modelValue":c[1]||(c[1]=t=>s.enableClients=t),onChange:c[2]||(c[2]=t=>o()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,ge),[[z,s.enableClients]])])]),r(le,{mode:"Client"})])])]))}}),fe={class:"text-body w-100 h-100 pb-2 position-relative"},ve={class:"w-100 h-100 card rounded-3"},Ce={class:"border-bottom z-0"},ye={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},we=["placeholder"],xe={class:"row h-100 g-0"},$e={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},Se=C({__name:"clients",async setup(h){let l,d;const n=F();[l,d]=j(()=>n.getClients()),await l,d(),n.getAllConfigurationsPeers();const s=b(""),a=E(),o=b(!1),p=L(()=>Object.fromEntries(Object.entries(n.clients).filter(([c,t])=>Object.keys(n.clients).filter(i=>i!=="Local").includes(c))));return(c,t)=>{const i=I("RouterView");return u(),g("div",fe,[e("div",ve,[r(M,{name:"zoom"},{default:V(()=>[o.value?(u(),v(be,{key:0,onClose:t[0]||(t[0]=_=>o.value=!1)})):S("",!0)]),_:1}),e("div",Ce,[e("div",ye,[t[4]||(t[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),x(e("input",{"onUpdate:modelValue":t[1]||(t[1]=_=>s.value=_),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:f(U)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,we),[[T,s.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:t[2]||(t[2]=_=>o.value=!o.value)},[t[3]||(t[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),r(m,{t:"Settings"})])])]),e("div",xe,[e("div",{class:$([{hide:f(a).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",$e,[Object.keys(f(n).clients).includes("Local")?(u(),v(k,{key:0,searchString:s.value,clients:f(n).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(u(!0),g(D,null,N(p.value,(_,A)=>(u(),v(k,{searchString:s.value,clients:_,groupName:A},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:$([{hide:!f(a).params.id},"col-sm-8 clientViewerContainer"])},[r(i)],2)])])])}}}),Ne=q(Se,[["__scopeId","data-v-e441f3fe"]]);export{Ne as default};
|