From b16d0733de1a26da23ec15264daf2e84da203fa4 Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Sat, 24 Jan 2026 12:23:15 -0500 Subject: [PATCH] fix(staff): resolve dependency injection and navigation issues - Registered HomeRepository in StaffHomeModule to fix UnregisteredInstance error - Updated WorkerHomePage to use Modular DI for HomeCubit - Added trailing slash to home navigation to resolve Modular warning --- .../lib/src/presentation/pages/worker_home_page.dart | 9 ++------- .../features/staff/home/lib/src/staff_home_module.dart | 6 ++++++ .../presentation/navigation/staff_main_navigator.dart | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/mobile/packages/features/staff/home/lib/src/presentation/pages/worker_home_page.dart b/apps/mobile/packages/features/staff/home/lib/src/presentation/pages/worker_home_page.dart index 9d2ee43f..41d48509 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/presentation/pages/worker_home_page.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/presentation/pages/worker_home_page.dart @@ -11,10 +11,8 @@ import 'package:staff_home/src/presentation/widgets/worker/auto_match_toggle.dar import 'package:staff_home/src/presentation/widgets/worker/benefits_widget.dart'; import 'package:staff_home/src/presentation/widgets/worker/improve_yourself_widget.dart'; import 'package:staff_home/src/presentation/widgets/worker/more_ways_widget.dart'; -import 'package:staff_home/src/data/services/mock_service.dart'; import 'package:staff_home/src/domain/models/shift.dart'; import 'package:staff_home/src/presentation/blocs/home_cubit.dart'; -import 'package:staff_home/src/data/repositories/home_repository_impl.dart'; class WorkerHomePage extends StatefulWidget { const WorkerHomePage({super.key}); @@ -34,12 +32,9 @@ class _WorkerHomePageState extends State { final quickI18n = i18n.quick_actions; final sectionsI18n = i18n.sections; final emptyI18n = i18n.empty_states; + final recI18n = i18n.recommended_card; return BlocProvider( - create: (_) => HomeCubit( - // provide repository implementation backed by mock service for now - // later this should be wired from a DI container - HomeRepositoryImpl(mockService), - )..loadShifts(), + create: (_) => Modular.get()..loadShifts(), child: Scaffold( backgroundColor: AppColors.krowBackground, body: SafeArea( diff --git a/apps/mobile/packages/features/staff/home/lib/src/staff_home_module.dart b/apps/mobile/packages/features/staff/home/lib/src/staff_home_module.dart index f1f8fe2a..9e18c5a2 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/staff_home_module.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/staff_home_module.dart @@ -1,11 +1,17 @@ import 'package:flutter/material.dart'; import 'package:flutter_modular/flutter_modular.dart'; +import 'package:staff_home/src/data/repositories/home_repository_impl.dart'; +import 'package:staff_home/src/data/services/mock_service.dart'; +import 'package:staff_home/src/domain/repositories/home_repository.dart'; import 'package:staff_home/src/presentation/blocs/home_cubit.dart'; import 'package:staff_home/src/presentation/pages/worker_home_page.dart'; class StaffHomeModule extends Module { @override void binds(Injector i) { + i.addLazySingleton( + () => HomeRepositoryImpl(mockService), + ); i.addSingleton(HomeCubit.new); } diff --git a/apps/mobile/packages/features/staff/staff_main/lib/src/presentation/navigation/staff_main_navigator.dart b/apps/mobile/packages/features/staff/staff_main/lib/src/presentation/navigation/staff_main_navigator.dart index 1db3b7f5..1943af20 100644 --- a/apps/mobile/packages/features/staff/staff_main/lib/src/presentation/navigation/staff_main_navigator.dart +++ b/apps/mobile/packages/features/staff/staff_main/lib/src/presentation/navigation/staff_main_navigator.dart @@ -21,7 +21,7 @@ extension StaffMainNavigator on IModularNavigator { /// Navigates to the Home tab. void navigateToHome() { - navigate(StaffMainRoutes.homeFull); + navigate('${StaffMainRoutes.homeFull}/'); } /// Navigates to the Clock In tab.