Files
Krow-workspace/apps/packages/features/client/home/lib/client_home.dart

45 lines
1.3 KiB
Dart

library client_home;
import 'package:flutter_modular/flutter_modular.dart';
import 'package:krow_data_connect/krow_data_connect.dart';
import 'src/data/repositories_impl/home_repository_impl.dart';
import 'src/domain/repositories/home_repository_interface.dart';
import 'src/domain/usecases/get_dashboard_data_usecase.dart';
import 'src/presentation/blocs/client_home_bloc.dart';
import 'src/presentation/pages/client_home_page.dart';
export 'src/presentation/pages/client_home_page.dart';
export 'src/presentation/navigation/client_home_navigator.dart';
/// A [Module] for the client home feature.
///
/// This module configures the dependencies for the client home feature,
/// including repositories, use cases, and BLoCs.
class ClientHomeModule extends Module {
@override
List<Module> get imports => [DataConnectModule()];
@override
void binds(Injector i) {
// Repositories
i.addLazySingleton<HomeRepositoryInterface>(
() => HomeRepositoryImpl(i.get<HomeRepositoryMock>()),
);
// UseCases
i.addLazySingleton(GetDashboardDataUseCase.new);
// BLoCs
i.add<ClientHomeBloc>(
() => ClientHomeBloc(
getDashboardDataUseCase: i.get<GetDashboardDataUseCase>(),
),
);
}
@override
void routes(r) {
r.child('/', child: (_) => const ClientHomePage());
}
}