import { useState } from 'react'; import { View, Text, TextInput, FlatList, TouchableOpacity, ActivityIndicator } from 'react-native'; import { useQuery } from '@tanstack/react-query'; import { router } from 'expo-router'; import { api } from '../../../services/api'; const STATUS_COLOR: Record = { active: '#16A34A', suspended: '#DC2626', pending: '#D97706', cancelled: '#6B7280', }; export default function ClientsScreen() { const [search, setSearch] = useState(''); const { data, isLoading } = useQuery({ queryKey: ['clients'], queryFn: () => api.get('/api/v1/clients?limit=100').then(r => r.data?.data ?? r.data), }); const filtered = (data ?? []).filter((c: any) => [c.firstName, c.lastName, c.accountNumber, c.phone].join(' ').toLowerCase().includes(search.toLowerCase()) ); return ( Clients {isLoading ? ( ) : ( item.id} contentContainerStyle={{ padding: 16 }} renderItem={({ item }) => ( router.push(`/(app)/clients/${item.id}`)} > {item.firstName?.[0]?.toUpperCase()} {item.firstName} {item.lastName} {item.accountNumber} ยท {item.phone} {item.status} )} ListEmptyComponent={ No clients found } /> )} ); }