d5b0f9c833
- Onboarding flow (welcome -> Codex setup -> Claude setup -> done) with dark-themed screens and step indicators; completion stored in SecureStore - Smart root redirect checks onboarding state on launch - Dashboard tab shows both services at a glance via ServiceStatusCard; useFocusEffect + reload() keeps it fresh when credentials change in tabs - Settings tab manages credentials and exposes re-run setup wizard - Polished Codex and Claude detail screens with service headers and empty states - 4-tab layout (Home, Codex, Claude, Settings) with dark-mode tab bar - Both hooks gain reload() for cross-tab credential refresh Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
524 B
TypeScript
19 lines
524 B
TypeScript
import { useEffect } from "react";
|
|
import { View, ActivityIndicator } from "react-native";
|
|
import { router } from "expo-router";
|
|
import { hasCompletedOnboarding } from "@/lib/setupState";
|
|
|
|
export default function Index() {
|
|
useEffect(() => {
|
|
hasCompletedOnboarding().then((done) => {
|
|
router.replace(done ? "/(tabs)" : "/onboarding");
|
|
});
|
|
}, []);
|
|
|
|
return (
|
|
<View className="flex-1 bg-neutral-950 items-center justify-center">
|
|
<ActivityIndicator color="#10a37f" size="large" />
|
|
</View>
|
|
);
|
|
}
|