- Expo SDK 54, expo-router, NativeWind - 7 screens: login, tasks, calendar, goals, chat, settings, tabs - API client (api.hasdo.info), SecureStore auth, AuthContext - Tab navigation: Ukoly, Kalendar, Cile, Chat, Nastaveni - Pull-to-refresh, FAB, group colors, priority dots - Calendar grid with task dots - AI chat with keyboard avoiding - Web export verified (780 modules, 1.5MB bundle) - Bundle ID: info.hasdo.taskteam Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
64 lines
1.6 KiB
TypeScript
64 lines
1.6 KiB
TypeScript
import { Tabs } from 'expo-router';
|
|
import { Ionicons } from '@expo/vector-icons';
|
|
|
|
export default function TabLayout() {
|
|
return (
|
|
<Tabs
|
|
screenOptions={{
|
|
headerShown: true,
|
|
tabBarActiveTintColor: '#3B82F6',
|
|
tabBarInactiveTintColor: '#94A3B8',
|
|
headerStyle: { backgroundColor: '#3B82F6' },
|
|
headerTintColor: '#fff',
|
|
headerTitleStyle: { fontWeight: 'bold' },
|
|
}}
|
|
>
|
|
<Tabs.Screen
|
|
name="index"
|
|
options={{
|
|
title: 'Ukoly',
|
|
tabBarIcon: ({ color, size }) => (
|
|
<Ionicons name="checkbox-outline" size={size} color={color} />
|
|
),
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="calendar"
|
|
options={{
|
|
title: 'Kalendar',
|
|
tabBarIcon: ({ color, size }) => (
|
|
<Ionicons name="calendar-outline" size={size} color={color} />
|
|
),
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="goals"
|
|
options={{
|
|
title: 'Cile',
|
|
tabBarIcon: ({ color, size }) => (
|
|
<Ionicons name="trophy-outline" size={size} color={color} />
|
|
),
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="chat"
|
|
options={{
|
|
title: 'Chat',
|
|
tabBarIcon: ({ color, size }) => (
|
|
<Ionicons name="chatbubble-outline" size={size} color={color} />
|
|
),
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="settings"
|
|
options={{
|
|
title: 'Nastaveni',
|
|
tabBarIcon: ({ color, size }) => (
|
|
<Ionicons name="settings-outline" size={size} color={color} />
|
|
),
|
|
}}
|
|
/>
|
|
</Tabs>
|
|
);
|
|
}
|