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