Files
aiops/backend/static/assets/WorkloadViewPage-Beis837n.js
T
Logan.Li 0b404b4611 refactor(frontend): API 子模块化、大组件拆分与 TanStack Query hooks
P1: kubernetes/system API 拆为子目录模块,导出工具下沉到 lib/export-utils,
    http 统一 buildApiUrl/getWsBase;HostMonitor、DeploymentEdit* 拆至子组件。

P2: 新增 hooks/api(queryKeys、useTerminalSessions、useHostMonitor),
    TerminalSessionsTab 与 HostMonitor 接入 TanStack Query。

P3: 保留 services/api 路径,未迁移至 api/ 目录。
2026-06-26 00:02:29 +08:00

3 lines
29 KiB
JavaScript
Raw 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{k as Ue,m as Te,x as Re,r as d,j as e,B as x,q as ne,R as Le,F as $e,y as Ae,z as Me,v as he,A as ze,E as Be}from"./index-Dmami9WE.js";import{C as V,a as W,b as y,c as S}from"./card-CIfC-8Rh.js";import{B as j}from"./badge-3UzCvU7L.js";import{T as ce,a as le,b as C,c as h,d as de,e as i}from"./table-CG4mjNfb.js";import{k as U}from"./kubernetes-D2-GnE0t.js";import{u as Oe}from"./use-toast-jvSbBx20.js";import{Y as ie,S as w,f as me,s as q,P as Fe,a as _e}from"./PodFileBrowser-BLvOIIeH.js";import{A as He}from"./arrow-left-BIbk9wFC.js";import{T as Ye}from"./tag-utZ9-UQ0.js";import{H as De}from"./hard-drive-DmC04Y5r.js";import{M as Ee}from"./minus-DRP_TSA-.js";import{P as qe}from"./plus-O65gX7Qz.js";import"./copy-CE_T92Lk.js";import"./sparkles-rPZivnlW.js";import"./save-YtnrpTd8.js";import"./select-DUbxjT0z.js";import"./index-CtCQcvyh.js";import"./chevron-up-Cq4GPopa.js";import"./xterm-DSqgeKvr.js";import"./box-88Ol5qY-.js";import"./rotate-cw-CKCO6IKE.js";import"./minimize-2-BHcbNmdK.js";import"./upload-CRLg7Pbj.js";import"./refresh-cw-CTBERyFc.js";import"./folder-B5RGB3GG.js";import"./download-Vuij9wGr.js";function n({label:t,value:m,sub:P,color:u}){return e.jsx(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:28:5",className:"bg-slate-900 border-slate-800",children:e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:29:7",className:"p-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:30:9",className:"text-xs text-slate-500",children:t}),e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:31:9",className:"text-base font-bold mt-0.5",style:{color:u||"#e2e8f0"},children:m}),P&&e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:32:17",className:"text-[10px] text-slate-600 mt-0.5",children:P})]})})}function pe({labels:t}){const m=Object.entries(t||{});return m.length===0?e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:41:36",className:"text-xs text-slate-600",children:"无"}):e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:43:5",className:"flex flex-wrap gap-1.5",children:m.map(([P,u])=>e.jsxs(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:45:9",variant:"outline",className:"border-slate-700 text-slate-400 text-[10px] font-mono",children:[P,"=",u]},P))})}function ws(){const t=Ue(),m=Te(),P=Re(),{toast:u}=Oe(),o=t.clusterCode||"",r=t.namespace||"",c=t.name||"",p=P.pathname.includes("/DaemonSet/")?"DaemonSet":"StatefulSet",T=t.mode==="yaml"?"yaml":"view",[N,ke]=d.useState(null),[R,ue]=d.useState([]),[be,I]=d.useState(!0),[ge,L]=d.useState(!1),[v,F]=d.useState(1),[$,A]=d.useState(!1),[_,J]=d.useState(null),[H,K]=d.useState(null),[we,G]=d.useState(!1),M=d.useCallback(async()=>{I(!0);try{const[s,l]=await Promise.all([U.getResourceYaml(o,r,p.toLowerCase()+"s",c).catch(()=>""),U.getPods(o).catch(()=>[])]);let f=null;if(s&&typeof s=="string")try{f=JSON.parse(s)}catch{f={_raw:s}}else s&&typeof s=="object"&&(f=s);ke(f);const E=(Array.isArray(l)?l:l?.list||l?.data||[]).filter(O=>{const Ce=O.name||O.metadata?.name||"",re=O.namespace||O.namespace_name||"";return Ce.startsWith(c)&&(!re||re===r)});ue(E)}catch(s){console.error("load error",s)}finally{I(!1)}},[o,r,c,p]);d.useEffect(()=>{M()},[M]);const Q=s=>{s!==T&&m(`/kubernetes/${o}/namespace/${r}/workload/${s}/${p}/${c}`,{replace:!0})},je=async()=>{if(confirm(`确认重启 ${p} ${c}?
将触发滚动重启。`)){A(!0);try{p==="StatefulSet"?await U.restartStatefulSet(o,r,c):await U.restartDaemonSet(o,r,c),u({title:"重启指令已下发",description:`${p} 滚动重启已触发`}),setTimeout(M,1e3)}catch(s){u({title:"重启失败",description:s?.message||String(s),variant:"destructive"})}finally{A(!1)}}},Pe=async()=>{A(!0);try{await U.scaleStatefulSet(o,r,c,v),u({title:"扩缩容成功",description:`StatefulSet 副本数已更新为 ${v}`}),L(!1),setTimeout(M,1e3)}catch(s){u({title:"扩缩容失败",description:s?.message||String(s),variant:"destructive"})}finally{A(!1)}},k=N?.spec||{},b=N?.status||{},X=k?.template?.spec?.containers||[],Z=k?.template?.spec?.initContainers||[],z=k.replicas??1,ee=b.readyReplicas??0,Ve=b.currentReplicas??0,We=b.updatedReplicas??0,Y=b.desiredNumberScheduled??0,Ne=b.currentNumberScheduled??0,se=b.numberReady??0,fe=b.numberAvailable??0,ve=b.updatedNumberScheduled??0,g=p==="StatefulSet",B=g?ee===z&&z>0:se===Y&&Y>0,a=k.updateStrategy||{},D=a.type||"RollingUpdate",te=k.volumeClaimTemplates||[],ye=k.selector?.matchLabels||{},Se=N?.metadata?.labels||{},ae=N?.metadata?.annotations||{};return e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:183:5",className:"p-4 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:185:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:186:9",className:"flex items-center gap-3",children:[e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:187:11",variant:"ghost",size:"icon",className:"h-8 w-8 text-slate-400 hover:text-slate-200",onClick:()=>m(-1),children:e.jsx(He,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:188:13",className:"h-4 w-4"})}),e.jsx(ne,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:190:11",className:"h-5 w-5 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:191:11",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:192:13",className:"flex items-center gap-2",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:193:15",className:"text-lg font-bold text-slate-100",children:c}),e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:194:15",variant:"outline",className:"border-slate-700 text-slate-400",children:p}),e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:195:15",variant:"outline",className:"border-slate-700 text-slate-400",children:r}),B?e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:197:19",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:"健康"}):e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:198:19",className:"bg-amber-500/20 text-amber-400 border-amber-500/30",children:"更新中"})]}),e.jsxs("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:200:13",className:"text-xs text-slate-500 mt-0.5",children:["集群: ",o]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:203:9",className:"flex items-center gap-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:205:11",className:"flex items-center gap-1 bg-slate-900 border border-slate-800 rounded-lg p-0.5",children:[e.jsx("button",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:206:13",className:`px-3 py-1 text-xs rounded transition-colors ${T==="view"?"bg-blue-500/20 text-blue-400":"text-slate-400 hover:text-slate-200"}`,onClick:()=>Q("view"),children:"查看"}),e.jsx("button",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:210:13",className:`px-3 py-1 text-xs rounded transition-colors ${T==="yaml"?"bg-blue-500/20 text-blue-400":"text-slate-400 hover:text-slate-200"}`,onClick:()=>Q("yaml"),children:"YAML"})]}),g&&e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:217:13",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",onClick:()=>{F(z),L(!0)},children:[e.jsx(ne,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:219:15",className:"h-3.5 w-3.5 mr-1"}),"伸缩"]}),e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:222:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",disabled:$,onClick:je,children:[e.jsx(Le,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:224:13",className:"h-3.5 w-3.5 mr-1"}),$?"重启中...":"重启"]}),e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:226:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 hover:text-slate-100",onClick:()=>G(!0),children:[e.jsx($e,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:228:13",className:"h-3.5 w-3.5 mr-1"}),"YAML"]})]})]}),be?e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:234:9",className:"text-center text-slate-500 py-20",children:"加载中..."}):T==="yaml"?e.jsx(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:236:9",className:"bg-slate-900 border-slate-800",children:e.jsx(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:237:11",className:"p-4",children:e.jsx(ie,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:238:13",clusterCode:o,namespace:r,resource:p.toLowerCase()+"s",name:c,onClose:()=>{},inline:!0,autoEdit:!0})})}):e.jsxs(e.Fragment,{children:[e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:252:11",className:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-3",children:g?e.jsxs(e.Fragment,{children:[e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:255:17",label:"副本就绪",value:`${ee}/${z}`,color:B?w.green:w.orange,sub:B?"全部就绪":"部分未就绪"}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:256:17",label:"当前副本",value:Ve,color:w.blue}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:257:17",label:"已更新副本",value:We,color:w.green}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:258:17",label:"服务名",value:k.serviceName||"-",color:"#94a3b8"}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:259:17",label:"Pod 数量",value:R.length,color:"#94a3b8"}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:260:17",label:"创建时间",value:e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:260:47",className:"text-xs",children:me(N?.metadata?.creationTimestamp)}),color:"#94a3b8"})]}):e.jsxs(e.Fragment,{children:[e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:264:17",label:"期望调度",value:Y,color:w.blue}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:265:17",label:"当前调度",value:Ne,color:"#94a3b8"}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:266:17",label:"就绪数量",value:se,color:B?w.green:w.orange}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:267:17",label:"可用数量",value:fe,color:w.green}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:268:17",label:"已更新",value:ve,color:"#94a3b8"}),e.jsx(n,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:269:17",label:"创建时间",value:e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:269:47",className:"text-xs",children:me(N?.metadata?.creationTimestamp)}),color:"#94a3b8"})]})}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:275:11",className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:276:13",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:277:15",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:278:17",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(Ae,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:279:19",className:"h-4 w-4 text-amber-400"}),"更新策略"]})}),e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:282:15",className:"pt-0 space-y-2 text-xs",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:283:17",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:284:19",className:"text-slate-500",children:"策略类型"}),e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:285:19",variant:"outline",className:"border-slate-700 text-slate-300",children:D})]}),D==="RollingUpdate"&&g&&a.rollingUpdate&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:289:21",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:290:23",className:"text-slate-500",children:"分区 (partition)"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:291:23",className:"text-slate-300 font-mono",children:a.rollingUpdate.partition??0})]}),a.rollingUpdate.maxUnavailable&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:294:23",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:295:25",className:"text-slate-500",children:"最大不可用"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:296:25",className:"text-slate-300 font-mono",children:typeof a.rollingUpdate.maxUnavailable=="object"?JSON.stringify(a.rollingUpdate.maxUnavailable):a.rollingUpdate.maxUnavailable})]})]}),D==="RollingUpdate"&&!g&&a.rollingUpdate&&e.jsxs(e.Fragment,{children:[a.rollingUpdate.maxUnavailable&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:304:23",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:305:25",className:"text-slate-500",children:"最大不可用"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:306:25",className:"text-slate-300 font-mono",children:typeof a.rollingUpdate.maxUnavailable=="object"?JSON.stringify(a.rollingUpdate.maxUnavailable):a.rollingUpdate.maxUnavailable})]}),a.rollingUpdate.maxSurge&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:310:23",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:311:25",className:"text-slate-500",children:"最大 surge"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:312:25",className:"text-slate-300 font-mono",children:typeof a.rollingUpdate.maxSurge=="object"?JSON.stringify(a.rollingUpdate.maxSurge):a.rollingUpdate.maxSurge})]})]}),g&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:318:19",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:319:21",className:"text-slate-500",children:"Pod 管理策略"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:320:21",className:"text-slate-300 font-mono",children:k.podManagementPolicy||"OrderedReady"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:323:17",className:"flex justify-between",children:[e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:324:19",className:"text-slate-500",children:"修订历史限制"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:325:19",className:"text-slate-300 font-mono",children:k.revisionHistoryLimit??10})]})]})]}),e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:330:13",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:331:15",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:332:17",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(Ye,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:333:19",className:"h-4 w-4 text-purple-400"}),"选择器与标签"]})}),e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:336:15",className:"pt-0 space-y-3 text-xs",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:337:17",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:338:19",className:"text-slate-500 mb-1.5",children:"Selector (matchLabels)"}),e.jsx(pe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:339:19",labels:ye})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:341:17",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:342:19",className:"text-slate-500 mb-1.5",children:"Labels"}),e.jsx(pe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:343:19",labels:Se})]}),Object.keys(ae).length>0&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:346:19",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:347:21",className:"text-slate-500 mb-1.5",children:"Annotations"}),e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:348:21",className:"flex flex-wrap gap-1.5",children:Object.entries(ae).slice(0,8).map(([s,l])=>e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:350:25",variant:"outline",className:"border-slate-700 text-slate-500 text-[10px] font-mono max-w-[300px] truncate",children:s},s))})]})]})]})]}),g&&te.length>0&&e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:363:13",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:364:15",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:365:17",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(Me,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:366:19",className:"h-4 w-4 text-cyan-400"}),"存储卷声明模板 (VolumeClaimTemplates)"]})}),e.jsx(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:369:15",className:"pt-0",children:e.jsxs(ce,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:370:17",children:[e.jsx(le,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:371:19",children:e.jsxs(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:372:21",className:"border-slate-800 hover:bg-transparent",children:[e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:373:23",className:"text-slate-400",children:"名称"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:374:23",className:"text-slate-400",children:"访问模式"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:375:23",className:"text-slate-400",children:"存储类"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:376:23",className:"text-slate-400",children:"大小"})]})}),e.jsx(de,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:379:19",children:te.map((s,l)=>{const f=(s.spec?.accessModes||[]).join(", "),oe=s.spec?.storageClassName||s.spec?.storageClassName||"-",E=s.spec?.resources?.requests?.storage||"-";return e.jsxs(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:385:25",className:"border-slate-800",children:[e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:386:27",className:"font-medium text-slate-200",children:s.metadata?.name||"-"}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:387:27",className:"text-sm text-slate-400",children:f||"-"}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:388:27",className:"text-sm text-slate-400",children:oe}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:389:27",className:"text-sm text-slate-300 font-mono",children:E})]},l)})})]})})]}),e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:400:11",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:401:13",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:402:15",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(he,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:403:17",className:"h-4 w-4 text-blue-400"}),"容器模板(Pod Template)"]})}),e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:406:13",className:"pt-0",children:[Z.length>0&&e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:408:17",className:"mb-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:409:19",className:"text-[11px] text-slate-500 mb-2 uppercase tracking-wide",children:"Init Containers"}),e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:410:19",className:"space-y-2",children:Z.map((s,l)=>e.jsx(xe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:412:23",c:s},`init-${l}`))})]}),X.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:418:17",className:"text-xs text-slate-500 py-3",children:"暂无容器数据,请查看 YAML"}):e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:420:17",className:"space-y-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:421:19",className:"text-[11px] text-slate-500 mb-1 uppercase tracking-wide",children:"Containers"}),X.map((s,l)=>e.jsx(xe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:423:21",c:s},l))]})]})]}),e.jsxs(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:431:11",className:"bg-slate-900 border-slate-800",children:[e.jsx(y,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:432:13",className:"pb-3",children:e.jsxs(S,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:433:15",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(ze,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:434:17",className:"h-4 w-4 text-emerald-400"}),"Pod 实例 (",R.length,")"]})}),e.jsx(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:437:13",className:"p-0",children:e.jsxs(ce,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:438:15",children:[e.jsx(le,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:439:17",children:e.jsxs(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:440:19",className:"border-slate-800 hover:bg-transparent",children:[e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:441:21",className:"text-slate-400",children:"Pod 名称"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:442:21",className:"text-slate-400",children:"状态"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:443:21",className:"text-slate-400",children:"所在节点"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:444:21",className:"text-slate-400",children:"Pod IP"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:445:21",className:"text-slate-400",children:"重启"}),e.jsx(h,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:446:21",className:"text-slate-400",children:"操作"})]})}),e.jsx(de,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:449:17",children:R.length===0?e.jsx(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:451:21",children:e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:451:31",colSpan:6,className:"text-center text-slate-500 py-8",children:"暂无 Pod"})}):R.map(s=>e.jsxs(C,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:453:21",className:"border-slate-800 hover:bg-slate-800/30",children:[e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:454:23",className:"font-medium text-slate-200",children:s.name}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:455:23",children:e.jsx(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:456:25",style:{background:`${q(s.status)}22`,color:q(s.status),border:`1px solid ${q(s.status)}44`},children:s.status||"Unknown"})}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:460:23",className:"text-sm text-slate-400",children:s.node_name||s.node||"-"}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:461:23",className:"text-sm text-slate-400 font-mono",children:s.ip||s.pod_ip||"-"}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:462:23",className:(s.restart_count||0)>0?"text-yellow-400":"text-slate-500",children:s.restart_count||0}),e.jsx(i,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:463:23",children:e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:464:25",className:"flex items-center gap-1",children:[e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:465:27",variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-emerald-400 hover:text-emerald-300 hover:bg-emerald-500/10",onClick:()=>J(s),children:[e.jsx(Be,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:467:29",className:"h-3.5 w-3.5 mr-1"}),"终端"]}),e.jsxs(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:469:27",variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-amber-400 hover:text-amber-300 hover:bg-amber-500/10",onClick:()=>K(s),children:[e.jsx(De,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:471:29",className:"h-3.5 w-3.5 mr-1"}),"文件浏览器"]})]})})]},s.name))})]})})]})]}),ge&&e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:486:9",className:"fixed inset-0 bg-black/60 z-50 flex items-center justify-center",onClick:()=>L(!1),children:e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:487:11",className:"bg-slate-900 border border-slate-800 rounded-lg p-6 w-80",onClick:s=>s.stopPropagation(),children:[e.jsx("h3",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:488:13",className:"text-sm font-semibold text-slate-200 mb-4",children:"伸缩 StatefulSet"}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:489:13",className:"flex items-center justify-center gap-4 mb-4",children:[e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:490:15",variant:"outline",size:"icon",className:"h-9 w-9",onClick:()=>F(Math.max(0,v-1)),children:e.jsx(Ee,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:491:17",className:"h-4 w-4"})}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:493:15",className:"text-2xl font-bold text-slate-100 w-12 text-center",children:v}),e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:494:15",variant:"outline",size:"icon",className:"h-9 w-9",onClick:()=>F(v+1),children:e.jsx(qe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:495:17",className:"h-4 w-4"})})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:498:13",className:"flex gap-2",children:[e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:499:15",variant:"outline",size:"sm",className:"flex-1 border-slate-700 text-slate-400",onClick:()=>L(!1),children:"取消"}),e.jsx(x,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:500:15",size:"sm",className:"flex-1 bg-blue-600 hover:bg-blue-500",disabled:$,onClick:Pe,children:$?"执行中...":"确认"})]})]})}),we&&e.jsx(ie,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:510:9",clusterCode:o,namespace:r,resource:p.toLowerCase()+"s",name:c,onClose:()=>G(!1)}),_&&e.jsx(Fe,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:521:9",open:!0,onOpenChange:s=>{s||J(null)},clusterId:o,namespace:r,podName:_.name,containers:_.containers?.map(s=>s.name).filter(Boolean)||[]}),H&&e.jsx(_e,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:533:9",open:!0,onOpenChange:s=>{s||K(null)},clusterCode:o,namespace:r,podName:H.name,containers:H.containers?.map(s=>s.name).filter(Boolean)||[]})]})}function xe({c:t}){return e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:549:5",className:"border border-slate-800 rounded-lg p-3 bg-slate-950/30",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:550:7",className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:551:9",className:"flex items-center gap-2",children:[e.jsx(he,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:552:11",className:"h-4 w-4 text-blue-400"}),e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:553:11",className:"text-sm font-semibold text-slate-200",children:t.name})]}),e.jsx("code",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:555:9",className:"text-[11px] text-slate-400 font-mono truncate max-w-[400px]",children:t.image})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:557:7",className:"grid grid-cols-2 md:grid-cols-3 gap-2 text-xs",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:558:9",className:"text-slate-400",children:["CPU: ",e.jsxs("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:559:16",className:"text-slate-200 font-mono",children:[t.resources?.requests?.cpu||"-","/",t.resources?.limits?.cpu||"-"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:561:9",className:"text-slate-400",children:["内存: ",e.jsxs("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:562:15",className:"text-slate-200 font-mono",children:[t.resources?.requests?.memory||"-","/",t.resources?.limits?.memory||"-"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:564:9",className:"text-slate-400",children:["端口: ",e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:565:15",className:"text-slate-200 font-mono",children:(t.ports||[]).map(m=>m.containerPort||m.port).join(", ")||"-"})]})]})]})}export{ws as default};