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:
@@ -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<WorkerHomePage> {
|
||||
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<HomeCubit>()..loadShifts(),
|
||||
child: Scaffold(
|
||||
backgroundColor: AppColors.krowBackground,
|
||||
body: SafeArea(
|
||||
|
||||
@@ -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<HomeRepository>(
|
||||
() => HomeRepositoryImpl(mockService),
|
||||
);
|
||||
i.addSingleton(HomeCubit.new);
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user