46 Commits

Author SHA1 Message Date
d3159bc2ae Merge branch 'origin/dev' into feature/session-persistence-new 2026-03-20 12:44:25 +05:30
Achintha Isuru
9c71acb96a feat: Implement order details page and navigation for available orders 2026-03-19 14:08:34 -04:00
e671827dc4 Merge dev into feature branch 2026-03-19 13:16:04 +05:30
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
9ee8467632 Refactor widgets & imports; add krow_domain
Add local krow_domain dependency to client, staff apps and client home package. Numerous UI/widget cleanups across features: add const where applicable, use explicit List<Widget> types and List<Widget>.generate, add super.key to constructors, tighten BlocProvider generics, replace some Containers with SizedBox, and simplify InputDecoration/Border constructors. Fix API error handler to return a const UnknownException. Update internal imports to package-style paths (staff_home, staff_payments, staff_main repository interface) and normalize Flutter imports (use material.dart). Add missing braces for early returns in tax form pages. Mostly formatting and small API/typing refactors with no behavioral changes intended.
2026-03-18 10:27:31 -04:00
aef4491f97 Merge 592-migrate-frontend-applications-to-v2-backend-and-database into feature/session-persistence-new 2026-03-18 12:51:23 +05:30
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
68b0055cfe comprehensive cases 2026-03-17 15:24:36 +05:30
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
7a5c130289 refactor: change singleton registrations to lazySingleton for improved performance 2026-03-09 15:01:18 -04:00
Achintha Isuru
630b90ee38 feat: Implement show/hide functionality for bottom navigation bar based on route changes 2026-03-03 21:35:59 -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
Achintha Isuru
889bf90e71 feat: Implement reorder functionality in ClientCreateOrderRepository and update related interfaces and use cases 2026-02-19 16:14:43 -05:00
Achintha Isuru
4d935cd80c feat: Implement language selection feature in staff profile onboarding 2026-02-19 15:45:24 -05:00
Achintha Isuru
faa0403314 feat: Implement staff profile completion feature with new repository and use case 2026-02-19 12:15:46 -05:00
Achintha Isuru
a162824887 feat: Implement profile completion feature with repository and use case 2026-02-19 10:56:04 -05:00
Achintha Isuru
c48dab6786 feat: Implement staff navigation items with profile completion requirements 2026-02-19 10:25:00 -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
e05fe01a2d feat: Implement privacy and security feature in staff profile, including navigation and module setup 2026-02-18 13:56:44 -05:00
ad6db7d851 chore: refactor UI consistency using design system tokens and remove LucideIcons 2026-02-12 18:37:31 +05:30
3e212220c7 feat: complete centralized error handling system with documentation 2026-02-11 10:36:08 +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
c6128c2332 feat: Integrate Google Maps Places Autocomplete for Hub Address Validation
- Refactored ShiftsBloc to remove unused shift-related events and use cases.
- Updated navigation paths in ShiftsNavigator to reflect new structure.
- Simplified MyShiftCard widget by removing unnecessary parameters and logic.
- Modified FindShiftsTab and HistoryShiftsTab to utilize new navigation for shift details.
- Created ShiftDetailsModule with necessary bindings and routes for shift details.
- Implemented ShiftDetailsBloc, ShiftDetailsEvent, and ShiftDetailsState for managing shift details.
- Developed ShiftDetailsPage to display detailed information about a shift and handle booking/declining actions.
- Added necessary imports and adjusted existing files to accommodate new shift details functionality.
2026-01-31 20:33:35 -05:00
Suriya
ac7874c634 feat: implement staff availability, clock-in, payments and fix UI navigation 2026-01-30 21:46:44 +05:30
Achintha Isuru
7bd276269b feat: Implement Staff Clock In feature with attendance tracking and commute management
- Added AppColors for consistent theming across the feature.
- Created AttendanceCard widget to display attendance information.
- Developed CommuteTracker widget to manage and display commute status.
- Implemented DateSelector for selecting shift dates.
- Added LunchBreakDialog for logging lunch breaks with multiple steps.
- Created SwipeToCheckIn widget for checking in and out via swipe or NFC.
- Established StaffClockInModule for dependency injection and routing.
- Updated pubspec.yaml with necessary dependencies for the feature.
2026-01-26 01:25:08 -05:00
Achintha Isuru
2a820b3e4f feat: Implement staff availability feature with BLoC architecture
- 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.
2026-01-25 22:35:09 -05:00
Achintha Isuru
0622002014 feat: add staff time card feature with localization and repository implementation
- Implemented Spanish translations for time card related strings.
- Created TimeCardRepository to fetch time card data based on shifts.
- Added use cases for retrieving time cards and payment history.
- Developed BLoC for managing time card state and events.
- Designed UI components for displaying time card summary and shift history.
- Integrated time card navigation within the staff main module.
- Updated pubspec.yaml files to include new dependencies and modules.
2026-01-25 21:16:50 -05:00
Achintha Isuru
0b043ed91e feat: add staff payments feature with mock data source and UI components 2026-01-25 16:47:41 -05:00
Achintha Isuru
8e429dda03 feat: add ShiftAssignmentCard widget and StaffShifts module
- 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.
2026-01-25 16:09:11 -05:00
Achintha Isuru
533a545da7 feat: add staff attire management feature
- Introduced localization for staff attire in English and Spanish.
- Created AttireItem entity to represent attire items.
- Implemented StaffAttireModule with repository, use cases, and BLoC for state management.
- Developed UI components including AttirePage, AttireGrid, AttireInfoCard, AttestationCheckbox, and AttireBottomBar.
- Added navigation for attire management and integrated with existing staff profile flow.
- Implemented functionality for selecting attire items, uploading photos, and saving selections with validation.
2026-01-25 12:23:28 -05:00
Achintha Isuru
13cacb9db7 feat: add staff certificates module and update dependencies 2026-01-25 10:43:08 -05:00
Achintha Isuru
b3e156ebbe feat: implement staff documents feature with localization and navigation updates 2026-01-25 03:01:54 -05:00
Achintha Isuru
933e7a1543 feat: add staff tax forms module with I-9 and W-4 forms
- Created staff_tax_forms_module.dart to manage tax forms feature.
- Implemented routes for TaxFormsPage, FormI9Page, and FormW4Page.
- Added mock repository for tax forms.
- Established necessary dependencies in pubspec.yaml.
- Exported module in staff_tax_forms.dart.
2026-01-25 00:47:25 -05:00
Achintha Isuru
e6e2783a5a feat: Implement bank account management feature with UI, BLoC integration, and repository setup 2026-01-24 22:36:29 -05:00
Achintha Isuru
f035ab8b6c feat: Update navigation and module imports for staff onboarding and profile features 2026-01-24 21:23:54 -05:00
Achintha Isuru
a38afb1940 feat: Refactor Staff Profile page to use ProfileCubit and improve loading logic 2026-01-24 14:46:35 -05:00
Achintha Isuru
96ab07b58d feat: Add localization for staff main tabs and enhance profile UI components 2026-01-24 14:38:06 -05:00
Achintha Isuru
7cea81e99e fix(routes): update worker home route to worker main
feat(localization): add benefits and auto-match sections in English and Spanish
fix(staff_main): handle route changes safely in StaffMainCubit
2026-01-24 12:30:53 -05:00
Achintha Isuru
e2e7ad5567 fix(navigation): ensure default route loads content
- Updated AuthNavigator to push /worker-main/home/ explicitly
- Updated StaffMainNavigator to navigate to home by default
- Fixes blank screen issue by ensuring RouterOutlet has a child route
2026-01-24 12:26:50 -05:00
Achintha Isuru
b16d0733de fix(staff): resolve dependency injection and navigation issues
- Registered HomeRepository in StaffHomeModule to fix UnregisteredInstance error
- Updated WorkerHomePage to use Modular DI for HomeCubit
- Added trailing slash to home navigation to resolve Modular warning
2026-01-24 12:23:15 -05:00
Achintha Isuru
13265d844e feat(staff): integrate staff_home feature
- Created staff_main package with module, bloc, and pages
- Integrated staff_home into staff_main
- Updated route constants to use /worker-main
- Fixed intl version conflict
2026-01-24 12:11:25 -05:00
Achintha Isuru
faa2b2b0a6 fix(staff): align worker home route paths
- Updated staff_main modulePath to /worker-home
- Updated main.dart to mount staff_main at /worker-home
- Fixes RouteNotFoundException when navigating from auth
2026-01-24 12:00:41 -05:00
Achintha Isuru
24da0a4d04 refactor(staff_main): enforce strict architecture and clean code
- Added StaffMainRoutes constants to avoid magic strings
- Enhanced StaffMainNavigator with typed tab navigation
- Updated StaffMainCubit to use typed navigation
- Updated StaffMainModule to use route constants
2026-01-24 11:48:40 -05:00
Achintha Isuru
cdc0344280 feat(staff): implement staff home screen shell (staff_main)
- Created staff_main package structure
- Implemented StaffMainPage, StaffMainBottomBar, StaffMainCubit
- Added localization for staff_main tabs
- Added typed navigation extension
- Registered package in workspace
2026-01-24 11:43:09 -05:00