tane/apps/app_seeds/lib
vjrj 269fb59070 feat(handover): one hand-over sheet replaces the separate sale/plantare doors
'Seeds changed hands' is now the single entry point on the variety
detail (and per lot row): direction (gave/received), one-tap 'all of it'
(default — the whole-plant/shrub case), optional partial quantity,
counterparty, and reveal-on-tap money and return-promise sections that
spawn the Sale/Plantare rows through recordHandover in one save.

Zero-lot varieties still work (ledger rows only); several lots get a
chip picker. The Sales/Plantares screens keep their own add buttons for
off-app records — the sheets stay, demoted to secondary.

i18n handover block in en/es/pt/ast; widget tests for the flow.
2026-07-11 08:00:45 +02:00
..
data feat(handover): recordHandover — one transaction for the moment seeds change hands 2026-07-11 08:00:08 +02:00
db feat(handover): recordHandover — one transaction for the moment seeds change hands 2026-07-11 08:00:08 +02:00
di feat(seed-saving): per-crop 'how to save this seed' guidance 2026-07-11 07:18:39 +02:00
domain feat(seed-saving): source attribution + advisory note 2026-07-11 07:52:48 +02:00
i18n feat(handover): one hand-over sheet replaces the separate sale/plantare doors 2026-07-11 08:00:45 +02:00
security feat(backup): sealed backups + printable recovery sheet 2026-07-09 22:32:13 +02:00
services feat(chat): usable 1:1 chat — bottom-anchored, Drift-backed, dated 2026-07-11 06:40:50 +02:00
state feat(offers): asking price on lots, published with sale offers (schema v11) 2026-07-11 08:00:08 +02:00
ui feat(handover): one hand-over sheet replaces the separate sale/plantare doors 2026-07-11 08:00:45 +02:00
app.dart feat(calendar): "what's due this month" — dedicated screen + inventory filter 2026-07-11 06:27:57 +02:00
bootstrap.dart feat(sync): device-to-device inventory sync, end to end 2026-07-10 23:45:40 +02:00
main.dart feat(identity): switch social identity, all from the one backup 2026-07-10 20:22:24 +02:00