Added uniform loading indicator for all screens

This commit is contained in:
2023-06-11 15:57:40 +02:00
parent de0d82f583
commit 072564fd31
16 changed files with 76 additions and 36 deletions

View File

@ -1,4 +1,6 @@
import 'dart:async';
import 'package:flutter/material.dart';
class LoadingSpinner extends StatefulWidget {
@ -9,21 +11,39 @@ class LoadingSpinner extends StatefulWidget {
}
class _LoadingSpinnerState extends State<LoadingSpinner> {
bool textVisible = false;
late Timer timer;
@override
void initState() {
timer = Timer(const Duration(seconds: 10), () {
setState(() {
textVisible = true;
});
});
super.initState();
}
@override
Widget build(BuildContext context) {
return Dialog(
child: Padding(
padding: const EdgeInsets.all(20),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
CircularProgressIndicator(
color: Theme.of(context).primaryColor,
),
const Padding(padding: EdgeInsets.only(left: 15), child: Text("Daten abrufen...")),
],
),
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const CircularProgressIndicator(),
Visibility(
visible: textVisible,
child: const Text("Bist du mit dem Internet verbunden?"),
),
],
),
);
}
@override
void dispose() {
timer.cancel();
super.dispose();
}
}