summaryrefslogtreecommitdiff
path: root/docs/TUI-GUIDELINES.md
AgeCommit message (Collapse)Author
8 hoursweb: bokftui in the browser (ttyd + bokfweb login gate); per-user login limitv0.1.69Anders Betts
New image bokf-web (Dockerfile target "web", compose service "web" on 127.0.0.1:8790): Caddy routing with forward_auth, the bokfweb login gate (C, authenticates with bokfd's session.open, per-address limit, cookie + terminal handle, one login handed to the TUI via /redeem) and ttyd running bokftui in web mode in an isolated throwaway HOME. TLS stays with the host's reverse proxy. BOKF_WEB=1 blocks every local file and viewer path in the TUI. bokfd's login limiter is now per user name instead of one global counter (5 wrong guesses from anyone locked out everybody), and a full counter table no longer disables it. The cross build and deploy.sh build and ship both images. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8 hourstui: context menu on → / ^O; no F-keys, ^N or ^EnterAnders Betts
→ (where no caret uses it) and ^O (everywhere, also in table cells) open "Åtgärder": a box at the right edge with every action of the view and its key. Screens declare their actions with tui_set_actions(); choosing one feeds its key to the widget, so the menu and accelerators share one path. Function keys, Ctrl+N (now n), Ctrl+Enter and Ctrl+F are gone and no extended keyboard protocol is enabled, so the TUI works in a browser terminal; save/post/validate/preview/template/attach are menu actions. make check rejects F-keys, ^N and ^Enter in clients/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9 hoursuser.set_password: change your own password; TUI "Byt lösenord"v0.1.68Anders Betts
Needs the current password (wrong ones rate limited like logins) and a password session, requires at least 10 characters, closes the user's other sessions and is audited without secrets. The TUI main menu gets "Byt lösenord" with masked prompts; ^R keeps working with the new password. Masked prompt buffers are wiped before they are freed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 hourstui: "Byt bolag" in the main menuAnders Betts
Reopens the org picker (cursor on the current org) and switches the running session: the org's name, role, current fiscal year and series are reloaded and the remembered list selections cleared. The context reload now clears the previous org's values first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 hourstui: 'g' + a letter searches list rowsAnders Betts
The goto prompt decides on its first key: digits jump to a row number as before, any other printable key searches the row texts of the list or menu (case-insensitive, also åäö), with up/down stepping through the matches. Keys typed into the prompt no longer reach the screen's key hook, and Enter in the action menu closes an open prompt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 hourstui: aligned voucher detail, up/down between vouchers, list sortingAnders Betts
The detail pads every column by display width, blanks zero amounts and shows row texts and a Summa line. Up/Down step to the previous/next voucher in the list order; 's' cycles the list sort (number or date, ascending or descending, saved in tui.conf). The list fetches all pages of voucher.list instead of stopping at 200. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 hourstui: one shared field editor, in-place form editing, value-only focusAnders Betts
Forms edit fields in place in the value column instead of a bottom prompt, highlight only the focused value and scroll when taller than the screen; long text scrolls horizontally instead of wrapping. Fixes: typing after Backspace/Del no longer wipes the field, 'q' is text in row tables, the caret resets between cells, dialogs decode arrow keys, full buffers never take half a UTF-8 character, an invalid amount stays editable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 hourstui: kundutkast, <UTKAST>, explicit Spara och F2-åtgärderAnders Betts
31 hoursdocs: TUI interaction model (draft lifecycle, explicit Spara, F2 actions)v0.1.64Anders Betts
44 hoursinvoices: text rows, duplicate and payment link (schema v12); smtp address ↵v0.1.62Anders Betts
checks
45 hourstui: granska/ladda ned underlag via pagern eller skrivbordsvisarenv0.1.61Anders Betts
46 hourssettings: per-feature voucher series and console invoice number; tui: F9 hintsv0.1.60Anders Betts
2 daystui: level-2 modifyOtherKeys, Kitty keyboard protocol and ^Enter/F9 hintsv0.1.59Anders Betts
2 daystui: flat menu, System hub, remembered attachment directoryv0.1.57Anders Betts
2 daystui: payroll screens, Företag/System menu and settings splitv0.1.55Anders Betts
3 daystui: fakturering with invoice form, preview and sendAnders Betts
3 daystui: pinned report headers, voucher detail headers, clamped pagingv0.1.48Anders Betts
4 daystui: remember the focused row in forms and the bokslut hubv0.1.44Anders Betts
4 daystui: bokslut hub with year fields, reports and the posting actionv0.1.43Anders Betts
4 daystui: backspace deletes backwards while editing; esc restores the valuev0.1.41Anders Betts
4 daystui: themes, pager markup, menu sections; merge Bokslut and year infov0.1.40Anders Betts
4 daystui: form fields on the row-table screen; home/end/pgup/pgdn navigationv0.1.39Anders Betts
4 daystui: migrate the remaining screens to the widget layerv0.1.38Anders Betts
4 daystui: shared widget layer (fields, prompts, lists, forms, pager) + testsv0.1.36Anders Betts
5 daysattachments: link/unlink from the TUI, multi-voucher linksv0.1.29Anders Betts
The voucher detail can attach a file to an existing voucher (^F) and the underlag picker (f) can remove a link (d, confirmed). The Underlag inbox links a highlighted item to a voucher picked from a list (k). attachment.link and attachment.unlink are new write commands (dry-run, audited); unlinked files return to the inbox. The same content may now link to several vouchers — only the same voucher/attachment pair is a CONFLICT, matching the table's primary key.
5 daysbokftui: Huvudbok/Verifikationslista views, Räkenskapsår screen, ^Enter/^Xv0.1.27Anders Betts
The report menu gains Kapitas-style Huvudbok and Verifikationslista tables. "Byt räkenskapsår" is now "Räkenskapsår": the list shows öppen/stängd and ^A closes or reopens the highlighted year (via the new fiscal_year.reopen). Menus remember the selection, Mallar opens straight into the list (Enter edit, ^N new, d arkivera), report tables get column rules and aligned sums, and text_view clears stale lines. Footer hints write control keys as ^N/^A/^C/^R/^X, ^Enter saves or posts a form and ^X clears the focused row (F9 still works as a fallback).
5 daysbokftui: drop the redundant fiscal-year label from the status linev0.1.25Anders Betts
5 daysbokftui: Ctrl+R reloads the binary and restores session, year and viewv0.1.8Anders Betts
6 daysInitial commit: daemon, clients, docs, Docker deploy pipelinev0.1.0Anders Betts