import { useState } from 'react' import { getRouteApi } from '@tanstack/react-router' import { useQuery } from '@tanstack/react-query' import { useTranslation } from 'react-i18next' import { Button } from '@/shared/ui/button' import { Card, CardContent, CardHeader, CardTitle } from '@/shared/ui/card' import { CreateBugReportDialog } from './CreateBugReportDialog' import { CreateRoleRequestDialog } from './CreateRoleRequestDialog' import { TicketDetailDialog } from './TicketDetailDialog' import { TicketStatusBadge } from './TicketStatusBadge' import { listMyTickets } from './api' const PAGE_SIZE = 20 const routeApi = getRouteApi('/support') export function SupportTicketList() { const { t } = useTranslation() const navigate = routeApi.useNavigate() const { ticket: selectedTicketId } = routeApi.useSearch() const [page, setPage] = useState(1) const { data, isLoading, isError, refetch } = useQuery({ queryKey: ['my-tickets', page], queryFn: () => listMyTickets(undefined, undefined, page, PAGE_SIZE), }) return (
…
} {isError && ({t('auth.genericError')}
{t('support.empty')}
} {data && data.items.length > 0 && ({t('support.lastActivity', { date: new Date(ticket.lastActivityAt).toLocaleString() })}