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 PRIORITY_COLOR: Record = { HIGH: '#DC2626', MEDIUM: '#D97706', LOW: '#6B7280' }; export default function TicketsScreen() { const [search, setSearch] = useState(''); const { data, isLoading, refetch, isRefetching } = useQuery({ queryKey: ['tickets'], queryFn: () => api.get('/api/v1/tickets?limit=50').then(r => r.data?.data ?? r.data), }); const tickets = (data ?? []).filter((t: any) => `${t.subject} ${t.client?.firstName} ${t.client?.lastName}`.toLowerCase().includes(search.toLowerCase()) ); return ( Helpdesk Tickets {isLoading ? ( ) : ( item.id} refreshControl={} contentContainerStyle={{ paddingHorizontal: 16, paddingBottom: 24 }} renderItem={({ item }) => ( router.push(`/(app)/tickets/${item.id}`)} > {item.subject} {item.priority} {item.client?.firstName} {item.client?.lastName} ยท {item.status} )} ListEmptyComponent={No tickets found} /> )} ); }