summaryrefslogtreecommitdiff
path: root/makima/frontend/src/components/contracts/ContractList.tsx
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-04-30 09:57:07 +0100
committerGitHub <noreply@github.com>2026-04-30 09:57:07 +0100
commit2b695485753d55f956746b73c31c2deba0ed0a29 (patch)
tree3965b49e1e5e14d7396844275133878997a45ebf /makima/frontend/src/components/contracts/ContractList.tsx
parent8d864f83a1d8c2ad47cf194b70d802e366a146b0 (diff)
downloadsoryu-2b695485753d55f956746b73c31c2deba0ed0a29.tar.gz
soryu-2b695485753d55f956746b73c31c2deba0ed0a29.zip
feat(document-mode): longer goal save countdown, per-directive folders, live task stream (#103)
Three connected UX changes for the document-mode directive UI. ## Goal save UX (DocumentEditor.tsx) - Replace the old 3-second countdown with 60s when no orchestrator is running and 10s when one is, so editing a goal mid-flight does not feel rushed. - The countdown bar is hidden until the last 10 seconds; users see "Saved" / "Unsaved changes" indicators rather than a constantly-ticking clock. - Continuously persist work-in-progress to localStorage on every keystroke (debounced 250ms). On mount, if a draft for the directive exists in localStorage and differs from the persisted goal, restore it and put the editor in dirty/pending state — leaving the page no longer loses work. - localStorage-backed "Live start" toggle in the bar. When off, the editor stays in "dirty" instead of auto-firing; user clicks "Save now" to commit. - Discard button reverts the editor to the persisted goal and clears the draft. ## Sidebar restructure (document-directives.tsx) - Drop the active/idle/archived top-level grouping; show one folder per directive instead. Folders sort by lifecycle (active, paused, idle, draft, archived) then alphabetically. - Each folder header shows a colored status dot on BOTH sides (left as the primary status icon, right as a mirror plus a pulse when the orchestrator is live), replacing the previous "/active", "/idle" text labels. - Inside each open folder: the directive's document is pinned at the top (with a small star icon), then the orchestrator task (if running), then the completion task, then any step tasks that have started. - The currently-selected directive's folder is auto-opened so deep links always land somewhere visible. ## Live document task stream (DocumentTaskStream.tsx, new) - Selecting a task in a folder navigates to ?task=<id> and replaces the Lexical editor with a document-styled live transcript: assistant prose as flowing paragraphs, tool calls as marginalia, results as a closing block. No log/code box. - Comment textarea at the bottom calls sendTaskMessage on submit, the same wire the existing TaskOutput input bar uses for interrupts. ⌘/Ctrl-Enter submits. - Header breadcrumb gains a "back to document" affordance to return to the pinned doc view without reopening the sidebar. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'makima/frontend/src/components/contracts/ContractList.tsx')
0 files changed, 0 insertions, 0 deletions