Files
pyramid/lib/main.dart
T

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();
},
);
}
}