import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; import 'estado/estado_juego.dart'; import 'tema/tema_app.dart'; import 'pantallas/pantalla_principal.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); SystemChrome.setSystemUIOverlayStyle( const SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.light, systemNavigationBarColor: TemaApp.colorFondo, ), ); runApp(const ElImpostorApp()); } class ElImpostorApp extends StatelessWidget { const ElImpostorApp({super.key}); @override Widget build(BuildContext context) { return ChangeNotifierProvider( create: (_) => EstadoJuego()..cargarBanco(), child: MaterialApp( title: 'El Impostor', theme: TemaApp.obtenerTema(), debugShowCheckedModeBanner: false, home: const PantallaCarga(), ), ); } } class PantallaCarga extends StatelessWidget { const PantallaCarga({super.key}); @override Widget build(BuildContext context) { final estado = context.watch(); if (estado.cargando || estado.banco == null) { return Scaffold( body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Text('🎭', style: TextStyle(fontSize: 72)), const SizedBox(height: 24), Text( 'El Impostor', style: Theme.of(context).textTheme.headlineLarge, ), const SizedBox(height: 16), const CircularProgressIndicator(color: TemaApp.colorAcento), const SizedBox(height: 12), Text( 'Cargando palabras...', style: Theme.of(context).textTheme.bodyMedium, ), ], ), ), ); } return const PantallaPrincipal(); } }