fitaiProto/apps/mobile/src/app/(tabs)/_layout.tsx
echo febcdc111e redesign completed
alot of work ahead
2025-11-26 02:31:46 +01:00

67 lines
1.4 KiB
TypeScript

import { Tabs, useRouter, useSegments } from "expo-router";
import { useAuth } from "@clerk/clerk-expo";
import { useEffect } from "react";
import { CustomTabBar } from "../../components/CustomTabBar";
export default function TabLayout() {
const { isSignedIn, isLoaded } = useAuth();
const router = useRouter();
const segments = useSegments();
useEffect(() => {
if (!isLoaded) return;
const inAuthGroup = segments[0] === "(auth)";
if (!isSignedIn && !inAuthGroup) {
// Redirect to sign-in if not authenticated
router.replace("/(auth)/sign-in");
}
}, [isSignedIn, isLoaded, segments]);
if (!isLoaded || !isSignedIn) {
return null;
}
return (
<Tabs
tabBar={(props) => <CustomTabBar {...props} />}
screenOptions={{
headerShown: false, // We'll use custom headers in screens or layout
tabBarShowLabel: false,
}}
>
<Tabs.Screen
name="index"
options={{
title: "Home",
}}
/>
<Tabs.Screen
name="goals"
options={{
title: "Goals",
}}
/>
<Tabs.Screen
name="recommendations"
options={{
title: "AI",
}}
/>
<Tabs.Screen
name="attendance"
options={{
title: "Attendance",
}}
/>
<Tabs.Screen
name="profile"
options={{
title: "Profile",
}}
/>
</Tabs>
);
}