mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2026-04-22 20:56:18 +00:00
2 lines
7.8 KiB
JavaScript
2 lines
7.8 KiB
JavaScript
import{D as B,a as O}from"./dashboardSettingsWireguardConfigurationAutostart-CDuYV_YE.js";import{E as V,o as I,D as z,a as s,c,b as a,t as h,m as D,v as N,f,d,n as y,e as $,r as m,z as S,g as P,W as L,H as M,i as _,F as U,h as A,u as j,B as G}from"./index-B2Cqollg.js";import{L as g}from"./localeText-slIlNmvW.js";const F={class:"card"},Y={class:"card-header"},J={class:"card-body"},K={class:"row gy-2"},q={class:"col-sm"},Q={class:"form-check form-switch"},X=["disabled","id"],Z=["for"],ee={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ae={class:"mb-0"},te={class:"text-muted fw-normal"},ne={key:0,class:"ms-md-auto d-flex gap-2"},ie={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},se={class:"col-sm"},oe={class:"form-check form-switch"},re=["disabled","id"],le=["for"],de={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ce={class:"mb-0"},ue={class:"text-muted fw-normal"},ge={key:0,class:"ms-md-auto d-flex gap-2"},fe={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},me={__name:"configurationTracking",props:["configuration","trackingData"],async setup(i){let x,v;const t=i,b=m({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0}),k=m(!1);[x,v]=V(()=>I(async()=>{b.value=t.trackingData[t.configuration.Name]})),await x,v();const w=async()=>{await P("/api/getPeerTrackingTableCounts",{configurationName:t.configuration.Name},r=>{b.value=r.data})},l=async r=>{k.value=!0,await S("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:r,Value:t.configuration.Info[r]},e=>{console.log(e),k.value=!1})},o=m(void 0),T=async r=>{o.value=r,await P("/api/downloadPeerTrackingTable",{configurationName:t.configuration.Name,table:r},e=>{if(e.status){const n=JSON.stringify(e.data,null,2),R=new Blob([n],{type:"application/json"}),W=URL.createObjectURL(R),C=document.createElement("a");C.href=W,C.download=`${t.configuration.Name}_${r}.json`,C.click(),o.value=void 0}})},u=m(""),p=m(void 0),H=z(),E=async r=>{p.value=!0,await S("/api/deletePeerTrackingTable",{configurationName:t.configuration.Name,table:r},async e=>{e.status?H.newMessage("Server","Record deleted","success"):H.newMessage("Server","Record delete failed","danger"),await w(),p.value=!1,u.value=""})};return(r,e)=>(s(),c("div",F,[a("div",Y,h(i.configuration.Name),1),a("div",J,[a("div",K,[a("div",q,[e[16]||(e[16]=a("small",{class:"text-muted fw-bold"},"Peer Traffic Tracking",-1)),a("div",Q,[D(a("input",{class:"form-check-input",type:"checkbox",disabled:k.value,onChange:e[0]||(e[0]=n=>l("PeerTrafficTracking")),"onUpdate:modelValue":e[1]||(e[1]=n=>i.configuration.Info.PeerTrafficTracking=n),id:i.configuration.Name+"_traffic_tracking"},null,40,X),[[N,i.configuration.Info.PeerTrafficTracking]]),a("label",{class:"form-check-label",for:i.configuration.Name+"_traffic_tracking"},h(i.configuration.Info.PeerTrafficTracking?"On":"Off"),9,Z)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",ee,[a("h6",ae,[f(h(b.value.TrafficTrackingTableSize)+" ",1),a("span",te,[d(g,{t:"Records"})])]),u.value!=="TrafficTrackingTable"?(s(),c("div",ne,[a("button",{class:y(["btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3",{disabled:o.value==="TrafficTrackingTable"}]),onClick:e[2]||(e[2]=n=>T("TrafficTrackingTable"))},[e[12]||(e[12]=a("i",{class:"bi bi-download me-2"},null,-1)),d(g,{t:o.value==="TrafficTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[3]||(e[3]=n=>u.value="TrafficTrackingTable")},[...e[13]||(e[13]=[a("i",{class:"bi bi-trash me-2"},null,-1),f("Delete ",-1)])])])):u.value==="TrafficTrackingTable"?(s(),c("div",ie,[a("small",null,[d(g,{t:"Are you sure to delete?"})]),a("button",{class:y(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:p.value}]),onClick:e[4]||(e[4]=n=>E("TrafficTrackingTable"))},[...e[14]||(e[14]=[a("i",{class:"bi bi-check me-2"},null,-1),f("Yes ",-1)])],2),a("button",{class:y([{disabled:p.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[5]||(e[5]=n=>u.value="")},[...e[15]||(e[15]=[a("i",{class:"bi bi-x me-2"},null,-1),f("No ",-1)])],2)])):$("",!0)])]),a("div",se,[e[22]||(e[22]=a("small",{class:"text-muted fw-bold"},"Peer Historical Endpoint Tracking",-1)),a("div",oe,[D(a("input",{class:"form-check-input",disabled:k.value,onChange:e[6]||(e[6]=n=>l("PeerHistoricalEndpointTracking")),type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=n=>i.configuration.Info.PeerHistoricalEndpointTracking=n),id:i.configuration.Name+"_historicalEndpoint_tracking"},null,40,re),[[N,i.configuration.Info.PeerHistoricalEndpointTracking]]),a("label",{class:"form-check-label",for:i.configuration.Name+"_historicalEndpoint_tracking"},h(i.configuration.Info.PeerHistoricalEndpointTracking?"On":"Off"),9,le)]),e[23]||(e[23]=a("hr",null,null,-1)),a("div",de,[a("div",null,[a("h6",ce,[f(h(b.value.HistoricalTrackingTableSize)+" ",1),a("span",ue,[d(g,{t:"Records"})])])]),u.value!=="HistoricalTrackingTable"?(s(),c("div",ge,[a("button",{onClick:e[8]||(e[8]=n=>T("HistoricalTrackingTable")),class:y([{disabled:o.value==="HistoricalTrackingTable"},"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3"])},[e[18]||(e[18]=a("i",{class:"bi bi-download me-2"},null,-1)),d(g,{t:o.value==="HistoricalTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[9]||(e[9]=n=>u.value="HistoricalTrackingTable")},[...e[19]||(e[19]=[a("i",{class:"bi bi-trash me-2"},null,-1),f("Delete ",-1)])])])):u.value==="HistoricalTrackingTable"?(s(),c("div",fe,[a("small",null,[d(g,{t:"Are you sure to delete?"})]),a("button",{class:y(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:p.value}]),onClick:e[10]||(e[10]=n=>E("HistoricalTrackingTable"))},[...e[20]||(e[20]=[a("i",{class:"bi bi-check me-2"},null,-1),f("Yes ",-1)])],2),a("button",{class:y([{disabled:p.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[11]||(e[11]=n=>u.value="")},[...e[21]||(e[21]=[a("i",{class:"bi bi-x me-2"},null,-1),f("No ",-1)])],2)])):$("",!0)])])])])]))}},be={class:"card"},ke={class:"card-header d-flex align-items-center"},ve={class:"my-2"},Te={class:"form-check form-switch ms-auto"},pe={class:"form-check-label",for:"peerTrackingStatus"},ye={key:0,class:"card-body d-flex flex-column gap-3"},xe={key:0,class:"spinner-border text-body m-auto"},he={__name:"dashboardWireguardConfigurationTracking",setup(i){const x=L(),v=z(),t=m(v.Configuration.WireGuardConfiguration.peer_tracking),b=m(!1),k=m({});I(async()=>{t.value&&await w()});const w=async()=>{await P("/api/getPeerTrackingTableCounts",{},l=>{l.status&&(k.value=l.data),b.value=!0})};return M(t,async l=>{await S("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"peer_tracking",value:l},async o=>{o.status&&(v.newMessage("Server",l?"Peer tracking enabled":"Peer tracking disabled","success"),l&&await w())})}),(l,o)=>(s(),c("div",be,[a("div",ke,[a("h6",ve,[d(g,{t:"Peer Tracking"})]),a("div",Te,[D(a("input",{class:"form-check-input","onUpdate:modelValue":o[0]||(o[0]=T=>t.value=T),type:"checkbox",role:"switch",id:"peerTrackingStatus"},null,512),[[N,t.value]]),a("label",pe,[t.value?(s(),_(g,{key:0,t:"Enabled"})):(s(),_(g,{key:1,t:"Disabled"}))])])]),t.value?(s(),c("div",ye,[b.value?(s(!0),c(U,{key:1},A(j(x).Configurations,T=>(s(),_(me,{configuration:T,trackingData:k.value},null,8,["configuration","trackingData"]))),256)):(s(),c("div",xe))])):$("",!0)]))}},we={class:"d-flex gap-3 flex-column"},Ne=G({__name:"wireguardConfigurationSettings",setup(i){return(x,v)=>(s(),c("div",we,[d(B,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),d(O),d(he)]))}});export{Ne as default};
|