diff --git a/docs/MOBILE/03-data-connect-connectors-pattern.md b/docs/MOBILE/03-data-connect-connectors-pattern.md index 165a30bd..4f5c353a 100644 --- a/docs/MOBILE/03-data-connect-connectors-pattern.md +++ b/docs/MOBILE/03-data-connect-connectors-pattern.md @@ -262,6 +262,18 @@ When backend adds new connector (e.g., `order`): **Backend Queries Used**: - `backend/dataconnect/connector/staff/queries/profile_completion.gql` +### Shifts Connector + +**Location**: `apps/mobile/packages/data_connect/lib/src/connectors/shifts/` + +**Available Queries**: +- `listShiftRolesByVendorId()` - Fetches shifts for a specific vendor with status mapping +- `applyForShifts()` - Handles shift application with error tracking + +**Backend Queries Used**: +- `backend/dataconnect/connector/shifts/queries/list_shift_roles_by_vendor.gql` +- `backend/dataconnect/connector/shifts/mutations/apply_for_shifts.gql` + ## Future Expansion As the app grows, additional connectors will be added: diff --git a/docs/USE_CASE_COMPLETION_AUDIT.md b/docs/MOBILE/04-use-case-completion-audit.md similarity index 98% rename from docs/USE_CASE_COMPLETION_AUDIT.md rename to docs/MOBILE/04-use-case-completion-audit.md index 8df0a307..70ee051a 100644 --- a/docs/USE_CASE_COMPLETION_AUDIT.md +++ b/docs/MOBILE/04-use-case-completion-audit.md @@ -46,7 +46,7 @@ | 2.2 Scheduled Orders — Recurring | Create recurring shifts (e.g., every Monday) | ✅ | ✅ | ✅ Completed | `recurring_order_page.dart` fully implemented. | | 2.2 Scheduled Orders — Permanent | Long-term staffing placement | ✅ | ✅ | ✅ Completed | `permanent_order_page.dart` fully implemented. | | 2.2 Scheduled Orders | Review cost before posting | ✅ | ✅ | 🟡 Partial | Order summary shown, but real-time cost calculation depends on backend. | -| *(undocumented)* | View & Browse Posted Orders | ✅ | ✅ | 🚫 Undocumented | `view_orders_page.dart` exists with `ViewOrderCard`. Not covered in use-case docs. | +| *(undocumented)* | View & Browse Posted Orders | ✅ | ✅ | 🚫 Undocumented | `view_orders_page.dart` exists with `ViewOrderCard`. Added `eventName` visibility. | | *(undocumented)* | Cancel/Modify posted order | ❌ | ❌ | 🚫 Undocumented | A `cancel` reference appears only in `view_order_card.dart`. No dedicated cancel flow in docs or real app. | --- @@ -150,10 +150,10 @@ | Use Case | Sub-Use Case | Prototype | Real App | Status | Notes | |:---|:---|:---:|:---:|:---:|:---| -| 2.1 Browse & Filter Jobs | View available jobs list | ✅ | ✅ | ✅ Completed | `find_shifts_tab.dart` in `shifts` renders all available jobs. | +| 2.1 Browse & Filter Jobs | View available jobs list | ✅ | ✅ | ✅ Completed | `find_shifts_tab.dart` in `shifts` renders all available jobs. Fully localized via `core_localization`. | | 2.1 Browse & Filter Jobs | Filter by Role | ✅ | ✅ | 🟡 Partial | Search by title/location/client name is implemented. Filter by **role** (as in job category) uses type-based tabs (one-day, multi-day, long-term) rather than role selection. | | 2.1 Browse & Filter Jobs | Filter by Distance | ✅ | ❌ | ❌ Not Implemented | Distance filter present in prototype (`jobs_screen.dart`). Real app has no distance-based filter. | -| 2.1 Browse & Filter Jobs | View job card details (Pay, Location, Requirements) | ✅ | ✅ | ✅ Completed | `MyShiftCard` + `shift_details_page.dart` with full shift info. | +| 2.1 Browse & Filter Jobs | View job card details (Pay, Location, Requirements) | ✅ | ✅ | ✅ Completed | `MyShiftCard` + `shift_details_page.dart` with full shift info. Added `endDate` support for multi-day shifts. | | 2.3 Set Availability | Select dates/times → Save preferences | ✅ | ✅ | ✅ Completed | `availability_page.dart` fully implemented with `AvailabilityBloc`. | | *(undocumented)* | View Upcoming Shifts shortcut on Home | ✅ | ✅ | 🚫 Undocumented | `worker_home_page.dart` shows upcoming shifts. Not documented as a home-tab sub-use case. | @@ -167,9 +167,9 @@ | 2.2 Claim Open Shift | System validates eligibility (certs, conflicts) | ✅ | ❌ | ❌ Not Implemented | Eligibility validation expected server-side, but client-side prompt to upload compliance docs if ineligible is not implemented. | | 2.2 Claim Open Shift | Prompt to Upload Compliance Docs if missing | ✅ | ❌ | ❌ Not Implemented | Prototype shows a `PromptUpload` flow. Real app `find_shifts_tab.dart` shows a success snackbar regardless. No redirect to compliance upload. | | 3.1 View Schedule | View list of claimed shifts (My Shifts tab) | ✅ | ✅ | ✅ Completed | `my_shifts_tab.dart` fully implemented with shift cards. | -| 3.1 View Schedule | View Shift Details | ✅ | ✅ | ✅ Completed | `shift_details_page.dart` with header, location map, schedule summary, stats. | +| 3.1 View Schedule | View Shift Details | ✅ | ✅ | ✅ Completed | `shift_details_page.dart` with header, location map, schedule summary, stats. Corrected weekday mapping and added `endDate`. | | *(undocumented)* | History of Past Shifts (History tab) | ❌ | ✅ | 🚫 Undocumented | `history_shifts_tab.dart` exists and is wired in the `shifts_page.dart`. Not mentioned in use-case docs. | -| *(undocumented)* | Shift Assignment Card with multi-day grouping | ❌ | ✅ | 🚫 Undocumented | Multi-day grouping logic in `_groupMultiDayShifts()` within `find_shifts_tab.dart`. Not in docs. | +| *(undocumented)* | Shift Assignment Card with multi-day grouping | ❌ | ✅ | 🚫 Undocumented | Multi-day grouping logic in `_groupMultiDayShifts()` within `find_shifts_tab.dart`. Supports `endDate`. | ---