feat(web-ui): PipelineTab — 진행 중 파이프라인 카드 보드

This commit is contained in:
2026-05-07 17:28:14 +09:00
parent 5bba880c23
commit 9ffd7889e7
4 changed files with 188 additions and 0 deletions

View File

@@ -3279,3 +3279,41 @@
.ms-error {
color: #f87171;
}
/* === PipelineTab === */
.pipeline-container { padding:16px; }
.pipeline-toolbar { display:flex; gap:12px; margin-bottom:16px; align-items:center; }
.pipeline-toolbar select { padding:6px 10px; background:rgba(255,255,255,.04);
border:1px solid var(--ms-line, #2a2a3a); border-radius:8px; color:var(--ms-text, #f0f0f5); font-size:13px; }
.pipeline-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:16px; }
.pipeline-card { background:rgba(0,0,0,.3); border:1px solid var(--ms-line, #2a2a3a);
border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:8px; }
.pipeline-card__head { display:flex; justify-content:space-between; align-items:center; }
.pipeline-card__head h4 { margin:0; font-size:14px; color:var(--ms-text, #f0f0f5); }
.pipeline-card__head button { padding:4px 10px; background:rgba(248,113,113,.15); color:#fca5a5;
border:1px solid rgba(248,113,113,.3); border-radius:6px; cursor:pointer; font-size:11px; }
.pipeline-progress { display:flex; gap:6px; margin:8px 0; }
.pipeline-dot { flex:1; text-align:center; padding:6px 0; border-radius:8px;
background:rgba(255,255,255,.05); font-size:11px; color:var(--ms-muted, #a0a0b0); }
.pipeline-dot.is-done { background:rgba(56,189,248,.2); color:#bae6fd; }
.pipeline-dot.is-current { box-shadow:0 0 8px rgba(56,189,248,.6); }
.pipeline-state { font-size:13px; color:var(--ms-text, #f0f0f5); }
.pipeline-review { font-size:12px; color:var(--ms-muted, #a0a0b0); }
.pipeline-review strong { color:#bae6fd; }
.pipeline-feedback { margin-top:8px; font-size:12px; color:var(--ms-muted, #a0a0b0); }
.pipeline-feedback summary { cursor:pointer; }
.pipeline-card a { color:#bae6fd; font-size:12px; }
.ms-empty { padding:32px; text-align:center; color:var(--ms-muted, #a0a0b0); grid-column:1/-1; }
/* Modal — shared */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6);
display:flex; align-items:center; justify-content:center; z-index:1000; }
.modal-body { background:#1a1a2e; padding:24px; border-radius:14px; min-width:320px;
border:1px solid var(--ms-line, #2a2a3a); }
.modal-body h3 { margin:0 0 12px; font-size:15px; color:var(--ms-text, #f0f0f5); }
.modal-body select { width:100%; padding:8px; background:rgba(255,255,255,.04);
border:1px solid var(--ms-line, #2a2a3a); border-radius:8px; color:var(--ms-text, #f0f0f5); font-size:13px; }
.modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.modal-actions button { padding:6px 14px; background:rgba(255,255,255,.05); color:var(--ms-text, #f0f0f5);
border:1px solid var(--ms-line, #2a2a3a); border-radius:8px; cursor:pointer; font-size:13px; }
.modal-actions .button.primary { background:rgba(56,189,248,.2); color:#bae6fd; border-color:rgba(56,189,248,.4); }