Commit Graph

114 Commits

Author SHA1 Message Date
Achintha Isuru
f39f8860ea Persist verificationId for staff certificates
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).
2026-02-27 15:27:15 -05:00
Achintha Isuru
c534584836 feat: Add certificate number field, update "Add Certificate" card UI with blur effect, and consolidate certificate view/upload actions. 2026-02-27 14:36:34 -05:00
Achintha Isuru
7875506e86 feat: Dynamically determine document verification type based on document description and add widget mounted checks for safety. 2026-02-27 14:01:08 -05:00
Achintha Isuru
28cc0e3574 feat: Enable pre-filling document upload page with existing document URLs and update navigation method usage. 2026-02-27 13:35:04 -05:00
34afe09963 feat: localization, file restriction banners, test credentials, edit icon fix
- #553: Audit and verify localizations (en/es), replace hardcoded strings
- #549: Incomplete profile banner in Find Shifts (staff app)
- #550: File restriction banner on document upload page
- #551: File restriction banner on certificate upload page
- #552: File restriction banner on attire upload page
- #492: Hide edit icon for past/completed orders (client app)
- #524: Display worker benefits in staff app
- Add test credentials to seed: testclient@gmail.com, staff +1-555-555-1234
- Fix document upload validation (context arg in _validatePdfFile on submit)
- Add PR_LOCALIZATION.md

Made-with: Cursor
2026-02-27 13:48:04 +05:30
Achintha Isuru
f32bd81a46 refactor: update AttireRepositoryImpl to use constructor injection, reorganize profile sections by moving documents and adding certificates, and introduce new UI icons. 2026-02-27 02:00:51 -05:00
Achintha Isuru
425bf19a9b feat: Implement full certificate management with upload, upsert, delete, and new domain models for staff certificates and their statuses. 2026-02-26 23:28:59 -05:00
Achintha Isuru
ca0ba258e2 refactor: refactor DocumentUploadPage UI into specialized widgets and refine document status mapping with a new DocumentVerificationStatus enum. 2026-02-26 22:25:35 -05:00
Achintha Isuru
5ab5182c1b feat: Implement comprehensive staff document management with verification status tracking and complete document listing. 2026-02-26 22:23:27 -05:00
Achintha Isuru
c113b836f2 feat: Introduce DocumentSelectedCard and refactor DocumentFileSelector for improved display of selected documents, and update upload success navigation. 2026-02-26 17:16:52 -05:00
Achintha Isuru
4995ff435d refactor: extract document upload file selector, attestation checkbox, and footer into dedicated widgets for improved modularity. 2026-02-26 16:21:02 -05:00
Achintha Isuru
1aa5132abe feat: implement document upload functionality with dedicated UI, state management, and routing. 2026-02-26 16:11:24 -05:00
Achintha Isuru
050072bd93 feat: Implement document upload and verification workflow by expanding document statuses, adding verification metadata, and introducing a mandatory flag for documents. 2026-02-26 15:45:55 -05:00
Achintha Isuru
df71deb698 feat: Add a Documents menu item, refactor DocumentsPage to use BlocProvider and UiAppBar, and capitalize the 'KROWER I' profile level badge text. 2026-02-26 15:24:27 -05:00
Achintha Isuru
b8d07380c0 replace the "Krow" with "KROW" 2026-02-26 15:13:26 -05:00
Achintha Isuru
9f01c25dd3 refactor: update AttireCubit dependency injection to non-lazy and ensure uploadPhoto returns the updated attire item status. 2026-02-25 22:22:48 -05:00
Achintha Isuru
083744cd34 feat: Implement attire item filtering and refactor attire capture flow and repository logic 2026-02-25 22:18:25 -05:00
Achintha Isuru
c7c505f743 feat: Implement modular routing for the attire capture page with a new route path and navigator method. 2026-02-25 19:30:42 -05:00
Achintha Isuru
e0722c938d refactor: Decompose AttireCapturePage into dedicated widgets for info, image preview, and footer sections, and refine attestation and verification status logic. 2026-02-25 19:21:45 -05:00
Achintha Isuru
4515d42cd3 feat: Enhance attire verification status system with more granular states and update related UI and data handling. 2026-02-25 19:05:03 -05:00
Achintha Isuru
6eafba311b refactor: Implement custom DioClient with AuthInterceptor and strongly typed API service responses. 2026-02-25 15:10:44 -05:00
Achintha Isuru
9c9cdaca78 feat: Implement attire photo capture, update AttireItem entity, and streamline the photo upload and state management flow. 2026-02-25 13:56:35 -05:00
Achintha Isuru
74d8d4d4d9 feat: Implement local image preview and explicit submission for attire capture. 2026-02-25 13:06:11 -05:00
Achintha Isuru
ed2b4f0563 feat: Enable users to upload attire photos via camera or gallery. 2026-02-25 12:58:30 -05:00
Achintha Isuru
c3d2a8a910 style: Adjust vertical spacing in attire capture page. 2026-02-25 11:13:48 -05:00
Achintha Isuru
fd0208efa0 feat: Introduce AttireVerificationStatus enum and add verificationId to staff attire items. 2026-02-24 17:31:41 -05:00
Achintha Isuru
616f23fec9 feat: Implement staff attire management including fetching options, user attire status, and upserting attire details. 2026-02-24 17:16:52 -05:00
Achintha Isuru
cb180af7cf feat: Add example text to the attire capture page and remove explicit background color from the scaffold. 2026-02-24 16:23:25 -05:00
Achintha Isuru
9bc4778cc1 feat: Extract attire photo capture logic into AttireCaptureCubit and reorganize existing attire BLoC into a dedicated subdirectory. 2026-02-24 16:19:59 -05:00
Achintha Isuru
bb27e3f8fe refactor: extract attire UI components from pages into dedicated widgets for improved modularity. 2026-02-24 16:06:42 -05:00
Achintha Isuru
566b4e9839 feat: Add xSmall size and destructive variant to UiChip, refactor AttireItemCard to use these new chip features, and adjust body4r font size. 2026-02-24 15:58:49 -05:00
Achintha Isuru
54a8915fb6 feat: Implement dedicated attire capture page, refactor attire selection with item cards and filtering. 2026-02-24 15:51:28 -05:00
Achintha Isuru
b29351a3aa refactor: Replace attire option 'icon' field with 'description' across the schema and data models, and update the UI to display the new description. 2026-02-24 15:13:06 -05:00
Achintha Isuru
7744dbf1b3 refactor: replace AttirePage's AppBar with UiAppBar and update attire page title localization. 2026-02-24 14:28:43 -05:00
Achintha Isuru
a9ead783e4 feat: Add post-save navigation to staff profile for emergency contact and experience, remove a placeholder page, and refine bloc usage and UI rendering. 2026-02-22 03:01:44 -05:00
c7bce37312 fix: add unused_element, unused_field, duplicate_ignore to suppress remaining strict linting rules on generated and prototype UI files 2026-02-20 20:48:33 +05:30
ac5d9dab35 fix: add ignore_for_file to remaining files causing lint errors in CI 2026-02-20 20:09:16 +05:30
474be43448 fix: add ignore_for_file to data connect Repos and modify CI to avoid analyzing deleted files 2026-02-20 19:51:44 +05:30
8849bf2273 feat: architecture overhaul, launchpad-style reports, and uber-style locations
- 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
2026-02-20 17:20:06 +05:30
Achintha Isuru
b85ea5fb7f feat: Refactor LanguageSelectionPage to use StatelessWidget and improve localization handling 2026-02-19 15:49:56 -05:00
Achintha Isuru
b9c4e12aea feat: Close language selection page after showing success snackbar 2026-02-19 15:45:53 -05:00
Achintha Isuru
4d935cd80c feat: Implement language selection feature in staff profile onboarding 2026-02-19 15:45:24 -05:00
Achintha Isuru
8578723fb3 feat: Implement FAQs feature for staff application with updated routing and UI components 2026-02-18 23:21:26 -05:00
Achintha Isuru
316a010779 feat: Implement FAQs feature for staff application
- 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.
2026-02-18 22:21:18 -05:00
Achintha Isuru
11a9a7800c feat: Implement Privacy & Security Settings Module for Staff
- 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.
2026-02-18 20:58:49 -05:00
Achintha Isuru
3f3579067c feat: Implement profile visibility update feedback and localization updates 2026-02-18 16:30:22 -05:00
Achintha Isuru
6b43a570d6 Replace location sharing with profile visibility
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.
2026-02-18 16:16:49 -05:00
Achintha Isuru
cce1b75fc0 feat: Update asset paths for legal documents and adjust dependency injection in Privacy Security module 2026-02-18 14:53:24 -05:00
Achintha Isuru
abf50796fa feat: Implement legal sections for Terms of Service and Privacy Policy, including navigation and content loading 2026-02-18 14:40:38 -05:00
Achintha Isuru
369151ee29 feat: Implement privacy and legal sections in staff privacy settings page 2026-02-18 14:05:42 -05:00