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 c75fb59926
commit 833ddaed4d
15 changed files with 730 additions and 2 deletions

View file

@ -37,6 +37,7 @@
"chat": "Chat",
"wishlist": "Wishlist",
"following": "Following",
"plantares": "Plantares",
"settings": "Settings"
},
"settings": {
@ -555,5 +556,29 @@
},
"notifications": {
"newMessageFrom": "New message from {name}"
},
"plantare": {
"title": "Plantares",
"help": "A Plantare is a promise to reproduce a seed and return some — how a variety keeps travelling from hand to hand. It's not a sale.",
"add": "Add a commitment",
"empty": "No commitments yet. When you share or receive seed with a promise to grow it out and return some, note it here.",
"iReturn": "I'll grow it out & return some",
"owedToMe": "They'll return some to me",
"direction": "Who reproduces & returns",
"counterparty": "With whom?",
"counterpartyHint": "A person or a collective (optional)",
"owed": "What comes back?",
"owedHint": "e.g. a handful next season (optional)",
"note": "Note (optional)",
"save": "Save",
"markReturned": "Mark returned",
"markForgiven": "Let it go",
"reopen": "Reopen",
"delete": "Remove",
"statusReturned": "Returned",
"statusForgiven": "Settled",
"openSection": "Open",
"settledSection": "Done",
"removeConfirm": "Remove this commitment?"
}
}