Mobile Navigation Audit — Consumer
| Field |
Value |
| Date |
2026-08-06 |
| WP |
WP-FIGMA-FE-AUDIT-01 |
| Navigators |
RootNavigator · MainTabs · MapStackNavigator · nested Reels/Social/Chat/Account stacks |
| Library |
React Navigation 7 (native-stack + bottom-tabs) — not Expo Router |
Shell
| Route |
Navigator |
Auth |
Component |
| boot spinner |
— |
— |
RootNavigator while !ready |
| SessionExpired |
overlay |
— |
SessionExpiredScreen |
| Auth |
Root stack |
guest |
AuthGate → Login / onboarding |
| Main |
Root stack |
USER JWT |
MainTabs |
Main tabs (5)
| Tab |
Stack |
Entry screen |
Domain |
| MapTab |
MapStack |
HomeMap |
D-PLACE + verticals |
| ReelsTab |
ReelsStack |
ReelsHome |
D-SOCIAL |
| SocialTab |
SocialStack |
SocialHome |
D-SOCIAL |
| ChatTab |
ChatStack |
ChatHome |
D-CHAT |
| AccountTab |
AccountStack |
AccountHome |
D-USER / wallet / settings |
Counts
| Metric |
Count |
| Typed route keys (approx unique) |
~127 |
*Screen.tsx files |
125 |
| Feature folders |
36 |
Findings
| Finding |
Status |
Notes |
| Orphan routes (typed but unused) |
NOT FULLY SWEPT |
Need scripted cross-check Screen name ↔ navigate( |
| ServiceStub |
PRESENT |
Still used from HomeMap / AllServices for unfinished service tiles — FUNCTION_PARTIAL for those tiles |
| Duplicate Wallet routes |
MapStack + AccountStack both expose wallet screens |
Intentional deep-link from Home vs Account — document, don’t delete |
Deep links (welife://) |
PARTIAL |
scheme in app.json; not fully matrixed |
| Role-based CON routes |
N/A |
Consumer USER only |
| Unknown route fallback |
IMP WP-NAV-CI-01 |
Root NotFound + onUnhandledAction · npm run audit:nav |
Priority nav fixes (queue)
- Inventory which Home service tiles still land on
ServiceStub vs real stacks (WP-FIGMA-HOME-NAV-01)
- Add unknown-route / fallback screen if product requires
- Formal deep-link matrix (future WP)
Full route param types: mobile/src/navigation/types.ts.