import { Event } from "@prisma/client" import { useTranslation } from "next-i18next" import { useRouter } from "next/router" import { useState } from "react" import { useAxiosRequest } from "../hooks/useAxiosRequest" import { Loading } from "./Loading" import { useEffect } from "react" import { ErrorBlock } from "./ErrorBlock" export function EventCreate() { const { t } = useTranslation() const router = useRouter() const [name, setName] = useState("") const createEvent = useAxiosRequest({ method: "POST", url: "/api/events/", data: { name } }) // This is a pretty bad hack... or not? // Idc, as long as it works useEffect(() => { if (createEvent.error) return if (!createEvent.data) return router.push(`/event/${createEvent.data.slug}`) }) if (createEvent.running) return return <>
{ e.preventDefault(); createEvent.run() }} noValidate > setName(e.target.value)} required /> createEvent.run()} disabled={!name} />
{createEvent.error ? : null} }