Code cleanup
Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
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,
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user