Major fixes:
- Replace `any` types with proper TypeScript types across all files
- Convert require() imports to ES module imports
- Add __DEV__ guards to console statements
- Escape special characters in JSX (' and ")
- Fix unused variables (prefix with _ or remove)
- Fix React hooks violations (useCallback, useMemo patterns)
- Convert wasm-crypto-shim.js to TypeScript
- Add eslint-disable comments for valid setState patterns
Files affected: 50+ screens, components, contexts, and services
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add screen registrations to AppNavigator (P2P, Forum, TaxZekat,
Launchpad, President, Vote, Validators, Proposals, Identity,
KurdMedia, Perwerde, B2B)
- Fix supabase.ts with hardcoded fallback credentials for production
- Fix Home tab header (headerShown: false)
- Add new screen components for mini apps
- Update DashboardScreen with proper navigation and alerts
Replace mock authentication with real Supabase integration:
**New Files:**
- mobile/src/lib/supabase.ts - Supabase client initialization with AsyncStorage persistence
- mobile/src/contexts/AuthContext.tsx - Complete authentication context with session management
**Updated Files:**
- mobile/src/screens/SignInScreen.tsx
* Import useAuth from AuthContext
* Add Alert and ActivityIndicator for error handling and loading states
* Replace mock setTimeout with real signIn() API call
* Add loading state management (isLoading)
* Update button to show ActivityIndicator during sign-in
* Add proper error handling with Alert dialogs
- mobile/src/screens/SignUpScreen.tsx
* Import useAuth from AuthContext
* Add Alert and ActivityIndicator
* Add username state and input field
* Replace mock registration with real signUp() API call
* Add loading state management
* Update button to show ActivityIndicator during sign-up
* Add form validation for all required fields
* Add proper error handling with Alert dialogs
- mobile/App.tsx
* Import and add AuthProvider to provider hierarchy
* Provider order: ErrorBoundary → AuthProvider → PolkadotProvider → LanguageProvider → BiometricAuthProvider
**Features Implemented:**
- Real user authentication with Supabase
- Email/password sign in with error handling
- User registration with username and referral code support
- Profile creation in Supabase database
- Admin status checking
- Session timeout management (30 minutes inactivity)
- Automatic session refresh
- Activity tracking with AsyncStorage
- Auth state persistence across app restarts
**Security:**
- Credentials from environment variables (EXPO_PUBLIC_SUPABASE_URL, EXPO_PUBLIC_SUPABASE_ANON_KEY)
- Automatic token refresh enabled
- Secure session persistence with AsyncStorage
- No sensitive data in console logs (protected with __DEV__)
This completes P0 authentication implementation for mobile app.
Production ready authentication matching web implementation.