diff options
| author | Anders Betts <anders.betts@gmail.com> | 2026-09-22 12:26:48 +0200 |
|---|---|---|
| committer | Anders Betts <anders.betts@gmail.com> | 2026-09-22 12:26:48 +0200 |
| commit | 597811e780e423120bdbd61a17d78fb7c5733415 (patch) | |
| tree | d98f1a8ad27daf223622523afe028cbf2cb3a6f8 /docs/DECISIONS.md | |
| parent | 0f286b6eda8405f14f18543f6b56bf0bd29c4fc9 (diff) | |
| download | bokf-235e9110b6d4ac137b727328b9dbc1ee6e93049e.tar.gz bokf-235e9110b6d4ac137b727328b9dbc1ee6e93049e.zip | |
docs: TUI interaction model (draft lifecycle, explicit Spara, F2 actions)v0.1.64
Diffstat (limited to 'docs/DECISIONS.md')
| -rw-r--r-- | docs/DECISIONS.md | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index 6b3467b..1522842 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -238,6 +238,25 @@ kept verbatim from the STATE.md they were pruned from (2026-09-21). lönebesked prints the employer name in its header too, so the `MAKANDRA AB` outlines are unused at runtime (kept in the generated header). Images remain out of scope. +28. **TUI interaction model (2026-09-22, design)**: settled in the UX + session; the spec is `TUI-GUIDELINES.md` "Interaction model" and is not + implemented yet. Two focus modes: the navigation keys (`Tab`, arrows, + `Home`/`End`, `PgUp`/`PgDn`) only move focus/selection/scroll and never + mutate data, while an active field keeps caret semantics. `Enter` + activates the focused item only when it owns an action (menu item, + action row, opening list row); a plain report has none, so `Enter` does + nothing there — it never saves a whole form, deletes or posts. Entities + have one of three lifecycles: **register** (explicit `Spara` after + validation; drafts live in memory and in + `$XDG_CACHE_HOME/bokf/drafts.json`, marked `<UTKAST>`, deletable from + the list and from the editor), **document** (the form is the draft, + explicit post, immutable) and **settings** (explicit `Spara`; the + per-field autosave is dropped). Every savable form ends with a `Spara` + (or `Posta`) action row; commit is blocked while invalid and a server + error keeps the draft. Screens declare actions in one ordered + `struct tui_action` list that drives the `F2` menu, the accelerator keys + and the footer hints; `F2` only, no `§`; `Ctrl+Enter` is dropped as a + commit key (`F9` and the save action row remain). Pilots on Kunder. ## Completed work formerly listed under "Pending decisions" |
