mirror of
https://github.com/wnlen/clash-for-linux.git
synced 2026-02-04 10:11:28 +08:00
1 line
21 KiB
JavaScript
1 line
21 KiB
JavaScript
import"./ftm_ukHF.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"./CxatB1L6.js";import{h as F}from"./_v7-ePgP.js";import{t as I}from"./BxUO6acX.js";import{t as L}from"./Dnb7sY_Q.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"./BlFRk3uc.js";import{a as ae,i as J,n as Y,o as X,r as Z}from"./B_unqUh-.js";import{t as Q}from"./xQuiMcB-.js";import{g as $,v as oe}from"./DRJWd5jk.js";import{n as se,t as ce}from"./4_-5c3is.js";import{t as le}from"./DimqLJ3H.js";import{t as ue}from"./B3gVVFQn.js";import{l as de}from"./D8VGDxpn.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}; |