mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-07 16:09:43 +02:00
COD-121 unified session list: welcome list frontend (slice A, unit 2)
Backs the welcome-screen "Resume Conversation" list with the new GET /api/sessions/unified endpoint instead of /api/history/sessions, so it shows the COMPLETE set (live + persisted + non-Claude + closed history) newest-first with richer context, rather than only Claude transcripts. - terminal-ui.js: new _fetchUnifiedSessions(); loadHistorySessions() now uses it. _buildHistoryItem upgraded to the unified shape (kept backward-compatible with the folder-modal's old shape): title = name || firstPrompt || dir; a mode badge + a LIVE badge (sources includes 'live'); timestamp from lastActivityAt (falls back to lastModified); size only when present; detail panel + "View all in this folder" preserved (gated on projectKey). Resume branches: an open live session selects its tab, a closed one resumes. - unified-session-service.ts + endpoint: pass projectKey through the history source so the folder drill-down survives. - styles.css: .history-item-badges / -badge / -badge-live pills. Verified: tsc 0, lint 0, frontend-syntax + public-asset format clean, service tests 13/13 (+projectKey), route tests 4/4. Playwright on an isolated beta: the welcome list renders real items from /api/sessions/unified, and the renderer produces the tab-name title + codex mode badge + visible LIVE badge, omits LIVE on closed items, keeps "View all in folder", and routes resume correctly (open->select tab, closed->resume). Persistent panel + live SSE status are later units.
This commit is contained in:
@@ -2822,6 +2822,32 @@ body.touch-device .terminal-container .xterm .xterm-helper-textarea {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* Badge row (mode + LIVE pills) sits between the title and subtitle (COD-121). */
|
||||
.history-item-badges {
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.3rem;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.history-item-badge {
|
||||
font-size: 0.55rem;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.03em;
|
||||
line-height: 1;
|
||||
padding: 0.12rem 0.35rem;
|
||||
border-radius: 0.35rem;
|
||||
background: var(--bg-hover);
|
||||
color: var(--text-muted);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.history-item-badge-live {
|
||||
background: color-mix(in srgb, var(--green) 22%, transparent);
|
||||
color: var(--green);
|
||||
}
|
||||
|
||||
.history-item-meta {
|
||||
font-size: 0.7rem;
|
||||
color: var(--text-muted);
|
||||
|
||||
Reference in New Issue
Block a user