Code cleanup
Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
parent
5c2592f601
commit
d06d7f1448
@ -1,9 +1,9 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:time_progress_tracker/screens/progress_creation_screen.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/home_bottom_navbar.dart';
|
||||||
import 'package:time_progress_tracker/widgets/home_widgets/home_active_progresses_tab.dart';
|
import 'package:time_progress_tracker/widgets/home/tabs/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/tabs/home_inactive_progresses_tab.dart';
|
||||||
import 'package:time_progress_tracker/widgets/home_widgets/home_settings_tab.dart';
|
import 'package:time_progress_tracker/widgets/home/tabs/home_settings_tab.dart';
|
||||||
|
|
||||||
class HomeScreen extends StatefulWidget {
|
class HomeScreen extends StatefulWidget {
|
||||||
static const routeName = "/home";
|
static const routeName = "/home";
|
||||||
@ -31,8 +31,6 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
ThemeData appTheme = Theme.of(context);
|
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: Text(HomeScreen.title),
|
title: Text(HomeScreen.title),
|
||||||
|
@ -7,7 +7,7 @@ import 'package:time_progress_tracker/models/time_progress.dart';
|
|||||||
import 'package:time_progress_tracker/widgets/progress_editor_widget.dart';
|
import 'package:time_progress_tracker/widgets/progress_editor_widget.dart';
|
||||||
|
|
||||||
class ProgressCreationScreen extends StatefulWidget {
|
class ProgressCreationScreen extends StatefulWidget {
|
||||||
static const routeName = "/progress-creation";
|
static const routeName = "/create-progress";
|
||||||
static const title = "Create Time Progress";
|
static const title = "Create Time Progress";
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -17,7 +17,7 @@ class ProgressDetailScreenArguments {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class ProgressDetailScreen extends StatefulWidget {
|
class ProgressDetailScreen extends StatefulWidget {
|
||||||
static const routeName = "/progress-detail";
|
static const routeName = "/progress";
|
||||||
static const title = "Progress View";
|
static const title = "Progress View";
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
44
lib/widgets/home/tabs/home_active_progresses_tab.dart
Normal file
44
lib/widgets/home/tabs/home_active_progresses_tab.dart
Normal file
@ -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<TimeProgress> 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(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
43
lib/widgets/home/tabs/home_inactive_progresses_tab.dart
Normal file
43
lib/widgets/home/tabs/home_inactive_progresses_tab.dart
Normal file
@ -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<TimeProgress> 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(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -5,8 +5,6 @@ import 'package:time_progress_tracker/app.dart';
|
|||||||
class HomeSettingsTab extends StatelessWidget {
|
class HomeSettingsTab extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
ThemeData appTheme = Theme.of(context);
|
|
||||||
|
|
||||||
return Container(
|
return Container(
|
||||||
padding: EdgeInsets.all(16),
|
padding: EdgeInsets.all(16),
|
||||||
child: Center(
|
child: Center(
|
@ -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<TimeProgress> activeTimeProgresses;
|
|
||||||
final bool hasLoaded;
|
|
||||||
|
|
||||||
_ViewModel({
|
|
||||||
@required this.activeTimeProgresses,
|
|
||||||
@required this.hasLoaded,
|
|
||||||
});
|
|
||||||
|
|
||||||
static _ViewModel fromStore(Store<AppState> store) {
|
|
||||||
return _ViewModel(
|
|
||||||
activeTimeProgresses: activeTimeProgressesSelector(store.state),
|
|
||||||
hasLoaded: store.state.hasLoaded,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -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<TimeProgress> inactiveTimeProgresses;
|
|
||||||
final bool hasLoaded;
|
|
||||||
|
|
||||||
_ViewModel({
|
|
||||||
@required this.inactiveTimeProgresses,
|
|
||||||
@required this.hasLoaded,
|
|
||||||
});
|
|
||||||
|
|
||||||
static _ViewModel fromStore(Store<AppState> store) {
|
|
||||||
return _ViewModel(
|
|
||||||
inactiveTimeProgresses: inactiveTimeProgressesSelector(store.state),
|
|
||||||
hasLoaded: store.state.hasLoaded,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user