Commit e95228e

derdilla <derdilla06@gmail.com>
2023-09-08 18:40:27
review code
1 parent 30320ae
Changed files (4)
lib/components/measurement_list/measurement_list.dart
@@ -1,3 +1,4 @@
+import 'package:blood_pressure_app/components/consistent_future_builder.dart';
 import 'package:blood_pressure_app/components/measurement_list/measurement_list_entry.dart';
 import 'package:blood_pressure_app/model/blood_pressure.dart';
 import 'package:blood_pressure_app/model/settings_store.dart';
@@ -6,9 +7,42 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
 import 'package:provider/provider.dart';
 
 class MeasurementList extends StatelessWidget {
+  const MeasurementList({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return Consumer<Settings>(
+      builder: (context, settings, child) {
+        return Column(
+          mainAxisSize: MainAxisSize.min,
+          children: [
+            const MeasurementListHeader(),
+            Expanded(
+              child: Consumer<BloodPressureModel>(
+                builder: (context, model, child) {
+                  return ConsistentFutureBuilder(
+                    future: model.getInTimeRange(settings.displayDataStart, settings.displayDataEnd),
+                    onData: (context, data) {
+                      return MeasurementListEntries(
+                        entries: data
+                      );
+                    }
+                  );
+                },
+              )
+            )
+          ]
+        );
+      },
+    );
+  }
+}
+
+
+class MeasurementListEntries extends StatelessWidget {
   final List<BloodPressureRecord> entries;
   
-  const MeasurementList({super.key, required this.entries});
+  const MeasurementListEntries({super.key, required this.entries});
 
   @override
   Widget build(BuildContext context) {
@@ -25,8 +59,8 @@ class MeasurementList extends StatelessWidget {
   }
 }
 
-class ModernListHeader extends StatelessWidget {
-  const ModernListHeader({super.key});
+class MeasurementListHeader extends StatelessWidget {
+  const MeasurementListHeader({super.key});
 
   @override
   Widget build(BuildContext context) {
lib/components/measurement_list/measurement_list_entry.dart
@@ -6,7 +6,6 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
 import 'package:intl/intl.dart';
 import 'package:provider/provider.dart';
 
-// TODO: finish
 class MeasurementListRow extends StatelessWidget {
   final BloodPressureRecord record;
 
lib/screens/add_measurement.dart
@@ -193,10 +193,7 @@ class _AddMeasurementPageState extends State<AddMeasurementPage> {
                                 final navigator = Navigator.of(context);
 
                                 if (widget.isEdit) {
-                                  assert(widget.initTime != null);
-                                  if (widget.initTime != null) {
-                                    await model.delete(widget.initTime!);
-                                  }
+                                  await model.delete(widget.initTime!);
                                 }
                                 await model.add(BloodPressureRecord(_time, _systolic, _diastolic, _pulse, _note ?? ''));
                                 if (settings.exportAfterEveryEntry && context.mounted) {
lib/screens/home.dart
@@ -1,7 +1,5 @@
-import 'package:blood_pressure_app/components/consistent_future_builder.dart';
 import 'package:blood_pressure_app/components/legacy_measurement_list.dart';
 import 'package:blood_pressure_app/components/measurement_graph.dart';
-import 'package:blood_pressure_app/model/blood_pressure.dart';
 import 'package:blood_pressure_app/model/settings_store.dart';
 import 'package:blood_pressure_app/screens/add_measurement.dart';
 import 'package:blood_pressure_app/screens/settings.dart';
@@ -55,22 +53,9 @@ class AppHome extends StatelessWidget {
                 return Column(children: [
                   const MeasurementGraph(),
                   if (!settings.useLegacyList)
-                    const ModernListHeader(),
-                  if (!settings.useLegacyList)
-                    Expanded(
-                      flex: 50,
-                      child: Consumer<BloodPressureModel>(
-                        builder: (context, model, child) {
-                          return ConsistentFutureBuilder(
-                            future: model.getInTimeRange(settings.displayDataStart, settings.displayDataEnd),
-                            onData: (context, data) {
-                              return MeasurementList(
-                                entries: data
-                              );
-                            }
-                          );
-                        },
-                      )
+                    const Expanded(
+                        flex: 50,
+                        child: MeasurementList()
                     ),
                   if(settings.useLegacyList)
                     Expanded(