feat(inventory): editable vernacular (common) names

The "also known as" names were read-only; now they can be added and removed:
- Repository: addVernacularName + removeVernacularName (soft delete);
  VarietyDetail.vernacularNames carries ids (new VernacularName model).
- Cubit: addVernacularName / removeVernacularName.
- Detail: deletable name chips + an "Add name" chip opening a small dialog;
  the section is always visible so names can be added when empty.

Tests: repo add/remove + widget add/remove. 44 green.
This commit is contained in:
vjrj 2026-07-08 11:20:36 +02:00
parent f8d4d9a778
commit 9e5c82184b
10 changed files with 256 additions and 83 deletions

View file

@ -30,6 +30,7 @@
"lots": "Lots",
"noLots": "No lots yet.",
"names": "Also known as",
"addName": "Add name",
"notes": "Notes",
"addLot": "Add lot",
"editLot": "Edit lot",

View file

@ -30,6 +30,7 @@
"lots": "Lotes",
"noLots": "Aún no hay lotes.",
"names": "También conocida como",
"addName": "Añadir nombre",
"notes": "Notas",
"addLot": "Añadir lote",
"editLot": "Editar lote",

View file

@ -4,9 +4,9 @@
/// To regenerate, run: `dart run slang`
///
/// Locales: 2
/// Strings: 184 (92 per locale)
/// Strings: 186 (93 per locale)
///
/// Built on 2026-07-08 at 09:07 UTC
/// Built on 2026-07-08 at 09:16 UTC
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import

View file

@ -162,6 +162,9 @@ class Translations$detail$en {
/// en: 'Also known as'
String get names => 'Also known as';
/// en: 'Add name'
String get addName => 'Add name';
/// en: 'Notes'
String get notes => 'Notes';
@ -659,6 +662,7 @@ extension on Translations {
'detail.lots' => 'Lots',
'detail.noLots' => 'No lots yet.',
'detail.names' => 'Also known as',
'detail.addName' => 'Add name',
'detail.notes' => 'Notes',
'detail.addLot' => 'Add lot',
'detail.editLot' => 'Edit lot',

View file

@ -116,6 +116,7 @@ class _Translations$detail$es extends Translations$detail$en {
@override String get lots => 'Lotes';
@override String get noLots => 'Aún no hay lotes.';
@override String get names => 'También conocida como';
@override String get addName => 'Añadir nombre';
@override String get notes => 'Notas';
@override String get addLot => 'Añadir lote';
@override String get editLot => 'Editar lote';
@ -473,6 +474,7 @@ extension on TranslationsEs {
'detail.lots' => 'Lotes',
'detail.noLots' => 'Aún no hay lotes.',
'detail.names' => 'También conocida como',
'detail.addName' => 'Añadir nombre',
'detail.notes' => 'Notas',
'detail.addLot' => 'Añadir lote',
'detail.editLot' => 'Editar lote',