tane/apps/app_seeds/lib/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.dart feat(backup): tap automatic-backups to make a copy now 2026-07-10 11:05:36 +02:00
auto_backup_store.dart feat(backup): add automatic weekly encrypted backups 2026-07-10 10:17:36 +02:00
coarse_location.dart fix(block2): sharing sheet overflow + location button feedback/robustness 2026-07-10 11:09:12 +02:00
export_import_service.dart feat(backup): add automatic weekly encrypted backups 2026-07-10 10:17:36 +02:00
file_picker_file_service.dart feat(inventory): CSV/JSON export and JSON import with LWW reconciliation 2026-07-09 12:46:53 +02:00
file_service.dart feat(inventory): CSV/JSON export and JSON import with LWW reconciliation 2026-07-09 12:46:53 +02:00
label_sheet_service.dart feat(labels): print seed labels with QR from an inventory selection 2026-07-10 19:14:04 +02:00
message_store.dart feat(block2): messages inbox + drawer 'Chat' link (was unreachable) 2026-07-10 12:26:33 +02:00
offer_mapper.dart feat(block2): offers logic layer — OffersCubit + OfferMapper (no UI yet) 2026-07-10 02:49:06 +02:00
offer_outbox.dart feat(block2): offline outbox — share now, publish when connected 2026-07-10 10:45:53 +02:00
onboarding_store.dart feat(inventory): photo-first drafts + on-device OCR (digitization R2+R4) 2026-07-09 21:23:46 +02:00
recovery_sheet_service.dart feat(backup): sealed backups + printable recovery sheet 2026-07-09 22:32:13 +02:00
share_catalog_service.dart feat(inventory): local sharing — per-lot share terms, filter and printable catalog 2026-07-09 22:19:55 +02:00
social_service.dart feat(block2): relay pool — publish to many relays, discover deduped, tolerate failures 2026-07-10 10:35:39 +02:00
social_settings.dart fix(block2): hide server config, enable drawer Market, badge my own offers 2026-07-10 11:56:55 +02:00