refactor: implement lazy initialization for global BlocProviders and enhance Firebase initialization with timeout handling

This commit is contained in:
mso7nueh
2026-01-13 12:22:22 +03:00
parent a778257215
commit d206e7ec12
13 changed files with 161 additions and 41 deletions

View File

@@ -11,6 +11,7 @@ import 'package:eatvio_app/features/create_plan/presentation/create_plan_screen.
import 'package:eatvio_app/features/feed/presentation/bloc/consultants_cubit/consultants_cubit.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/feed_cubit/feed_state.dart';
import 'package:eatvio_app/features/feed/presentation/bloc/profile_cubit/profile_cubit.dart';
import 'package:eatvio_app/features/feed/presentation/bloc/profile_cubit/profile_state.dart';
import 'package:eatvio_app/features/feed/presentation/bloc/recipes_cubit/recipes_cubit.dart';
@@ -74,6 +75,14 @@ class _FeedScreenContentState extends State<FeedScreenContent> {
chipsLabelList = hidePlans ? ['Все', 'Рецепты', 'Диеты', 'Консультанты'] : ['Все', 'Рецепты', 'Диеты', 'Планы питания', 'Консультанты'];
consultantsScrollController.addListener(_onScrollConsultants);
_checkRegistrationDate(context);
// Инициализация глобальных кубитов при первом открытии экрана
WidgetsBinding.instance.addPostFrameCallback((_) {
final feedCubit = context.read<FeedCubit>();
final state = feedCubit.state;
if (state is! FeedStateLoaded && state is! FeedStateLoading) {
feedCubit.loadFeedBlogPostList();
}
});
super.initState();
}