import{e as l,r as m,c as i,j as r,gy as j,dJ as _,eh as k}from"./index-C4inJ1rU.js";/**
 * @license lucide-react v0.559.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const N=[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}],["path",{d:"M17 20V8",key:"1tkaf5"}]],v=l("signal-high",N);/**
 * @license lucide-react v0.559.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const S=[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}]],w=l("signal-low",S);/**
 * @license lucide-react v0.559.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const M=[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}]],A=l("signal-medium",M);/**
 * @license lucide-react v0.559.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const C=[["path",{d:"M2 20h.01",key:"4haj6o"}]],b=l("signal-zero",C);/**
 * @license lucide-react v0.559.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const B=[["path",{d:"M2 20h.01",key:"4haj6o"}],["path",{d:"M7 20v-4",key:"j294jx"}],["path",{d:"M12 20v-8",key:"i3yub9"}],["path",{d:"M17 20V8",key:"1tkaf5"}],["path",{d:"M22 4v16",key:"sih9yq"}]],R=l("signal",B),L={excellent:"color(display-p3 0.00 1.00 0.00)",good:"color(display-p3 0.55 0.90 0.15)",fair:"color(display-p3 1.00 0.85 0.00)",weak:"color(display-p3 1.00 0.55 0.15)",poor:"color(display-p3 1.00 0.20 0.20)"},E={excellent:"#4ADE80",good:"#A3E635",fair:"#FACC15",weak:"#FB923C",poor:"#EF4444"};function d(e){return e>=-90?"excellent":e>=-100?"good":e>=-110?"fair":e>=-120?"weak":"poor"}function F(e,t,a,s=0){const n=k(t,e,a,s);return n?I(n.finalGrade):d(e)}function I(e){switch(e){case"excellent":return"excellent";case"good":return"good";case"fair":return"fair";case"poor":return"weak";case"critical":return"poor"}}function O(e){switch(e){case"excellent":return"text-signal-excellent";case"good":return"text-signal-good";case"fair":return"text-signal-fair";case"weak":return"text-signal-poor";case"poor":return"text-signal-critical";default:return"text-fg-muted"}}function f(e,t,a=!0){return t?a?{backgroundColor:E[e],"--p3-color":L[e]}:{backgroundColor:"rgba(255, 255, 255, 0.25)"}:{backgroundColor:"rgba(255, 255, 255, 0.1)"}}function p(e,t=!0){return e&&t?"signal-bar-active":""}function G({rssi:e,className:t="w-4 h-4"}){const a=d(e),s=O(a),n=i(s,t);switch(a){case"excellent":return r.jsx(R,{className:n});case"good":return r.jsx(v,{className:n});case"fair":return r.jsx(A,{className:n});case"weak":return r.jsx(w,{className:n});case"poor":default:return r.jsx(b,{className:n})}}function $({rssi:e,snr:t,compact:a=!1,showValues:s=!0,radioConfig:n,nfPenalty:h=0,validated:c=!0}){const g=t!==void 0?F(e,t,n,h):d(e),x=4,u={excellent:4,good:3,fair:2,weak:1,poor:0}[g];return a?r.jsxs("div",{className:"flex items-center gap-1.5",children:[s&&r.jsx("span",{className:i("type-data-xs w-[32px] text-left",c?"text-fg-secondary":"text-fg-muted"),children:e}),r.jsx("div",{className:"flex items-center gap-[2px] h-3 w-[14px]",children:Array.from({length:x}).map((y,o)=>r.jsx("div",{className:i("w-[3px] h-full rounded-[1px] transition-colors",p(o<u,c)),style:f(g,o<u,c)},o))})]}):r.jsxs("div",{className:"flex items-center gap-2",children:[s&&r.jsxs("div",{className:"flex flex-col items-start w-[52px]",children:[r.jsxs("span",{className:i("type-data-xs leading-tight",c?"text-fg-secondary":"text-fg-muted"),children:[e," dBm"]}),t!==void 0&&r.jsxs("span",{className:"type-data-xs text-fg-muted leading-tight",children:[t.toFixed(1)," dB"]})]}),r.jsx("div",{className:"flex items-center gap-[2px] h-3.5 w-[14px]",children:Array.from({length:x}).map((y,o)=>r.jsx("div",{className:i("w-[3px] h-full rounded-[1px] transition-colors",p(o<u,c)),style:f(g,o<u,c)},o))})]})}const J=m.memo($);function P(e){const t=d(e);return t.charAt(0).toUpperCase()+t.slice(1)}function D(e){if(Array.isArray(e))return e;if(typeof e=="string"&&e.startsWith("["))try{const t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}return[]}function H(e){const t=D(e.original_path),a=e.route??e.route_type;return j(a)?t.length===0:_(a)?t.length<=1:t.length===0}function q(e){return e.packet_origin==="tx_local"||e.packet_origin==="tx_forward"?!1:e._isZeroHop!=null?e._isZeroHop:H(e)}export{J as S,R as a,G as b,d as c,P as g,q as i};
