Implemented TimeTable

This commit is contained in:
2023-01-29 22:29:48 +01:00
parent 1baa8028fa
commit 83ad7d59d2
11 changed files with 285 additions and 93 deletions

View File

@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:marianum_mobile/data/accountModel.dart';
import 'package:marianum_mobile/data/incommingPackets/authenticatePacket.dart';
import 'package:marianum_mobile/data/incommingPackets/errorPacket.dart';
import 'package:marianum_mobile/data/incommingPackets/fileListPacket.dart';
import 'package:marianum_mobile/data/incommingPackets/talkChatPacket.dart';
import 'package:marianum_mobile/data/incommingPackets/talkNotificationsPacket.dart';
@ -17,6 +18,7 @@ import 'package:web_socket_channel/web_socket_channel.dart';
import 'app.dart';
import 'data/incommingPackets/serverInfoPacket.dart';
import 'data/incommingPackets/talkContactsPacket.dart';
import 'data/incommingPackets/timetablePacket.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
@ -30,11 +32,13 @@ Future<void> main() async {
MultiProvider(
providers: [
ChangeNotifierProvider(create: (context) => AccountModel()),
ChangeNotifierProvider(create: (context) => ErrorPacket()),
ChangeNotifierProvider(create: (context) => ServerInfoPacket()),
ChangeNotifierProvider(create: (context) => TalkContactsPaket()),
ChangeNotifierProvider(create: (context) => TalkNotificationsPacket()),
ChangeNotifierProvider(create: (context) => FileListPacket()),
ChangeNotifierProvider(create: (context) => TalkChatPacket()),
ChangeNotifierProvider(create: (context) => TimetablePacket()),
],
child: const Main(),
)
@ -89,9 +93,17 @@ class _MainState extends State<Main> {
if(snapshot.hasData) {
return Consumer<AccountModel>(
builder: (context, value, child) {
return value.isLoggedIn ? const App() : const Login();
return Consumer2<AccountModel, ErrorPacket>(
builder: (context, accountModel, errorPacket, child) {
if(errorPacket.errorDismissed) {
return accountModel.isLoggedIn ? const App() : const Login();
} else {
return AlertDialog(title: const Text("Serverseitige Fehlermeldung"), content: Text(errorPacket.errorText), actions: [
TextButton(onPressed: () {
Provider.of<ErrorPacket>(context, listen: false).errorDismissed = true;
}, child: const Text("Weiter"))
]);
}
},
);