mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-10-03 15:56:17 +00:00
2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
import{r as w,o as L,c,a as t,b as s,d as h,e as v,t as b,f as a,_ as $,D as y,w as i,T as M,n as k,u as H,g as T,G as N,W as G,h as f,F as A,i as D,j as x,k as S,l as W,S as V}from"./index-DNUMHgIY.js";import{L as m}from"./localeText-Cf1ohw6E.js";import{M as I}from"./message-lfjVEUyL.js";import"./dayjs.min-CL0AEZFK.js";const O={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},U={class:"container d-flex h-100 w-100"},j={class:"m-auto modal-dialog-centered dashboardModal"},z={class:"card rounded-3 shadow flex-grow-1"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},R={class:"mb-0"},F={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},q={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},E={class:"card-body d-flex gap-4 align-items-center"},J={class:"d-flex align-items-center"},P={class:"badge rounded-pill text-bg-primary ms-2"},Y={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},K={key:1},Q={class:"text-muted"},X={class:"card text-decoration-none",href:"https://docs.wgdashboard.dev/",target:"_blank"},Z={class:"card-body d-flex gap-4 align-items-center"},tt={class:"mb-0"},et={class:"text-muted"},st={__name:"helpModal",setup(l){const e=w(!0),g=w(void 0);return L(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(d=>d.json()).then(d=>{g.value=d,e.value=!1}).catch(()=>{e.value=!1})}),(d,n)=>(a(),c("div",O,[t("div",U,[t("div",j,[t("div",z,[t("div",B,[t("h4",R,[s(m,{t:"Help"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=r=>d.$emit("close"))})]),t("div",F,[t("a",q,[t("div",E,[n[3]||(n[3]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-discord"})],-1)),t("div",null,[t("div",J,[n[2]||(n[2]=t("h5",{class:"mb-0"}," Discord Server ",-1)),t("span",P,[e.value?(a(),c("span",Y)):h("",!0),g.value!==void 0&&!e.value?(a(),c("span",K,[n[1]||(n[1]=t("i",{class:"bi bi-person-fill me-2"},null,-1)),v(b(g.value.presence_count)+" Online ",1)])):h("",!0)])]),t("small",Q,[s(m,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),t("a",X,[t("div",Z,[n[4]||(n[4]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-hash"})],-1)),t("div",null,[t("h5",tt,[s(m,{t:"Official Documentation"})]),t("small",et,[s(m,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}},ot={key:"header",class:"shadow"},at={class:"p-3 d-flex gap-2 flex-column"},nt={class:"d-flex text-body"},it={class:"d-flex flex-column align-items-start gap-1"},lt={class:"mb-0"},rt={class:"mb-0"},dt={class:"list-group"},ct={href:"https://docs.wgdashboard.dev/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},ut={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},mt={__name:"agentModal",emits:["close"],setup(l,{emit:e}){const g=e,d=y();return(n,r)=>(a(),c("div",{class:k(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{enabled:H(d).HelpAgent.Enable}])},[s(M,{name:"agent-message"},{default:i(()=>[t("div",ot,[t("div",at,[t("div",nt,[t("div",it,[t("h5",lt,[s(m,{t:"Help"})])]),t("a",{role:"button",class:"ms-auto text-body",onClick:r[0]||(r[0]=o=>g("close"))},r[1]||(r[1]=[t("h5",{class:"mb-0"},[t("i",{class:"bi bi-x-lg"})],-1)]))]),t("p",rt,[s(m,{t:"You can visit our: "})]),t("div",dt,[t("a",ct,[r[2]||(r[2]=t("i",{class:"bi bi-book-fill"},null,-1)),s(m,{class:"ms-auto",t:"Official Documentation"})]),t("a",ut,[r[3]||(r[3]=t("i",{class:"bi bi-discord"},null,-1)),s(m,{class:"ms-auto",t:"Discord Server"})])])])])]),_:1})],2))}},gt=$(mt,[["__scopeId","data-v-f37f608d"]]),_t={name:"navbar",components:{HelpModal:st,LocaleText:m,AgentModal:gt},setup(){const l=G(),e=y();return{wireguardConfigurationsStore:l,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!1}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),await T("/api/getDashboardUpdate",{},l=>{l.status?(l.data&&(this.updateAvailable=!0,this.updateUrl=l.data),this.updateMessage=l.message):(this.updateMessage=N("Failed to check available update"),console.log(`Failed to get update: ${l.message}`))}),this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)}},ft=["data-bs-theme"],pt={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},vt={class:"sidebar-sticky"},bt={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},ht={key:0,class:"ms-auto"},xt={class:"nav flex-column px-2 gap-1"},Ct={class:"nav-item"},kt={class:"nav-item"},St={class:"nav-item"},$t={class:"nav-item"},yt={class:"nav-item"},wt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Mt={class:"nav flex-column px-2 gap-1"},At={class:"nav-item"},Dt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Lt={class:"nav flex-column px-2 gap-1"},Ht={class:"nav-item"},Tt={class:"nav-item"},Nt={class:"nav-item"},Gt={class:"nav flex-column px-2 mb-3"},Wt={class:"nav-item"},Vt={class:"nav-item",style:{"font-size":"0.8rem"}},It=["href"],Ot={class:"nav-link text-muted rounded-3"},Ut={key:1,class:"nav-link text-muted rounded-3"};function jt(l,e,g,d,n,r){const o=f("LocaleText"),u=f("RouterLink"),C=f("HelpModal"),p=f("AgentModal");return a(),c("div",{class:k(["col-md-3 col-lg-2 d-md-block p-2 navbar-container bg-transparent",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":d.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("nav",pt,[t("div",vt,[t("div",bt,[e[5]||(e[5]=t("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(a(),c("small",ht,[e[4]||(e[4]=t("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),v(b(r.getActiveCrossServer.host),1)])):h("",!0)]),t("ul",xt,[t("li",Ct,[s(u,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:i(()=>[e[6]||(e[6]=t("i",{class:"bi bi-house me-2"},null,-1)),s(o,{t:"Home"})]),_:1,__:[6]})]),t("li",kt,[s(u,{class:"nav-link rounded-3",to:"/settings","active-class":"active"},{default:i(()=>[e[7]||(e[7]=t("i",{class:"bi bi-gear me-2"},null,-1)),s(o,{t:"Settings"})]),_:1,__:[7]})]),t("li",St,[s(u,{class:"nav-link rounded-3",to:"/clients","active-class":"active"},{default:i(()=>[e[8]||(e[8]=t("i",{class:"bi bi-people me-2"},null,-1)),s(o,{t:"Clients"})]),_:1,__:[8]})]),t("li",$t,[s(u,{class:"nav-link rounded-3",to:"/webhooks","active-class":"active"},{default:i(()=>[e[9]||(e[9]=t("i",{class:"bi bi-postcard me-2"},null,-1)),s(o,{t:"Webhooks"})]),_:1,__:[9]})]),t("li",yt,[t("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=_=>n.openAgentModal=!0)},[e[10]||(e[10]=t("i",{class:"bi bi-question-circle me-2"},null,-1)),s(o,{t:"Help"})])])]),e[13]||(e[13]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",wt,[s(o,{t:"WireGuard Configurations"})]),t("ul",Mt,[(a(!0),c(A,null,D(this.wireguardConfigurationsStore.sortConfigurations,_=>(a(),c("li",At,[s(u,{to:"/configuration/"+_.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:i(()=>[t("span",{class:k(["dot me-2",{active:_.Status}])},null,2),v(" "+b(_.Name),1)]),_:2},1032,["to"])]))),256))]),e[14]||(e[14]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",Dt,[s(o,{t:"Tools"})]),t("ul",Lt,[t("li",Ht,[s(u,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"System Status"})]),_:1})]),t("li",Tt,[s(u,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Ping"})]),_:1})]),t("li",Nt,[s(u,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Traceroute"})]),_:1})])]),e[15]||(e[15]=t("hr",{class:"text-body my-2"},null,-1)),t("ul",Gt,[t("li",Wt,[t("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=_=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[11]||(e[11]=t("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),s(o,{t:"Sign Out"})])]),t("li",Vt,[this.updateAvailable?(a(),c("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[t("small",Ot,[s(o,{t:this.updateMessage},null,8,["t"]),e[12]||(e[12]=v(" (")),s(o,{t:"Current Version:"}),v(" "+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,It)):(a(),c("small",Ut,[s(o,{t:this.updateMessage},null,8,["t"]),v(" ("+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),s(S,{name:"zoom"},{default:i(()=>[this.openHelpModal?(a(),x(C,{key:0,onClose:e[2]||(e[2]=_=>{n.openHelpModal=!1})})):h("",!0)]),_:1}),s(S,{name:"slideIn"},{default:i(()=>[this.openAgentModal?(a(),x(p,{key:0,onClose:e[3]||(e[3]=_=>n.openAgentModal=!1)})):h("",!0)]),_:1})],10,ft)}const zt=$(_t,[["render",jt],["__scopeId","data-v-982f1a52"]]),Bt={name:"index",components:{Message:I,Navbar:zt},async setup(){return{dashboardConfigurationStore:y()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(l=>l.show)}}},Rt=["data-bs-theme"],Ft={class:"row h-100"},qt={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},Et={class:"messageCentre text-body position-absolute d-flex"};function Jt(l,e,g,d,n,r){const o=f("Navbar"),u=f("RouterView"),C=f("Message");return a(),c("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("div",Ft,[s(o),t("main",qt,[(a(),x(V,null,{default:i(()=>[s(u,null,{default:i(({Component:p})=>[s(S,{name:"fade2",mode:"out-in",appear:""},{default:i(()=>[(a(),x(W(p)))]),_:2},1024)]),_:1})]),_:1})),t("div",Et,[s(M,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:i(()=>[(a(!0),c(A,null,D(r.getMessages.slice().reverse(),p=>(a(),x(C,{message:p,key:p.id},null,8,["message"]))),128))]),_:1})])])])],8,Rt)}const Xt=$(Bt,[["render",Jt],["__scopeId","data-v-0c6a5068"]]);export{Xt as default};
|