import {
Button,
Container,
Heading,
HStack,
Input,
Radio,
RadioGroup,
Textarea,
useToast,
} from "@chakra-ui/react";
import { useEffect, useState } from "react";
import Success from "../../components/Success.js";
export default function () {
const toast = useToast();
const currentDate = new Date();
const currentMonth = currentDate.getUTCMonth() + 1;
const currentYear = currentDate.getUTCFullYear();
const [datePickerMax, setDatePickerMax] = useState("");
const [datePickerMin, setDatePickerMin] = useState("");
const [eventDay, setEventDay] = useState("0");
const [eventDetails, setEventDetails] = useState("");
const [eventType, setEventType] = useState("");
const [riddleAnswer, setRiddleAnswer] = useState("");
const [submitSuccess, setSubmitSuccess] = useState(false);
useEffect(() => {
currentDate.setUTCDate(0);
setDatePickerMin(`${currentYear}-${currentMonth}-01`);
setDatePickerMax(
`${currentYear}-${currentMonth}-${currentDate.getUTCDate()}`,
);
}, []);
async function submit() {
let eventResp: Response;
try {
eventResp = await fetch("/api/events-team/events/new", {
body: JSON.stringify({
answer: riddleAnswer || undefined,
day: eventDay,
details: eventDetails,
type: eventType,
}),
headers: {
"content-type": "application/json",
},
method: "POST",
});
} catch {
toast({
description: "Please check your internet and try again",
isClosable: true,
status: "error",
title: "Unknown error",
});
return;
}
if (!eventResp.ok) {
let errorMessage = "Unknown error";
try {
errorMessage = ((await eventResp.json()) as { error: string }).error;
} catch {}
toast({
description: errorMessage,
isClosable: true,
status: "error",
title: "Oops!",
});
return;
}
setSubmitSuccess(true);
await new Promise((r) => setTimeout(r, 7500));
location.assign("/events-team");
}
return submitSuccess ? (
) : (
Book an Event
Event Type
FoTD
Gamenight
QoTD
RoTW
Event Date
setEventDay(e.target.value.split("-")[2])}
type="date"
/>
Event Details
);
}