tane/apps/app_seeds/test/services
vjrj bf091bf852 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
..
ocr style: dart format reflow (no behavior change) 2026-07-09 22:19:43 +02:00
auto_backup_service_test.dart feat(backup): tap automatic-backups to make a copy now 2026-07-10 11:05:36 +02:00
auto_backup_store_test.dart feat(backup): add automatic weekly encrypted backups 2026-07-10 10:17:36 +02:00
export_import_service_test.dart feat(backup): sealed backups + printable recovery sheet 2026-07-09 22:32:13 +02:00
label_sheet_service_test.dart feat(labels): print seed labels with QR from an inventory selection 2026-07-10 19:14:04 +02:00
message_store_test.dart feat(block2): messages inbox + drawer 'Chat' link (was unreachable) 2026-07-10 12:26:33 +02:00
offer_outbox_test.dart feat(block2): offline outbox — share now, publish when connected 2026-07-10 10:45:53 +02:00
share_catalog_service_test.dart feat(inventory): local sharing — per-lot share terms, filter and printable catalog 2026-07-09 22:19:55 +02:00
social_service_test.dart feat(block2): wire the social identity into app_seeds (DI, no UI) 2026-07-10 02:44:37 +02:00
social_settings_test.dart feat(block2): default relays + pick-from-list servers (works out of the box) 2026-07-10 11:19:49 +02:00