v0.38.0 - UI Overhaul part 2 (adoption sweeps + CTA compliance)
Part 2 of the Style Guide 2.0.0 UI Overhaul. Part 1 (v0.36.0) extracted the shared components and theming; part 2 is the mostly-mechanical adoption of them across the app, plus the calls-to-action compliance work. Full per-task detail (one commit each) lives in docs/committed/todo/1-ui-overhaul.md.
- [x] Pages — adopt
<PageHeader>on the list/detail routes (Campaigns, Characters, Parties, Factions, Systems, All Maps + their loading states; PartyDetail via a newdescriptionslot). - [x] Modals → confirms — migrate the remaining hand-rolled destructive dialogs to the shared
<ConfirmDestructive>(Campaign / Party / Token / Map / System / Deleted-item clusters). - [x] Buttons — tooltip audit: every icon-only
<ActionIcon>now carries a<Tooltip>or an accessible label, swept across ~50 files and locked in by a brace-aware guard test. - [x] Collapsing sections — replace the remaining hand-rolled
<Collapse>multi-section panel (Settings modules) with<Accordion>; genuine single one-offs documented and kept. - [x] Saving data / async — adopt the
AsyncFieldwrappers on the Edit Campaign page and retire the ad-hoc autosave copies (TokenModal status, PropertiesTab debounce); representative<AsyncButton>/<AsyncActionIcon>/<CardSkeletonGrid>adoption. - [x] Calls to action —
/characters/:idVersions move from a header dropdown to a bottom<Accordion>section; Edit Map context autosaves (Save/Cancel removed) and rolls its changes into the existing map Undo/Redo (newmap:property-changeaction), with inline token field edits now undoable.