tane/apps/app_seeds/lib/state
vjrj efb369eb81 feat(labels): print seed labels with QR from an inventory selection
Add multi-select to the inventory and a "Print labels" flow that renders a
PDF sheet of labels (small stickers or large cards), each carrying the seed's
common name, variety, scientific name, year/origin and a tanemaki://seed QR
that holds the seed's data offline (future scan-to-import).

- SeedLabelCodec: compact, versioned tanemaki://seed URI (encode/decode)
- LabelSheetService: pure-Dart PDF grid (pdf + barcode + DejaVu), RTL-aware
- VarietyRepository.labelRows: one row per lot, locale-picked common name
- InventoryCubit selection mode; contextual app bar + label print sheet
- i18n en/es/pt (printLabels.*)

Tests: codec, PDF service (both formats + RTL), labelRows, selection cubit,
inventory widget selection.
2026-07-10 19:14:04 +02:00
..
inventory_cubit.dart feat(labels): print seed labels with QR from an inventory selection 2026-07-10 19:14:04 +02:00
messages_cubit.dart feat(block2): persist chat history (messages survive leaving the chat) 2026-07-10 12:20:25 +02:00
offers_cubit.dart feat(block2): offline outbox — share now, publish when connected 2026-07-10 10:45:53 +02:00
quick_add_cubit.dart style: dart format reflow (no behavior change) 2026-07-09 22:19:43 +02:00
trust_cubit.dart feat(block2): 'in your circle' trust — friend-of-a-friend, not a raw count 2026-07-10 12:10:06 +02:00
variety_detail_cubit.dart feat(inventory): local sharing — per-lot share terms, filter and printable catalog 2026-07-09 22:19:55 +02:00