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} }