feat(plantare): usable UI — commitments screen, add sheet, entry points

The reproduction-commitment (Plantare) UI, local-first and plain-spoken:
- A Plantares screen (drawer entry, /plantares) listing your commitments,
  grouped Open / Done, with a big 'mark returned', a menu (let it go / reopen
  / remove) and an empty-state that explains what a Plantare is.
- An add sheet (scrollable): a two-choice 'who reproduces & returns' (I return
  / owed to me), an optional 'with whom', an optional 'what comes back' in the
  grower's own words, and a note. No sale, no currency — a promise.
- Reachable from a seed too: an 'Add a commitment' action on the variety
  detail, pre-attached to that variety.
- i18n en/es/pt/ast (human words: 'Plantare' + a plain explanation).

Added the Plantares screen to the small-phone overflow guard (18 cases green).
This commit is contained in:
vjrj 2026-07-11 02:11:57 +02:00
parent 81094f25a8
commit de6938d5d7
15 changed files with 730 additions and 2 deletions

View file

@ -37,6 +37,7 @@
"chat": "Chat",
"wishlist": "Lista de deseos",
"following": "Siguiendo",
"plantares": "Plantares",
"settings": "Ajustes"
},
"settings": {
@ -554,5 +555,29 @@
},
"notifications": {
"newMessageFrom": "Nuevo mensaje de {name}"
},
"plantare": {
"title": "Plantares",
"help": "Un Plantare es el compromiso de reproducir una semilla y devolver una parte — así una variedad sigue viajando de mano en mano. No es una venta.",
"add": "Añadir compromiso",
"empty": "Aún no hay compromisos. Cuando compartas o recibas semilla con el compromiso de reproducirla y devolver algo, anótalo aquí.",
"iReturn": "La reproduzco y devuelvo yo",
"owedToMe": "Me la devuelven a mí",
"direction": "Quién reproduce y devuelve",
"counterparty": "¿Con quién?",
"counterpartyHint": "Una persona o un colectivo (opcional)",
"owed": "¿Qué se devuelve?",
"owedHint": "p. ej. un puñado la próxima temporada (opcional)",
"note": "Nota (opcional)",
"save": "Guardar",
"markReturned": "Marcar devuelto",
"markForgiven": "Dar por saldado",
"reopen": "Reabrir",
"delete": "Quitar",
"statusReturned": "Devuelto",
"statusForgiven": "Saldado",
"openSection": "Pendientes",
"settledSection": "Hechos",
"removeConfirm": "¿Quitar este compromiso?"
}
}