PageSourceSearch

https://industrialiq.ai/AdminInfraLogsPage-CaBjDCoQ.js

js industrialiq.ai collected 2026-10-04 23:46:27 UTC 19,907 bytes, 1 lines download raw bytes

1import{r as e,j as t}from"./index-GDMS6ldZ.js";import{A as s}from"./AdminDataTable-CcoZ3Y6N.js";import{a,u as l,b as n}from"./adminInfraApi-DbsJHljx.js";import{F as r}from"./InformationCircleIcon-BqW0tfkd.js";import{F as o}from"./MagnifyingGlassIcon-D9LWneJi.js";import{F as i}from"./CheckIcon-CswifWbj.js";import{F as d}from"./ClipboardDocumentIcon-C12z4TuY.js";import{F as c}from"./ArrowDownTrayIcon-1OKw2Axd.js";import{F as m}from"./XMarkIcon-saypijZy.js";import"./AdminAsyncState-VhllU-mN.js";import"./ArrowPathIcon-D-MTjHNq.js";import"./ExclamationCircleIcon-DBE7OqCV.js";import"./ChevronLeftIcon-BUBYIo34.js";import"./ChevronRightIcon-8w11xhHf.js";function u({title:t,titleId:s,...a},l){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:l,"aria-labelledby":s},a),t?e.createElement("title",{id:s},t):null,e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 5.25 7.5 7.5 7.5-7.5m-15 6 7.5 7.5 7.5-7.5"}))}const x=e.forwardRef(u),p="polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%)",h={green:"linear-gradient(155deg, #4ADE80, #16A34A 55%, #12833F)",amber:"linear-gradient(155deg, #FCD34D, #F59E0B 55%, #D97706)",red:"linear-gradient(155deg, #FB7185, #DC2626 55%, #B91C1C)",slate:"linear-gradient(155deg, #CBD5E1, #94A3B8 55%, #64748B)"},b={green:"bg-emerald-500/15 text-emerald-300 ring-emerald-500/30",amber:"bg-amber-500/15 text-amber-300 ring-amber-500/30",red:"bg-red-500/15 text-red-300 ring-red-500/30",slate:"bg-slate-500/15 text-slate-300 ring-slate-500/30"},g=[250,500,1e3,2e3],f=["crashloopbackoff","error","failed","oomkilled","imagepullbackoff","errimagepull","createcontainererror","containercannotrun","runcontainererror","evicted"];function v(e){const t=(null==e?void 0:e.name)||"",s=t.replace(/-[a-z0-9]{8,10}-[a-z0-9]{5}$/,"");return s&&s!==t?s:(null==e?void 0:e.controlled_by)?String(e.controlled_by).replace(/^.*\//,"").replace(/-[a-z0-9]{8,10}$/,""):t||"unknown"}function j(e){const t=/^(\d+)\/(\d+)$/.exec(String(e??"").trim());if(!t)return{ready:0,total:0,ok:!1,label:e||"—"};const s=Number(t[1]),a=Number(t[2]);return{ready:s,total:a,ok:a>0&&s===a,label:`${s}/${a}`}}function N(e){const t=String((null==e?void 0:e.status)??"").toLowerCase(),s=String((null==e?void 0:e.phase)??"").toLowerCase();if("failed"===s||f.some(e=>t.includes(e)))return"red";const{ok:a}=j(null==e?void 0:e.ready);return"Running"===(null==e?void 0:e.status)&&a?"green":"completed"===t||"succeeded"===s||"succeeded"===t||"unknown"===t||"unknown"===s?"slate":t.includes("pending")||t.includes("init")||t.includes("creating")||"pending"===s||"Running"===(null==e?void 0:e.status)&&!a?"amber":"slate"}function w(e){const t=Math.max(0,Math.floor(Number(e)||0));if(t<60)return`${t}s`;const s=Math.floor(t/60);if(s<60)return`${s}m`;const a=Math.floor(s/60);if(a<24)return`${a}h${s%60?s%60+"m":""}`;return`${Math.floor(a/24)}d${a%24?a%24+"h":""}`}function y(e){const t=e.toUpperCase();return/\b(ERROR|ERR|FATAL|PANIC|EXCEPTION)\b/.test(t)?"text-red-300":/\b(WARN|WARNING)\b/.test(t)?"text-amber-300":/\b(INFO)\b/.test(t)?"text-sky-300":/\b(DEBUG|TRACE)\b/.test(t)?"text-slate-500":"text-slate-300"}function k(e,s){if(!s)return e;const a=e.toLowerCase(),l=s.toLowerCase(),n=[];let r=0,o=0;for(;r<e.length;){const i=a.indexOf(l,r);if(-1===i){n.push(e.slice(r));break}i>r&&n.push(e.slice(r,i)),n.push(t.jsx("mark",{className:"rounded-sm bg-amber-400/30 text-amber-100",children:e.slice(i,i+s.length)},`h${o}`)),o+=1,r=i+s.length}return n}function C({pod:e}){return t.jsx("span",{className:`inline-block max-w-full truncate rounded-md px-2 py-0.5 text-xs font-medium ring-1 ring-inset ${b[N(e)]}`,children:e.status||"—"})}const L=[{id:"pod",header:"Pod",cell:({row:e})=>t.jsx("span",{className:"block truncate font-mono text-xs text-slate-200",title:e.original.name,children:e.original.name})},{id:"deployment",header:"Deployment",meta:{width:"200px"},cell:({row:e})=>t.jsx("span",{className:"block truncate text-xs text-slate-400",children:v(e.original)})},{id:"node",header:"Node",meta:{width:"170px"},cell:({row:e})=>t.jsx("span",{className:"block truncate text-xs text-slate-500",title:e.original.node,children:e.original.node||"—"})},{id:"restarts",header:"Restarts",meta:{width:"90px",align:"right"},cell:({row:e})=>{const s=Number(e.original.restarts)||0;return t.jsx("span",{className:"tabular-nums text-sm "+(s>0?"font-semibold text-amber-300":"text-slate-500"),children:s})}},{id:"ready",header:"Ready",meta:{width:"80px",align:"center"},cell:({row:e})=>{const{label:s,ok:a}=j(e.original.ready);return t.jsx("span",{className:"tabular-nums text-xs font-medium "+(a?"text-emerald-300":"text-amber-300"),children:s})}},{id:"status",header:"Status",meta:{width:"160px"},cell:({row:e})=>t.jsx(C,{pod:e.original})},{id:"age",header:"Age",meta:{width:"90px",align:"right"},cell:({row:e})=>t.jsx("span",{className:"tabular-nums text-xs text-slate-400",children:w(e.original.age_seconds)})}];function A({pod:e,selected:s,onClick:a}){const l=N(e),n=Number(e.restarts)||0,{label:r}=j(e.ready),o="amber"===l||"red"===l;return t.jsxs("button",{type:"button",onClick:a,className:"group relative outline-none transition-transform duration-150 hover:z-20 hover:-translate-y-0.5 focus-visible:z-20",style:{width:46,height:40,filter:"drop-shadow(0 3px 6px rgba(0,0,0,.55))"},"aria-label":`${e.name} — ${e.status}`,"aria-pressed":s,children:[s&&t.jsx("span",{"aria-hidden":!0,style:{position:"absolute",inset:-4,clipPath:p,background:"#3B82F6"}}
1),t.jsx("span",{"aria-hidden":!0,className:o?"iq-hex-pulse":void 0,style:{position:"absolute",inset:0,clipPath:p,background:h[l],boxShadow:"inset 0 1.5px 0 rgba(255,255,255,.4)"}}),n>0&&t.jsx("span",{className:"absolute -right-1 -top-1 z-10 flex h-4 min-w-[16px] items-center justify-center rounded-full bg-slate-950 px-1 text-[9px] font-bold tabular-nums text-amber-300 shadow ring-1 ring-amber-400/50",children:n>99?"99+":n}),t.jsx("span",{className:"pointer-events-none absolute bottom-full left-1/2 z-30 mb-2 hidden -translate-x-1/2 group-hover:block",children:t.jsxs("span",{className:"block w-max max-w-[280px] rounded-lg border border-slate-700 bg-slate-950 px-3 py-2 text-left shadow-2xl",children:[t.jsx("span",{className:"block truncate font-mono text-[11px] font-semibold text-white",children:e.name}),t.jsxs("span",{className:"mt-1 block text-[11px] text-slate-300",children:[t.jsx("span",{className:"text-slate-500",children:"Status"})," ",e.status,"  ·  ",t.jsx("span",{className:"text-slate-500",children:"Ready"})," ",r,"  ·  ",t.jsx("span",{className:"text-slate-500",children:"Restarts"})," ",n]}),t.jsxs("span",{className:"mt-0.5 block truncate text-[11px] text-slate-400",children:[e.node||"no node"," · ",w(e.age_seconds)," old"]})]})})]})}function R({pods:s,selectedName:a,onSelect:l}){const n=e.useRef(null),[r,o]=e.useState(1);e.useEffect(()=>{const e=n.current;if(!e||"undefined"==typeof ResizeObserver)return;const t=()=>{const t=e.clientWidth,s=Math.max(1,Math.floor((t-25.5)/51));o(s)};t();const s=new ResizeObserver(t);return s.observe(e),()=>s.disconnect()},[]);const i=[];for(let e=0;e<s.length;e+=r)i.push(s.slice(e,e+r));return t.jsx("div",{ref:n,children:i.map((e,s)=>t.jsx("div",{style:{display:"flex",gap:"5px",marginTop:0===s?0:"-11px",marginLeft:s%2==1?"25.5px":0},children:e.map(e=>t.jsx(A,{pod:e,selected:a===e.name,onClick:()=>l(e.name)},e.name))},s))})}function S({namespace:s,pod:a,maxTailLines:l,onClose:r,onGone:u}){var p,h,b;const f=Array.isArray(a.containers)?a.containers:[],[j,N]=e.useState(f[0]||""),[w,C]=e.useState(500),[L,A]=e.useState(!0),[R,S]=e.useState(""),[E,M]=e.useState(!0),[$,F]=e.useState(!1),[I,D]=e.useState(440),T=e.useRef(null),q=e.useRef(null);e.useEffect(()=>{const e=Array.isArray(a.containers)?a.containers[0]:"";N(e||"")},[a.name,a.containers]);const z=Math.min(w,l||5e3),{data:B,error:P,isLoading:O,isFetching:_,dataUpdatedAt:H}=n(s,a.name,{container:j,tailLines:z,live:L}),U=null==P?void 0:P.status;e.useEffect(()=>{404===U&&(null==u||u())},[U,u]);const Y=(null==(p=null==B?void 0:B.data)?void 0:p.logs)??"",W=e.useMemo(()=>Y?Y.replace(/\n$/,"").split("\n"):[],[Y]),G=e.useMemo(()=>{if(!R.trim())return W;const e=R.trim().toLowerCase();
1return W.filter(t=>t.toLowerCase().includes(e))},[W,R]);e.useEffect(()=>{const e=T.current;e&&E&&(e.scrollTop=e.scrollHeight)},[H,G.length,E]);let K=null;503===U?K="Live logs are only available inside the Kubernetes cluster.":403===U?K=(null==(h=null==P?void 0:P.data)?void 0:h.message)||(null==P?void 0:P.message)||"You don't have permission to read these logs.":U&&404!==U&&(K=(null==(b=null==P?void 0:P.data)?void 0:b.message)||(null==P?void 0:P.message)||"Could not load logs.");const J=O&&!B,X="rounded-md border border-slate-700 bg-slate-800 px-2 py-1 text-xs font-medium text-slate-200 focus:border-blue-400 focus:outline-none";return t.jsxs("div",{className:"iq-slide-up fixed inset-x-0 bottom-0 z-40 flex flex-col border-t border-slate-700 bg-[#0B1220] shadow-[0_-18px_50px_-20px_rgba(0,0,0,.8)]",style:{height:I},role:"region","aria-label":`Logs for ${a.name}`,children:[t.jsx("div",{onMouseDown:e=>{e.preventDefault(),q.current={startY:e.clientY,startH:I};const t=e=>{const t=q.current;if(!t)return;const s=Math.round(.85*window.innerHeight);D(Math.min(Math.max(t.startH+(t.startY-e.clientY),240),s))},s=()=>{q.current=null,window.removeEventListener("mousemove",t),window.removeEventListener("mouseup",s)};window.addEventListener("mousemove",t),window.addEventListener("mouseup",s)},className:"group flex h-2 cursor-row-resize items-center justify-center",role:"separator","aria-orientation":"horizontal",children:t.jsx("span",{className:"h-1 w-10 rounded-full bg-slate-600 group-hover:bg-slate-400"})}),t.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-b border-slate-800 px-4 pb-2.5",children:[t.jsxs("div",{className:"mr-1 min-w-0",children:[t.jsx("div",{className:"truncate font-mono text-sm font-semibold text-slate-100",title:a.name,children:a.name}),t.jsxs("div",{className:"truncate text-[11px] text-slate-400",children:[v(a)," · ",s]})]}),f.length>0&&t.jsx("select",{className:X,value:j,onChange:e=>N(e.target.value),"aria-label":"Container",children:f.map(e=>t.jsx("option",{value:e,children:e},e))}),t.jsx("select",{className:X,value:w,onChange:e=>C(Number(e.target.value)),"aria-label":"Tail lines",children:g.filter(e=>e<=(l||5e3)).map(e=>t.jsxs("option",{value:e,children:[e," lines"]},e))}),t.jsxs("button",{type:"button",onClick:()=>A(e=>!e),className:"inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-xs font-semibold "+(L?"border-emerald-500/40 bg-emerald-500/10 text-emerald-300":"border-slate-700 bg-slate-800 text-slate-400"),children:[t.jsx("span",{className:"h-2 w-2 rounded-full "+(L?"iq-live-dot bg-emerald-400":"bg-slate-500")}),L?"Live":"Paused"]}),t.jsxs("div",{className:"relative min-w-[150px] flex-1",children:[t.jsx(o,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-slate-500"}),t.jsx("input",{type:"search",value:R,onChange:e=>S(e.target.value),placeholder:"Filter logs…",className:"w-full rounded-md border border-slate-700 bg-slate-800 py-1 pl-8 pr-2 text-xs text-slate-200 placeholder:text-slate-500 focus:border-blue-400 focus:outline-none"})]}),_&&!J&&t.jsx("span",{className:"text-[11px] text-slate-500",children:"syncing…"}),t.jsx("button",{type:"button",onClick:async()=>{try{await navigator.clipboard.writeText(Y),F(!0),setTimeout(()=>F(!1),1500)}catch{}},title:"Copy logs",className:"rounded-md border border-slate-700 bg-slate-800 p-1.5 text-slate-300 hover:bg-slate-700",children:$?t.jsx(i,{className:"h-4 w-4 text-emerald-400"}):t.jsx(d,{className:"h-4 w-4"})}),t.jsx("button",{type:"button",onClick:()=>{const e=new Blob([Y],{type:"text/plain"}),t=URL.createObjectURL(e),s=document.createElement("a");s.href=t,s.download=`${a.name}${j?`.${j}`:""}.log`,document.body.appendChild(s),s.click(),s.remove(),URL.revokeObjectURL(t)},title:"Download .log",className:"rounded-md border border-slate-700 bg-slate-800 p-1.5 text-slate-300 hover:bg-slate-700",children:t.jsx(c,{className:"h-4 w-4"})}),t.jsx("button",{type:"button",onClick:r,title:"Close",className:"rounded-md border border-slate-700 bg-slate-800 p-1.5 text-slate-300 hover:bg-slate-700",children:t.jsx(m,{className:"h-4 w-4"})})]}),t.jsx("div",{className:"relative min-h-0 flex-1",children:J?t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx("div",{className:"h-6 w-6 animate-spin rounded-full border-b-2 border-slate-400"})}):K?t.jsx("div",{className:"flex h-full items-center justify-center px-6 text-center",children:t.jsx("p",{className:"max-w-md text-sm text-slate-400",children:K})}):t.jsxs(t.Fragment,{children:[t.jsx("div",{ref:T,onScroll:()=>{const e=T.current;e&&M(e.scrollHeight-e.scrollTop-e.clientHeight<48)},className:"h-full overflow-auto px-4 py-3 font-mono text-[12px] leading-[1.55]",style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:0===G.length?t.jsx("p",{className:"text-slate-500",children:R.trim()?"No lines match your filter.":"No log output."}):G.map((e,s)=>t.jsx("div",{className:y(e),children:k(e,R.trim())||" "},s))}),!E&&t.jsxs("button",{type:"button",onClick:()=>{const e=T.current;e&&(e.scrollTop=e.scrollHeight,M(!0))},className:"absolute bottom-3 left-1/2 inline-flex -translate-x-1/2 items-center gap-1.5 rounded-full border border-slate-600 bg-slate-800/95 px-3 py-1.5 text-xs font-semibold text-slate-200 shadow-lg hover:bg-slate-700",children:[t.jsx(x,{className:"h-3.5 w-3.5"})," Jump to latest"]})]})})]})}function E(){var n,i;const[d,c]=e.useState(""),[m,u]=e.useState(""),[x,p]=e.useState(null),{data:h,isLoading:b,error:g}=a(),f=(null==h?void 0:h.data)??{},j=Array.isArray(f.namespaces)?f.namespaces:[],w=!1!==f.in_cluster,y=f.default||"outreach",k=f.max_tail_lines||5e3;e.useEffect(()=>{!d&&y&&c(y)},[y,d]);const{data:C,isLoading:A,isFetching:E,error:M}=l(d,{pollMs:5e3}),$=e.useMemo(()=>{var e;return Array.isArray(null==(e=null==C?void 0:C.data)?void 0:e.pods)?C.data.pods:[]},[C]),F=(null==(n=null==C?void 0:C.data)?void 0:n.count)??$.length,I=e.useMemo(()=>$.filter(e=>"green"===N(e)).length,[$]),D=m.trim().toLowerCase(),T=e.useMemo(()=>D?$.filter(e=>[e.name,e.node,e.status,e.phase].some(e=>String(e??"").toLowerCase().includes(D))):$,[$,D]),q=e.useMemo(()=>{const e=new Map;return T.forEach(t=>{const s=v(t);e.has(s)||e.set(s,[]),e.get(s).push(t)}),[...e.entries()].map(([e,t])=>({app:e,pods:t})).sort((e,t)=>
1e.app.localeCompare(t.app))},[T]),z=x&&$.find(e=>e.name===x)||null,B=(()=>{var e,t;if(!M)return null;const s=M.status;return 503===s?null:403===s?(null==(e=M.data)?void 0:e.message)||M.message||"You don't have permission to view pods.":400===s?"That namespace isn't available.":(null==(t=M.data)?void 0:t.message)||M.message||"Could not load pods."})(),P=A&&!C;return t.jsxs("div",{className:"min-h-full text-slate-200",style:{background:"radial-gradient(920px 440px at 74% -8%, rgba(45,91,255,.13), transparent 60%), #0A1120"},children:[t.jsx("style",{children:"\n.iq-hex-pulse { animation: iqHexPulse 1.8s ease-in-out infinite; }\n@keyframes iqHexPulse { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.25) saturate(1.12); } }\n.iq-live-dot { animation: iqLiveDot 1.4s ease-in-out infinite; }\n@keyframes iqLiveDot { 0%,100% { opacity: 1; } 50% { opacity: .3; } }\n.iq-slide-up { animation: iqSlideUp .28s cubic-bezier(.2,.8,.2,1); }\n@keyframes iqSlideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }\n@media (prefers-reduced-motion: reduce) {\n  .iq-hex-pulse, .iq-live-dot, .iq-slide-up { animation: none; }\n}"}),t.jsxs("div",{className:"px-4 py-6",children:[t.jsxs("div",{className:"flex items-start justify-between gap-4 border-b border-slate-800 pb-4",children:[t.jsxs("div",{children:[t.jsx("h1",{className:"text-2xl font-semibold text-slate-100",children:"Pods & Logs"}),t.jsxs("p",{className:"mt-1 flex items-center gap-1.5 text-sm font-medium text-slate-400",children:[t.jsx(r,{className:"h-5 w-5 text-blue-400"}),"Kubernetes pods across the cluster, with live log streaming."]})]}),t.jsxs("div",{className:"text-right",children:[t.jsx("div",{className:"text-2xl font-bold tabular-nums text-slate-100",children:F}),t.jsx("div",{className:"text-xs font-semibold text-slate-500",children:"Pods"})]})]}),!w&&t.jsx("div",{className:"mt-4 rounded-lg border border-sky-500/30 bg-sky-500/10 px-4 py-2.5 text-sm text-sky-300",children:"Live pod logs are only available in the deployed (Kubernetes) environment."}),g&&t.jsx("div",{className:"mt-4 rounded-lg border border-red-500/30 bg-red-500/10 px-4 py-2.5 text-sm text-red-300",children:(null==(i=null==g?void 0:g.data)?void 0:i.message)||(null==g?void 0:g.message)||"Could not load namespaces."}),t.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[t.jsxs("select",{value:d,onChange:e=>{return t=e.target.value,c(t),void p(null);var t},className:"rounded-md border border-slate-700 bg-slate-800 px-3 py-2 text-sm font-medium text-slate-200 shadow-sm focus:border-blue-400 focus:outline-none","aria-label":"Namespace",children:[0===j.length&&t.jsx("option",{value:d,children:d||"default"}),j.map(e=>t.jsx("option",{value:e,children:e},e))]}),t.jsxs("div",{className:"relative min-w-[220px] flex-1",children:[t.jsx(o,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-500"}),t.jsx("input",{type:"search",value:m,onChange:e=>u(e.target.value),placeholder:"Filter pods by name, node, or status…",className:"w-full rounded-lg border border-slate-700 bg-slate-800/70 py-2 pl-9 pr-3 text-sm text-slate-200 placeholder:text-slate-500 focus:border-blue-400 focus:outline-none focus:ring-1 focus:ring-blue-500/40"})]}),t.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-400",children:[t.jsx("span",{className:"tabular-nums font-medium text-slate-200",children:F})," pods",t.jsx("span",{className:"text-slate-600",children:"·"}),t.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-400"}),t.jsx("span",{className:"tabular-nums font-medium text-slate-200",children:I})," running"]}),E&&!P&&t.jsx("span",{className:"ml-1 text-slate-500",children:"· updating…"})]})]}),B&&t.jsx("div",{className:"mt-3 rounded-lg border border-red-500/30 bg-red-500/10 px-4 py-2.5 text-sm text-red-300",children:B}),P?t.jsx("div",{className:"mt-6 flex items-center justify-center rounded-xl border border-slate-800 bg-slate-900/40 py-16",children:t.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-b-2 border-slate-400"})}):M||0!==T.length?t.jsx("div",{className:"mt-5 grid grid-cols-1 gap-4 xl:grid-cols-2",children:q.map(e=>t.jsxs("section",{className:"rounded-xl border border-slate-800 bg-[#0F1A2E]/70 px-5 py-4 shadow-sm backdrop-blur-sm",children:[t.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[t.jsx("h2",{className:"font-mono text-sm font-semibold text-slate-200",children:e.app}),t.jsx("span",{className:"rounded-full bg-slate-800 px-2 py-0.5 text-xs font-semibold tabular-nums text-slate-400",children:e.pods.length})]}),t.jsx(R,{pods:e.pods,selectedName:x,onSelect:p})]},e.app))}):t.jsx("div",{className:"mt-6 rounded-xl border border-dashed border-slate-700 bg-slate-900/40 py-14 text-center text-sm text-slate-500",children:m.trim()?`No pods match "${m.trim()}".`:"No pods in this namespace."}),!M&&T.length>0&&t.jsx(s,{dark:!0,columns:L,data:T,getRowId:e=>e.name,onRowClick:e=>p(e.name),minTableWidth:"62rem",emptyMessage:"No pods."}
1),z&&t.jsx("div",{"aria-hidden":!0,className:"h-[52vh]"})]}),z&&t.jsx(S,{namespace:d,pod:z,maxTailLines:k,onClose:()=>p(null),onGone:()=>p(null)})]})}export{E as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.