import 'package:eatvio_app/core/locator_service.dart'; import 'package:eatvio_app/core/views/cubit/views_cubit.dart'; import 'package:eatvio_app/features/bottom_navigation_bar/presentation/bloc/new_messages_cubit/new_messages_cubit.dart'; import 'package:eatvio_app/features/notifications/presentation/notifications_cubit/notifications_cubit.dart'; import 'package:eatvio_app/features/bottom_navigation_bar/presentation/bloc/profile_avatar_cubit/profile_avatar_cubit.dart'; import 'package:eatvio_app/features/chat/presentation/bloc/chats_cubit/chats_cubit.dart'; import 'package:eatvio_app/features/feed/presentation/bloc/feed_cubit/feed_cubit.dart'; import 'package:eatvio_app/features/internet_connection_checker/internet_connection_checker_screen.dart'; import 'package:eatvio_app/generated/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; /// Конфигурация приложения class AppConfig { /// Список глобальных BlocProvider'ов static List get globalBlocProviders => [ BlocProvider(create: (context) => sl()), BlocProvider( create: (context) => sl()..getNotifications(), ), BlocProvider( create: (context) => sl()..loadFeedBlogPostList(), ), BlocProvider( create: (context) => sl()..getMyProfile(), ), BlocProvider( create: (context) => sl()..getChatRoomsWithLoading(), ), ]; /// Делегаты локализации static const List localizationDelegates = [ S.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ]; /// Поддерживаемые локали static const List supportedLocales = [ Locale.fromSubtags(languageCode: 'ru'), ]; /// Создание обертки для проверки интернет-соединения static Widget createInternetConnectionWrapper(Widget child) { return BlocProvider( create: (context) => sl(), child: InternetConnectionCheckerScreen(child: child), ); } }