mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-10-02 23:36:17 +00:00
3 lines
36 KiB
JavaScript
3 lines
36 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/peerAssignModal-B4d2liOl.js","assets/localeText-C7TZPgfG.js","assets/index-Lcd4HoNp.js","assets/index-Ct7n09eO.css","assets/peerAssignModal--_bmFbmn.css","assets/peerShareLinkModal-XX3PHUUA.js","assets/dayjs.min-DcugTqrD.js","assets/vue-datepicker-l5mok7Lj.js","assets/peerShareLinkModal-DgDHiTOw.css","assets/peerJobs-DIbuWsng.js","assets/schedulePeerJob-CJvAWD3F.js","assets/schedulePeerJob-BGJSEouo.css","assets/peerJobs-D_dDl936.css","assets/peerQRCode-IzE-S4dW.js","assets/browser-CjSdxGTc.js","assets/peerQRCode-DuWWfBch.css","assets/peerConfigurationFile-CQ_uxDXw.js","assets/peerConfigurationFile-Z9ms5mIx.css","assets/peerSettings-DRV4SDCv.js","assets/peerSettings-CSjO_Okh.css","assets/peerSearchBar-D4QWe81H.js","assets/peerSearchBar-0uWV_0iv.css","assets/peerJobsAllModal-vEzsRhcE.js","assets/peerJobsLogsModal-D0tuA9Cl.js","assets/editConfiguration-C8vjjSFS.js","assets/editConfiguration-ChlGwssr.css","assets/selectPeers-Buxy5KVP.js","assets/selectPeers-ChWyERy7.css","assets/peerAddModal-8qG5imNf.js","assets/peerAddModal-B4gIHs91.css"])))=>i.map(i=>d[i]);
|
|
import{r as M,J as le,D as G,o as ie,H as Y,x as te,q as T,c as v,f as a,a as e,b as i,u as O,d as w,t as S,g as j,_ as z,h as U,F as N,i as H,n as D,z as F,G as R,W as de,K as fe,L as ge,w as B,j as se,e as E,k as $,M as A,T as ee,N as L,O as ve,m as be,v as he,S as _e}from"./index-Lcd4HoNp.js";import{_ as ye}from"./protocolBadge-C7cvuYmV.js";import{L as k}from"./localeText-C7TZPgfG.js";import{C as we,L as Se,B as Pe,a as $e,b as xe,c as Ce,p as ke,d as Oe,e as Me,f as De,P as Ae,h as Le,g as ae}from"./index-BT36naa1.js";import{d as Re}from"./dayjs.min-DcugTqrD.js";const Ie={class:"row gx-2 gy-2 mb-3"},Ee={class:"col-12"},Te={class:"card rounded-3 bg-transparent",style:{height:"270px"}},Be={class:"card-header bg-transparent border-0"},Ne={class:"text-muted"},Je={class:"card-body pt-1"},Fe={class:"col-sm col-lg-6"},je={class:"card rounded-3 bg-transparent",style:{height:"270px"}},Ve={class:"card-header bg-transparent border-0 d-flex align-items-center"},Ue={class:"text-muted"},Ge={key:0,class:"text-primary fw-bold ms-auto"},ze={class:"card-body pt-1"},Qe={class:"col-sm col-lg-6"},We={class:"card rounded-3 bg-transparent",style:{height:"270px"}},qe={class:"card-header bg-transparent border-0 d-flex align-items-center"},He={class:"text-muted"},Ke={key:0,class:"text-success fw-bold ms-auto"},Ye={class:"card-body pt-1"},Ze={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(o){we.register(Se,Pe,$e,xe,Ce,ke,Oe,Me,De,Ae);const t=o,n=M({timestamp:[],data:[]}),r=M({timestamp:[],data:[]}),x=le(),y=G(),u=M(void 0),h=async()=>{await j("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:x.params.id},f=>{let _=Re().format("hh:mm:ss A");(f.data.sent!==0&&f.data.recv!==0||n.value.data.length>0&&r.value.data.length>0)&&(n.value.timestamp.push(_),n.value.data.push(f.data.sent),r.value.timestamp.push(_),r.value.data.push(f.data.recv))})},c=()=>{clearInterval(u.value),u.value=void 0,t.configurationInfo.Status&&(u.value=setInterval(()=>{h()},parseInt(y.Configuration.Server.dashboard_refresh_interval)))};ie(()=>{c()}),Y(()=>t.configurationInfo.Status,()=>{c()}),Y(()=>y.Configuration.Server.dashboard_refresh_interval,()=>{c()}),te(()=>{clearInterval(u.value),u.value=void 0});const P=T(()=>{let f=t.configurationPeers.filter(_=>_.cumu_data+_.total_data>0);return{labels:f.map(_=>_.name?_.name:`Untitled Peer - ${_.id}`),datasets:[{label:"Total Data Usage",data:f.map(_=>_.cumu_data+_.total_data),backgroundColor:f.map(_=>"#ffc107"),tooltip:{callbacks:{label:_=>`${_.formattedValue} GB`}}}]}}),g=T(()=>({labels:[...n.value.timestamp],datasets:[{label:"Data Sent",data:[...n.value.data],fill:!1,borderColor:"#198754",backgroundColor:"#198754",tension:0}]})),C=T(()=>({labels:[...r.value.timestamp],datasets:[{label:"Data Received",data:[...r.value.data],fill:!1,borderColor:"#0d6efd",backgroundColor:"#0d6efd",tension:0}]})),l=T(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(f,_)=>`${Math.round((f+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),m=T(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:f=>`${f.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(f,_)=>`${Math.round((f+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(f,_)=>(a(),v("div",Ie,[e("div",Ee,[e("div",Te,[e("div",Be,[e("small",Ne,[i(k,{t:"Peers Data Usage"})])]),e("div",Je,[i(O(Le),{data:P.value,options:l.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",Fe,[e("div",je,[e("div",Ve,[e("small",Ue,[i(k,{t:"Real Time Received Data Usage"})]),r.value.data.length>0?(a(),v("small",Ge,S(r.value.data[r.value.data.length-1])+" MB/s ",1)):w("",!0)]),e("div",ze,[i(O(ae),{options:m.value,data:C.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",Qe,[e("div",We,[e("div",qe,[e("small",He,[i(k,{t:"Real Time Sent Data Usage"})]),n.value.data.length>0?(a(),v("small",Ke,S(n.value.data[n.value.data.length-1])+" MB/s ",1)):w("",!0)]),e("div",Ye,[i(O(ae),{options:m.value,data:g.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},Xe={name:"peerSearch",components:{LocaleText:k},setup(){const o=G(),t=de();return{store:o,wireguardConfigurationStore:t}},props:{configuration:Object},data(){return{sort:{status:R("Status"),name:R("Name"),allowed_ip:R("Allowed IPs"),restricted:R("Restricted")},interval:{5e3:R("5 Seconds"),1e4:R("10 Seconds"),3e4:R("30 Seconds"),6e4:R("1 Minutes")},display:{grid:R("Grid"),list:R("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1}},methods:{debounce(){this.searchStringTimeout?(clearTimeout(this.searchStringTimeout),this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)):this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)},updateSort(o){F("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:o},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(o){F("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:o},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(o){F("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:o},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){j(`/api/downloadAllPeers/${this.configuration.Name}`,{},o=>{o.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(o,this.configuration.Name)})}}},et={class:"d-flex flex-column gap-2 my-4"},tt={class:"d-flex gap-2 peerSearchContainer"},st={class:"dropdown"},ot={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},nt={class:"badge text-bg-primary ms-2"},at={class:"dropdown-menu rounded-3"},rt=["onClick"],lt={class:"ms-auto"},it={key:0,class:"bi bi-check-circle-fill"},dt={class:"dropdown"},ut={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},ct={class:"badge text-bg-primary ms-2"},mt={class:"dropdown-menu rounded-3"},pt=["onClick"],ft={class:"ms-auto"},gt={key:0,class:"bi bi-check-circle-fill"},vt={class:"dropdown"},bt={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},ht={class:"badge text-bg-primary ms-2"},_t={class:"dropdown-menu rounded-3"},yt=["onClick"],wt={class:"ms-auto"},St={key:0,class:"bi bi-check-circle-fill"};function Pt(o,t,n,r,x,y){const u=U("LocaleText");return a(),v("div",et,[e("div",tt,[e("div",st,[e("button",ot,[t[4]||(t[4]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),i(u,{t:"Sort By"}),e("span",nt,S(this.sort[r.store.Configuration.Server.dashboard_sort]),1)]),e("ul",at,[(a(!0),v(N,null,H(this.sort,(h,c)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:P=>this.updateSort(c)},[e("small",null,S(h),1),e("small",lt,[r.store.Configuration.Server.dashboard_sort===c?(a(),v("i",it)):w("",!0)])],8,rt)]))),256))])]),e("div",dt,[e("button",ut,[t[5]||(t[5]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),i(u,{t:"Refresh Interval"}),e("span",ct,S(this.interval[r.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",mt,[(a(!0),v(N,null,H(this.interval,(h,c)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:P=>this.updateRefreshInterval(c)},[e("small",null,S(h),1),e("small",ft,[r.store.Configuration.Server.dashboard_refresh_interval===c?(a(),v("i",gt)):w("",!0)])],8,pt)]))),256))])]),e("div",vt,[e("button",bt,[e("i",{class:D(["bi me-2","bi-"+r.store.Configuration.Server.dashboard_peer_list_display])},null,2),i(u,{t:"Display"}),e("span",ht,S(this.display[r.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",_t,[(a(!0),v(N,null,H(this.display,(h,c)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:P=>this.updateDisplay(c)},[e("small",null,S(h),1),e("small",wt,[r.store.Configuration.Server.dashboard_peer_list_display===c?(a(),v("i",St)):w("",!0)])],8,yt)]))),256))])]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[0]||(t[0]=h=>this.$emit("search"))},[t[6]||(t[6]=e("i",{class:"bi bi-search me-2"},null,-1)),i(u,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[1]||(t[1]=h=>this.downloadAllPeer())},[t[7]||(t[7]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),i(u,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[2]||(t[2]=h=>this.$emit("selectPeers"))},[t[8]||(t[8]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),i(u,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[3]||(t[3]=h=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[9]||(t[9]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),i(u,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const $t=z(Xe,[["render",Pt],["__scopeId","data-v-c96b078a"]]);function xt(o){return fe()?(ge(o),!0):!1}function ue(o){return typeof o=="function"?o():O(o)}const ce=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ct=Object.prototype.toString,kt=o=>Ct.call(o)==="[object Object]",K=()=>{},Ot=Mt();function Mt(){var o,t;return ce&&((o=window?.navigator)==null?void 0:o.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function V(o){var t;const n=ue(o);return(t=n?.$el)!=null?t:n}const me=ce?window:void 0;function X(...o){let t,n,r,x;if(typeof o[0]=="string"||Array.isArray(o[0])?([n,r,x]=o,t=me):[t,n,r,x]=o,!t)return K;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const y=[],u=()=>{y.forEach(g=>g()),y.length=0},h=(g,C,l,m)=>(g.addEventListener(C,l,m),()=>g.removeEventListener(C,l,m)),c=Y(()=>[V(t),ue(x)],([g,C])=>{if(u(),!g)return;const l=kt(C)?{...C}:C;y.push(...n.flatMap(m=>r.map(f=>h(g,m,f,l))))},{immediate:!0,flush:"post"}),P=()=>{c(),u()};return xt(P),P}let re=!1;function Dt(o,t,n={}){const{window:r=me,ignore:x=[],capture:y=!0,detectIframe:u=!1}=n;if(!r)return K;Ot&&!re&&(re=!0,Array.from(r.document.body.children).forEach(l=>l.addEventListener("click",K)),r.document.documentElement.addEventListener("click",K));let h=!0;const c=l=>x.some(m=>{if(typeof m=="string")return Array.from(r.document.querySelectorAll(m)).some(f=>f===l.target||l.composedPath().includes(f));{const f=V(m);return f&&(l.target===f||l.composedPath().includes(f))}}),g=[X(r,"click",l=>{const m=V(o);if(!(!m||m===l.target||l.composedPath().includes(m))){if(l.detail===0&&(h=!c(l)),!h){h=!0;return}t(l)}},{passive:!0,capture:y}),X(r,"pointerdown",l=>{const m=V(o);h=!c(l)&&!!(m&&!l.composedPath().includes(m))},{passive:!0}),u&&X(r,"blur",l=>{setTimeout(()=>{var m;const f=V(o);((m=r.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!f?.contains(r.document.activeElement)&&t(l)},0)})].filter(Boolean);return()=>g.forEach(l=>l())}const At={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},Lt={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(o,{emit:t}){const n=t,r=M(!1);return(x,y)=>(a(),v("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:y[0]||(y[0]=u=>r.value=!0),onMouseleave:y[1]||(y[1]=u=>r.value=!1),onClick:y[2]||(y[2]=u=>n("click"))},[e("i",{class:D(["me-auto bi",o.icon])},null,2),i(se,{name:"zoomReversed"},{default:B(()=>[r.value?(a(),v("span",At,[e("small",null,[i(k,{t:o.title},null,8,["t"])])])):w("",!0)]),_:1})],32))}},Rt=z(Lt,[["__scopeId","data-v-d4e41a56"]]),It={name:"peerSettingsDropdown",components:{PeerSettingsDropdownTool:Rt,LocaleText:k},setup(){return{dashboardStore:G()}},props:{Peer:Object},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1}},methods:{downloadPeer(){j("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},o=>{if(o.status){const t=new Blob([o.data.file],{type:"text/plain"}),n=URL.createObjectURL(t),r=`${o.data.fileName}.conf`,x=document.createElement("a");x.href=n,x.download=r,x.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",o.message,"danger")})},downloadQRCode(o){j("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(o,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,F(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,F(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,F(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},Et={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},Tt={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},Bt={class:"text-body d-flex"},Nt={class:"ms-auto"},Jt={key:1},Ft={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},jt={key:2},Vt={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},Ut={key:1,class:"confirmDelete"},Gt={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},zt={class:"d-flex w-100 gap-2"},Qt=["disabled"],Wt=["disabled"],qt={key:1};function Ht(o,t,n,r,x,y){const u=U("LocaleText"),h=U("PeerSettingsDropdownTool");return a(),v("ul",Et,[this.Peer.restricted?(a(),v("li",qt,[e("a",{class:D(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[11]||(t[11]=c=>this.allowAccessPeer()),role:"button"},[t[25]||(t[25]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(a(),$(u,{key:1,t:"Allowing Access..."})):(a(),$(u,{key:0,t:"Allow Access"}))],2)])):(a(),v(N,{key:0},[this.confirmDelete?(a(),v("li",Ut,[e("p",Gt,[i(u,{t:"Are you sure to delete this peer?"})]),e("div",zt,[e("button",{onClick:t[9]||(t[9]=c=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[i(u,{t:"Yes"})],8,Qt),e("button",{disabled:this.deleteBtnDisabled,onClick:t[10]||(t[10]=c=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[i(u,{t:"No"})],8,Wt)])])):(a(),v(N,{key:0},[this.Peer.status==="running"?(a(),v(N,{key:0},[e("li",Tt,[e("span",Bt,[t[12]||(t[12]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",Nt,S(this.Peer.endpoint),1)])]),t[13]||(t[13]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):w("",!0),this.Peer.private_key?(a(),v("li",jt,[t[14]||(t[14]=e("div",{class:"text-center text-muted"},null,-1)),e("div",Vt,[i(h,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=c=>this.downloadPeer())}),i(h,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=c=>this.$emit("qrcode"))}),i(h,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=c=>this.$emit("configurationFile"))}),i(h,{icon:"bi-share",title:"Share Peer",onClick:t[3]||(t[3]=c=>this.$emit("share"))})])])):(a(),v("li",Jt,[e("small",Ft,[i(u,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[23]||(t[23]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=c=>this.$emit("setting"))},[t[15]||(t[15]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[16]||(t[16]=E()),i(u,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=c=>this.$emit("jobs"))},[t[17]||(t[17]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[18]||(t[18]=E()),i(u,{t:"Schedule Jobs"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[6]||(t[6]=c=>this.$emit("assign"))},[t[19]||(t[19]=e("i",{class:"me-auto bi bi-diagram-2"},null,-1)),t[20]||(t[20]=E()),i(u,{t:"Assign Peer"})])]),t[24]||(t[24]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:D(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[7]||(t[7]=c=>this.restrictPeer()),role:"button"},[t[21]||(t[21]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(a(),$(u,{key:1,t:"Restricting..."})):(a(),$(u,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:D(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[8]||(t[8]=c=>this.confirmDelete=!0),role:"button"},[t[22]||(t[22]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(a(),$(u,{key:1,t:"Deleting..."})):(a(),$(u,{key:0,t:"Delete"}))],2)])],64))],64))])}const Kt=z(It,[["render",Ht],["__scopeId","data-v-d636c35d"]]),Yt={name:"peer",methods:{GetLocale:R},components:{LocaleText:k,PeerSettingsDropdown:Kt},props:{Peer:Object},data(){return{}},setup(){const o=M(null),t=M(!1),n=G();return Dt(o,r=>{t.value=!1}),{target:o,subMenuOpened:t,dashboardStore:n}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake}}},Zt={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},Xt={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},es={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},ts={class:"text-primary"},ss={class:"text-success"},os={key:0,class:"text-secondary"},ns={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},as={class:"card-body pt-1",style:{"font-size":"0.9rem"}},rs={class:"text-muted"},ls={class:"d-block"},is={class:"text-muted"},ds={class:"d-block"},us={class:"d-flex align-items-end ms-auto"};function cs(o,t,n,r,x,y){const u=U("LocaleText"),h=U("PeerSettingsDropdown");return a(),v("div",{class:D(["card shadow-sm rounded-3 peerCard",{"border-warning":n.Peer.restricted}])},[e("div",null,[n.Peer.restricted?(a(),v("div",ns,[t[14]||(t[14]=e("i",{class:"bi-lock-fill me-2"},null,-1)),i(u,{t:"Access Restricted"})])):(a(),v("div",Zt,[e("div",{class:D(["dot ms-0",{active:n.Peer.status==="running"}])},null,2),r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&n.Peer.status==="running"?(a(),v("div",Xt,[t[8]||(t[8]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,S(n.Peer.endpoint),1)])):w("",!0),e("div",es,[e("span",ts,[t[9]||(t[9]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,S((n.Peer.cumu_receive+n.Peer.total_receive).toFixed(4)),1),t[10]||(t[10]=E(" GB "))]),e("span",ss,[t[11]||(t[11]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,S((n.Peer.cumu_sent+n.Peer.total_sent).toFixed(4)),1),t[12]||(t[12]=E(" GB "))]),n.Peer.latest_handshake!=="No Handshake"?(a(),v("span",os,[t[13]||(t[13]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),E(" "+S(y.getLatestHandshake)+" ago ",1)])):w("",!0)])]))]),e("div",as,[e("h6",null,S(n.Peer.name?n.Peer.name:y.GetLocale("Untitled Peer")),1),e("div",{class:D(["d-flex",[r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:D({"d-flex gap-2 align-items-center":r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",rs,[i(u,{t:"Public Key"})]),e("small",ls,[e("samp",null,S(n.Peer.id),1)])],2),e("div",{class:D({"d-flex gap-2 align-items-center":r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",is,[i(u,{t:"Allowed IPs"})]),e("small",ds,[e("samp",null,S(n.Peer.allowed_ip),1)])],2),e("div",us,[e("div",{class:D(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=c=>this.subMenuOpened=!0)},t[15]||(t[15]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])),i(se,{name:"slide-fade"},{default:B(()=>[this.subMenuOpened?(a(),$(h,{key:0,onQrcode:t[1]||(t[1]=c=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=c=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=c=>this.$emit("setting")),onJobs:t[4]||(t[4]=c=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=c=>this.$emit("refresh")),onShare:t[6]||(t[6]=c=>this.$emit("share")),onAssign:t[7]||(t[7]=c=>this.$emit("assign")),Peer:n.Peer,ref:"target"},null,8,["Peer"])):w("",!0)]),_:1})],2)])],2)])],2)}const ms=z(Yt,[["render",cs],["__scopeId","data-v-d500f94d"]]),ps={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(o,{emit:t}){const n=t,r=A(()=>L(()=>import("./peerAssignModal-B4d2liOl.js"),__vite__mapDeps([0,1,2,3,4]))),x=A(()=>L(()=>import("./peerShareLinkModal-XX3PHUUA.js"),__vite__mapDeps([5,2,3,6,7,1,8]))),y=A(()=>L(()=>import("./peerJobs-DIbuWsng.js"),__vite__mapDeps([9,10,2,3,7,6,1,11,12]))),u=A(()=>L(()=>import("./peerQRCode-IzE-S4dW.js"),__vite__mapDeps([13,14,1,2,3,15]))),h=A(()=>L(()=>import("./peerConfigurationFile-CQ_uxDXw.js"),__vite__mapDeps([16,2,3,1,14,17]))),c=A(()=>L(()=>import("./peerSettings-DRV4SDCv.js"),__vite__mapDeps([18,2,3,1,19])));return(P,g)=>(a(),$(ee,{name:"zoom"},{default:B(()=>[o.configurationModals.peerSetting.modalOpen?(a(),$(O(c),{key:"PeerSettingsModal",selectedPeer:o.configurationModalSelectedPeer,onRefresh:g[0]||(g[0]=C=>n("refresh")),onClose:g[1]||(g[1]=C=>o.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerQRCode.modalOpen?(a(),$(O(u),{key:"PeerQRCodeModal",selectedPeer:o.configurationModalSelectedPeer,onClose:g[2]||(g[2]=C=>o.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerScheduleJobs.modalOpen?(a(),$(O(y),{key:"PeerJobsModal",onRefresh:g[3]||(g[3]=C=>n("refresh")),selectedPeer:o.configurationModalSelectedPeer,onClose:g[4]||(g[4]=C=>o.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerShare.modalOpen?(a(),$(O(x),{key:"PeerShareLinkModal",onClose:g[5]||(g[5]=C=>{o.configurationModals.peerShare.modalOpen=!1}),selectedPeer:o.configurationModalSelectedPeer},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerConfigurationFile.modalOpen?(a(),$(O(h),{key:4,onClose:g[6]||(g[6]=C=>o.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:o.configurationModalSelectedPeer},null,8,["selectedPeer"])):w("",!0),o.configurationModals.assignPeer.modalOpen?(a(),$(O(r),{key:5,selectedPeer:o.configurationModalSelectedPeer,onClose:g[7]||(g[7]=C=>o.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0)]),_:1}))}},fs={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},gs={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(o,{emit:t}){const n=M(void 0),r=t;return ie(()=>{n.value=new IntersectionObserver(x=>{x.forEach(y=>{y.isIntersecting&&r("loadMore")})},{rootMargin:"20px",threshold:1}),n.value.observe(document.querySelector("#loadMore"))}),te(()=>{n.value.disconnect()}),(x,y)=>(a(),v("div",fs))}},vs={class:"container-fluid"},bs={class:"d-flex align-items-sm-center flex-column flex-sm-row gap-3"},hs={class:"text-muted d-flex align-items-center gap-2"},_s={class:"mb-0"},ys={class:"d-flex align-items-center gap-3"},ws={class:"mb-0 display-4"},Ss={class:"ms-sm-auto d-flex gap-2 flex-column"},Ps={class:"card rounded-3 bg-transparent"},$s={class:"card-body py-2 d-flex align-items-center"},xs={class:"text-muted"},Cs={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},ks=["for"],Os={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},Ms=["disabled","id"],Ds={class:"d-flex gap-2"},As={class:"row mt-3 gy-2 gx-2 mb-2"},Ls={class:"col-12 col-lg-3"},Rs={class:"card rounded-3 bg-transparent h-100"},Is={class:"card-body py-2 d-flex flex-column justify-content-center"},Es={class:"mb-0 text-muted"},Ts={class:"col-12 col-lg-3"},Bs={class:"card rounded-3 bg-transparent h-100"},Ns={class:"card-body py-2 d-flex flex-column justify-content-center"},Js={class:"mb-0 text-muted"},Fs={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},js={class:"card rounded-3 bg-transparent h-100"},Vs={class:"card-body py-2 d-flex flex-column justify-content-center"},Us={class:"mb-0 text-muted"},Gs={class:"row gx-2 gy-2 mb-2"},zs={class:"col-12 col-lg-3"},Qs={class:"card rounded-3 bg-transparent h-100"},Ws={class:"card-body d-flex"},qs={class:"mb-0 text-muted"},Hs={class:"h4"},Ks={class:"col-12 col-lg-3"},Ys={class:"card rounded-3 bg-transparent h-100"},Zs={class:"card-body d-flex"},Xs={class:"mb-0 text-muted"},eo={class:"h4"},to={class:"col-12 col-lg-3"},so={class:"card rounded-3 bg-transparent h-100"},oo={class:"card-body d-flex"},no={class:"mb-0 text-muted"},ao={class:"h4 text-primary"},ro={class:"col-12 col-lg-3"},lo={class:"card rounded-3 bg-transparent h-100"},io={class:"card-body d-flex"},uo={class:"mb-0 text-muted"},co={class:"h4 text-success"},mo={style:{"margin-bottom":"80px"}},po=20,fo={__name:"peerList",async setup(o){let t,n;const r=A(()=>L(()=>import("./peerSearchBar-D4QWe81H.js"),__vite__mapDeps([20,2,3,1,21]))),x=A(()=>L(()=>import("./peerJobsAllModal-vEzsRhcE.js"),__vite__mapDeps([22,10,2,3,7,6,1,11]))),y=A(()=>L(()=>import("./peerJobsLogsModal-D0tuA9Cl.js"),__vite__mapDeps([23,6,2,3,1]))),u=A(()=>L(()=>import("./editConfiguration-C8vjjSFS.js"),__vite__mapDeps([24,2,3,1,6,25]))),h=A(()=>L(()=>import("./selectPeers-Buxy5KVP.js"),__vite__mapDeps([26,2,3,1,27]))),c=A(()=>L(()=>import("./peerAddModal-8qG5imNf.js"),__vite__mapDeps([28,2,3,1,29]))),P=G(),g=de(),C=le(),l=M({}),m=M([]),f=M(!1),_=M({}),b=M({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1},assignPeer:{modalOpen:!1}}),Z=M(!1),I=async()=>{await j("/api/getWireguardConfigurationInfo",{configurationName:C.params.id},p=>{p.status&&(l.value=p.data.configurationInfo,m.value=p.data.configurationPeers,m.value.forEach(s=>{s.restricted=!1}),p.data.configurationRestrictedPeers.forEach(s=>{s.restricted=!0,m.value.push(s)}))})};[t,n]=ve(()=>I()),await t,n();const Q=M(void 0),oe=()=>{clearInterval(Q.value),Q.value=setInterval(async()=>{await I()},parseInt(P.Configuration.Server.dashboard_refresh_interval))};oe(),te(()=>{clearInterval(Q.value),Q.value=void 0}),Y(()=>P.Configuration.Server.dashboard_refresh_interval,()=>{oe()});const pe=async()=>{f.value=!0,await j("/api/toggleWireguardConfiguration",{configurationName:l.value.Name},p=>{p.status?P.newMessage("Server",`${l.value.Name} ${p.data?"is on":"is off"}`,"success"):P.newMessage("Server",p.message,"danger"),g.Configurations.find(s=>s.Name===l.value.Name).Status=p.data,l.value.Status=p.data,f.value=!1})},W=T(()=>({connectedPeers:m.value.filter(p=>p.status==="running").length,totalUsage:m.value.length>0?m.value.filter(p=>!p.restricted).map(p=>p.total_data+p.cumu_data).reduce((p,s)=>p+s,0).toFixed(4):0,totalReceive:m.value.length>0?m.value.filter(p=>!p.restricted).map(p=>p.total_receive+p.cumu_receive).reduce((p,s)=>p+s,0).toFixed(4):0,totalSent:m.value.length>0?m.value.filter(p=>!p.restricted).map(p=>p.total_sent+p.cumu_sent).reduce((p,s)=>p+s,0).toFixed(4):0})),q=M(10),ne=T(()=>{const p=g.searchString?m.value.filter(s=>s.name.includes(g.searchString)||s.id.includes(g.searchString)||s.allowed_ip.includes(g.searchString)):m.value;return P.Configuration.Server.dashboard_sort==="restricted"?p.sort((s,d)=>s[P.Configuration.Server.dashboard_sort]<d[P.Configuration.Server.dashboard_sort]?1:s[P.Configuration.Server.dashboard_sort]>d[P.Configuration.Server.dashboard_sort]?-1:0).slice(0,q.value):p.sort((s,d)=>s[P.Configuration.Server.dashboard_sort]<d[P.Configuration.Server.dashboard_sort]?-1:s[P.Configuration.Server.dashboard_sort]>d[P.Configuration.Server.dashboard_sort]?1:0).slice(0,q.value)});return(p,s)=>(a(),v("div",vs,[e("div",bs,[e("div",null,[e("div",hs,[e("h5",_s,[i(ye,{protocol:l.value.Protocol},null,8,["protocol"])])]),e("div",ys,[e("h1",ws,[e("samp",null,S(l.value.Name),1)])])]),e("div",Ss,[e("div",Ps,[e("div",$s,[e("small",xs,[i(k,{t:"Status"})]),e("div",{class:D(["dot ms-2",{active:l.value.Status}])},null,2),e("div",Cs,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+l.value.id},[l.value.Status&&!f.value?(a(),$(k,{key:0,t:"On"})):!l.value.Status&&!f.value?(a(),$(k,{key:1,t:"Off"})):w("",!0),f.value?(a(),v("span",Os)):w("",!0)],8,ks),be(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:f.value,type:"checkbox",role:"switch",id:"switch"+l.value.id,onChange:s[0]||(s[0]=d=>pe()),"onUpdate:modelValue":s[1]||(s[1]=d=>l.value.Status=d)},null,40,Ms),[[he,l.value.Status]])])])]),e("div",Ds,[e("a",{role:"button",onClick:s[2]||(s[2]=d=>b.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[s[29]||(s[29]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),i(k,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:s[3]||(s[3]=d=>b.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[s[30]||(s[30]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),i(k,{t:"Configuration Settings"})])])])]),s[35]||(s[35]=e("hr",null,null,-1)),e("div",As,[e("div",Ls,[e("div",Rs,[e("div",Is,[e("p",Es,[e("small",null,[i(k,{t:"Address"})])]),E(" "+S(l.value.Address),1)])])]),e("div",Ts,[e("div",Bs,[e("div",Ns,[e("p",Js,[e("small",null,[i(k,{t:"Listen Port"})])]),E(" "+S(l.value.ListenPort),1)])])]),e("div",Fs,[e("div",js,[e("div",Vs,[e("p",Us,[e("small",null,[i(k,{t:"Public Key"})])]),e("samp",null,S(l.value.PublicKey),1)])])])]),e("div",Gs,[e("div",zs,[e("div",Qs,[e("div",Ws,[e("div",null,[e("p",qs,[e("small",null,[i(k,{t:"Connected Peers"})])]),e("strong",Hs,S(W.value.connectedPeers)+" / "+S(m.value.length),1)]),s[31]||(s[31]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",Ks,[e("div",Ys,[e("div",Zs,[e("div",null,[e("p",Xs,[e("small",null,[i(k,{t:"Total Usage"})])]),e("strong",eo,S(W.value.totalUsage)+" GB",1)]),s[32]||(s[32]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",to,[e("div",so,[e("div",oo,[e("div",null,[e("p",no,[e("small",null,[i(k,{t:"Total Received"})])]),e("strong",ao,S(W.value.totalReceive)+" GB",1)]),s[33]||(s[33]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",ro,[e("div",lo,[e("div",io,[e("div",null,[e("p",uo,[e("small",null,[i(k,{t:"Total Sent"})])]),e("strong",co,S(W.value.totalSent)+" GB",1)]),s[34]||(s[34]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),i(Ze,{configurationPeers:m.value,configurationInfo:l.value},null,8,["configurationPeers","configurationInfo"]),s[36]||(s[36]=e("hr",null,null,-1)),e("div",mo,[m.value.length>0?(a(),$($t,{key:0,onSearch:s[4]||(s[4]=d=>Z.value=!0),onJobsAll:s[5]||(s[5]=d=>b.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:s[6]||(s[6]=d=>b.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:s[7]||(s[7]=d=>b.value.editConfiguration.modalOpen=!0),onSelectPeers:s[8]||(s[8]=d=>b.value.selectPeers.modalOpen=!0),onBackupRestore:s[9]||(s[9]=d=>b.value.backupRestore.modalOpen=!0),onDeleteConfiguration:s[10]||(s[10]=d=>b.value.deleteConfiguration.modalOpen=!0),configuration:l.value},null,8,["configuration"])):w("",!0),i(ee,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:B(()=>[(a(!0),v(N,null,H(ne.value,d=>(a(),v("div",{class:D(["col-12",{"col-lg-6 col-xl-4":O(P).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:d.id},[i(ms,{Peer:d,onShare:J=>{b.value.peerShare.modalOpen=!0,_.value=d},onRefresh:s[11]||(s[11]=J=>I()),onJobs:J=>{b.value.peerScheduleJobs.modalOpen=!0,_.value=d},onSetting:J=>{b.value.peerSetting.modalOpen=!0,_.value=d},onQrcode:J=>{_.value=d,b.value.peerQRCode.modalOpen=!0},onConfigurationFile:J=>{_.value=d,b.value.peerConfigurationFile.modalOpen=!0},onAssign:J=>{_.value=d,b.value.assignPeer.modalOpen=!0}},null,8,["Peer","onShare","onJobs","onSetting","onQrcode","onConfigurationFile","onAssign"])],2))),128))]),_:1})]),i(se,{name:"slideUp"},{default:B(()=>[Z.value?(a(),$(O(r),{key:0,onClose:s[12]||(s[12]=d=>Z.value=!1)})):w("",!0)]),_:1}),i(ps,{configurationModals:b.value,configurationModalSelectedPeer:_.value,onRefresh:s[13]||(s[13]=d=>I())},null,8,["configurationModals","configurationModalSelectedPeer"]),i(ee,{name:"zoom"},{default:B(()=>[(a(),$(_e,{key:"PeerAddModal"},{default:B(()=>[b.value.peerNew.modalOpen?(a(),$(O(c),{key:0,onClose:s[14]||(s[14]=d=>b.value.peerNew.modalOpen=!1),onAddedPeers:s[15]||(s[15]=d=>{b.value.peerNew.modalOpen=!1,I()})})):w("",!0)]),_:1})),b.value.peerScheduleJobsAll.modalOpen?(a(),$(O(x),{key:"PeerJobsAllModal",onRefresh:s[16]||(s[16]=d=>I()),onAllLogs:s[17]||(s[17]=d=>b.value.peerScheduleJobsLogs.modalOpen=!0),onClose:s[18]||(s[18]=d=>b.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:m.value},null,8,["configurationPeers"])):w("",!0),b.value.peerScheduleJobsLogs.modalOpen?(a(),$(O(y),{key:"PeerJobsLogsModal",onClose:s[19]||(s[19]=d=>b.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:l.value},null,8,["configurationInfo"])):w("",!0),b.value.editConfiguration.modalOpen?(a(),$(O(u),{key:"EditConfigurationModal",onEditRaw:s[20]||(s[20]=d=>b.value.editRawConfigurationFile.modalOpen=!0),onClose:s[21]||(s[21]=d=>b.value.editConfiguration.modalOpen=!1),onDataChanged:s[22]||(s[22]=d=>l.value=d),onRefresh:s[23]||(s[23]=d=>I()),onBackupRestore:s[24]||(s[24]=d=>b.value.backupRestore.modalOpen=!0),onDeleteConfiguration:s[25]||(s[25]=d=>b.value.deleteConfiguration.modalOpen=!0),configurationInfo:l.value},null,8,["configurationInfo"])):w("",!0),b.value.selectPeers.modalOpen?(a(),$(O(h),{key:3,onRefresh:s[26]||(s[26]=d=>I()),configurationPeers:m.value,onClose:s[27]||(s[27]=d=>b.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):w("",!0)]),_:1}),i(gs,{showPeersCount:q.value,peerListLength:ne.value.length,onLoadMore:s[28]||(s[28]=d=>q.value+=po)},null,8,["showPeersCount","peerListLength"])]))}},yo=z(fo,[["__scopeId","data-v-f74f78f2"]]);export{yo as default};
|