From c2c0e13ee86c0d5a434c8b87acfd754fd37c8a4b Mon Sep 17 00:00:00 2001 From: CowboyGH Date: Sat, 4 Apr 2026 15:17:00 +0700 Subject: [PATCH] fix(di): move workouts overview cubit outside di --- lib/core/di/di.dart | 7 +------ .../profile/presentation/pages/profile_page_builder.dart | 7 ++++++- .../widgets/profile_parameters_section_widget.dart | 3 +-- .../presentation/pages/workouts_overview_page_builder.dart | 7 +++++-- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/core/di/di.dart b/lib/core/di/di.dart index a32c3f4..884ad47 100644 --- a/lib/core/di/di.dart +++ b/lib/core/di/di.dart @@ -30,8 +30,8 @@ import '../../features/profile/domain/repositories/profile_parameters_repository import '../../features/profile/domain/repositories/profile_repository.dart'; import '../../features/profile/domain/repositories/profile_statistics_repository.dart'; import '../../features/profile/presentation/cubits/profile_refresh_cubit.dart'; -import '../../features/subscriptions/data/remote/subscriptions_api_client.dart'; import '../../features/subscriptions/data/remote/subscription_payment_api_client.dart'; +import '../../features/subscriptions/data/remote/subscriptions_api_client.dart'; import '../../features/subscriptions/data/repositories/subscriptions_repository_impl.dart'; import '../../features/subscriptions/domain/repositories/subscriptions_repository.dart'; import '../../features/tests/attempt/data/repositories/authenticated_test_attempt_repository_impl.dart'; @@ -47,7 +47,6 @@ import '../../features/workouts/execution/data/repositories/workout_execution_re import '../../features/workouts/execution/domain/repositories/workout_execution_repository.dart'; import '../../features/workouts/overview/data/repositories/workouts_overview_repository_impl.dart'; import '../../features/workouts/overview/domain/repositories/workouts_overview_repository.dart'; -import '../../features/workouts/overview/presentation/cubits/workouts_overview_cubit.dart'; import '../network/api_paths.dart'; import '../network/dio_setup.dart'; import '../services/fitness_start_progress_storage/fitness_start_progress_storage.dart'; @@ -226,10 +225,6 @@ Future setupDI() async { di(), ), ); - di.registerLazySingleton( - () => WorkoutsOverviewCubit(di()), - dispose: (cubit) => cubit.close(), - ); di.registerLazySingleton( () => WorkoutDetailsRepositoryImpl( di(), diff --git a/lib/features/profile/presentation/pages/profile_page_builder.dart b/lib/features/profile/presentation/pages/profile_page_builder.dart index 14442bb..8092c1e 100644 --- a/lib/features/profile/presentation/pages/profile_page_builder.dart +++ b/lib/features/profile/presentation/pages/profile_page_builder.dart @@ -13,14 +13,16 @@ import '../../../cards/presentation/cubits/save_card_cubit.dart'; import '../../../cards/presentation/cubits/set_default_card_cubit.dart'; import '../../../subscriptions/domain/repositories/subscriptions_repository.dart'; import '../../../subscriptions/presentation/cubits/cancel_subscription_cubit.dart'; +import '../../../workouts/overview/domain/repositories/workouts_overview_repository.dart'; +import '../../../workouts/overview/presentation/cubits/workouts_overview_cubit.dart'; import '../../domain/repositories/profile_parameters_repository.dart'; import '../../domain/repositories/profile_repository.dart'; import '../../domain/repositories/profile_statistics_repository.dart'; import '../cubits/delete_profile_cubit.dart'; import '../cubits/profile_parameters_cubit.dart'; import '../cubits/profile_refresh_cubit.dart'; -import '../cubits/profile_subscription_cubit.dart'; import '../cubits/profile_statistics_cubit.dart'; +import '../cubits/profile_subscription_cubit.dart'; import '../cubits/profile_user_cubit.dart'; import 'profile_page.dart'; @@ -86,6 +88,9 @@ class ProfilePageBuilder extends StatelessWidget { BlocProvider( create: (_) => CancelSubscriptionCubit(di()), ), + BlocProvider( + create: (_) => WorkoutsOverviewCubit(di()), + ), ], child: const ProfilePage(), ); diff --git a/lib/features/profile/presentation/widgets/profile_parameters_section_widget.dart b/lib/features/profile/presentation/widgets/profile_parameters_section_widget.dart index dd79d00..1f9c4f9 100644 --- a/lib/features/profile/presentation/widgets/profile_parameters_section_widget.dart +++ b/lib/features/profile/presentation/widgets/profile_parameters_section_widget.dart @@ -5,7 +5,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import '../../../../../core/constants/app_strings.dart'; -import '../../../../../core/di/di.dart'; import '../../../../../uikit/buttons/button_size.dart'; import '../../../../../uikit/buttons/button_state.dart'; import '../../../../../uikit/buttons/main_button.dart'; @@ -233,7 +232,7 @@ class _ProfileParametersSectionWidgetState extends State().loadWorkouts()); + unawaited(context.read().loadWorkouts()); context.read().consumeWorkoutsReloadRequest(); } unawaited(context.read().reloadCurrentPhaseSummary()); diff --git a/lib/features/workouts/overview/presentation/pages/workouts_overview_page_builder.dart b/lib/features/workouts/overview/presentation/pages/workouts_overview_page_builder.dart index 882f694..378072b 100644 --- a/lib/features/workouts/overview/presentation/pages/workouts_overview_page_builder.dart +++ b/lib/features/workouts/overview/presentation/pages/workouts_overview_page_builder.dart @@ -2,6 +2,7 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import '../../../../../core/di/di.dart'; +import '../../domain/repositories/workouts_overview_repository.dart'; import '../cubits/workouts_overview_cubit.dart'; import 'workouts_overview_page.dart'; @@ -12,8 +13,10 @@ class WorkoutsOverviewPageBuilder extends StatelessWidget { @override Widget build(BuildContext context) { - return BlocProvider.value( - value: di()..loadWorkouts(), + return BlocProvider( + create: (context) => WorkoutsOverviewCubit( + di(), + )..loadWorkouts(), child: const WorkoutsOverviewPage(), ); }