From 2f31ddfe834a8e838fd01d8d303de165eb3012d3 Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Mon, 22 Apr 2024 12:57:21 +0200
Subject: [PATCH] update: run dart fix

---
 app/lib/data_classes.dart               |  3 --
 app/lib/pages/default_page.dart         | 40 ++++++++++++++++++++++---
 app/lib/server_requests/init_state.dart |  1 -
 app/lib/utils/export_data.dart          |  3 +-
 app/lib/widgets/main_layout.dart        |  2 --
 app/lib/widgets/osm_layer.dart          |  1 -
 6 files changed, 37 insertions(+), 13 deletions(-)

diff --git a/app/lib/data_classes.dart b/app/lib/data_classes.dart
index e1eb5268..d0288d0a 100644
--- a/app/lib/data_classes.dart
+++ b/app/lib/data_classes.dart
@@ -20,9 +20,6 @@ class Measurement {
   });
 
   factory Measurement.fromJson(Map<String, dynamic> json) {
-    if (json == null) {
-      throw const FormatException('Error parsing Measurement: JSON data is null');
-    }
     try {
       return Measurement(
         measurementID: json['MeasurementID'] ?? 0,
diff --git a/app/lib/pages/default_page.dart b/app/lib/pages/default_page.dart
index d37d1d6a..f79c27d9 100644
--- a/app/lib/pages/default_page.dart
+++ b/app/lib/pages/default_page.dart
@@ -1,12 +1,10 @@
 import 'dart:async';
-import 'dart:convert';
 import 'package:flutter/material.dart';
 import 'package:app/server_requests/init_state.dart';
 import 'package:liquid_pull_to_refresh/liquid_pull_to_refresh.dart';
 
 import '../consts.dart';
 import '../widgets/main_layout.dart';
-import '../widgets/choropleth_map.dart';
 import '../utils/custom_search_delegate.dart';
 
 class DefaultPage extends StatefulWidget {
@@ -67,7 +65,7 @@ class _DefaultPageState extends State<DefaultPage> {
                       setState(() {
                         selectedLake = result;
                         // NB update lastLake persistent variable
-                        initialiseState(false);
+                        //fetchNewLake(context);
                       });
                     }
                   }),
@@ -99,4 +97,38 @@ class _DefaultPageState extends State<DefaultPage> {
       ),
     );
   }
-}
\ No newline at end of file
+}
+
+void fetchNewLake(BuildContext context) {
+  showDialog(
+    context: context,
+    barrierDismissible: false, // Prevent dismissal by user
+    builder: (BuildContext dialogContext) {
+
+      bool initialized = false;
+
+      // Display CircularProgressIndicator
+      Future.delayed(const Duration(milliseconds: 500), () {
+        if (!initialized) {
+          showDialog(
+            context: dialogContext,
+            builder: (BuildContext _) => const Center(
+              child: CircularProgressIndicator(),
+            ),
+          );
+        }
+      });
+
+      initialiseState(false).then((_) {
+        // Mark initialization as complete
+        initialized = true;
+
+        Navigator.of(dialogContext, rootNavigator: true).pop();
+      });
+
+      // Return a placeholder widget for the dialog
+      return const SizedBox.shrink();
+    },
+  );
+}
+
diff --git a/app/lib/server_requests/init_state.dart b/app/lib/server_requests/init_state.dart
index 590191e6..a46c33e3 100644
--- a/app/lib/server_requests/init_state.dart
+++ b/app/lib/server_requests/init_state.dart
@@ -5,7 +5,6 @@ import 'dart:typed_data';
 import 'package:app/consts.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
-import '../consts.dart';
 import '../data_classes.dart';
 import '../server_requests/fetch_markers.dart';
 import '../server_requests/fetch_relation.dart';
diff --git a/app/lib/utils/export_data.dart b/app/lib/utils/export_data.dart
index deaca423..19c22258 100644
--- a/app/lib/utils/export_data.dart
+++ b/app/lib/utils/export_data.dart
@@ -27,7 +27,6 @@ void showProgressIndicator(BuildContext context) {
     context: context,
     builder: (BuildContext context) {
       dialogContext = context;
-
       return WillPopScope(
         onWillPop: () async => false, // Prevent dialog from being closed by user
         child: const AlertDialog(
@@ -57,7 +56,7 @@ void showProgressIndicator(BuildContext context) {
       );
     } finally {
       if (dialogContext != null) {
-        // Add 2 second delay before closing the dialog
+        // Add 2 second delay before closing dialog
         Future.delayed(const Duration(seconds: 2), () {
           Navigator.of(dialogContext!).pop();
           Navigator.of(context).pop();
diff --git a/app/lib/widgets/main_layout.dart b/app/lib/widgets/main_layout.dart
index 46cad0e9..21226b65 100644
--- a/app/lib/widgets/main_layout.dart
+++ b/app/lib/widgets/main_layout.dart
@@ -8,8 +8,6 @@ import 'stat_charts.dart';
 import '../../consts.dart';
 import 'choropleth_map.dart';
 import '../data_classes.dart';
-import 'satellite_layer.dart';
-import 'quick_view_chart.dart';
 import '../utils/export_data.dart';
 import '../utils/format_month.dart';
 
diff --git a/app/lib/widgets/osm_layer.dart b/app/lib/widgets/osm_layer.dart
index 3cdbc91c..d125a9d7 100644
--- a/app/lib/widgets/osm_layer.dart
+++ b/app/lib/widgets/osm_layer.dart
@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
 import 'package:latlong2/latlong.dart';
 import 'package:flutter_map/flutter_map.dart';
 
-import '../../consts.dart';
 import '../data_classes.dart';
 
 class OSM extends StatelessWidget {
-- 
GitLab