stadtwerke/innungsapp/apps/mobile/app/(app)/_layout.tsx

88 lines
2.5 KiB
TypeScript

import { Tabs, Redirect } from 'expo-router'
import { Platform } from 'react-native'
import { Ionicons } from '@expo/vector-icons'
import { useAuthStore } from '@/store/auth.store'
export default function AppLayout() {
const session = useAuthStore((s) => s.session)
if (!session) {
return <Redirect href="/(auth)/login" />
}
return (
<Tabs
screenOptions={{
tabBarActiveTintColor: '#003B7E',
tabBarInactiveTintColor: '#64748B',
tabBarStyle: {
borderTopWidth: 1,
borderTopColor: '#E2E8F0',
backgroundColor: '#FFFFFF',
height: Platform.OS === 'ios' ? 88 : 64,
paddingBottom: Platform.OS === 'ios' ? 28 : 8,
paddingTop: 8,
},
tabBarLabelStyle: {
fontSize: 11,
fontWeight: '600',
letterSpacing: 0.1,
},
headerShown: false,
}}
>
<Tabs.Screen
name="home/index"
options={{
title: 'Start',
tabBarIcon: ({ color, focused }) => (
<Ionicons name={focused ? 'home' : 'home-outline'} size={23} color={color} />
),
}}
/>
<Tabs.Screen
name="news/index"
options={{
title: 'Aktuelles',
tabBarIcon: ({ color, focused }) => (
<Ionicons name={focused ? 'newspaper' : 'newspaper-outline'} size={23} color={color} />
),
}}
/>
<Tabs.Screen
name="termine/index"
options={{
title: 'Termine',
tabBarIcon: ({ color, focused }) => (
<Ionicons name={focused ? 'calendar' : 'calendar-outline'} size={23} color={color} />
),
}}
/>
<Tabs.Screen
name="stellen/index"
options={{
title: 'Stellen',
tabBarIcon: ({ color, focused }) => (
<Ionicons name={focused ? 'briefcase' : 'briefcase-outline'} size={23} color={color} />
),
}}
/>
<Tabs.Screen
name="profil/index"
options={{
title: 'Profil',
tabBarIcon: ({ color, focused }) => (
<Ionicons name={focused ? 'person' : 'person-outline'} size={23} color={color} />
),
}}
/>
<Tabs.Screen name="members/index" options={{ href: null }} />
<Tabs.Screen name="news/[id]" options={{ href: null }} />
<Tabs.Screen name="members/[id]" options={{ href: null }} />
<Tabs.Screen name="termine/[id]" options={{ href: null }} />
<Tabs.Screen name="stellen/[id]" options={{ href: null }} />
</Tabs>
)
}