From e21f4a4082145456e08bc114d553e5bee29a3047 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 20 May 2020 18:21:43 +0300 Subject: [PATCH] Navigation --- lib/constants.dart | 6 +- lib/ui/app/menu_drawer.dart | 130 +++++++++--------- .../app/tables/app_paginated_data_table.dart | 2 + lib/ui/credit/credit_list_item.dart | 33 +---- lib/ui/invoice/invoice_list_item.dart | 11 +- .../invoice/view/invoice_view_overview.dart | 4 +- lib/ui/quote/quote_list_item.dart | 30 +--- 7 files changed, 73 insertions(+), 143 deletions(-) diff --git a/lib/constants.dart b/lib/constants.dart index 3cde9c779..c0a108812 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -411,7 +411,7 @@ const Map kModules = { class InvoiceStatusColors { static var colors = { - kInvoiceStatusDraft: Colors.transparent, + kInvoiceStatusDraft: Colors.black, kInvoiceStatusSent: convertHexStringToColor('#505F73'), //kInvoiceStatusViewed: Colors.orange, //kInvoiceStatusApproved: Colors.green, @@ -425,7 +425,7 @@ class InvoiceStatusColors { class CreditStatusColors { static var colors = { - kCreditStatusDraft: Colors.transparent, + kCreditStatusDraft: Colors.black, kCreditStatusSent: convertHexStringToColor('#505F73'), //kInvoiceStatusViewed: Colors.orange, //kInvoiceStatusApproved: Colors.green, @@ -436,7 +436,7 @@ class CreditStatusColors { class QuoteStatusColors { static var colors = { - kQuoteStatusDraft: Colors.transparent, + kQuoteStatusDraft: Colors.black, kQuoteStatusSent: convertHexStringToColor('#505F73'), kQuoteStatusApproved: convertHexStringToColor('#407535'), kQuoteStatusExpired: convertHexStringToColor('#8D3E3F'), diff --git a/lib/ui/app/menu_drawer.dart b/lib/ui/app/menu_drawer.dart index 8ec16ddca..c8b63849d 100644 --- a/lib/ui/app/menu_drawer.dart +++ b/lib/ui/app/menu_drawer.dart @@ -623,79 +623,73 @@ class SidebarFooterCollapsed extends StatelessWidget { final Store store = StoreProvider.of(context); final localization = AppLocalization.of(context); - if (store.state.uiState.filterEntityType != null) { - return SizedBox(); - } - return Container( width: double.infinity, color: Theme.of(context).cardColor, - child: IconButton( - icon: Icon(Icons.chevron_right), - tooltip: localization.showMenu, - onPressed: () { - store.dispatch(UserSettingsChanged(sidebar: AppSidebar.menu)); - }, - ), - ); - - /* - return PopupMenuButton( - icon: isUpdateAvailable - ? Icon(Icons.warning, color: Theme.of(context).accentColor) - : Icon(Icons.info_outline), - onSelected: (value) { - if (value == localization.updateAvailable) { - _showUpdate(context); - } else if (value == localization.about) { - _showAbout(context); - } else if (value == localization.contactUs) { - _showContactUs(context); - } - }, - itemBuilder: (BuildContext context) => [ - if (isUpdateAvailable) - PopupMenuItem( - child: ListTile( - leading: Icon( - Icons.warning, - color: Theme.of(context).accentColor, - ), - title: Text(localization.updateAvailable), + child: store.state.uiState.filterEntityType != null + ? PopupMenuButton( + icon: isUpdateAvailable + ? Icon(Icons.warning, color: Theme.of(context).accentColor) + : Icon(Icons.info_outline), + onSelected: (value) { + if (value == localization.updateAvailable) { + _showUpdate(context); + } else if (value == localization.about) { + _showAbout(context); + } else if (value == localization.contactUs) { + _showContactUs(context); + } + }, + itemBuilder: (BuildContext context) => [ + if (isUpdateAvailable) + PopupMenuItem( + child: ListTile( + leading: Icon( + Icons.warning, + color: Theme.of(context).accentColor, + ), + title: Text(localization.updateAvailable), + ), + value: localization.updateAvailable, + ), + PopupMenuItem( + child: ListTile( + leading: Icon(Icons.mail), + title: Text(localization.contactUs), + ), + value: localization.contactUs, + ), + PopupMenuItem( + child: ListTile( + leading: Icon(Icons.help_outline), + title: Text(localization.documentation), + ), + value: localization.documentation, + ), + PopupMenuItem( + child: ListTile( + leading: Icon(Icons.forum), + title: Text(localization.supportForum), + ), + value: localization.supportForum, + ), + PopupMenuItem( + child: ListTile( + leading: Icon(Icons.info_outline), + title: Text(localization.about), + ), + value: localization.about, + ), + ], + ) + : IconButton( + icon: Icon(Icons.chevron_right), + tooltip: localization.showMenu, + onPressed: () { + store.dispatch(UserSettingsChanged(sidebar: AppSidebar.menu)); + }, ), - value: localization.updateAvailable, - ), - PopupMenuItem( - child: ListTile( - leading: Icon(Icons.mail), - title: Text(localization.contactUs), - ), - value: localization.contactUs, - ), - PopupMenuItem( - child: ListTile( - leading: Icon(Icons.help_outline), - title: Text(localization.documentation), - ), - value: localization.documentation, - ), - PopupMenuItem( - child: ListTile( - leading: Icon(Icons.forum), - title: Text(localization.supportForum), - ), - value: localization.supportForum, - ), - PopupMenuItem( - child: ListTile( - leading: Icon(Icons.info_outline), - title: Text(localization.about), - ), - value: localization.about, - ), - ], ); - */ } } diff --git a/lib/ui/app/tables/app_paginated_data_table.dart b/lib/ui/app/tables/app_paginated_data_table.dart index 741fc45d1..d7e15fa47 100644 --- a/lib/ui/app/tables/app_paginated_data_table.dart +++ b/lib/ui/app/tables/app_paginated_data_table.dart @@ -338,6 +338,7 @@ class AppPaginatedDataTableState extends State { final MaterialLocalizations localizations = MaterialLocalizations.of(context); // HEADER + /* final List headerWidgets = []; double startPadding = 24.0; if (_selectedRowCount == 0) { @@ -364,6 +365,7 @@ class AppPaginatedDataTableState extends State { ); }).toList()); } + */ // FOOTER final TextStyle footerTextStyle = themeData.textTheme.caption; diff --git a/lib/ui/credit/credit_list_item.dart b/lib/ui/credit/credit_list_item.dart index 3eb9010a1..663add999 100644 --- a/lib/ui/credit/credit_list_item.dart +++ b/lib/ui/credit/credit_list_item.dart @@ -3,6 +3,7 @@ import 'package:invoiceninja_flutter/constants.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart'; +import 'package:invoiceninja_flutter/ui/app/entities/entity_status_chip.dart'; import 'package:invoiceninja_flutter/ui/app/entity_state_label.dart'; import 'package:invoiceninja_flutter/utils/formatting.dart'; import 'package:flutter/foundation.dart'; @@ -52,9 +53,6 @@ class CreditListItem extends StatelessWidget { : null; final textColor = Theme.of(context).textTheme.bodyText1.color; - final statusLabel = localization.lookup(kCreditStatuses[credit.statusId]); - final statusColor = CreditStatusColors.colors[credit.statusId]; - Widget _buildMobile() { return ListTile( onTap: isInMultiselect @@ -208,34 +206,7 @@ class CreditListItem extends StatelessWidget { textAlign: TextAlign.end, ), SizedBox(width: 25), - credit.isSent - ? DecoratedBox( - decoration: BoxDecoration( - color: statusColor, - borderRadius: BorderRadius.all(Radius.circular(5)), - ), - child: ConstrainedBox( - constraints: BoxConstraints( - minWidth: 100, - ), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8), - child: Text( - statusLabel.toUpperCase(), - style: TextStyle(fontSize: 14), - textAlign: TextAlign.center, - ), - ), - ), - ) - : SizedBox( - child: Text( - localization.draft.toUpperCase(), - style: TextStyle(fontSize: 14), - textAlign: TextAlign.center, - ), - width: 100, - ), + EntityStatusChip(entity: credit), ], ), ), diff --git a/lib/ui/invoice/invoice_list_item.dart b/lib/ui/invoice/invoice_list_item.dart index 379763243..f2c6e7281 100644 --- a/lib/ui/invoice/invoice_list_item.dart +++ b/lib/ui/invoice/invoice_list_item.dart @@ -231,16 +231,7 @@ class InvoiceListItem extends StatelessWidget { textAlign: TextAlign.end, ), SizedBox(width: 25), - invoice.isSent - ? EntityStatusChip(entity: invoice) - : SizedBox( - child: Text( - localization.draft.toUpperCase(), - style: TextStyle(fontSize: 14), - textAlign: TextAlign.center, - ), - width: 100, - ), + EntityStatusChip(entity: invoice) ], ), ), diff --git a/lib/ui/invoice/view/invoice_view_overview.dart b/lib/ui/invoice/view/invoice_view_overview.dart index 37f888bf3..88b69c68d 100644 --- a/lib/ui/invoice/view/invoice_view_overview.dart +++ b/lib/ui/invoice/view/invoice_view_overview.dart @@ -57,9 +57,7 @@ class InvoiceOverview extends StatelessWidget { EntityHeader( entity: invoice, statusColor: color, - statusLabel: invoice.statusId == kInvoiceStatusDraft - ? null - : invoice.isPastDue + statusLabel: invoice.isPastDue ? localization.pastDue : localization.lookup(stauses[invoice.statusId]), label: localization.totalAmount, diff --git a/lib/ui/quote/quote_list_item.dart b/lib/ui/quote/quote_list_item.dart index dc4dcd6a9..5a8e2426e 100644 --- a/lib/ui/quote/quote_list_item.dart +++ b/lib/ui/quote/quote_list_item.dart @@ -3,6 +3,7 @@ import 'package:invoiceninja_flutter/constants.dart'; import 'package:invoiceninja_flutter/redux/app/app_actions.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart'; +import 'package:invoiceninja_flutter/ui/app/entities/entity_status_chip.dart'; import 'package:invoiceninja_flutter/ui/app/entity_state_label.dart'; import 'package:invoiceninja_flutter/utils/formatting.dart'; import 'package:flutter/foundation.dart'; @@ -225,34 +226,7 @@ class QuoteListItem extends StatelessWidget { textAlign: TextAlign.end, ), SizedBox(width: 25), - quote.isSent - ? DecoratedBox( - decoration: BoxDecoration( - color: statusColor, - borderRadius: BorderRadius.all(Radius.circular(5)), - ), - child: ConstrainedBox( - constraints: BoxConstraints( - minWidth: 100, - ), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8), - child: Text( - statusLabel.toUpperCase(), - style: TextStyle(fontSize: 14), - textAlign: TextAlign.center, - ), - ), - ), - ) - : SizedBox( - child: Text( - localization.draft.toUpperCase(), - style: TextStyle(fontSize: 14), - textAlign: TextAlign.center, - ), - width: 100, - ), + EntityStatusChip(entity: quote), ], ), ),