mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-12-20 02:16:18 +00:00
2 lines
7.8 KiB
JavaScript
2 lines
7.8 KiB
JavaScript
import{D as B,a as O}from"./dashboardSettingsWireguardConfigurationAutostart-CRcFWjhV.js";import{r as g,E as V,o as I,D as z,c,f as s,a,t as w,m as D,v as N,d as $,e as m,b as d,n as y,z as S,g as P,W as L,H as M,j as _,F as U,i as j,u as A,B as G}from"./index-DgPLd1By.js";import{L as f}from"./localeText-Uv86E0oA.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=g({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0});g(!1);const k=g(!1);[x,v]=V(()=>I(async()=>{b.value=t.trackingData[t.configuration.Name]})),await x,v();const h=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=g(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=g(""),p=g(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 h(),p.value=!1,u.value=""})};return(r,e)=>(s(),c("div",F,[a("div",Y,w(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"},w(i.configuration.Info.PeerTrafficTracking?"On":"Off"),9,Z)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",ee,[a("h6",ae,[m(w(b.value.TrafficTrackingTableSize)+" ",1),a("span",te,[d(f,{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(f,{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),m("Delete ",-1)])])])):u.value==="TrafficTrackingTable"?(s(),c("div",ie,[a("small",null,[d(f,{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),m("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),m("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"},w(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,[m(w(b.value.HistoricalTrackingTableSize)+" ",1),a("span",ue,[d(f,{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(f,{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),m("Delete ",-1)])])])):u.value==="HistoricalTrackingTable"?(s(),c("div",fe,[a("small",null,[d(f,{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),m("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),m("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"},we={__name:"dashboardWireguardConfigurationTracking",setup(i){const x=L(),v=z(),t=g(v.Configuration.WireGuardConfiguration.peer_tracking),b=g(!1),k=g({});I(async()=>{t.value&&await h()});const h=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 h())})}),(l,o)=>(s(),c("div",be,[a("div",ke,[a("h6",ve,[d(f,{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(),_(f,{key:0,t:"Enabled"})):(s(),_(f,{key:1,t:"Disabled"}))])])]),t.value?(s(),c("div",ye,[b.value?(s(!0),c(U,{key:1},j(A(x).Configurations,T=>(s(),_(me,{configuration:T,trackingData:k.value},null,8,["configuration","trackingData"]))),256)):(s(),c("div",xe))])):$("",!0)]))}},he={class:"d-flex gap-3 flex-column"},Ne=G({__name:"wireguardConfigurationSettings",setup(i){return(x,v)=>(s(),c("div",he,[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(we)]))}});export{Ne as default};
|