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