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/ 目录。
2 lines
61 KiB
JavaScript
2 lines
61 KiB
JavaScript
import{i as gs,j as e,L as R,P as G,r as n,f as Gs,m as Is,h as Ne,B as p,C as I,Q as E,al as V,S as ge,v as te,N as ye,am as ys,G as ue,V as Ws,o as ve,D as ls,a as ds,b as ps,c as is}from"./index-Dmami9WE.js";import{C as qs,a as Js}from"./card-CIfC-8Rh.js";import{I as g}from"./input-NsU9nXZF.js";import{B as y}from"./badge-3UzCvU7L.js";import{T as Hs}from"./textarea-DHUZ6N85.js";import{L as d}from"./label-Ap_-SPYI.js";import{S as Y,a as Z,b as ee,c as se,d as v}from"./select-DUbxjT0z.js";import{d as be,p as P}from"./deploy-CD5bEXt-.js";import{t as x}from"./index-BuEnLCjT.js";import{C as W}from"./circle-x-BBQeW1R3.js";import{P as je}from"./plus-O65gX7Qz.js";import{A as S}from"./arrow-right-CkKR0P0R.js";import{S as Qs}from"./search-Dd-PeBfg.js";import{L as Ks}from"./layers-Dv4yGMGm.js";import{C as Us}from"./code-BAhZJUYV.js";import{C as Pe}from"./circle-stop-DadQKvNg.js";import{P as Xs}from"./play-0EwQQJX_.js";import{H as Ys}from"./history-CbX6uocL.js";import{T as xs}from"./trash-2-DWVnIU6o.js";import{B as Zs}from"./box-88Ol5qY-.js";import{T as ms}from"./tag-utZ9-UQ0.js";import{F as hs}from"./file-text-CebshSV-.js";import"./index-CtCQcvyh.js";import"./chevron-up-Cq4GPopa.js";const ea=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],sa=gs("package",ea);const aa=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],ta=gs("workflow",aa);function na(c){return c.toLowerCase().replace(/[^a-z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||`pipeline-${Date.now()}`}function oa(c){switch(c){case"success":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:49:9",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx(G,{"code-path":"src/components/deploy/pipeline-helpers.tsx:50:11",className:"h-3 w-3 mr-1"}),"成功"]});case"failed":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:56:9",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[e.jsx(W,{"code-path":"src/components/deploy/pipeline-helpers.tsx:57:11",className:"h-3 w-3 mr-1"}),"失败"]});case"running":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:63:9",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10 animate-pulse",children:[e.jsx(R,{"code-path":"src/components/deploy/pipeline-helpers.tsx:64:11",className:"h-3 w-3 mr-1 animate-spin"}),"运行中"]});default:return e.jsx(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:70:9",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",children:"从未运行"})}}const ae=[{key:"checkout",label:"代码检出",icon:E,color:"#6366F1",order:1,needs:["repo"],desc:"从 Git 仓库拉取代码"},{key:"build",label:"构建",icon:Zs,color:"#F59E0B",order:2,needs:[],desc:"编译/打包项目"},{key:"test",label:"测试",icon:G,color:"#10B981",order:3,needs:[],desc:"运行单元/集成测试"},{key:"image",label:"镜像打包",icon:te,color:"#06B6D4",order:4,needs:["registry"],desc:"Docker 构建 & 推送"},{key:"deploy",label:"部署",icon:V,color:"#EF4444",order:5,needs:[],desc:"部署到目标环境"},{key:"verify",label:"验证",icon:ys,color:"#3B82F6",order:6,needs:[],desc:"部署后健康检查"}].sort((c,b)=>c.order-b.order);function Me(c){if(!c)return"-";if(c<60)return`${c}s`;const b=Math.floor(c/60),i=c%60;return i>0?`${b}分${i}秒`:`${b}分`}function ca(c){if(!c)return[];try{const b=typeof c=="string"?JSON.parse(c):c;return Array.isArray(b)?b:[]}catch{return[]}}function Ta(){const[c,b]=n.useState(""),[i,q]=n.useState([]),[J,B]=n.useState(!0),[M,w]=n.useState({}),[H,D]=n.useState({}),[N,L]=n.useState({}),[T,A]=n.useState("all"),[r,fe]=n.useState({}),[us,F]=n.useState(!1),[Q,we]=n.useState(""),[k,ke]=n.useState(""),[_e,Ce]=n.useState(""),[ne,Se]=n.useState(""),[Re,Ee]=n.useState("main"),[Be,De]=n.useState(""),[m,Le]=n.useState(["checkout","build","image","deploy"]),[,vs]=n.useState(""),[,bs]=n.useState(""),[oe,Te]=n.useState("branch"),[Ae,Fe]=n.useState("ssh"),[ce,$e]=n.useState(""),[re,ze]=n.useState(!1),[js,Ps]=n.useState([]),[Ms,Ns]=n.useState([]),[K,Oe]=n.useState(""),[_,Ve]=n.useState(""),[$,Ge]=n.useState("manual"),[Ie,We]=n.useState(""),[qe,Je]=n.useState(""),[He,le]=n.useState(""),[Qe,Ke]=n.useState(""),[j,C]=n.useState([]),[Ue,Xe]=n.useState(""),[Ye,fs]=n.useState(2),[,ws]=n.useState([]),[,ks]=n.useState([]),[_s,Cs]=n.useState([]),[,la]=n.useState([]),[,da]=n.useState([]),[Ss,Ze]=n.useState(!1),[z,Rs]=n.useState(null),[es,ss]=n.useState([]),as=Gs(),ts=Is(),Es=[{key:"all",label:"全部",icon:Ks,color:"#6B7280"},{key:"production",label:"生产",icon:ys,color:"#EF4444"},{key:"testing",label:"测试",icon:G,color:"#F59E0B"},{key:"staging",label:"预发布",icon:ue,color:"#8B5CF6"},{key:"development",label:"开发",icon:Us,color:"#3B82F6"}],Bs=n.useCallback(async()=>{try{const[s,a,t,o]=await Promise.all([be.getRepos().catch(()=>({list:[]})),be.getRegistries().catch(()=>({list:[]})),be.getEnvironments().catch(()=>({list:[]})),Ne.get("/credentials",{page_size:100}).catch(()=>({list:[]}))]);ws(Array.isArray(s?.list)?s.list:[]),ks(Array.isArray(a?.list)?a.list:[]),Cs(Array.isArray(t?.list)?t.list:[]);const h=o?.list||[];Ps(h.filter(u=>u.secret_type==="api")),Ns(h.filter(u=>u.secret_type==="docker"))}catch{}},[]),O=n.useCallback(async()=>{B(!0);try{const s=await P.getPipelines();q(Array.isArray(s?.list)?s.list:[])}catch{x.error("获取流水线列表失败")}finally{B(!1)}},[]);n.useEffect(()=>{Bs(),O()},[]),n.useEffect(()=>{i.forEach(s=>{s.last_status==="running"&&!r[s.id]&&P.getRuns(s.id).then(a=>{const o=(a?.list||[]).find(h=>h.status==="running"||h.status==="pending");o&&fe(h=>({...h,[s.id]:o}))}).catch(()=>{})})},[i]);const de=async(s,a)=>{L(t=>({...t,[s]:!0}));try{const t=await P.getRuns(a);D(o=>({...o,[s]:t?.list||[]}))}catch{D(t=>({...t,[s]:[]}))}finally{L(t=>({...t,[s]:!1}))}},Ds=(s,a)=>{M[s]?w(t=>({...t,[s]:!1})):(de(s,a),w(t=>({...t,[s]:!0})))},Ls=async()=>{if(!Q.trim()){x.error("请输入流水线名称");return}if(m.includes("checkout")&&!ne.trim()){x.error("代码检出阶段需要填写 Git URL");return}if(m.includes("image")&&!_){x.error("镜像打包阶段需要关联 Docker 凭证");return}ze(!0);try{const s=m.map(t=>ae.find(o=>o.key===t)?.label||t),a=JSON.stringify(s.map((t,o)=>({id:`stage-${o+1}`,name:t,type:m[o]||"custom",tasks:[]})));await P.createPipeline({name:Q,code:na(Q),job_name:k||void 0,description:_e,source:ne,branch:Re,dockerfile:Be,type:"deploy",stages:a,deploy_mode:oe,deploy_target:Ae,environment_id:ce?Number(ce):null,repo_id:null,registry_id:null,git_credential_id:K?Number(K):null,registry_credential_id:_?Number(_):null,trigger_mode:$,watch_branches:Ie||void 0,exclude_branch:qe||void 0,cron_expr:He||void 0,webhook_token:Qe||void 0,variables:j.length>0?JSON.stringify(j):void 0,cache_paths:Ue||void 0,max_executors:Ye}),x.success("流水线已创建"),F(!1),Ts(),O()}catch{x.error("创建失败")}finally{ze(!1)}},Ts=()=>{we(""),ke(""),Ce(""),Se(""),Ee("main"),De(""),Le(["checkout","build","image","deploy"]),vs(""),bs(""),Te("branch"),Fe("ssh"),$e(""),Oe(""),Ve(""),Ge("manual"),We(""),Je(""),le(""),Ke(""),C([]),Xe("")},As=async(s,a)=>{try{await P.triggerPipeline(a),x.success("已触发"),de(s,a),O()}catch{x.error("触发失败")}},pe=async(s,a,t)=>{if(await as({title:"停止运行",description:"确定要停止此运行吗?",variant:"destructive"}))try{await P.stopRun(a,t),x.success("已停止"),de(s,a),fe(h=>{const u={...h};return delete u[s],u})}catch{x.error("停止失败")}},Fs=async(s,a)=>{const t=r[s];if(!t){try{const h=((await P.getRuns(a))?.list||[]).find(u=>u.status==="running"||u.status==="pending");h?await pe(s,a,h.id):x.error("未找到运行中的任务")}catch{x.error("停止失败")}return}await pe(s,a,t.id)},$s=async(s,a)=>{Rs(a),Ze(!0);try{const t=await P.getRunLog(s,a.id);ss(t?.logs||[])}catch{ss([])}},zs=async s=>{if(await as({title:"删除流水线",description:`确定删除「${s.name}」?`,variant:"destructive"}))try{await P.deletePipeline(s.code),x.success("已删除"),O()}catch{x.error("删除失败")}},ns=i.filter(s=>{const a=(s.name||"").toLowerCase().includes(c.toLowerCase())||(s.description||"").toLowerCase().includes(c.toLowerCase()),t=T==="all"||(s.environment?.type||"")===T;return a&&t});return i.length,i.filter(s=>s.last_status==="running").length,i.filter(s=>s.last_status==="success").length,i.filter(s=>s.last_status==="failed").length,e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:285:5",className:"space-y-5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:286:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:287:9",children:[e.jsx("h1",{"code-path":"src/components/deploy/PipelineManager.tsx:288:11",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:"流水线"}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:289:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:"CI/CD 构建 · 部署 · 发布一体化"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:291:9",className:"flex items-center gap-2",children:[e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:292:11",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",onClick:O,children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:293:13",className:`h-4 w-4 mr-2 ${J?"animate-spin":""}`}),"刷新"]}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:295:11",onClick:()=>F(!0),children:[e.jsx(je,{"code-path":"src/components/deploy/PipelineManager.tsx:295:52",className:"h-4 w-4 mr-2"}),"新建流水线"]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:300:7",className:"flex items-stretch gap-3 px-4 py-3 rounded-lg bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:302:9",className:"flex-1 space-y-1.5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:303:11",className:"flex items-center gap-1.5",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineManager.tsx:304:13",className:"h-3 w-3 text-indigo-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:305:13",className:"text-[10px] font-semibold text-indigo-400",children:"构建"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:306:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsx(V,{"code-path":"src/components/deploy/PipelineManager.tsx:307:13",className:"h-3 w-3 text-red-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:308:13",className:"text-[10px] font-semibold text-red-400",children:"部署"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:309:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:310:13",className:"flex items-center gap-1 px-2 py-0.5 rounded bg-blue-400/10 border border-blue-400/20",children:[e.jsx(ge,{"code-path":"src/components/deploy/PipelineManager.tsx:311:15",className:"h-3 w-3 text-blue-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:312:15",className:"text-[10px] font-medium text-blue-400",children:"SSH 主机"})]})]}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:315:11",className:"text-[9px] text-[var(--dg-text-secondary)] opacity-40 pl-1",children:"传统主机 SCP 部署 · 无需镜像仓库"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:318:9",className:"w-px bg-[var(--dg-border)]"}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:320:9",className:"flex-1 space-y-1.5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:321:11",className:"flex items-center gap-1.5",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineManager.tsx:322:13",className:"h-3 w-3 text-indigo-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:323:13",className:"text-[10px] font-semibold text-indigo-400",children:"构建"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:324:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsx(te,{"code-path":"src/components/deploy/PipelineManager.tsx:325:13",className:"h-3 w-3 text-cyan-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:326:13",className:"text-[10px] font-semibold text-cyan-400",children:"镜像仓库"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:327:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsx(V,{"code-path":"src/components/deploy/PipelineManager.tsx:328:13",className:"h-3 w-3 text-red-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:329:13",className:"text-[10px] font-semibold text-red-400",children:"部署"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:330:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:331:13",className:"flex items-center gap-1 px-2 py-0.5 rounded bg-emerald-400/10 border border-emerald-400/20",children:[e.jsx(ye,{"code-path":"src/components/deploy/PipelineManager.tsx:332:15",className:"h-3 w-3 text-emerald-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:333:15",className:"text-[10px] font-medium text-emerald-400",children:"Kubernetes"})]})]}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:336:11",className:"text-[9px] text-[var(--dg-text-secondary)] opacity-40 pl-1",children:"容器化部署 · 需镜像仓库推送"})]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:338:9",className:"self-center ml-2 text-[10px] text-[var(--dg-text-secondary)] opacity-30 tracking-wide whitespace-nowrap",children:"全流程可视化"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:341:7",className:"flex items-center gap-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:342:9",className:"relative max-w-md flex-1",children:[e.jsx(Qs,{"code-path":"src/components/deploy/PipelineManager.tsx:343:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-[var(--dg-text-secondary)]"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:344:11",placeholder:"搜索流水线...",value:c,onChange:s=>b(s.target.value),className:"pl-10 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:347:9",className:"flex items-center gap-1 bg-[var(--dg-bg-secondary)] rounded-lg p-1 border border-[var(--dg-border)]",children:Es.map(s=>{const a=T===s.key,t=s.icon;return e.jsxs("button",{"code-path":"src/components/deploy/PipelineManager.tsx:352:15",onClick:()=>A(s.key),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium transition-all ${a?"text-white shadow-sm":"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)]"}`,style:a?{backgroundColor:s.color}:{},children:[e.jsx(t,{"code-path":"src/components/deploy/PipelineManager.tsx:356:17",className:"h-3.5 w-3.5"}),s.label]},s.key)})})]}),J?e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:364:9",className:"flex items-center justify-center py-12",children:e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:364:65",className:"h-6 w-6 text-[var(--dg-text-secondary)] animate-spin"})}):ns.length===0?e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:366:9",className:"text-center py-16 text-[var(--dg-text-secondary)]",children:[e.jsx(ta,{"code-path":"src/components/deploy/PipelineManager.tsx:367:11",className:"h-10 w-10 mx-auto mb-3 opacity-30"}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:368:11",className:"text-sm",children:"暂无流水线"}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:369:11",variant:"outline",className:"mt-4",onClick:()=>F(!0),children:[e.jsx(je,{"code-path":"src/components/deploy/PipelineManager.tsx:369:87",className:"h-4 w-4 mr-1"}),"创建第一个流水线"]})]}):e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:372:9",className:"space-y-3",children:ns.map(s=>{const a=ca(s.stages),t=H[s.id]||[],o=M[s.id],h=N[s.id],u=s.repo,os=s.registry;return e.jsx(qs,{"code-path":"src/components/deploy/PipelineManager.tsx:380:15",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] overflow-hidden",children:e.jsxs(Js,{"code-path":"src/components/deploy/PipelineManager.tsx:381:17",className:"p-0",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:382:19",className:"px-4 py-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:383:21",className:"flex items-start justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:384:23",className:"flex-1 min-w-0",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:385:25",className:"flex items-center gap-2 flex-wrap",children:[e.jsx("h3",{"code-path":"src/components/deploy/PipelineManager.tsx:386:27",className:"font-semibold text-[var(--dg-text-primary)]",children:s.name}),s.run_count>0&&e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:387:54",variant:"outline",className:"text-[11px] text-[var(--dg-text-secondary)] border-[var(--dg-border)]",children:["#",s.run_count]}),oa(s.last_status),s.environment&&e.jsx(y,{"code-path":"src/components/deploy/PipelineManager.tsx:389:52",style:{backgroundColor:s.environment.color+"20",color:s.environment.color},className:"text-xs",children:s.environment.display_name}),s.job_name&&e.jsx(y,{"code-path":"src/components/deploy/PipelineManager.tsx:390:49",variant:"secondary",className:"text-xs font-mono opacity-60",children:s.job_name})]}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:392:25",className:"text-xs text-[var(--dg-text-secondary)] mt-1 line-clamp-1",children:s.description||"暂无描述"}),(s.last_run_branch||s.last_commit_id||s.last_image_tag)&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:395:27",className:"flex items-center gap-1 mt-1.5 text-xs font-mono",children:[s.last_run_branch&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:397:31",className:"flex items-center gap-0.5 text-indigo-400",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineManager.tsx:398:33",className:"h-3 w-3"}),s.last_run_branch]}),s.last_run_branch&&s.last_commit_id&&e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:402:31",className:"text-[var(--dg-text-secondary)] opacity-50 text-[10px] mx-0.5",children:"+"}),s.last_commit_id&&e.jsx("code",{"code-path":"src/components/deploy/PipelineManager.tsx:405:31",className:"text-amber-400 bg-amber-400/10 px-1 py-0.5 rounded text-[11px]",children:s.last_commit_id.slice(0,8)}),(s.last_run_branch||s.last_commit_id)&&s.last_image_tag&&e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:408:31",className:"h-3 w-3 text-[var(--dg-text-secondary)] opacity-40 mx-0.5"}),s.last_image_tag&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:411:31",className:"flex items-center gap-0.5 text-cyan-400",children:[e.jsx(sa,{"code-path":"src/components/deploy/PipelineManager.tsx:412:33",className:"h-3 w-3"}),e.jsx("code",{"code-path":"src/components/deploy/PipelineManager.tsx:413:33",className:"bg-cyan-400/10 px-1 py-0.5 rounded text-[11px]",children:s.last_image_tag})]}),s.last_duration>0&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:417:31",className:"flex items-center gap-0.5 ml-auto text-[var(--dg-text-secondary)] opacity-50",children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:418:33",className:"h-3 w-3"}),Me(s.last_duration)]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:423:25",className:"flex items-center gap-3 mt-1.5 text-xs text-[var(--dg-text-secondary)] opacity-60",children:[e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:424:27",className:"flex items-center gap-1",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineManager.tsx:424:69",className:"h-3 w-3"}),s.deploy_mode==="tag"?"Tag发版":s.branch||"main"]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:425:27",className:"flex items-center gap-1",children:(s.deploy_target||"ssh")==="k8s"?e.jsxs(e.Fragment,{children:[e.jsx(ye,{"code-path":"src/components/deploy/PipelineManager.tsx:425:118",className:"h-3 w-3"}),"Kubernetes"]}):e.jsxs(e.Fragment,{children:[e.jsx(ge,{"code-path":"src/components/deploy/PipelineManager.tsx:425:167",className:"h-3 w-3"}),"SSH 主机"]})}),u&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:426:36",className:"flex items-center gap-1",children:[e.jsx(ue,{"code-path":"src/components/deploy/PipelineManager.tsx:426:78",className:"h-3 w-3"}),u.name]}),os&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:427:40",className:"flex items-center gap-1",children:[e.jsx(te,{"code-path":"src/components/deploy/PipelineManager.tsx:427:82",className:"h-3 w-3"}),os.name]}),s.last_run_at&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:428:52",children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:428:58",className:"h-3 w-3 inline mr-0.5"}),new Date(s.last_run_at).toLocaleString("zh-CN")]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:431:23",className:"flex items-center gap-1 ml-4 shrink-0",children:[s.last_status==="running"?e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:433:27",variant:"destructive",size:"sm",className:"h-8",onClick:()=>Fs(s.id,s.code),children:[e.jsx(Pe,{"code-path":"src/components/deploy/PipelineManager.tsx:434:29",className:"h-3.5 w-3.5 mr-1"}),"停止"]}):e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:437:27",variant:"default",size:"sm",className:"h-8",onClick:()=>As(s.id,s.code),children:[e.jsx(Xs,{"code-path":"src/components/deploy/PipelineManager.tsx:438:29",className:"h-3.5 w-3.5 mr-1"}),"执行"]}),e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:441:25",variant:"outline",size:"sm",className:"h-8",onClick:()=>ts(`/pipelines/${s.code||s.id}`),children:"编辑"}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:442:25",variant:"outline",size:"sm",className:"h-8",onClick:()=>ts(`/pipelines/${s.code||s.id}/runs`),children:[e.jsx(Ys,{"code-path":"src/components/deploy/PipelineManager.tsx:443:27",className:"h-3.5 w-3.5 mr-1"}),"记录"]}),e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:444:25",variant:"ghost",size:"sm",className:"h-8",onClick:()=>Ds(s.id,s.code),children:o?e.jsx(Ws,{"code-path":"src/components/deploy/PipelineManager.tsx:445:41",className:"h-4 w-4"}):e.jsx(ve,{"code-path":"src/components/deploy/PipelineManager.tsx:445:79",className:"h-4 w-4"})}),e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:447:25",variant:"ghost",size:"icon",className:"h-8 w-8 text-red-500",onClick:()=>zs(s),children:e.jsx(xs,{"code-path":"src/components/deploy/PipelineManager.tsx:447:133",className:"h-4 w-4"})})]})]}),a.length>0&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:451:23",className:"flex items-center mt-2.5",children:a.map((l,U)=>{const cs=ae.find(X=>X.label===l.name);cs?.icon||ms;let f="";if(s.last_run_stages)try{const X=typeof s.last_run_stages=="string"?JSON.parse(s.last_run_stages):s.last_run_stages;f=(Array.isArray(X)?X.find(rs=>rs.name===l.name||rs.type===cs?.key):null)?.status||""}catch{}const ie=f==="success"||f==="completed",xe=f==="running"||f==="in_progress",me=f==="failed"||f==="error",he=me?"#EF4444":xe?"#3B82F6":ie?"#10B981":"#6B7280",Os=me?"#EF444528":xe?"#3B82F628":ie?"#10B98128":"#6B728018",Vs=me?e.jsx(W,{"code-path":"src/components/deploy/PipelineManager.tsx:469:51",className:"h-3 w-3"}):xe?e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:469:97",className:"h-3 w-3 animate-spin"}):ie?e.jsx(G,{"code-path":"src/components/deploy/PipelineManager.tsx:469:156",className:"h-3 w-3"}):e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:469:194",className:"text-[10px] opacity-40",children:"○"});return e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:471:29",className:"flex items-center",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:472:31",className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[11px] font-semibold border shadow-sm",style:{backgroundColor:Os,borderColor:he+"70",color:he,borderRadius:U===0?"8px 0 0 8px":U===a.length-1?"0 8px 8px 0":"0"},children:[Vs,l.name]}),U<a.length-1&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:477:33",className:"flex items-center justify-center w-5 h-5 -mx-px z-10",children:e.jsx(ve,{"code-path":"src/components/deploy/PipelineManager.tsx:478:35",className:"h-3.5 w-3.5",style:{color:he+"CC"}})})]},U)})})]}),o&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:488:21",className:"border-t border-[var(--dg-border)]",children:[e.jsx(ra,{"code-path":"src/components/deploy/PipelineManager.tsx:489:23",pipeline:s,clusterId:""}),h?e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:491:25",className:"flex items-center justify-center py-6",children:e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:491:80",className:"h-5 w-5 animate-spin text-[var(--dg-text-secondary)]"})}):t.length===0?e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:493:25",className:"py-6 text-center text-[var(--dg-text-secondary)] text-sm",children:"暂无执行记录"}):e.jsxs("table",{"code-path":"src/components/deploy/PipelineManager.tsx:495:25",className:"w-full text-sm",children:[e.jsx("thead",{"code-path":"src/components/deploy/PipelineManager.tsx:496:27",className:"border-b border-[var(--dg-border)]",children:e.jsxs("tr",{"code-path":"src/components/deploy/PipelineManager.tsx:496:81",className:"bg-[var(--dg-bg-tertiary)]",children:[e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:497:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"#"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:498:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"状态"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:499:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"触发人"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:500:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"耗时"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:501:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"时间"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:502:29",className:"px-4 py-2 text-right text-xs font-medium text-[var(--dg-text-secondary)]",children:"操作"})]})}),e.jsx("tbody",{"code-path":"src/components/deploy/PipelineManager.tsx:504:27",children:t.map(l=>e.jsxs("tr",{"code-path":"src/components/deploy/PipelineManager.tsx:506:31",className:"border-b border-[var(--dg-border)] hover:bg-[var(--dg-bg-tertiary)]/50",children:[e.jsxs("td",{"code-path":"src/components/deploy/PipelineManager.tsx:507:33",className:"px-4 py-2 font-medium text-[var(--dg-text-primary)]",children:["#",l.build_number||l.id]}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:508:33",className:"px-4 py-2",children:l.status==="success"?e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:509:61",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30 text-[11px]",children:[e.jsx(G,{"code-path":"src/components/deploy/PipelineManager.tsx:509:149",className:"h-3 w-3 mr-0.5"}),"成功"]}):l.status==="failed"?e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:510:60",className:"bg-red-500/20 text-red-400 border-red-500/30 text-[11px]",children:[e.jsx(W,{"code-path":"src/components/deploy/PipelineManager.tsx:510:136",className:"h-3 w-3 mr-0.5"}),"失败"]}):l.status==="running"?e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:511:61",className:"bg-blue-500/20 text-blue-400 border-blue-500/30 text-[11px]",children:[e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:511:140",className:"h-3 w-3 animate-spin mr-0.5"}),"执行中"]}):l.status==="cancelled"?e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:512:63",className:"bg-yellow-500/20 text-yellow-400 border-yellow-500/30 text-[11px]",children:[e.jsx(Pe,{"code-path":"src/components/deploy/PipelineManager.tsx:512:148",className:"h-3 w-3 mr-0.5"}),"已停止"]}):e.jsx(y,{"code-path":"src/components/deploy/PipelineManager.tsx:513:36",variant:"secondary",className:"text-[11px]",children:l.status})}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:515:33",className:"px-4 py-2 text-[var(--dg-text-secondary)] text-xs",children:l.triggered_by||"admin"}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:516:33",className:"px-4 py-2 text-[var(--dg-text-secondary)] text-xs",children:Me(l.duration)}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:517:33",className:"px-4 py-2 text-[var(--dg-text-secondary)] text-xs",children:l.created_at?new Date(l.created_at).toLocaleString("zh-CN"):"-"}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:518:33",className:"px-4 py-2 text-right",children:e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:519:35",className:"flex items-center justify-end gap-1",children:[e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:520:37",variant:"ghost",size:"sm",className:"h-7 text-xs text-blue-400 hover:text-blue-300",onClick:()=>$s(s.code,l),children:[e.jsx(hs,{"code-path":"src/components/deploy/PipelineManager.tsx:520:177",className:"h-3.5 w-3.5 mr-1"}),"日志"]}),(l.status==="running"||l.status==="pending")&&e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:522:39",variant:"ghost",size:"sm",className:"h-7 text-xs text-red-400 hover:text-red-300",onClick:()=>pe(s.id,s.code,l.id),children:[e.jsx(Pe,{"code-path":"src/components/deploy/PipelineManager.tsx:522:190",className:"h-3.5 w-3.5 mr-1"}),"停止"]})]})})]},l.id))})]})]})]})},s.id)})}),e.jsx(ls,{"code-path":"src/components/deploy/PipelineManager.tsx:541:7",open:us,onOpenChange:F,children:e.jsxs(ds,{"code-path":"src/components/deploy/PipelineManager.tsx:542:9",className:"max-w-2xl max-h-[85vh] overflow-y-auto bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsx(ps,{"code-path":"src/components/deploy/PipelineManager.tsx:543:11",children:e.jsxs(is,{"code-path":"src/components/deploy/PipelineManager.tsx:543:25",className:"flex items-center gap-2",children:[e.jsx(V,{"code-path":"src/components/deploy/PipelineManager.tsx:543:74",className:"h-5 w-5"}),"新建流水线"]})}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:544:11",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:546:13",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:547:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:548:17",children:["名称 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:548:27",className:"text-red-400",children:"*"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:549:17",value:Q,onChange:s=>we(s.target.value),placeholder:"例如: demo-jar 后端部署",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:551:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:552:17",children:["Job 名称 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:552:31",className:"text-xs text-[var(--dg-text-secondary)]",children:"(Webhook URL)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:553:17",value:k,onChange:s=>ke(s.target.value),placeholder:"cex-admin-server",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9 font-mono text-sm"}),k&&e.jsxs("p",{"code-path":"src/components/deploy/PipelineManager.tsx:554:32",className:"text-[10px] text-[var(--dg-text-secondary)] opacity-60",children:["Webhook: POST .../webhook/job/",e.jsx("b",{"code-path":"src/components/deploy/PipelineManager.tsx:554:132",children:k})]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:557:13",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:557:40",children:"描述"}),e.jsx(Hs,{"code-path":"src/components/deploy/PipelineManager.tsx:557:57",value:_e,onChange:s=>Ce(s.target.value),placeholder:"流水线描述...",rows:2,className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:560:13",className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:561:15",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:562:17",children:"部署模式"}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:563:17",className:"flex gap-1 bg-[var(--dg-bg-secondary)] rounded-lg p-1 border border-[var(--dg-border)]",children:[{key:"branch",label:"分支",icon:E},{key:"tag",label:"Tag 发版",icon:ms}].map(s=>{const a=oe===s.key;return e.jsxs("button",{"code-path":"src/components/deploy/PipelineManager.tsx:570:23",onClick:()=>Te(s.key),className:`flex-1 flex items-center justify-center gap-1 px-2 py-1.5 rounded-md text-xs font-medium transition-all ${a?"bg-blue-500 text-white":"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)]"}`,children:[e.jsx(s.icon,{"code-path":"src/components/deploy/PipelineManager.tsx:573:25",className:"h-3.5 w-3.5"}),s.label]},s.key)})})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:579:15",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:580:17",children:"部署目标"}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:581:17",className:"flex gap-1 bg-[var(--dg-bg-secondary)] rounded-lg p-1 border border-[var(--dg-border)]",children:[{key:"ssh",label:"SSH 主机",icon:ge},{key:"k8s",label:"Kubernetes 集群",icon:ye}].map(s=>{const a=Ae===s.key;return e.jsxs("button",{"code-path":"src/components/deploy/PipelineManager.tsx:588:23",onClick:()=>Fe(s.key),className:`flex-1 flex items-center justify-center gap-1 px-2 py-1.5 rounded-md text-xs font-medium transition-all ${a?"bg-green-500 text-white":"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)]"}`,children:[e.jsx(s.icon,{"code-path":"src/components/deploy/PipelineManager.tsx:591:25",className:"h-3.5 w-3.5"}),s.label]},s.key)})})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:597:15",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:598:17",children:"环境分组"}),e.jsxs(Y,{"code-path":"src/components/deploy/PipelineManager.tsx:599:17",value:String(ce),onValueChange:s=>$e(s==="__none"?"":s),children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineManager.tsx:600:19",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineManager.tsx:600:104",placeholder:"选择环境"})}),e.jsxs(se,{"code-path":"src/components/deploy/PipelineManager.tsx:601:19",children:[e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:602:21",value:"__none",children:"不指定"}),_s.map(s=>e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:604:23",value:String(s.id),children:e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:605:25",className:"flex items-center gap-1.5",children:[e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:606:27",className:"w-2 h-2 rounded-full inline-block",style:{backgroundColor:s.color}}),s.display_name]})},s.id))]})]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:617:13",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:618:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:619:17",children:["Git URL ",m.includes("checkout")&&e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:619:72",className:"text-red-400",children:"*"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:620:17",value:ne,onChange:s=>Se(s.target.value),placeholder:"https://gitee.com/user/repo.git",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9 font-mono text-xs"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:623:15",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:624:17",children:"分支 / Tag"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:625:17",value:Re,onChange:s=>Ee(s.target.value),placeholder:oe==="tag"?"v1.0.0":"main",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:628:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:629:17",children:["Git 凭证 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:629:31",className:"text-xs text-[var(--dg-text-secondary)] opacity-60",children:"(API Token)"})]}),e.jsxs(Y,{"code-path":"src/components/deploy/PipelineManager.tsx:630:17",value:String(K),onValueChange:s=>Oe(s==="__none"?"":s),children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineManager.tsx:631:19",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineManager.tsx:631:104",placeholder:"选择凭证"})}),e.jsxs(se,{"code-path":"src/components/deploy/PipelineManager.tsx:632:19",children:[e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:633:21",value:"__none",children:"不关联"}),js.map(s=>e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:635:23",value:String(s.id),children:e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:636:25",className:"flex items-center gap-1.5",children:[e.jsx(ue,{"code-path":"src/components/deploy/PipelineManager.tsx:636:69",className:"h-3 w-3 opacity-60"}),s.name," ",s.summary&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:636:132",className:"text-[10px] opacity-50",children:["(",s.summary,")"]})]})},s.id))]})]}),!K&&m.includes("checkout")&&e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:641:80",className:"text-xs text-amber-400",children:"建议关联凭证"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:643:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:644:17",children:["镜像仓库凭证 ",m.includes("image")&&e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:644:68",className:"text-red-400",children:"*"})]}),e.jsxs(Y,{"code-path":"src/components/deploy/PipelineManager.tsx:645:17",value:String(_),onValueChange:s=>Ve(s==="__none"?"":s),children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineManager.tsx:646:19",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineManager.tsx:646:104",placeholder:"选择 Docker 凭证"})}),e.jsxs(se,{"code-path":"src/components/deploy/PipelineManager.tsx:647:19",children:[e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:648:21",value:"__none",children:"不关联"}),Ms.map(s=>e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:650:23",value:String(s.id),children:e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:651:25",className:"flex items-center gap-1.5",children:[e.jsx(te,{"code-path":"src/components/deploy/PipelineManager.tsx:651:69",className:"h-3 w-3 opacity-60"}),s.name," ",s.summary&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:651:136",className:"text-[10px] opacity-50",children:["(",s.summary,")"]})]})},s.id))]})]}),!_&&m.includes("image")&&e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:656:82",className:"text-xs text-amber-400",children:"需要关联 Docker 凭证"})]})]}),_&&k&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:661:15",className:"p-2.5 rounded-md bg-blue-500/5 border border-blue-500/20 text-xs text-[var(--dg-text-secondary)]",children:[e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:662:17",className:"text-blue-400",children:"镜像命名:"}),e.jsxs("code",{"code-path":"src/components/deploy/PipelineManager.tsx:663:17",className:"text-[var(--dg-text-primary)]",children:["{registry}","/","{namespace}","/","{","{JOB_BASE_NAME}","}",":","{","{tag}","}"]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:664:17",className:"ml-2 opacity-60",children:"例:"}),e.jsxs("code",{"code-path":"src/components/deploy/PipelineManager.tsx:665:17",className:"opacity-60",children:["harbor.ast1001.com/test/",k,":latest"]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:668:13",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:668:40",children:"Dockerfile 路径"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:668:68",value:Be,onChange:s=>De(s.target.value),placeholder:"jar/Dockerfile",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9 font-mono text-xs"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:671:13",className:"space-y-2",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:672:15",children:["发布流程 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:672:27",className:"text-xs text-[var(--dg-text-secondary)] opacity-70 ml-1",children:"按顺序选择阶段"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:673:15",className:"flex flex-wrap gap-2",children:ae.map(s=>{const a=m.includes(s.key);return e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:677:21",className:`cursor-pointer transition-all text-xs px-3 py-1.5 ${a?"border-current":"border-[var(--dg-border)] opacity-50 hover:opacity-80"}`,style:a?{backgroundColor:s.color+"20",color:s.color,borderColor:s.color}:{},onClick:()=>Le(a?m.filter(t=>t!==s.key):[...m,s.key]),title:s.desc,children:[e.jsx(s.icon,{"code-path":"src/components/deploy/PipelineManager.tsx:682:23",className:"h-3 w-3 mr-1"}),s.label," ",s.needs.includes("repo")?"🔗":"",s.needs.includes("registry")?"📦":""]},s.key)})}),m.length>0&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:688:17",className:"flex items-center mt-2",children:m.map((s,a)=>{const t=ae.find(o=>o.key===s);return e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:692:23",className:"flex items-center",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:693:25",className:"flex items-center gap-1 px-2 py-1 text-[11px] font-medium border",style:{backgroundColor:t.color+"20",borderColor:t.color+"40",color:t.color,borderRadius:a===0?"6px 0 0 6px":a===m.length-1?"0 6px 6px 0":"0"},children:[e.jsx(t.icon,{"code-path":"src/components/deploy/PipelineManager.tsx:695:27",className:"h-3 w-3"}),t.label]}),a<m.length-1&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:698:27",className:"flex items-center justify-center w-4 h-5 -mx-px z-10",children:e.jsx(ve,{"code-path":"src/components/deploy/PipelineManager.tsx:699:29",className:"h-3 w-3",style:{color:t.color}})})]},a)})})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:710:13",className:"border-t border-[var(--dg-border)] pt-4",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:711:15",className:"mb-2 block",children:"触发方式"}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:712:15",className:"flex gap-1 bg-[var(--dg-bg-secondary)] rounded-lg p-1 border border-[var(--dg-border)]",children:[{key:"manual",label:"手动",desc:"手动触发执行"},{key:"git_push",label:"代码推送",desc:"Git Push 自动触发"},{key:"cron",label:"定时",desc:"Cron 定时执行"},{key:"webhook",label:"Webhook",desc:"外部 Webhook 调用"}].map(s=>{const a=$===s.key;return e.jsx("button",{"code-path":"src/components/deploy/PipelineManager.tsx:721:21",onClick:()=>Ge(s.key),className:`flex-1 flex flex-col items-center gap-0.5 px-2 py-2 rounded-md text-xs font-medium transition-all ${a?"bg-blue-500 text-white":"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)]"}`,title:s.desc,children:s.label},s.key)})}),$==="git_push"&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:733:17",className:"mt-3 space-y-2 p-3 rounded-md bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:734:19",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:735:21",className:"text-xs",children:["监听分支 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:735:53",className:"text-[var(--dg-text-secondary)] opacity-60",children:"(逗号分隔,支持 * 通配)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:736:21",value:Ie,onChange:s=>We(s.target.value),placeholder:"release/*, main",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] h-8 font-mono text-xs"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:739:19",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:740:21",className:"text-xs",children:["排除分支 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:740:53",className:"text-[var(--dg-text-secondary)] opacity-60",children:"(不触发构建)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:741:21",value:qe,onChange:s=>Je(s.target.value),placeholder:"wip/*, draft/*",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] h-8 font-mono text-xs"})]})]}),$==="cron"&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:749:17",className:"mt-3 space-y-2 p-3 rounded-md bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:750:19",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:751:21",className:"text-xs",children:["Cron 表达式 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:751:57",className:"text-[var(--dg-text-secondary)] opacity-60",children:"(标准 5 位)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:752:21",value:He,onChange:s=>le(s.target.value),placeholder:"0 2 * * *",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] h-8 font-mono text-xs"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:755:19",className:"flex flex-wrap gap-1.5",children:[{expr:"*/5 * * * *",label:"每5分钟"},{expr:"0 * * * *",label:"每小时"},{expr:"0 2 * * *",label:"每天2点"},{expr:"0 0 * * 0",label:"每周日"}].map(s=>e.jsx(y,{"code-path":"src/components/deploy/PipelineManager.tsx:762:23",variant:"outline",className:"cursor-pointer text-[10px] hover:bg-blue-500/10",onClick:()=>le(s.expr),children:s.label},s.expr))})]}),$==="webhook"&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:771:17",className:"mt-3 space-y-2 p-3 rounded-md bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:772:19",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:773:21",className:"text-xs",children:["Webhook Token ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:773:62",className:"text-[var(--dg-text-secondary)] opacity-60",children:"(签名验证,可选)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:774:21",value:Qe,onChange:s=>Ke(s.target.value),placeholder:"随机字符串",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] h-8 font-mono text-xs"})]}),e.jsxs("p",{"code-path":"src/components/deploy/PipelineManager.tsx:777:19",className:"text-[10px] text-[var(--dg-text-secondary)] opacity-60",children:["Webhook URL: ",e.jsxs("code",{"code-path":"src/components/deploy/PipelineManager.tsx:778:34",className:"text-[var(--dg-blue)]",children:["POST /api/v1/webhook/pipeline/","{code}"]})]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:785:13",className:"border-t border-[var(--dg-border)] pt-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:786:15",className:"flex items-center justify-between mb-2",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:787:17",children:["环境变量 ",e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:787:29",className:"text-xs text-[var(--dg-text-secondary)] opacity-60",children:["($","{VAR_NAME}"," 引用)"]})]}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:788:17",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>C([...j,{key:"",value:"",desc:""}]),children:[e.jsx(je,{"code-path":"src/components/deploy/PipelineManager.tsx:790:19",className:"h-3 w-3 mr-1"}),"添加变量"]})]}),j.length===0?e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:794:17",className:"text-xs text-[var(--dg-text-muted)] py-2",children:'暂无变量,点击"添加变量"新增'}):e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:796:17",className:"space-y-2",children:j.map((s,a)=>e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:798:21",className:"grid grid-cols-12 gap-2 items-start p-2 rounded-md bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:799:23",value:s.key,onChange:t=>{const o=[...j];o[a]={...o[a],key:t.target.value},C(o)},placeholder:"变量名",className:"col-span-3 h-8 text-xs font-mono bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:802:23",value:s.value,onChange:t=>{const o=[...j];o[a]={...o[a],value:t.target.value},C(o)},placeholder:"变量值",className:"col-span-4 h-8 text-xs font-mono bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:805:23",value:s.desc,onChange:t=>{const o=[...j];o[a]={...o[a],desc:t.target.value},C(o)},placeholder:"说明",className:"col-span-4 h-8 text-xs bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"}),e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:808:23",variant:"ghost",size:"icon",className:"col-span-1 h-8 w-8 text-red-400",onClick:()=>C(j.filter((t,o)=>o!==a)),children:e.jsx(xs,{"code-path":"src/components/deploy/PipelineManager.tsx:810:25",className:"h-3.5 w-3.5"})})]},a))})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:819:13",className:"border-t border-[var(--dg-border)] pt-4",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:820:15",className:"mb-2 block",children:["构建缓存 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:820:50",className:"text-xs text-[var(--dg-text-secondary)] opacity-60",children:"(加速后续构建)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:821:15",value:Ue,onChange:s=>Xe(s.target.value),placeholder:"node_modules, .m2, target",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-8 text-xs font-mono"}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:823:15",className:"text-[10px] text-[var(--dg-text-secondary)] opacity-50 mt-1",children:"多个路径用逗号分隔,相同的 Key 会命中已有缓存"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:827:13",className:"border-t border-[var(--dg-border)] pt-4",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:828:15",className:"mb-2 block",children:["并发执行数 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:828:51",className:"text-xs text-[var(--dg-text-secondary)] opacity-60",children:"(Number of executors)"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:829:15",className:"flex items-center gap-2",children:e.jsxs(Y,{"code-path":"src/components/deploy/PipelineManager.tsx:830:17",value:String(Ye),onValueChange:s=>fs(Number(s)),children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineManager.tsx:831:19",className:"w-32 h-8 text-xs bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineManager.tsx:832:21"})}),e.jsxs(se,{"code-path":"src/components/deploy/PipelineManager.tsx:834:19",children:[e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:835:21",value:"1",children:"1 — 串行"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:836:21",value:"2",children:"2"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:837:21",value:"3",children:"3"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:838:21",value:"4",children:"4"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:839:21",value:"5",children:"5"})]})]})}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:843:15",className:"text-[10px] text-[var(--dg-text-secondary)] opacity-50 mt-1",children:"设为 1 则按顺序串行执行,默认 2 可并发构建"})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:846:11",className:"flex justify-end gap-2 mt-4 pt-4 border-t border-[var(--dg-border)]",children:[e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:847:13",variant:"outline",onClick:()=>F(!1),children:"取消"}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:848:13",onClick:Ls,disabled:re,children:[re?e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:849:25",className:"h-4 w-4 animate-spin mr-1"}):e.jsx(V,{"code-path":"src/components/deploy/PipelineManager.tsx:849:77",className:"h-4 w-4 mr-1"}),re?"创建中...":"创建流水线"]})]})]})}),e.jsx(ls,{"code-path":"src/components/deploy/PipelineManager.tsx:857:7",open:Ss,onOpenChange:Ze,children:e.jsxs(ds,{"code-path":"src/components/deploy/PipelineManager.tsx:858:9",className:"max-w-3xl max-h-[85vh] overflow-y-auto bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsx(ps,{"code-path":"src/components/deploy/PipelineManager.tsx:859:11",children:e.jsxs(is,{"code-path":"src/components/deploy/PipelineManager.tsx:859:25",className:"flex items-center gap-2",children:[e.jsx(hs,{"code-path":"src/components/deploy/PipelineManager.tsx:859:74",className:"h-5 w-5"}),"执行日志 #",z?.build_number||z?.id]})}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:860:11",className:"space-y-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:861:13",className:"flex flex-wrap gap-3 text-sm text-[var(--dg-text-secondary)]",children:[e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:862:15",children:["触发方式: ",z?.triggered_by||"manual"]}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:863:15",children:["分支: ",z?.branch||"-"]}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:864:15",children:["耗时: ",Me(z?.duration)]})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:866:13",className:"bg-slate-950 rounded-md p-3 max-h-[50vh] overflow-y-auto font-mono text-xs",children:es.length===0?e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:867:36",className:"text-slate-500 py-4 text-center",children:"暂无日志"}):es.map((s,a)=>e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:869:19",className:"flex gap-2 py-0.5",children:[e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:870:21",className:"text-slate-500 shrink-0",children:["[",s.time,"]"]}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:871:21",className:s.level==="error"?"text-red-400":s.level==="warn"?"text-yellow-400":s.level==="success"?"text-green-400":"text-slate-300",children:[s.level==="success"?"✓":s.level==="error"?"✗":s.level==="warn"?"!":">"," ",s.message]})]},a))})]})]})})]})}function ra({pipeline:c,clusterId:b}){const[i,q]=n.useState(null),[J,B]=n.useState(!1),M=c.code||c.id,w=async()=>{if(M){B(!0);try{const r=await Ne.get(`/pipelines/${M}/queue`);q(r?.data||r)}catch{q(null)}finally{B(!1)}}};n.useEffect(()=>{w();const r=setInterval(w,1e4);return()=>clearInterval(r)},[M]);const H=async r=>{try{await Ne.delete(`/pipelines/${M}/queue/${r}`),x.success("已取消"),w()}catch{x.error("取消失败")}},D=i?.running||0,N=i?.queued||0,L=i?.queue_ids||[],T=c.max_executors||2,A=i?.pending_runs||[];return J&&!i||D===0&&N===0?null:e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:920:5",className:"px-4 py-2 space-y-2",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:922:7",className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:923:9",className:"text-[var(--dg-text-secondary)]",children:"构建执行状态"}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:924:9",className:"font-bold text-[var(--dg-text-primary)]",children:[D,"/",T]}),N>0&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:926:11",className:"text-[var(--dg-text-secondary)] ml-2",children:["构建队列 ",e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:927:18",className:"font-bold text-amber-400",children:["(",N,")"]})]})]}),N>0&&A.length>0&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:934:9",className:"space-y-1",children:A.map(r=>e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:936:13",className:"flex items-center justify-between bg-[var(--dg-bg-tertiary)] rounded px-3 py-1.5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:937:15",className:"flex items-center gap-2 text-xs",children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:938:17",className:"h-3 w-3 text-amber-400"}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:939:17",className:"text-[var(--dg-text-secondary)] font-mono",children:["#",r.build_number||r.id]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:940:17",className:"text-[var(--dg-text-secondary)]",children:r.branch||"-"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:941:17",className:"text-[var(--dg-text-secondary)] opacity-50",children:r.triggered_by||"-"})]}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:943:15",variant:"ghost",size:"sm",className:"h-6 text-xs text-red-400 hover:text-red-300",onClick:()=>H(r.id),children:[e.jsx(W,{"code-path":"src/components/deploy/PipelineManager.tsx:944:17",className:"h-3 w-3 mr-1"}),"取消"]})]},r.id))}),N>0&&A.length===0&&L.length>0&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:953:9",className:"space-y-1",children:L.map(r=>e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:955:13",className:"flex items-center justify-between bg-[var(--dg-bg-tertiary)] rounded px-3 py-1.5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:956:15",className:"flex items-center gap-2 text-xs",children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:957:17",className:"h-3 w-3 text-amber-400"}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:958:17",className:"text-[var(--dg-text-muted)] font-mono",children:["Run #",r]})]}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:960:15",variant:"ghost",size:"sm",className:"h-6 text-xs text-red-400 hover:text-red-300",onClick:()=>H(r),children:[e.jsx(W,{"code-path":"src/components/deploy/PipelineManager.tsx:961:17",className:"h-3 w-3 mr-1"}),"取消"]})]},r))})]})}export{Ta as PipelineManager};
|