better error message and loading view

This commit is contained in:
lukas-heiligenbrunner 2022-08-31 16:22:47 +02:00
parent 02bf3fb341
commit 395b501925
3 changed files with 22 additions and 8 deletions

View File

@ -2,7 +2,11 @@ import 'dart:async';
import 'dart:convert'; import 'dart:convert';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:openmediacentermobile/api/token.dart'; import 'token.dart';
class TokenException implements Exception {
String wdExpMsg() => 'Invalid token in storage!';
}
class API { class API {
static Future<String> query( static Future<String> query(
@ -20,7 +24,7 @@ class API {
return resp.body; return resp.body;
} else { } else {
return ""; throw TokenException();
} }
} }
} }

View File

@ -56,7 +56,16 @@ class _PreviewGridState extends State<PreviewGrid> {
builder: builder:
(BuildContext context, AsyncSnapshot<List<VideoT>> snapshot) { (BuildContext context, AsyncSnapshot<List<VideoT>> snapshot) {
if (snapshot.hasError) { if (snapshot.hasError) {
return Text("Error"); return Column(
children: [
Text("Error"),
TextButton(
onPressed: () {
loadData();
},
child: Text("Reload page"))
],
);
} else if (snapshot.hasData) { } else if (snapshot.hasData) {
return _mainGrid(snapshot.data!, width); return _mainGrid(snapshot.data!, width);
} else { } else {

View File

@ -5,10 +5,11 @@ class ScreenLoading extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Column( return Center(
mainAxisAlignment: MainAxisAlignment.center, child: Column(
crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: const <Widget>[ crossAxisAlignment: CrossAxisAlignment.center,
children: const <Widget>[
SizedBox( SizedBox(
width: 60, width: 60,
height: 60, height: 60,
@ -18,6 +19,6 @@ class ScreenLoading extends StatelessWidget {
padding: EdgeInsets.only(top: 16), padding: EdgeInsets.only(top: 16),
child: Text('Awaiting result...'), child: Text('Awaiting result...'),
) )
]); ]));
} }
} }