From d06d7f1448785b70b1266434e69376410f48c058 Mon Sep 17 00:00:00 2001 From: Andreas Fahrecker Date: Fri, 12 Feb 2021 00:17:19 +0100 Subject: [PATCH] Code cleanup Signed-off-by: Andreas Fahrecker --- lib/screens/home_screen.dart | 12 ++-- lib/screens/progress_creation_screen.dart | 2 +- lib/screens/progress_detail_screen.dart | 2 +- .../home_bottom_navbar.dart | 0 .../home_progress_list_tile.dart | 0 .../home/tabs/home_active_progresses_tab.dart | 44 ++++++++++++++ .../tabs/home_inactive_progresses_tab.dart | 43 +++++++++++++ .../tabs}/home_settings_tab.dart | 2 - .../home_active_progresses_tab.dart | 57 ------------------ .../home_inactive_progresses_tab.dart | 60 ------------------- 10 files changed, 94 insertions(+), 128 deletions(-) rename lib/widgets/{home_widgets => home}/home_bottom_navbar.dart (100%) rename lib/widgets/{home_widgets => home}/home_progress_list_tile.dart (100%) create mode 100644 lib/widgets/home/tabs/home_active_progresses_tab.dart create mode 100644 lib/widgets/home/tabs/home_inactive_progresses_tab.dart rename lib/widgets/{home_widgets => home/tabs}/home_settings_tab.dart (95%) delete mode 100644 lib/widgets/home_widgets/home_active_progresses_tab.dart delete mode 100644 lib/widgets/home_widgets/home_inactive_progresses_tab.dart diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index ee067d4..15ad17c 100644 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:time_progress_tracker/screens/progress_creation_screen.dart'; -import 'package:time_progress_tracker/widgets/home_widgets/home_bottom_navbar.dart'; -import 'package:time_progress_tracker/widgets/home_widgets/home_active_progresses_tab.dart'; -import 'package:time_progress_tracker/widgets/home_widgets/home_inactive_progresses_tab.dart'; -import 'package:time_progress_tracker/widgets/home_widgets/home_settings_tab.dart'; +import 'package:time_progress_tracker/widgets/home/home_bottom_navbar.dart'; +import 'package:time_progress_tracker/widgets/home/tabs/home_active_progresses_tab.dart'; +import 'package:time_progress_tracker/widgets/home/tabs/home_inactive_progresses_tab.dart'; +import 'package:time_progress_tracker/widgets/home/tabs/home_settings_tab.dart'; class HomeScreen extends StatefulWidget { static const routeName = "/home"; @@ -31,8 +31,6 @@ class _HomeScreenState extends State { @override Widget build(BuildContext context) { - ThemeData appTheme = Theme.of(context); - return Scaffold( appBar: AppBar( title: Text(HomeScreen.title), @@ -54,4 +52,4 @@ class _HomeScreenState extends State { ), ); } -} \ No newline at end of file +} diff --git a/lib/screens/progress_creation_screen.dart b/lib/screens/progress_creation_screen.dart index d034f5f..417ba4d 100644 --- a/lib/screens/progress_creation_screen.dart +++ b/lib/screens/progress_creation_screen.dart @@ -7,7 +7,7 @@ import 'package:time_progress_tracker/models/time_progress.dart'; import 'package:time_progress_tracker/widgets/progress_editor_widget.dart'; class ProgressCreationScreen extends StatefulWidget { - static const routeName = "/progress-creation"; + static const routeName = "/create-progress"; static const title = "Create Time Progress"; @override diff --git a/lib/screens/progress_detail_screen.dart b/lib/screens/progress_detail_screen.dart index 2aafb43..224e182 100644 --- a/lib/screens/progress_detail_screen.dart +++ b/lib/screens/progress_detail_screen.dart @@ -17,7 +17,7 @@ class ProgressDetailScreenArguments { } class ProgressDetailScreen extends StatefulWidget { - static const routeName = "/progress-detail"; + static const routeName = "/progress"; static const title = "Progress View"; @override diff --git a/lib/widgets/home_widgets/home_bottom_navbar.dart b/lib/widgets/home/home_bottom_navbar.dart similarity index 100% rename from lib/widgets/home_widgets/home_bottom_navbar.dart rename to lib/widgets/home/home_bottom_navbar.dart diff --git a/lib/widgets/home_widgets/home_progress_list_tile.dart b/lib/widgets/home/home_progress_list_tile.dart similarity index 100% rename from lib/widgets/home_widgets/home_progress_list_tile.dart rename to lib/widgets/home/home_progress_list_tile.dart diff --git a/lib/widgets/home/tabs/home_active_progresses_tab.dart b/lib/widgets/home/tabs/home_active_progresses_tab.dart new file mode 100644 index 0000000..6b5e700 --- /dev/null +++ b/lib/widgets/home/tabs/home_active_progresses_tab.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_redux/flutter_redux.dart'; +import 'package:time_progress_tracker/actions/actions.dart'; +import 'package:time_progress_tracker/models/time_progress.dart'; +import 'package:time_progress_tracker/selectors/time_progress_selectors.dart'; +import 'package:time_progress_tracker/widgets/home/home_progress_list_tile.dart'; + +class HomeActiveProgressesTab extends StatelessWidget { + @override + Widget build(BuildContext context) { + return StoreConnector( + onInit: loadTimeProgressListIfUnloaded, + converter: (store) => store.state.hasLoaded, + builder: (BuildContext context, dynamic hasLoaded) { + if (!(hasLoaded as bool)) + return Center( + child: CircularProgressIndicator(), + ); + return StoreConnector( + onInit: loadTimeProgressListIfUnloaded, + converter: (store) => activeTimeProgressesSelector(store.state), + builder: (BuildContext context, List timeProgresses) { + if (timeProgresses.length < 1) + return Container( + padding: EdgeInsets.all(16), + child: Center( + child: Text( + "You don't have any currently active time progresses, that are tracked."), + ), + ); + return ListView( + padding: EdgeInsets.all(8), + children: timeProgresses + .map((timeProgress) => HomeProgressListTile( + timeProgress: timeProgress, + )) + .toList(), + ); + }, + ); + }, + ); + } +} diff --git a/lib/widgets/home/tabs/home_inactive_progresses_tab.dart b/lib/widgets/home/tabs/home_inactive_progresses_tab.dart new file mode 100644 index 0000000..c1e7507 --- /dev/null +++ b/lib/widgets/home/tabs/home_inactive_progresses_tab.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_redux/flutter_redux.dart'; +import 'package:time_progress_tracker/actions/actions.dart'; +import 'package:time_progress_tracker/models/time_progress.dart'; +import 'package:time_progress_tracker/selectors/time_progress_selectors.dart'; +import 'package:time_progress_tracker/widgets/home/home_progress_list_tile.dart'; + +class HomeInactiveProgressesTab extends StatelessWidget { + @override + Widget build(BuildContext context) { + return StoreConnector( + onInit: loadTimeProgressListIfUnloaded, + converter: (store) => store.state.hasLoaded, + builder: (BuildContext context, dynamic hasLoaded) { + if (!(hasLoaded as bool)) + return Center( + child: CircularProgressIndicator(), + ); + return StoreConnector( + onInit: loadTimeProgressListIfUnloaded, + converter: (store) => inactiveTimeProgressesSelector(store.state), + builder: (BuildContext context, List timeProgresses) { + if (timeProgresses.length < 1) + return Container( + padding: EdgeInsets.all(16), + child: Center( + child: Text( + "You don't have any currently inactive time progresses, that are tracked."), + ), + ); + return ListView( + padding: EdgeInsets.all(8), + children: timeProgresses + .map((timeProgress) => + HomeProgressListTile(timeProgress: timeProgress)) + .toList(), + ); + }, + ); + }, + ); + } +} diff --git a/lib/widgets/home_widgets/home_settings_tab.dart b/lib/widgets/home/tabs/home_settings_tab.dart similarity index 95% rename from lib/widgets/home_widgets/home_settings_tab.dart rename to lib/widgets/home/tabs/home_settings_tab.dart index 97dc0ee..5d3f62b 100644 --- a/lib/widgets/home_widgets/home_settings_tab.dart +++ b/lib/widgets/home/tabs/home_settings_tab.dart @@ -5,8 +5,6 @@ import 'package:time_progress_tracker/app.dart'; class HomeSettingsTab extends StatelessWidget { @override Widget build(BuildContext context) { - ThemeData appTheme = Theme.of(context); - return Container( padding: EdgeInsets.all(16), child: Center( diff --git a/lib/widgets/home_widgets/home_active_progresses_tab.dart b/lib/widgets/home_widgets/home_active_progresses_tab.dart deleted file mode 100644 index 8ad92df..0000000 --- a/lib/widgets/home_widgets/home_active_progresses_tab.dart +++ /dev/null @@ -1,57 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_redux/flutter_redux.dart'; -import 'package:redux/redux.dart'; -import 'package:time_progress_tracker/actions/actions.dart'; -import 'package:time_progress_tracker/models/app_state.dart'; -import 'package:time_progress_tracker/models/time_progress.dart'; -import 'package:time_progress_tracker/selectors/time_progress_selectors.dart'; -import 'package:time_progress_tracker/widgets/home_widgets/home_progress_list_tile.dart'; - -class HomeActiveProgressesTab extends StatelessWidget { - @override - Widget build(BuildContext context) { - ThemeData appTheme = Theme.of(context); - return StoreConnector( - converter: _ViewModel.fromStore, - onInit: loadTimeProgressListIfUnloaded, - builder: (BuildContext scContext, _ViewModel vm) { - if (!vm.hasLoaded) - return Center( - child: CircularProgressIndicator(), - ); - if (vm.activeTimeProgresses.length < 1) - return Container( - padding: EdgeInsets.all(16), - child: Center( - child: Text( - "You don't have any currently active time progresses, that are tracked."), - ), - ); - return ListView( - padding: EdgeInsets.all(8), - children: vm.activeTimeProgresses - .map((timeProgress) => HomeProgressListTile( - timeProgress: timeProgress, - )) - .toList(), - ); - }); - } -} - -class _ViewModel { - final List activeTimeProgresses; - final bool hasLoaded; - - _ViewModel({ - @required this.activeTimeProgresses, - @required this.hasLoaded, - }); - - static _ViewModel fromStore(Store store) { - return _ViewModel( - activeTimeProgresses: activeTimeProgressesSelector(store.state), - hasLoaded: store.state.hasLoaded, - ); - } -} diff --git a/lib/widgets/home_widgets/home_inactive_progresses_tab.dart b/lib/widgets/home_widgets/home_inactive_progresses_tab.dart deleted file mode 100644 index 6705205..0000000 --- a/lib/widgets/home_widgets/home_inactive_progresses_tab.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_redux/flutter_redux.dart'; -import 'package:redux/redux.dart'; -import 'package:time_progress_tracker/actions/actions.dart'; -import 'package:time_progress_tracker/models/app_state.dart'; -import 'package:time_progress_tracker/models/time_progress.dart'; -import 'package:time_progress_tracker/selectors/time_progress_selectors.dart'; -import 'package:time_progress_tracker/widgets/home_widgets/home_progress_list_tile.dart'; - -class HomeInactiveProgressesTab extends StatelessWidget { - @override - Widget build(BuildContext context) { - ThemeData appTheme = Theme.of(context); - // TODO: implement build - return StoreConnector( - converter: _ViewModel.fromStore, - onInit: loadTimeProgressListIfUnloaded, - builder: (BuildContext scContext, _ViewModel vm) { - if (!vm.hasLoaded) - return Center( - child: CircularProgressIndicator(), - ); - if (vm.inactiveTimeProgresses.length < 1) - return Container( - padding: EdgeInsets.all(16), - child: Center( - child: Text( - "You don't have any currently inactive time progresses, that are tracked."), - ), - ); - return ListView( - padding: EdgeInsets.all(8), - children: vm.inactiveTimeProgresses - .map((timeProgress) => - HomeProgressListTile(timeProgress: timeProgress)) - .toList(), - ); - }); - return Container( - child: Text("Inactive Progresses"), - ); - } -} - -class _ViewModel { - final List inactiveTimeProgresses; - final bool hasLoaded; - - _ViewModel({ - @required this.inactiveTimeProgresses, - @required this.hasLoaded, - }); - - static _ViewModel fromStore(Store store) { - return _ViewModel( - inactiveTimeProgresses: inactiveTimeProgressesSelector(store.state), - hasLoaded: store.state.hasLoaded, - ); - } -}