From d27efaf916d939af228337acefbbc8bbaab5233b Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 4 May 2020 15:40:58 +0300 Subject: [PATCH] Updating design --- lib/constants.dart | 1 + lib/main.dart | 1 + lib/ui/app/menu_drawer.dart | 257 +++++++++++++++++++----------------- 3 files changed, 141 insertions(+), 118 deletions(-) diff --git a/lib/constants.dart b/lib/constants.dart index 2777b766f..14a62c914 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -350,6 +350,7 @@ const String kDefaultCurrencyId = '1'; const String kDefaultDateFormat = '5'; const String kDefaultAccentColor = '#0091EA'; const String kDefaultSelectedColor = '#1E252F'; +const String kDefaultBorderColor = '#393A3C'; const String kReportGroupDay = 'day'; const String kReportGroupMonth = 'month'; diff --git a/lib/main.dart b/lib/main.dart index 879b50eaa..a3e4b29ff 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -292,6 +292,7 @@ class InvoiceNinjaAppState extends State { //canvasColor: const Color(0xFF1B1C1E), canvasColor: Colors.black, cardColor: const Color(0xFF1B1C1E), + bottomAppBarColor: const Color(0xFF1B1C1E), ) : ThemeData(fontFamily: fontFamily).copyWith( pageTransitionsTheme: pageTransitionsTheme, diff --git a/lib/ui/app/menu_drawer.dart b/lib/ui/app/menu_drawer.dart index 4618451ae..6585a8ff3 100644 --- a/lib/ui/app/menu_drawer.dart +++ b/lib/ui/app/menu_drawer.dart @@ -200,128 +200,149 @@ class MenuDrawer extends StatelessWidget { width: state.prefState.isMenuCollapsed ? 65 : kDrawerWidth, child: Drawer( child: SafeArea( - child: Column( - mainAxisSize: MainAxisSize.max, - children: [ - // Hide options while refreshing data - state.credentials.token.isEmpty - ? Expanded(child: SizedBox()) - : Container( - padding: - EdgeInsets.symmetric(horizontal: 14, vertical: 3), - color: enableDarkMode ? Colors.white10 : Theme.of(context).cardColor, - child: state.prefState.isMenuCollapsed - ? _collapsedCompanySelector - : _expandedCompanySelector), - state.credentials.token.isEmpty - ? SizedBox() - : Expanded( - child: Container( + child: Container( + decoration: BoxDecoration( + border: Border.all( + width: 1, + color: convertHexStringToColor(kDefaultBorderColor), + ), + ), + child: Column( + mainAxisSize: MainAxisSize.max, + children: [ + // Hide options while refreshing data + state.credentials.token.isEmpty + ? Expanded(child: SizedBox()) + : Container( + padding: + EdgeInsets.symmetric(horizontal: 14, vertical: 3), + color: enableDarkMode + ? Colors.white10 + : Theme.of(context).cardColor, + child: state.prefState.isMenuCollapsed + ? _collapsedCompanySelector + : _expandedCompanySelector), + state.credentials.token.isEmpty + ? SizedBox() + : Expanded( + child: Container( color: Theme.of(context).cardColor, child: ListView( - shrinkWrap: true, - children: [ - DrawerTile( - company: company, - icon: getEntityIcon(EntityType.dashboard), - title: localization.dashboard, - onTap: () => store.dispatch( - ViewDashboard(navigator: Navigator.of(context))), - onLongPress: () => store.dispatch(ViewDashboard( - navigator: Navigator.of(context), filter: '')), - ), - DrawerTile( - company: company, - entityType: EntityType.client, - icon: getEntityIcon(EntityType.client), - title: localization.clients, - ), - DrawerTile( - company: company, - entityType: EntityType.product, - icon: getEntityIcon(EntityType.product), - title: localization.products, - ), - DrawerTile( - company: company, - entityType: EntityType.invoice, - icon: getEntityIcon(EntityType.invoice), - title: localization.invoices, - ), - DrawerTile( - company: company, - entityType: EntityType.payment, - icon: getEntityIcon(EntityType.payment), - title: localization.payments, - ), - DrawerTile( - company: company, - entityType: EntityType.quote, - icon: getEntityIcon(EntityType.quote), - title: localization.quotes, - ), - DrawerTile( - company: company, - entityType: EntityType.credit, - icon: getEntityIcon(EntityType.credit), - title: localization.credits, - ), - DrawerTile( - company: company, - entityType: EntityType.project, - icon: getEntityIcon(EntityType.project), - title: localization.projects, - ), - DrawerTile( - company: company, - entityType: EntityType.task, - icon: getEntityIcon(EntityType.task), - title: localization.tasks, - ), - DrawerTile( - company: company, - entityType: EntityType.vendor, - icon: getEntityIcon(EntityType.vendor), - title: localization.vendors, - ), - DrawerTile( - company: company, - entityType: EntityType.expense, - icon: getEntityIcon(EntityType.expense), - title: localization.expenses, - ), - // STARTER: menu - do not remove comment - DrawerTile( - company: company, - icon: getEntityIcon(EntityType.reports), - title: localization.reports, - onTap: () { - store.dispatch( - ViewReports(navigator: Navigator.of(context))); - }, - ), - DrawerTile( - company: company, - icon: getEntityIcon(EntityType.settings), - title: localization.settings, - onTap: () { - store.dispatch(ViewSettings( + shrinkWrap: true, + children: [ + DrawerTile( + company: company, + icon: getEntityIcon(EntityType.dashboard), + title: localization.dashboard, + onTap: () => store.dispatch(ViewDashboard( + navigator: Navigator.of(context))), + onLongPress: () => store.dispatch(ViewDashboard( navigator: Navigator.of(context), - company: state.company)); - }, - ), - ], - ), + filter: '')), + ), + DrawerTile( + company: company, + entityType: EntityType.client, + icon: getEntityIcon(EntityType.client), + title: localization.clients, + ), + DrawerTile( + company: company, + entityType: EntityType.product, + icon: getEntityIcon(EntityType.product), + title: localization.products, + ), + DrawerTile( + company: company, + entityType: EntityType.invoice, + icon: getEntityIcon(EntityType.invoice), + title: localization.invoices, + ), + DrawerTile( + company: company, + entityType: EntityType.payment, + icon: getEntityIcon(EntityType.payment), + title: localization.payments, + ), + DrawerTile( + company: company, + entityType: EntityType.quote, + icon: getEntityIcon(EntityType.quote), + title: localization.quotes, + ), + DrawerTile( + company: company, + entityType: EntityType.credit, + icon: getEntityIcon(EntityType.credit), + title: localization.credits, + ), + DrawerTile( + company: company, + entityType: EntityType.project, + icon: getEntityIcon(EntityType.project), + title: localization.projects, + ), + DrawerTile( + company: company, + entityType: EntityType.task, + icon: getEntityIcon(EntityType.task), + title: localization.tasks, + ), + DrawerTile( + company: company, + entityType: EntityType.vendor, + icon: getEntityIcon(EntityType.vendor), + title: localization.vendors, + ), + DrawerTile( + company: company, + entityType: EntityType.expense, + icon: getEntityIcon(EntityType.expense), + title: localization.expenses, + ), + // STARTER: menu - do not remove comment + DrawerTile( + company: company, + icon: getEntityIcon(EntityType.reports), + title: localization.reports, + onTap: () { + store.dispatch(ViewReports( + navigator: Navigator.of(context))); + }, + ), + DrawerTile( + company: company, + icon: getEntityIcon(EntityType.settings), + title: localization.settings, + onTap: () { + store.dispatch(ViewSettings( + navigator: Navigator.of(context), + company: state.company)); + }, + ), + ], + ), )), - Align( - child: state.prefState.isMenuCollapsed - ? SidebarFooterCollapsed( - isUpdateAvailable: state.account.isUpdateAvailable, - ) - : SidebarFooter(), - alignment: Alignment(0, 1), - ), - ], + Container( + decoration: BoxDecoration( + color: Theme.of(context).bottomAppBarColor, + border: Border( + top: BorderSide( + width: 1, + color: convertHexStringToColor(kDefaultBorderColor), + )), + ), + child: Align( + child: state.prefState.isMenuCollapsed + ? SidebarFooterCollapsed( + isUpdateAvailable: state.account.isUpdateAvailable, + ) + : SidebarFooter(), + alignment: Alignment(0, 1), + ), + ), + ], + ), ), ), ),