diff --git a/src/app/admin/events/[id]/event-prizes.tsx b/src/app/admin/events/[id]/event-prizes.tsx index 49586407..836e5d7b 100644 --- a/src/app/admin/events/[id]/event-prizes.tsx +++ b/src/app/admin/events/[id]/event-prizes.tsx @@ -16,6 +16,7 @@ import { SelectValue, } from "@/components/ui/select"; import { useServerAction } from "@/hooks/use-server-action"; +import type { EventPrizeInput } from "@/lib/validators/event"; type PrizeType = "badge" | "credits" | "pixels" | "points" | "item"; @@ -39,9 +40,10 @@ interface Props { export function EventPrizesManager({ eventId, prizes }: Props) { const { run, isPending } = useServerAction(); const [showForm, setShowForm] = useState(false); - const [form, setForm] = useState({ + const [form, setForm] = useState({ + eventId, position: prizes.length + 1, - prizeType: "badge" as PrizeType, + prizeType: "badge", badgeCode: "", credits: 0, pixels: 0, @@ -51,8 +53,7 @@ export function EventPrizesManager({ eventId, prizes }: Props) { function handleAdd(e: React.FormEvent) { e.preventDefault(); - // biome-ignore lint/suspicious/noExplicitAny: explicitly chosen here, see surrounding code - run(() => addEventPrize({ eventId, ...form } as any), { + run(() => addEventPrize(form), { successMessage: "Prize added!", onSuccess: () => { setShowForm(false);