import{J as w,q as O,r as g,c as n,f as t,a as e,d as k,t as m,F as p,i as P,b as a,n as D,u as $,L as I,e as y,k as S,g as N,M as B}from"./index-BaGiSoQe.js";import{D as A}from"./DashboardClientAssignmentStore-BUoDZ6I5.js";import{L as r}from"./localeText-DkjxgEQB.js";const V={class:"card rounded-0 border-0"},E={role:"button",class:"ms-auto text-white"},L={key:0,class:"bi bi-chevron-compact-down"},z={key:1,class:"bi bi-chevron-compact-up"},F={key:0,class:"card-body p-0"},G={class:"list-group list-group-flush"},M={key:0},T={class:"text-body"},U={class:"text-muted"},q={key:1},J={class:"text-body"},R={class:"text-muted"},H=["onClick"],K=["onClick"],j=w({__name:"availablePeersGroup",props:["configuration","peers","clientAssignedPeers"],emits:["assign","unassign"],setup(b,{emit:v}){const i=b,o=v,d=A(),c=O(()=>i.clientAssignedPeers&&Object.keys(i.clientAssignedPeers).includes(i.configuration)?i.peers.filter(h=>!i.clientAssignedPeers[i.configuration].map(l=>l.id).includes(h.id)):i.peers),_=g(!1),f=g(!1);return(h,l)=>(t(),n("div",V,[e("div",{onClick:l[0]||(l[0]=s=>f.value=!f.value),role:"button",class:"card-header rounded-0 sticky-top z-5 bg-body-secondary border-0 shadow border-bottom btn-brand text-white d-flex"},[e("samp",null,m(b.configuration),1),e("a",E,[f.value?(t(),n("i",L)):(t(),n("i",z))])]),f.value?k("",!0):(t(),n("div",F,[e("div",G,[(t(!0),n(p,null,P(c.value,s=>(t(),n("div",{class:"list-group-item d-flex border-bottom list-group-item-action d-flex align-items-center gap-3",key:s.id},[_.value?(t(),n("div",q,[e("small",J,[a(r,{t:"Are you sure to remove this peer?"})]),l[2]||(l[2]=e("br",null,null,-1)),e("small",R,[e("samp",null,m(s.id),1)])])):(t(),n("div",M,[e("small",T,[e("samp",null,m(s.id),1)]),l[1]||(l[1]=e("br",null,null,-1)),e("small",U,m(s.name?s.name:"Untitled Peer"),1)])),b.clientAssignedPeers?(t(),n("button",{key:2,onClick:u=>o("assign",s.id),class:D([{disabled:$(d).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},l[3]||(l[3]=[e("i",{class:"bi bi-plus-circle-fill"},null,-1)]),10,H)):(t(),n("button",{key:3,onClick:u=>o("unassign",s.assignment_id),class:D([{disabled:$(d).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},l[4]||(l[4]=[e("i",{class:"bi bi-trash-fill"},null,-1)]),10,K))]))),128))])]))]))}}),Q={class:"d-flex rounded-3 flex-column gap-3"},W={style:{height:"400px"},class:"d-flex flex-column"},X={class:"d-flex align-items-center mb-2"},Y={class:"mb-0"},Z={class:"text-bg-primary badge ms-2"},ee={class:"text-bg-info badge ms-2"},se={class:"rounded-3 availablePeers border h-100 overflow-scroll flex-grow-1 d-flex flex-column"},te={key:0,class:"text-muted m-auto"},ne={key:0,style:{height:"500px"},class:"d-flex flex-column"},le={class:"mt-3 availablePeers border h-100 card rounded-3"},ie={class:"card-header sticky-top p-3"},ae={class:"mb-0 d-flex align-items-center"},oe={class:"card-body p-0 overflow-scroll"},re={key:0,class:"text-muted m-auto"},ce=w({__name:"clientAssignedPeers",props:["client"],setup(b){const v=b,i=g({}),o=g(!1),d=A(),c=g(!1);g(void 0),g(void 0);const _=async()=>{await N("/api/clients/assignedPeers",{ClientID:v.client.ClientID},l=>{i.value=l.data,o.value=!1})};I(async()=>{o.value=!0,await _()});const f=async(l,s,u)=>{await d.assignClient(l,s,u,!1),await _()},h=async l=>{await d.unassignClient(void 0,void 0,l),await _()};return(l,s)=>(t(),n("div",Q,[e("div",W,[e("div",X,[e("h6",Y,[a(r,{t:"Assigned Peers"}),e("span",Z,[y(m(Object.keys(i.value).length)+" ",1),a(r,{t:Object.keys(i.value).length>1?"Configurations":"Configuration"},null,8,["t"])]),e("span",ee,[y(m(Object.values(i.value).flat().length)+" ",1),a(r,{t:Object.values(i.value).flat().length>1?"Peers":"Peer"},null,8,["t"])])]),e("button",{class:"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3 ms-auto",onClick:s[0]||(s[0]=u=>c.value=!c.value)},[c.value?(t(),n(p,{key:1},[s[4]||(s[4]=e("i",{class:"bi bi-check me-2"},null,-1)),s[5]||(s[5]=y("Done "))],64)):(t(),n(p,{key:0},[s[2]||(s[2]=e("i",{class:"bi bi-list-check me-2"},null,-1)),s[3]||(s[3]=y("Manage "))],64))])]),e("div",se,[(t(!0),n(p,null,P(i.value,(u,x)=>(t(),S(j,{configuration:x,peers:u,onUnassign:s[1]||(s[1]=async C=>await h(C))},null,8,["configuration","peers"]))),256)),Object.keys(i.value).length===0?(t(),n("h6",te,[a(r,{t:"No peer assigned to this client"})])):k("",!0)])]),c.value?(t(),n("div",ne,[e("div",le,[e("div",ie,[e("h6",ae,[a(r,{t:"Available Peers"})])]),e("div",oe,[(t(!0),n(p,null,P($(d).allConfigurationsPeers,(u,x)=>(t(),S(j,{configuration:x,clientAssignedPeers:i.value,peers:u,onAssign:async C=>await f(x,C,v.client.ClientID)},null,8,["configuration","clientAssignedPeers","peers","onAssign"]))),256)),Object.keys($(d).allConfigurationsPeers).length===0?(t(),n("h6",re,[a(r,{t:"No peer is available to assign"})])):k("",!0)]),s[6]||(s[6]=e("div",{class:"card-footer d-flex gap-2 p-3 align-items-center justify-content-end"},[e("label",{for:"availablePeerSearchString"},[e("i",{class:"bi bi-search me-2"})]),e("input",{id:"availablePeerSearchString",class:"form-control form-control-sm rounded-3 w-auto",type:"text"})],-1))])])):k("",!0)]))}}),de={key:0,class:"text-body d-flex flex-column gap-3"},ue={class:"p-4 border-bottom bg-body-tertiary"},me={class:"text-muted"},ge={class:"d-flex align-items-center"},be={class:"text-muted"},ve={class:"ms-auto"},fe={class:"px-4"},_e={key:1,class:"d-flex w-100 h-100 text-muted"},pe={class:"m-auto text-center"},ke=w({__name:"clientViewer",setup(b){const v=A(),i=B(),o=O(()=>v.getClientById(i.params.id));return(d,c)=>o.value?(t(),n("div",de,[e("div",ue,[e("small",me,[a(r,{t:"Email"})]),e("h1",null,m(o.value.Email),1),e("div",ge,[e("small",be,[a(r,{t:"Client ID"})]),e("small",ve,[e("samp",null,m(o.value.ClientID),1)])])]),e("div",fe,[a(ce,{client:o.value},null,8,["client"])])])):(t(),n("div",_e,[e("div",pe,[c[0]||(c[0]=e("h1",null,[e("i",{class:"bi bi-person-x"})],-1)),e("p",null,[a(r,{t:"Client does not exist"})])])]))}});export{ke as default};