import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:media_kit/media_kit.dart'; import 'core/theme/app_theme.dart'; import 'features/setup/presentation/screens/setup_screen.dart'; import 'features/setup/presentation/providers/setup_providers.dart'; import 'features/setup/data/repositories/setup_repository.dart'; import 'features/receiver/presentation/screens/tv_home_screen.dart'; import 'features/sender/presentation/screens/mobile_sender_screen.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); // Initialize MediaKit for video playback MediaKit.ensureInitialized(); runApp( const ProviderScope( child: FastWatcherApp(), ), ); } class FastWatcherApp extends ConsumerWidget { const FastWatcherApp({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final role = ref.watch(deviceRoleProvider); return MaterialApp( title: 'FastWatcher', debugShowCheckedModeBanner: false, theme: AppTheme.darkTheme, home: role == DeviceRole.unknown ? const SetupScreen() : role == DeviceRole.phone ? const MobileSenderScreen() : const TVHomeScreen(), ); } }