Commit Graph

117 Commits

Author SHA1 Message Date
Achintha Isuru
24ff8816d2 feat: Update AvailableOrderCard to include client name, address, and estimated total pay 2026-03-19 13:46:22 -04:00
Achintha Isuru
833cb99f6b feat: Enhance AvailableOrderCard layout and time formatting 2026-03-19 13:43:39 -04:00
Achintha Isuru
96056d0170 feat: Implement available orders feature in staff marketplace
- Added `AvailableOrder` and `AvailableOrderSchedule` entities to represent available orders and their schedules.
- Introduced `GetAvailableOrdersUseCase` and `BookOrderUseCase` for fetching and booking orders.
- Created `AvailableOrdersBloc` to manage the state of available orders and handle booking actions.
- Developed UI components including `AvailableOrderCard` to display order details and booking options.
- Added necessary events and states for the BLoC architecture to support loading and booking orders.
- Integrated new enums and utility functions for handling order types and scheduling.
2026-03-19 13:23:28 -04:00
Achintha Isuru
77f8b8511c Add submitting state to shift approval UI
Add a submitting state to the shift approval flow: include new "submitting" strings in English and Spanish localization files; thread submittingShiftId from ShiftsPage into MyShiftsTab and HistoryShiftsTab and compute per-shift isSubmitting; add isSubmitting prop to ShiftCard and ShiftCardApprovalFooter. When a shift is being submitted the footer shows "SUBMITTING..." and a small CircularProgressIndicator instead of the submit button.
2026-03-18 15:26:53 -04:00
Achintha Isuru
b9d64bd53b Refactor Shift Card Implementation
- Updated import paths for shift card components to use a centralized index file.
- Introduced a new ShiftCard widget that consolidates the functionality of previous card implementations.
- Created individual files for shift card components: ShiftCard, ShiftCardBody, ShiftCardApprovalFooter, ShiftCardPendingFooter, ShiftCardStatusBadge, ShiftCardMetadataRows, ShiftCardTitleRow, and ShiftCardData.
- Enhanced ShiftCard to handle various shift types (confirmed, pending, cancelled, completed, checked-in, swap requested) through a unified data model.
- Improved UI consistency and maintainability by separating concerns into distinct widgets.
2026-03-18 15:18:27 -04:00
Achintha Isuru
3a5f2cc9c6 feat(shifts): implement submit for approval functionality
- Added `submitForApproval` method to `ShiftsRepositoryInterface` and its implementation in `ShiftsRepositoryImpl`.
- Created `SubmitForApprovalUseCase` to handle the submission logic.
- Updated `ShiftsBloc` to handle `SubmitForApprovalEvent` and manage submission state.
- Enhanced `HistoryShiftsTab` and `MyShiftsTab` to support submission actions and display appropriate UI feedback.
- Refactored date utilities for better calendar management and filtering of past shifts.
- Improved UI components for better spacing and alignment.
- Localized success messages for shift submission actions.
2026-03-18 14:37:55 -04:00
Achintha Isuru
2c7094bb54 feat: load assigned, pending, and cancelled shifts in parallel for improved performance 2026-03-17 16:18:45 -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
a0d5a18e6f Refactor shift history and my shifts tabs to use a unified ShiftCard widget
- Introduced ShiftCard widget to standardize the display of shift information across different states (assigned, completed, cancelled, pending).
- Removed redundant card implementations (_CompletedShiftCard, MyShiftCard, ShiftAssignmentCard) and replaced them with ShiftCard.
- Updated localization for empty states and shift titles in HistoryShiftsTab and MyShiftsTab.
- Enhanced MyShiftsTab to track submitted shifts locally and show appropriate actions based on shift status.
- Added meta package dependency for improved type annotations.
2026-03-17 13:08:32 -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
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
8fcf1d9d98 feat: Enhance background geofence functionality with notifications and localization support 2026-03-13 21:44:39 -04:00
Achintha Isuru
2c1c71ad01 refactor: simplify widget structure and improve date selection logic in clock-in features 2026-03-13 12:14:06 -04:00
Achintha Isuru
4423775fa1 feat: add shimmer loading skeletons for various pages and components
- Implemented ReorderCardSkeleton and ReorderSectionSkeleton for the client home page.
- Added SpendingCardSkeleton and SpendingSectionSkeleton for spending-related UI.
- Created OrderCardSkeleton and associated skeletons for the view orders page.
- Developed MetricCardSkeleton and MetricsGridSkeleton for reports page metrics.
- Introduced HomePageSkeleton and its components for staff home page.
- Added PaymentItemSkeleton and PaymentsPageSkeleton for payments page.
- Created ShiftDetailsPageSkeleton and related components for shift details.
- Implemented ShiftsPageSkeleton and ShiftCardSkeleton for shifts page.
2026-03-10 14:25:56 -04:00
Achintha Isuru
0f0714c55b feat: add shimmer loading skeletons for various pages and components
- Implemented UiShimmer as a core shimmer wrapper for animated gradient effects.
- Created shimmer presets for list items, stats cards, section headers, and more.
- Developed specific skeletons for billing, invoices, coverage, hubs, reports, payments, shifts, and home pages.
- Enhanced user experience by providing visual placeholders during data loading.
2026-03-10 13:21:30 -04:00
Achintha Isuru
0f5ceb8003 feat: enhance documentation and update dependencies in mobile feature builder and development rules 2026-03-07 02:19:14 -05:00
Achintha Isuru
856e7545f6 Implement profile completion checks in shift details flow and update UI accordingly 2026-03-04 16:48:49 -05:00
Achintha Isuru
ea6b3fcc76 feat: Refactor emergency contact screen and info banner for improved UI consistency 2026-03-01 02:16:26 -05:00
Achintha Isuru
e05ca7c045 feat: Refactor profile completion use cases and update related imports in HomeCubit and StaffHomeModule 2026-02-28 22:46:55 -05:00
Achintha Isuru
ce095924bc feat: Implement notice and file types banners for attire upload and enhance incomplete profile messaging 2026-02-28 22:42:04 -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
9d671be919 compile issues 2026-02-27 14:10:07 +05:30
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
98c0b8a644 feat: Pass endDate to shift details screen and refine its display with updated spacing and a direct label. 2026-02-23 13:52:40 -05:00
13f8003bda refactor of usecases 2026-02-23 17:18:50 +05:30
Achintha Isuru
69b5c74f00 refactor: streamline shift navigation calls and set default shifts tab to 'myshifts'. 2026-02-22 21:34:16 -05:00
Achintha Isuru
0c2482ee9b fix: Correct weekday order and active day index mapping in shift schedule summary. 2026-02-22 21:20:56 -05:00
Achintha Isuru
7f3a66ba11 refactor: remove redundant pushShiftDetails navigation method and update its usages to toShiftDetails. 2026-02-22 21:16:46 -05:00
Achintha Isuru
9e38fb7d5f feat: Add event name to order items and refactor navigation and shift data access to use direct object properties. 2026-02-22 21:07:57 -05:00
Achintha Isuru
0980c6584b feat: localize "Find Shifts" tab strings and add filled status to shift role queries. 2026-02-22 20:27:01 -05:00
Achintha Isuru
d1a0c74b95 Refactor: Remove redundant shift assignment and update clock-in button to be full width. 2026-02-22 20:07:41 -05:00
Achintha Isuru
68d6e7c5e3 refactor: Standardize shift details UI by adopting UiButton and UiChip components, adjusting layout, and refining chip styling. 2026-02-22 19:59:22 -05:00
Achintha Isuru
c48d981ddb feat: Introduce ShiftScheduleSummarySection to display shift type, date range, and recurring days on the shift details page. 2026-02-22 16:48:05 -05:00
Achintha Isuru
6e81d403c3 feat: Add support for displaying recurring shift details including start/end dates and recurring days. 2026-02-22 15:15:41 -05:00
Achintha Isuru
b519c49406 feat: Add orderId and normalized orderType to the Shift model to enable UI grouping and type-badging in shift displays. 2026-02-22 11:46:38 -05:00
Achintha Isuru
6e43888187 fix: Correctly map staff ID from session.staff.id and assign StaffSession.ownerId from s.ownerId. 2026-02-22 11:26:30 -05:00
Achintha Isuru
b593647800 refactor: migrate shifts BLoC state management to a single state class with a status enum. 2026-02-22 10:24:01 -05:00
1d09e20ac8 fix: resolve duplicate fields in Shift and unreachable code in ShiftsRepositoryImpl from bad merge 2026-02-20 21:15:57 +05:30
f7284b5cfb Merge branch 'dev' into feature/session-persistence-424 2026-02-20 20:56:18 +05:30
Achintha Isuru
bfc2453363 Merge pull request #444 from Oloodi/staff_recurring_permanent_order
Staff recurring permanent order
2026-02-20 10:18:03 -05:00
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
José Salazar
e6b3eca16d new query for my shifts 2026-02-19 15:40:34 -05:00
Achintha Isuru
5fb9d75c58 feat: Implement profile completion check in shifts management 2026-02-19 14:54:46 -05:00
José Salazar
a2137e8a06 Merge remote-tracking branch 'origin/408-feature-implement-paidunpaid-breaks---client-app-frontend-development' into staff_recurring_permanent_order 2026-02-19 14:47:35 -05:00
José Salazar
ed854cb958 solving problem with apply button 2026-02-19 11:00:55 -05:00
José Salazar
fe28396a58 adding tag type for shifts 2026-02-18 19:34:58 -05:00
José Salazar
8b6061cb30 correction of change view for recurring and permant - show permanet and recurring in find shift 2026-02-18 19:23:15 -05:00
Achintha Isuru
c4d0d865d7 feat: Add comments to clarify the need for APPLICATIONSTATUS and SHIFTSTATUS enums in ShiftsRepositoryImpl 2026-02-18 15:42:10 -05:00