Commit Graph

72 Commits

Author SHA1 Message Date
Achintha Isuru
843eec5692 feat: Refactor context reading in emergency contact and FAQs widgets
- Updated the context reading method in `EmergencyContactAddButton` and `EmergencyContactFormItem` to use `ReadContext`.
- Modified the `FaqsWidget` to utilize `ReadContext` for fetching FAQs.
- Adjusted the `PrivacySectionWidget` to read from `PrivacySecurityBloc` using `ReadContext`.

feat: Implement Firebase Auth isolation pattern

- Introduced `FirebaseAuthService` and `FirebaseAuthServiceImpl` to abstract Firebase Auth operations.
- Ensured features do not directly import `firebase_auth`, adhering to architecture rules.

feat: Create repository interfaces for billing and coverage

- Added `BillingRepositoryInterface` for billing-related operations.
- Created `CoverageRepositoryInterface` for coverage data access.

feat: Add use cases for order management

- Implemented use cases for fetching hubs, managers, and roles related to orders.
- Created `GetHubsUseCase`, `GetManagersByHubUseCase`, and `GetRolesByVendorUseCase`.

feat: Develop report use cases for client reports

- Added use cases for fetching various reports including coverage, daily operations, forecast, no-show, performance, and spend reports.
- Implemented `GetCoverageReportUseCase`, `GetDailyOpsReportUseCase`, `GetForecastReportUseCase`, `GetNoShowReportUseCase`, `GetPerformanceReportUseCase`, and `GetSpendReportUseCase`.

feat: Establish profile repository and use cases

- Created `ProfileRepositoryInterface` for staff profile data access.
- Implemented use cases for retrieving staff profile and section statuses: `GetStaffProfileUseCase` and `GetProfileSectionsUseCase`.
- Added `SignOutUseCase` for signing out the current user.
2026-03-19 01:10:27 -04:00
Achintha Isuru
3e5b6af8dc Refactor widgets, add bloc dep
Clean up widget code and update a dependency:

- Remove redundant const qualifiers and tidy widget children in several skeleton/header widgets for consistent style.
- Add super.key to TaxFormsProgressOverview, TaxFormStatusBadge, and AccountCard constructors.
- Simplify AccountCard by consolidating its constructor into a single const declaration.
- Minor fixes: adjust Image.onError parameter, reformat CircleAvatar/Icon construction in edit_profile_page.
- Add bloc ^8.1.4 to staff/authentication pubspec.

These changes are stylistic and aim to improve consistency and constructor patterns across the codebase.
2026-03-18 10:33:19 -04:00
Achintha Isuru
de388c9a77 feat: update profile setup and bank account management; enhance API integration and data handling 2026-03-17 14:32:26 -04:00
Achintha Isuru
376b4e4431 feat: Update API endpoint usage in repositories to remove redundant path property
- Refactored multiple repository implementations across client and staff features to directly use endpoint objects without accessing the `path` property.
- Introduced a new `FeatureGate` class for client-side feature gating based on user scopes, allowing for better access control to API endpoints.
- Added `ApiEndpoint` class to represent API endpoints with their paths and required scopes for future feature gating.
2026-03-17 12:01:06 -04:00
Achintha Isuru
57bba8ab4e Refactor API endpoint usage across multiple repositories to use ClientEndpoints and StaffEndpoints
- Updated ClientOrderQueryRepositoryImpl to replace V2ApiEndpoints with ClientEndpoints for vendor, role, hub, and manager retrieval methods.
- Modified ViewOrdersRepositoryImpl to utilize ClientEndpoints for order viewing, editing, and vendor retrieval.
- Refactored ReportsRepositoryImpl to switch from V2ApiEndpoints to ClientEndpoints for various report fetching methods.
- Changed SettingsRepositoryImpl to use AuthEndpoints for sign-out functionality.
- Adjusted AuthRepositoryImpl to replace V2ApiEndpoints with AuthEndpoints for phone authentication and sign-out processes.
- Updated ProfileSetupRepositoryImpl to utilize StaffEndpoints for profile setup.
- Refactored AvailabilityRepositoryImpl to switch from V2ApiEndpoints to StaffEndpoints for availability management.
- Changed ClockInRepositoryImpl to use StaffEndpoints for clock-in and clock-out functionalities.
- Updated HomeRepositoryImpl to replace V2ApiEndpoints with StaffEndpoints for dashboard and profile completion retrieval.
- Refactored PaymentsRepositoryImpl to utilize StaffEndpoints for payment summaries and history.
- Changed ProfileRepositoryImpl to switch from V2ApiEndpoints to StaffEndpoints for staff profile and section status retrieval.
- Updated CertificatesRepositoryImpl to use StaffEndpoints for certificate management.
- Refactored DocumentsRepositoryImpl to switch from V2ApiEndpoints to StaffEndpoints for document management.
- Changed TaxFormsRepositoryImpl to utilize StaffEndpoints for tax form management.
- Updated BankAccountRepositoryImpl to switch from V2ApiEndpoints to StaffEndpoints for bank account management.
- Refactored TimeCardRepositoryImpl to use StaffEndpoints for time card retrieval.
- Changed AttireRepositoryImpl to utilize StaffEndpoints for attire management.
- Updated EmergencyContactRepositoryImpl to switch from V2ApiEndpoints to StaffEndpoints for emergency contact management.
- Refactored ExperienceRepositoryImpl to use StaffEndpoints for industry and skill retrieval.
- Changed PersonalInfoRepositoryImpl to switch from V2ApiEndpoints to StaffEndpoints for personal information management.
- Updated FaqsRepositoryImpl to utilize StaffEndpoints for FAQs retrieval.
- Refactored PrivacySettingsRepositoryImpl to switch from V2ApiEndpoints to StaffEndpoints for privacy settings management.
- Changed ShiftsRepositoryImpl to use StaffEndpoints for shift management and retrieval.
- Updated StaffMainRepositoryImpl to switch from V2ApiEndpoints to StaffEndpoints for profile completion checks.
2026-03-17 11:40:15 -04:00
Achintha Isuru
b289ed3b02 feat(auth): add staff-specific sign-out endpoint and enhance session management 2026-03-17 10:21:57 -04:00
Achintha Isuru
4fca87bde1 Refactor auth repo imports; remove unused flag
Consolidate and reorder imports in the client authentication repository by moving the auth_repository_interface import to the top and removing the duplicate import. Also remove the unused UnauthorizedAppException reference from the imported symbols. In the staff authentication repository, drop the unused requiresProfileSetup variable (extracted from API response) and tidy up minor whitespace—removing dead code and silencing analyzer warnings.
2026-03-16 22:56:15 -04:00
Achintha Isuru
b31a615092 feat: Migrate staff profile features from Data Connect to V2 REST API
- Removed data_connect package from mobile pubspec.yaml.
- Added documentation for V2 profile migration status and QA findings.
- Implemented new session management with ClientSessionStore and StaffSessionStore.
- Created V2SessionService for handling user sessions via the V2 API.
- Developed use cases for cancelling late worker assignments and submitting worker reviews.
- Added arguments and use cases for payment chart retrieval and profile completion checks.
- Implemented repository interfaces and their implementations for staff main and profile features.
- Ensured proper error handling and validation in use cases.
2026-03-16 22:45:06 -04:00
Achintha Isuru
867ff8d61c refactor: Replace Navigator.pop with Modular.to.popSafe for consistent navigation handling 2026-03-04 13:08:39 -05:00
Achintha Isuru
e8b768b978 feat: Refactor sign-out method to use unified service call across repositories 2026-03-02 16:04:20 -05:00
Achintha Isuru
53b612851c refactor: enhance navigation robustness by introducing popSafe and safePushNamedAndRemoveUntil methods and updating their usage. 2026-02-28 17:23:53 -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
fd43494bd4 chore: Maestro restructure, remove Marionette, add Makefile e2e commands 2026-02-26 16:07:43 +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
9234c26dad fix compilations 2026-02-19 13:41:58 +05:30
c4610003b4 feat: complete client reports and hub management UI, comment out export buttons 2026-02-19 13:00:48 +05:30
d589c9bca2 reports page implementation 2026-02-18 15:10:01 +05:30
Achintha Isuru
a119f36e41 feat: Refactor StaffSession to remove user field and update related session handling 2026-02-17 16:31:23 -05:00
Achintha Isuru
5b78f339a1 feat: Implement session management with SessionListener and integrate krow_data_connect 2026-02-17 15:19:08 -05:00
Achintha Isuru
8ce37d2306 feat: Implement role-based session management and refactor authentication flow 2026-02-17 15:10:10 -05:00
da8192418f fix(mobile): resolve client crash and shift status inconsistency 2026-02-17 16:23:10 +05:30
Achintha Isuru
d0585d12ab feat(auth): Refactor AuthRepositoryImpl and ProfileSetupRepositoryImpl to use DataConnectService for authentication and data operations 2026-02-16 15:47:01 -05:00
Achintha Isuru
6ed12a0519 feat(api-keys): Replace Google Places API key with Google Maps API key across the application 2026-02-16 13:46:01 -05:00
4e1a41ebff Fix build errors: localization syntax, key paths, and ViewOrderCard widget 2026-02-14 16:26:10 +05:30
ad6db7d851 chore: refactor UI consistency using design system tokens and remove LucideIcons 2026-02-12 18:37:31 +05:30
c1112ac01c feat: Centralized Error Handling & Crash Fixes 2026-02-11 18:52:23 +05:30
ea06510474 Merge branch 'dev' into feature/centralized-data-error-handling and resolve conflicts 2026-02-11 12:34:29 +05:30
3e212220c7 feat: complete centralized error handling system with documentation 2026-02-11 10:36:08 +05:30
Achintha Isuru
4c38013c10 Standardize UI to design system tokens
Refactor multiple UI components to use design system tokens and primitives. Added new UiIcons (coffee, wifi, xCircle, ban) and typography color getters (primary, accent). Replaced hardcoded paddings, spacings, radii, borderRadius, and icon imports (lucide_icons -> UiIcons) with UiConstants, UiColors, UiTypography and UiIcons, and switched to UiColors.withValues for opacity. Changes apply across authentication, availability, clock_in (and its widgets), commute tracker, lunch break modal, location map placeholder, attendance card, date selector, and related presentation files to improve visual consistency.
2026-02-10 17:17:56 -05:00
Achintha Isuru
a34cc5b462 feat: Implement staff authentication as a Flutter Modular feature module, centralizing dependency injection and routing while refactoring imports for better modularity. 2026-02-10 12:15:51 -05:00
7570ffa3b9 Fix: Resolve critical linting issues and bugs (concurrency, syntax, dead code) 2026-02-10 19:12:01 +05:30
5e7bf0d5c0 refactor: centralize data connect error handling and resolve build issues across applications
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>
2026-02-06 13:28:57 +05:30
Achintha Isuru
ccf8930126 Use StaffPaths and core imports across staff modules
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).
2026-02-04 18:36:37 -05:00
Achintha Isuru
3b11c49d90 Refactor navigation and remove unused navigator extensions across staff features
- 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.
2026-02-04 18:22:39 -05:00
Achintha Isuru
e5e0b6e7bb feat: Add error message field to ProfileSetupState and update ProfileSetupLocation widget imports 2026-02-04 09:11:21 -05:00
1ba83e3ea6 feat: Implement Google Places Autocomplete for Staff Location
- Implemented strictly filtered Google Places Autocomplete (cities only) for Staff Profile Setup.
- Centralized Google Places API Key configuration in Core AppConfig.
- Updated Client Hubs to use the centralized AppConfig.
- Verified ViewOrdersCubit logic for weekly order summaries.
2026-02-04 12:30:54 +05:30
José Salazar
91e14a258e adding redirection if user already has a staff 2026-02-04 15:21:13 +09:00
José Salazar
467d936c5b solving problem with login loop and sending code time 2026-02-04 14:10:02 +09:00
Achintha Isuru
065af4fd7f Integrate Google Maps Places Autocomplete for hub address validation; update demo plan and Firebase configurations 2026-02-03 12:59:44 -05:00
José Salazar
470749501b solving problems of the seed 2026-02-04 00:12:05 +09:00
Achintha Isuru
6d0d7dcbd2 feat: Refactor PhoneInput to use StatefulWidget and improve phone number handling 2026-02-01 21:45:40 -05:00
Achintha Isuru
4830d72d48 feat: Update test phone numbers for authentication flow 2026-02-01 14:07:04 -05:00
Achintha Isuru
23a346200a feat: Integrate phone number verification handling for test numbers in authentication flow 2026-02-01 14:06:02 -05:00
Achintha Isuru
0dfe7a4e6d refactor: streamline date conversion logic in repository implementations 2026-02-01 11:28:50 -05:00
José Salazar
6277b9f5e2 changes 2026-02-01 22:39:40 +09:00
Achintha Isuru
1625f81ce6 feat: Integrate profile setup use case and repository for profile submission 2026-02-01 03:47:39 -05:00
Achintha Isuru
1a4a797aa3 feat: integrate Google Maps Places Autocomplete for hub address validation 2026-01-31 15:20:59 -05:00
036722791b fix: resolve payments compilation error and remove redundant datasource layer 2026-01-31 21:45:51 +05:30
Achintha Isuru
3f7aa90fee Merge branch 'dev' into Issues-on-payments-timecard-availability-screens-01-02-03-04 2026-01-30 11:19:07 -05:00