tane/apps/app_seeds/lib
vjrj 62ed4f79b3 polish(ux): AA-contrast chip inks, 14-tone palette, calendar month auto-scroll
Blind-build polish pass over the recent sales/chips/calendar work:

- Chip label contrast: 7 palette inks (terracotta, ochre, rose, seedling,
  plant, bulb, cutting) sat below WCAG AA on their own fill; darkened
  (hue preserved) to ≥4.8:1. New category_palette_contrast_test locks it.
- Palette expanded 8 → 14 earthy tones (hues spread around the wheel) so
  family colours rarely collide for a typical 6–10 family inventory,
  keeping the stable-by-name, cross-screen-consistent scheme. Every new
  ink meets AA on its fill.
- Calendar month strip now actually scrolls the selected month into view
  (the comment promised it but it was never wired) — late-year months are
  no longer left off-screen when the screen opens.
- Minor: dead code removed from the month chip.

dart analyze clean; palette/contrast/calendar/quantity/overflow/inventory
suites green.
2026-07-11 06:49:00 +02:00
..
data feat(calendar): "what's due this month" — dedicated screen + inventory filter 2026-07-11 06:27:57 +02:00
db feat(chat): usable 1:1 chat — bottom-anchored, Drift-backed, dated 2026-07-11 06:40:50 +02:00
di feat(chat): usable 1:1 chat — bottom-anchored, Drift-backed, dated 2026-07-11 06:40:50 +02:00
domain feat(chat): usable 1:1 chat — bottom-anchored, Drift-backed, dated 2026-07-11 06:40:50 +02:00
i18n feat(home): drop calendar card — drawer entry is enough 2026-07-11 06:48:41 +02:00
security feat(backup): sealed backups + printable recovery sheet 2026-07-09 22:32:13 +02:00
services feat(chat): usable 1:1 chat — bottom-anchored, Drift-backed, dated 2026-07-11 06:40:50 +02:00
state feat(calendar): "what's due this month" — dedicated screen + inventory filter 2026-07-11 06:27:57 +02:00
ui polish(ux): AA-contrast chip inks, 14-tone palette, calendar month auto-scroll 2026-07-11 06:49:00 +02:00
app.dart feat(calendar): "what's due this month" — dedicated screen + inventory filter 2026-07-11 06:27:57 +02:00
bootstrap.dart feat(sync): device-to-device inventory sync, end to end 2026-07-10 23:45:40 +02:00
main.dart feat(identity): switch social identity, all from the one backup 2026-07-10 20:22:24 +02:00