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.
- Updated GetStaffByIdStaff, GetStaffByUserIdStaffs, ListStaffStaffs, and UpdateStaffVariablesBuilder classes to replace AnyValue with List<String> for skills and industries.
- Modified JSON serialization and deserialization logic accordingly.
- Adjusted ExperienceRepositoryImpl to handle List<String> for industries and skills.
- Updated GraphQL mutations and schema to reflect changes in data types for skills and industries.
- Changed preferredLocations from AnyValue to List<String> in GetStaffByIdStaff, GetStaffByUserIdStaffs, ListStaffStaffs, and UpdateStaffVariablesBuilder classes.
- Updated JSON serialization/deserialization for preferredLocations to handle List<String>.
- Modified Staff entity to include preferredLocations as List<String>.
- Adjusted ProfileSetupBloc and PersonalInfoBloc to accommodate changes in preferredLocations.
- Updated PersonalInfoRepositoryImpl to handle preferredLocations as List<String>.
- Refactored PersonalInfoContent and PersonalInfoForm to use locations instead of address.
- Updated GraphQL mutations and schema to reflect the new List<String> type for preferredLocations.
- Implemented Spanish translations for time card related strings.
- Created TimeCardRepository to fetch time card data based on shifts.
- Added use cases for retrieving time cards and payment history.
- Developed BLoC for managing time card state and events.
- Designed UI components for displaying time card summary and shift history.
- Integrated time card navigation within the staff main module.
- Updated pubspec.yaml files to include new dependencies and modules.
- Introduced localization for staff attire in English and Spanish.
- Created AttireItem entity to represent attire items.
- Implemented StaffAttireModule with repository, use cases, and BLoC for state management.
- Developed UI components including AttirePage, AttireGrid, AttireInfoCard, AttestationCheckbox, and AttireBottomBar.
- Added navigation for attire management and integrated with existing staff profile flow.
- Implemented functionality for selecting attire items, uploading photos, and saving selections with validation.
- 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.
- Added StaffProfileInfoModule for managing personal information onboarding.
- Created PersonalInfoRepositoryImpl and PersonalInfoRepositoryMock for data handling.
- Developed use cases for fetching and updating staff profile information.
- Implemented PersonalInfoBloc for state management using BLoC pattern.
- Designed UI components including PersonalInfoPage, PersonalInfoContent, and form widgets.
- Integrated navigation for onboarding steps and added necessary routes.
- Updated pubspec.yaml files to include new dependencies and feature packages.