forked from eatvio/eatvio_app
70 lines
3.6 KiB
Dart
70 lines
3.6 KiB
Dart
import 'package:eatvio_app/app_router.dart';
|
|
import 'package:eatvio_app/core/initialization_cubit/initialization_cubit.dart';
|
|
import 'package:eatvio_app/features/bottom_navigation_bar/presentation/bloc/new_messages_cubit/new_messages_cubit.dart';
|
|
import 'package:eatvio_app/features/bottom_navigation_bar/presentation/bloc/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/calendar/presentation/bloc/calendar_cubit.dart';
|
|
import 'package:eatvio_app/features/diary/presentation/bloc/diary_bloc.dart';
|
|
import 'package:eatvio_app/features/feed/presentation/bloc/diets_cubit/diets_cubit.dart';
|
|
import 'package:eatvio_app/features/feed/presentation/bloc/feed_cubit/feed_cubit.dart';
|
|
import 'package:eatvio_app/features/feed/presentation/bloc/recipes_cubit/recipes_cubit.dart';
|
|
import 'package:eatvio_app/features/plans/presentation/bloc/plans_cubit/plans_cubit.dart';
|
|
import 'package:eatvio_app/features/recipes/presentation/bloc/recipe_create_cubit.dart';
|
|
import 'package:eatvio_app/locator_service.dart' as di;
|
|
import 'package:eatvio_app/locator_service.dart';
|
|
import 'package:eatvio_app/old/profile/my_profile_screen/bloc/my_profile_bloc.dart';
|
|
import 'package:eatvio_app/old/profile/my_profile_screen/models/my_profile_model.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
|
import 'package:keyboard_dismisser/keyboard_dismisser.dart';
|
|
import 'core/app_export.dart';
|
|
|
|
var globalMessengerKey = GlobalKey<ScaffoldMessengerState>();
|
|
|
|
Future<void> main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await di.init();
|
|
runApp(MyApp());
|
|
}
|
|
|
|
class MyApp extends StatelessWidget {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MultiBlocProvider(
|
|
providers: [
|
|
BlocProvider<InitializationCubit>(create: (context) => sl<InitializationCubit>()),
|
|
BlocProvider<NewMessagesCubit>(create: (context) => sl<NewMessagesCubit>()),
|
|
BlocProvider<NotificationsCubit>(create: (context) => sl<NotificationsCubit>()),
|
|
BlocProvider<ProfileAvatarCubit>(create: (context) => sl<ProfileAvatarCubit>()..getMyProfile()),
|
|
BlocProvider<FeedCubit>(create: (context) => sl<FeedCubit>()..loadFeedBlogPostList()),
|
|
BlocProvider<RecipesCubit>(create: (context) => sl<RecipesCubit>()..loadRecipesList()),
|
|
BlocProvider<DietsCubit>(create: (context) => sl<DietsCubit>()..loadDiets()),
|
|
BlocProvider<PlansCubit>(create: (context) => sl<PlansCubit>()..getPlans()),
|
|
BlocProvider<MyProfileBloc>(create: (context) => MyProfileBloc(MyProfileState(myProfileModelObj: MyProfileModel()))..add(MyProfileInitialEvent())),
|
|
BlocProvider<DiaryBloc>(create: (context) => sl<DiaryBloc>()..add(LoadDiary())),
|
|
BlocProvider<CalendarCubit>(create: (context) => sl<CalendarCubit>()..loadCalendarList()),
|
|
BlocProvider<RecipeCreateCubit>(create: (context) => sl<RecipeCreateCubit>()..loadRecipeCreate()),
|
|
],
|
|
child: KeyboardDismisser(
|
|
child: MaterialApp.router(
|
|
theme: theme,
|
|
themeMode: ThemeMode.light,
|
|
routerConfig: AppRouter.appRouter,
|
|
debugShowCheckedModeBanner: false,
|
|
localizationsDelegates: [
|
|
AppLocalizationDelegate(),
|
|
GlobalMaterialLocalizations.delegate,
|
|
GlobalWidgetsLocalizations.delegate,
|
|
GlobalCupertinoLocalizations.delegate,
|
|
],
|
|
supportedLocales: [
|
|
Locale(
|
|
'ru',
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|