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
This commit is contained in:
Achintha Isuru
2026-01-24 12:23:15 -05:00
parent 5c82ea0483
commit b16d0733de
3 changed files with 9 additions and 8 deletions

View File

@@ -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/benefits_widget.dart';
import 'package:staff_home/src/presentation/widgets/worker/improve_yourself_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/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/domain/models/shift.dart';
import 'package:staff_home/src/presentation/blocs/home_cubit.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 { class WorkerHomePage extends StatefulWidget {
const WorkerHomePage({super.key}); const WorkerHomePage({super.key});
@@ -34,12 +32,9 @@ class _WorkerHomePageState extends State<WorkerHomePage> {
final quickI18n = i18n.quick_actions; final quickI18n = i18n.quick_actions;
final sectionsI18n = i18n.sections; final sectionsI18n = i18n.sections;
final emptyI18n = i18n.empty_states; final emptyI18n = i18n.empty_states;
final recI18n = i18n.recommended_card;
return BlocProvider( return BlocProvider(
create: (_) => HomeCubit( create: (_) => Modular.get<HomeCubit>()..loadShifts(),
// provide repository implementation backed by mock service for now
// later this should be wired from a DI container
HomeRepositoryImpl(mockService),
)..loadShifts(),
child: Scaffold( child: Scaffold(
backgroundColor: AppColors.krowBackground, backgroundColor: AppColors.krowBackground,
body: SafeArea( body: SafeArea(

View File

@@ -1,11 +1,17 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_modular/flutter_modular.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/blocs/home_cubit.dart';
import 'package:staff_home/src/presentation/pages/worker_home_page.dart'; import 'package:staff_home/src/presentation/pages/worker_home_page.dart';
class StaffHomeModule extends Module { class StaffHomeModule extends Module {
@override @override
void binds(Injector i) { void binds(Injector i) {
i.addLazySingleton<HomeRepository>(
() => HomeRepositoryImpl(mockService),
);
i.addSingleton(HomeCubit.new); i.addSingleton(HomeCubit.new);
} }

View File

@@ -21,7 +21,7 @@ extension StaffMainNavigator on IModularNavigator {
/// Navigates to the Home tab. /// Navigates to the Home tab.
void navigateToHome() { void navigateToHome() {
navigate(StaffMainRoutes.homeFull); navigate('${StaffMainRoutes.homeFull}/');
} }
/// Navigates to the Clock In tab. /// Navigates to the Clock In tab.