From 2f480bb0b044a2be0d15a1bdcac4429855dec8c3 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 24 Oct 2022 17:11:57 +0300 Subject: [PATCH] Transactions --- lib/ui/app/view_scaffold.dart | 16 ++++++---- lib/ui/transaction/view/transaction_view.dart | 29 +++++++++++-------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/lib/ui/app/view_scaffold.dart b/lib/ui/app/view_scaffold.dart index 52178b9f0..39d3c2b20 100644 --- a/lib/ui/app/view_scaffold.dart +++ b/lib/ui/app/view_scaffold.dart @@ -26,6 +26,7 @@ class ViewScaffold extends StatelessWidget { this.appBarBottom, this.isFilter = false, this.onBackPressed, + this.title, }); final bool isFilter; @@ -34,6 +35,7 @@ class ViewScaffold extends StatelessWidget { final Function onBackPressed; final Widget floatingActionButton; final Widget appBarBottom; + final String title; @override Widget build(BuildContext context) { @@ -43,12 +45,14 @@ class ViewScaffold extends StatelessWidget { final userCompany = state.userCompany; final isSettings = entity.entityType.isSetting; - String title; - if (entity.isNew) { - title = ''; + String appBarTitle; + if (title != null) { + appBarTitle = title; + } else if (entity.isNew) { + appBarTitle = ''; } else { final presenter = EntityPresenter().initialize(entity, context); - title = presenter.title(isNarrow: isMobile(context)); + appBarTitle = presenter.title(isNarrow: isMobile(context)); } Widget leading; @@ -97,8 +101,8 @@ class ViewScaffold extends StatelessWidget { leading: leading, automaticallyImplyLeading: isMobile(context), title: CopyToClipboard( - value: title, - child: Text(title), + value: appBarTitle, + child: Text(appBarTitle), ), bottom: appBarBottom, actions: entity.isNew diff --git a/lib/ui/transaction/view/transaction_view.dart b/lib/ui/transaction/view/transaction_view.dart index a0857e4e4..3385ddbd7 100644 --- a/lib/ui/transaction/view/transaction_view.dart +++ b/lib/ui/transaction/view/transaction_view.dart @@ -37,27 +37,32 @@ class _TransactionViewState extends State { final viewModel = widget.viewModel; final transactions = viewModel.transactions; final transaction = - transactions.isNotEmpty ? transactions.first : TransactionEntity(); + transactions.isEmpty ? TransactionEntity() : transactions.first; final localization = AppLocalization.of(context); final state = viewModel.state; return ViewScaffold( isFilter: widget.isFilter, entity: transaction, + title: transactions.length > 1 + ? '${transactions.length} ${localization.selected}' + : null, body: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - EntityHeader( - entity: transaction, - label: transaction.isDeposit - ? localization.deposit - : localization.withdrawal, - value: formatNumber(transaction.amount, context, - currencyId: transaction.currencyId), - secondLabel: localization.date, - secondValue: formatDate(transaction.date, context), - ), - ListDivider(), + if (transactions.length == 1) ...[ + EntityHeader( + entity: transaction, + label: transaction.isDeposit + ? localization.deposit + : localization.withdrawal, + value: formatNumber(transaction.amount, context, + currencyId: transaction.currencyId), + secondLabel: localization.date, + secondValue: formatDate(transaction.date, context), + ), + ListDivider(), + ], if (transaction.isConverted) ...[ if (transaction.isDeposit) ...transaction.invoiceIds