34 lines
1011 B
Dart
34 lines
1011 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:pyramid/core/app.dart';
|
|
import 'package:pyramid/core/matrix_client.dart';
|
|
import 'package:pyramid/features/auth/login_notifier.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
runApp(const ProviderScope(child: PyramidBootstrap()));
|
|
}
|
|
|
|
class PyramidBootstrap extends ConsumerWidget {
|
|
const PyramidBootstrap({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context, WidgetRef ref) {
|
|
final clientAsync = ref.watch(matrixClientProvider);
|
|
|
|
return clientAsync.when(
|
|
loading: () => const MaterialApp(
|
|
home: Scaffold(body: Center(child: CircularProgressIndicator())),
|
|
),
|
|
error: (e, _) => MaterialApp(
|
|
home: Scaffold(body: Center(child: Text('Fehler: $e'))),
|
|
),
|
|
data: (_) {
|
|
// Homeserver einmalig aus SharedPreferences laden
|
|
initHomeserver(ref);
|
|
return const PyramidApp();
|
|
},
|
|
);
|
|
}
|
|
}
|