import { View, Text, FlatList, TextInput, TouchableOpacity, RefreshControl, } from 'react-native' import { SafeAreaView } from 'react-native-safe-area-context' import { useRouter } from 'expo-router' import { trpc } from '@/lib/trpc' import { useMembersFilterStore } from '@/store/members.store' import { MemberCard } from '@/components/members/MemberCard' import { EmptyState } from '@/components/ui/EmptyState' import { LoadingSpinner } from '@/components/ui/LoadingSpinner' export default function MembersScreen() { const router = useRouter() const search = useMembersFilterStore((s) => s.search) const nurAusbildungsbetriebe = useMembersFilterStore((s) => s.nurAusbildungsbetriebe) const setSearch = useMembersFilterStore((s) => s.setSearch) const setNurAusbildungsbetriebe = useMembersFilterStore((s) => s.setNurAusbildungsbetriebe) const { data, isLoading, refetch, isRefetching } = trpc.members.list.useQuery({ search: search || undefined, ausbildungsbetrieb: nurAusbildungsbetriebe || undefined, status: 'aktiv', }) return ( {/* Header */} Mitglieder {/* Search */} 🔍 {/* Filter: Ausbildungsbetriebe */} setNurAusbildungsbetriebe(!nurAusbildungsbetriebe)} className="flex-row items-center gap-2 py-1" > {nurAusbildungsbetriebe && ( )} Nur Ausbildungsbetriebe {/* List */} {isLoading ? ( ) : ( item.id} contentContainerStyle={{ padding: 12, gap: 8 }} refreshControl={ } renderItem={({ item }) => ( router.push(`/(app)/members/${item.id}`)} /> )} ListEmptyComponent={ } /> )} ) }