Commit Graph

46 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
0b5254311d feat(api): update DeviceLocation model and clean up AuthRepositoryImpl and BillingPageSkeleton 2026-03-18 10:00:27 -04:00
Achintha Isuru
a12539ba07 feat: normalize user ID in auth envelope and update hub manager assignment logic 2026-03-17 14:47:01 -04:00
Achintha Isuru
b6a655a261 feat: enhance API error handling and response structure; introduce ApiException for V2 error codes 2026-03-17 14:15: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
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
e8b768b978 feat: Refactor sign-out method to use unified service call across repositories 2026-03-02 16:04:20 -05:00
Achintha Isuru
1ab5ba2e6f feat: Implement Android keystore setup for secure signing in release builds and update documentation for local and CI/CD environments 2026-02-28 22:32:54 -05:00
Achintha Isuru
7c701ded5f feat: Enhance authentication by refining user role validation during session handling and ensuring immediate ID token refresh after sign-in to prevent unauthenticated Data Connect SDK requests. 2026-02-28 18:17:49 -05:00
Achintha Isuru
b8d07380c0 replace the "Krow" with "KROW" 2026-02-26 15:13:26 -05:00
fd43494bd4 chore: Maestro restructure, remove Marionette, add Makefile e2e commands 2026-02-26 16:07:43 +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
Achintha Isuru
ddf270074b feat: Refactor session management and improve user session data retrieval 2026-02-17 16:05:45 -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
Achintha Isuru
506da5e26f feat: Implement DataErrorHandler mixin and update imports for consistency 2026-02-17 13:21:00 -05:00
da8192418f fix(mobile): resolve client crash and shift status inconsistency 2026-02-17 16:23:10 +05:30
Achintha Isuru
39bb17d981 feat: Refactor repositories and modules to remove FirebaseAuth dependency and utilize DataConnectService 2026-02-16 17:49:34 -05:00
Achintha Isuru
fc0bb5828c feat(auth-repository): Refactor AuthRepositoryImpl to remove FirebaseAuth dependency and utilize DataConnectService 2026-02-16 17:21:03 -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
Achintha Isuru
e1567ba84c Merge pull request #384 from Oloodi/feature/centralized-data-error-handling
refactor: centralize data connect error handling and stabilize mobile applications
2026-02-06 10:05:21 -05:00
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
5c6852fcba Merge pull request #383 from Oloodi/demo/prep-demo-m3
Introduce validation db instance
2026-02-06 00:45:04 -05:00
Achintha Isuru
aa2418b327 Refactor import order and remove debug logging in authentication repository 2026-02-06 00:29:04 -05:00
José Salazar
b0065068a4 validations of connection to validation db 2026-02-06 11:35:31 +09:00
3924801f70 feat(mobile): implement centralized error handling and project cleanup
- Implemented centralized error handling system (#377)
- Unified UIErrorSnackbar and BlocErrorHandler mixin
- Migrated ClientAuthBloc and ClientHubsBloc
- Consolidated documentation
- Addresses Mobile Apps: Project Cleanup (#378)
2026-02-05 15:35:35 +05:30
Achintha Isuru
b5c3af580c refactor: enhance child route management in ClientPaths and StaffPaths; ensure proper handling of empty child paths 2026-02-04 17:58:37 -05:00
Achintha Isuru
9f48ed40d7 Use krow_core routes; remove navigator
Replace the local navigation extension with centralized helpers from krow_core: add krow_core dependency and imports, remove src/presentation/navigation/client_auth_navigator.dart and its export, and update Module routes to use ClientPaths constants. Update page callbacks to use Modular.to.toClientSignIn/toClientSignUp/toClientHome instead of the old push/navigate extension and replace hard-coded route strings with ClientPaths. This centralizes route definitions and removes duplicated navigation logic.
2026-02-04 16:27:44 -05:00
Achintha Isuru
4b5a3d1304 feat: Refactor imports and enhance navigation for shift details in staff home feature 2026-02-01 02:06:28 -05:00
bwnyasse
caac050ac9 feat(core_localization): add error translation utility and new error messages
feat(client_auth): implement error handling with localized messages
feat(client_hubs): implement error handling with localized messages
feat(client_billing): navigate to home after billing
feat(client_coverage): navigate to home after coverage
feat(client_create_order): navigate to home after create order
feat(client_settings): navigate to home after settings
feat(client_view_orders): show hub name in order card
fix(client_auth): handle existing firebase accounts during sign-up

This commit introduces a new utility function, `translateErrorKey`,
to translate error message keys to localized strings. It also adds
new error messages to the localization files for both English and
Spanish.

The commit also implements error handling with localized messages in
the client authentication and hubs features. This makes it easier for
users to understand what went wrong and how to fix it.

Additionally, the commit updates the navigation flow for the billing,
coverage, create order, and settings features to navigate to the home
page after the user completes the action.

Finally, the commit fixes a bug where the hub name was not being
displayed in the order card.
2026-01-31 18:56:48 -05:00
José Salazar
0c06ca18bf validation user role 2026-01-30 09:08:44 -05:00
Achintha Isuru
e95b9a0b36 refactor: update import paths for consistency and clarity across multiple files 2026-01-24 10:07:22 -05:00
Achintha Isuru
f57f41c508 Add explicit types and improve type safety across codebase
This commit adds explicit type annotations to variables, function parameters, and return types throughout the codebase, particularly in widget trees, Bloc logic, and repository implementations. The changes improve code readability, maintainability, and type safety, and align with Dart best practices. No business logic was changed.
2026-01-24 10:00:36 -05:00
Achintha Isuru
387e47865c feat(authentication): remove social sign-in buttons and add TODO for future implementation
feat(billing): update billing module routes to indicate feature not yet implemented
feat(coverage): update coverage module routes to indicate feature not yet implemented
feat(sign_up_form): set full width for create account button in sign-up form
2026-01-23 17:24:30 -05:00
Achintha Isuru
868688fb02 Enhance UI button and order card features
Added fullWidth support to UiButton and updated usages to ensure buttons span container width. Improved ViewOrderCard with expanded worker details, avatar stack, formatted date/time, and an order edit bottom sheet. Introduced new icons and typography style in the design system.
2026-01-23 11:53:36 -05:00
Achintha Isuru
a964fcabd7 feat: Add client main shell with bottom navigation
Introduces the new client_main feature package, providing a main shell with bottom navigation for the client app. Updates routing to use /client-main instead of /client-home, adds localization for new tabs, and implements navigation logic, UI, and tests for the main shell. Also refactors create_order module bindings and cleans up unused dependencies.
2026-01-23 09:35:46 -05:00
José Salazar
a70468ceb4 session creation and show business information 2026-01-22 18:17:24 -05:00
José Salazar
6e8578c3d7 validation userrole 2026-01-22 16:04:10 -05:00
José Salazar
c341638d73 Merge branch '208-p0-auth-05-get-started-screen' of github.com:Oloodi/krow-workforce into 208-p0-auth-05-get-started-screen 2026-01-22 16:03:35 -05:00
José Salazar
b557b5874d validation when the user is not a businnes user 2026-01-22 15:55:51 -05:00
Achintha Isuru
1b8a6466b0 chore: Refactor imports and update architecture package structure
Reorganized and clarified dependency sections in multiple pubspec.yaml files, grouping architecture and feature packages. Updated import statements in AuthRepositoryImpl for direct usage of types. Added missing dependencies to client authentication. Removed obsolete documentation and summary files from design_system and client home packages.
2026-01-22 12:28:10 -05:00
Achintha Isuru
cf59935ec8 Move apps to mobile directory structure
Relocated all app directories (client, design_system_viewer, staff) and their contents under the new 'apps/mobile' path. This change improves project organization and prepares for future platform-specific structuring.
2026-01-22 10:17:19 -05:00