diff --git a/TODO.md b/TODO.md index fe687aec..454d4272 100644 --- a/TODO.md +++ b/TODO.md @@ -314,6 +314,23 @@ Two things it does NOT do, both deliberate and both worth knowing: update. That is the right default — an install that silently fetches whatever is latest is not reproducible — but there is no "check for a newer one" anywhere. +## Inputs outside forms (2026-08-19) + +**19 panel files use `Input` with no `
` around it.** Typing a value and pressing Enter does +nothing; the button is the only way to submit, which is a keyboard trap wearing a layout. Reported from +gitea's connection screen — "I shouldn't have to click the button" — and fixed there only. + +The list, from `grep -rl components/ui/input` filtered by absence of ``: + + plugins/bitcoin-wallet: ChainSourceCard, RescanCard, WalletSettingsView + plugins/invoices: components, CustomersListView, DocumentEditor, EstimatesListView, + ExpensesListView, InvoicesListView, ItemsListView, RecordEditors + …and the rest of the 19 + +Not a blind sweep: a search box has no submit and wrapping one changes nothing, while an editor with +several fields wants `useForm` (`workspaces/hooks`) rather than a hand-rolled `onSubmit`. Each one needs +looking at. What they share is that none of them was a decision. + ## Affordances (2026-08-19) Agreed and written down in `plugins/CLAUDE.md`; **nothing is built**. An affordance is what the surface