Implemented loading indicator for mapview

This commit is contained in:
2025-01-28 22:48:33 +01:00
parent 9175471431
commit 8fc92eab23

View File

@@ -22,14 +22,28 @@ class MapPage extends StatefulWidget {
class _MapPageState extends State<MapPage> { class _MapPageState extends State<MapPage> {
final _mapController = MapController(); final _mapController = MapController();
late FloodStationProvider _floodStationProvider; late FloodStationProvider _floodStationProvider;
bool _loading = false;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
_floodStationProvider = context.watch<FloodStationProvider>(); _floodStationProvider = context.watch<FloodStationProvider>();
if (_floodStationProvider.allStations.isEmpty) { if (_loading == true) {
return Center(
child: CircularProgressIndicator(),
);
} else if (_floodStationProvider.allStations.isEmpty) {
return Center( return Center(
child: ElevatedButton( child: ElevatedButton(
onPressed: _floodStationProvider.loadAllStations, onPressed: () {
setState(() {
_loading = true;
});
_floodStationProvider
.loadAllStations()
.whenComplete(() => setState(() {
_loading = false;
}));
},
child: Text('Load Map'), child: Text('Load Map'),
), ),
); );