feat: staff app foundation — design system, auth, API layer, EAS #1

Merged
john merged 6 commits from feat/design-system-and-auth into dev 2026-07-16 17:16:04 +00:00
Owner

What

Complete foundation for the SuperClean Staff App, ready for screen implementation.

Design System

  • Full token system from Alex's hi-fi prototypes: brand greens, ink neutrals, status colors, shift palette, type scale, spacing, shadows, radii
  • 8 core components: Button (4 variants), Card, AppBar, StatusChip (pulsing Now dot), DoneBadge, JobCard (3 states × 3 surfaces), WeekStrip, Pill (9 tones)

Auth

  • Login screen with SC branding, username/password, show/hide toggle, error handling
  • AuthContext with SecureStore token persistence, auto-restore on launch
  • Auth-gated navigation — unauthenticated users redirect to login

API Layer (orval + React Query)

  • Axios instance with Bearer auth interceptor (reads token from SecureStore)
  • orval generates TypeScript types from sys2 OpenAPI spec (filtered to 7 mobile-relevant tags)
  • Clean React Query hooks: useMySchedule, useMyPayslips, useMyNotifications, useLeaveBalance, useMyClaims
  • QueryClientProvider wrapping the app

EAS

  • Expo project linked (@johnangrs/superclean-staff-app)
  • Build profiles: development (APK + dev tools), preview (APK internal), production (AAB)

Navigation

  • 4-tab bar: Jobs / Pay / Alerts / Me (Lucide icons, brand-700 active tint)
  • Tab bar styled to match design specs
## What Complete foundation for the SuperClean Staff App, ready for screen implementation. ### Design System - Full token system from Alex's hi-fi prototypes: brand greens, ink neutrals, status colors, shift palette, type scale, spacing, shadows, radii - 8 core components: Button (4 variants), Card, AppBar, StatusChip (pulsing Now dot), DoneBadge, JobCard (3 states × 3 surfaces), WeekStrip, Pill (9 tones) ### Auth - Login screen with SC branding, username/password, show/hide toggle, error handling - AuthContext with SecureStore token persistence, auto-restore on launch - Auth-gated navigation — unauthenticated users redirect to login ### API Layer (orval + React Query) - Axios instance with Bearer auth interceptor (reads token from SecureStore) - orval generates TypeScript types from sys2 OpenAPI spec (filtered to 7 mobile-relevant tags) - Clean React Query hooks: useMySchedule, useMyPayslips, useMyNotifications, useLeaveBalance, useMyClaims - QueryClientProvider wrapping the app ### EAS - Expo project linked (@johnangrs/superclean-staff-app) - Build profiles: development (APK + dev tools), preview (APK internal), production (AAB) ### Navigation - 4-tab bar: Jobs / Pay / Alerts / Me (Lucide icons, brand-700 active tint) - Tab bar styled to match design specs
- orval generates TypeScript types + raw functions from backend spec
- React Query hooks in hooks/ for schedule, payslips, notifications, leave, claims
- Axios instance with Bearer auth via SecureStore interceptors
- QueryClientProvider wrapping the app
- AuthContext updated to use axios + correct access_token field
- Generated api/ and openapi.json gitignored (build artifacts)
john merged commit 9048361745 into dev 2026-07-16 17:16:04 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
haskytech/superclean-staff-app!1
No description provided.