1import 'package:connect/core/localization/app_localizations.dart';
2import 'package:connect/core/localization/language_cubit.dart';
3import 'package:connect/features/settings/presentation/logic/theme_cubit/theme_cubit.dart';
4import 'package:flutter/material.dart';
5import 'package:flutter_bloc/flutter_bloc.dart';
6import 'package:flutter_screenutil/flutter_screenutil.dart';
7import 'package:flutter_localizations/flutter_localizations.dart';
9import 'core/constants/strings.dart';
10import 'core/ui/theme/dark_theme.dart';
11import 'core/ui/theme/light_theme.dart';
19 Widget
build(BuildContext context) {
20 return BlocBuilder<ThemeModeBloc, ThemeModeState>(
21 builder: (context, themeState) =>
22 BlocBuilder<LanguageCubit, LanguageState>(
34 final locale = languageState is LanguageLoaded
35 ? languageState.locale
37 return GestureDetector(
38 onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
39 child: ScreenUtilInit(
40 designSize:
const Size(375, 812),
42 splitScreenMode:
true,
43 builder: (_,
child) => Directionality(
44 textDirection:
locale.languageCode ==
'ar'
47 child: MaterialApp.router(
49 debugShowCheckedModeBanner:
false,
56 localizationsDelegates:
const [
59 GlobalMaterialLocalizations.delegate,
60 GlobalWidgetsLocalizations.delegate,
61 GlobalCupertinoLocalizations.delegate,
static const List< Locale > supportedLocales
static const LocalizationsDelegate< AppLocalizations > delegate
static const List< Locale > supportedLocales
final ThemeData darkTheme
final ThemeData lightTheme
final ThemeMode themeMode
const ThemeModeState({required this.themeMode})