36 lines
1.0 KiB
Dart
36 lines
1.0 KiB
Dart
library client_home;
|
|
|
|
import 'package:flutter_modular/flutter_modular.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.
|
|
class ClientHomeModule extends Module {
|
|
@override
|
|
void binds(Injector i) {
|
|
// Repositories
|
|
i.addLazySingleton<HomeRepositoryInterface>(HomeRepositoryImpl.new);
|
|
|
|
// UseCases
|
|
i.addLazySingleton(GetDashboardDataUseCase.new);
|
|
|
|
// BLoCs
|
|
i.add<ClientHomeBloc>(
|
|
() => ClientHomeBloc(
|
|
getDashboardDataUseCase: i.get<GetDashboardDataUseCase>(),
|
|
),
|
|
);
|
|
}
|
|
|
|
@override
|
|
void routes(r) {
|
|
r.child('/', child: (_) => const ClientHomePage());
|
|
}
|
|
}
|