From ca553df99f013ce4aa11d23a22321f2d8b67d4c0 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 14 Aug 2020 12:51:17 +0300 Subject: [PATCH] Round totals on dashboard --- lib/ui/app/entities/entity_list_tile.dart | 8 +++++--- lib/ui/app/invoice/invoice_item_view.dart | 4 ++-- lib/utils/formatting.dart | 5 +++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/ui/app/entities/entity_list_tile.dart b/lib/ui/app/entities/entity_list_tile.dart index 29f714ec6..bb52a4454 100644 --- a/lib/ui/app/entities/entity_list_tile.dart +++ b/lib/ui/app/entities/entity_list_tile.dart @@ -67,9 +67,11 @@ class _EntityListTileState extends State { includeEdit: true, client: entityClient), isSaving: false, - color: state.prefState.enableDarkMode - ? Colors.white - : Theme.of(context).accentColor, + color: isFilteredBy + ? (state.prefState.enableDarkMode + ? Colors.white + : Theme.of(context).accentColor) + : null, entity: widget.entity, onSelected: (context, action) => widget.onEntityActionSelected != null ? widget.onEntityActionSelected(context, widget.entity, action) diff --git a/lib/ui/app/invoice/invoice_item_view.dart b/lib/ui/app/invoice/invoice_item_view.dart index 644ad3aa9..223004735 100644 --- a/lib/ui/app/invoice/invoice_item_view.dart +++ b/lib/ui/app/invoice/invoice_item_view.dart @@ -17,8 +17,8 @@ class InvoiceItemListTile extends StatelessWidget { @override Widget build(BuildContext context) { - final String cost = - formatNumber(invoiceItem.cost, context, clientId: invoice.clientId); + final String cost = formatNumber(invoiceItem.cost, context, + clientId: invoice.clientId, roundToPrecision: false); final String qty = formatNumber(invoiceItem.quantity, context, clientId: invoice.clientId, formatNumberType: FormatNumberType.double); final localization = AppLocalization.of(context); diff --git a/lib/utils/formatting.dart b/lib/utils/formatting.dart index 47a135540..b034d96a4 100644 --- a/lib/utils/formatting.dart +++ b/lib/utils/formatting.dart @@ -61,6 +61,7 @@ String formatNumber( FormatNumberType formatNumberType = FormatNumberType.money, bool showCurrencyCode, bool zeroIsNull = false, + bool roundToPrecision = true, }) { if ((zeroIsNull || formatNumberType == FormatNumberType.input) && value == 0) { @@ -106,6 +107,10 @@ String formatNumber( return ''; } + if (formatNumberType == FormatNumberType.money) { + value = round(value, currency.precision); + } + String thousandSeparator = currency.thousandSeparator; String decimalSeparator = currency.decimalSeparator; bool swapCurrencySymbol = currency.swapCurrencySymbol;