feat: Refactor context reading in emergency contact and FAQs widgets
- Updated the context reading method in `EmergencyContactAddButton` and `EmergencyContactFormItem` to use `ReadContext`. - Modified the `FaqsWidget` to utilize `ReadContext` for fetching FAQs. - Adjusted the `PrivacySectionWidget` to read from `PrivacySecurityBloc` using `ReadContext`. feat: Implement Firebase Auth isolation pattern - Introduced `FirebaseAuthService` and `FirebaseAuthServiceImpl` to abstract Firebase Auth operations. - Ensured features do not directly import `firebase_auth`, adhering to architecture rules. feat: Create repository interfaces for billing and coverage - Added `BillingRepositoryInterface` for billing-related operations. - Created `CoverageRepositoryInterface` for coverage data access. feat: Add use cases for order management - Implemented use cases for fetching hubs, managers, and roles related to orders. - Created `GetHubsUseCase`, `GetManagersByHubUseCase`, and `GetRolesByVendorUseCase`. feat: Develop report use cases for client reports - Added use cases for fetching various reports including coverage, daily operations, forecast, no-show, performance, and spend reports. - Implemented `GetCoverageReportUseCase`, `GetDailyOpsReportUseCase`, `GetForecastReportUseCase`, `GetNoShowReportUseCase`, `GetPerformanceReportUseCase`, and `GetSpendReportUseCase`. feat: Establish profile repository and use cases - Created `ProfileRepositoryInterface` for staff profile data access. - Implemented use cases for retrieving staff profile and section statuses: `GetStaffProfileUseCase` and `GetProfileSectionsUseCase`. - Added `SignOutUseCase` for signing out the current user.
This commit is contained in:
@@ -2,8 +2,8 @@ import 'package:bloc/bloc.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:krow_core/core.dart';
|
||||
import 'package:krow_domain/krow_domain.dart';
|
||||
import 'package:staff_home/src/domain/repositories/home_repository.dart';
|
||||
import 'package:staff_home/src/domain/usecases/get_benefits_history_usecase.dart';
|
||||
import 'package:staff_home/src/domain/usecases/get_home_shifts.dart';
|
||||
|
||||
part 'benefits_overview_state.dart';
|
||||
|
||||
@@ -14,14 +14,14 @@ class BenefitsOverviewCubit extends Cubit<BenefitsOverviewState>
|
||||
with BlocErrorHandler<BenefitsOverviewState> {
|
||||
/// Creates a [BenefitsOverviewCubit].
|
||||
BenefitsOverviewCubit({
|
||||
required HomeRepository repository,
|
||||
required GetDashboardUseCase getDashboard,
|
||||
required GetBenefitsHistoryUseCase getBenefitsHistory,
|
||||
}) : _repository = repository,
|
||||
}) : _getDashboard = getDashboard,
|
||||
_getBenefitsHistory = getBenefitsHistory,
|
||||
super(const BenefitsOverviewState.initial());
|
||||
|
||||
/// The repository used for dashboard data access.
|
||||
final HomeRepository _repository;
|
||||
/// Use case for fetching dashboard data.
|
||||
final GetDashboardUseCase _getDashboard;
|
||||
|
||||
/// Use case for fetching benefit history.
|
||||
final GetBenefitsHistoryUseCase _getBenefitsHistory;
|
||||
@@ -33,7 +33,7 @@ class BenefitsOverviewCubit extends Cubit<BenefitsOverviewState>
|
||||
await handleError(
|
||||
emit: emit,
|
||||
action: () async {
|
||||
final StaffDashboard dashboard = await _repository.getDashboard();
|
||||
final StaffDashboard dashboard = await _getDashboard();
|
||||
if (isClosed) return;
|
||||
emit(
|
||||
state.copyWith(
|
||||
|
||||
@@ -50,7 +50,7 @@ class StaffHomeModule extends Module {
|
||||
// Cubit for benefits overview page (includes history support)
|
||||
i.addLazySingleton<BenefitsOverviewCubit>(
|
||||
() => BenefitsOverviewCubit(
|
||||
repository: i.get<HomeRepository>(),
|
||||
getDashboard: i.get<GetDashboardUseCase>(),
|
||||
getBenefitsHistory: i.get<GetBenefitsHistoryUseCase>(),
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user