feat: integrate query parameters for initial tab selection in ShiftsPage

This commit is contained in:
Achintha Isuru
2026-02-02 14:23:11 -05:00
parent 5625e353c8
commit ee49eb931a
2 changed files with 66 additions and 100 deletions

View File

@@ -43,8 +43,9 @@ class StaffShiftsModule extends Module {
'/', '/',
child: (_) { child: (_) {
final args = r.args.data as Map?; final args = r.args.data as Map?;
final queryParams = r.args.queryParams;
return ShiftsPage( return ShiftsPage(
initialTab: args?['initialTab'], initialTab: queryParams['tab'] ?? args?['initialTab'],
selectedDate: args?['selectedDate'], selectedDate: args?['selectedDate'],
); );
}, },

View File

@@ -90,21 +90,12 @@ Tracked in :
**Purpose:** Show the sign-in experience for returning users **Purpose:** Show the sign-in experience for returning users
**Screen:** Get Started → Sign In **Screen:** Get Started → Sign In
**Steps:** **Steps:**
1. Open Client App (or restart if already open) 1. Restart Client App
2. Tap "Sign In" button 2. Tap "Sign In" button
3. Enter credentials: 3. Enter credentials:
- Email: `google_payment@gmail.com` - Email: `google_payment@gmail.com`
- Password: `Demo2026!` - Password: `Demo2026!`
4. Tap "Sign In" 4. Tap "Sign In"
5. Observe loading state and successful authentication
**What to Notice:**
- Clean, professional interface with business branding
- Password field security (masked characters)
- Error handling for invalid credentials
- Smooth transition to home screen
**Why It Matters:** Single sign-on for all team members, secure authentication without complexity
--- ---
@@ -123,11 +114,30 @@ Tracked in :
- Late workers alerts - Late workers alerts
- Today's estimated labor cost - Today's estimated labor cost
**Why It Matters:** At-a-glance visibility of operations without manual tracking ---
> **EXPLAIN**: The main demo flow which is the order creation and acceptance flow.
> ```
>Client Posts Shift [O1]
>
>*Vendor Accepts the Shift (This Part is missing for now)* [O2]
>
>Worker Searches for a Shift [O3]
>
>Worker Applies [O4]
>
>Confirmation [O5]
>
>Worker Checks In [O6]
>
>Shift Completed [O7]
>
>Payment [O8]
>```
--- ---
### Demo 5: Client Creates New Order ### Demo 5: Client Creates New Order - [O1]
**Purpose:** Walk through the shift creation process **Purpose:** Walk through the shift creation process
**Screen:** Orders Tab → "Post" button **Screen:** Orders Tab → "Post" button
**Action:** Create a new shift for upcoming event **Action:** Create a new shift for upcoming event
@@ -137,15 +147,6 @@ Tracked in :
- Date: [Select upcoming date] - Date: [Select upcoming date]
- Location: [Select existing hub] - Location: [Select existing hub]
- Add position: Server, Count: 3, Hours: 5PM-11PM - Add position: Server, Count: 3, Hours: 5PM-11PM
- Add position: Bartender, Count: 1, Hours: 4PM-11PM
**What to Notice:**
- Simple form with smart defaults
- Real-time cost calculation
- Option to add multiple roles
- Review summary before posting
**Why It Matters:** Post shifts in under 2 minutes vs. hours of phone calls
--- ---
@@ -156,66 +157,59 @@ Tracked in :
**What to Notice:** **What to Notice:**
- Event name and location - Event name and location
- Roles needed (e.g., "2 Servers, 1 Bartender") - Roles needed (e.g., "2 Servers")
- Clock in/out times - Clock in/out times
- Estimated cost - Estimated cost
- Coverage percentage bar - Coverage percentage bar
- List of confirmed workers with profile photos
**Why It Matters:** Complete transparency on staffing status before the event **Why It Matters:** Complete transparency on staffing status before the event
--- ---
### Demo 7: Client Monitors Coverage Dashboard ### Demo 7: Staff Logs In with Existing Account
**Purpose:** Show real-time worker tracking capabilities **Purpose:** Show the worker sign-in experience
**Screen:** Coverage Tab **Screen:** Get Started → Sign In with Phone
**Action:** Navigate to Coverage, select today's date **Steps:**
1. Restart the staff app.
**What to Notice:** 2. Enter phone number: `5551234567`
- Live worker status (Checked In, En Route, Late, Not Arrived) 3. Tap "Send Code"
- Color-coded status badges (green, yellow, red) 4. Enter OTP: `123456`
- Real-time check-in notifications
- Worker contact information
**Why It Matters:** Know exactly who's on-site and who's missing before event starts
--- ---
### Demo 8: Staff Browses Available Shifts ### Demo 8: Staff Views Home Dashboard
**Purpose:** Show worker's personalized dashboard
**What to Notice:**
- Today's Shifts section (confirmed shifts for today)
- Tomorrow's Shifts section
---
### Demo 9: Staff Browses Available Shifts - [O3]
**Purpose:** Show how workers discover and view available work **Purpose:** Show how workers discover and view available work
**Screen:** Shifts Tab → "Find Work" **Screen:** Shifts → "Find Work"
**Action:** Browse the list of available shifts **Action:** Browse the list of available shifts
**What to Notice:** **What to Notice:**
- List of shifts matching worker skills - List of shifts matching worker skills
- Distance from worker's location
- Hourly rate prominently displayed - Hourly rate prominently displayed
- Role requirements (e.g., "Bartender - Spring Gala") - Role requirements (e.g., "Bartender - Spring Gala")
- Date, time, and duration - Date, time, and duration
**Why It Matters:** Workers can find work that fits their schedule and skills
--- ---
### Demo 9: Staff Applies for Shift ### Demo 10: Staff Applies for Shift - [O4]
**Purpose:** Show the application process from worker side **Purpose:** Show the application process from worker side
**Screen:** Shift Details → "Apply Now" button **Screen:** Shift Details → "Apply Now" button
**Steps:** **Steps:**
1. Tap on an available shift to view details 1. Tap on an available shift to view details
2. Review business name, location, pay, requirements 2. Review business name, location, pay, requirements
3. Tap "Apply Now" 3. Tap "Book Shift"
4. See instant confirmation 4. See instant confirmation
**What to Notice:**
- Simple one-tap application
- Instant confirmation message
- Shift appears in "My Shifts" tab immediately
**Why It Matters:** One-tap application vs. lengthy forms or phone calls
--- ---
### Demo 10: Staff Views Confirmed Shifts ### Demo 11: Staff Views Confirmed Shifts - [O5]
**Purpose:** Show worker's shift management interface **Purpose:** Show worker's shift management interface
**Screen:** Shifts Tab → "My Shifts" **Screen:** Shifts Tab → "My Shifts"
**Action:** Review calendar view of confirmed shifts **Action:** Review calendar view of confirmed shifts
@@ -224,76 +218,47 @@ Tracked in :
- Week-by-week calendar navigation - Week-by-week calendar navigation
- Color-coded status (Confirmed, Pending, Completed) - Color-coded status (Confirmed, Pending, Completed)
- Quick access to shift details and directions - Quick access to shift details and directions
- Upcoming shift reminders
**Why It Matters:** Workers manage all shifts in one centralized place
--- ---
### Demo 11: Staff Checks In to Shift (Day of Event) ### Demo 12: Client Monitors Coverage Dashboard
**Purpose:** Show real-time worker tracking capabilities
**Screen:** Client App → Coverage Tab
**Action:** Navigate to Coverage, select today's date
**What to Notice:**
- Live worker status (Checked In, En Route, Late, Not Arrived)
- Color-coded status badges (green, yellow, red)
- Worker contact information
- Real-time updates as workers check in
**Why It Matters:** Know exactly who's on-site and who's missing before event starts
---
### Demo 13: Staff Checks In to Shift (Day of Event) - [O6]
**Purpose:** Demonstrate the check-in process **Purpose:** Demonstrate the check-in process
**Screen:** Home or My Shifts → Shift Card → "Check In" button **Screen:** Home or My Shifts → Shift Card → "Check In" button
**Action:** Simulate checking in to an active shift **Action:** Simulate checking in to an active shift
**What to Notice:** **What to Notice:**
- GPS verification of location
- Timestamp automatically recorded - Timestamp automatically recorded
- Status changes to "Checked In" with green indicator - Status changes to "Checked In" with green indicator
- Notification sent to business
**Why It Matters:** Eliminates manual time tracking and buddy punching
--- ---
### Demo 12: Client Sees Real-Time Check-In Update ### Demo 14: Client Sees Check-In Update - [O6]
**Purpose:** Show cross-app interaction and real-time updates **Purpose:** Show cross-app interaction and real-time updates
**Screen:** Client App → Coverage Tab **Screen:** Client App → Coverage Tab
**Action:** Show the worker's status updating from "Not Arrived" to "Checked In" **Action:** Show the worker's status updating from "Not Arrived" to "Checked In"
**What to Notice:** **What to Notice:**
- Instant status update (no refresh needed) - Status update
- Green "Checked In" badge appears - Green "Checked In" badge appears
- Check-in time displayed - Check-in time displayed
- Coverage percentage updates automatically - Coverage percentage updates automatically
**Why It Matters:** Real-time visibility prevents no-shows and improves coordination > Go to the home page and come back to the coverage page to update the data.
---
## Complete Order Creation Flow
```
Client Posts Shift
*Vendor Accepts the Shift (This Part is missing for now)*
Worker Applies
Confirmation
Worker Checks In
Shift Completed
Payment
```
### Act 1: Business Need (Client App)
- Google payments division needs staff for an upcoming event and posts shift requirements.
> NOTE:
> *Vendor needs to accepts the Shift (This Part is missing for now)*
> Note this to the customer.
### Act 2: Worker Discovery (Staff App)
- A worker finds the shift, reviews details, and applies.
- The worker can see the confirmation quickly.
### Act 3: Day of Event (Staff App + Client App)
Worker checks in using the app, business tracks attendance in real-time.
### Act 4: Completion & Payment (Both Apps)
Shift completes, payment is processed.
--- ---
## 8⃣ Common Questions & Talking Points ## 8⃣ Common Questions & Talking Points