import{_ as k,D as I,g as B,a as o,c as a,d as r,w as b,b as e,n as S,t as l,f as x,i as g,e as v,m as U,v as G,u as M,j as m,r as N,p as R,T as V,q as p,o as K,s as O,F as w,h as C,W,k as q}from"./index-DxaoJejr.js";import{L as f}from"./localeText-BJlnw_l3.js";import{_ as F}from"./protocolBadge-P6gbBYF5.js";import{C as j}from"./storageMount.vue_vue_type_style_index_0_scoped_5d74c517_lang-D-03jbZq.js";const $={name:"configurationCard",components:{ProtocolBadge:F,LocaleText:f},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:I()}},methods:{toggle(){this.configurationToggling=!0,B("/api/toggleWireguardConfiguration/",{configurationName:this.c.Name},n=>{n.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${n.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",n.message,"danger"),this.c.Status=n.data,this.configurationToggling=!1})}}},L=()=>{M(n=>({"6ae61cbb":n.delay}))},P=$.setup;$.setup=P?(n,t)=>(L(),P(n,t)):L;const z={class:"card conf_card rounded-3 shadow text-decoration-none"},E={class:"mb-0"},H={class:"card-title mb-0 d-flex align-items-center gap-2"},Y={class:"card-footer d-flex gap-2 flex-column"},A={class:"row"},J={class:"col-6 col-md-3"},Q={class:"text-primary-emphasis col-6 col-md-3"},X={class:"text-success-emphasis col-6 col-md-3"},Z={class:"text-md-end col-6 col-md-3"},ee={class:"d-flex align-items-center gap-2"},te={class:"text-muted"},se={style:{"word-break":"keep-all"}},oe={class:"mb-0 d-block d-lg-inline-block"},ne={style:{"line-break":"anywhere"}},ae={class:"form-check form-switch ms-auto"},ie=["for"],re={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},le=["disabled","id"];function ce(n,t,s,_,h,i){const d=m("ProtocolBadge"),c=m("RouterLink"),u=m("LocaleText");return o(),a("div",z,[r(c,{to:"/configuration/"+s.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:b(()=>[e("h6",E,[e("span",{class:S(["dot",{active:s.c.Status}])},null,2)]),e("h6",H,[e("samp",null,l(s.c.Name),1),e("small",null,[r(d,{protocol:s.c.Protocol,mini:!0},null,8,["protocol"])])]),t[2]||(t[2]=e("h6",{class:"mb-0 ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))]),_:1},8,["to"]),e("div",Y,[e("div",A,[e("small",J,[t[3]||(t[3]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),x(l(s.c.DataUsage.Total>0?s.c.DataUsage.Total.toFixed(4):0)+" GB ",1)]),e("small",Q,[t[4]||(t[4]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),x(l(s.c.DataUsage.Receive>0?s.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)]),e("small",X,[t[5]||(t[5]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),x(l(s.c.DataUsage.Sent>0?s.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)]),e("small",Z,[e("span",{class:S(["dot me-2",{active:s.c.ConnectedPeers>0}])},null,2),x(" "+l(s.c.ConnectedPeers)+" / "+l(s.c.TotalPeers)+" ",1),r(u,{t:"Peers"})])]),e("div",ee,[e("small",te,[e("strong",se,[r(u,{t:"Public Key"})])]),e("small",oe,[e("samp",ne,l(s.c.PublicKey),1)]),e("div",ae,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+s.c.PrivateKey},[!s.c.Status&&this.configurationToggling?(o(),g(u,{key:0,t:"Turning Off..."})):s.c.Status&&this.configurationToggling?(o(),g(u,{key:1,t:"Turning On..."})):s.c.Status&&!this.configurationToggling?(o(),g(u,{key:2,t:"On"})):!s.c.Status&&!this.configurationToggling?(o(),g(u,{key:3,t:"Off"})):v("",!0),this.configurationToggling?(o(),a("span",re)):v("",!0)],8,ie),U(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+s.c.PrivateKey,onChange:t[0]||(t[0]=y=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=y=>s.c.Status=y)},null,40,le),[[G,s.c.Status]])])])])])}const de=k($,[["render",ce],["__scopeId","data-v-4806af36"]]),ue={class:"text-muted me-2"},ge={class:"fw-bold"},me={__name:"storageMount",props:{mount:String,percentage:Number,align:Boolean,square:Boolean},setup(n){M(h=>({"703ec95e":_.value}));const t=n,s=N(!1),_=R(()=>t.square?"40px":"25px");return(h,i)=>(o(),a("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:i[0]||(i[0]=d=>s.value=!0),onMouseleave:i[1]||(i[1]=d=>s.value=!1),style:p({"background-color":`rgb(25 135 84 / ${n.percentage}%)`})},[r(V,{name:"zoomReversed"},{default:b(()=>[s.value?(o(),a("div",{key:0,style:{"white-space":"nowrap"},class:S(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[n.align?"end-0":"start-0"]])},[e("small",ue,[e("samp",null,l(n.mount),1)]),e("small",ge,l(n.percentage)+"% ",1)],2)):v("",!0)]),_:1})],36))}},_e=k(me,[["__scopeId","data-v-5d74c517"]]),he={class:"row text-body g-3 mb-5"},fe={class:"col-md-6 col-sm-12 col-xl-3"},pe={class:"d-flex align-items-center"},be={class:"text-muted"},ve={class:"ms-auto"},ye={key:0},xe={key:1,class:"spinner-border spinner-border-sm"},ke={class:"progress",role:"progressbar",style:{height:"6px"}},Se={class:"d-flex mt-2 gap-1"},we={class:"col-md-6 col-sm-12 col-xl-3"},Ce={class:"d-flex align-items-center"},$e={class:"text-muted"},Te={class:"ms-auto"},Le={key:0},Pe={key:1,class:"spinner-border spinner-border-sm"},Be={class:"progress",role:"progressbar",style:{height:"6px"}},Me={class:"d-flex mt-2 gap-1"},Ne={class:"col-md-6 col-sm-12 col-xl-3"},De={class:"d-flex align-items-center"},Ie={class:"text-muted"},Ue={class:"ms-auto"},Ge={key:0},Re={key:1,class:"spinner-border spinner-border-sm"},Ve={class:"progress",role:"progressbar",style:{height:"6px"}},Ke={class:"col-md-6 col-sm-12 col-xl-3"},Oe={class:"d-flex align-items-center"},We={class:"text-muted"},qe={class:"ms-auto"},Fe={key:0},je={key:1,class:"spinner-border spinner-border-sm"},ze={class:"progress",role:"progressbar",style:{height:"6px"}},Ee={__name:"systemStatusWidget",setup(n){const t=N(void 0);let s=null;K(()=>{_(),s=setInterval(()=>{_()},5e3)}),O(()=>{clearInterval(s)});const _=()=>{B("/api/systemStatus",{},h=>{t.value=h.data})};return(h,i)=>(o(),a("div",he,[e("div",fe,[e("div",pe,[e("h6",be,[i[0]||(i[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),r(f,{t:"CPU"})]),e("h6",ve,[t.value?(o(),a("span",ye,l(t.value.cpu.cpu_percent)+"% ",1)):(o(),a("span",xe))])]),e("div",ke,[e("div",{class:"progress-bar",style:p({width:`${t.value?.cpu.cpu_percent}%`})},null,4)]),e("div",Se,[(o(!0),a(w,null,C(t.value?.cpu.cpu_percent_per_cpu,(d,c)=>(o(),g(j,{key:c,align:c+1>Math.round(t.value?.cpu.cpu_percent_per_cpu.length/2),core_number:c,percentage:d},null,8,["align","core_number","percentage"]))),128))])]),e("div",we,[e("div",Ce,[e("h6",$e,[i[1]||(i[1]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),r(f,{t:"Storage"})]),e("h6",Te,[t.value?(o(),a("span",Le,l(t.value?.disk["/"].percent)+"% ",1)):(o(),a("span",Pe))])]),e("div",Be,[e("div",{class:"progress-bar bg-success",style:p({width:`${t.value?.disk["/"].percent}%`})},null,4)]),e("div",Me,[t.value?(o(!0),a(w,{key:0},C(Object.keys(t.value?.disk),(d,c)=>(o(),g(_e,{key:c,align:c+1>Math.round(Object.keys(t.value?.disk).length/2),mount:d,percentage:t.value?.disk[d].percent},null,8,["align","mount","percentage"]))),128)):v("",!0)])]),e("div",Ne,[e("div",De,[e("h6",Ie,[i[2]||(i[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),r(f,{t:"Memory"})]),e("h6",Ue,[t.value?(o(),a("span",Ge,l(t.value?.memory.virtual_memory.percent)+"% ",1)):(o(),a("span",Re))])]),e("div",Ve,[e("div",{class:"progress-bar bg-info",style:p({width:`${t.value?.memory.virtual_memory.percent}%`})},null,4)])]),e("div",Ke,[e("div",Oe,[e("h6",We,[i[3]||(i[3]=e("i",{class:"bi bi-memory me-2"},null,-1)),r(f,{t:"Swap Memory"})]),e("h6",qe,[t.value?(o(),a("span",Fe,l(t.value?.memory.swap_memory.percent)+"% ",1)):(o(),a("span",je))])]),e("div",ze,[e("div",{class:"progress-bar bg-warning",style:p({width:`${t.value?.memory.swap_memory.percent}%`})},null,4)])])]))}},He=k(Ee,[["__scopeId","data-v-eb521609"]]),Ye={name:"configurationList",components:{SystemStatus:He,LocaleText:f,ConfigurationCard:de},async setup(){return{wireguardConfigurationsStore:W()}},data(){return{configurationLoaded:!1}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),this.configurationLoaded=!0,this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)},beforeUnmount(){clearInterval(this.wireguardConfigurationsStore.ConfigurationListInterval)}},Ae={class:"mt-md-5 mt-3"},Je={class:"container-md"},Qe={class:"d-flex mb-4 configurationListTitle align-items-center gap-3"},Xe={class:"text-body d-flex"},Ze={class:"text-muted",key:"noConfiguration"};function et(n,t,s,_,h,i){const d=m("SystemStatus"),c=m("LocaleText"),u=m("RouterLink"),y=m("ConfigurationCard");return o(),a("div",Ae,[e("div",Je,[r(d),e("div",Qe,[e("h2",Xe,[e("span",null,[r(c,{t:"WireGuard Configurations"})])]),r(u,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 p-2 shadow ms-auto rounded-3"},{default:b(()=>t[0]||(t[0]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-plus-circle"})],-1)])),_:1}),r(u,{to:"/restore_configuration",class:"btn btn-dark btn-brand p-2 shadow ms-2",style:{"border-radius":"100%"}},{default:b(()=>t[1]||(t[1]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-clock-history"})],-1)])),_:1})]),r(q,{name:"fade",tag:"div",class:"d-flex flex-column gap-3 mb-4"},{default:b(()=>[this.configurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(o(),a("p",Ze,[r(c,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.configurationLoaded?(o(!0),a(w,{key:1},C(this.wireguardConfigurationsStore.Configurations,(T,D)=>(o(),g(y,{delay:D*.05+"s",key:T.Name,c:T},null,8,["delay","c"]))),128)):v("",!0)]),_:1})])])}const at=k(Ye,[["render",et],["__scopeId","data-v-9a9d4e41"]]);export{at as default};