BillTracker/client/components
null 21651b3f67 feat(tracker): a11y live regions + keyboard-shortcut hint (plan D/C5)
- aria-label on the pencil "Edit bill" buttons (were title-only), matching the
  autopay buttons' title+aria-label pattern.
- role="status" aria-live on the filter result count so filtering announces
  "N of M shown"; a visually-hidden live region announces drag/keyboard reorder
  ("Moved <bill> to position N of M").
- Header "Keyboard shortcuts" dropdown documenting the (previously invisible)
  j/k/arrows/Enter/p/Esc row shortcuts + ⌘K palette.

Deferred as low-value/optional: extra display toggles (C4) and a due-this-week
chip (C5) — avoided header/option clutter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 15:00:16 -05:00
..
admin refactor(client): de-duplicate parseUtc + settingEnabled to lib/utils (plan A2/A3) 2026-07-05 14:38:12 -05:00
bill-modal refactor(ts): BillMerchantRules → TypeScript 2026-07-04 22:08:05 -05:00
data feat(tracker): export/print the month + calendar link (plan C1/C2) 2026-07-05 14:49:09 -05:00
layout refactor(ts): convert the app shell to TSX (B7) 2026-07-04 19:49:57 -05:00
snowball refactor(ts): SnowballPage → TypeScript (debt attack order + projections + plans) 2026-07-04 23:12:57 -05:00
tracker feat(tracker): a11y live regions + keyboard-shortcut hint (plan D/C5) 2026-07-05 15:00:16 -05:00
transactions refactor(ts): convert transactions/ + snowball/ dirs to TSX (B14) 2026-07-04 20:39:30 -05:00
ui refactor(tracker): remove dead code and unreferenced files (plan A1) 2026-07-05 14:35:13 -05:00
BillHistoricalImportDialog.tsx refactor(ts): BillMerchantRules → TypeScript 2026-07-04 22:08:05 -05:00
BillMerchantRules.tsx refactor(ts): BillMerchantRules → TypeScript 2026-07-04 22:08:05 -05:00
BillModal.tsx fix(money): manual payment path flags suspected dupes (409) w/o losing legit ones (Track A) 2026-07-05 11:51:06 -05:00
BillRulesManager.tsx refactor(ts): convert SearchFilterPanel, RecentlyDeletedBillsDialog, BillRulesManager to TSX (B15) 2026-07-04 20:42:24 -05:00
BillsTableInner.tsx refactor(ts): BillHistoricalImportDialog + BillsTableInner → TypeScript 2026-07-04 22:04:55 -05:00
CalendarFeedManager.tsx refactor(ts): MobileBillRow, IncomeBreakdownModal, CalendarFeedManager → TS 2026-07-04 22:01:49 -05:00
CommandPalette.tsx refactor(ts): CommandPalette → TypeScript (typed Command + Bill results) 2026-07-04 22:09:36 -05:00
ErrorBoundary.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
IncomeBreakdownModal.tsx refactor(ts): MobileBillRow, IncomeBreakdownModal, CalendarFeedManager → TS 2026-07-04 22:01:49 -05:00
MarkdownText.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
MobileBillRow.tsx refactor(ts): MobileBillRow, IncomeBreakdownModal, CalendarFeedManager → TS 2026-07-04 22:01:49 -05:00
PageLoader.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
PageTransition.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
RecentlyDeletedBillsDialog.tsx refactor(ts): convert SearchFilterPanel, RecentlyDeletedBillsDialog, BillRulesManager to TSX (B15) 2026-07-04 20:42:24 -05:00
ReleaseNotesDialog.tsx refactor(ts): convert SummaryCard + ReleaseNotesDialog to TSX (B9) 2026-07-04 19:54:40 -05:00
SearchFilterPanel.tsx refactor(ts): convert SearchFilterPanel, RecentlyDeletedBillsDialog, BillRulesManager to TSX (B15) 2026-07-04 20:42:24 -05:00
StatusBadge.tsx refactor(ts): convert app-wide common components to TSX (B8) 2026-07-04 19:52:47 -05:00
SubscriptionCatalogSection.tsx refactor(ts): SubscriptionCatalogSection → TypeScript 2026-07-04 22:12:49 -05:00
SummaryCard.tsx refactor(ts): convert SummaryCard + ReleaseNotesDialog to TSX (B9) 2026-07-04 19:54:40 -05:00