import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'providers/providers.dart'; import 'router.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); runApp(const ProviderScope(child: CxyzApp())); } class CxyzApp extends ConsumerStatefulWidget { const CxyzApp({super.key}); @override ConsumerState createState() => _CxyzAppState(); } class _CxyzAppState extends ConsumerState with WidgetsBindingObserver { @override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); } @override void didChangeAppLifecycleState(AppLifecycleState state) { if (state == AppLifecycleState.resumed) { ref.read(webDavSyncProvider).scheduleSync(); } } @override Widget build(BuildContext context) { final router = ref.watch(routerProvider); return MaterialApp.router( title: 'cxyz', debugShowCheckedModeBanner: false, theme: ThemeData( colorScheme: ColorScheme.fromSeed( seedColor: const Color(0xFF1B6CA8), brightness: Brightness.light, ), useMaterial3: true, ), darkTheme: ThemeData( colorScheme: ColorScheme.fromSeed( seedColor: const Color(0xFF1B6CA8), brightness: Brightness.dark, ), useMaterial3: true, ), routerConfig: router, ); } }