Commit 11ec054
Changed files (2)
lib
components
model
lib/components/measurement_graph.dart
@@ -83,6 +83,9 @@ class _LineChart extends StatelessWidget {
case TimeStep.month:
formater = DateFormat('d');
break;
+ case TimeStep.week:
+ formater = DateFormat('E');
+ break;
case TimeStep.year:
formater = DateFormat('MMM');
break;
@@ -171,6 +174,10 @@ class MeasurementGraph extends StatelessWidget {
settings.displayDataStart = oldStart.copyWith(day: oldStart.day + directionalStep);
settings.displayDataEnd = oldEnd.copyWith(day: oldEnd.day + directionalStep);
break;
+ case TimeStep.week:
+ settings.displayDataStart = oldStart.copyWith(day: oldStart.day + directionalStep * 7);
+ settings.displayDataEnd = oldEnd.copyWith(day: oldEnd.day + directionalStep * 7);
+ break;
case TimeStep.month:
settings.displayDataStart = oldStart.copyWith(month: oldStart.month + directionalStep);
settings.displayDataEnd = oldEnd.copyWith(month: oldEnd.month + directionalStep);
@@ -228,6 +235,10 @@ class MeasurementGraph extends StatelessWidget {
settings.displayDataStart = DateTime(now.year, now.month, now.day);
settings.displayDataEnd = settings.displayDataStart.copyWith(day: now.day + 1);
break;
+ case TimeStep.week:
+ settings.displayDataStart = DateTime(now.year, now.month, DateTime.monday);
+ settings.displayDataEnd = settings.displayDataStart.copyWith(day: DateTime.sunday);
+ break;
case TimeStep.month:
settings.displayDataStart = DateTime(now.year, now.month);
settings.displayDataEnd = settings.displayDataStart.copyWith(month: now.month + 1);
lib/model/settings_store.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
@@ -6,7 +5,7 @@ class Settings extends ChangeNotifier {
late final SharedPreferences _prefs;
Settings._create();
- // factory method, to allow for async contructor
+ // factory method, to allow for async constructor
static Future<Settings> create() async {
final component = Settings._create();
component._prefs = await SharedPreferences.getInstance();
@@ -131,12 +130,13 @@ class Settings extends ChangeNotifier {
}
class TimeStep {
- static const options = [0, 1, 2, 3];
+ static const options = [0, 4, 1, 2, 3];
static const day = 0;
static const month = 1;
static const year = 2;
static const lifetime = 3;
+ static const week = 4;
TimeStep._create();
@@ -150,6 +150,8 @@ class TimeStep {
return 'year';
case lifetime:
return 'lifetime';
+ case week:
+ return 'week';
}
return 'invalid';
}