import{B as w,o as B,c as f,a as e,t as y,b as a,q as D,F as N,i as V,j as v,w as I,h as E,L as z,f as _,D as O,E as A,m as C,r as b,v as x,g as $,J as R,u as m,z as U,k as G,y as M,G as P,n as k,d as S,_ as T}from"./index-BCgxBvDt.js";import{D as q}from"./DashboardClientAssignmentStore-BHqtR0Go.js";import{L as u}from"./localeText-ZTaDi7ZY.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},H={class:"my-2"},K={class:"badge text-bg-primary ms-auto"},Q={class:"card-body p-0"},W={class:"list-group list-group-flush clientList"},X={class:"text-body"},Y={class:"text-muted"},L=w({__name:"clientGroup",props:["groupName","clients","searchString"],setup(g){const c=g,r=D(()=>{const t=c.searchString.toLowerCase();return c.searchString?c.clients.filter(o=>o.ClientID&&o.ClientID.toLowerCase().includes(t)||o.Email&&o.Email.toLowerCase().includes(t)||o.Name&&o.Name.toLowerCase().includes(t)):c.clients});return z(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(t,o)=>{const l=E("RouterLink");return _(),f("div",F,[e("div",J,[e("h6",H,y(g.groupName),1),e("span",K,[a(u,{t:r.value.length+" Client"+(r.value.length>1?"s":"")},null,8,["t"])])]),e("div",Q,[e("div",W,[(_(!0),f(N,null,V(r.value,s=>(_(),v(l,{key:s.ClientID,id:"client_"+s.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:s.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:I(()=>[e("small",X,y(s.Email),1),e("small",Y,y(s.Name?s.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"],ie=w({__name:"oidcSettings",props:["mode"],async setup(g){let c,r;const t=g,o=O(),l=b(!1),s=b(!1),n=async()=>{await $("/api/oidc/status",{mode:t.mode},i=>{l.value=i.data,s.value=!1})};[c,r]=A(()=>n()),await c,r();const d=async()=>{s.value=!0,await $("/api/oidc/toggle",{mode:t.mode},i=>{i.status||(l.value=!l.value,o.newMessage("Server",i.message,"danger")),s.value=!1})};return(i,p)=>(_(),f("div",Z,[e("div",ee,[e("h6",te,[a(u,{t:"OpenID Connect (OIDC)"})]),e("div",se,[e("label",oe,[a(u,{t:l.value?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:s.value,"onUpdate:modelValue":p[0]||(p[0]=h=>l.value=h),onChange:p[1]||(p[1]=h=>d()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,ne),[[x,l.value]])])])]))}}),le={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"}},ae={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"},re={class:"mb-0"},de={class:"card-body px-4 d-flex gap-3 flex-column"},ue={class:"d-flex align-items-center"},me={class:"mb-0"},_e={class:"form-check form-switch ms-auto"},pe={class:"form-check-label",for:"oidc_switch"},he=["disabled"],ge={class:"d-flex align-items-center"},fe={class:"mb-0"},be={class:"form-check form-switch ms-auto"},ve={class:"form-check-label",for:"sign_up_switch"},Ce=["disabled"],we={class:"text-muted mb-0"},ye={class:"text-muted mb-0"},xe=w({__name:"clientSettings",emits:["close"],setup(g,{emit:c}){const r=c,t=O();R({enableClients:t.Configuration.Clients.enable});const o=b(!1),l=async s=>{o.value=!0,await U("/api/updateDashboardConfigurationItem",{section:"Clients",key:s,value:t.Configuration.Clients[s]},async n=>{await t.getConfiguration(),o.value=!1})};return(s,n)=>(_(),f("div",le,[e("div",ae,[e("div",ce,[e("h4",re,[a(u,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=d=>r("close"))})]),e("div",de,[e("div",ue,[e("h6",me,[a(u,{t:"Client Side App"})]),e("div",_e,[e("label",pe,[a(u,{t:m(t).Configuration.Clients.enable?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:o.value,"onUpdate:modelValue":n[1]||(n[1]=d=>m(t).Configuration.Clients.enable=d),onChange:n[2]||(n[2]=d=>l("enable")),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,he),[[x,m(t).Configuration.Clients.enable]])])]),n[5]||(n[5]=e("hr",null,null,-1)),e("div",null,[e("div",ge,[e("h6",fe,[a(u,{t:"Sign Up as Local Client"})]),e("div",be,[e("label",ve,[a(u,{t:m(t).Configuration.Clients.sign_up?"Enabled":"Disabled"},null,8,["t"])]),C(e("input",{disabled:o.value,"onUpdate:modelValue":n[3]||(n[3]=d=>m(t).Configuration.Clients.sign_up=d),onChange:n[4]||(n[4]=d=>l("sign_up")),class:"form-check-input",type:"checkbox",role:"switch",id:"sign_up_switch"},null,40,Ce),[[x,m(t).Configuration.Clients.sign_up]])])]),e("small",we,[a(u,{t:"Allow clients to sign up with Email and Password"})])]),e("div",null,[a(ie,{mode:"Client"}),e("small",ye,[a(u,{t:"Allow clients to access with OpenID"})])])])])]))}}),$e={class:"text-body w-100 h-100 pb-2 position-relative"},ke={class:"w-100 h-100 card rounded-3"},Se={class:"border-bottom z-0"},Le={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"}},De=["placeholder"],Ne={class:"row h-100 g-0"},Ve={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},Ie=w({__name:"clients",async setup(g){let c,r;const t=q();[c,r]=A(()=>t.getClients()),await c,r(),t.getAllConfigurationsPeers();const o=b(""),l=z(),s=b(!1),n=D(()=>Object.fromEntries(Object.entries(t.clients).filter(([d,i])=>Object.keys(t.clients).filter(p=>p!=="Local").includes(d))));return(d,i)=>{const p=E("RouterView");return _(),f("div",$e,[e("div",ke,[a(G,{name:"zoom"},{default:I(()=>[s.value?(_(),v(xe,{key:0,onClose:i[0]||(i[0]=h=>s.value=!1),class:"z-5"})):S("",!0)]),_:1}),e("div",Se,[e("div",Le,[i[4]||(i[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),C(e("input",{"onUpdate:modelValue":i[1]||(i[1]=h=>o.value=h),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:m(P)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,De),[[M,o.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:i[2]||(i[2]=h=>s.value=!s.value)},[i[3]||(i[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),a(u,{t:"Settings"})])])]),e("div",Ne,[e("div",{class:k([{hide:m(l).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",Ve,[Object.keys(m(t).clients).includes("Local")?(_(),v(L,{key:0,searchString:o.value,clients:m(t).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(_(!0),f(N,null,V(n.value,(h,j)=>(_(),v(L,{searchString:o.value,clients:h,groupName:j},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:k([{hide:!m(l).params.id},"col-sm-8 clientViewerContainer z-0"])},[a(p)],2)])])])}}}),Ae=T(Ie,[["__scopeId","data-v-a8650ee3"]]);export{Ae as default};