import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import '../application/language/language_bloc.dart'; import '../common/theme/theme.dart'; import '../common/constant/app_constant.dart'; import '../injection.dart'; import '../l10n/app_localizations.dart'; import 'router/app_router.dart'; import 'router/app_router_observer.dart'; class AppWidget extends StatefulWidget { const AppWidget({super.key}); @override State createState() => _AppWidgetState(); } class _AppWidgetState extends State { final _appRouter = getIt(); @override Widget build(BuildContext context) { return BlocProvider( create: (context) => getIt(), child: BlocBuilder( builder: (context, state) { return MaterialApp.router( debugShowCheckedModeBanner: false, title: AppConstant.appName, locale: state.language.locale, supportedLocales: AppLocalizations.supportedLocales, localizationsDelegates: AppLocalizations.localizationsDelegates, theme: ThemeApp.theme, routerConfig: _appRouter.config( navigatorObservers: () => [AppRouteObserver()], ), ); }, ), ); } }