codeburn/app/renderer/components
iamtoruk cbddd3a9d7 fix(app): accuracy batch A — provider scoping, honest chart axes, range threading, stale-error banner
- Provider filter: Models-this-period sources current.topModels (history
  days carry empty topModels per provider); StackedBars falls back to a
  cost-proportional single segment like the Swift menubar
- Chart windows align to the CLI (week -7, 30days -30, all = 6 months)
  and zero-fill a contiguous calendar window; history.daily is sparse and
  both sides key local YYYY-MM-DD, so lookups are safe (verified on real
  CLI output)
- Custom range threads into Overview panels (chart, models table) and
  suppresses MTD/projected and vs-last-week comparisons; Compare states
  that custom dates fall back to the period
- usePolled clears errors per attempt and sections show a StaleBanner
  instead of silently rendering last-good data after a failed refresh
- Cache-hit denominator matches the CLI; hero savings relabeled 'Saved by
  applied fixes' + new 'Saved via local models' line; formatCompact
  everywhere; Optimize 'Fixes' count matches the rendered list

App suite 163/163 (was 147), root 1613/1613.
2026-07-16 01:14:41 -07:00
..
AboutModal.tsx feat(app): About panel + working social links (+ LinkedIn) 2026-07-12 13:07:38 -07:00
ActivityHeatmap.tsx style(app): merge hero + daily-activity heatmap into one split card 2026-07-11 11:30:15 -07:00
CapsuleChart.tsx fix(app): scope Overview chart + waste-rate to selected period, harden joins 2026-07-10 16:32:48 -07:00
CliErrorPanel.tsx fix(app): strip prose em-dashes from UI copy 2026-07-12 13:13:31 -07:00
Dropdown.tsx feat(app): Settings — custom dropdowns, more currencies, fix pane layout 2026-07-12 14:02:52 -07:00
ErrorBoundary.test.tsx feat(app): error boundary so a crashing screen shows the error, not a blank 2026-07-11 14:33:16 -07:00
ErrorBoundary.tsx feat(app): error boundary so a crashing screen shows the error, not a blank 2026-07-11 14:33:16 -07:00
Hint.tsx feat(app): window chrome, sidebar nav, and Overview smoke view 2026-07-10 15:17:11 -07:00
ListRow.tsx feat(app): T8 integration + cleanup — single refresh, ⌘-nav, shared error/format/period/series, README 2026-07-10 19:35:41 -07:00
Panel.tsx fix(app): scope Overview chart + waste-rate to selected period, harden joins 2026-07-10 16:32:48 -07:00
ProviderLogo.tsx feat(app): Optimize organization + gear icon, more logos, drop relative-cost column 2026-07-12 13:56:07 -07:00
ProviderPop.tsx feat(app): real provider logos in the picker and Settings 2026-07-12 13:00:43 -07:00
RangeCalendar.tsx feat(app): working periods, detected-provider dropdown, drag-select date range 2026-07-11 09:14:54 -07:00
Sankey.tsx feat(app): rebuild Sessions — fixed columns, clean paths, inline expand 2026-07-12 13:38:45 -07:00
SegTabs.tsx feat(app): window chrome, sidebar nav, and Overview smoke view 2026-07-10 15:17:11 -07:00
Sidebar.test.tsx feat(app): Sessions and Compare screens 2026-07-11 12:37:04 -07:00
Sidebar.tsx feat(app): Optimize organization + gear icon, more logos, drop relative-cost column 2026-07-12 13:56:07 -07:00
StackedBars.test.tsx fix(app): accuracy batch A — provider scoping, honest chart axes, range threading, stale-error banner 2026-07-16 01:14:41 -07:00
StackedBars.tsx fix(app): accuracy batch A — provider scoping, honest chart axes, range threading, stale-error banner 2026-07-16 01:14:41 -07:00
StaleBanner.test.tsx fix(app): accuracy batch A — provider scoping, honest chart axes, range threading, stale-error banner 2026-07-16 01:14:41 -07:00
StaleBanner.tsx fix(app): accuracy batch A — provider scoping, honest chart axes, range threading, stale-error banner 2026-07-16 01:14:41 -07:00
Stat.tsx feat(app): window chrome, sidebar nav, and Overview smoke view 2026-07-10 15:17:11 -07:00
TopBar.tsx feat(app): working periods, detected-provider dropdown, drag-select date range 2026-07-11 09:14:54 -07:00
Window.tsx feat(app): window chrome, sidebar nav, and Overview smoke view 2026-07-10 15:17:11 -07:00