BillTracker/client/lib
null df1f61d6cc feat(brand): render the real product glyph SVGs (not inline approximations)
BrandGlyph drew hardcoded monochrome shapes from an inline switch and
ignored the actual /brand/glyphs/*.svg files. Render the real files via a
robust <img> (fail-soft onError, intrinsic width/height so no layout
shift, alt for a11y parity) so every existing placement — PageHeader
(Tracker/About/Release), Command Palette, Release Notes, Onboarding,
Login — shows the full-color brand tiles. Deletes the ~85-line dead
BrandGlyphShape switch and the now-unused useId import.

Senior-review while-here:
- Guard test (client/lib/brand.test.ts): asserts every BrandGlyphName
  asset — and every /brand asset in brand.ts — resolves to a real,
  non-empty file on disk. Catches the "image added but path wrong /
  renamed" regression TS can't see.
- Widen vitest include to {js,jsx,ts,tsx}: TypeScript client tests were
  silently never run (client/hooks/useAutoSave.test.ts). Now 6 files / 50
  tests run (was 4 / 42).
- Remove dead brand.ts entries: legacyLogo (pointed at the OLD pre-brand
  /img/logo.png) and the unused ADMIN_GLYPH const.
- PageHeader glyph class inline-grid -> inline-block for the <img>.

Verified: typecheck + lint clean; test:client 50/50; build (glyphs land
in dist/brand/glyphs, served 200 as image/svg+xml); e2e probe 17/17;
login visual baseline unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 13:32:37 -05:00
..
billDrafts.ts refactor(ts): HealthPage → TypeScript + export makeBillDraft's SourceBill return 2026-07-04 22:19:39 -05:00
billingSchedule.ts refactor(ts): convert pure lib utilities to TypeScript (TS7) 2026-07-03 21:59:16 -05:00
brand.test.ts feat(brand): render the real product glyph SVGs (not inline approximations) 2026-07-06 13:32:37 -05:00
brand.ts feat(brand): render the real product glyph SVGs (not inline approximations) 2026-07-06 13:32:37 -05:00
cashflowUtils.test.js feat(cashflow): safe-to-spend projection with timeline, vitest setup, package upgrades 2026-06-12 01:32:28 -05:00
cashflowUtils.ts refactor(ts): convert pure lib utilities to TypeScript (TS7) 2026-07-03 21:59:16 -05:00
download.ts feat(tracker): export/print the month + calendar link (plan C1/C2) 2026-07-05 14:49:09 -05:00
money.test.js fix(bill-modal): correctness + toast fallbacks + validator consolidation (BM1) 2026-07-03 18:32:25 -05:00
money.ts feat(settings): make Currency + Date-format real (plan Tier 2) 2026-07-05 15:54:19 -05:00
money.type-test.ts feat(ts): branded Cents/Dollars money types — first TS conversion (T2) 2026-07-03 21:36:24 -05:00
paymentActions.ts fix(money): manual payment path flags suspected dupes (409) w/o losing legit ones (Track A) 2026-07-05 11:51:06 -05:00
reorder.ts refactor(ts): convert pure lib utilities to TypeScript (TS7) 2026-07-03 21:59:16 -05:00
trackerTableColumns.ts refactor(ts): convert pure lib utilities to TypeScript (TS7) 2026-07-03 21:59:16 -05:00
trackerUtils.test.js feat(cashflow): safe-to-spend projection with timeline, vitest setup, package upgrades 2026-06-12 01:32:28 -05:00
trackerUtils.ts chore(lib): trackerUtils + version track the brand refresh 2026-07-05 17:19:10 -05:00
utils.test.js fix(qa): seed demo data amounts, bill amount validation, negative USD format, a11y aria-labels, Playwright E2E setup (batch 0.41.0 QA) 2026-07-02 20:36:09 -05:00
utils.ts feat(settings): make Currency + Date-format real (plan Tier 2) 2026-07-05 15:54:19 -05:00
version.ts Add complete brand asset pack 2026-07-06 12:54:29 -05:00