feat(tui): add interactive run mode for checklists and fill mode for templates

Run mode (r key on checklist cards): cursor navigates steps, space
toggles done/undone, r resets all, esc saves changes to DB and exits.
Persists step state — improvement over web which discards on exit.

Fill mode (f key on template cards): tab/shift-tab navigates slots,
type to fill values, enter resolves template and copies to clipboard
with use count increment. Esc cancels without copying.

Both modes are sub-states of detail view, keeping architecture simple.
This commit is contained in:
2026-05-17 21:53:55 -04:00
parent 1066c0bc7d
commit 77222ff1b8
8 changed files with 423 additions and 20 deletions
+8 -1
View File
@@ -38,7 +38,14 @@ func countText(m model) string {
func contextHints(m model) string {
switch m.state {
case stateDetail:
return "p:promote D:demote c:copy e:edit !:pin esc:back"
switch m.detail.mode {
case detailRun:
return "space:toggle j/k:nav r:reset esc:save+exit"
case detailFill:
return "tab:next shift+tab:prev enter:copy esc:cancel"
default:
return "p:promote D:demote c:copy e:edit r:run f:fill !:pin esc:back"
}
case stateInput:
return "enter:submit esc:cancel"
case stateTagFilter: