# Staff Mobile App - Change Log

## [v0.0.1-m3] - Milestone 3 - 2026-02-15

### Added - Authentication & Onboarding
- Phone number authentication with OTP verification
- Staff onboarding flow with profile setup
- Personal information collection (name, bio, languages)
- Preferred work locations selection
- Skills and industry selection

### Added - Home Dashboard
- Welcome screen with personalized greeting
- Today's shifts section showing confirmed shifts
- Tomorrow's shifts preview
- Recommended shifts section based on profile
- Quick action buttons (Find Shifts, Availability, Messages, Earnings)

### Added - Shift Management
- Find Shifts functionality to discover available work
- Shift details view showing:
  - Business name and location
  - Hourly rate and estimated earnings
  - Date, start time, end time
  - Job requirements
  - Map integration with directions
- Shift booking/application process
- Booking confirmation dialog
- My Shifts view with week-by-week navigation
- Color-coded shift status (Confirmed, Pending, Completed)

### Added - Clock In/Out
- Clock In page with slider interaction
- Clock Out page with slider interaction
- Automatic timestamp recording
- Shift status updates upon clock in/out
- Visual status indicators (green for checked in)

### Added - Profile Management
- Profile tab with personal information
- Emergency Contact management:
  - Contact name
  - Relationship
  - Phone number
- Bank Account linking for direct deposit
- Tax Forms section:
  - W-4 form access
  - I-9 form access
- Time Card view:
  - Historical shift records
  - Hours worked tracking
  - Earnings history

### Added - Navigation
- Bottom navigation bar with 5 tabs:
  - Shifts
  - Payments
  - Home
  - Clock In
  - Profile
- Tab bar hiding on specific pages

### Technical Features
- Firebase authentication integration
- Data Connect backend integration
- Google Maps integration for locations
- Phone verification system
- OTP code handling

### Known Limitations
- Newly created orders don't appear immediately in Find Shifts (requires vendor approval)
- Limited to one-time order types in this milestone

---

## [v0.0.1-m4] - Milestone 4 - 2026-03-05

### Added - Enhanced Authentication & Session Management
- Authentication session persistence across app restarts
- Automatic login with valid session tokens
- Improved user experience with seamless session handling

### Added - Enhanced Shift Details
- Google Maps location display in shift details view
- Interactive map showing shift location
- Directions integration
- Shift requirements section showing:
  - Required attire items (MUST HAVE)
  - Preferred attire items (NICE TO HAVE)
  - Other shift-specific requirements

### Added - Attire Management
- Dedicated Attire screen in profile
- Camera and gallery support for attire photo capture
- Local image preview before submission
- Upload attire images for verification
- MUST HAVE attire items list
- NICE TO HAVE attire items list
- Attire photo gallery in profile
- Submit attire for review workflow
- Attire verification status tracking (Pending, Approved, Rejected)
- Attestation checkbox for attire accuracy confirmation
- Filtered attire items based on requirements

### Added - Documents & Certificates Management
- Documents section in profile with verification status tracking
- Upload documents (ID, licenses, etc.) with:
  - Camera or gallery selection
  - File type validation
  - Upload progress tracking
  - Verification metadata
- Certificates management:
  - Upload certificates with expiry dates
  - Certificate number field
  - Certificate type selection
  - View existing certificates
  - Delete certificates
  - Verification status (Not Verified, Verified, Expired)
- Mandatory document flagging
- Document verification workflow

### Added - Profile Enhancements
- FAQ (Frequently Asked Questions) screen
- Privacy and Security settings screen:
  - Profile visibility toggle ("Hide account from business")
  - Terms of Service document access
  - Privacy Policy document access
- Preferred locations management:
  - Dedicated edit screen
  - Location search functionality
  - Display selected locations
- Language selection interface:
  - Spanish language support
  - Success feedback on language change
  - Persistent language preference
- Benefits overview section:
  - Benefits listing with circular progress indicators
  - Benefits dashboard integration
- Profile completion tracking for:
  - Personal information
  - Emergency contacts
  - Experience
  - Attire
  - Documents
  - Certificates

### Added - Profile Completion Gating
- Navigation restrictions for incomplete profiles
- Only Home and Profile tabs accessible until profile is complete
- Profile completion checklist
- Guided onboarding completion flow

### Improved - User Experience
- Enhanced shift details UI with better information hierarchy
- Improved profile section organization
- Better navigation flow for profile completion
- UiEmptyState widgets for better empty state handling:
  - Bank account page empty state
  - Home page when no shifts available
- Improved onboarding flow with refactored experience and personal info pages
- Enhanced emergency contact screen with info banner
- Refactored profile header with profile level badge ("KROWER I")
- Benefits card components with improved styling
- Bottom navigation bar show/hide based on route
- Tax forms page with progress overview
- Improved notice and file type banners for uploads
- Enhanced navigation robustness with proper error handling
- Immediate ID token refresh after sign-in to prevent unauthenticated requests

### Fixed
- Profile completion status now updates correctly for emergency contacts
- Session handling improved to prevent data loss
- Navigation errors redirect to appropriate home page
- Locale synchronization by reloading from persistent storage after change

### Technical Features
- Enhanced backend validation for shift acceptance
- Overlapping shift prevention
- Improved session management
- Document upload and storage integration
- Signed URL generation for file uploads
- Camera and gallery native device access
- File visibility controls (public/private)
- Core API services integration (verification, file upload, LLM)
- ApiService with Dio for standardized API requests
- Device services abstraction layer

### Known Limitations
- Cannot accept overlapping shifts
- Shifts require manual confirmation in some cases
- Attire verification requires manual client approval

---
