"use client"; import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import { createTicket, getGroups, type Group } from "@/lib/api"; import Link from "next/link"; export default function NewTicketPage() { const router = useRouter(); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const [title, setTitle] = useState(""); const [description, setDescription] = useState(""); const [groups, setGroups] = useState([]); const [groupId, setGroupId] = useState(""); useEffect(() => { getGroups().then(setGroups).catch(() => []); }, []); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(""); if (!groupId) { setError("Debes seleccionar un departamento"); return; } setLoading(true); try { // La prioridad siempre es Media al crear: la ajusta el equipo despuƩs. const result = await createTicket({ title, description, priority: "Medium", groupId: Number(groupId) }); router.push(`/tickets/${result.id}`); } catch (err: unknown) { setError(err instanceof Error ? err.message : "Error al crear el ticket"); } finally { setLoading(false); } }; return (
Volver a tickets

Nuevo Ticket

{error && (
{error}
)}
setTitle(e.target.value)} required autoFocus />
Cancelar
); }