diff --git a/lib/ui/dashboard/dashboard_screen.dart b/lib/ui/dashboard/dashboard_screen.dart index 8006c43c7..c1e9d1372 100644 --- a/lib/ui/dashboard/dashboard_screen.dart +++ b/lib/ui/dashboard/dashboard_screen.dart @@ -140,6 +140,21 @@ class _DashboardScreenState extends State final store = StoreProvider.of(context); final state = store.state; final company = state.company; + Widget leading = SizedBox(); + + if (isMobile(context) || state.prefState.isMenuFloated) { + leading = Builder( + builder: (context) => InkWell( + child: IconButton( + tooltip: localization.menuSidebar, + icon: Icon(Icons.menu), + onPressed: () { + Scaffold.of(context).openDrawer(); + }, + ), + ), + ); + } final mainScaffold = Scaffold( drawer: isMobile(context) || state.prefState.isMenuFloated @@ -150,9 +165,8 @@ class _DashboardScreenState extends State : null, appBar: AppBar( centerTitle: false, - leading: isMobile(context) || state.prefState.isMenuFloated - ? null - : SizedBox(), + automaticallyImplyLeading: false, + leading: leading, title: ListFilter( key: ValueKey('__cleared_at_${state.uiState.filterClearedAt}__'), entityType: EntityType.dashboard, diff --git a/lib/ui/reports/reports_screen.dart b/lib/ui/reports/reports_screen.dart index b9435e93b..43a6b6a45 100644 --- a/lib/ui/reports/reports_screen.dart +++ b/lib/ui/reports/reports_screen.dart @@ -50,6 +50,22 @@ class ReportsScreen extends StatelessWidget { final reportsState = viewModel.reportState; final reportResult = viewModel.reportResult; + Widget leading = SizedBox(); + + if (isMobile(context) || state.prefState.isMenuFloated) { + leading = Builder( + builder: (context) => InkWell( + child: IconButton( + tooltip: localization.menuSidebar, + icon: Icon(Icons.menu), + onPressed: () { + Scaffold.of(context).openDrawer(); + }, + ), + ), + ); + } + final hasCustomDate = reportsState.filters.keys.where((column) { final filter = reportsState.filters[column]; return (getReportColumnType(column, context) == @@ -195,8 +211,8 @@ class ReportsScreen extends StatelessWidget { : null, appBar: AppBar( centerTitle: false, - automaticallyImplyLeading: - isMobile(context) || state.prefState.isMenuFloated, + automaticallyImplyLeading: false, + leading: leading, title: Row( mainAxisSize: MainAxisSize.min, children: [ diff --git a/test_driver/login_it_test.dart b/test_driver/login_it_test.dart index 91ebe4f17..85708f15d 100644 --- a/test_driver/login_it_test.dart +++ b/test_driver/login_it_test.dart @@ -51,7 +51,7 @@ void main() { }); test('Logout from a logged in user', () async { - await logout(driver, localization, fromDashboard: true); + await logout(driver, localization); }); }); }); diff --git a/test_driver/utils/common_actions.dart b/test_driver/utils/common_actions.dart index f4ca66f9d..d8fff3f7b 100644 --- a/test_driver/utils/common_actions.dart +++ b/test_driver/utils/common_actions.dart @@ -8,7 +8,6 @@ import 'package:invoiceninja_flutter/constants.dart'; import 'localizations.dart'; class Keys { - static const String openAppDrawer = 'Open navigation menu'; static const String clientPickerEmptyKey = '__client___'; static const String invoiceLineItemBaseKey = '__line_item'; } @@ -71,12 +70,9 @@ Future login(FlutterDriver driver, } } -Future logout(FlutterDriver driver, TestLocalization localization, - {bool fromDashboard = false}) async { +Future logout(FlutterDriver driver, TestLocalization localization) async { if (await isMobile(driver)) { - await driver.tap(fromDashboard - ? find.byTooltip(Keys.openAppDrawer) - : find.byTooltip(localization.menuSidebar)); + await driver.tap(find.byTooltip(localization.menuSidebar)); } //await driver.scrollUntilVisible(find.byType('Drawer'), find.text(localization.settings)); @@ -96,9 +92,10 @@ Future logout(FlutterDriver driver, TestLocalization localization, await driver.waitFor(find.text(localization.selfhosted.toUpperCase())); } -Future viewSection({FlutterDriver driver, String name}) async { +Future viewSection( + {FlutterDriver driver, String name, TestLocalization localization}) async { if (await isMobile(driver)) { - await driver.tap(find.byTooltip(Keys.openAppDrawer)); + await driver.tap(find.byTooltip('Menu Sidebar')); } await driver.tap(find.byValueKey('menu_' + name));