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>
- Added `dataconnect-generate-sdk` as a prerequisite for mobile installation, client, and staff build commands.
- Ensured SDK generation is performed before running or building mobile applications to streamline the development process.
- 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.
- 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.
- Created AvailabilityPage with UI for managing staff availability.
- Integrated BLoC for state management, including LoadAvailability and ToggleDayStatus events.
- Added quick set options for availability (All Week, Weekdays, Weekends, Clear All).
- Implemented week navigation and day selection with visual feedback.
- Developed time slot management for each day, allowing toggling of availability.
- Established StaffAvailabilityModule for dependency injection and routing.
- Updated pubspec.yaml with necessary dependencies for the feature.
- Implemented ShiftAssignmentCard widget for displaying shift assignments with client details, pay calculation, and confirmation actions.
- Created StaffShiftsModule to manage dependencies, routes, and use cases related to staff shifts.
- Added necessary dependencies in pubspec.yaml and generated pubspec.lock.