Disable button while event is submitting
All checks were successful
Test, Build, Deploy / Test, Build, and Deploy (push) Successful in 58s
Test, Build, Deploy / Create Sentry Release (push) Successful in 6s

This commit is contained in:
2026-04-17 01:47:42 -04:00
parent a9863f5680
commit 229398e401

View File

@@ -44,6 +44,7 @@ export default function () {
const [eventType, setEventType] = useState(""); const [eventType, setEventType] = useState("");
const [riddleAnswer, setRiddleAnswer] = useState(""); const [riddleAnswer, setRiddleAnswer] = useState("");
const [submitSuccess, setSubmitSuccess] = useState(false); const [submitSuccess, setSubmitSuccess] = useState(false);
const [disableSubmit, setDisableSubmit] = useState(false);
useEffect(() => { useEffect(() => {
setDatePickerMin(`${new Date().toISOString().split("T").at(0)}`); setDatePickerMin(`${new Date().toISOString().split("T").at(0)}`);
@@ -53,6 +54,7 @@ export default function () {
}, []); }, []);
async function submit() { async function submit() {
setDisableSubmit(true);
let eventResp: Response; let eventResp: Response;
try { try {
@@ -69,6 +71,7 @@ export default function () {
method: "POST", method: "POST",
}); });
} catch { } catch {
setDisableSubmit(false);
toast({ toast({
description: "Please check your internet and try again", description: "Please check your internet and try again",
isClosable: true, isClosable: true,
@@ -86,6 +89,7 @@ export default function () {
errorMessage = ((await eventResp.json()) as { error: string }).error; errorMessage = ((await eventResp.json()) as { error: string }).error;
} catch {} } catch {}
setDisableSubmit(false);
toast({ toast({
description: errorMessage, description: errorMessage,
isClosable: true, isClosable: true,
@@ -150,7 +154,11 @@ export default function () {
onChange={(e) => setRiddleAnswer(e.target.value)} onChange={(e) => setRiddleAnswer(e.target.value)}
placeholder="Riddle answer" placeholder="Riddle answer"
/> />
<Button mt="16px" onClick={async () => await submit()}> <Button
disabled={disableSubmit}
mt="16px"
onClick={async () => await submit()}
>
Book Book
</Button> </Button>
</Container> </Container>