diff --git a/lib/ui/credit/credit_list_item.dart b/lib/ui/credit/credit_list_item.dart index b70d8e693..12f2a19ff 100644 --- a/lib/ui/credit/credit_list_item.dart +++ b/lib/ui/credit/credit_list_item.dart @@ -49,10 +49,6 @@ class CreditListItem extends StatelessWidget { client.matchesFilterValue(filter)) : null; - final creditStatusId = (credit.invoiceId ?? '').isNotEmpty - ? kQuoteStatusApproved - : credit.statusId; - return DismissibleEntity( isSelected: credit.id == (uiState.isEditing @@ -114,9 +110,9 @@ class CreditListItem extends StatelessWidget { overflow: TextOverflow.ellipsis, ), ), - Text(localization.lookup(kCreditStatuses[creditStatusId]), + Text(localization.lookup(kCreditStatuses[credit.statusId]), style: TextStyle( - color: CreditStatusColors.colors[creditStatusId], + color: CreditStatusColors.colors[credit.statusId], )), ], ), diff --git a/lib/ui/invoice/invoice_list_item.dart b/lib/ui/invoice/invoice_list_item.dart index 3bd5d41b2..07cffdedd 100644 --- a/lib/ui/invoice/invoice_list_item.dart +++ b/lib/ui/invoice/invoice_list_item.dart @@ -49,10 +49,6 @@ class InvoiceListItem extends StatelessWidget { client.matchesFilterValue(filter)) : null; - final invoiceStatusId = (invoice.invoiceId ?? '').isNotEmpty - ? kQuoteStatusApproved - : invoice.statusId; - return DismissibleEntity( isSelected: invoice.id == (uiState.isEditing @@ -122,11 +118,11 @@ class InvoiceListItem extends StatelessWidget { invoice.isPastDue ? localization.pastDue : localization - .lookup(kInvoiceStatuses[invoiceStatusId]), + .lookup(kInvoiceStatuses[invoice.statusId]), style: TextStyle( color: invoice.isPastDue ? Colors.red - : InvoiceStatusColors.colors[invoiceStatusId], + : InvoiceStatusColors.colors[invoice.statusId], )), ], ), diff --git a/lib/ui/invoice/view/invoice_view_overview.dart b/lib/ui/invoice/view/invoice_view_overview.dart index f3e2e3fb5..fd0b01c16 100644 --- a/lib/ui/invoice/view/invoice_view_overview.dart +++ b/lib/ui/invoice/view/invoice_view_overview.dart @@ -36,10 +36,22 @@ class InvoiceOverview extends StatelessWidget { final payments = memoizedPaymentsByInvoice( invoice.id, state.paymentState.map, state.paymentState.list); + Map stauses; + Map colors; + if (invoice.entityType == EntityType.quote) { + stauses = kQuoteStatuses; + colors = QuoteStatusColors.colors; + } else if (invoice.entityType == EntityType.credit) { + stauses = kCreditStatuses; + colors = CreditStatusColors.colors; + } else { + stauses = kInvoiceStatuses; + colors = InvoiceStatusColors.colors; + } + final userCompany = state.userCompany; - final color = invoice.isPastDue - ? Colors.red - : InvoiceStatusColors.colors[invoice.statusId]; + final color = invoice.isPastDue ? Colors.red : colors[invoice.statusId]; + final widgets = [ EntityHeader( backgroundColor: color, @@ -60,7 +72,7 @@ class InvoiceOverview extends StatelessWidget { final Map fields = { InvoiceFields.statusId: invoice.isPastDue ? localization.pastDue - : localization.lookup('invoice_status_${invoice.statusId}'), + : localization.lookup(stauses[invoice.statusId]), InvoiceFields.date: formatDate(invoice.date, context), dueDateField: formatDate(invoice.dueDate, context), InvoiceFields.partial: formatNumber(invoice.partial, context, diff --git a/lib/ui/quote/quote_list_item.dart b/lib/ui/quote/quote_list_item.dart index f424acf41..26879a6b5 100644 --- a/lib/ui/quote/quote_list_item.dart +++ b/lib/ui/quote/quote_list_item.dart @@ -49,10 +49,6 @@ class QuoteListItem extends StatelessWidget { client.matchesFilterValue(filter)) : null; - final quoteStatusId = (quote.invoiceId ?? '').isNotEmpty - ? kQuoteStatusApproved - : quote.statusId; - return DismissibleEntity( isSelected: quote.id == (uiState.isEditing @@ -120,11 +116,11 @@ class QuoteListItem extends StatelessWidget { Text( quote.isPastDue ? localization.expired - : localization.lookup(kQuoteStatuses[quoteStatusId]), + : localization.lookup(kQuoteStatuses[quote.statusId]), style: TextStyle( color: quote.isPastDue ? Colors.red - : QuoteStatusColors.colors[quoteStatusId], + : QuoteStatusColors.colors[quote.statusId], )), ], ),