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.
This commit is contained in:
parent
665e3e9452
commit
269fb59070
12 changed files with 849 additions and 152 deletions
|
|
@ -80,6 +80,7 @@ class TranslationsPt extends Translations with BaseTranslations<AppLocale, Trans
|
|||
@override late final _Translations$wot$pt wot = _Translations$wot$pt._(_root);
|
||||
@override late final _Translations$notifications$pt notifications = _Translations$notifications$pt._(_root);
|
||||
@override late final _Translations$plantare$pt plantare = _Translations$plantare$pt._(_root);
|
||||
@override late final _Translations$handover$pt handover = _Translations$handover$pt._(_root);
|
||||
@override late final _Translations$sale$pt sale = _Translations$sale$pt._(_root);
|
||||
}
|
||||
|
||||
|
|
@ -896,6 +897,26 @@ class _Translations$plantare$pt extends Translations$plantare$en {
|
|||
@override String get removeConfirm => 'Remover este compromisso?';
|
||||
}
|
||||
|
||||
// Path: handover
|
||||
class _Translations$handover$pt extends Translations$handover$en {
|
||||
_Translations$handover$pt._(TranslationsPt root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsPt _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Dei ou recebi sementes';
|
||||
@override String get help => 'Uma oferta, uma troca ou uma venda: anota-o, com promessa de devolver semente ou sem ela.';
|
||||
@override String get iGave => 'Dei sementes';
|
||||
@override String get iReceived => 'Recebi sementes';
|
||||
@override String get whichLot => 'De que lote?';
|
||||
@override String get howMuch => 'Quanto?';
|
||||
@override String get allOfIt => 'Tudo';
|
||||
@override String get partOfIt => 'Uma parte';
|
||||
@override String get paymentChip => 'Houve dinheiro pelo meio';
|
||||
@override String get promiseGave => 'Vão devolver-me semente';
|
||||
@override String get promiseReceived => 'Vou devolver semente';
|
||||
}
|
||||
|
||||
// Path: sale
|
||||
class _Translations$sale$pt extends Translations$sale$en {
|
||||
_Translations$sale$pt._(TranslationsPt root) : this._root = root, super.internal(root);
|
||||
|
|
@ -1738,6 +1759,17 @@ extension on TranslationsPt {
|
|||
'plantare.openSection' => 'Pendentes',
|
||||
'plantare.settledSection' => 'Feitos',
|
||||
'plantare.removeConfirm' => 'Remover este compromisso?',
|
||||
'handover.title' => 'Dei ou recebi sementes',
|
||||
'handover.help' => 'Uma oferta, uma troca ou uma venda: anota-o, com promessa de devolver semente ou sem ela.',
|
||||
'handover.iGave' => 'Dei sementes',
|
||||
'handover.iReceived' => 'Recebi sementes',
|
||||
'handover.whichLot' => 'De que lote?',
|
||||
'handover.howMuch' => 'Quanto?',
|
||||
'handover.allOfIt' => 'Tudo',
|
||||
'handover.partOfIt' => 'Uma parte',
|
||||
'handover.paymentChip' => 'Houve dinheiro pelo meio',
|
||||
'handover.promiseGave' => 'Vão devolver-me semente',
|
||||
'handover.promiseReceived' => 'Vou devolver semente',
|
||||
'sale.title' => 'Vendas',
|
||||
'sale.help' => 'Regista semente vendida ou comprada — dinheiro, Ğ1 ou qualquer moeda. Um modelo separado do presente e do Plantare. Nunca se cobra comissão pelas sementes.',
|
||||
'sale.add' => 'Registar venda',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue