import { useState } from 'react'; import { View, Text, FlatList, TextInput, TouchableOpacity, ActivityIndicator, RefreshControl } from 'react-native'; import { useQuery } from '@tanstack/react-query'; import { router } from 'expo-router'; import { api } from '../../../services/api'; const STATUS_COLORS: Record = { ACTIVE: '#16A34A', SUSPENDED: '#D97706', CANCELLED: '#DC2626', PENDING: '#6B7280', }; export default function ClientsScreen() { const [search, setSearch] = useState(''); const { data, isLoading, refetch, isRefetching } = useQuery({ queryKey: ['clients'], queryFn: () => api.get('/api/v1/clients?limit=100').then(r => r.data?.data ?? r.data), }); const clients = (data ?? []).filter((c: any) => `${c.firstName} ${c.lastName} ${c.accountNumber}`.toLowerCase().includes(search.toLowerCase()) ); return ( Clients {isLoading ? ( ) : ( item.id} refreshControl={} contentContainerStyle={{ paddingHorizontal: 16, paddingBottom: 24 }} renderItem={({ item }) => ( router.push(`/(app)/clients/${item.id}`)} > {item.firstName} {item.lastName} {item.accountNumber} {item.phone && {item.phone}} {item.status} )} ListEmptyComponent={ No clients found } /> )} ); }