import { Ionicons } from "@expo/vector-icons"; import { Stack, useRouter, useSegments } from "expo-router"; import { TouchableOpacity, Text } from "react-native"; import { useColorScheme } from "../hooks/use-color-scheme"; import { AuthProvider } from "../src/context/AuthContext"; function DevicesHeader() { const router = useRouter(); const isDark = useColorScheme() === "dark"; const activityColor = isDark ? "#0A84FF" : "#007AFF"; return ( router.push("/scan-devices")} style={{ paddingHorizontal: 8 }} > ); } function TabsTitle(props: { title: string }) { const segments = useSegments(); const last = segments[segments.length - 1]; const isDark = useColorScheme() === "dark"; const titleColor = isDark ? "#fff" : "#000"; const title = last === "settings" ? "Settings" : props.title; return ( {title} ); } export default function RootLayout() { const isDark = useColorScheme() === "dark"; const bgColor = isDark ? "#0b0b0d" : "#fff"; const titleColor = isDark ? "#fff" : "#000"; const segments = useSegments(); const last = segments[segments.length - 1]; const isIndex = last === "(tabs)" || last === undefined; return ( {/* Root index that performs auth redirect (app/index.tsx) */} {/* Tabs parent - render tabs with dynamic header */} , headerRight: isIndex ? () => : undefined, headerRightContainerStyle: isIndex ? undefined : { width: 0, paddingRight: 0 }, headerStyle: { backgroundColor: bgColor }, headerTintColor: titleColor, } as any } />{" "} , headerStyle: { backgroundColor: bgColor }, headerBackButtonDisplayMode: "minimal", }} /> ); }