feat(FN-847): add conditional Workflow tab to TaskDetailModal
- Show Workflow tab for tasks with enabled workflow steps OR previous workflow results - Add comprehensive tests for TaskDetailModal workflow tab visibility - Add workflow tab styles including step result cards and status badges - Clean up TerminalModal and useTerminalSessions (remove unused code and tests) - Remove dashboard README section on terminal sessions
This commit is contained in:
@@ -16740,6 +16740,113 @@ html .column.drag-over * {
|
||||
}
|
||||
}
|
||||
|
||||
/* ── Workflow Results ── */
|
||||
.workflow-results-loading {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--space-sm, 8px);
|
||||
padding: var(--space-md, 16px);
|
||||
color: var(--text-muted, #8b949e);
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.workflow-results-spinner {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border: 2px solid var(--border, #30363d);
|
||||
border-top-color: var(--todo, #58a6ff);
|
||||
border-radius: 50%;
|
||||
animation: spin 0.6s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
.workflow-results-empty {
|
||||
padding: var(--space-md, 16px);
|
||||
text-align: center;
|
||||
color: var(--text-muted, #8b949e);
|
||||
}
|
||||
|
||||
.workflow-results-empty-hint {
|
||||
font-size: 12px;
|
||||
margin-top: var(--space-xs, 4px);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.workflow-results-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-md, 16px);
|
||||
}
|
||||
|
||||
.workflow-result-item {
|
||||
border: 1px solid var(--border, #30363d);
|
||||
border-radius: 8px;
|
||||
padding: var(--space-md, 16px);
|
||||
background: var(--surface-elevated, #161b22);
|
||||
}
|
||||
|
||||
.workflow-result-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--space-sm, 8px);
|
||||
margin-bottom: var(--space-xs, 4px);
|
||||
}
|
||||
|
||||
.workflow-result-name {
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
color: var(--text-primary, #e6edf3);
|
||||
}
|
||||
|
||||
.workflow-result-badge {
|
||||
display: inline-block;
|
||||
padding: 2px 8px;
|
||||
border-radius: 12px;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.workflow-result-meta {
|
||||
display: flex;
|
||||
gap: var(--space-sm, 8px);
|
||||
font-size: 12px;
|
||||
color: var(--text-muted, #8b949e);
|
||||
margin-bottom: var(--space-xs, 4px);
|
||||
}
|
||||
|
||||
.workflow-result-output-section {
|
||||
margin-top: var(--space-sm, 8px);
|
||||
}
|
||||
|
||||
.workflow-result-output-label {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
color: var(--text-muted, #8b949e);
|
||||
margin-bottom: var(--space-xs, 4px);
|
||||
}
|
||||
|
||||
.workflow-result-output {
|
||||
background: var(--surface-dimmed, #0d1117);
|
||||
border: 1px solid var(--border, #30363d);
|
||||
border-radius: 6px;
|
||||
padding: var(--space-sm, 8px) var(--space-md, 16px);
|
||||
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
color: var(--text-primary, #e6edf3);
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
overflow-x: auto;
|
||||
max-height: 300px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
/* ── Light Theme ── */
|
||||
[data-theme="light"] .mission-manager {
|
||||
background: var(--surface);
|
||||
|
||||
Reference in New Issue
Block a user