tane/apps/app_seeds/lib
vjrj 89b61bc9e4 feat(inventory): additive CSV import for bulk digitization
Import a spreadsheet list (the same 21-column schema the CSV export
already produces) as new varieties/lots. Tolerant reader: columns
matched by header name in any order, only variety_label required,
unknown enums fall back to a safe default, rows sharing variety_id
collapse into one variety with several lots. Species re-linked by
scientific name. Additive by design (fresh ids + HLC), so it never
overwrites existing rows; JSON stays the canonical id-reconciling import.

Adds a hand-rolled RFC 4180 parser (no new dependency), an importCsv
path in VarietyRepository/ExportImportService, an 'Import from CSV'
tile in the backup section, and en/es strings.

Note: i18n .g.dart also carries pre-existing About/intro strings from
the working tree (regenerated by slang).
2026-07-09 14:41:28 +02:00
..
data feat(inventory): additive CSV import for bulk digitization 2026-07-09 14:41:28 +02:00
db feat(inventory): CSV/JSON export and JSON import with LWW reconciliation 2026-07-09 12:46:53 +02:00
di feat(inventory): CSV/JSON export and JSON import with LWW reconciliation 2026-07-09 12:46:53 +02:00
i18n feat(inventory): additive CSV import for bulk digitization 2026-07-09 14:41:28 +02:00
security feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
services feat(inventory): additive CSV import for bulk digitization 2026-07-09 14:41:28 +02:00
state feat(inventory): filter by category and lot form + a11y polish 2026-07-09 12:00:34 +02:00
ui feat(inventory): additive CSV import for bulk digitization 2026-07-09 14:41:28 +02:00
app.dart feat(ui): Material 3 redesign, cover-photo viewer, About screen 2026-07-09 11:51:59 +02:00
main.dart feat(block1): bundled species catalog + autocomplete link 2026-07-07 21:21:59 +02:00