From 419328232501b4cdc050c27db4b2a5c749803041 Mon Sep 17 00:00:00 2001 From: Chris Hendrickson Date: Sat, 25 Apr 2026 15:08:14 -0400 Subject: [PATCH] TUI: add F1 hint to all mode footers, wire F1 in editor, update board hints - Board footer now shows all actions: D, L, F1, and the full keybinding list - Detail footer shows [F1] help alongside scroll and edit hints - Editor footer shows [F1] help hint - F1 key now handled in editor mode (was only wired in board/detail) - Stage deleted .project/kanban/backlog/DEW-0016.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .project/kanban/backlog/DEW-0016.md | 39 ------------------- .../kanban/lib/src/commands/tui_command.dart | 11 +++--- 2 files changed, 6 insertions(+), 44 deletions(-) delete mode 100644 .project/kanban/backlog/DEW-0016.md diff --git a/.project/kanban/backlog/DEW-0016.md b/.project/kanban/backlog/DEW-0016.md deleted file mode 100644 index 372fe23..0000000 --- a/.project/kanban/backlog/DEW-0016.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: DEW-0016 -title: test -type: epic -created: 2026-04-25T17:56:14.779844Z -labels: - - test, label, system ---- - -Huzzah! Huzzah! Huzzah! Huzzah! Huzzah! Huzzah! Huzzah! Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! -Huzzah! - diff --git a/packages/kanban/lib/src/commands/tui_command.dart b/packages/kanban/lib/src/commands/tui_command.dart index 3dc8a68..d77a225 100644 --- a/packages/kanban/lib/src/commands/tui_command.dart +++ b/packages/kanban/lib/src/commands/tui_command.dart @@ -689,6 +689,9 @@ class TuiCommand extends DewCommand { default: break; } + case ControlCharacter.F1: + prevMode = mode; + mode = _Mode.help; default: continue loop; } @@ -696,8 +699,6 @@ class TuiCommand extends DewCommand { redraw(); continue loop; } - - // ── Help mode ────────────────────────────────────────────────────── if (mode == _Mode.help) { // Any key closes help mode = prevMode; @@ -1180,7 +1181,7 @@ class TuiCommand extends DewCommand { // Column position indicator + help console.setForegroundColor(ConsoleColor.white); final pos = numCols > numVisible ? ' [${colIdx + 1}/$numCols cols]' : ''; - const help = ' [↑↓] nav [←→] col [] move [↵] detail [n] new [e] edit [a] archive [c] comment [?] filter [q] quit'; + const help = ' [↑↓] nav [←→] col [] move [↵] detail [n] new [e] edit [D] del [a] archive [c] comment [L] link [?] filter [F1] help [q] quit'; console.write(_trunc('$pos$help', w).padRight(w)); console.resetColorAttributes(); } @@ -1236,7 +1237,7 @@ class TuiCommand extends DewCommand { final scrollInfo = lines.isNotEmpty ? ' [${s + 1}-${min(s + contentH, lines.length)}/${lines.length}]' : ''; - console.write(' [↑↓] scroll$scrollInfo [e] edit [b/Esc] back [q] quit'.padRight(w)); + console.write(' [↑↓] scroll$scrollInfo [e] edit [b/Esc] back [F1] help [q] quit'.padRight(w)); console.resetColorAttributes(); } @@ -1669,7 +1670,7 @@ class TuiCommand extends DewCommand { // Footer hints final dirtyMarker = es.isDirty ? ' ● unsaved' : ''; - final footerHints = '[↑↓] field [←→] value [Enter] edit [d] del [s] save [Esc] discard$dirtyMarker'; + final footerHints = '[↑↓] field [←→] value [Enter] edit [d] del [s] save [Esc] discard [F1] help$dirtyMarker'; at(modalTop + modalH - 2, modalLeft + 1, () { console.setForegroundColor(ConsoleColor.white); console.write(_trunc(footerHints, innerW));