* Replaced startedTimeProgressSelectors with currentTimeProgressSelector. * Added pastTimeProgressSelector. * Fixed ProgressDetailScreen for PastProgresses. * Fixed ProgressDashBoard for PastProgresses. * Fixed AppDrawer for PastProgresses. * Increased Version Number Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
35 lines
1.2 KiB
Dart
35 lines
1.2 KiB
Dart
import 'package:time_progress_tracker/models/app_state.dart';
|
|
import 'package:time_progress_tracker/models/time_progress.dart';
|
|
|
|
List<TimeProgress> timeProgressListSelector(AppState state) =>
|
|
state.timeProgressList;
|
|
|
|
List<TimeProgress> currentTimeProgressSelector(AppState state) {
|
|
int currentTime = DateTime.now().millisecondsSinceEpoch;
|
|
return state.timeProgressList
|
|
.where((tp) =>
|
|
currentTime >= tp.startTime.millisecondsSinceEpoch &&
|
|
tp.endTime.millisecondsSinceEpoch >= currentTime)
|
|
.toList();
|
|
}
|
|
|
|
List<TimeProgress> futureTimeProgressesSelector(AppState state) =>
|
|
state.timeProgressList
|
|
.where((timeProgress) =>
|
|
DateTime.now().millisecondsSinceEpoch <
|
|
timeProgress.startTime.millisecondsSinceEpoch)
|
|
.toList();
|
|
|
|
List<TimeProgress> pastTimeProgressesSelector(AppState state) =>
|
|
state.timeProgressList
|
|
.where((tp) =>
|
|
tp.endTime.millisecondsSinceEpoch <
|
|
DateTime.now().millisecondsSinceEpoch)
|
|
.toList();
|
|
|
|
TimeProgress timeProgressByIdSelector(AppState state, String id) {
|
|
if (state.timeProgressList.length < 1) return null;
|
|
return state.timeProgressList
|
|
.firstWhere((timeProgress) => timeProgress.id == id);
|
|
}
|