loadable error screen, reload actions, autoreload

This commit is contained in:
2024-05-11 14:20:00 +02:00
parent b171fef348
commit 9fa711e460
19 changed files with 533 additions and 183 deletions

View File

@@ -14,7 +14,7 @@ class MarianumMessageBloc extends LoadableHydratedBloc<MarianumMessageEvent, Mar
}
@override
Future<void> loadState() async {
Future<void> gatherData() async {
var messages = await repo.getMessages();
add(Emit((state) => state.copyWith(messageList: messages)));
}

View File

@@ -6,6 +6,7 @@ class MarianumMessageGetMessages extends DataLoader<MarianumMessageList> {
@override
Future<MarianumMessageList> fetch() async {
await Future.delayed(const Duration(seconds: 3));
throw UnimplementedError("Test");
return const MarianumMessageList(base: '', messages: [MarianumMessage(date: '', name: 'RepoTest', url: '')]);
}
}

View File

@@ -1,5 +1,3 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@@ -18,14 +16,10 @@ class MarianumMessageListView extends StatelessWidget {
@override
Widget build(BuildContext context) => BlocModule<MarianumMessageBloc, LoadableState<MarianumMessageState>>(
create: (context) => MarianumMessageBloc(),
child: (context, state) {
// if(value.primaryLoading()) return const LoadingSpinner();
log(state.toString());
return Scaffold(
child: (context, bloc, state) => Scaffold(
appBar: AppBar(
title: const Text('Marianum Message'),
actions: [
IconButton(onPressed: () => context.read<MarianumMessageBloc>().add(MessageEvent()), icon: Icon(Icons.abc)),
IconButton(onPressed: () => context.read<MarianumMessageBloc>().add(Emit((state) => MarianumMessageState(messageList: MarianumMessageList(base: "", messages: [MarianumMessage(url: "", name: "Teeest", date: "now")])))), icon: Icon(Icons.add)),
IconButton(onPressed: () => context.read<MarianumMessageBloc>().add(ClearState()), icon: Icon(Icons.add))
],
@@ -50,7 +44,6 @@ class MarianumMessageListView extends StatelessWidget {
}
),
),
);
}
)
);
}