import { View, Text, FlatList, TouchableOpacity, RefreshControl, } from 'react-native' import { SafeAreaView } from 'react-native-safe-area-context' import { useState } from 'react' import { useRouter } from 'expo-router' import { trpc } from '@/lib/trpc' import { TerminCard } from '@/components/termine/TerminCard' import { EmptyState } from '@/components/ui/EmptyState' import { LoadingSpinner } from '@/components/ui/LoadingSpinner' export default function TermineScreen() { const router = useRouter() const [tab, setTab] = useState<'kommend' | 'vergangen'>('kommend') const { data, isLoading, refetch, isRefetching } = trpc.termine.list.useQuery({ upcoming: tab === 'kommend', }) return ( {/* Header */} Termine {/* Tabs */} {(['kommend', 'vergangen'] as const).map((t) => ( setTab(t)} className={`flex-1 py-2 rounded-lg items-center ${ tab === t ? 'bg-white shadow-sm' : '' }`} > {t === 'kommend' ? 'Bevorstehend' : 'Vergangen'} ))} {isLoading ? ( ) : ( item.id} contentContainerStyle={{ padding: 12, gap: 8 }} refreshControl={ } renderItem={({ item }) => ( router.push(`/(app)/termine/${item.id}`)} /> )} ListEmptyComponent={ } /> )} ) }