import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'core/constants/app_theme.dart'; import 'core/providers.dart'; import 'features/auth/login_screen.dart'; import 'features/library/recipes_screen.dart'; import 'features/share_receiver/share_receiver_service.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, DeviceOrientation.portraitDown, ]); runApp(const ProviderScope(child: ForkFolioApp())); } class ForkFolioApp extends ConsumerStatefulWidget { const ForkFolioApp({super.key}); @override ConsumerState createState() => _ForkFolioAppState(); } class _ForkFolioAppState extends ConsumerState { final ShareReceiverService _shareReceiver = ShareReceiverService(); @override void initState() { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { _shareReceiver.init(context); }); } @override void dispose() { _shareReceiver.dispose(); super.dispose(); } @override Widget build(BuildContext context) { final authState = ref.watch(authProvider); return MaterialApp( title: 'ForkFolio', debugShowCheckedModeBanner: false, theme: AppTheme.darkTheme, home: authState.isAuthenticated ? const RecipesScreen() : const LoginScreen(), ); } }