Add support for verificationId throughout the certificate flow: schema, GraphQL mutations/queries, domain, repositories, service implementation, and UI.
- Backend: add verificationId to Certificate schema and include it in upsert/create mutations; add auth insecureReason notes to related connector operations.
- Data layer: add verificationId parameter to StaffConnectorRepository API and propagation in implementation (SDK call remains commented with FIXME until dataconnect SDK is regenerated).
- Domain: add verificationId field to StaffCertificate (constructor, copyWith, props).
- Certificates flow: create verification via verificationService, pass returned verificationId to upsertStaffCertificate so the verification record is persisted with the certificate.
- UI: update certificate upload page to show existing file path, disable editing of name/issuer/number, rearrange fields, move remove button, change file icon and text style.
- Misc: minor lambda formatting cleanup in benefits mapping.
Note: the generated dataconnect SDK must be refreshed to enable the new .verificationId(...) call (there is a commented FIXME in the connector implementation).
- Strengthened Buffer Layer architecture to decouple Data Connect from Domain
- Rewired Coverage, Performance, and Forecast reports to match Launchpad logic
- Implemented Uber-style Preferred Locations search using Google Places API
- Added session recovery logic to prevent crashes on app restart
- Synchronized backend schemas & SDK for ShiftStatus enums
- Fixed various build/compilation errors and localization duplicates
- Created a modular package for Frequently Asked Questions (FAQs) functionality.
- Established Clean Architecture with Domain, Data, and Presentation layers.
- Implemented BLoC for state management with events and states.
- Developed search functionality with real-time filtering of FAQs.
- Designed an accordion UI for displaying FAQs by category.
- Added localization support for English and Spanish.
- Included comprehensive documentation and testing checklist.
- Integrated dependency injection for repositories and use cases.
- Configured routing for seamless navigation to FAQs page.
- Add PrivacySettingsRepositoryImpl to handle backend communication for privacy settings.
- Create PrivacySettingsEntity to represent user privacy preferences.
- Define PrivacySettingsRepositoryInterface for repository operations.
- Implement use cases for fetching and updating profile visibility, terms of service, and privacy policy.
- Create PrivacyPolicyCubit and TermsCubit for managing legal document states.
- Develop PrivacySecurityBloc to manage privacy and security settings state.
- Create UI pages for Privacy Policy and Terms of Service with corresponding widgets.
- Implement PrivacySectionWidget and LegalSectionWidget for displaying privacy settings and legal documents.
- Add settings action tiles and section headers for better UI organization.
- Update pubspec.yaml with necessary dependencies and asset paths.
Replace the previous location-sharing privacy model with a profile-visibility feature. Renamed localization keys (en/es) and updated UI widget text. Added repository methods to get/update profile visibility using Data Connect, wired new GraphQL query (getStaffProfileVisibility) and mutation (UpdateStaffProfileVisibility), and added corresponding use cases (GetProfileVisibilityUseCase, UpdateProfileVisibilityUseCase). Updated BLoC, events, and state to use boolean isProfileVisible instead of PrivacySettingsEntity and removed old location-sharing usecases/entities. Also updated module DI and public exports accordingly; asset loading for legal docs kept with minor error logging.