tane/apps/app_seeds
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
..
android feat(ui): About in drawer; higher-contrast app icon & splash 2026-07-09 12:18:37 +02:00
assets feat(ui): About in drawer; higher-contrast app icon & splash 2026-07-09 12:18:37 +02:00
drift_schemas feat(db): lot presentation + attachment sort order (schema v4→v5) 2026-07-09 11:51:21 +02:00
fonts feat(ui): align inventory + detail with mockups (seed icons, green theme) 2026-07-08 00:14:43 +02:00
integration_test feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
ios feat(ui): About in drawer; higher-contrast app icon & splash 2026-07-09 12:18:37 +02:00
lib feat(inventory): additive CSV import for bulk digitization 2026-07-09 14:41:28 +02:00
linux fix(linux): set GTK window icon from bundled app icon 2026-07-09 12:39:29 +02:00
test feat(inventory): additive CSV import for bulk digitization 2026-07-09 14:41:28 +02:00
web feat(ui): About in drawer; higher-contrast app icon & splash 2026-07-09 12:18:37 +02:00
.gitignore feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
.metadata feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
analysis_options.yaml feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
build.yaml feat(inventory): informal quantity scale (number + unit) + seed/plant lots 2026-07-08 10:51:02 +02:00
pubspec.yaml feat(inventory): CSV/JSON export and JSON import with LWW reconciliation 2026-07-09 12:46:53 +02:00
README.md feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
slang.yaml feat(block1): variety detail + edit screen with reactive lots 2026-07-07 15:56:03 +02:00

tane

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.