import { useEffect, useState } from "react"; import { View, Text, TouchableOpacity } from "react-native"; import { SafeAreaView } from "react-native-safe-area-context"; import { router } from "expo-router"; import { MaterialIcons } from "@expo/vector-icons"; import { markOnboardingComplete } from "@/lib/setupState"; import { loadCodexAuth, loadClaudeSessionKey } from "@/lib/storage"; import { COLORS } from "@/lib/constants"; export default function OnboardingDoneScreen() { const [codexConfigured, setCodexConfigured] = useState(false); const [claudeConfigured, setClaudeConfigured] = useState(false); useEffect(() => { Promise.all([loadCodexAuth(), loadClaudeSessionKey()]).then( ([codex, claude]) => { setCodexConfigured(!!codex); setClaudeConfigured(!!claude); } ); }, []); const handleEnterApp = async () => { await markOnboardingComplete(); router.replace("/(tabs)"); }; const noneConfigured = !codexConfigured && !claudeConfigured; return ( {/* Icon */} {/* Title */} {noneConfigured ? "Almost there" : "You're all set!"} {noneConfigured ? "No services configured yet. You can set them up anytime in Settings." : "Your services are connected and ready to monitor."} {/* Summary cards */} Codex CLI {codexConfigured ? "Auth imported" : "Not configured"} Claude.ai {claudeConfigured ? "Session saved" : "Not configured"} {/* CTA */} Open App ); }