feat(app): show each batch's story as a composite timeline

The Movement log (history + provenance DAG) was recorded but invisible.
A new history sheet on every lot tile narrates the batch: movements,
germination tests, storage checks and how it entered the collection
(origin attached), most-recent first. Two one-tap chips record 'sown
today' / 'harvested today' — the first UI door to the sown/harvested
movement types. No schema change; one-shot reads only (no live
subscriptions in a transient sheet).
This commit is contained in:
vjrj 2026-07-18 06:25:55 +02:00
parent 11cbdf3022
commit 92fd84590b
10 changed files with 835 additions and 2 deletions

View file

@ -699,6 +699,25 @@
"promiseGave": "Me devolverán semilla",
"promiseReceived": "Devolveré semilla"
},
"history": {
"title": "Historia de este lote",
"tooltip": "Historia",
"sowToday": "Sembrado hoy",
"harvestToday": "Cosechado hoy",
"sownRecorded": "Siembra anotada",
"harvestRecorded": "Cosecha anotada",
"movementReceived": "Recibido",
"movementGiven": "Regalado",
"movementSown": "Sembrado",
"movementHarvested": "Cosechado",
"movementGerminationTest": "Prueba de germinación",
"movementSplit": "Repartido en lotes",
"movementDiscarded": "Descartado",
"created": "Entró en tu colección",
"from": "De {origin}",
"germinationResult": "Prueba de germinación — {percent}%",
"linkedEarlier": "Viene de un lote anterior"
},
"sale": {
"title": "Ventas",
"help": "Registra semilla vendida o comprada — dinero, Ğ1 o cualquier moneda. Un modelo aparte del regalo y del Plantare. Nunca se cobra comisión por las semillas.",