This commit addresses several critical issues across the mobile monorepo:
1. Centralized Error Handling: Integrated DataErrorHandler mixin into all repository implementations, ensuring consistent mapping of Data Connect exceptions to domain AppExceptions.
2. Build Stabilization: Fixed numerous type mismatches, parameter signature errors in widgets (e.g., google_places_flutter itemBuilder), and naming conflicts (StaffSession, FirebaseAuth).
3. Code Quality: Applied 'dart fix' across all modified packages and manually cleared debug print statements and UI clutter.
4. Mono-repo alignment: Standardized Data Connect usage and aliasing ('dc.') for better maintainability.
Signed-off-by: Suriya <suriya@tenext.in>
Centralize and standardize routing by introducing StaffPaths constants (shiftDetailsRoute, formI9, formW4) and using StaffPaths.childRoute in multiple staff feature modules instead of hardcoded paths. Add package:krow_core/core.dart imports where needed, clean up minor formatting/constructor spacing, make some route callbacks explicitly typed, replace shiftDetails string interpolation with the new constant, and remove a debug print from phone verification. These changes unify route definitions and add explicit tax-form routes (I-9 and W-4).
- Removed background color from CreateOrderView, OneTimeOrderView, and RapidOrderView.
- Updated navigation paths in OneTimeOrderView and other staff authentication pages to use new constants.
- Deleted unused navigator extensions for staff authentication, home, profile, and shifts.
- Refactored navigation in StaffMainModule to use new path constants.
- Cleaned up imports and adjusted navigation calls in various staff-related pages and widgets.
- Created pubspec.yaml for the staff_certificates feature with dependencies including flutter_bloc, equatable, get_it, and flutter_modular.
- Established paths for KROW dependencies: design_system, core_localization, krow_domain, krow_core, and krow_data_connect.
- Added firebase_auth and firebase_data_connect as dependencies.
- Generated pubspec.lock file to lock dependency versions.
- Implemented DocumentCard widget to display individual staff documents with status and actions.
- Created DocumentsProgressCard widget to show overall verification progress of documents.
- Established StaffDocumentsModule for dependency injection and routing to documents page.
- Updated pubspec.yaml and pubspec.lock for new dependencies and configurations.
- Updated FormW4Page to utilize FormW4Cubit for state management.
- Removed local state management and replaced with BLoC state.
- Implemented form validation logic based on BLoC state.
- Added methods for handling form field updates and navigation between steps.
- Integrated success and error handling for form submission.
- Refactored UI components to reflect changes in state management.
feat: Update TaxFormsPage to use TaxFormsCubit for loading tax forms
- Changed the way TaxFormsPage retrieves the TaxFormsCubit instance.
- Ensured that tax forms are loaded on initial build.
feat: Replace mock repository with implementation for tax forms
- Switched from TaxFormsRepositoryMock to TaxFormsRepositoryImpl.
- Added use cases for getting and submitting tax forms.
- Implemented the TaxFormsRepositoryImpl to handle data fetching and submission logic.
feat: Implement use cases for tax forms
- Created GetTaxFormsUseCase for retrieving tax forms.
- Created SubmitTaxFormUseCase for submitting tax form data.
- Ensured use cases interact with the repository for data operations.
- Created staff_tax_forms_module.dart to manage tax forms feature.
- Implemented routes for TaxFormsPage, FormI9Page, and FormW4Page.
- Added mock repository for tax forms.
- Established necessary dependencies in pubspec.yaml.
- Exported module in staff_tax_forms.dart.