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: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<HomeScreen> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
ThemeData appTheme = Theme.of(context);
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
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';
|
||||
|
||||
class ProgressCreationScreen extends StatefulWidget {
|
||||
static const routeName = "/progress-creation";
|
||||
static const routeName = "/create-progress";
|
||||
static const title = "Create Time Progress";
|
||||
|
||||
@override
|
||||
|
@ -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
|
||||
|
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 {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
ThemeData appTheme = Theme.of(context);
|
||||
|
||||
return Container(
|
||||
padding: EdgeInsets.all(16),
|
||||
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