Files
clash-for-linux/dashboard/public/_nuxt/vESnrIlh.js
wnlen eb4a01c1f6 ui
2026-01-18 23:48:32 +08:00

1 line
21 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import"./BE9s5YKM.js";import{$ as e,B as t,C as n,D as r,Dt as i,E as a,Et as o,G as s,H as c,I as l,J as u,K as d,Mt as f,N as p,Ot as m,Q as h,S as g,U as _,V as v,W as y,at as b,ct as x,dt as S,ft as C,it as w,kt as T,lt as E,ot as D,pt as O,q as k,rt as A,st as j,ut as M,x as N,yt as P}from"./B7rlnwkb.js";import{h as F}from"./_v7-ePgP.js";import{t as I}from"./CdlJ_YxQ.js";import{t as L}from"./83RCacat.js";import{D as R,M as z,R as B,S as ee,T as V,_ as te,b as H,f as U,i as ne,j as W,u as G,v as K,w as re,y as ie,z as q}from"./ZxKQ9y5G.js";import{a as ae,i as J,n as Y,o as X,r as Z}from"./z4Bt3ftW.js";import{t as Q}from"./KAQ4TgpA.js";import{g as $,v as oe}from"./BO5M1c2D.js";import{n as se,t as ce}from"./CcIdf__h.js";import{t as le}from"./BLICcaEN.js";import{t as ue}from"./BEgqDXY5.js";import{l as de}from"./BaY9ddW5.js";var fe={class:`flex min-w-0 items-center gap-1 text-sm font-bold whitespace-nowrap uppercase sm:text-xl`},pe=e({__name:`LogoText`,setup(e){let t=n(),r=y(()=>!!t.currentEndpoint);return(e,t)=>{let n=g;return j(),u(`div`,fe,[h(n,{class:`bg-linear-to-br from-primary to-secondary bg-clip-text text-transparent`,to:o(r)?`/`:`/setup`},{default:C(()=>[...t[0]||=[s(`span`,{class:`hidden min-[400px]:inline`},`metacube`,-1),s(`span`,{class:`min-[400px]:hidden`},`mcx`,-1)]]),_:1},8,[`to`]),t[1]||=s(`span`,null,`(`,-1),t[2]||=s(`a`,{class:`text-primary transition-transform hover:scale-125 hover:rotate-90`,href:`https://github.com/metacubex/metacubexd`,target:`_blank`},` xd `,-1),t[3]||=s(`span`,null,`)`,-1)])}}}),me=Object.assign(pe,{__name:`LogoText`}),he={class:`dropdown dropdown-end`},ge={tabindex:`0`,role:`button`,class:`btn btn-circle btn-ghost`,"aria-label":`Change language`},_e={tabindex:`0`,class:`dropdown-content menu z-50 mt-2 w-40 rounded-box bg-base-200 p-2 shadow-lg`},ve=[`onClick`],ye=e({__name:`LangSwitcher`,setup(e){let{locale:t,locales:n,setLocale:r}=N(),a=y(()=>n.value.map(e=>typeof e==`string`?{code:e,name:e}:e));return(e,n)=>(j(),u(`div`,he,[s(`div`,ge,[h(o(H),{size:20})]),s(`ul`,_e,[(j(!0),u(c,null,x(o(a),e=>(j(),u(`li`,{key:e.code},[s(`button`,{class:i({"menu-active":o(t)===e.code}),onClick:t=>o(r)(e.code)},T(e.name),11,ve)]))),128))])]))}}),be=Object.assign(ye,{__name:`LangSwitcher`}),xe=[`data-theme`],Se=[`onClick`],Ce=e({__name:`ThemeSwitcher`,setup(e){let t=I(),n=P(null),r=P(null),a=P(!1),{floatingStyles:l}=Y(n,r,{placement:`top`,middleware:[ae(10),J(),X({padding:8})],whileElementsMounted:Z});function f(){a.value=!a.value}function p(e){t.curTheme=e,document.documentElement.setAttribute(`data-theme`,e),a.value=!1}function g(e){let t=e.target;!n.value?.contains(t)&&!r.value?.contains(t)&&(a.value=!1)}return b(()=>{document.addEventListener(`click`,g)}),D(()=>{document.removeEventListener(`click`,g)}),(e,g)=>(j(),u(`div`,null,[s(`button`,{ref_key:`reference`,ref:n,class:`btn btn-circle btn-sm btn-primary`,onClick:v(f,[`stop`])},[h(o(te))],512),(j(),d(_,{to:`body`},[o(a)?(j(),u(`ul`,{key:0,ref_key:`floating`,ref:r,style:m(o(l)),class:`menu z-70 max-h-64 w-40 flex-nowrap overflow-y-auto rounded-box bg-base-300 p-2 shadow-lg`},[(j(!0),u(c,null,x(o(F),e=>(j(),u(`li`,{key:e,"data-theme":e,class:`rounded-btn`},[s(`button`,{class:i([`btn justify-start btn-xs`,{"btn-active":o(t).curTheme===e}]),onClick:t=>p(e)},T(e),11,Se)],8,xe))),128))],4)):k(``,!0)]))]))}}),we=Object.assign(Ce,{__name:`ThemeSwitcher`}),Te={class:`mx-2 mb-2 overflow-hidden rounded-2xl border border-base-content/10 bg-base-300/90 shadow-lg backdrop-blur-md`},Ee={class:`grid h-16 grid-cols-6`},De={class:`sr-only`},Oe=e({__name:`MobileBottomNav`,props:{navItems:{}},setup(e){let t=p(),n=e=>t.path===e,r=P(!1);b(()=>{a(),window.addEventListener(`resize`,a),requestAnimationFrame(()=>{r.value=!0})}),D(()=>{document.body.style.paddingBottom=`0`,window.removeEventListener(`resize`,a)});function a(){document.body.style.paddingBottom=window.innerWidth<1024?`4.5rem`:`0`}return(t,a)=>{let l=g;return j(),u(`nav`,{"aria-label":`Mobile bottom navigation`,class:i([`fixed inset-x-0 bottom-0 z-50 transform transition-all duration-500 ease-out lg:hidden`,[o(r)?`translate-y-0 opacity-100`:`translate-y-full opacity-0`]])},[s(`div`,Te,[s(`div`,Ee,[(j(!0),u(c,null,x(e.navItems,e=>(j(),d(l,{key:e.href,to:e.href,class:i([`group relative flex flex-col items-center justify-center gap-0.5 transition-all duration-300`,[n(e.href)?`text-primary`:`text-base-content/60 hover:text-base-content active:scale-90`]])},{default:C(()=>[s(`div`,{class:i([`absolute inset-1 rounded-xl transition-all duration-300`,[n(e.href)?`bg-primary/10`:`bg-transparent group-hover:bg-base-content/5`]])},null,2),s(`div`,{class:i([`absolute top-1 h-1 rounded-full bg-primary transition-all duration-300`,[n(e.href)?`w-8 opacity-100`:`w-0 opacity-0`]])},null,2),s(`div`,{class:i([`relative z-10 transition-all duration-300`,[n(e.href)?`scale-110 text-xl`:`scale-100 text-lg group-hover:scale-105`]])},[(j(),d(M(e.icon)))],2),s(`span`,De,T(`Navigate to ${e.name}`),1),s(`span`,{"aria-hidden":`true`,class:i([`relative z-10 text-[10px] font-medium transition-all duration-300`,[n(e.href)?`translate-y-0 opacity-100`:`translate-y-0 opacity-80 group-hover:opacity-100 group-focus-visible:opacity-100`]])},T(e.name),3)]),_:2},1032,[`to`,`class`]))),128))])])],2)}}}),ke=Object.assign(Oe,{__name:`MobileBottomNav`}),Ae={class:`drawer-content flex h-full flex-col`},je={class:`z-50 flex h-14 w-full shrink-0 items-center gap-2 bg-base-300 px-2 shadow-lg sm:px-4 lg:hidden`},Me={key:0,for:`main-drawer`,class:`btn btn-ghost btn-sm`,"aria-label":`open sidebar`},Ne={class:`min-w-0 shrink`},Pe={class:`ml-auto flex shrink-0 items-center gap-1`},Fe={class:`flex min-h-0 flex-1 flex-col p-2 sm:p-4`},Ie={key:0,class:`drawer-side z-60`},Le={class:`flex shrink-0 flex-col gap-2 border-b border-base-content/10 p-3`},Re={class:`menu w-full flex-1 gap-1 px-2`},ze=e({__name:`Sidebar`,setup(e){let n=p(),{t:r}=N(),a=I(),l=y(()=>[{href:`/overview`,name:r(`overview`),icon:ee},{href:`/proxies`,name:r(`proxies`),icon:V},{href:`/rules`,name:r(`rules`),icon:U},{href:`/connections`,name:r(`connections`),icon:K},{href:`/logs`,name:r(`logs`),icon:R},{href:`/config`,name:r(`config`),icon:G}]),f=e=>n.path===e,m=P(null);S(()=>n.path,()=>{m.value&&(m.value.checked=!1)});let _=()=>{a.sidebarExpanded=!a.sidebarExpanded};return(e,p)=>{let v=me,y=be,b=we,S=g,w=Q,D=ke;return j(),u(`div`,{class:i([`drawer h-full`,{"lg:drawer-open":o(n).path!==`/setup`}])},[s(`input`,{id:`main-drawer`,ref_key:`drawerCheckbox`,ref:m,type:`checkbox`,class:`drawer-toggle`},null,512),s(`div`,Ae,[s(`header`,je,[o(n).path!==`/setup`&&!o(a).useMobileBottomNav?(j(),u(`label`,Me,[h(o(ie),{class:`size-5`})])):k(``,!0),s(`div`,Ne,[h(v)]),s(`div`,Pe,[p[0]||=s(`div`,{id:`header-traffic-indicator`,class:`flex items-center`},null,-1),h(y),h(b)])]),s(`div`,Fe,[E(e.$slots,`default`)])]),o(n).path===`/setup`?k(``,!0):(j(),u(`div`,Ie,[p[1]||=s(`label`,{for:`main-drawer`,"aria-label":`close sidebar`,class:`drawer-overlay`},null,-1),s(`div`,{class:i([`flex h-full w-52 flex-col bg-base-200 transition-all duration-300`,o(a).sidebarExpanded?``:`lg:w-16`])},[s(`div`,Le,[s(`div`,{class:i([`flex items-center`,o(a).sidebarExpanded?``:`lg:justify-center`])},[O(h(v,{class:`lg:block`},null,512),[[t,o(a).sidebarExpanded]]),h(v,{class:`lg:hidden`})],2),s(`button`,{class:i([`btn hidden w-full btn-ghost btn-sm lg:flex`,o(a).sidebarExpanded?``:`lg:btn-square`]),onClick:_},[o(a).sidebarExpanded?(j(),d(o(z),{key:1,class:`size-5`})):(j(),d(o(W),{key:0,class:`size-5`})),s(`span`,{class:i(o(a).sidebarExpanded?``:`lg:hidden`)},T(o(r)(`collapse`)),3)],2)]),s(`ul`,Re,[(j(!0),u(c,null,x(o(l),e=>(j(),u(`li`,{key:e.href,class:`w-full`},[h(S,{to:e.href,class:i([`flex w-full items-center gap-3`,[{"menu-active":f(e.href)},o(a).sidebarExpanded?``:`lg:justify-center lg:px-0`]]),title:o(a).sidebarExpanded?void 0:e.name},{default:C(()=>[(j(),d(M(e.icon),{class:`size-5 shrink-0`})),s(`span`,{class:i(o(a).sidebarExpanded?``:`lg:hidden`)},T(e.name),3)]),_:2},1032,[`to`,`class`,`title`])]))),128))]),s(`div`,{class:i([`shrink-0 border-t border-base-content/10 p-2`,o(a).sidebarExpanded?``:`lg:flex lg:flex-col lg:items-center`])},[s(`div`,{id:`sidebar-traffic-expanded`,class:i([`mb-2 hidden w-full`,o(a).sidebarExpanded?`lg:block`:``])},null,2),s(`div`,{id:`sidebar-traffic-indicator`,class:i([`mb-2 hidden w-full lg:block`,o(a).sidebarExpanded?`lg:hidden`:``])},null,2),s(`div`,{class:i([`mb-2 hidden items-center gap-1`,o(a).sidebarExpanded?`lg:flex`:`lg:flex lg:flex-col`])},[h(y),h(b)],2),h(w,{collapsed:!o(a).sidebarExpanded},null,8,[`collapsed`])],2)],2)])),o(a).useMobileBottomNav&&o(n).path!==`/setup`?(j(),d(D,{key:1,"nav-items":o(l)},null,8,[`nav-items`])):k(``,!0)],2)}}}),Be=Object.assign(ze,{__name:`Sidebar`});const Ve=globalThis.setInterval;function He(){let e=n(),t=se(),r=L(),i=le(),a=I(),o=null,s=null,c=null,l=null,u=null,d=(t,n)=>{let r=e.currentEndpoint;if(!r)return null;let i=e.wsEndpointURL,a=r.secret,o=new URLSearchParams;a&&o.set(`token`,a);let s=new WebSocket(`${i}/${t}?${o.toString()}`);return s.onmessage=e=>{try{n(JSON.parse(e.data))}catch{}},s.onerror=e=>{console.error(`WebSocket error for ${t}:`,e)},s};return{connect:()=>{if($()){let e=oe();t.updateFromWsMsg({connections:e.mockConnections,uploadTotal:e.mockTrafficStats.up,downloadTotal:e.mockTrafficStats.down}),r.setLatestTraffic(e.mockTrafficStats),r.setLatestMemory(e.mockMemory);let n=Date.now(),a=e.mockConnections.length;for(let t=30;t>=0;t--){let i=n-t*1e3,o=e.mockTrafficStats.down+Math.floor(Math.random()*1e5)-5e4,s=e.mockTrafficStats.up+Math.floor(Math.random()*2e4)-1e4,c=e.mockMemory.inuse+Math.floor(Math.random()*5e6)-25e5,l=a+Math.floor(Math.random()*10)-5;r.addTrafficDataPoint(i,o,s),r.addMemoryDataPoint(i,c),r.addConnectionCountDataPoint(i,l)}e.mockLogs.forEach(e=>{i.addLog(e)}),u=Ve(()=>{let t=Date.now(),n={up:e.mockTrafficStats.up+Math.floor(Math.random()*1e4),down:e.mockTrafficStats.down+Math.floor(Math.random()*5e4)};r.setLatestTraffic(n),r.addTrafficDataPoint(t,n.down,n.up);let i={inuse:e.mockMemory.inuse+Math.floor(Math.random()*5e6)-25e5,oslimit:e.mockMemory.oslimit};r.setLatestMemory(i),r.addMemoryDataPoint(t,i.inuse);let a=e.mockConnections.length+Math.floor(Math.random()*10)-5;r.addConnectionCountDataPoint(t,a)},1e3);return}o=d(`connections`,e=>{let n=e;if(t.updateFromWsMsg(n),n){let e=n.connections?.length??0;r.addConnectionCountDataPoint(Date.now(),e)}}),s=d(`traffic`,e=>{let t=e;r.setLatestTraffic(t),r.addTrafficDataPoint(Date.now(),t.down,t.up)}),c=d(`memory`,e=>{let t=e;r.setLatestMemory(t),r.addMemoryDataPoint(Date.now(),t.inuse)});let n=e.currentEndpoint;if(n){let t=e.wsEndpointURL,r=new URLSearchParams;n.secret&&r.set(`token`,n.secret),r.set(`level`,a.logLevel),l=new WebSocket(`${t}/logs?${r.toString()}`),l.onmessage=e=>{try{let t=JSON.parse(e.data);i.addLog(t)}catch{}}}},disconnect:()=>{u&&=(clearInterval(u),null),o?.close(),s?.close(),c?.close(),l?.close(),o=null,s=null,c=null,l=null},reconnectLogs:()=>{l?.close();let t=e.currentEndpoint;if(t){let n=e.wsEndpointURL,r=new URLSearchParams;t.secret&&r.set(`token`,t.secret),r.set(`level`,a.logLevel),l=new WebSocket(`${n}/logs?${r.toString()}`),l.onmessage=e=>{try{let t=JSON.parse(e.data);i.addLog(t)}catch{}}}}}}var Ue={class:`hidden`},We=e({__name:`ProtectedResources`,setup(e){let{connect:t,disconnect:n,reconnectLogs:r}=He(),i=I();return b(()=>{t()}),D(()=>{n()}),S(()=>i.logLevel,()=>{r()}),(e,t)=>(j(),u(`div`,Ue))}}),Ge=Object.assign(We,{__name:`ProtectedResources`}),Ke=f(ue(),1),qe={class:`flex items-center gap-1`},Je={class:`font-mono text-xs`},Ye={class:`flex items-center gap-1`},Xe={class:`font-mono text-xs`},Ze={class:`flex items-center justify-center gap-1`},Qe={class:`font-mono text-xs`},$e={class:`flex items-center justify-center gap-1`},et={class:`font-mono text-xs`},tt={key:0,class:`rounded-btn w-full bg-base-100/50 p-2`},nt={class:`grid grid-cols-2 gap-1 text-xs`},rt={class:`flex items-center gap-1`},it={class:`truncate font-mono`},at={class:`flex items-center gap-1`},ot={class:`truncate font-mono`},st={class:`flex items-center gap-1`},ct={class:`font-mono text-xs`},lt={class:`flex items-center gap-1`},ut={class:`font-mono text-xs`},dt=[`title`],ft={class:`flex flex-col gap-2 p-3`},pt={class:`flex items-center justify-between gap-2`},mt={class:`text-xs font-semibold uppercase opacity-60`},ht={class:`flex items-center gap-1`},gt=[`title`],_t=[`title`],vt={class:`grid grid-cols-2 gap-x-4 gap-y-1 text-xs`},yt={class:`flex items-center gap-1.5`},bt={class:`font-mono font-medium`},xt={class:`flex items-center gap-1.5`},St={class:`font-mono font-medium`},Ct={class:`flex items-center gap-1.5 opacity-70`},wt={class:`font-mono`},Tt={class:`flex items-center gap-1.5 opacity-70`},Et={class:`font-mono`},Dt=e({__name:`GlobalTrafficIndicator`,setup(e){let t=L(),n=se(),r=I(),f=a(`globalTrafficIndicatorVisible`,!0),p=a(`globalTrafficIndicatorCollapsed`,!0),g=a(`globalTrafficIndicatorPosition`,{x:-1,y:-1}),v=P(!1),x=P({x:0,y:0}),E=P(null),D=P(null),O,M=y(()=>t.latestTraffic?.down??0),N=y(()=>t.latestTraffic?.up??0),F=y(()=>t.latestMemory?.inuse??0),R=y(()=>n.latestConnectionMsg?.connections?.length??0),z=e=>ce(e).toString(),ee=y(()=>g.value.x===-1||g.value.y===-1?{right:`16px`,bottom:`16px`}:{left:`${g.value.x}px`,top:`${g.value.y}px`});function V(){f.value=!f.value}function te(){p.value=!p.value}function H(){p.value=!1,g.value={x:-1,y:-1}}function U(e){if(!E.value)return;v.value=!0;let t=E.value.getBoundingClientRect(),n=`touches`in e?e.touches[0].clientX:e.clientX,r=`touches`in e?e.touches[0].clientY:e.clientY;x.value={x:n-t.left,y:r-t.top},g.value.x===-1&&(g.value.x=t.left,g.value.y=t.top),document.addEventListener(`mousemove`,W),document.addEventListener(`mouseup`,G),document.addEventListener(`touchmove`,W),document.addEventListener(`touchend`,G)}function W(e){if(!v.value)return;let t=`touches`in e?e.touches[0].clientX:e.clientX,n=`touches`in e?e.touches[0].clientY:e.clientY,r=t-x.value.x,i=n-x.value.y,a=E.value?.getBoundingClientRect(),o=a?.width||200,s=a?.height||150;r=Math.max(0,Math.min(window.innerWidth-o,r)),i=Math.max(0,Math.min(window.innerHeight-s,i)),g.value.x=r,g.value.y=i}function G(){v.value&&(v.value=!1,document.removeEventListener(`mousemove`,W),document.removeEventListener(`mouseup`,G),document.removeEventListener(`touchmove`,W),document.removeEventListener(`touchend`,G))}function K(){if(!D.value)return;O&&=(O.destroy(),void 0);let e=de(),n=D.value.offsetWidth||200;O=Ke.default.chart(D.value,{chart:{type:`areaspline`,backgroundColor:`transparent`,spacing:[0,0,0,0],margin:[0,0,0,0],animation:!1,width:n,height:48},credits:{enabled:!1},accessibility:{enabled:!1},title:{text:void 0},legend:{enabled:!1},xAxis:{visible:!1,type:`datetime`},yAxis:{visible:!1,min:0},tooltip:{enabled:!1},plotOptions:{areaspline:{lineWidth:1.5,marker:{enabled:!1},fillOpacity:.2,animation:!1}},series:[{type:`areaspline`,name:`Download`,color:e.seriesColors[0],data:t.trafficChartHistory.download.length>0?[...t.trafficChartHistory.download].slice(-30):[[Date.now(),0]]},{type:`areaspline`,name:`Upload`,color:e.seriesColors[1],data:t.trafficChartHistory.upload.length>0?[...t.trafficChartHistory.upload].slice(-30):[[Date.now(),0]]}]})}function ie(){if(!O)return;let e=[...t.trafficChartHistory.download].slice(-30),n=[...t.trafficChartHistory.upload].slice(-30);O.series[0]?.setData(e,!1),O.series[1]?.setData(n,!0)}function ae(){if(!$)return;let e=[...t.trafficChartHistory.download].slice(-30),n=[...t.trafficChartHistory.upload].slice(-30);$.series[0]?.setData(e,!1),$.series[1]?.setData(n,!0)}function J(){if(!Q.value)return;$&&=($.destroy(),void 0);let e=de();$=Ke.default.chart(Q.value,{chart:{type:`areaspline`,backgroundColor:`transparent`,spacing:[0,0,0,0],margin:[0,0,0,0],animation:!1,height:40},credits:{enabled:!1},accessibility:{enabled:!1},title:{text:void 0},legend:{enabled:!1},xAxis:{visible:!1,type:`datetime`},yAxis:{visible:!1,min:0},tooltip:{enabled:!1},plotOptions:{areaspline:{lineWidth:1.5,marker:{enabled:!1},fillOpacity:.2,animation:!1}},series:[{type:`areaspline`,name:`Download`,color:e.seriesColors[0],data:t.trafficChartHistory.download.length>0?[...t.trafficChartHistory.download].slice(-30):[[Date.now(),0]]},{type:`areaspline`,name:`Upload`,color:e.seriesColors[1],data:t.trafficChartHistory.upload.length>0?[...t.trafficChartHistory.upload].slice(-30):[[Date.now(),0]]}]})}S(()=>t.latestTraffic,e=>{e&&(O?ie():D.value&&f.value&&!p.value&&K(),$?ae():Q.value&&J())}),S(()=>r.curTheme,()=>{D.value&&!p.value&&f.value&&K(),Q.value&&J()}),S(p,e=>{!e&&f.value?A(()=>{setTimeout(()=>{D.value&&t.latestTraffic&&K()},50)}):e&&O&&(O.destroy(),O=void 0)}),S(f,e=>{e&&!p.value?A(()=>{setTimeout(()=>{D.value&&t.latestTraffic&&K()},50)}):!e&&O&&(O.destroy(),O=void 0)}),S(()=>r.sidebarExpanded,e=>{e&&A(()=>{setTimeout(()=>{Q.value&&t.latestTraffic&&J()},100)})});let Y=P(!1),X=P(!1),Z=P(!1),Q=P(null),$;return b(()=>{A(()=>{Y.value=!!document.getElementById(`header-traffic-indicator`),X.value=!!document.getElementById(`sidebar-traffic-indicator`),Z.value=!!document.getElementById(`sidebar-traffic-expanded`)}),f.value&&!p.value&&t.latestTraffic&&setTimeout(()=>{D.value&&K()},100),t.latestTraffic&&setTimeout(()=>{Q.value&&J()},150)}),w(()=>{O&&=(O.destroy(),void 0),$&&=($.destroy(),void 0)}),(e,n)=>(j(),u(c,null,[o(Y)?(j(),d(_,{key:0,to:`#header-traffic-indicator`},[o(f)&&o(p)&&o(t).latestTraffic?(j(),u(`div`,{key:0,class:`rounded-btn flex cursor-pointer items-center gap-2 bg-base-100/50 px-2 py-1 transition-colors hover:bg-base-100`,onClick:H},[s(`div`,qe,[h(o(q),{class:`size-3 text-success`}),s(`span`,Je,T(z(o(M)))+`/s`,1)]),n[0]||=s(`div`,{class:`h-3 w-px bg-base-content/20`},null,-1),s(`div`,Ye,[h(o(B),{class:`size-3 text-info`}),s(`span`,Xe,T(z(o(N)))+`/s`,1)])])):k(``,!0)])):k(``,!0),o(X)?(j(),d(_,{key:1,to:`#sidebar-traffic-indicator`},[o(t).latestTraffic?(j(),u(`div`,{key:0,class:`rounded-btn w-full cursor-pointer bg-base-100/50 px-2 py-2 transition-colors hover:bg-base-100`,onClick:H},[s(`div`,Ze,[h(o(q),{class:`size-3 text-success`}),s(`span`,Qe,T(z(o(M)))+`/s`,1)]),s(`div`,$e,[h(o(B),{class:`size-3 text-info`}),s(`span`,et,T(z(o(N)))+`/s`,1)])])):k(``,!0)])):k(``,!0),o(Z)?(j(),d(_,{key:2,to:`#sidebar-traffic-expanded`},[o(t).latestTraffic?(j(),u(`div`,tt,[s(`div`,{ref_key:`sidebarChartContainer`,ref:Q,class:`mb-2 h-10 w-full`},null,512),s(`div`,nt,[s(`div`,rt,[h(o(q),{class:`size-3 shrink-0 text-success`}),s(`span`,it,T(z(o(M)))+`/s`,1)]),s(`div`,at,[h(o(B),{class:`size-3 shrink-0 text-info`}),s(`span`,ot,T(z(o(N)))+`/s`,1)])])])):k(``,!0)])):k(``,!0),o(f)&&o(p)&&o(t).latestTraffic&&!o(Y)&&!o(X)?(j(),u(`div`,{key:3,class:`fixed right-4 bottom-4 z-50 flex cursor-pointer items-center gap-2 rounded-box bg-base-200 px-3 py-2 shadow-lg`,onClick:H},[s(`div`,st,[h(o(q),{class:`size-3 text-success`}),s(`span`,ct,T(z(o(M)))+`/s`,1)]),n[1]||=s(`div`,{class:`h-3 w-px bg-base-content/20`},null,-1),s(`div`,lt,[h(o(B),{class:`size-3 text-info`}),s(`span`,ut,T(z(o(N)))+`/s`,1)])])):k(``,!0),o(f)?k(``,!0):(j(),u(`button`,{key:4,class:`btn fixed right-4 bottom-4 z-50 btn-circle shadow-lg btn-sm btn-primary`,title:e.$t(`showTrafficIndicator`),onClick:V},[h(o(B),{class:`size-4`})],8,dt)),h(l,{"enter-active-class":`transition-all duration-300 ease-out`,"enter-from-class":`opacity-0 scale-95`,"enter-to-class":`opacity-100 scale-100`,"leave-active-class":`transition-all duration-200 ease-in`,"leave-from-class":`opacity-100 scale-100`,"leave-to-class":`opacity-0 scale-95`},{default:C(()=>[o(f)&&!o(p)&&o(t).latestTraffic?(j(),u(`div`,{key:0,ref_key:`containerRef`,ref:E,class:i([`fixed z-50 min-w-56 rounded-box bg-base-200 shadow-lg select-none`,{"cursor-grabbing":o(v)}]),style:m(o(ee))},[s(`div`,ft,[s(`div`,pt,[s(`div`,{class:`flex cursor-grab items-center gap-1 active:cursor-grabbing`,onMousedown:U,onTouchstart:U},[h(o(re),{class:`size-4 opacity-40`}),s(`span`,mt,T(e.$t(`traffic`)),1)],32),s(`div`,ht,[s(`button`,{class:`btn btn-circle btn-ghost btn-xs`,title:e.$t(`hideTrafficIndicator`),onClick:te},[...n[2]||=[s(`span`,{class:`text-xs`},``,-1)]],8,gt),s(`button`,{class:`btn btn-circle btn-ghost btn-xs`,title:e.$t(`hideTrafficIndicator`),onClick:V},[h(o(ne),{class:`size-3`})],8,_t)])]),s(`div`,{ref_key:`chartContainer`,ref:D,class:`h-12 w-full`},null,512),s(`div`,vt,[s(`div`,yt,[h(o(q),{class:`size-3 text-success`}),s(`span`,bt,T(z(o(M)))+`/s `,1)]),s(`div`,xt,[h(o(B),{class:`size-3 text-info`}),s(`span`,St,T(z(o(N)))+`/s `,1)]),s(`div`,Ct,[s(`span`,null,T(e.$t(`memory`))+`:`,1),s(`span`,wt,T(z(o(F))),1)]),s(`div`,Tt,[s(`span`,null,T(e.$t(`connections`))+`:`,1),s(`span`,Et,T(o(R)),1)])])])],6)):k(``,!0)]),_:1})],64))}}),Ot=Object.assign(Dt,{__name:`GlobalTrafficIndicator`}),kt=[`data-theme`],At=e({__name:`default`,setup(e){let t=I(),a=n(),s=L(),c=P(null);S(c,e=>{e&&(s.rootElement=e)}),S([()=>t.autoSwitchTheme,r()],([e,n])=>{e&&(t.curTheme=n?t.favNightTheme:t.favDayTheme)},{immediate:!0}),S(()=>t.curTheme,e=>{document.documentElement.setAttribute(`data-theme`,e)},{immediate:!0});let l=y(()=>$()||!!a.currentEndpoint);return(e,n)=>{let r=Be,a=Ge,s=Ot;return j(),u(`div`,{ref_key:`rootElement`,ref:c,class:i([`relative h-screen overscroll-y-none bg-base-100 subpixel-antialiased`,o(t).enableTwemoji?`font-twemoji`:`font-default`]),"data-theme":o(t).curTheme},[h(r,null,{default:C(()=>[E(e.$slots,`default`)]),_:3}),o(l)?(j(),d(a,{key:0})):k(``,!0),o(l)?(j(),d(s,{key:1})):k(``,!0)],10,kt)}}});export{At as default};