"use client" import { useState } from "react" import { format } from "date-fns" import { ptBR } from "date-fns/locale" import { IconClock, IconUserCircle } from "@tabler/icons-react" import { useMutation } from "convex/react" import { toast } from "sonner" // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { api } from "../../../convex/_generated/api" import { useAuth } from "@/lib/auth-client" import type { TicketWithDetails } from "@/lib/schemas/ticket" import { Badge } from "@/components/ui/badge" import { Separator } from "@/components/ui/separator" import { TicketPriorityPill } from "@/components/tickets/priority-pill" import { TicketStatusBadge } from "@/components/tickets/status-badge" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" interface TicketHeaderProps { ticket: TicketWithDetails } export function TicketSummaryHeader({ ticket }: TicketHeaderProps) { const { userId } = useAuth() const updateStatus = useMutation(api.tickets.updateStatus) const [status, setStatus] = useState(ticket.status) const statusPt: Record = { NEW: "Novo", OPEN: "Aberto", PENDING: "Pendente", ON_HOLD: "Em espera", RESOLVED: "Resolvido", CLOSED: "Fechado", } return (
#{ticket.reference}

{ticket.subject}

{ticket.summary}

Solicitante: {ticket.requester.name}
Responsavel: {ticket.assignee?.name ?? "Aguardando atribuicao"}
Atualizado em: {format(ticket.updatedAt, "dd/MM/yyyy HH:mm", { locale: ptBR })}
Criado em: {format(ticket.createdAt, "dd/MM/yyyy HH:mm", { locale: ptBR })}
{ticket.dueAt ? (
SLA ate: {format(ticket.dueAt, "dd/MM/yyyy HH:mm", { locale: ptBR })}
) : null} {ticket.slaPolicy ? (
Politica: {ticket.slaPolicy.name}
) : null}
) }