Files
WGDashboard/src/static/app/dist/assets/configurationList-2h9B0XJU.js
Donald Zou 1ed8b9f2d5 Build
2025-08-20 15:10:55 +08:00

2 lines
13 KiB
JavaScript

import{_ as D,g as B,D as N,c as i,a as t,b as r,w as x,h as y,n as m,e as p,t as u,m as U,j as b,d as h,v as I,f as o,p as K,q as G,r as R,s as C,k as V,o as O,x as W,F as w,i as k,T as q,G as L,W as F,y as z}from"./index-CzqOJ-1c.js";import{L as S}from"./localeText-DLy59bHL.js";import{_ as j}from"./protocolBadge-rbD-b8V3.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-DwJbITau.js";const T={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:S},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:N()}},methods:{toggle(){this.configurationToggling=!0,B("/api/toggleWireguardConfiguration",{configurationName:this.c.Name},a=>{a.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${a.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",a.message,"danger"),this.c.Status=a.data,this.configurationToggling=!1})}}},P=()=>{K(a=>({"0d365bfc":a.delay}))},M=T.setup;T.setup=M?(a,s)=>(P(),M(a,s)):P;const H={class:"card conf_card rounded-3 shadow text-decoration-none"},Y={class:"mb-0"},A={class:"card-title mb-0 d-flex align-items-center gap-2"},J={key:0},Q={class:"badge text-bg-info rounded-3 shadow"},X={class:"card-footer d-flex gap-2 flex-column"},Z={class:"row"},tt={class:"d-flex gap-2 align-items-center"},et={class:"text-muted"},st={class:"mb-0 d-block d-lg-inline-block"},ot={style:{"line-break":"anywhere"}},at={class:"form-check form-switch ms-auto"},nt=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},rt=["disabled","id"];function lt(a,s,e,f,n,g){const d=y("ProtocolBadge"),l=y("RouterLink"),c=y("LocaleText");return o(),i("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",H,[r(l,{to:"/configuration/"+e.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:x(()=>[t("h6",Y,[t("span",{class:m(["dot",{active:e.c.Status}])},null,2)]),t("h6",A,[t("samp",null,u(e.c.Name),1),t("small",null,[r(d,{protocol:e.c.Protocol,mini:!0},null,8,["protocol"])]),e.c.Info.Description?(o(),i("small",J,[t("span",Q,[s[2]||(s[2]=t("i",{class:"bi bi-pencil-fill me-2"},null,-1)),p(" "+u(e.c.Info.Description),1)])])):h("",!0)]),s[3]||(s[3]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1,__:[3]},8,["to"]),t("div",X,[t("div",Z,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),p(u(e.c.DataUsage.Total>0?e.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),p(u(e.c.DataUsage.Receive>0?e.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[6]||(s[6]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),p(u(e.c.DataUsage.Sent>0?e.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:e.c.ConnectedPeers>0}])},null,2),p(" "+u(e.c.ConnectedPeers)+" / "+u(e.c.TotalPeers)+" ",1),r(c,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",tt,[t("small",et,[t("strong",null,[r(c,{t:"Public Key"})])]),t("small",st,[t("samp",ot,u(e.c.PublicKey),1)])]),t("div",at,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+e.c.PrivateKey},[!e.c.Status&&this.configurationToggling?(o(),b(c,{key:0,t:"Turning Off..."})):e.c.Status&&this.configurationToggling?(o(),b(c,{key:1,t:"Turning On..."})):e.c.Status&&!this.configurationToggling?(o(),b(c,{key:2,t:"On"})):!e.c.Status&&!this.configurationToggling?(o(),b(c,{key:3,t:"Off"})):h("",!0),this.configurationToggling?(o(),i("span",it)):h("",!0)],8,nt),U(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+e.c.PrivateKey,onChange:s[0]||(s[0]=$=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=$=>e.c.Status=$)},null,40,rt),[[I,e.c.Status]])])],2)])])],2)}const dt=D(T,[["render",lt],["__scopeId","data-v-9f596f5e"]]),ct={class:"text-muted me-2"},ut={class:"fw-bold"},mt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(a){K(n=>({"2dc8ab7e":f.value}));const s=a,e=R(!1),f=G(()=>s.square?"40px":"25px");return(n,g)=>(o(),i("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=d=>e.value=!0),onMouseleave:g[1]||(g[1]=d=>e.value=!1),style:C({"background-color":`rgb(25 135 84 / ${a.mount.percent}%)`})},[r(V,{name:"zoomReversed"},{default:x(()=>[e.value?(o(),i("div",{key:0,style:C([{"white-space":"nowrap"},{top:f.value}]),class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[a.align?"end-0":"start-0"]])},[t("small",ct,[t("samp",null,u(a.mount.mountPoint),1)]),t("small",ut,u(a.mount.percent)+"% ",1)],6)):h("",!0)]),_:1})],36))}},gt=D(mt,[["__scopeId","data-v-9509d7a0"]]),_t={class:"row text-body g-3 mb-5"},ft={class:"col-md-6 col-sm-12 col-xl-3"},ht={class:"d-flex align-items-center"},pt={class:"text-muted"},yt={class:"ms-auto"},bt={key:0},vt={key:1,class:"spinner-border spinner-border-sm"},xt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-flex mt-2 gap-1"},Ct={class:"col-md-6 col-sm-12 col-xl-3"},wt={class:"d-flex align-items-center"},kt={class:"text-muted"},$t={class:"ms-auto"},Dt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Tt={class:"progress",role:"progressbar",style:{height:"6px"}},Pt={class:"d-flex mt-2 gap-1"},Mt={class:"col-md-6 col-sm-12 col-xl-3"},Bt={class:"d-flex align-items-center"},Nt={class:"text-muted"},Ut={class:"ms-auto"},Kt={key:0},Gt={key:1,class:"spinner-border spinner-border-sm"},Vt={class:"progress",role:"progressbar",style:{height:"6px"}},It={class:"col-md-6 col-sm-12 col-xl-3"},Rt={class:"d-flex align-items-center"},Ot={class:"text-muted"},Wt={class:"ms-auto"},qt={key:0},Ft={key:1,class:"spinner-border spinner-border-sm"},zt={__name:"systemStatusWidget",setup(a){const s=N();let e=null;O(()=>{f(),e=setInterval(()=>{f()},5e3)}),W(()=>{clearInterval(e)});const f=()=>{B("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},n=G(()=>s.SystemStatus);return(g,d)=>(o(),i("div",_t,[t("div",ft,[t("div",ht,[t("h6",pt,[d[0]||(d[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),r(S,{t:"CPU"})]),t("h6",yt,[n.value?(o(),i("span",bt,u(n.value.CPU.cpu_percent)+"% ",1)):(o(),i("span",vt))])]),t("div",xt,[t("div",{class:"progress-bar",style:C({width:`${n.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(o(!0),i(w,null,k(n.value?.CPU.cpu_percent_per_cpu,(l,c)=>(o(),b(E,{key:c,align:c+1>Math.round(n.value?.CPU.cpu_percent_per_cpu.length/2),core_number:c,percentage:l},null,8,["align","core_number","percentage"]))),128))])]),t("div",Ct,[t("div",wt,[t("h6",kt,[d[1]||(d[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),r(S,{t:"Storage"})]),t("h6",$t,[n.value?(o(),i("span",Dt,u(n.value.Disks.find(l=>l.mountPoint==="/")?n.value?.Disks.find(l=>l.mountPoint==="/").percent:n.value?.Disks[0].percent)+"% ",1)):(o(),i("span",Lt))])]),t("div",Tt,[t("div",{class:"progress-bar bg-success",style:C({width:`${n.value?.Disks.find(l=>l.mountPoint==="/").percent}%`})},null,4)]),t("div",Pt,[n.value?(o(!0),i(w,{key:0},k(n.value?.Disks,(l,c)=>(o(),b(gt,{key:l.mountPoint,align:c+1>Math.round(n.value?.Disks.length/2),mount:l},null,8,["align","mount"]))),128)):h("",!0)])]),t("div",Mt,[t("div",Bt,[t("h6",Nt,[d[2]||(d[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),r(S,{t:"Memory"})]),t("h6",Ut,[n.value?(o(),i("span",Kt,u(n.value?.Memory.VirtualMemory.percent)+"% ",1)):(o(),i("span",Gt))])]),t("div",Vt,[t("div",{class:"progress-bar bg-info",style:C({width:`${n.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",It,[t("div",Rt,[t("h6",Ot,[d[3]||(d[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),r(S,{t:"Swap Memory"})]),t("h6",Wt,[n.value?(o(),i("span",qt,u(n.value?.Memory.SwapMemory.percent)+"% ",1)):(o(),i("span",Ft))])]),d[4]||(d[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},jt=D(zt,[["__scopeId","data-v-c20f1a80"]]),Et={name:"configurationList",components:{SystemStatus:jt,LocaleText:S,ConfigurationCard:dt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:L("Name"),Status:L("Status"),"DataUsage.Total":L("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},computed:{configurations(){return this.wireguardConfigurationsStore.sortConfigurations.filter(a=>a.Name.toLowerCase().includes(this.searchKey)||a.PublicKey.includes(this.searchKey)||!this.searchKey)}},methods:{dotNotation(a,s){let e=s.split(".").reduce((f,n)=>f&&f[n],a);return typeof e=="string"?e.toLowerCase():e},updateSort(a){this.wireguardConfigurationsStore.CurrentSort.key===a?this.wireguardConfigurationsStore.CurrentSort.order=this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"desc":"asc":this.wireguardConfigurationsStore.CurrentSort.key=a},updateDisplay(a){this.wireguardConfigurationsStore.CurrentDisplay!==a&&(this.wireguardConfigurationsStore.CurrentDisplay=a)}}},Ht={class:"mt-md-5 mt-3"},Yt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Jt={class:"text-body d-flex mb-0"},Qt={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Xt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Zt={class:"text-muted"},te={class:"d-flex ms-auto ms-lg-0"},ee=["onClick"],se={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},oe={class:"text-muted"},ae={class:"d-flex ms-auto ms-lg-0"},ne=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},re={class:"row g-3 mb-2"},le={class:"text-muted col-12",key:"noConfiguration"};function de(a,s,e,f,n,g){const d=y("SystemStatus"),l=y("LocaleText"),c=y("RouterLink"),$=y("ConfigurationCard");return o(),i("div",Ht,[t("div",Yt,[r(d),t("div",At,[t("h2",Jt,[r(l,{t:"WireGuard Configurations"})]),r(c,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),r(l,{t:"Configuration"})]),_:1,__:[1]}),r(c,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),r(l,{t:"Restore"})]),_:1,__:[2]})]),r(V,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded?(o(),i("div",Qt,[t("div",Xt,[t("small",Zt,[r(l,{t:"Sort By"})]),t("div",te,[(o(!0),i(w,null,k(this.wireguardConfigurationsStore.SortOptions,(_,v)=>(o(),i("a",{role:"button",onClick:ce=>g.updateSort(v),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentSort.key===v},"px-2 py-1 rounded-3"])},[t("small",null,[this.wireguardConfigurationsStore.CurrentSort.key===v?(o(),i("i",{key:0,class:m(["bi me-2",[this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):h("",!0),p(u(_),1)])],10,ee))),256))])]),t("div",se,[t("small",oe,[r(l,{t:"Display as"})]),t("div",ae,[(o(),i(w,null,k([{name:"List",key:"list"},{name:"Grid",key:"grid"}],_=>t("a",{role:"button",onClick:v=>g.updateDisplay(_.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentDisplay===_.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+_.key])},null,2),s[3]||(s[3]=p()),r(l,{t:_.name},null,8,["t"])])],10,ne)),64))])]),t("div",ie,[s[4]||(s[4]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),U(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=_=>this.searchKey=_),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):h("",!0)]),_:1}),t("div",re,[r(q,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(o(),i("p",le,[r(l,{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.wireguardConfigurationsStore.ConfigurationLoaded?(o(!0),i(w,{key:1},k(g.configurations,(_,v)=>(o(),b($,{display:this.wireguardConfigurationsStore.CurrentDisplay,delay:v*.03+"s",key:_.Name,c:_},null,8,["display","delay","c"]))),128)):h("",!0)]),_:1})])])])}const fe=D(Et,[["render",de],["__scopeId","data-v-e551c21d"]]);export{fe as default};