import { View, Text, ScrollView, ActivityIndicator, TouchableOpacity, TextInput, Alert } from 'react-native';
import { useLocalSearchParams, useRouter } from 'expo-router';
import { useQuery } from '@tanstack/react-query';
import { useState } from 'react';
import { api } from '../../../services/api';
export default function TicketDetailScreen() {
const { id } = useLocalSearchParams<{ id: string }>();
const router = useRouter();
const [reply, setReply] = useState('');
const { data: ticket, isLoading, refetch } = useQuery({
queryKey: ['ticket', id],
queryFn: () => api.get(`/api/v1/tickets/${id}`).then(r => r.data),
});
const sendReply = async () => {
if (!reply.trim()) return;
try {
await api.post(`/api/v1/tickets/${id}/messages`, { message: reply });
setReply('');
refetch();
} catch { Alert.alert('Error', 'Could not send reply.'); }
};
if (isLoading) return ;
return (
router.back()} className="mb-2">
← Tickets
{ticket?.subject}
{ticket?.clientName} · {ticket?.status}
{(ticket?.messages ?? []).map((m: any) => (
{m.message}
{m.senderName}
))}
Send
);
}