Build complete Expo/React Native mobile app with: - Auth flow: email/password login, registration, biometric auth - Dashboard: exposure summary, spam stats, voice protection status - DarkWatch: watch list management, exposure feed, alert toggles - SpamShield: call/text history, whitelist/blacklist management - VoicePrint: family member enrollment, voice analysis - Settings: tier management, notification preferences, security - Push notification integration via FCM/APNs - Offline-first state management with Zustand + AsyncStorage - Integration with @shieldai/mobile-api-client for API services - React Navigation with auth-aware routing (stack + bottom tabs) - Dark theme with consistent design system (colors, spacing, typography) - Network status monitoring and offline request queuing Co-Authored-By: Paperclip <noreply@paperclip.ing>
67 lines
1.7 KiB
JSON
67 lines
1.7 KiB
JSON
{
|
|
"expo": {
|
|
"name": "ShieldAI",
|
|
"slug": "shieldai",
|
|
"version": "1.0.0",
|
|
"orientation": "portrait",
|
|
"icon": "./assets/icon.png",
|
|
"scheme": "shieldai",
|
|
"userInterfaceStyle": "automatic",
|
|
"splash": {
|
|
"image": "./assets/splash.png",
|
|
"resizeMode": "contain",
|
|
"backgroundColor": "#0a0e1a"
|
|
},
|
|
"ios": {
|
|
"supportsTablet": true,
|
|
"bundleIdentifier": "com.frenocorp.shieldai",
|
|
"infoPlist": {
|
|
"NSFaceIDUsageDescription": "ShieldAI uses Face ID to securely access your account.",
|
|
"NSCameraUsageDescription": "ShieldAI needs camera access for VoicePrint enrollment.",
|
|
"NSMicrophoneUsageDescription": "ShieldAI needs microphone access for voice analysis."
|
|
},
|
|
"config": {
|
|
"usesNonExemptEncryption": false
|
|
}
|
|
},
|
|
"android": {
|
|
"adaptiveIcon": {
|
|
"foregroundImage": "./assets/adaptive-icon.png",
|
|
"backgroundColor": "#0a0e1a"
|
|
},
|
|
"package": "com.frenocorp.shieldai",
|
|
"permissions": [
|
|
"RECEIVE_BOOT_COMPLETED",
|
|
"VIBRATE",
|
|
"android.permission.CAMERA",
|
|
"android.permission.RECORD_AUDIO"
|
|
]
|
|
},
|
|
"web": {
|
|
"bundler": "metro",
|
|
"output": "static",
|
|
"favicon": "./assets/favicon.png"
|
|
},
|
|
"plugins": [
|
|
"expo-secure-store",
|
|
"expo-local-authentication",
|
|
[
|
|
"expo-notifications",
|
|
{
|
|
"icon": "./assets/notification-icon.png",
|
|
"color": "#4f8cff",
|
|
"sounds": []
|
|
}
|
|
]
|
|
],
|
|
"experiments": {
|
|
"typedRoutes": true
|
|
},
|
|
"extra": {
|
|
"eas": {
|
|
"projectId": "shieldai-project-id"
|
|
}
|
|
}
|
|
}
|
|
}
|