Commit 58a0155

derdilla <contact@derdilla.com>
2024-11-17 20:27:47
Fix horizontal home graph cut off
Cherry picket from 52580db79b29f514f0fbc45303ea990092ed40d8
1 parent dccc16c
Changed files (1)
app
lib
app/lib/screens/home_screen.dart
@@ -1,3 +1,5 @@
+import 'dart:io';
+
 import 'package:blood_pressure_app/data_util/entry_context.dart';
 import 'package:blood_pressure_app/data_util/full_entry_builder.dart';
 import 'package:blood_pressure_app/data_util/interval_picker.dart';
@@ -21,20 +23,25 @@ class AppHome extends StatelessWidget {
   /// Create a home screen.
   const AppHome({super.key});
 
-  Widget _buildValueGraph(BuildContext context) => Padding(
-    padding: const EdgeInsets.only(right: 8, top: 16),
-    child: SizedBox(
-      height: 240.0,
-      width: MediaQuery.of(context).size.width,
-      child: FullEntryBuilder(
-        rangeType: IntervalStoreManagerLocation.mainPage,
-        onData: (context, records, intakes, notes) => BloodPressureValueGraph(
-          records: records,
-          colors: notes,
-          intakes: intakes,
+  Widget _buildValueGraph(BuildContext context) => Column(
+    children: [
+      Padding(
+        padding: const EdgeInsets.only(right: 8, top: 16),
+        child: SizedBox(
+          height: 240.0,
+          width: MediaQuery.of(context).size.width,
+          child: FullEntryBuilder(
+            rangeType: IntervalStoreManagerLocation.mainPage,
+            onData: (context, records, intakes, notes) => BloodPressureValueGraph(
+              records: records,
+              colors: notes,
+              intakes: intakes,
+            ),
+          ),
         ),
       ),
-    ),
+      IntervalPicker(type: IntervalStoreManagerLocation.mainPage),
+    ],
   );
 
   Widget _buildMeasurementList(BuildContext context) => FullEntryBuilder(
@@ -66,14 +73,19 @@ class AppHome extends StatelessWidget {
         _appStart++;
       }
 
-      if (orientation == Orientation.landscape) return Scaffold(body: _buildValueGraph(context));
+      if ((Platform.environment['FLUTTER_TEST'] == 'true' || !Platform.isLinux) && orientation == Orientation.landscape) {
+        return SafeArea(
+          child: Scaffold(
+            body: _buildValueGraph(context),
+          ),
+        );
+      }
       return DefaultTabController(
         length: 2,
         child: Scaffold(
           body: CustomScrollView(
             slivers: [
               SliverToBoxAdapter(child: _buildValueGraph(context),),
-              const SliverToBoxAdapter(child: IntervalPicker(type: IntervalStoreManagerLocation.mainPage)),
               if (!(context.select<Settings, bool>((s) => s.weightInput)))
                 SliverFillRemaining(child: _buildMeasurementList(context)),