"use client"; import { useActionState, useEffect, useState } from "react"; import { Button } from "~/components/ui/button"; import { Input } from "~/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "~/components/ui/select"; import { addWine } from "~/server/actions/addWine"; import { getProducers } from "~/server/actions/allProducers"; async function fetchProducers() { const producers = await getProducers(); return producers; } type ProducersData = { id: string; name: string; createdAt: Date; country: string; region: string; email: string; }[]; export default function CreateWine() { const [formState, formAction] = useActionState(addWine, { message: "", errors: undefined, fieldValues: { name: "", producer: "", }, }); const [producers, setProducers] = useState([]); useEffect(() => { async function loadProducers() { const producersData = await fetchProducers(); setProducers(producersData); } loadProducers(); }, []); return (
{formState.message === "success" ? ( Wine succesfully submitted ) : ( "" )}
); }