tane/apps/app_seeds/lib
vjrj 28e8318026 feat(ux): usable amounts, colour-coded category/form chips, currency quick-picks
Four usability passes across the everyday flows:

- Quantity picker: a countable unit (cob/pod/ear…) now defaults to 1 and
  the stepper clamps at a minimum of 1 — you can never store 'a cob' with
  a blank/zero figure. Vibe units (a few) still carry no number.
- Category & form chips are colour-coded (new category_palette.dart): a
  small muted earthy palette maps each botanical family to a STABLE
  tonality (fill + readable ink), and each lot form gets its own tone.
  Applied to the inventory filter bar (now grouped attributes | forms |
  families, separated by a hairline), the list's category headers (a
  matching colour dot), and the lot-form selector.
- Sale currency: quick-pick chips (€ · Ğ1 · hours) fill the field in one
  tap — Ğ1 offered quietly among familiar options, never imposed — while
  free text still takes anything else. New i18n key sale.hours (en/es/pt/ast).

Tests: quantity_picker_test (default-1, clamp, vibe, clear-still-1),
category_palette_test (stable/distinct swatches); overflow guard + the
inventory widget tests stay green.
2026-07-11 06:06:04 +02:00
..
data feat(sales): local sales/purchase ledger (any currency) 2026-07-11 02:33:42 +02:00
db feat(sales): local sales/purchase ledger (any currency) 2026-07-11 02:33:42 +02:00
di feat(sync): device-to-device inventory sync, end to end 2026-07-10 23:45:40 +02:00
domain Solve lint issue 2026-07-10 10:34:43 +02:00
i18n feat(ux): usable amounts, colour-coded category/form chips, currency quick-picks 2026-07-11 06:06:04 +02:00
security feat(backup): sealed backups + printable recovery sheet 2026-07-09 22:32:13 +02:00
services fix(sync): replicate deletions and keep photos off the wire 2026-07-11 00:17:08 +02:00
state refactor(social): one shared relay connection per identity 2026-07-10 21:50:34 +02:00
ui feat(ux): usable amounts, colour-coded category/form chips, currency quick-picks 2026-07-11 06:06:04 +02:00
app.dart feat(sales): local sales/purchase ledger (any currency) 2026-07-11 02:33:42 +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