iamtoruk
|
015a1a069a
|
polish(app): shared empty states, type ladder, AA contrast, honest affordances, a11y semantics
D1 one shared EmptyNote (7 copies removed); CliErrorPanel on canonical
tokens; dead code deleted (CapsuleChart, stale SERIES_HEX palette,
Stat tone API, unused rail/doc-chrome CSS)
D2 type ladder tokens (--fs-*/--fw-*); panel titles unified 13/600/ink;
high-visibility sizes/weights snapped to rungs
D3 contrast: --mut2 5.00:1 light / 5.74:1 dark (was 2.37/3.11); new
--accent-text 5.07:1 + persistent underline on text links; last
prose em-dash removed
D4 'See all' and 'Most expensive sessions' navigate to Sessions; 'add
alias' jumps to Settings/Aliases; chevrons only on clickable rows;
inline confirm replaces window.confirm; default-period setting
honored at boot; Sankey caption no longer promises a click; Optimize
'improving' trend badges; cursor + Space-key fixes
D5 aria-current on nav, SegTabs as real tablist, aria-pressed toggles,
ProviderPop rebuilt on Dropdown (one tab stop, arrow keys, focus ring)
191/191, typecheck + build green. Contrast ratios independently
recomputed. Net -93 lines.
|
2026-07-16 02:27:41 -07:00 |
|
iamtoruk
|
144d2b3363
|
fix(app): strip prose em-dashes from UI copy
Replace em-dashes used as sentence punctuation (Plans, Settings, Compare,
Overview, CliErrorPanel) with cleaner punctuation; keep the standalone "—"
empty-value placeholders (a no-data convention). Update affected copy assertions.
typecheck clean; 128/128 tests pass.
|
2026-07-12 13:13:31 -07:00 |
|
iamtoruk
|
9e6ea306fe
|
feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README
- One 30s refresh + manual ⌘R; footer shows real last-fetch time; getOverview fetched once (no double-poll).
- Keyboard nav: ⌘1–⌘5/⌘, switch sections, ⌘R refresh.
- Verified period/provider re-polls all sections.
- Shared CliErrorPanel: amber permission ("Full Disk Access") vs red error, used by every section.
- DRY: shared lib/format.ts (USD), lib/period.ts (Overview migrated to it), lib/modelSeries.ts (unified model→series).
- Settings review-minor tests (!paired filter, empty/not-found states) + App.test.tsx.
- app/README.md incl. the approved M2 delivery model (self-contained, bundles engine, Electron auto-updater).
- 76 tests, typecheck clean. Live GUI smoke (npm --prefix app run dev) still pending a display.
Implemented by Codex gpt-5.5 (high); committed by Fable (git blocked in Codex sandbox).
|
2026-07-10 19:35:41 -07:00 |
|