Commit 0dfb6c3
Changed files (3)
lib
lib/components/display_interval_picker.dart
@@ -29,6 +29,11 @@ class IntervalPicker extends StatelessWidget {
case TimeStep.lifetime:
intervallDisplay = const Text('-');
break;
+ case TimeStep.last7Days:
+ case TimeStep.last30Days:
+ final f = DateFormat.MMMd(AppLocalizations.of(context)!.localeName);
+ intervallDisplay = Text('${f.format(settings.displayDataStart)} - ${f.format(settings.displayDataEnd)}');
+ break;
default:
assert(false);
intervallDisplay = const Text('-');
lib/components/measurement_graph.dart
@@ -101,6 +101,7 @@ class _LineChartState extends State<_LineChart> {
formatter = DateFormat('H:m');
break;
case TimeStep.month:
+ case TimeStep.last7Days:
formatter = DateFormat('d');
break;
case TimeStep.week:
@@ -111,6 +112,9 @@ class _LineChartState extends State<_LineChart> {
break;
case TimeStep.lifetime:
formatter = DateFormat('yyyy');
+ break;
+ case TimeStep.last30Days:
+ formatter = DateFormat.MMMd();
}
return Text(formatter
.format(DateTime.fromMillisecondsSinceEpoch(pos.toInt())));
lib/model/settings_store.dart
@@ -65,6 +65,7 @@ class Settings extends ChangeNotifier {
displayDataEnd = oldEnd.copyWith(day: oldEnd.day + directionalStep);
break;
case TimeStep.week:
+ case TimeStep.last7Days:
displayDataStart = oldStart.copyWith(day: oldStart.day + directionalStep * 7);
displayDataEnd = oldEnd.copyWith(day: oldEnd.day + directionalStep * 7);
break;
@@ -80,6 +81,9 @@ class Settings extends ChangeNotifier {
displayDataStart = DateTime.fromMillisecondsSinceEpoch(0);
displayDataEnd = DateTime.now();
break;
+ case TimeStep.last30Days:
+ displayDataStart = oldStart.copyWith(day: oldStart.day + directionalStep * 30);
+ displayDataEnd = oldEnd.copyWith(day: oldEnd.day + directionalStep * 30);
}
}
@@ -101,6 +105,12 @@ class Settings extends ChangeNotifier {
case TimeStep.lifetime:
final start = DateTime.fromMillisecondsSinceEpoch(0);
return [start, now];
+ case TimeStep.last7Days:
+ final start = now.copyWith(day: now.day-7);
+ return [start, now];
+ case TimeStep.last30Days:
+ final start = now.copyWith(day: now.day-30);
+ return [start, now];
default:
assert(false);
final start = DateTime.fromMillisecondsSinceEpoch(0);
@@ -456,7 +466,6 @@ class TimeStep {
return AppLocalizations.of(context)!.last7Days;
case last30Days:
return AppLocalizations.of(context)!.last30Days;
- // TODO: implement
}
assert(false);
return '-';